dev-cpp/highway: drop 1.0.1-r1, 1.0.3, 1.0.3-r1, 1.0.5, 1.0.7

Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sam James
2025-11-26 21:24:45 +00:00
parent 7ff75e0e50
commit 95cc5d79a5
8 changed files with 0 additions and 353 deletions

View File

@@ -1,6 +1,3 @@
DIST highway-1.0.1.tar.gz 1730746 BLAKE2B 1c6185af91afe32fbb35285d49101d381ade7ded262cbcd3b0a8bf28b1924a76ac5a11423a1613068f3435fbbdd2ab0119aa8a1aafe2c3467e0aff1987f40aad SHA512 35b6287579b6248966b0d36fda1522fd6338523934b079e94e857f9de08354f20b99739c99d53249a3a6c583519da0e0ac5e06dfbe6e3a89262f627c75b59dd8
DIST highway-1.0.3.tar.gz 1770704 BLAKE2B 5454f7e661270f25d1439a2a3d649a0f9970d7e10e0cfe6818c470b00460cc77b044ca83e912c91a3582b4a60af5d8d0f7c0aba01762acd3c98b9692fa0b20c6 SHA512 fc419c862e1686b6278081e8e10da41dc2bdfbd386a29b59e21a57375a47d3eeb5c7297e3078c78007b212121d936640b192a26a16c941e73cf599f24e081021
DIST highway-1.0.5.tar.gz 2012129 BLAKE2B cd7673bc5e3a32551554c83c4e1beb31f9855d9ad9550f156be2fb9e93b20391bd98d4b3ed4d0edf0a2786e403dcca86f4a50d00c27f0e08242dc66e2e6b2262 SHA512 0886b60147b78807e40c4987438fe664b4fbc012c3c681a45f3043ee4077afa493cb75550bc18ae160d00e527bf15bcf1f14220ea8561a4baacb3317fc25e347
DIST highway-1.0.7.tar.gz 2055819 BLAKE2B da10291124dfdb5d9fd2b661f4d7e594c1e80e4159c9d704e1b4203facf7a0603e7ba808ffb1d8f1aba13d992df24abdb0ae89807329fffb67dee78b58574c28 SHA512 6ee5007ec13ac20b5d816b38a1b31c31a06678ca6d2ea090dd75e364f04cb2cf7ad8a82d1bdfff51079efa54b9a95fb554d62e6cc1bbf7d7e794cb272032d8f5
DIST highway-1.2.0.tar.gz 2234665 BLAKE2B b92f699c0f2f15fd9d223cf9546125b68a5c12ba9c84f8a3a990129f40bc56a266858e4f99eebe34e47c9904bd9164a138de1af8d405911d4b03bea67532489a SHA512 e94b9cc51c81157ccd6bf4d6163445b1acc1a2667dc2650d1c4aea0a5021989c08dafcb92564fcbecb9445ab2f1779051260be2f5b29c3932803b8a42ed2f824
DIST highway-1.3.0.tar.gz 3634890 BLAKE2B c8db95b003c1d00e87b42f3d7bf06005873c225ef950f7cb32057f6f690f219a400dcf68220a0dbbb72cdb12f13afabcd9c1b8e9c7e5eb007734bfe4b617c347 SHA512 8b9f4fdc4fa60b6817417959853f5b55bf86aec9d35fc6664dda15179cc55e0a9940f3a46011a84b95263ba342dc47ca1cb93b04481ff4b63d724cce1815d7c6

View File

