From e6426d5f35e2fb9cc596fe69425c0338ca5b4496 Mon Sep 17 00:00:00 2001 From: Paolo Pedroni Date: Wed, 30 Mar 2022 18:03:13 +0200 Subject: [PATCH] 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 Signed-off-by: Matt Turner --- ...-fix-AVX512-detection-on-IceLakeClient.patch | 17 +++++++++++++++++ ...y-0.16.0.ebuild => highway-0.16.0-r1.ebuild} | 4 ++++ 2 files changed, 21 insertions(+) create mode 100644 dev-cpp/highway/files/highway-0.16.0-fix-AVX512-detection-on-IceLakeClient.patch rename dev-cpp/highway/{highway-0.16.0.ebuild => highway-0.16.0-r1.ebuild} (91%) 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 0000000000000..de157925c6efd --- /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 89b07a85a5871..52fb0b16d9619 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)