ASIMD detection on ARMv8
This commit is contained in:
parent
f1b24f501d
commit
eaed1c96be
|
@ -704,6 +704,15 @@ uint64_t cpu_features_get(void)
|
|||
if (check_arm_cpu_feature("vfpv4"))
|
||||
cpu |= RETRO_SIMD_VFPV4;
|
||||
|
||||
if (check_arm_cpu_feature("asymd"))
|
||||
{
|
||||
cpu |= RETRO_SIMD_ASIMD;
|
||||
#ifdef __ARM_NEON__
|
||||
cpu |= RETRO_SIMD_NEON;
|
||||
arm_enable_runfast_mode();
|
||||
#endif
|
||||
}
|
||||
|
||||
#if 0
|
||||
check_arm_cpu_feature("swp");
|
||||
check_arm_cpu_feature("half");
|
||||
|
@ -748,6 +757,7 @@ uint64_t cpu_features_get(void)
|
|||
if (cpu & RETRO_SIMD_VMX128) strlcat(buf, " VMX128", sizeof(buf));
|
||||
if (cpu & RETRO_SIMD_VFPU) strlcat(buf, " VFPU", sizeof(buf));
|
||||
if (cpu & RETRO_SIMD_PS) strlcat(buf, " PS", sizeof(buf));
|
||||
if (cpu & RETRO_SIMD_ASIMD) strlcat(buf, " ASIMD", sizeof(buf));
|
||||
|
||||
return cpu;
|
||||
}
|
||||
|
|
|
@ -1316,6 +1316,7 @@ struct retro_log_callback
|
|||
#define RETRO_SIMD_POPCNT (1 << 18)
|
||||
#define RETRO_SIMD_MOVBE (1 << 19)
|
||||
#define RETRO_SIMD_CMOV (1 << 20)
|
||||
#define RETRO_SIMD_ASIMD (1 << 21)
|
||||
|
||||
typedef uint64_t retro_perf_tick_t;
|
||||
typedef int64_t retro_time_t;
|
||||
|
|
Loading…
Reference in New Issue