Assert that cpuinfo is initialized before use

And fix some incorrect indentation.
This commit is contained in:
Nikita Popov 2020-11-27 11:14:07 +01:00
parent 4a7ebb6d83
commit f35b194029
2 changed files with 4 additions and 3 deletions

View file

@ -99,6 +99,7 @@ void zend_cpu_startup(void)
} }
ZEND_API int zend_cpu_supports(zend_cpu_feature feature) { ZEND_API int zend_cpu_supports(zend_cpu_feature feature) {
ZEND_ASSERT(cpuinfo.initialized);
if (feature & ZEND_CPU_EDX_MASK) { if (feature & ZEND_CPU_EDX_MASK) {
return (cpuinfo.edx & (feature & ~ZEND_CPU_EDX_MASK)); return (cpuinfo.edx & (feature & ~ZEND_CPU_EDX_MASK));
} else if (feature & ZEND_CPU_EBX_MASK) { } else if (feature & ZEND_CPU_EBX_MASK) {

View file

@ -164,9 +164,9 @@ 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_pclmul() { static zend_always_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");
} }
#endif #endif
@ -208,7 +208,7 @@ static zend_always_inline int zend_cpu_supports_sse42() {
} }
static zend_always_inline int zend_cpu_supports_pclmul() { static zend_always_inline int zend_cpu_supports_pclmul() {
return zend_cpu_supports(ZEND_CPU_FEATURE_PCLMULQDQ); return zend_cpu_supports(ZEND_CPU_FEATURE_PCLMULQDQ);
} }
static zend_always_inline int zend_cpu_supports_avx() { static zend_always_inline int zend_cpu_supports_avx() {