mirror of
https://github.com/libretro/RetroArch
synced 2025-03-30 16:20:27 +00:00
(iOS) Take out forcibly hacking out all ARM ASM code for iOS port
This commit is contained in:
parent
2a65fd9067
commit
b5d1e9aa83
@ -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");
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user