diff options
author | Tim Rowley <[email protected]> | 2017-07-19 14:18:49 -0500 |
---|---|---|
committer | Tim Rowley <[email protected]> | 2017-07-19 15:12:07 -0500 |
commit | 131b9f644cbe70728ba02878483e22459400bcb4 (patch) | |
tree | d0d7ae4efdbc7a0caabfdaa3e24ab8db5a35a115 | |
parent | 19c101f704b609eb76d24db230b706a48db155a6 (diff) |
gallium/util: fix nondeterministic avx512 detection
cpuid.7 requires cx=0 to select the extended feature leaf.
avx512 detection was using the non-indexed cpuid resulting
in random non-detection of avx512.
Cc: [email protected]
Reviewed-by: Roland Scheidegger <[email protected]>
-rw-r--r-- | src/gallium/auxiliary/util/u_cpu_detect.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/util/u_cpu_detect.c b/src/gallium/auxiliary/util/u_cpu_detect.c index 3d6ccb58223..4e71041bc9a 100644 --- a/src/gallium/auxiliary/util/u_cpu_detect.c +++ b/src/gallium/auxiliary/util/u_cpu_detect.c @@ -438,7 +438,7 @@ util_cpu_detect(void) (xgetbv() & (0x7 << 5)) && // OPMASK: upper-256 enabled by OS ((xgetbv() & 6) == 6)) { // XMM/YMM enabled by OS uint32_t regs3[4]; - cpuid(0x00000007, regs3); + cpuid_count(0x00000007, 0x00000000, regs3); util_cpu_caps.has_avx512f = (regs3[1] >> 16) & 1; util_cpu_caps.has_avx512dq = (regs3[1] >> 17) & 1; util_cpu_caps.has_avx512ifma = (regs3[1] >> 21) & 1; |