From: Nathan Moinvaziri Date: Sun, 11 Jan 2026 00:22:43 +0000 (-0800) Subject: Remove compiler check for builtin_bitreverse16 since we check in code X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e00f789289d9615bc2a029201c971a68c4ea0ab9;p=thirdparty%2Fzlib-ng.git Remove compiler check for builtin_bitreverse16 since we check in code And we have a generic fallback --- diff --git a/CMakeLists.txt b/CMakeLists.txt index c3e49c683..1886413e0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -647,24 +647,6 @@ if(HAVE_BUILTIN_CTZLL) endif() set(CMAKE_REQUIRED_FLAGS) -# -# check for __builtin_bitreverse16() support in the compiler -# -set(CMAKE_REQUIRED_FLAGS ${ZNOLTOFLAG}) -check_c_source_compiles( - "int main(void) { - unsigned short val = 0x1234; - unsigned short test = __builtin_bitreverse16(val); - (void)test; - return 0; - }" - HAVE_BUILTIN_BITREVERSE16 -) -if(HAVE_BUILTIN_BITREVERSE16) - add_definitions(-DHAVE_BUILTIN_BITREVERSE16) -endif() -set(CMAKE_REQUIRED_FLAGS) - # # check for ptrdiff_t support # diff --git a/configure b/configure index 7e998f2a0..c3ef99dd0 100755 --- a/configure +++ b/configure @@ -1168,19 +1168,6 @@ else echo "Checking for __builtin_ctzll ... No." | tee -a configure.log fi -# Check for __builtin_bitreverse16() support in compiler -cat > $test.c << EOF -unsigned short f(unsigned short x) { return __builtin_bitreverse16(x); } -int main(void) { return 0; } -EOF -if try ${CC} ${CFLAGS} $test.c $LDSHAREDLIBC; then - echo "Checking for __builtin_bitreverse16 ... Yes." | tee -a configure.log - CFLAGS="$CFLAGS -DHAVE_BUILTIN_BITREVERSE16" - SFLAGS="$SFLAGS -DHAVE_BUILTIN_BITREVERSE16" -else - echo "Checking for __builtin_bitreverse16 ... No." | tee -a configure.log -fi - check_avx2_intrinsics() { # Check whether compiler supports AVX2 intrinsics cat > $test.c << EOF diff --git a/fallback_builtins.h b/fallback_builtins.h index 0e6a1f1e1..b129f9627 100644 --- a/fallback_builtins.h +++ b/fallback_builtins.h @@ -42,15 +42,7 @@ Z_FORCEINLINE static int __builtin_ctzll(unsigned long long value) { #endif // _MSC_VER && !__clang__ -/* Double-check whether or not __builtin_bitreverse16 is available. It - may not be defined unless compiled for arch. */ -#if !defined(HAVE_BUILTIN_BITREVERSE16) && defined(__has_builtin) -# if __has_builtin(__builtin_bitreverse16) -# define HAVE_BUILTIN_BITREVERSE16 -# endif -#endif - -#ifndef HAVE_BUILTIN_BITREVERSE16 +#if !(defined(__has_builtin) && __has_builtin(__builtin_bitreverse16)) # ifdef __loongarch__ /* LoongArch bit reversal for 16-bit values */ @@ -71,7 +63,6 @@ Z_FORCEINLINE static uint16_t __builtin_bitreverse16(uint16_t value) { # undef bitrev8 # endif -#define HAVE_BUILTIN_BITREVERSE16 -#endif +#endif // __builtin_bitreverse16 #endif // include guard FALLBACK_BUILTINS_H