# HG changeset patch # User gpoirier # Date 1166481789 0 # Node ID f9325f2bc7629f07262037c3f00906d1f1dc6ba9 # Parent a0c0c7bebd64f9f820faf22d16983ed6a683b578 Add SSSE3 (Core2 aka Conroe/Merom/Woodcrester new instructions) detection diff -r a0c0c7bebd64 -r f9325f2bc762 dsputil.h --- a/dsputil.h Mon Dec 18 19:27:28 2006 +0000 +++ b/dsputil.h Mon Dec 18 22:43:09 2006 +0000 @@ -484,6 +484,7 @@ #define MM_SSE2 0x0010 /* PIV SSE2 functions */ #define MM_3DNOWEXT 0x0020 /* AMD 3DNowExt */ #define MM_SSE3 0x0040 /* Prescott SSE3 functions */ +#define MM_SSSE3 0x0080 /* Conroe SSSE3 functions */ extern int mm_flags; diff -r a0c0c7bebd64 -r f9325f2bc762 i386/cputest.c --- a/i386/cputest.c Mon Dec 18 19:27:28 2006 +0000 +++ b/i386/cputest.c Mon Dec 18 22:43:09 2006 +0000 @@ -87,6 +87,8 @@ rval |= MM_SSE2; if (ecx & 1) rval |= MM_SSE3; + if (ecx & 0x00000200 ) + rval |= MM_SSSE3; } cpuid(0x80000000, max_ext_level, ebx, ecx, edx); @@ -104,11 +106,13 @@ } #if 0 - av_log(NULL, AV_LOG_DEBUG, "%s%s%s%s%s%s\n", + av_log(NULL, AV_LOG_DEBUG, "%s%s%s%s%s%s%s%s\n", (rval&MM_MMX) ? "MMX ":"", (rval&MM_MMXEXT) ? "MMX2 ":"", (rval&MM_SSE) ? "SSE ":"", (rval&MM_SSE2) ? "SSE2 ":"", + (rval&MM_SSE3) ? "SSE3 ":"", + (rval&MM_SSSE3) ? "SSSE3 ":"", (rval&MM_3DNOW) ? "3DNow ":"", (rval&MM_3DNOWEXT) ? "3DNowExt ":""); #endif