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


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27960 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
gpoirier 2008-11-19 16:41:59 +00:00
parent 82e0e9055a
commit 928e4433aa
2 changed files with 6 additions and 0 deletions

View File

@ -144,6 +144,8 @@ void GetCpuCaps( CpuCaps *caps)
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 @@ void GetCpuCaps( CpuCaps *caps)
caps->has3DNowExt=0;
caps->hasSSE=0;
caps->hasSSE2=0;
caps->hasSSSE3=0;
caps->hasSSE4a=0;
caps->isX86=0;
caps->hasAltiVec = 0;
#ifdef HAVE_ALTIVEC

View File

@ -44,6 +44,8 @@ typedef struct cpucaps_s {
int has3DNowExt;
int hasSSE;
int hasSSE2;
int hasSSSE3;
int hasSSE4a;
int isX86;
unsigned cl_size; /* size of cache line */
int hasAltiVec;