@@ -1,123 +0,0 @@
https://github.com/google/highway/commit/dc63f813c465f3bf95cb5b98f01aeed28b81173c
https://github.com/google/highway/pull/1143
https://github.com/google/highway/issues/834
https://github.com/google/highway/issues/1032
https://bugs.gentoo.org/869077
From dc63f813c465f3bf95cb5b98f01aeed28b81173c Mon Sep 17 00:00:00 2001
From: Julien Olivain <ju.o@free.fr>
Date: Mon, 20 Feb 2023 23:22:28 +0100
Subject: [PATCH] Fix compilation for armv7 targets with vfp < v4 and gcc >= 8
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
When using a armv7 gcc >= 8 toolchain (like [1]) with Highway
configured with -DHWY_CMAKE_ARM7=OFF and HWY_ENABLE_CONTRIB=ON,
compilation fails with error:
In file included from /build/highway-1.0.3/hwy/ops/arm_neon-inl.h:33,
from /build/highway-1.0.3/hwy/highway.h:358,
from /build/highway-1.0.3/hwy/contrib/sort/shared-inl.h:104,
from /build/highway-1.0.3/hwy/contrib/sort/traits128-inl.h:27,
from /build/highway-1.0.3/hwy/contrib/sort/vqsort_128d.cc:23,
from /build/highway-1.0.3/hwy/foreach_target.h:81,
from /build/highway-1.0.3/hwy/contrib/sort/vqsort_128d.cc:20:
/toolchain/lib/gcc/arm-buildroot-linux-gnueabihf/12.2.0/include/arm_neon.h: In function void hwy::N_NEON::StoreU(Vec128<long long unsigned int, 2>, Full128<long long unsigned int>, uint64_t*):
/toolchain/lib/gcc/arm-buildroot-linux-gnueabihf/12.2.0/include/arm_neon.h:11052:1: error: inlining failed in call to always_inline void vst1q_u64(uint64_t*, uint64x2_t): target specific option mismatch
11052 | vst1q_u64 (uint64_t * __a, uint64x2_t __b)
| ^~~~~~~~~
/build/highway-1.0.3/hwy/ops/arm_neon-inl.h:2786:12: note: called from here
2786 | vst1q_u64(unaligned, v.raw);
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~
The same errors happen when configured with HWY_ENABLE_EXAMPLES=ON,
or from client libraries like libjxl (at other places).
The issue is that Highway Arm NEON ops have a dependency on the
Advanced SIMD (Neon) v2 and the VFPv4 floating-point instructions.
The SIMD (Neon) v1 and VFPv3 instructions are not supported.
There was several attempts to fix variants of this issues.
See #834 and #1032.
HWY_NEON target is selected only if __ARM_NEON is defined. See:
https://github.com/google/highway/blob/1.0.3/hwy/detect_targets.h#L251
This test is not sufficient since __ARM_NEON will be predefined in
any cases when Neon is enabled (neon-vfpv3, neon-vfpv4).
The issue is that HWY_CMAKE_ARM7=ON implies VFPv4 / NEON SIMD v2.
When setting HWY_CMAKE_ARM7=OFF, "neon-vfpv4" will not be forced,
but the code is still using intrinsics assuming VFPv4. Gcc will fail
with error because code cannot be generated for the selected
architecture.
This issue can be avoided by adding "-DHWY_DISABLED_TARGETS=HWY_NEON" in
CXXFLAGS. The problem with this solution is that every client program will
also need to do the same. This goes against the very purpose of
"hwy/detect_targets.h".
Technically, Armv7-a processors with VFPv4 can be detected using some
ACLE (Arm C Language Extensions [2]) predefined macros:
Basically, we want Highway to define HWY_NEON only when the target
supports SIMDv2/VFPv4 or higher. An older target with vfpv3 only
(e.g. Cortex-A8, A9, ...) would NOT define HWY_NEON, and therefore
would fallback on HWY_SCALAR implementation.
However, not all compiler completely support ACLE. There is also
several versions too. So we cannot easily rely on macros like
"__ARM_VFPV4__" (which clang predefine, but not gcc).
The alternative solution proposed in this patch, is to declare the
HWY_NEON target architecture as broken, when we detect the target is
Armv7-A, but mandatory features for vfpv4 (namely half-float, FMA)
are missing. Half-floats are tested using the macro __ARM_NEON_FP,
and the FMA with the macro __ARM_FEATURE_FMA. See ACLE [2]. The
intent of declaring the target as broken, rather than selecting
HWY_NEON only if vfpv4 features are detected is to remain a bit
conservative, since the detection is slithly inaccurate.
For a given compiler/cflags, predefined macros for Arm/ACLE can be
reviewed with commands like:
arm-linux-gnueabihf-gcc -mcpu=cortex-a9 -mfpu=neon-vfpv3 -Wp,-dM -E -c - < /dev/null | grep -Fi arm | sort
arm-linux-gnueabihf-gcc -mcpu=cortex-a7 -mfpu=neon-vfpv4 -Wp,-dM -E -c - < /dev/null | grep -Fi arm | sort
clang -target armv7a -mcpu=cortex-a9 -mfpu=neon-vfpv3 -mfloat-abi=hard -Wp,-dM -E -c - < /dev/null | grep -Fi arm | sort
clang -target armv7a -mcpu=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard -Wp,-dM -E -c - < /dev/null | grep -Fi arm | sort
The different values of __ARM_NEON_FP can be seen, depending which
"-mfpu" is passed. Same for __ARM_FEATURE_FMA.
[1] https://toolchains.bootlin.com/downloads/releases/toolchains/armv7-eabihf/tarballs/armv7-eabihf--glibc--bleeding-edge-2022.08-1.tar.bz2
[2] https://github.com/ARM-software/acle/
Signed-off-by: Julien Olivain <ju.o@free.fr>
---
hwy/detect_targets.h | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/hwy/detect_targets.h b/hwy/detect_targets.h
index 2beca95b..40ae7fe7 100644
--- a/hwy/detect_targets.h
+++ b/hwy/detect_targets.h
@@ -154,6 +154,16 @@
(defined(__BYTE_ORDER) && __BYTE_ORDER == __BIG_ENDIAN))
#define HWY_BROKEN_TARGETS (HWY_NEON)
+// armv7-a without a detected vfpv4 is not supported
+// (for example Cortex-A8, Cortex-A9)
+// vfpv4 always have neon half-float _and_ FMA.
+#elif HWY_ARCH_ARM_V7 && \
+ (__ARM_ARCH_PROFILE == 'A') && \
+ !defined(__ARM_VFPV4__) && \
+ !((__ARM_NEON_FP & 0x2 /* half-float */) && \
+ (__ARM_FEATURE_FMA == 1))
+#define HWY_BROKEN_TARGETS (HWY_NEON)
+
// SVE[2] require recent clang or gcc versions.
#elif (HWY_COMPILER_CLANG && HWY_COMPILER_CLANG < 1100) || \
(HWY_COMPILER_GCC_ACTUAL && HWY_COMPILER_GCC_ACTUAL < 1000)

