From 8e9cd81d291b1010c625b2766058aadf4affb537 Mon Sep 17 00:00:00 2001 From: Fiona Glaser Date: Thu, 14 Jan 2016 10:54:27 +0100 Subject: x86: cpu: Detect Conroe CPUs and their slow shuffle unit --- libavutil/x86/cpu.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'libavutil') 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 */ -- cgit v1.2.3