Mika Lindqvist
2c98ece180
[configure] Add support for RISC-V ZBC extension
Configure / ${{ matrix.name }} (mips-linux-gnu, mips-linux-gnu-gcc, --warn, Ubuntu GCC MIPS, ubuntu-latest, qemu-user gcc-mips-linux-gnu libc-dev-mips-cross) (push) Has been cancelled
Configure / ${{ matrix.name }} (mips64-linux-gnuabi64, mips64-linux-gnuabi64-gcc, --warn, Ubuntu GCC MIPS64, ubuntu-latest, qemu-user gcc-mips64-linux-gnuabi64 libc-dev-mips64-cross) (push) Has been cancelled
Configure / ${{ matrix.name }} (powerpc-linux-gnu, powerpc-linux-gnu-gcc, --warn --without-power8, Ubuntu GCC PPC No Power8, ubuntu-latest, qemu-user gcc-powerpc-linux-gnu libc-dev-powerpc-cross) (push) Has been cancelled
Configure / ${{ matrix.name }} (powerpc64le-linux-gnu, powerpc64le-linux-gnu-gcc, --warn, Ubuntu GCC PPC64LE, ubuntu-latest, qemu-user gcc-powerpc64le-linux-gnu libc-dev-ppc64el-cross) (push) Has been cancelled
Configure / ${{ matrix.name }} (riscv64-linux-gnu, riscv64-linux-gnu-gcc, --warn --without-rvv, Ubuntu GCC RISCV64 No RVV, ubuntu-latest, qemu-user crossbuild-essential-riscv64) (push) Has been cancelled
Configure / ${{ matrix.name }} (riscv64-linux-gnu, riscv64-linux-gnu-gcc, --warn --zlib-compat --without-optimizations --without-new-strategies, Ubuntu GCC RISCV64 Compat No Opt, ubuntu-latest, qemu-user crossbuild-essential-riscv64) (push) Has been cancelled
Configure / ${{ matrix.name }} (riscv64-linux-gnu, riscv64-linux-gnu-gcc, --warn, Ubuntu GCC RISCV64, ubuntu-latest, qemu-user crossbuild-essential-riscv64) (push) Has been cancelled
OSS-Fuzz / Fuzzing (push) Has been cancelled
Libpng / Ubuntu Clang (push) Has been cancelled
Link / Link zlib (push) Has been cancelled
Link / Link zlib-ng compat (push) Has been cancelled
Pigz / ${{ matrix.name }} (-DCMAKE_TOOLCHAIN_FILE=../../cmake/toolchain-aarch64.cmake, ubuntu_gcc_pigz_aarch64, Ubuntu GCC AARCH64, ubuntu-latest, qemu-user gcc-aarch64-linux-gnu libc-dev-arm64-cross) (push) Has been cancelled
Pigz / ${{ matrix.name }} (-DWITH_OPTIM=OFF, ubuntu_clang_pigz_no_optim, clang, llvm-cov-15 gcov, Ubuntu Clang No Optim, ubuntu-latest, llvm-15 llvm-15-tools) (push) Has been cancelled
Pigz / ${{ matrix.name }} (-DWITH_THREADS=OFF -DPIGZ_VERSION=v2.6, ubuntu_clang_pigz_no_threads, clang, llvm-cov-15 gcov, Ubuntu Clang No Threads, ubuntu-latest, llvm-15 llvm-15-tools) (push) Has been cancelled
Pigz / ${{ matrix.name }} (-DZLIB_SYMBOL_PREFIX=zTest_, ubuntu_gcc_pigz, gcc, Ubuntu GCC Symbol Prefix, ubuntu-latest) (push) Has been cancelled
Pigz / ${{ matrix.name }} (ubuntu_clang_pigz, clang, llvm-cov-15 gcov, Ubuntu Clang, ubuntu-latest, llvm-15 llvm-15-tools) (push) Has been cancelled
Pigz / ${{ matrix.name }} (ubuntu_gcc_pigz, gcc, Ubuntu GCC, ubuntu-latest) (push) Has been cancelled
Package Check / ${{ matrix.name }} (-DZLIB_SYMBOL_PREFIX=zTest_, clang, --sprefix=zTest_, clang++, macOS Clang Symbol Prefix, macOS-latest) (push) Has been cancelled
Package Check / ${{ matrix.name }} (-m32, -DCMAKE_C_FLAGS=-m32 -DCMAKE_CXX_FLAGS=-m32, gcc, g++, -m32, -m32, Ubuntu GCC -m32, ubuntu-latest, gcc-multilib g++-multilib) (push) Has been cancelled
Package Check / ${{ matrix.name }} (aarch64-linux-gnu, -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-aarch64.cmake, aarch64-linux-gnu-gcc, aarch64-linux-gnu-g++, Ubuntu GCC AARCH64, ubuntu-latest, qemu-user gcc-aarch64-linux-gnu g++-aarch64-linux-gnu libc6-dev-arm64-cross) (push) Has been cancelled
Package Check / ${{ matrix.name }} (arm-linux-gnueabihf, -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-armhf.cmake, arm-linux-gnueabihf-gcc, arm-linux-gnueabihf-g++, Ubuntu GCC ARM HF, ubuntu-latest, qemu-user gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf libc6-dev-armhf-c… (push) Has been cancelled
Package Check / ${{ matrix.name }} (clang, clang++, macOS Clang, macOS-latest) (push) Has been cancelled
Package Check / ${{ matrix.name }} (gcc, g++, Ubuntu GCC, ubuntu-latest) (push) Has been cancelled
Package Check / ${{ matrix.name }} (mips-linux-gnu, -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-mips.cmake, mips-linux-gnu-gcc, mips-linux-gnu-g++, Ubuntu GCC MIPS, ubuntu-latest, qemu-user gcc-mips-linux-gnu g++-mips-linux-gnu libc6-dev-mips-cross) (push) Has been cancelled
Package Check / ${{ matrix.name }} (mips64-linux-gnuabi64, -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-mips64.cmake, mips64-linux-gnuabi64-gcc, mips64-linux-gnuabi64-g++, Ubuntu GCC MIPS64, ubuntu-latest, qemu-user gcc-mips64-linux-gnuabi64 g++-mips64-linux-gnuabi64 libc6-… (push) Has been cancelled
Package Check / ${{ matrix.name }} (powerpc-linux-gnu, -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-powerpc.cmake, powerpc-linux-gnu-gcc, powerpc-linux-gnu-g++, Ubuntu GCC PPC, ubuntu-latest, qemu-user gcc-powerpc-linux-gnu g++-powerpc-linux-gnu libc6-dev-powerpc-cross) (push) Has been cancelled
Package Check / ${{ matrix.name }} (powerpc64le-linux-gnu, -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-powerpc64le.cmake, powerpc64le-linux-gnu-gcc, powerpc64le-linux-gnu-g++, Ubuntu GCC PPC64LE, ubuntu-latest, qemu-user gcc-powerpc64le-linux-gnu g++-powerpc64le-linux-gnu … (push) Has been cancelled
Package Check / ${{ matrix.name }} (riscv64-linux-gnu, -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-riscv.cmake, riscv64-linux-gnu-gcc, riscv64-linux-gnu-g++, Ubuntu GCC RISC-V, ubuntu-latest, qemu-user gcc-riscv64-linux-gnu g++-riscv64-linux-gnu libc6-dev-riscv64-cross) (push) Has been cancelled
CMake / Upload Coverage Reports (push) Has been cancelled
Pigz / Upload Coverage Reports (push) Has been cancelled
2025-05-28 13:32:14 +02:00
yintong
830995ff78
riscv: add bash configure script and related ci support for riscv
Configure / ${{ matrix.name }} (mips-linux-gnu, mips-linux-gnu-gcc, --warn, Ubuntu GCC MIPS, ubuntu-latest, qemu-user gcc-mips-linux-gnu libc-dev-mips-cross) (push) Has been cancelled
Configure / ${{ matrix.name }} (mips64-linux-gnuabi64, mips64-linux-gnuabi64-gcc, --warn, Ubuntu GCC MIPS64, ubuntu-latest, qemu-user gcc-mips64-linux-gnuabi64 libc-dev-mips64-cross) (push) Has been cancelled
Configure / ${{ matrix.name }} (powerpc-linux-gnu, powerpc-linux-gnu-gcc, --warn --without-power8, Ubuntu GCC PPC No Power8, ubuntu-latest, qemu-user gcc-powerpc-linux-gnu libc-dev-powerpc-cross) (push) Has been cancelled
Configure / ${{ matrix.name }} (powerpc64le-linux-gnu, powerpc64le-linux-gnu-gcc, --warn, Ubuntu GCC PPC64LE, ubuntu-latest, qemu-user gcc-powerpc64le-linux-gnu libc-dev-ppc64el-cross) (push) Has been cancelled
Configure / ${{ matrix.name }} (riscv64-linux-gnu, riscv64-linux-gnu-gcc, --warn --without-rvv, Ubuntu GCC RISCV64 No RVV, ubuntu-latest, qemu-user crossbuild-essential-riscv64) (push) Has been cancelled
Configure / ${{ matrix.name }} (riscv64-linux-gnu, riscv64-linux-gnu-gcc, --warn --zlib-compat --without-optimizations --without-new-strategies, Ubuntu GCC RISCV64 Compat No Opt, ubuntu-latest, qemu-user crossbuild-essential-riscv64) (push) Has been cancelled
Configure / ${{ matrix.name }} (riscv64-linux-gnu, riscv64-linux-gnu-gcc, --warn, Ubuntu GCC RISCV64, ubuntu-latest, qemu-user crossbuild-essential-riscv64) (push) Has been cancelled
OSS-Fuzz / Fuzzing (push) Has been cancelled
Libpng / Ubuntu Clang (push) Has been cancelled
Link / Link zlib (push) Has been cancelled
Link / Link zlib-ng compat (push) Has been cancelled
Pigz / ${{ matrix.name }} (-DCMAKE_TOOLCHAIN_FILE=../../cmake/toolchain-aarch64.cmake, ubuntu_gcc_pigz_aarch64, Ubuntu GCC AARCH64, ubuntu-latest, qemu-user gcc-aarch64-linux-gnu libc-dev-arm64-cross) (push) Has been cancelled
Pigz / ${{ matrix.name }} (-DWITH_OPTIM=OFF, ubuntu_clang_pigz_no_optim, clang, llvm-cov-15 gcov, Ubuntu Clang No Optim, ubuntu-latest, llvm-15 llvm-15-tools) (push) Has been cancelled
Pigz / ${{ matrix.name }} (-DWITH_THREADS=OFF -DPIGZ_VERSION=v2.6, ubuntu_clang_pigz_no_threads, clang, llvm-cov-15 gcov, Ubuntu Clang No Threads, ubuntu-latest, llvm-15 llvm-15-tools) (push) Has been cancelled
Pigz / ${{ matrix.name }} (-DZLIB_SYMBOL_PREFIX=zTest_, ubuntu_gcc_pigz, gcc, Ubuntu GCC Symbol Prefix, ubuntu-latest) (push) Has been cancelled
Pigz / ${{ matrix.name }} (ubuntu_clang_pigz, clang, llvm-cov-15 gcov, Ubuntu Clang, ubuntu-latest, llvm-15 llvm-15-tools) (push) Has been cancelled
Pigz / ${{ matrix.name }} (ubuntu_gcc_pigz, gcc, Ubuntu GCC, ubuntu-latest) (push) Has been cancelled
Package Check / ${{ matrix.name }} (-DZLIB_SYMBOL_PREFIX=zTest_, clang, --sprefix=zTest_, clang++, macOS Clang Symbol Prefix, macOS-latest) (push) Has been cancelled
Package Check / ${{ matrix.name }} (-m32, -DCMAKE_C_FLAGS=-m32 -DCMAKE_CXX_FLAGS=-m32, gcc, g++, -m32, -m32, Ubuntu GCC -m32, ubuntu-latest, gcc-multilib g++-multilib) (push) Has been cancelled
Package Check / ${{ matrix.name }} (aarch64-linux-gnu, -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-aarch64.cmake, aarch64-linux-gnu-gcc, aarch64-linux-gnu-g++, Ubuntu GCC AARCH64, ubuntu-latest, qemu-user gcc-aarch64-linux-gnu g++-aarch64-linux-gnu libc6-dev-arm64-cross) (push) Has been cancelled
Package Check / ${{ matrix.name }} (arm-linux-gnueabihf, -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-armhf.cmake, arm-linux-gnueabihf-gcc, arm-linux-gnueabihf-g++, Ubuntu GCC ARM HF, ubuntu-latest, qemu-user gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf libc6-dev-armhf-c… (push) Has been cancelled
Package Check / ${{ matrix.name }} (clang, clang++, macOS Clang, macOS-latest) (push) Has been cancelled
Package Check / ${{ matrix.name }} (gcc, g++, Ubuntu GCC, ubuntu-latest) (push) Has been cancelled
Package Check / ${{ matrix.name }} (mips-linux-gnu, -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-mips.cmake, mips-linux-gnu-gcc, mips-linux-gnu-g++, Ubuntu GCC MIPS, ubuntu-latest, qemu-user gcc-mips-linux-gnu g++-mips-linux-gnu libc6-dev-mips-cross) (push) Has been cancelled
Package Check / ${{ matrix.name }} (mips64-linux-gnuabi64, -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-mips64.cmake, mips64-linux-gnuabi64-gcc, mips64-linux-gnuabi64-g++, Ubuntu GCC MIPS64, ubuntu-latest, qemu-user gcc-mips64-linux-gnuabi64 g++-mips64-linux-gnuabi64 libc6-… (push) Has been cancelled
Package Check / ${{ matrix.name }} (powerpc-linux-gnu, -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-powerpc.cmake, powerpc-linux-gnu-gcc, powerpc-linux-gnu-g++, Ubuntu GCC PPC, ubuntu-latest, qemu-user gcc-powerpc-linux-gnu g++-powerpc-linux-gnu libc6-dev-powerpc-cross) (push) Has been cancelled
Package Check / ${{ matrix.name }} (powerpc64le-linux-gnu, -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-powerpc64le.cmake, powerpc64le-linux-gnu-gcc, powerpc64le-linux-gnu-g++, Ubuntu GCC PPC64LE, ubuntu-latest, qemu-user gcc-powerpc64le-linux-gnu g++-powerpc64le-linux-gnu … (push) Has been cancelled
Package Check / ${{ matrix.name }} (riscv64-linux-gnu, -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-riscv.cmake, riscv64-linux-gnu-gcc, riscv64-linux-gnu-g++, Ubuntu GCC RISC-V, ubuntu-latest, qemu-user gcc-riscv64-linux-gnu g++-riscv64-linux-gnu libc6-dev-riscv64-cross) (push) Has been cancelled
CMake / Upload Coverage Reports (push) Has been cancelled
Pigz / Upload Coverage Reports (push) Has been cancelled
2025-05-01 22:59:25 +02:00
Adam Stylinski
46fc33f39d
SSE4.1 optimized chorba
...
This is ~25-30% faster than the SSE2 variant on a core2 quad. The main reason
for this has to do with the fact that, while incurring far fewer shifts,
an entirely separate stack buffer has to be managed that is the size of
the L1 cache on most CPUs. This was one of the main reasons the 32k
specialized function was slower for the scalar counterpart, despite auto
vectorizing. The auto vectorized loop was setting up the stack buffer at
unaligned offsets, which is detrimental to performance pre-nehalem.
Additionally, we were losing a fair bit of time to the zero
initialization, which we are now doing more selectively.
There are a ton of loads and stores happening, and for sure we are bound
on the fill buffer + store forwarding. An SSE2 version of this code is
probably possible by simply replacing the shifts with unpacks with zero
and the palignr's with shufpd's. I'm just not sure it'll be all that worth
it, though. We are gating against SSE4.1 not because we are using specifically
a 4.1 instruction but because that marks when Wolfdale came out and palignr
became a lot faster.
2025-04-15 14:11:12 +02:00
Detlef Riekenberg
5a232688e1
port: Use __cpuid only, when available.
...
Add a fallback, when __cpuid is not available
2025-04-15 14:08:46 +02:00
Hans Kristian Rosbach
00a3168d5d
Add AVX512 version of compare256
...
Improve the speed of sub-16 byte matches by first using a
128-bit intrinsic, after that use only 512-bit intrinsics.
This requires us to overlap on the last run, but this is cheaper than
processing the tail using a 256-bit and then a 128-bit run.
Change benchmark steps to avoid it hitting chunk boundaries
of one or the other function as much, this gives more fair benchmarks.
2025-04-14 23:28:38 +02:00
Cristi Vîjdea
b2a0ffb5e9
Pass POSIX_C_SOURCE for std::alligned_alloc try_compile checks
...
On FreeBSD 11, definining POSIX_C_SOURCE to a lower level has the efect of inhibiting the language level (__ISO_C_VISIBLE ) to be lower than C11, even in the presence of -std=c11
Since the check_symbol_exists runs without setting POSIX_C_SOURCE, this means that we will spuriously define HAVE_ALIGNED_ALLOC, while in the actual build it is not going to be defined
ref: https://github.com/freebsd/freebsd-src/blob/stable/11/sys/sys/cdefs.h#L738
2025-04-07 23:36:27 +02:00
Adam Stylinski
724dc0cfb4
Explicit SSE2 vectorization of Chorba CRC method
...
The version that's currently in the generic implementation for 32768
byte buffers leverages the stack. It manages to autovectorize but
unfortunately the trips to the stack hurt its performance for CPUs which
need this the most. This version is explicitly SIMD vectorized and
doesn't use trips to the stack. In my testing it's ~10% faster than the
"small" variant, and about 42% faster than the "32768" variant.
2025-03-28 20:43:59 +01:00
Detlef Riekenberg
89f90d3e9c
ports: Use memalign or _aligned_malloc, when available. Fallback to malloc
...
Using "_WIN32" to decide,
if the MSVC extensions _aligned_malloc / _aligned_free are available
is a bug that breaks other Compiler on Windows. (OpenWatcom as Example)
Regards ... Detlef
2025-03-17 16:36:12 +01:00
Vladislav Shchapov
85223403d9
Change flags to "-Werror=unguarded-availability", "-Werror=unguarded-availability-new" and add it to maybe affected symbol checking
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2025-03-01 16:45:04 +01:00
Vladislav Shchapov
c3bd3d7645
Restore support macOS prior 10.15
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2025-03-01 16:45:04 +01:00
Andrew Murray
e8d8049382
Added --installnamedir
2025-02-16 18:15:43 +01:00
Cameron Cawley
aecfe160c5
Provide --without-acle/-DWITH_ACLE options for backward compatibility
2025-02-12 13:54:30 +01:00
Cameron Cawley
231c4b3a64
Use -Wa,-march with older ARM toolchains
2025-02-12 13:54:30 +01:00
Cameron Cawley
7ea78f12c8
Provide an inline asm fallback for the ARMv8 intrinsics
2025-02-12 13:54:30 +01:00
Cameron Cawley
721c488aff
Rename most ACLE references to ARMv8
2025-02-12 13:54:30 +01:00
Vladislav Shchapov
05305edee8
Remove unused include directories
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2025-01-27 12:38:30 +01:00
Hans Kristian Rosbach
509f6b5818
Since we long ago make unaligned reads safe (by using memcpy or intrinsics),
...
it is time to replace the UNALIGNED_OK checks that have since really only been
used to select the optimal comparison sizes for the arch instead.
2024-12-21 00:46:48 +01:00
Hans Kristian Rosbach
037ab0fd35
Revert "Since we long ago make unaligned reads safe (by using memcpy or intrinsics),"
...
This reverts commit 80fffd72f3
.
It was mistakenly pushed to develop instead of going through a PR and the appropriate reviews.
2024-12-17 23:09:31 +01:00
Hans Kristian Rosbach
80fffd72f3
Since we long ago make unaligned reads safe (by using memcpy or intrinsics),
...
it is time to replace the UNALIGNED_OK checks that have since really only been
used to select the optimal comparison sizes for the arch instead.
2024-12-17 23:02:32 +01:00
Adam Stylinski
7020cb3f74
Enable AVX2 functions to be built with BMI2 instructions
...
While these are technically different instructions, no such CPU exists
that has AVX2 that doesn't have BMI2. Enabling BMI2 allows us to
eliminate several flag stalls by having flagless versions of shifts, and
allows us to not clobber and move around GPRs so much in scalar code.
There's usually a sizeable benefit for enabling it. Since we're building
with BMI2 for AVX2 functions, let's also just make sure the CPU claims
to support it (just to cover our bases).
2024-12-07 22:32:29 +01:00
Adam Stylinski
0ed5ac8289
Make an AVX512 inflate fast with low cost masked writes
...
This takes advantage of the fact that on AVX512 architectures, masked
moves are incredibly cheap. There are many places where we have to
fallback to the safe C implementation of chunkcopy_safe because of the
assumed overwriting that occurs. We're to sidestep most of the branching
needed here by simply controlling the bounds of our writes with a mask.
2024-11-20 22:14:44 +01:00
Mika Lindqvist
1ec47b7245
configure: add --mandir to override $mandir on command line.
2024-10-10 13:21:32 +02:00
Mika Lindqvist
22a4cbbc5a
configure: Fix linker flags for Haiku.
2024-10-10 13:21:20 +02:00
Alexander Smorkalov
4549279dbf
Fixed false positive HAVE_ARMV6_INTRIN value on old ARM platforms.
2024-09-11 12:40:39 +02:00
Harmen Stoppels
5732b39b1c
don't use zlib-ng's -Wl,--version-script in tests ( #1750 )
...
lld 18 errors when a version script assigns a version to a symbol that
is not defined in the object files. Therefore configure scripts should
not use zlib-ng's version script -- all tests will fail.
Also test whether the linker supports the flag instead of assuming.
2024-06-28 13:21:33 +02:00
Un1q32
c5b4b35106
Improved ACLE check ( #1727 )
...
Co-authored-by: Cameron Cawley <ccawley2011@gmail.com>
2024-06-13 13:23:29 +02:00
Hans Kristian Rosbach
5b208676f8
Clean up memory allocation functions that are no longer used, and its tests.
...
Co-authored-by: Ilya Leoshkevich <iii@linux.ibm.com>
2024-05-28 16:35:13 +02:00
Hans Kristian Rosbach
130055e8d1
Rewrite deflate memory allocation.
...
Deflate used to call allocate 5 times during init.
- 5 calls to external alloc function now becomes 1
- Handling alignment of allocated buffers is simplified
- Efforts to align the allocated buffer now needs to happen only once.
- Individual buffers are ordered so that they have natural sequential alignment.
- Due to reduced losses to alignment, we allocate less memory in total.
- While doing alloc(), we now store pointer to corresponding free(), avoiding crashes
with applications that incorrectly set alloc/free pointers after running init function.
- Removed need for extra padding after window, chunked reads can now go beyond the window
buffer without causing a segfault.
Co-authored-by: Ilya Leoshkevich <iii@linux.ibm.com>
2024-05-28 16:35:13 +02:00
Vladislav Shchapov
d27ff46e8a
Fix -std option in configure script
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2024-05-06 22:50:52 +02:00
Un1q32
ee618f6f19
make darwin cross compilation possible
...
https://github.com/madler/zlib/pull/789
2024-05-06 10:03:57 +02:00
Hans Kristian Rosbach
9953f12e21
Move update_hash(), insert_string() and quick_insert_string() out of functable
...
and remove SSE4.2 and ACLE optimizations. The functable overhead is higher
than the benefit from using optimized functions.
2024-02-23 13:34:10 +01:00
Mika T. Lindqvist
9d945f0d71
Fix xsave intrinsic test for clang, and gcc 8.2 or later, and icc.
2024-02-18 10:10:45 +01:00
Mark Adler
13a775881a
Remove -w compile option in configure test.
...
Not all C compilers have a -w option.
madler/zlib#88ec24670e9c484219392def5f2f4b5e3f839db3
2024-02-07 19:15:56 +01:00
Nathan Moinvaziri
8ef6098a65
Enable LIT_MEM by default expect when WITH_REDUCED_MEM is ON.
2024-02-07 19:15:56 +01:00
Vladislav Shchapov
44e6bfcc5b
Remove unused macro X86_MASK_INTRIN.
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2024-01-25 10:21:49 +01:00
Vladislav Shchapov
408ad95795
Reorder in which intrinsics support is checked.
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2024-01-25 10:21:49 +01:00
Hans Kristian Rosbach
4e132cc0ec
Move adler32 C fallbacks to arch/generic
2024-01-19 15:22:34 +01:00
Hans Kristian Rosbach
6f38b4c5fc
Simplify includes
2024-01-19 15:22:34 +01:00
Hans Kristian Rosbach
0993a7e96c
Don't attempt ARMv6 detection on AARCH64.
2023-12-29 15:51:27 +01:00
Vladislav Shchapov
dfced56c57
Remove unused Z_TLS and HAVE_THREAD_LOCAL
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2023-12-25 20:47:24 +01:00
Mika T. Lindqvist
6592accb25
[configure] Propagate -DWITH_GZFILEOP to pkgconfig.
2023-11-08 11:34:53 +01:00
Hajin Jang
f9228d8475
Support llvm-mingw toolchain
...
zlib-ng requires some patches to make it compilable on LLVM-mingw.
1. Add -Wno-pedantic-ms-format only if a toolchain is MinGW GCC.
- llvm-mingw does not support it, causing build to break.
2. Include arm_neon.h instead of arm64_neon.h (aarch64 only).
- arm64_neon.h is MSVC only.
- GCC, Clang does not have arm64_neon.h but arm_neon.h on aarch64.
- Also applied to configure and detect-instrinsics.cmake
2023-09-28 00:15:12 +02:00
Cameron Cawley
16fe1f885e
Add ARMv6 version of slide_hash
2023-09-16 11:11:18 +02:00
Cameron Cawley
1c1e728637
Use GCC cpuid intrinsics with MinGW
2023-09-16 11:08:25 +02:00
Nathan Moinvaziri
4838f0e967
Merge 32-bit arm hardware flag detection sections in configure and cmake
2023-09-13 11:55:01 +02:00
Nathan Moinvaziri
881aa3e60e
Merge both without_optimizations sections in configure for arm.
2023-09-13 11:55:01 +02:00
Nathan Moinvaziri
f0ffa3d57a
Clean up detection on ARM variants and allow ACLE on all ARM archs.
2023-09-13 11:55:01 +02:00
Harmen Stoppels
ca2d4e5adc
cast _xgetbv to int to silence conversion warning
2023-09-13 11:54:42 +02:00
Harmen Stoppels
cf029967c2
another
2023-09-13 11:54:42 +02:00
Harmen Stoppels
b7ac847935
configure: ensure instructions are not optimized out before assembler is run
2023-09-13 11:54:42 +02:00