dev-cpp/highway: Fix detection of AVX512 for IceLake Client CPUs

Closes: https://bugs.gentoo.org/836373
Closes: https://github.com/gentoo/gentoo/pull/24819
Signed-off-by: Paolo Pedroni <paolo.pedroni@iol.it>
Signed-off-by: Matt Turner <mattst88@gentoo.org>
This commit is contained in:
Paolo Pedroni
2022-03-30 18:03:13 +02:00
committed by Matt Turner
parent 7f09bea6f1
commit e6426d5f35
2 changed files with 21 additions and 0 deletions

View File

@@ -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);
}
}

View File

@@ -25,6 +25,10 @@ DEPEND="test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] )"
RESTRICT="!test? ( test )"
PATCHES=(
"${FILESDIR}"/${P}-fix-AVX512-detection-on-IceLakeClient.patch
)
multilib_src_configure() {
local mycmakeargs=(
-DBUILD_TESTING=$(usex test)