From ff35a59548d12df4c0a51e991b70c85063ead639 Mon Sep 17 00:00:00 2001 From: Barinzaya Date: Mon, 14 Oct 2024 09:09:14 -0400 Subject: [PATCH] Fixed a theoretical edge case in AVX512VL support detection. --- core/sys/info/cpu_intel.odin | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/sys/info/cpu_intel.odin b/core/sys/info/cpu_intel.odin index d8ef21473..44272d93b 100644 --- a/core/sys/info/cpu_intel.odin +++ b/core/sys/info/cpu_intel.odin @@ -128,7 +128,11 @@ init_cpu_features :: proc "c" () { try_set(&set, .avx512_er, 27, ebx7) try_set(&set, .avx512_cd, 28, ebx7) try_set(&set, .avx512_bw, 30, ebx7) - try_set(&set, .avx512_vl, 31, ebx7) + + // XMM/YMM are also required for 128/256-bit instructions + if os_supports_avx { + try_set(&set, .avx512_vl, 31, ebx7) + } try_set(&set, .avx512_vbmi, 1, ecx7) try_set(&set, .avx512_vbmi2, 6, ecx7)