diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2014-07-14 07:58:27 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2014-07-14 07:58:27 -0700 |
commit | f2fef657d8736c32fb600771949f59852558b11a (patch) | |
tree | a9e954223fa5cbd9e53f143e0f50c6f6276ebe0c /sysdeps/i386/configure | |
parent | f6c44d475104e931bab2b4ffa499961088de673c (diff) | |
download | glibc-f2fef657d8736c32fb600771949f59852558b11a.tar glibc-f2fef657d8736c32fb600771949f59852558b11a.tar.gz glibc-f2fef657d8736c32fb600771949f59852558b11a.tar.bz2 glibc-f2fef657d8736c32fb600771949f59852558b11a.zip |
Enable AVX2 optimized memset only if -mavx2 works
* config.h.in (HAVE_AVX2_SUPPORT): New #undef.
* sysdeps/i386/configure.ac: Set HAVE_AVX2_SUPPORT and
config-cflags-avx2.
* sysdeps/x86_64/configure.ac: Likewise.
* sysdeps/i386/configure: Regenerated.
* sysdeps/x86_64/configure: Likewise.
* sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
memset-avx2 only if config-cflags-avx2 is yes.
* sysdeps/x86_64/multiarch/ifunc-impl-list.c (__libc_ifunc_impl_list):
Tests for memset_chk and memset only if HAVE_AVX2_SUPPORT is
defined.
* sysdeps/x86_64/multiarch/memset.S: Define multiple versions
only if HAVE_AVX2_SUPPORT is defined.
* sysdeps/x86_64/multiarch/memset_chk.S: Likewise.
Diffstat (limited to 'sysdeps/i386/configure')
-rw-r--r-- | sysdeps/i386/configure | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/sysdeps/i386/configure b/sysdeps/i386/configure index f0a20e3d3b..6e89b597e3 100644 --- a/sysdeps/i386/configure +++ b/sysdeps/i386/configure @@ -240,6 +240,32 @@ $as_echo "$libc_cv_cc_novzeroupper" >&6; } config_vars="$config_vars config-cflags-novzeroupper = $libc_cv_cc_novzeroupper" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for AVX2 support" >&5 +$as_echo_n "checking for AVX2 support... " >&6; } +if ${libc_cv_cc_avx2+:} false; then : + $as_echo_n "(cached) " >&6 +else + if { ac_try='${CC-cc} -mavx2 -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_avx2=yes +else + libc_cv_cc_avx2=no +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cc_avx2" >&5 +$as_echo "$libc_cv_cc_avx2" >&6; } +if test $libc_cv_cc_avx2 = yes; then + $as_echo "#define HAVE_AVX2_SUPPORT 1" >>confdefs.h + +fi +config_vars="$config_vars +config-cflags-avx2 = $libc_cv_cc_avx2" + $as_echo "#define USE_REGPARMS 1" >>confdefs.h |