diff options
author | Fiona Glaser <fiona@x264.com> | 2016-01-14 12:54:27 +0300 |
---|---|---|
committer | Diego Biurrun <diego@biurrun.de> | 2016-07-20 19:43:28 +0300 |
commit | 8e9cd81d291b1010c625b2766058aadf4affb537 (patch) | |
tree | 13bf830186593240d371d58dc0306056ae7e17b3 /libavutil | |
parent | 7d7355aa92bb36ca0765c49a569a999bcb96f332 (diff) |
x86: cpu: Detect Conroe CPUs and their slow shuffle unit
Diffstat (limited to 'libavutil')
-rw-r--r-- | libavutil/x86/cpu.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libavutil/x86/cpu.c b/libavutil/x86/cpu.c index 328ce6de9c..3b085e71f5 100644 --- a/libavutil/x86/cpu.c +++ b/libavutil/x86/cpu.c @@ -221,6 +221,12 @@ int ff_get_cpu_flags_x86(void) * functions on the Atom. */ if (family == 6 && model == 28) rval |= AV_CPU_FLAG_ATOM; + + /* Conroe has a slow shuffle unit. Check the model number to ensure not + * to include crippled low-end Penryns and Nehalems that lack SSE4. */ + if ((rval & AV_CPU_FLAG_SSSE3) && !(rval & AV_CPU_FLAG_SSE4) && + family == 6 && model < 23) + rval |= AV_CPU_FLAG_SSSE3SLOW; } #endif /* cpuid */ |