#include <sys/sysctl.h>
#include <machine/cpu.h>
#endif
-#if defined(__x86_64__) && !defined(_MSC_VER)
+#if defined(USE_X86_64_ASM)
#include <cpuid.h>
#endif
_mesa_debug(NULL, "CPUID not detected\n");
}
else {
- GLuint cpu_features;
+ GLuint cpu_features, cpu_features_ecx;
GLuint cpu_ext_features;
GLuint cpu_ext_info;
char cpu_vendor[13];
_mesa_x86_cpu_features |= X86_FEATURE_XMM;
if (cpu_features & X86_CPU_XMM2)
_mesa_x86_cpu_features |= X86_FEATURE_XMM2;
- if (cpu_features & x86_CPU_SSE4_1)
- _mesa_x86_features |= X86_FEATURE_SSE4_1;
+ if (cpu_features_ecx & X86_CPU_SSE4_1)
+ _mesa_x86_cpu_features |= X86_FEATURE_SSE4_1;
#endif
/* query extended cpu features */
}
#endif
-#elif defined(__x86_64__) && !defined(_MSC_VER)
+#elif defined(USE_X86_64_ASM)
unsigned int uninitialized_var(eax), uninitialized_var(ebx),
uninitialized_var(ecx), uninitialized_var(edx);
if (ecx & bit_SSE4_1)
_mesa_x86_cpu_features |= X86_FEATURE_SSE4_1;
-#endif /* USE_X86_ASM */
+#endif /* USE_X86_64_ASM */
(void) detection_debug;
}