diff --git a/performance.c b/performance.c index fa86685d17..e1a8faa355 100644 --- a/performance.c +++ b/performance.c @@ -219,12 +219,16 @@ void rarch_get_cpu_features(struct rarch_cpu_features *cpu) if (flags[3] & (1 << 26)) cpu->simd |= RARCH_SIMD_SSE2; + if (flags[2] & (1 << 0)) + cpu->simd |= RARCH_SIMD_SSE3; + const int avx_flags = (1 << 27) | (1 << 28); if ((flags[2] & avx_flags) == avx_flags) cpu->simd |= RARCH_SIMD_AVX; RARCH_LOG("[CPUID]: SSE: %u\n", !!(cpu->simd & RARCH_SIMD_SSE)); RARCH_LOG("[CPUID]: SSE2: %u\n", !!(cpu->simd & RARCH_SIMD_SSE2)); + RARCH_LOG("[CPUID]: SSE3: %u\n", !!(cpu->simd & RARCH_SIMD_SSE3)); RARCH_LOG("[CPUID]: AVX: %u\n", !!(cpu->simd & RARCH_SIMD_AVX)); #elif defined(ANDROID) && defined(ANDROID_ARM) uint64_t cpu_flags = android_getCpuFeatures(); diff --git a/performance.h b/performance.h index 4515dc1c65..2fde5a1f9d 100644 --- a/performance.h +++ b/performance.h @@ -57,6 +57,7 @@ struct rarch_cpu_features #define RARCH_SIMD_VMX128 (1 << 3) #define RARCH_SIMD_AVX (1 << 4) #define RARCH_SIMD_NEON (1 << 5) +#define RARCH_SIMD_SSE3 (1 << 6) void rarch_get_cpu_features(struct rarch_cpu_features *cpu);