summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cpudetect.c4
-rw-r--r--cpudetect.h2
2 files changed, 6 insertions, 0 deletions
diff --git a/cpudetect.c b/cpudetect.c
index 43f5cc2a7d..22edd58795 100644
--- a/cpudetect.c
+++ b/cpudetect.c
@@ -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
diff --git a/cpudetect.h b/cpudetect.h
index 6c48da0bef..a98f97f0e4 100644
--- a/cpudetect.h
+++ b/cpudetect.h
@@ -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;