From: Nikita Popov Date: Tue, 1 Dec 2020 09:22:36 +0000 (+0100) Subject: Don't mark cpu_supports functions as always inline X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=648cda6c9fc5964df73d65a8b227357f980edca9;p=php Don't mark cpu_supports functions as always inline The use of no-sanitize may result in an inlining failure, which will be promoted into a compile error by always-inline. Use a normal inlining hint without enforcing it. --- diff --git a/Zend/zend_cpuinfo.h b/Zend/zend_cpuinfo.h index 59616edf1b..92227ca6c0 100644 --- a/Zend/zend_cpuinfo.h +++ b/Zend/zend_cpuinfo.h @@ -120,7 +120,7 @@ ZEND_API int zend_cpu_supports(zend_cpu_feature feature); * resolver functions should not depend on any external * functions */ ZEND_NO_SANITIZE_ADDRESS -static zend_always_inline int zend_cpu_supports_sse2() { +static inline int zend_cpu_supports_sse2() { #if PHP_HAVE_BUILTIN_CPU_INIT __builtin_cpu_init(); #endif @@ -128,7 +128,7 @@ static zend_always_inline int zend_cpu_supports_sse2() { } ZEND_NO_SANITIZE_ADDRESS -static zend_always_inline int zend_cpu_supports_sse3() { +static inline int zend_cpu_supports_sse3() { #if PHP_HAVE_BUILTIN_CPU_INIT __builtin_cpu_init(); #endif @@ -136,7 +136,7 @@ static zend_always_inline int zend_cpu_supports_sse3() { } ZEND_NO_SANITIZE_ADDRESS -static zend_always_inline int zend_cpu_supports_ssse3() { +static inline int zend_cpu_supports_ssse3() { #if PHP_HAVE_BUILTIN_CPU_INIT __builtin_cpu_init(); #endif @@ -144,7 +144,7 @@ static zend_always_inline int zend_cpu_supports_ssse3() { } ZEND_NO_SANITIZE_ADDRESS -static zend_always_inline int zend_cpu_supports_sse41() { +static inline int zend_cpu_supports_sse41() { #if PHP_HAVE_BUILTIN_CPU_INIT __builtin_cpu_init(); #endif @@ -152,7 +152,7 @@ static zend_always_inline int zend_cpu_supports_sse41() { } ZEND_NO_SANITIZE_ADDRESS -static zend_always_inline int zend_cpu_supports_sse42() { +static inline int zend_cpu_supports_sse42() { #if PHP_HAVE_BUILTIN_CPU_INIT __builtin_cpu_init(); #endif @@ -160,7 +160,7 @@ static zend_always_inline int zend_cpu_supports_sse42() { } ZEND_NO_SANITIZE_ADDRESS -static zend_always_inline int zend_cpu_supports_avx() { +static inline int zend_cpu_supports_avx() { #if PHP_HAVE_BUILTIN_CPU_INIT __builtin_cpu_init(); #endif @@ -168,7 +168,7 @@ static zend_always_inline int zend_cpu_supports_avx() { } ZEND_NO_SANITIZE_ADDRESS -static zend_always_inline int zend_cpu_supports_avx2() { +static inline int zend_cpu_supports_avx2() { #if PHP_HAVE_BUILTIN_CPU_INIT __builtin_cpu_init(); #endif @@ -176,31 +176,31 @@ static zend_always_inline int zend_cpu_supports_avx2() { } #else -static zend_always_inline int zend_cpu_supports_sse2() { +static inline int zend_cpu_supports_sse2() { return zend_cpu_supports(ZEND_CPU_FEATURE_SSE2); } -static zend_always_inline int zend_cpu_supports_sse3() { +static inline int zend_cpu_supports_sse3() { return zend_cpu_supports(ZEND_CPU_FEATURE_SSE3); } -static zend_always_inline int zend_cpu_supports_ssse3() { +static inline int zend_cpu_supports_ssse3() { return zend_cpu_supports(ZEND_CPU_FEATURE_SSSE3); } -static zend_always_inline int zend_cpu_supports_sse41() { +static inline int zend_cpu_supports_sse41() { return zend_cpu_supports(ZEND_CPU_FEATURE_SSE41); } -static zend_always_inline int zend_cpu_supports_sse42() { +static inline int zend_cpu_supports_sse42() { return zend_cpu_supports(ZEND_CPU_FEATURE_SSE42); } -static zend_always_inline int zend_cpu_supports_avx() { +static inline int zend_cpu_supports_avx() { return zend_cpu_supports(ZEND_CPU_FEATURE_AVX); } -static zend_always_inline int zend_cpu_supports_avx2() { +static inline int zend_cpu_supports_avx2() { return zend_cpu_supports(ZEND_CPU_FEATURE_AVX2); } #endif @@ -208,14 +208,14 @@ static zend_always_inline int zend_cpu_supports_avx2() { /* __builtin_cpu_supports has pclmul from gcc9 */ #if PHP_HAVE_BUILTIN_CPU_SUPPORTS && (!defined(__GNUC__) || (ZEND_GCC_VERSION >= 9000)) ZEND_NO_SANITIZE_ADDRESS -static zend_always_inline int zend_cpu_supports_pclmul() { +static inline int zend_cpu_supports_pclmul() { #if PHP_HAVE_BUILTIN_CPU_INIT __builtin_cpu_init(); #endif return __builtin_cpu_supports("pclmul"); } #else -static zend_always_inline int zend_cpu_supports_pclmul() { +static inline int zend_cpu_supports_pclmul() { return zend_cpu_supports(ZEND_CPU_FEATURE_PCLMULQDQ); } #endif