diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 397e1b03797f3b9a4439903d4e5a9cd6e346bd20..9feec0c1086c2e8b695de6ae8127641637541b60 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -456,15 +456,14 @@ AC_DEFUN([PGAC_SSE42_CRC32_INTRINSICS], AC_CACHE_CHECK([for _mm_crc32_u8 and _mm_crc32_u32 with CFLAGS=$1], [Ac_cachevar], [pgac_save_CFLAGS=$CFLAGS CFLAGS="$pgac_save_CFLAGS $1" -ac_save_c_werror_flag=$ac_c_werror_flag -ac_c_werror_flag=yes AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <nmmintrin.h>], [unsigned int crc = 0; crc = _mm_crc32_u8(crc, 0); - crc = _mm_crc32_u32(crc, 0);])], + crc = _mm_crc32_u32(crc, 0); + /* return computed value, to prevent the above being optimized away */ + return crc == 0;])], [Ac_cachevar=yes], [Ac_cachevar=no]) -ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="$pgac_save_CFLAGS"]) if test x"$Ac_cachevar" = x"yes"; then CFLAGS_SSE42="$1" diff --git a/configure b/configure index ebb5cac31c78d2f6dd1e340e6bb3ce2ae629ae0f..0bed81c2e4a42615c9ba8121121865f2d3895af6 100755 --- a/configure +++ b/configure @@ -14498,8 +14498,6 @@ if ${pgac_cv_sse42_crc32_intrinsics_+:} false; then : else pgac_save_CFLAGS=$CFLAGS CFLAGS="$pgac_save_CFLAGS " -ac_save_c_werror_flag=$ac_c_werror_flag -ac_c_werror_flag=yes cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <nmmintrin.h> @@ -14509,6 +14507,8 @@ main () unsigned int crc = 0; crc = _mm_crc32_u8(crc, 0); crc = _mm_crc32_u32(crc, 0); + /* return computed value, to prevent the above being optimized away */ + return crc == 0; ; return 0; } @@ -14520,7 +14520,6 @@ else fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext -ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="$pgac_save_CFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv_sse42_crc32_intrinsics_" >&5 @@ -14538,8 +14537,6 @@ if ${pgac_cv_sse42_crc32_intrinsics__msse4_2+:} false; then : else pgac_save_CFLAGS=$CFLAGS CFLAGS="$pgac_save_CFLAGS -msse4.2" -ac_save_c_werror_flag=$ac_c_werror_flag -ac_c_werror_flag=yes cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <nmmintrin.h> @@ -14549,6 +14546,8 @@ main () unsigned int crc = 0; crc = _mm_crc32_u8(crc, 0); crc = _mm_crc32_u32(crc, 0); + /* return computed value, to prevent the above being optimized away */ + return crc == 0; ; return 0; } @@ -14560,7 +14559,6 @@ else fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext -ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="$pgac_save_CFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv_sse42_crc32_intrinsics__msse4_2" >&5