From c16e99e3b3c02edcf33245468731d414eab97dac Mon Sep 17 00:00:00 2001 From: James Almer Date: Sun, 31 May 2015 14:20:29 -0300 Subject: x86: check for AV_CPU_FLAG_AVXSLOW where useful Signed-off-by: James Almer Signed-off-by: Michael Niedermayer --- libavutil/x86/float_dsp_init.c | 4 ++-- libavutil/x86/lls_init.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'libavutil') diff --git a/libavutil/x86/float_dsp_init.c b/libavutil/x86/float_dsp_init.c index 64b3a4d6bd..f211f2396b 100644 --- a/libavutil/x86/float_dsp_init.c +++ b/libavutil/x86/float_dsp_init.c @@ -85,14 +85,14 @@ av_cold void ff_float_dsp_init_x86(AVFloatDSPContext *fdsp) if (EXTERNAL_SSE2(cpu_flags)) { fdsp->vector_dmul_scalar = ff_vector_dmul_scalar_sse2; } - if (EXTERNAL_AVX(cpu_flags)) { + if (EXTERNAL_AVX_FAST(cpu_flags)) { fdsp->vector_fmul = ff_vector_fmul_avx; fdsp->vector_fmac_scalar = ff_vector_fmac_scalar_avx; fdsp->vector_dmul_scalar = ff_vector_dmul_scalar_avx; fdsp->vector_fmul_add = ff_vector_fmul_add_avx; fdsp->vector_fmul_reverse = ff_vector_fmul_reverse_avx; } - if (EXTERNAL_FMA3(cpu_flags)) { + if (EXTERNAL_FMA3(cpu_flags) && !(cpu_flags & AV_CPU_FLAG_AVXSLOW)) { fdsp->vector_fmac_scalar = ff_vector_fmac_scalar_fma3; fdsp->vector_fmul_add = ff_vector_fmul_add_fma3; } diff --git a/libavutil/x86/lls_init.c b/libavutil/x86/lls_init.c index f53190488a..81f141cbeb 100644 --- a/libavutil/x86/lls_init.c +++ b/libavutil/x86/lls_init.c @@ -35,7 +35,7 @@ av_cold void ff_init_lls_x86(LLSModel *m) if (m->indep_count >= 4) m->evaluate_lls = ff_evaluate_lls_sse2; } - if (EXTERNAL_AVX(cpu_flags)) { + if (EXTERNAL_AVX_FAST(cpu_flags)) { m->update_lls = ff_update_lls_avx; } } -- cgit v1.2.3