View File

@@ -1,29 +0,0 @@
https://github.com/google/highway/commit/f3a33e8204b69f9e21b5fbd8036c11128cec0d2e.patch
https://github.com/google/highway/issues/1199
https://bugs.gentoo.org/900352
From f3a33e8204b69f9e21b5fbd8036c11128cec0d2e Mon Sep 17 00:00:00 2001
From: Jan Wassenberg <janwas@google.com>
Date: Tue, 7 Mar 2023 22:59:17 -0800
Subject: [PATCH] fix arm7 NEON detect, thanks @stefson. Fixes #1199
PiperOrigin-RevId: 514940076
---
hwy/targets.cc | 3 +++
1 file changed, 3 insertions(+)
diff --git a/hwy/targets.cc b/hwy/targets.cc
index dc4217c..24fcaf7 100644
--- a/hwy/targets.cc
+++ b/hwy/targets.cc
@@ -43,6 +43,9 @@
#endif // HWY_COMPILER_MSVC
#elif HWY_ARCH_ARM && HWY_OS_LINUX && !defined(TOOLCHAIN_MISS_SYS_AUXV_H)
+// sys/auxv.h does not always include asm/hwcap.h, or define HWCAP*, hence we
+// still include this directly. See #1199.
+#include <asm/hwcap.h>
#include <sys/auxv.h>
#endif // HWY_ARCH_*

View File

