Author: Dharanendiran <dharanendiran@timesys.com>
Date: Tue, 21 Jul 2026 14:58:24 +0530


---
 configure | 39 +++++++++++++++++++++++++--------------
 1 file changed, 25 insertions(+), 14 deletions(-)

diff --git a/configure b/configure
index 2721ce5d..9cb5b1c0 100755
--- a/configure
+++ b/configure
@@ -19066,13 +19066,18 @@ printf %s "checking for avx512 supports in compiler... " >&6; }
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-    #include <immintrin.h>
-      int main(void) {
-        __m512i mask = _mm512_set1_epi32(0x1);
-        char out[32];
-        _mm512_storeu_si512(out, _mm512_shuffle_epi8(mask, mask));
-        return 0;
-    }
+int main(void)
+{
+#if PHP_HAVE_BUILTIN_CPU_INIT
+    __builtin_cpu_init();
+#endif
+
+    return __builtin_cpu_supports("avx512f") &&
+           __builtin_cpu_supports("avx512dq") &&
+           __builtin_cpu_supports("avx512cd") &&
+           __builtin_cpu_supports("avx512bw") &&
+           __builtin_cpu_supports("avx512vl");
+}
 _ACEOF
 if ac_fn_c_try_link "$LINENO"
 then :
@@ -19106,13 +19111,19 @@ printf %s "checking for avx512 vbmi supports in compiler... " >&6; }
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-    #include <immintrin.h>
-      int main(void) {
-        __m512i mask = _mm512_set1_epi32(0x1);
-        char out[32];
-        _mm512_storeu_si512(out, _mm512_permutexvar_epi8(mask, mask));
-        return 0;
-    }
+int main(void)
+{
+#if PHP_HAVE_BUILTIN_CPU_INIT
+    __builtin_cpu_init();
+#endif
+
+    return __builtin_cpu_supports("avx512f") &&
+           __builtin_cpu_supports("avx512dq") &&
+           __builtin_cpu_supports("avx512cd") &&
+           __builtin_cpu_supports("avx512bw") &&
+           __builtin_cpu_supports("avx512vl") &&
+           __builtin_cpu_supports("avx512vbmi");
+}
 _ACEOF
 if ac_fn_c_try_link "$LINENO"
 then :
-- 
2.25.1

