From: Mika T. Lindqvist Date: Tue, 25 Jan 2022 14:11:39 +0000 (+0200) Subject: [ARM] rename cmake/configure macros check_{acle,neon}_intrinsics to check_{acle,neon... X-Git-Tag: 2.1.0-beta1~405 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=da7622bc8719c2b872a733bcddf1a0f42d8c7475;p=thirdparty%2Fzlib-ng.git [ARM] rename cmake/configure macros check_{acle,neon}_intrinsics to check_{acle,neon}_compiler_flag * Currently these macros only check that the compiler flag(s) are supported, not that the compiler supports the actual intrinsics --- diff --git a/CMakeLists.txt b/CMakeLists.txt index dfdc98bbb..f15d1f9cb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -603,8 +603,8 @@ if(WITH_OPTIM) list(APPEND ZLIB_ARCH_HDRS ${ARCHDIR}/arm.h) list(APPEND ZLIB_ARCH_SRCS ${ARCHDIR}/armfeature.c) if(WITH_ACLE AND NOT MSVC AND NOT "${ARCH}" MATCHES "armv[2-7]") - check_acle_intrinsics() - if(HAVE_ACLE_INTRIN) + check_acle_compiler_flag() + if(HAVE_ACLE_FLAG) add_definitions(-DARM_ACLE_CRC_HASH) set(ACLE_SRCS ${ARCHDIR}/crc32_acle.c ${ARCHDIR}/insert_string_acle.c) set_property(SOURCE ${ACLE_SRCS} PROPERTY COMPILE_FLAGS "${ACLEFLAG} ${NOLTOFLAG}") @@ -617,7 +617,7 @@ if(WITH_OPTIM) set(WITH_ACLE OFF) endif() if(WITH_NEON) - check_neon_intrinsics() + check_neon_compiler_flag() if(MFPU_NEON_AVAILABLE) add_definitions(-DARM_NEON_ADLER32 -DARM_NEON_CHUNKSET -DARM_NEON_SLIDEHASH) set(NEON_SRCS ${ARCHDIR}/adler32_neon.c ${ARCHDIR}/chunkset_neon.c ${ARCHDIR}/slide_hash_neon.c) diff --git a/cmake/detect-intrinsics.cmake b/cmake/detect-intrinsics.cmake index 429383cd7..f7d27dc2b 100644 --- a/cmake/detect-intrinsics.cmake +++ b/cmake/detect-intrinsics.cmake @@ -1,24 +1,24 @@ # detect-intrinsics.cmake -- Detect compiler intrinsics support # Licensed under the Zlib license, see LICENSE.md for details -macro(check_acle_intrinsics) - if(NOT NATIVEFLAG AND NOT HAVE_ACLE_INTRIN) +macro(check_acle_compiler_flag) + if(NOT NATIVEFLAG AND NOT HAVE_ACLE_FLAG) set(ACLEFLAG "-march=armv8-a+crc" CACHE INTERNAL "Compiler option to enable ACLE support") endif() # Check whether compiler supports ACLE flag set(CMAKE_REQUIRED_FLAGS "${ACLEFLAG} ${NATIVEFLAG}") check_c_source_compiles( "int main() { return 0; }" - HAVE_ACLE_INTRIN FAIL_REGEX "not supported") - if(NOT NATIVEFLAG AND NOT HAVE_ACLE_INTRIN) + HAVE_ACLE_FLAG FAIL_REGEX "not supported") + if(NOT NATIVEFLAG AND NOT HAVE_ACLE_FLAG) set(ACLEFLAG "-march=armv8-a+crc+simd" CACHE INTERNAL "Compiler option to enable ACLE support" FORCE) # Check whether compiler supports ACLE flag set(CMAKE_REQUIRED_FLAGS "${ACLEFLAG}") check_c_source_compiles( "int main() { return 0; }" - HAVE_ACLE_INTRIN2 FAIL_REGEX "not supported") - set(HAVE_ACLE_INTRIN ${HAVE_ACLE_INTRIN2} CACHE INTERNAL "Have ACLE intrinsics" FORCE) - unset(HAVE_ACLE_INTRIN2 CACHE) # Don't cache this internal variable + HAVE_ACLE_FLAG2 FAIL_REGEX "not supported") + set(HAVE_ACLE_FLAG ${HAVE_ACLE_FLAG2} CACHE INTERNAL "Have compiler option to enable ACLE intrinsics" FORCE) + unset(HAVE_ACLE_FLAG2 CACHE) # Don't cache this internal variable endif() set(CMAKE_REQUIRED_FLAGS) endmacro() @@ -133,7 +133,7 @@ macro(check_avx2_intrinsics) set(CMAKE_REQUIRED_FLAGS) endmacro() -macro(check_neon_intrinsics) +macro(check_neon_compiler_flag) if(CMAKE_C_COMPILER_ID MATCHES "GNU" OR CMAKE_C_COMPILER_ID MATCHES "Clang") if(NOT NATIVEFLAG) if("${ARCH}" MATCHES "aarch64") diff --git a/configure b/configure index 1e063322a..1f8c64db0 100755 --- a/configure +++ b/configure @@ -1132,7 +1132,7 @@ EOF fi } -check_acle_intrinsics() { +check_acle_compiler_flag() { # Check whether -march=armv8-a+crc works correctly cat > $test.c << EOF int main() { return 0; } @@ -1155,7 +1155,7 @@ EOF fi } -check_neon_intrinsics() { +check_neon_compiler_flag() { # Check whether -mfpu=neon is available on ARM processors. cat > $test.c << EOF int main() { return 0; } @@ -1656,8 +1656,8 @@ EOF fi if test $without_optimizations -eq 0; then - check_acle_intrinsics - check_neon_intrinsics + check_acle_compiler_flag + check_neon_compiler_flag fi case "${ARCH}" in