diff --git a/audio/sinc.c b/audio/sinc.c index 3efaef5ca0..8d52df9091 100644 --- a/audio/sinc.c +++ b/audio/sinc.c @@ -379,7 +379,7 @@ static void process_sinc(rarch_sinc_resampler_t *resamp, float *out_buffer) // movehl { X, R, X, L } == { X, R, X, R } _mm_store_ss(out_buffer + 1, _mm_movehl_ps(sum, sum)); } -#elif defined(HAVE_NEON) && !defined(__MACH__) +#elif defined(HAVE_NEON) #if SINC_COEFF_LERP #error "NEON asm does not support SINC lerp." @@ -473,7 +473,7 @@ static void *resampler_sinc_new(double bandwidth_mod) } // Be SIMD-friendly. -#if (defined(__AVX__) && ENABLE_AVX) || defined(HAVE_NEON) && !defined(__MACH__) +#if (defined(__AVX__) && ENABLE_AVX) || defined(HAVE_NEON) re->taps = (re->taps + 7) & ~7; #else re->taps = (re->taps + 3) & ~3; @@ -499,7 +499,7 @@ static void *resampler_sinc_new(double bandwidth_mod) RARCH_LOG("Sinc resampler [AVX]\n"); #elif defined(__SSE__) RARCH_LOG("Sinc resampler [SSE]\n"); -#elif defined(HAVE_NEON) && !defined(__MACH__) +#elif defined(HAVE_NEON) unsigned cpu = rarch_get_cpu_features(); process_sinc_func = cpu & RETRO_SIMD_NEON ? process_sinc_neon : process_sinc_C; RARCH_LOG("Sinc resampler [%s]\n", cpu & RETRO_SIMD_NEON ? "NEON" : "C"); diff --git a/audio/utils.c b/audio/utils.c index a601fd33c8..1721763767 100644 --- a/audio/utils.c +++ b/audio/utils.c @@ -140,7 +140,7 @@ void audio_convert_float_to_s16_altivec(int16_t *out, else audio_convert_float_to_s16_C(out, in, samples); } -#elif defined(HAVE_NEON) && !defined(__MACH__) +#elif defined(HAVE_NEON) void audio_convert_s16_float_asm(float *out, const int16_t *in, size_t samples, const float *gain); // Avoid potential hard-float/soft-float ABI issues. static void audio_convert_s16_to_float_neon(float *out, const int16_t *in, size_t samples, float gain) @@ -264,7 +264,7 @@ void audio_convert_float_to_s16_ALLEGREX(int16_t *out, void audio_convert_init_simd(void) { -#if defined HAVE_NEON && !defined(__MACH__) +#if defined HAVE_NEON unsigned cpu = rarch_get_cpu_features(); audio_convert_s16_to_float_arm = cpu & RETRO_SIMD_NEON ? audio_convert_s16_to_float_neon : audio_convert_s16_to_float_C; diff --git a/performance.c b/performance.c index 8471441d10..7d112f246e 100644 --- a/performance.c +++ b/performance.c @@ -275,7 +275,8 @@ static uint64_t xgetbv_x86(uint32_t index) } #endif -#if defined(HAVE_NEON) && !defined(__MACH__) +#if defined(HAVE_NEON) +/* TODO/FIX - does this work on iOS? */ static void arm_enable_runfast_mode(void) { // RunFast mode. Enables flush-to-zero and some floating point optimizations. @@ -425,9 +426,7 @@ uint64_t rarch_get_cpu_features(void) RARCH_LOG("[CPUID]: NEON: %u\n", !!(cpu & RETRO_SIMD_NEON)); #elif defined(HAVE_NEON) cpu |= RETRO_SIMD_NEON; -#ifndef __MACH__ arm_enable_runfast_mode(); -#endif RARCH_LOG("[CPUID]: NEON: %u\n", !!(cpu & RETRO_SIMD_NEON)); #elif defined(__ALTIVEC__) cpu |= RETRO_SIMD_VMX;