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.
This commit is contained in:
Nikita Popov 2020-12-01 10:22:36 +01:00
parent 4959c60524
commit 648cda6c9f

View file

@ -120,7 +120,7 @@ ZEND_API int zend_cpu_supports(zend_cpu_feature feature);
* resolver functions should not depend on any external * resolver functions should not depend on any external
* functions */ * functions */
ZEND_NO_SANITIZE_ADDRESS 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 #if PHP_HAVE_BUILTIN_CPU_INIT
__builtin_cpu_init(); __builtin_cpu_init();
#endif #endif
@ -128,7 +128,7 @@ static zend_always_inline int zend_cpu_supports_sse2() {
} }
ZEND_NO_SANITIZE_ADDRESS 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 #if PHP_HAVE_BUILTIN_CPU_INIT
__builtin_cpu_init(); __builtin_cpu_init();
#endif #endif
@ -136,7 +136,7 @@ static zend_always_inline int zend_cpu_supports_sse3() {
} }
ZEND_NO_SANITIZE_ADDRESS 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 #if PHP_HAVE_BUILTIN_CPU_INIT
__builtin_cpu_init(); __builtin_cpu_init();
#endif #endif
@ -144,7 +144,7 @@ static zend_always_inline int zend_cpu_supports_ssse3() {
} }
ZEND_NO_SANITIZE_ADDRESS 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 #if PHP_HAVE_BUILTIN_CPU_INIT
__builtin_cpu_init(); __builtin_cpu_init();
#endif #endif
@ -152,7 +152,7 @@ static zend_always_inline int zend_cpu_supports_sse41() {
} }
ZEND_NO_SANITIZE_ADDRESS 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 #if PHP_HAVE_BUILTIN_CPU_INIT
__builtin_cpu_init(); __builtin_cpu_init();
#endif #endif
@ -160,7 +160,7 @@ static zend_always_inline int zend_cpu_supports_sse42() {
} }
ZEND_NO_SANITIZE_ADDRESS 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 #if PHP_HAVE_BUILTIN_CPU_INIT
__builtin_cpu_init(); __builtin_cpu_init();
#endif #endif
@ -168,7 +168,7 @@ static zend_always_inline int zend_cpu_supports_avx() {
} }
ZEND_NO_SANITIZE_ADDRESS 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 #if PHP_HAVE_BUILTIN_CPU_INIT
__builtin_cpu_init(); __builtin_cpu_init();
#endif #endif
@ -176,31 +176,31 @@ static zend_always_inline int zend_cpu_supports_avx2() {
} }
#else #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); 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); 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); 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); 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); 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); 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); return zend_cpu_supports(ZEND_CPU_FEATURE_AVX2);
} }
#endif #endif
@ -208,14 +208,14 @@ static zend_always_inline int zend_cpu_supports_avx2() {
/* __builtin_cpu_supports has pclmul from gcc9 */ /* __builtin_cpu_supports has pclmul from gcc9 */
#if PHP_HAVE_BUILTIN_CPU_SUPPORTS && (!defined(__GNUC__) || (ZEND_GCC_VERSION >= 9000)) #if PHP_HAVE_BUILTIN_CPU_SUPPORTS && (!defined(__GNUC__) || (ZEND_GCC_VERSION >= 9000))
ZEND_NO_SANITIZE_ADDRESS 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 #if PHP_HAVE_BUILTIN_CPU_INIT
__builtin_cpu_init(); __builtin_cpu_init();
#endif #endif
return __builtin_cpu_supports("pclmul"); return __builtin_cpu_supports("pclmul");
} }
#else #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); return zend_cpu_supports(ZEND_CPU_FEATURE_PCLMULQDQ);
} }
#endif #endif