From 40b601fbb774cd2be2f6cbe7155570340fc475a2 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Wed, 21 Mar 2012 16:33:57 +0000 Subject: [PATCH] Use autoconf macro for testing compiler options with empty input. --- ChangeLog | 12 ++++++++++++ aclocal.m4 | 6 ++++++ configure | 5 +++-- configure.in | 5 ++--- sysdeps/i386/configure | 18 ++++++++++++------ sysdeps/i386/configure.in | 48 ++++++++++++++++++----------------------------- 6 files changed, 53 insertions(+), 41 deletions(-) diff --git a/ChangeLog b/ChangeLog index ebffe4f..1daf831 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,17 @@ 2012-03-21 Joseph Myers + * aclocal.m4 (LIBC_TRY_CC_OPTION): New macro. + * configure.in (libc_cv_cc_submachine): Use LIBC_TRY_CC_OPTION. + * configure: Regenerated. + * sysdeps/i386/configure.in (libc_cv_cc_sse4): Use + LIBC_TRY_CC_OPTION. + (libc_cv_as_i686): Likewise. + (libc_cv_cc_avx): Likewise. + (libc_cv_cc_sse2avx): Likewise. + (libc_cv_cc_fma4): Likewise. + (libc_cv_cc_novzeroupper): Likewise. + * sysdeps/i386/configure: Regenerated. + [BZ #13883] * sysdeps/i386/fpu/s_cexp.S: Remove. * sysdeps/i386/fpu/s_cexpf.S: Likewise. diff --git a/aclocal.m4 b/aclocal.m4 index fb546e4..e899932 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -128,6 +128,12 @@ AS_IF([AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest [$2], [$3]) rm -f conftest*]) +dnl Test a compiler option or options with an empty input file. +dnl LIBC_TRY_CC_OPTION([options], [action-if-true], [action-if-false]) +AC_DEFUN([LIBC_TRY_CC_OPTION], +[AS_IF([AC_TRY_COMMAND([${CC-cc} $1 -xc /dev/null -S -o /dev/null])], + [$2], [$3])]) + dnl Find and source sysdeps/*/preconfigure. dnl LIBC_PRECONFIGURE([$srcdir], [for]) AC_DEFUN([LIBC_PRECONFIGURE], [dnl diff --git a/configure b/configure index 3eb7cf1..dc50c16 100755 --- a/configure +++ b/configure @@ -7054,10 +7054,11 @@ else (eval $ac_try) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then + test $ac_status = 0; }; }; then : + libc_cv_cc_submachine="$opt" break - fi +fi done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cc_submachine" >&5 diff --git a/configure.in b/configure.in index ee5e856..bb3b057 100644 --- a/configure.in +++ b/configure.in @@ -2005,10 +2005,9 @@ if test -n "$submachine"; then libc_cv_cc_submachine, [dnl libc_cv_cc_submachine=no for opt in "-march=$submachine" "-mcpu=$submachine"; do - if AC_TRY_COMMAND([${CC-cc} $opt -xc /dev/null -S -o /dev/null]); then + LIBC_TRY_CC_OPTION([$opt], [ libc_cv_cc_submachine="$opt" - break - fi + break], []) done]) if test "x$libc_cv_cc_submachine" = xno; then AC_MSG_ERROR([${CC-cc} does not support $submachine]) diff --git a/sysdeps/i386/configure b/sysdeps/i386/configure index 49330e3..baa6609 100644 --- a/sysdeps/i386/configure +++ b/sysdeps/i386/configure @@ -223,11 +223,12 @@ else (eval $ac_try) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then + test $ac_status = 0; }; }; then : libc_cv_cc_sse4=yes else libc_cv_cc_sse4=no fi + fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cc_sse4" >&5 $as_echo "$libc_cv_cc_sse4" >&6; } @@ -246,11 +247,12 @@ else (eval $ac_try) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then + test $ac_status = 0; }; }; then : libc_cv_as_i686=yes else libc_cv_as_i686=no fi + fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_as_i686" >&5 $as_echo "$libc_cv_as_i686" >&6; } @@ -265,11 +267,12 @@ else (eval $ac_try) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then + test $ac_status = 0; }; }; then : libc_cv_cc_avx=yes else libc_cv_cc_avx=no fi + fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cc_avx" >&5 $as_echo "$libc_cv_cc_avx" >&6; } @@ -288,11 +291,12 @@ else (eval $ac_try) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then + test $ac_status = 0; }; }; then : libc_cv_cc_sse2avx=yes else libc_cv_cc_sse2avx=no fi + fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cc_sse2avx" >&5 $as_echo "$libc_cv_cc_sse2avx" >&6; } @@ -311,11 +315,12 @@ else (eval $ac_try) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then + test $ac_status = 0; }; }; then : libc_cv_cc_fma4=yes else libc_cv_cc_fma4=no fi + fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cc_fma4" >&5 $as_echo "$libc_cv_cc_fma4" >&6; } @@ -334,11 +339,12 @@ else (eval $ac_try) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then + test $ac_status = 0; }; }; then : libc_cv_cc_novzeroupper=yes else libc_cv_cc_novzeroupper=no fi + fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cc_novzeroupper" >&5 $as_echo "$libc_cv_cc_novzeroupper" >&6; } diff --git a/sysdeps/i386/configure.in b/sysdeps/i386/configure.in index f769019..7b4879d 100644 --- a/sysdeps/i386/configure.in +++ b/sysdeps/i386/configure.in @@ -40,60 +40,48 @@ fi dnl Check if -msse4 works. AC_CACHE_CHECK(for SSE4 support, libc_cv_cc_sse4, [dnl -if AC_TRY_COMMAND([${CC-cc} -msse4 -xc /dev/null -S -o /dev/null]); then - libc_cv_cc_sse4=yes -else - libc_cv_cc_sse4=no -fi]) +LIBC_TRY_CC_OPTION([-msse4], [libc_cv_cc_sse4=yes], [libc_cv_cc_sse4=no]) +]) if test $libc_cv_cc_sse4 = yes; then AC_DEFINE(HAVE_SSE4_SUPPORT) fi dnl Check if -Wa,-mtune=i686 works. AC_CACHE_CHECK(for assembler -mtune=i686 support, libc_cv_as_i686, [dnl -if AC_TRY_COMMAND([${CC-cc} -Wa,-mtune=i686 -xc /dev/null -S -o /dev/null]); then - libc_cv_as_i686=yes -else - libc_cv_as_i686=no -fi]) +LIBC_TRY_CC_OPTION([-Wa,-mtune=i686], + [libc_cv_as_i686=yes], + [libc_cv_as_i686=no]) +]) dnl Check if -mavx works. AC_CACHE_CHECK(for AVX support, libc_cv_cc_avx, [dnl -if AC_TRY_COMMAND([${CC-cc} -mavx -xc /dev/null -S -o /dev/null]); then - libc_cv_cc_avx=yes -else - libc_cv_cc_avx=no -fi]) +LIBC_TRY_CC_OPTION([-mavx], [libc_cv_cc_avx=yes], [libc_cv_cc_avx=no]) +]) if test $libc_cv_cc_avx = yes; then AC_DEFINE(HAVE_AVX_SUPPORT) fi dnl Check if -msse2avx works. AC_CACHE_CHECK(for AVX encoding of SSE instructions, libc_cv_cc_sse2avx, [dnl -if AC_TRY_COMMAND([${CC-cc} -msse2avx -xc /dev/null -S -o /dev/null]); then - libc_cv_cc_sse2avx=yes -else - libc_cv_cc_sse2avx=no -fi]) +LIBC_TRY_CC_OPTION([-msse2avx], + [libc_cv_cc_sse2avx=yes], + [libc_cv_cc_sse2avx=no]) +]) if test $libc_cv_cc_sse2avx = yes; then AC_DEFINE(HAVE_SSE2AVX_SUPPORT) fi dnl Check if -mfma4 works. AC_CACHE_CHECK(for FMA4 support, libc_cv_cc_fma4, [dnl -if AC_TRY_COMMAND([${CC-cc} -mfma4 -xc /dev/null -S -o /dev/null]); then - libc_cv_cc_fma4=yes -else - libc_cv_cc_fma4=no -fi]) +LIBC_TRY_CC_OPTION([-mfma4], [libc_cv_cc_fma4=yes], [libc_cv_cc_fma4=no]) +]) if test $libc_cv_cc_fma4 = yes; then AC_DEFINE(HAVE_FMA4_SUPPORT) fi dnl Check if -mno-vzeroupper works. AC_CACHE_CHECK(for -mno-vzeroupper support, libc_cv_cc_novzeroupper, [dnl -if AC_TRY_COMMAND([${CC-cc} -mno-vzeroupper -xc /dev/null -S -o /dev/null]); then - libc_cv_cc_novzeroupper=yes -else - libc_cv_cc_novzeroupper=no -fi]) +LIBC_TRY_CC_OPTION([-mno-vzeroupper], + [libc_cv_cc_novzeroupper=yes], + [libc_cv_cc_novzeroupper=no]) +]) -- 2.7.4