Browse Source

KIKIMR-21908: fix a bug in CPUID/AVX512F call
f5e4678c0171915199008af5bb54f47adf0b34d4

eivanov89 6 months ago
parent
commit
3b9d4493ce
1 changed files with 5 additions and 5 deletions
  1. 5 5
      util/system/cpu_id.cpp

+ 5 - 5
util/system/cpu_id.cpp

@@ -169,11 +169,11 @@ bool NX86::HaveBMI2() noexcept {
 bool NX86::HaveAVX512F() noexcept {
 #if defined(_x86_)
     // https://software.intel.com/en-us/articles/how-to-detect-knl-instruction-support
-    return HaveOSXSAVE()                           // implies HaveXSAVE()
-           && (_xgetbv(0) & 6u) == 6u              // XMM state and YMM state are enabled by OS
-           && ((_xgetbv(0) >> 5) & 7u) == 7u       // ZMM state is enabled by OS
-           && TX86CpuInfo(0x0).EAX >= 0x7          // leaf 7 is present
-           && ((TX86CpuInfo(0x7).EBX >> 16) & 1u); // AVX512F bit
+    return HaveOSXSAVE()                              // implies HaveXSAVE()
+           && (_xgetbv(0) & 6u) == 6u                 // XMM state and YMM state are enabled by OS
+           && ((_xgetbv(0) >> 5) & 7u) == 7u          // ZMM state is enabled by OS
+           && TX86CpuInfo(0x0).EAX >= 0x7             // leaf 7 is present
+           && ((TX86CpuInfo(0x7, 0).EBX >> 16) & 1u); // AVX512F bit
 #else
     return false;
 #endif