summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorlvqcl <lvqcl.mail@gmail.com>2019-03-02 23:56:03 +0300
committerErik de Castro Lopo <erikd@mega-nerd.com>2019-03-08 07:01:19 +1100
commit12ec86c6188aef9ebd4b9bd0393eab7326e185fc (patch)
treec76e4d4d90c7c7619390390a78c6da5beddb224c /src
parentb936e398e2c49c1b766db9aefbd24e3563b4a751 (diff)
downloadflac-12ec86c6188aef9ebd4b9bd0393eab7326e185fc.tar.gz
Use MMX ASM fucntions instead of SSE4.1 if available
These SSE4.1 functions are not always faster than their MMX ASM counterparts, so let's use ASM functions if they're available.
Diffstat (limited to 'src')
-rw-r--r--src/libFLAC/stream_decoder.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/libFLAC/stream_decoder.c b/src/libFLAC/stream_decoder.c
index 40ea8264..db1f3202 100644
--- a/src/libFLAC/stream_decoder.c
+++ b/src/libFLAC/stream_decoder.c
@@ -396,8 +396,10 @@ static FLAC__StreamDecoderInitStatus init_stream_internal_(
#if FLAC__HAS_X86INTRIN && ! defined FLAC__INTEGER_ONLY_LIBRARY
# if defined FLAC__SSE4_1_SUPPORTED
if (decoder->private_->cpuinfo.x86.sse41) {
+# if !defined FLAC__HAS_NASM /* these are not undoubtedly faster than their MMX ASM counterparts */
decoder->private_->local_lpc_restore_signal = FLAC__lpc_restore_signal_intrin_sse41;
decoder->private_->local_lpc_restore_signal_16bit = FLAC__lpc_restore_signal_16_intrin_sse41;
+# endif
decoder->private_->local_lpc_restore_signal_64bit = FLAC__lpc_restore_signal_wide_intrin_sse41;
}
# endif