Sync from SUSE:SLFO:Main highway revision 06d0542101ceec6635b6a2fdb350cfba

This commit is contained in:
Adrian Schröter 2024-05-03 13:34:13 +02:00
commit 4c1fd6e62a
6 changed files with 316 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

BIN
1.0.7.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

1
baselibs.conf Normal file
View File

@ -0,0 +1 @@
libhwy1

142
highway.changes Normal file
View File

@ -0,0 +1,142 @@
-------------------------------------------------------------------
Fri Sep 22 01:30:49 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update to release 1.0.7
* Add LoadNOr, GatherIndexN, ScatterIndexN
* Add additional float<->int conversions
* Codegen improvements for 8-bit shift, PPC Compress/Expand
-------------------------------------------------------------------
Fri Aug 11 15:57:12 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update to release 1.0.6
* Add MaskedGatherIndex, MaskedScatterIndex, LoadN, StoreN,
SatWidenMulPairwiseAdd, SumOfMulQuadAccumulate,
PromoteUpperLowerTo.
* Add F64 for Wasm, F64 AbsDiff
* Validate all D args in x86 function signatures
-------------------------------------------------------------------
Wed Jul 19 16:33:36 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update to release 1.0.5
* Add Insert/ExtractBlock, BroadcastBlock/Lane, NumBlocks
* Add integer Le/Ge and [Neg]MulAdd, extend DemoteTo/PromoteTo
* Add Leading/TrailingZeroCount, HighestSetBitIndex, ReverseBits
* Add MaskedLoadOr, tuple Get/Set/Create, ReduceSum,
WidenMulPairwiseAdd
* Add [ZeroExtend]ResizeBitCast, BitwiseIfThenElse,
Find[Known]LastTrue
* Add AESRoundInv, AESKeyGenAssist
* Add contrib/math Atan2/SinCos, contrib/unroller
* Add fp16/bf16 support (Armv8, SVE, RVV), HWY_DYNAMIC_POINTER
* Add OrderedTruncate2To, Per4LaneBlockShuffle,
TwoTablesLookupLanes
* Add SlideUp/Down[Blocks/Lanes], Slide1Up/Down, ReverseLaneBytes
* Add SetBeforeFirst, SetAtOrBefore/AfterFirst, SetOnlyFirst
* Add 8-bit Reverse2/4/8, Shl/Shr, RotateRight, Reverse, Mul
* Add 8/16-bit DupEven/Odd, TableLookupLanes
* Add F64 ApproximateReciprocal[Sqrt], 32/64-bit SaturatedAdd/Sub
-------------------------------------------------------------------
Wed May 24 09:10:51 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update memory limiter from 900 to 1400/process.
-------------------------------------------------------------------
Fri May 12 19:37:01 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Add memory-constraints to build
-------------------------------------------------------------------
Wed May 10 10:35:45 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Add no-forced-inline.diff [boo#1211093]
-------------------------------------------------------------------
Fri Mar 17 17:09:46 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update to release 1.0.4
* Add PPC8..10, SSE2, AVX3_ZEN4, NEON_WITHOUT_AES targets
* Add Expand, LoadExpand, integer AbsDiff, SumsOf8AbsDiff
* Improved Half/Twice support, codegen for Shift*Same
* Faster KV128 sorting
* Update RISC-V V intrinsics for 1.0-draft
- Remove arm-disable-runtime-dispatch.patch (appears merged)
-------------------------------------------------------------------
Thu Jan 19 16:21:05 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update to release 1.0.3
* Add RearrangeToOddPlusEven, Xor3, 8-bit CompressStore,
HWY_ASSUME
* Add contrib/bit_pack for 8/16-bit lanes
* Update for new RVV intrinsics; faster WASM min/max and
extmul/q15mul
-------------------------------------------------------------------
Thu Dec 15 11:32:45 UTC 2022 - Simon Vogl <simon.vogl@gmx.net>
- Added missing baselibs.conf so that 32bit library packages
become available
-------------------------------------------------------------------
Wed Nov 23 23:15:10 UTC 2022 - Bruno Pitrus <brunopitrus@hotmail.com>
- Fix the library being built for incorrect microarchitecture
on armv{6,7}hl.
* add arm-disable-runtime-dispatch.patch to fix compiler error
- Actually run the testsuite.
-------------------------------------------------------------------
Tue Nov 8 14:21:25 UTC 2022 - Jan Engelhardt <jengelh@inai.de>
- Have armv7 build succeed again.
-------------------------------------------------------------------
Tue Nov 1 08:29:19 UTC 2022 - Jan Engelhardt <jengelh@inai.de>
- Update to release 1.0.2
* Add ExclusiveNeither, FindKnownFirstTrue, Ne128
* Add 16-bit SumOfLanes/ReorderWidenMulAccumulate/ReorderDemote2To
* Faster sort for low-entropy input, improved pivot selection
* Support static dispatch to SVE2_128 and SVE_256
- Leap just needs a modern gcc, no need for clang
-------------------------------------------------------------------
Wed Oct 26 16:47:07 UTC 2022 - Tom Mbrt <tom.mbrt@googlemail.com>
- Fix build on openSUSE Leap by using clang
-------------------------------------------------------------------
Thu Sep 22 09:20:14 UTC 2022 - Enrico Belleri <idesmi@protonmail.com>
- Update to 1.0.1:
* Add Eq128, i64 Mul, unsigned->float ConvertTo
* Faster sort for few unique keys, more robust pivot selection
* Fix: floating-point generator for sort tests, Min/MaxOfLanes for i16
* Fix: avoid always_inline in debug, link atomic
* GCC warnings: string.h, maybe-uninitialized, ignored-attributes
* GCC warnings: preprocessor int overflow, spurious use-after-free/overflow
* Doc: <=HWY_AVX3, Full32/64/128, how to use generic-inl
* ABI change: 64-bit target values, more room for expansion
* Add CompressBlocksNot, CompressNot, Lt128Upper, Min/Max128Upper, TruncateTo
* Add HWY_SVE2_128 target
* Sort speedups especially for 128-bit
* Documentation clarifications
* Faster NEON CountTrue/FindFirstTrue/AllFalse/AllTrue
* Improved SVE codegen
* Fix u16x8 ConcatEven/Odd, SSSE3 i64 Lt
* MSVC 2017 workarounds
* Support for runtime dispatch on Arm/GCC/Linux
-------------------------------------------------------------------
Wed Jul 13 10:09:10 UTC 2022 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Use GCC11 instead of default GCC12 to build on aarch64 Tumbleweed
until fixed upstream - https://github.com/google/highway/issues/776
-------------------------------------------------------------------
Sat Jul 9 12:19:06 UTC 2022 - Jan Engelhardt <jengelh@inai.de>
- Initial package (version 0.17.0) for build.opensuse.org

118
highway.spec Normal file
View File

@ -0,0 +1,118 @@
#
# spec file for package highway
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define lname libhwy1
Name: highway
Version: 1.0.7
Release: 0
Summary: C++ library providing SIMD/vector intrinsics
License: Apache-2.0 OR BSD-3-Clause
Group: Development/Libraries/C and C++
URL: https://github.com/google/highway
Source: https://github.com/google/highway/archive/refs/tags/%version.tar.gz
Source1: baselibs.conf
Patch1: no-forced-inline.diff
# https://github.com/google/highway/issues/776
%if 0%{?suse_version} > 1550
BuildRequires: c++_compiler
%else
BuildRequires: gcc10-c++
%endif
BuildRequires: cmake
BuildRequires: memory-constraints
BuildRequires: pkg-config
BuildRequires: pkgconfig(gtest)
%description
Highway is a C++ library that provides portable SIMD/vector intrinsics.
%package -n %lname
Summary: Efficient and performance-portable SIMD
Group: Development/Libraries/C and C++
%description -n %lname
Highway is a C++ library that provides portable SIMD/vector intrinsics.
%package devel
Summary: Development files for Highway
Group: Development/Libraries/C and C++
Requires: %lname = %version
%description devel
Highway is a C++ library that provides portable SIMD/vector intrinsics.
Development files for Highway.
%package devel-doc
Summary: Documentation for Highway
Group: Documentation/Other
BuildArch: noarch
%description devel-doc
Highway is a C++ library that provides portable SIMD/vector intrinsics.
Documentation for Highway development.
%prep
%autosetup -p1
%build
export CFLAGS="%optflags -DHWY_COMPILE_ALL_ATTAINABLE"
%ifarch ppc64 ppc64le
CFLAGS="$CFLAGS -maltivec"
%endif
export CXXFLAGS="$CFLAGS"
%if 0%{?suse_version} < 1550
export CXX=g++-10
%endif
%limit_build -m 1400
%cmake \
%ifarch %arm
-DHWY_CMAKE_ARM7:BOOL=OFF \
%endif
-DCMAKE_SKIP_RPATH:BOOL=OFF \
-DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON \
-DHWY_SYSTEM_GTEST:BOOL=ON
%cmake_build
%install
%cmake_install
%check
export CTEST_PARALLEL_LEVEL=2
%ctest --parallel 2 --verbose || :
%post -n %lname -p /sbin/ldconfig
%postun -n %lname -p /sbin/ldconfig
%files -n %lname
%_libdir/libhwy*.so.*
%license LICENSE
%files devel
%_includedir/hwy/
%_libdir/libhwy*.so
%_libdir/pkgconfig/*.pc
%_libdir/cmake/
%files devel-doc
%doc README.md g3doc/* hwy/examples/
%changelog

29
no-forced-inline.diff Normal file
View File

@ -0,0 +1,29 @@
From: Jan Engelhardt <jengelh@inai.de>
Date: 2023-05-10 12:35:31.076671893 +0200
References: https://bugzilla.suse.com/1211093
gcc on ppc64le says:
[ 265s] /home/abuild/rpmbuild/BUILD/highway-1.0.4/hwy/base.h:1029:14: error: inlining failed in call to 'always_inline' 'hwy::PreventElision<int&>(int&)void': target specific option mismatch
[ 265s] 1029 | HWY_API void PreventElision(T&& output) {
Given always_inline is not mandatory but conditional on __OPTIMIZE__, stop making it
mandatory for the __OPTIMIZE__ case too.
---
hwy/base.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: highway-1.0.4/hwy/base.h
===================================================================
--- highway-1.0.4.orig/hwy/base.h
+++ highway-1.0.4/hwy/base.h
@@ -65,7 +65,7 @@
// force inlining without optimization enabled creates very inefficient code
// that can cause compiler timeout
#ifdef __OPTIMIZE__
-#define HWY_INLINE inline __attribute__((always_inline))
+#define HWY_INLINE inline
#else
#define HWY_INLINE inline
#endif