summaryrefslogtreecommitdiff
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
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.
-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