diff options
Diffstat (limited to 'dev-cpp/highway/files/highway-0.16.0-fix-AVX512-detection-on-IceLakeClient.patch')
-rw-r--r-- | dev-cpp/highway/files/highway-0.16.0-fix-AVX512-detection-on-IceLakeClient.patch | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/dev-cpp/highway/files/highway-0.16.0-fix-AVX512-detection-on-IceLakeClient.patch b/dev-cpp/highway/files/highway-0.16.0-fix-AVX512-detection-on-IceLakeClient.patch new file mode 100644 index 000000000000..de157925c6ef --- /dev/null +++ b/dev-cpp/highway/files/highway-0.16.0-fix-AVX512-detection-on-IceLakeClient.patch @@ -0,0 +1,17 @@ +https://github.com/google/highway/commit/daf441c78191b3433410498d27a5bfdfdf93a142 + +diff --git a/hwy/targets.cc b/hwy/targets.cc +index 2a0ab4ef..7e7e2d79 100644 +--- a/hwy/targets.cc ++++ b/hwy/targets.cc +@@ -328,8 +328,8 @@ uint32_t SupportedTargets() { + if (!IsBitSet(xcr0, 2)) { + bits &= ~uint32_t(HWY_AVX2 | HWY_AVX3 | HWY_AVX3_DL); + } +- // ZMM + opmask +- if ((xcr0 & 0x70) != 0x70) { ++ // opmask, ZMM lo/hi ++ if (!IsBitSet(xcr0, 5) || !IsBitSet(xcr0, 6) || !IsBitSet(xcr0, 7)) { + bits &= ~uint32_t(HWY_AVX3 | HWY_AVX3_DL); + } + } |