@@ -753,11 +753,25 @@ AC_FUNC_ALLOCA
753
753
PHP_TIME_R_TYPE
754
754
PHP_CHECK_IN_ADDR_T
755
755
756
- AC_CACHE_CHECK ( [ for aarch64 CRC32 API] , ac_cv_func___crc32d ,
757
- [ AC_LINK_IFELSE ( [ AC_LANG_PROGRAM ( [ [ #include <arm_acle.h>] ] ,[ [ __crc32d(0, 0);] ] ) ] ,[ ac_cv_func___crc32d=yes] ,[ ac_cv_func___crc32d="no"] ) ] )
758
- if test "$ac_cv_func___crc32d" = "yes"; then
759
- AC_DEFINE ( [ HAVE_AARCH64_CRC32] , [ 1] , [ Define when aarch64 CRC32 API is available.] )
760
- fi
756
+ AC_CACHE_CHECK ( [ for aarch64 CRC32 API] , [ ac_cv_func___crc32d] ,
757
+ [ AC_LINK_IFELSE ( [ AC_LANG_PROGRAM ( [
758
+ #include <arm_acle.h>
759
+ # if defined(__GNUC__)
760
+ # if!defined(__clang__)
761
+ # pragma GCC push_options
762
+ # pragma GCC target ("+nothing+crc")
763
+ # elif defined(__APPLE__)
764
+ # pragma clang attribute push(__attribute__((target("crc"))), apply_to=function)
765
+ # else
766
+ # pragma clang attribute push(__attribute__((target("+nothing+crc"))), apply_to=function)
767
+ # endif
768
+ # endif
769
+ ] , [ __crc32d(0, 0);] ) ] ,
770
+ [ ac_cv_func___crc32d=yes] ,
771
+ [ ac_cv_func___crc32d=no] ) ] )
772
+ AS_VAR_IF ( [ ac_cv_func___crc32d] , [ yes] ,
773
+ [ AC_DEFINE ( [ HAVE_AARCH64_CRC32] , [ 1] ,
774
+ [ Define to 1 when aarch64 CRC32 API is available.] ) ] )
761
775
762
776
dnl Check for asm goto support.
763
777
AC_CACHE_CHECK ( [ for asm goto] , ac_cv__asm_goto ,
0 commit comments