From d3b1167a5327d222f122c5415b5b6b2128e3ff10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Fri, 23 May 2025 23:12:16 +0200 Subject: [PATCH 1/2] Fix build on Apple Clang 17+ --- Zend/zend_cpuinfo.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/Zend/zend_cpuinfo.h b/Zend/zend_cpuinfo.h index 9d221c59e541a..f5a91e3e5cd5a 100644 --- a/Zend/zend_cpuinfo.h +++ b/Zend/zend_cpuinfo.h @@ -126,58 +126,86 @@ ZEND_API int zend_cpu_supports(zend_cpu_feature feature); * functions */ ZEND_NO_SANITIZE_ADDRESS static inline int zend_cpu_supports_sse2(void) { +#if (defined(__APPLE__) && defined(__aarch64__) && defined(__clang_major__) && __clang_major__ >= 17) + return 0; +#else #if PHP_HAVE_BUILTIN_CPU_INIT __builtin_cpu_init(); #endif return __builtin_cpu_supports("sse2"); +#endif } ZEND_NO_SANITIZE_ADDRESS static inline int zend_cpu_supports_sse3(void) { +#if (defined(__APPLE__) && defined(__aarch64__) && defined(__clang_major__) && __clang_major__ >= 17) + return 0; +#else #if PHP_HAVE_BUILTIN_CPU_INIT __builtin_cpu_init(); #endif return __builtin_cpu_supports("sse3"); +#endif } ZEND_NO_SANITIZE_ADDRESS static inline int zend_cpu_supports_ssse3(void) { +#if (defined(__APPLE__) && defined(__aarch64__) && defined(__clang_major__) && __clang_major__ >= 17) + return 0; +#else #if PHP_HAVE_BUILTIN_CPU_INIT __builtin_cpu_init(); #endif return __builtin_cpu_supports("ssse3"); +#endif } ZEND_NO_SANITIZE_ADDRESS static inline int zend_cpu_supports_sse41(void) { +#if (defined(__APPLE__) && defined(__aarch64__) && defined(__clang_major__) && __clang_major__ >= 17) + return 0; +#else #if PHP_HAVE_BUILTIN_CPU_INIT __builtin_cpu_init(); #endif return __builtin_cpu_supports("sse4.1"); +#endif } ZEND_NO_SANITIZE_ADDRESS static inline int zend_cpu_supports_sse42(void) { +#if (defined(__APPLE__) && defined(__aarch64__) && defined(__clang_major__) && __clang_major__ >= 17) + return 0; +#else #if PHP_HAVE_BUILTIN_CPU_INIT __builtin_cpu_init(); #endif return __builtin_cpu_supports("sse4.2"); +#endif } ZEND_NO_SANITIZE_ADDRESS static inline int zend_cpu_supports_avx(void) { +#if (defined(__APPLE__) && defined(__aarch64__) && defined(__clang_major__) && __clang_major__ >= 17) + return 0; +#else #if PHP_HAVE_BUILTIN_CPU_INIT __builtin_cpu_init(); #endif return __builtin_cpu_supports("avx"); +#endif } ZEND_NO_SANITIZE_ADDRESS static inline int zend_cpu_supports_avx2(void) { +#if (defined(__APPLE__) && defined(__aarch64__) && defined(__clang_major__) && __clang_major__ >= 17) + return 0; +#else #if PHP_HAVE_BUILTIN_CPU_INIT __builtin_cpu_init(); #endif return __builtin_cpu_supports("avx2"); +#endif } #if PHP_HAVE_AVX512_SUPPORTS From aad15ebe27311384e561e5d59f4374a03226781f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Sat, 24 May 2025 21:08:28 +0200 Subject: [PATCH 2/2] Simplify conditions --- Zend/zend_cpuinfo.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Zend/zend_cpuinfo.h b/Zend/zend_cpuinfo.h index f5a91e3e5cd5a..5cc161eab9949 100644 --- a/Zend/zend_cpuinfo.h +++ b/Zend/zend_cpuinfo.h @@ -126,7 +126,7 @@ ZEND_API int zend_cpu_supports(zend_cpu_feature feature); * functions */ ZEND_NO_SANITIZE_ADDRESS static inline int zend_cpu_supports_sse2(void) { -#if (defined(__APPLE__) && defined(__aarch64__) && defined(__clang_major__) && __clang_major__ >= 17) +#ifdef __aarch64__ return 0; #else #if PHP_HAVE_BUILTIN_CPU_INIT @@ -138,7 +138,7 @@ static inline int zend_cpu_supports_sse2(void) { ZEND_NO_SANITIZE_ADDRESS static inline int zend_cpu_supports_sse3(void) { -#if (defined(__APPLE__) && defined(__aarch64__) && defined(__clang_major__) && __clang_major__ >= 17) +#ifdef __aarch64__ return 0; #else #if PHP_HAVE_BUILTIN_CPU_INIT @@ -150,7 +150,7 @@ static inline int zend_cpu_supports_sse3(void) { ZEND_NO_SANITIZE_ADDRESS static inline int zend_cpu_supports_ssse3(void) { -#if (defined(__APPLE__) && defined(__aarch64__) && defined(__clang_major__) && __clang_major__ >= 17) +#ifdef __aarch64__ return 0; #else #if PHP_HAVE_BUILTIN_CPU_INIT @@ -162,7 +162,7 @@ static inline int zend_cpu_supports_ssse3(void) { ZEND_NO_SANITIZE_ADDRESS static inline int zend_cpu_supports_sse41(void) { -#if (defined(__APPLE__) && defined(__aarch64__) && defined(__clang_major__) && __clang_major__ >= 17) +#ifdef __aarch64__ return 0; #else #if PHP_HAVE_BUILTIN_CPU_INIT @@ -174,7 +174,7 @@ static inline int zend_cpu_supports_sse41(void) { ZEND_NO_SANITIZE_ADDRESS static inline int zend_cpu_supports_sse42(void) { -#if (defined(__APPLE__) && defined(__aarch64__) && defined(__clang_major__) && __clang_major__ >= 17) +#ifdef __aarch64__ return 0; #else #if PHP_HAVE_BUILTIN_CPU_INIT @@ -186,7 +186,7 @@ static inline int zend_cpu_supports_sse42(void) { ZEND_NO_SANITIZE_ADDRESS static inline int zend_cpu_supports_avx(void) { -#if (defined(__APPLE__) && defined(__aarch64__) && defined(__clang_major__) && __clang_major__ >= 17) +#ifdef __aarch64__ return 0; #else #if PHP_HAVE_BUILTIN_CPU_INIT @@ -198,7 +198,7 @@ static inline int zend_cpu_supports_avx(void) { ZEND_NO_SANITIZE_ADDRESS static inline int zend_cpu_supports_avx2(void) { -#if (defined(__APPLE__) && defined(__aarch64__) && defined(__clang_major__) && __clang_major__ >= 17) +#ifdef __aarch64__ return 0; #else #if PHP_HAVE_BUILTIN_CPU_INIT