22 #if defined(__x86_64__) || defined(__i386__) || defined(_WIN32) 23 #if !defined(ANDROID_BUILD) 25 #endif // !ANDROID_BUILD 28 #if defined(X86_BUILD) 39 bool SIMDDetect::avx_available_;
41 bool SIMDDetect::sse_available_;
48 SIMDDetect::SIMDDetect() {
49 #if defined(X86_BUILD) 51 unsigned int eax, ebx, ecx, edx;
52 if (__get_cpuid(1, &eax, &ebx, &ecx, &edx) != 0) {
53 sse_available_ = (ecx & 0x00080000) != 0;
54 avx_available_ = (ecx & 0x10000000) != 0;
59 if (cpuInfo[0] >= 1) {
61 sse_available_ = (cpuInfo[2] & 0x00080000) != 0;
62 avx_available_ = (cpuInfo[2] & 0x10000000) != 0;
65 #error "I don't know how to test for SIMD with this compiler"