@@ -1,41 +0,0 @@
# Copyright 2021-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake-multilib
DESCRIPTION="Performance-portable, length-agnostic SIMD with runtime dispatch"
HOMEPAGE="https://github.com/google/highway"
if [[ "${PV}" == *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/google/highway.git"
else
SRC_URI="https://github.com/google/highway/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
fi
LICENSE="Apache-2.0"
SLOT="0"
IUSE="cpu_flags_arm_neon test"
DEPEND="test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] )"
RESTRICT="!test? ( test )"
PATCHES=(
"${FILESDIR}"/0001-fix-compile-for-armv7-targets-with-vfp4-and-lower.patch
)
multilib_src_configure() {
local mycmakeargs=(
-DHWY_CMAKE_ARM7=$(usex cpu_flags_arm_neon)
-DBUILD_TESTING=$(usex test)
-DHWY_WARNINGS_ARE_ERRORS=OFF
)
use test && mycmakeargs+=( "-DHWY_SYSTEM_GTEST=ON" )
cmake_src_configure
}

View File

@@ -1,42 +0,0 @@
# Copyright 2021-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake-multilib
DESCRIPTION="Performance-portable, length-agnostic SIMD with runtime dispatch"
HOMEPAGE="https://github.com/google/highway"
if [[ "${PV}" == *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/google/highway.git"
else
SRC_URI="https://github.com/google/highway/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
fi
LICENSE="Apache-2.0"
SLOT="0"
IUSE="cpu_flags_arm_neon test"
DEPEND="test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] )"
RESTRICT="!test? ( test )"
PATCHES=(
"${FILESDIR}"/0001-fix-compile-for-armv7-targets-with-vfp4-and-lower.patch
"${FILESDIR}"/0002-fix-armv7-neon-detect-via-asm-hwcap.patch
)
multilib_src_configure() {
local mycmakeargs=(
-DHWY_CMAKE_ARM7=$(usex cpu_flags_arm_neon)
-DBUILD_TESTING=$(usex test)
-DHWY_WARNINGS_ARE_ERRORS=OFF
)
use test && mycmakeargs+=( "-DHWY_SYSTEM_GTEST=ON" )
cmake_src_configure
}

View File

@@ -1,41 +0,0 @@
# Copyright 2021-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake-multilib
DESCRIPTION="Performance-portable, length-agnostic SIMD with runtime dispatch"
HOMEPAGE="https://github.com/google/highway"
if [[ "${PV}" == *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/google/highway.git"
else
SRC_URI="https://github.com/google/highway/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
fi
LICENSE="Apache-2.0"
SLOT="0"
IUSE="cpu_flags_arm_neon test"
DEPEND="test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] )"
RESTRICT="!test? ( test )"
PATCHES=(
"${FILESDIR}"/0001-fix-compile-for-armv7-targets-with-vfp4-and-lower.patch
)
multilib_src_configure() {
local mycmakeargs=(
-DHWY_CMAKE_ARM7=$(usex cpu_flags_arm_neon)
-DBUILD_TESTING=$(usex test)
-DHWY_WARNINGS_ARE_ERRORS=OFF
)
use test && mycmakeargs+=( "-DHWY_SYSTEM_GTEST=ON" )
cmake_src_configure
}

View File

@@ -1,37 +0,0 @@
# Copyright 2021-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake-multilib
DESCRIPTION="Performance-portable, length-agnostic SIMD with runtime dispatch"
HOMEPAGE="https://github.com/google/highway"
if [[ "${PV}" == *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/google/highway.git"
else
SRC_URI="https://github.com/google/highway/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
fi
LICENSE="Apache-2.0"
SLOT="0"
IUSE="cpu_flags_arm_neon test"
DEPEND="test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] )"
RESTRICT="!test? ( test )"
multilib_src_configure() {
local mycmakeargs=(
-DHWY_CMAKE_ARM7=$(usex cpu_flags_arm_neon)
-DBUILD_TESTING=$(usex test)
-DHWY_WARNINGS_ARE_ERRORS=OFF
)
use test && mycmakeargs+=( "-DHWY_SYSTEM_GTEST=ON" )
cmake_src_configure
}

View File

@@ -1,37 +0,0 @@
# Copyright 2021-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake-multilib
DESCRIPTION="Performance-portable, length-agnostic SIMD with runtime dispatch"
HOMEPAGE="https://github.com/google/highway"
if [[ "${PV}" == *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/google/highway.git"
else
SRC_URI="https://github.com/google/highway/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86"
fi
LICENSE="Apache-2.0"
SLOT="0"
IUSE="cpu_flags_arm_neon test"
DEPEND="test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] )"
RESTRICT="!test? ( test )"
multilib_src_configure() {
local mycmakeargs=(
-DHWY_CMAKE_ARM7=$(usex cpu_flags_arm_neon)
-DBUILD_TESTING=$(usex test)
-DHWY_WARNINGS_ARE_ERRORS=OFF
)
use test && mycmakeargs+=( "-DHWY_SYSTEM_GTEST=ON" )
cmake_src_configure
}