Explorar o código

Fixed a theoretical edge case in AVX512VL support detection.

Barinzaya hai 10 meses
pai
achega
ff35a59548
Modificáronse 1 ficheiros con 5 adicións e 1 borrados
  1. 5 1
      core/sys/info/cpu_intel.odin

+ 5 - 1
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)