[babl] Add SSE4 to babl-cpuaccel



commit 12fe102ef96eca9f82091e907124cb72b4efddea
Author: Daniel Sabo <DanielSabo gmail com>
Date:   Sun Dec 20 03:36:51 2015 -0800

    Add SSE4 to babl-cpuaccel

 babl/babl-cpuaccel.c |   18 ++++++++++++++++--
 babl/babl-cpuaccel.h |    2 ++
 2 files changed, 18 insertions(+), 2 deletions(-)
---
diff --git a/babl/babl-cpuaccel.c b/babl/babl-cpuaccel.c
index 3445cf6..4e1683e 100644
--- a/babl/babl-cpuaccel.c
+++ b/babl/babl-cpuaccel.c
@@ -114,7 +114,11 @@ enum
 
 enum
 {
-  ARCH_X86_INTEL_FEATURE_PNI      = 1 << 0
+  ARCH_X86_INTEL_FEATURE_PNI      = 1 << 0,
+  ARCH_X86_INTEL_FEATURE_SSSE3    = 1 << 9,
+  ARCH_X86_INTEL_FEATURE_SSE4_1   = 1 << 19,
+  ARCH_X86_INTEL_FEATURE_SSE4_2   = 1 << 20,
+  ARCH_X86_INTEL_FEATURE_AVX      = 1 << 28
 };
 
 #if !defined(ARCH_X86_64) && (defined(PIC) || defined(__PIC__))
@@ -234,6 +238,12 @@ arch_accel_intel (void)
 
     if (ecx & ARCH_X86_INTEL_FEATURE_PNI)
       caps |= BABL_CPU_ACCEL_X86_SSE3;
+
+    if (ecx & ARCH_X86_INTEL_FEATURE_SSSE3)
+      caps |= BABL_CPU_ACCEL_X86_SSSE3;
+
+    if (ecx & ARCH_X86_INTEL_FEATURE_SSE4_1)
+      caps |= BABL_CPU_ACCEL_X86_SSE4_1;
 #endif /* USE_SSE */
   }
 #endif /* USE_MMX */
@@ -399,7 +409,11 @@ arch_accel (void)
 
 #ifdef USE_SSE
   if ((caps & BABL_CPU_ACCEL_X86_SSE) && !arch_accel_sse_os_support ())
-    caps &= ~(BABL_CPU_ACCEL_X86_SSE | BABL_CPU_ACCEL_X86_SSE2);
+    caps &= ~(BABL_CPU_ACCEL_X86_SSE   |
+              BABL_CPU_ACCEL_X86_SSE2  |
+              BABL_CPU_ACCEL_X86_SSE3  |
+              BABL_CPU_ACCEL_X86_SSSE3 |
+              BABL_CPU_ACCEL_X86_SSE4_1);
 #endif
 
   return caps;
diff --git a/babl/babl-cpuaccel.h b/babl/babl-cpuaccel.h
index e701e2a..57eb118 100644
--- a/babl/babl-cpuaccel.h
+++ b/babl/babl-cpuaccel.h
@@ -30,6 +30,8 @@ typedef enum
   BABL_CPU_ACCEL_X86_SSE     = 0x10000000,
   BABL_CPU_ACCEL_X86_SSE2    = 0x08000000,
   BABL_CPU_ACCEL_X86_SSE3    = 0x02000000,
+  BABL_CPU_ACCEL_X86_SSSE3   = 0x00800000,
+  BABL_CPU_ACCEL_X86_SSE4_1  = 0x00400000,
 
   /* powerpc accelerations */
   BABL_CPU_ACCEL_PPC_ALTIVEC = 0x04000000,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]