]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Check AVX-512 assembler support first
authorH.J. Lu <hjl.tools@gmail.com>
Fri, 14 Mar 2014 15:51:25 +0000 (08:51 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Fri, 14 Mar 2014 15:51:25 +0000 (08:51 -0700)
It checks AVX-512 assembler support first and sets libc_cv_cc_avx512 to
$libc_cv_asm_avx512, instead of yes.  GCC won't support AVX-512 if
assembler doesn't support it.

* sysdeps/x86_64/configure.ac: Check AVX-512 assembler support
first.  Disable AVX-512 GCC support if assembler doesn't support
it.
* sysdeps/x86_64/configure: Regenerated.

ChangeLog
sysdeps/x86_64/configure
sysdeps/x86_64/configure.ac

index 28370933e72a737e39aedccde053c89ab106edd2..fef3cf5cb5132d891d83b498752ec3bf8dac1e68 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2014-03-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * sysdeps/x86_64/configure.ac: Check AVX-512 assembler support
+       first.  Disable AVX-512 GCC support if assembler doesn't support
+       it.
+       * sysdeps/x86_64/configure: Regenerated.
+
 2014-03-13  Carlos O'Donell  <carlos@redhat.com>
 
        * nptl/pthread_attr_setstack.c (__pthread_attr_setstack)
index b931e682ea437a75d44d80054653a716036a6ce5..c1c88c8619a71f70faa7fbe316c28ef75fcedae1 100644 (file)
@@ -95,32 +95,6 @@ fi
 config_vars="$config_vars
 config-cflags-avx = $libc_cv_cc_avx"
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for AVX512 support" >&5
-$as_echo_n "checking for AVX512 support... " >&6; }
-if ${libc_cv_cc_avx512+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if { ac_try='${CC-cc} -mavx512f -xc /dev/null -S -o /dev/null'
-  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then :
-  libc_cv_cc_avx512=yes
-else
-  libc_cv_cc_avx512=no
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cc_avx512" >&5
-$as_echo "$libc_cv_cc_avx512" >&6; }
-if test $libc_cv_cc_avx512 = yes; then
-  $as_echo "#define HAVE_AVX512_SUPPORT 1" >>confdefs.h
-
-fi
-config_vars="$config_vars
-config-cflags-avx512 = $libc_cv_cc_avx512"
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for AVX512 support in assembler" >&5
 $as_echo_n "checking for AVX512 support in assembler... " >&6; }
 if ${libc_cv_asm_avx512+:} false; then :
@@ -148,6 +122,32 @@ if test $libc_cv_asm_avx512 == yes; then
 
 fi
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for AVX512 support" >&5
+$as_echo_n "checking for AVX512 support... " >&6; }
+if ${libc_cv_cc_avx512+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if { ac_try='${CC-cc} -mavx512f -xc /dev/null -S -o /dev/null'
+  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then :
+  libc_cv_cc_avx512=$libc_cv_asm_avx512
+else
+  libc_cv_cc_avx512=no
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cc_avx512" >&5
+$as_echo "$libc_cv_cc_avx512" >&6; }
+if test $libc_cv_cc_avx512 = yes; then
+  $as_echo "#define HAVE_AVX512_SUPPORT 1" >>confdefs.h
+
+fi
+config_vars="$config_vars
+config-cflags-avx512 = $libc_cv_cc_avx512"
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for AVX encoding of SSE instructions" >&5
 $as_echo_n "checking for AVX encoding of SSE instructions... " >&6; }
 if ${libc_cv_cc_sse2avx+:} false; then :
index 5e5d61b31731ef5b1736bb5fa7b32465f2ae5ca8..d34f9a8eecdf291facbb70dd43107ef442ebb6fe 100644 (file)
@@ -23,15 +23,6 @@ if test $libc_cv_cc_avx = yes; then
 fi
 LIBC_CONFIG_VAR([config-cflags-avx], [$libc_cv_cc_avx])
 
-dnl Check if -mavx512f works.
-AC_CACHE_CHECK(for AVX512 support, libc_cv_cc_avx512, [dnl
-LIBC_TRY_CC_OPTION([-mavx512f], [libc_cv_cc_avx512=yes], [libc_cv_cc_avx512=no])
-])
-if test $libc_cv_cc_avx512 = yes; then
-  AC_DEFINE(HAVE_AVX512_SUPPORT)
-fi
-LIBC_CONFIG_VAR([config-cflags-avx512], [$libc_cv_cc_avx512])
-
 dnl Check if asm supports AVX512.
 AC_CACHE_CHECK(for AVX512 support in assembler, libc_cv_asm_avx512, [dnl
 cat > conftest.s <<\EOF
@@ -47,6 +38,15 @@ if test $libc_cv_asm_avx512 == yes; then
   AC_DEFINE(HAVE_AVX512_ASM_SUPPORT)
 fi
 
+dnl Check if -mavx512f works.
+AC_CACHE_CHECK(for AVX512 support, libc_cv_cc_avx512, [dnl
+LIBC_TRY_CC_OPTION([-mavx512f], [libc_cv_cc_avx512=$libc_cv_asm_avx512], [libc_cv_cc_avx512=no])
+])
+if test $libc_cv_cc_avx512 = yes; then
+  AC_DEFINE(HAVE_AVX512_SUPPORT)
+fi
+LIBC_CONFIG_VAR([config-cflags-avx512], [$libc_cv_cc_avx512])
+
 dnl Check if -msse2avx works.
 AC_CACHE_CHECK(for AVX encoding of SSE instructions, libc_cv_cc_sse2avx, [dnl
 LIBC_TRY_CC_OPTION([-msse2avx],