adjust a couple of ifdefs to handle NetBSD correctly
[mesa.git] / src / mesa / x86 / common_x86_features.h
index 8625484403447601807890c02d387e81f6e4f80a..65634aa5dff906d16e32d0a42bb7eeb941a64eb3 100644 (file)
@@ -43,6 +43,7 @@
 #define X86_FEATURE_XMM2       (1<<6)
 #define X86_FEATURE_3DNOWEXT   (1<<7)
 #define X86_FEATURE_3DNOW      (1<<8)
+#define X86_FEATURE_SSE4_1     (1<<9)
 
 /* standard X86 CPU features */
 #define X86_CPU_FPU            (1<<0)
 #define X86_CPU_MMX            (1<<23)
 #define X86_CPU_XMM            (1<<25)
 #define X86_CPU_XMM2           (1<<26)
+/* ECX. */
+#define X86_CPU_SSE4_1         (1<<19)
 
 /* extended X86 CPU features */
 #define X86_CPUEXT_MMX_EXT     (1<<22)
 #define X86_CPUEXT_3DNOW_EXT   (1<<30)
 #define X86_CPUEXT_3DNOW       (1<<31)
 
+#ifdef __MMX__
+#define cpu_has_mmx            1
+#else
 #define cpu_has_mmx            (_mesa_x86_cpu_features & X86_FEATURE_MMX)
+#endif
+
 #define cpu_has_mmxext         (_mesa_x86_cpu_features & X86_FEATURE_MMXEXT)
+
+#ifdef __SSE__
+#define cpu_has_xmm            1
+#else
 #define cpu_has_xmm            (_mesa_x86_cpu_features & X86_FEATURE_XMM)
+#endif
+
+#ifdef __SSE2__
+#define cpu_has_xmm2           1
+#else
 #define cpu_has_xmm2           (_mesa_x86_cpu_features & X86_FEATURE_XMM2)
+#endif
+
+#ifdef __3dNOW__
+#define cpu_has_3dnow          1
+#else
 #define cpu_has_3dnow          (_mesa_x86_cpu_features & X86_FEATURE_3DNOW)
+#endif
+
 #define cpu_has_3dnowext       (_mesa_x86_cpu_features & X86_FEATURE_3DNOWEXT)
 
+#ifdef __SSE4_1__
+#define cpu_has_sse4_1         1
+#else
+#define cpu_has_sse4_1         (_mesa_x86_cpu_features & X86_FEATURE_SSE4_1)
+#endif
+
 #endif