mirror of
https://github.com/libretro/RetroArch
synced 2025-01-29 09:32:52 +00:00
Add RETRO_SIMD_POPCNT and RETRO_SIMD_MOVBE
This commit is contained in:
parent
8ecae597e9
commit
8b130b3866
@ -421,11 +421,11 @@ static void linux_cpu_init(void)
|
||||
regs[3] == VENDOR_INTEL_d);
|
||||
|
||||
x86_cpuid(1, regs);
|
||||
if ((regs[2] & (1 << 9)) != 0)
|
||||
if ((regs[2] & (1 << 9)))
|
||||
g_cpuFeatures |= CPU_X86_FEATURE_SSSE3;
|
||||
if ((regs[2] & (1 << 23)) != 0)
|
||||
if ((regs[2] & (1 << 23)))
|
||||
g_cpuFeatures |= CPU_X86_FEATURE_POPCNT;
|
||||
if (vendorIsIntel && (regs[2] & (1 << 22)) != 0)
|
||||
if (vendorIsIntel && (regs[2] & (1 << 22)))
|
||||
g_cpuFeatures |= CPU_X86_FEATURE_MOVBE;
|
||||
#endif
|
||||
|
||||
|
@ -1166,6 +1166,8 @@ struct retro_log_callback
|
||||
#define RETRO_SIMD_AES (1 << 15)
|
||||
#define RETRO_SIMD_VFPV3 (1 << 16)
|
||||
#define RETRO_SIMD_VFPV4 (1 << 17)
|
||||
#define RETRO_SIMD_POPCNT (1 << 18)
|
||||
#define RETRO_SIMD_MOVBE (1 << 19)
|
||||
|
||||
typedef uint64_t retro_perf_tick_t;
|
||||
typedef int64_t retro_time_t;
|
||||
|
@ -486,6 +486,7 @@ uint64_t retro_get_cpu_features(void)
|
||||
cpu |= RETRO_SIMD_MMXEXT;
|
||||
}
|
||||
|
||||
|
||||
if (flags[3] & (1 << 26))
|
||||
cpu |= RETRO_SIMD_SSE2;
|
||||
|
||||
@ -501,6 +502,9 @@ uint64_t retro_get_cpu_features(void)
|
||||
if (flags[2] & (1 << 20))
|
||||
cpu |= RETRO_SIMD_SSE42;
|
||||
|
||||
if ((flags[2] & (1 << 23)))
|
||||
cpu |= RETRO_SIMD_POPCNT;
|
||||
|
||||
if (flags[2] & (1 << 25))
|
||||
cpu |= RETRO_SIMD_AES;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user