# HG changeset patch # User gpoirier # Date 1227112919 0 # Node ID a02c39208d4900989ae2db573551df56b5a5f83e # Parent 296d5da784b4bfafff5787c0d6f341128df980f7 Add detection of x86 CPU features SSSE3 and SSE4a. Patch by Zhou, Zongyi %zz65 A cornell P edu% Original thread: date: Wed, Nov 19, 2008 at 4:22 PM subject: Re: [MPlayer-dev-eng] [PATCH] yadif SSE2/SSSE3 optimization diff -r 296d5da784b4 -r a02c39208d49 cpudetect.c --- a/cpudetect.c Wed Nov 19 13:39:07 2008 +0000 +++ b/cpudetect.c Wed Nov 19 16:41:59 2008 +0000 @@ -144,6 +144,8 @@ caps->hasMMX = (regs2[3] & (1 << 23 )) >> 23; // 0x0800000 caps->hasSSE = (regs2[3] & (1 << 25 )) >> 25; // 0x2000000 caps->hasSSE2 = (regs2[3] & (1 << 26 )) >> 26; // 0x4000000 + caps->hasSSSE3 = (regs2[3] & (1 << 9 )) >> 9; // 0x0000200 + caps->hasSSE4a = (regs2[3] & (1 << 6 )) >> 6; // 0x0000040 caps->hasMMX2 = caps->hasSSE; // SSE cpus supports mmxext too cl_size = ((regs2[1] >> 8) & 0xFF)*8; if(cl_size) caps->cl_size = cl_size; @@ -496,6 +498,8 @@ caps->has3DNowExt=0; caps->hasSSE=0; caps->hasSSE2=0; + caps->hasSSSE3=0; + caps->hasSSE4a=0; caps->isX86=0; caps->hasAltiVec = 0; #ifdef HAVE_ALTIVEC diff -r 296d5da784b4 -r a02c39208d49 cpudetect.h --- a/cpudetect.h Wed Nov 19 13:39:07 2008 +0000 +++ b/cpudetect.h Wed Nov 19 16:41:59 2008 +0000 @@ -44,6 +44,8 @@ int has3DNowExt; int hasSSE; int hasSSE2; + int hasSSSE3; + int hasSSE4a; int isX86; unsigned cl_size; /* size of cache line */ int hasAltiVec;