--- simde/simde/simde-math.h 2024-05-01 00:35:50.000000000 +0800 +++ simde/simde/simde-math.h 2025-09-09 19:30:58.000000000 +0800 @@ -952,13 +952,13 @@ #endif #endif -#if HEDLEY_HAS_BUILTIN(__builtin_exp10) || HEDLEY_GCC_VERSION_CHECK(3,4,0) +#if (HEDLEY_HAS_BUILTIN(__builtin_exp10) || HEDLEY_GCC_VERSION_CHECK(3,4,0)) && !defined(__APPLE__) # define simde_math_exp10(v) __builtin_exp10(v) #else # define simde_math_exp10(v) pow(10.0, (v)) #endif -#if HEDLEY_HAS_BUILTIN(__builtin_exp10f) || HEDLEY_GCC_VERSION_CHECK(3,4,0) +#if (HEDLEY_HAS_BUILTIN(__builtin_exp10f) || HEDLEY_GCC_VERSION_CHECK(3,4,0)) && !defined(__APPLE__) # define simde_math_exp10f(v) __builtin_exp10f(v) #else # define simde_math_exp10f(v) powf(10.0f, (v)) @@ -1266,8 +1266,8 @@ #if !defined(simde_math_roundeven) #if \ - ((!defined(HEDLEY_EMSCRIPTEN_VERSION) || HEDLEY_EMSCRIPTEN_VERSION_CHECK(3, 1, 43)) && HEDLEY_HAS_BUILTIN(__builtin_roundeven)) || \ - HEDLEY_GCC_VERSION_CHECK(10,0,0) + (((!defined(HEDLEY_EMSCRIPTEN_VERSION) || HEDLEY_EMSCRIPTEN_VERSION_CHECK(3, 1, 43)) && HEDLEY_HAS_BUILTIN(__builtin_roundeven)) || \ + HEDLEY_GCC_VERSION_CHECK(10,0,0)) && !defined(__APPLE__) #define simde_math_roundeven(v) __builtin_roundeven(v) #elif defined(simde_math_round) && defined(simde_math_fabs) static HEDLEY_INLINE @@ -1286,8 +1286,8 @@ #if !defined(simde_math_roundevenf) #if \ - ((!defined(HEDLEY_EMSCRIPTEN_VERSION) || HEDLEY_EMSCRIPTEN_VERSION_CHECK(3, 1, 43)) && HEDLEY_HAS_BUILTIN(__builtin_roundevenf)) || \ - HEDLEY_GCC_VERSION_CHECK(10,0,0) + (((!defined(HEDLEY_EMSCRIPTEN_VERSION) || HEDLEY_EMSCRIPTEN_VERSION_CHECK(3, 1, 43)) && HEDLEY_HAS_BUILTIN(__builtin_roundevenf)) || \ + HEDLEY_GCC_VERSION_CHECK(10,0,0)) && !defined(__APPLE__) #define simde_math_roundevenf(v) __builtin_roundevenf(v) #elif defined(simde_math_roundf) && defined(simde_math_fabsf) static HEDLEY_INLINE From d362953858be0036a53920024b84e4e119b3c527 Mon Sep 17 00:00:00 2001 From: Sergey Fedorov Date: Tue, 9 Sep 2025 18:02:36 +0800 Subject: [PATCH] sse2.h: fix simde_mm_pause for powerpc*-darwin See: https://github.com/simd-everywhere/simde/issues/1313 --- simde/x86/sse2.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/simde/x86/sse2.h b/simde/x86/sse2.h index c65af934e..48b701f21 100644 --- simde/simde/x86/sse2.h +++ simde/simde/x86/sse2.h @@ -5245,7 +5245,11 @@ simde_mm_pause (void) { __asm__ __volatile__("isb\n"); #endif #elif defined(SIMDE_ARCH_POWER) - __asm__ __volatile__ ("or 27,27,27" ::: "memory"); + #if defined(__APPLE__) + __asm__ __volatile__ ("or r27,r27,r27" ::: "memory"); + #else + __asm__ __volatile__ ("or 27,27,27" ::: "memory"); + #endif #elif defined(SIMDE_ARCH_WASM) __asm__ __volatile__ ("nop"); #elif defined(SIMDE_LOONGARCH_LSX_NATIVE)