commit:     e6426d5f35e2fb9cc596fe69425c0338ca5b4496
Author:     Paolo Pedroni <paolo.pedroni <AT> iol <DOT> it>
AuthorDate: Wed Mar 30 16:03:13 2022 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Wed Apr  6 06:26:46 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e6426d5f

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 <AT> iol.it>
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 ...y-0.16.0-fix-AVX512-detection-on-IceLakeClient.patch | 17 +++++++++++++++++
 .../{highway-0.16.0.ebuild => highway-0.16.0-r1.ebuild} |  4 ++++
 2 files changed, 21 insertions(+)

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

diff --git a/dev-cpp/highway/highway-0.16.0.ebuild 
b/dev-cpp/highway/highway-0.16.0-r1.ebuild
similarity index 91%
rename from dev-cpp/highway/highway-0.16.0.ebuild
rename to dev-cpp/highway/highway-0.16.0-r1.ebuild
index 89b07a85a587..52fb0b16d961 100644
--- a/dev-cpp/highway/highway-0.16.0.ebuild
+++ b/dev-cpp/highway/highway-0.16.0-r1.ebuild
@@ -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)

Reply via email to