]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Remove configure tests for AVX support.
authorJoseph Myers <joseph@codesourcery.com>
Thu, 8 Oct 2015 15:59:32 +0000 (15:59 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Thu, 8 Oct 2015 15:59:32 +0000 (15:59 +0000)
GCC added support for -mavx and -msse2avx in version 4.4.  Thus the
configure tests for this support are obsolete, and this patch removes
them.

Tested for x86_64 and x86 (testsuite, and that installed stripped
shared libraries are unchanged by this patch).

* sysdeps/i386/configure.ac (libc_cv_cc_avx): Remove configure
test.
(libc_cv_cc_sse2avx): Likewise.
* sysdeps/i386/configure: Regenerated.
* sysdeps/i386/i686/multiarch/Makefile
[$(subdir)$(config-cflags-avx) = mathyes]: Change conditional to
[$(subdir) = math].
* sysdeps/i386/i686/multiarch/s_fma-fma.c [HAVE_AVX_SUPPORT]: Make
code unconditional.
* sysdeps/i386/i686/multiarch/s_fma.c [HAVE_AVX_SUPPORT]:
Likewise.
* sysdeps/i386/i686/multiarch/s_fmaf-fma.c [HAVE_AVX_SUPPORT]:
Likewise.
* sysdeps/i386/i686/multiarch/s_fmaf.c [HAVE_AVX_SUPPORT]:
Likewise.
* sysdeps/x86_64/configure.ac (libc_cv_cc_avx): Remove configure
test.
(libc_cv_cc_sse2avx): Likewise.
* sysdeps/x86_64/configure: Regenerated.
* sysdeps/x86_64/Makefile [$(config-cflags-avx) = yes]: Make code
unconditional.
* sysdeps/x86_64/dl-trampoline.h (_dl_runtime_profile)
[HAVE_AVX_SUPPORT || HAVE_AVX512_ASM_SUPPORT]: Make code
unconditional.
(_dl_runtime_profile)
[!(HAVE_AVX_SUPPORT || HAVE_AVX512_ASM_SUPPORT)]: Remove
conditional code.
* sysdeps/x86_64/fpu/multiarch/Makefile
[$(config-cflags-sse2avx) = yes]: Make code unconditional.
* sysdeps/x86_64/fpu/multiarch/e_atan2.c
[HAVE_FMA4_SUPPORT || HAVE_AVX_SUPPORT]: Likewise.
* sysdeps/x86_64/fpu/multiarch/e_exp.c
[HAVE_FMA4_SUPPORT || HAVE_AVX_SUPPORT]: Likewise.
* sysdeps/x86_64/fpu/multiarch/e_log.c
[HAVE_FMA4_SUPPORT || HAVE_AVX_SUPPORT]: Likewise.
* sysdeps/x86_64/fpu/multiarch/s_atan.c
[HAVE_FMA4_SUPPORT || HAVE_AVX_SUPPORT]: Likewise.
* sysdeps/x86_64/fpu/multiarch/s_fma.c [HAVE_AVX_SUPPORT]:
Likewise.
* sysdeps/x86_64/fpu/multiarch/s_fmaf.c [HAVE_AVX_SUPPORT]:
Likewise.
* sysdeps/x86_64/fpu/multiarch/s_sin.c
[HAVE_FMA4_SUPPORT || HAVE_AVX_SUPPORT]: Likewise.
* sysdeps/x86_64/fpu/multiarch/s_tan.c
[HAVE_FMA4_SUPPORT || HAVE_AVX_SUPPORT]: Likewise.
* sysdeps/x86_64/multiarch/strcmp.S [HAVE_AVX_SUPPORT]: Likewise.
* config.h.in (HAVE_AVX_SUPPORT): Remove #undef.
(HAVE_SSE2AVX_SUPPORT): Likewise.

23 files changed:
ChangeLog
config.h.in
sysdeps/i386/configure
sysdeps/i386/configure.ac
sysdeps/i386/i686/multiarch/Makefile
sysdeps/i386/i686/multiarch/s_fma-fma.c
sysdeps/i386/i686/multiarch/s_fma.c
sysdeps/i386/i686/multiarch/s_fmaf-fma.c
sysdeps/i386/i686/multiarch/s_fmaf.c
sysdeps/x86_64/Makefile
sysdeps/x86_64/configure
sysdeps/x86_64/configure.ac
sysdeps/x86_64/dl-trampoline.h
sysdeps/x86_64/fpu/multiarch/Makefile
sysdeps/x86_64/fpu/multiarch/e_atan2.c
sysdeps/x86_64/fpu/multiarch/e_exp.c
sysdeps/x86_64/fpu/multiarch/e_log.c
sysdeps/x86_64/fpu/multiarch/s_atan.c
sysdeps/x86_64/fpu/multiarch/s_fma.c
sysdeps/x86_64/fpu/multiarch/s_fmaf.c
sysdeps/x86_64/fpu/multiarch/s_sin.c
sysdeps/x86_64/fpu/multiarch/s_tan.c
sysdeps/x86_64/multiarch/strcmp.S

index 6b2e5d3b9fe0394d4734539befb3411ab0bbf5e6..82a3f5f0f1b9ad4bb561ad06d16812f8730d1344 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,54 @@
+2015-10-08  Joseph Myers  <joseph@codesourcery.com>
+
+       * sysdeps/i386/configure.ac (libc_cv_cc_avx): Remove configure
+       test.
+       (libc_cv_cc_sse2avx): Likewise.
+       * sysdeps/i386/configure: Regenerated.
+       * sysdeps/i386/i686/multiarch/Makefile
+       [$(subdir)$(config-cflags-avx) = mathyes]: Change conditional to
+       [$(subdir) = math].
+       * sysdeps/i386/i686/multiarch/s_fma-fma.c [HAVE_AVX_SUPPORT]: Make
+       code unconditional.
+       * sysdeps/i386/i686/multiarch/s_fma.c [HAVE_AVX_SUPPORT]:
+       Likewise.
+       * sysdeps/i386/i686/multiarch/s_fmaf-fma.c [HAVE_AVX_SUPPORT]:
+       Likewise.
+       * sysdeps/i386/i686/multiarch/s_fmaf.c [HAVE_AVX_SUPPORT]:
+       Likewise.
+       * sysdeps/x86_64/configure.ac (libc_cv_cc_avx): Remove configure
+       test.
+       (libc_cv_cc_sse2avx): Likewise.
+       * sysdeps/x86_64/configure: Regenerated.
+       * sysdeps/x86_64/Makefile [$(config-cflags-avx) = yes]: Make code
+       unconditional.
+       * sysdeps/x86_64/dl-trampoline.h (_dl_runtime_profile)
+       [HAVE_AVX_SUPPORT || HAVE_AVX512_ASM_SUPPORT]: Make code
+       unconditional.
+       (_dl_runtime_profile)
+       [!(HAVE_AVX_SUPPORT || HAVE_AVX512_ASM_SUPPORT)]: Remove
+       conditional code.
+       * sysdeps/x86_64/fpu/multiarch/Makefile
+       [$(config-cflags-sse2avx) = yes]: Make code unconditional.
+       * sysdeps/x86_64/fpu/multiarch/e_atan2.c
+       [HAVE_FMA4_SUPPORT || HAVE_AVX_SUPPORT]: Likewise.
+       * sysdeps/x86_64/fpu/multiarch/e_exp.c
+       [HAVE_FMA4_SUPPORT || HAVE_AVX_SUPPORT]: Likewise.
+       * sysdeps/x86_64/fpu/multiarch/e_log.c
+       [HAVE_FMA4_SUPPORT || HAVE_AVX_SUPPORT]: Likewise.
+       * sysdeps/x86_64/fpu/multiarch/s_atan.c
+       [HAVE_FMA4_SUPPORT || HAVE_AVX_SUPPORT]: Likewise.
+       * sysdeps/x86_64/fpu/multiarch/s_fma.c [HAVE_AVX_SUPPORT]:
+       Likewise.
+       * sysdeps/x86_64/fpu/multiarch/s_fmaf.c [HAVE_AVX_SUPPORT]:
+       Likewise.
+       * sysdeps/x86_64/fpu/multiarch/s_sin.c
+       [HAVE_FMA4_SUPPORT || HAVE_AVX_SUPPORT]: Likewise.
+       * sysdeps/x86_64/fpu/multiarch/s_tan.c
+       [HAVE_FMA4_SUPPORT || HAVE_AVX_SUPPORT]: Likewise.
+       * sysdeps/x86_64/multiarch/strcmp.S [HAVE_AVX_SUPPORT]: Likewise.
+       * config.h.in (HAVE_AVX_SUPPORT): Remove #undef.
+       (HAVE_SSE2AVX_SUPPORT): Likewise.
+
 2015-10-07  Paul Pluzhnikov  <ppluzhnikov@google.com>
 
        * stdio-common/tst-printf-bz18872.sh: Use attribute optimize
index 76633760327d19bf2f40e5bd0efbf1f7ce614908..d9aba90d301c5b712db420057e868a7ebb4ceae0 100644 (file)
 /* Define if _rtld_local structure should be forced into .sdata section.  */
 #undef HAVE_SDATA_SECTION
 
-/* Define if gcc supports AVX.  */
-#undef HAVE_AVX_SUPPORT
-
-/* Define if gcc supports VEX encoding.  */
-#undef HAVE_SSE2AVX_SUPPORT
-
 /* Define if compiler supports AVX512.  */
 #undef  HAVE_AVX512_SUPPORT
 
index 8a7837ec468473b2c377f710300623c900f7207d..1b39cbae0894d703616688cb969c09286b221734 100644 (file)
@@ -114,58 +114,6 @@ $as_echo "$libc_cv_as_i686" >&6; }
 config_vars="$config_vars
 config-asflags-i686 = $libc_cv_as_i686"
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for AVX support" >&5
-$as_echo_n "checking for AVX support... " >&6; }
-if ${libc_cv_cc_avx+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if { ac_try='${CC-cc} -mavx -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_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; }
-if test $libc_cv_cc_avx = yes; then
-  $as_echo "#define HAVE_AVX_SUPPORT 1" >>confdefs.h
-
-fi
-config_vars="$config_vars
-config-cflags-avx = $libc_cv_cc_avx"
-
-{ $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 :
-  $as_echo_n "(cached) " >&6
-else
-  if { ac_try='${CC-cc} -msse2avx -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_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; }
-if test $libc_cv_cc_sse2avx = yes; then
-  $as_echo "#define HAVE_SSE2AVX_SUPPORT 1" >>confdefs.h
-
-fi
-config_vars="$config_vars
-config-cflags-sse2avx = $libc_cv_cc_sse2avx"
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FMA4 support" >&5
 $as_echo_n "checking for FMA4 support... " >&6; }
 if ${libc_cv_cc_fma4+:} false; then :
index e7af05600fa8822e28aac6b03bf6419595cdcdef..965fa73489fd4940198c59a7f7f2a55928f9dbbc 100644 (file)
@@ -42,26 +42,6 @@ LIBC_TRY_CC_OPTION([-Wa,-mtune=i686],
 ])
 LIBC_CONFIG_VAR([config-asflags-i686], [$libc_cv_as_i686])
 
-dnl Check if -mavx works.
-AC_CACHE_CHECK(for AVX support, libc_cv_cc_avx, [dnl
-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
-LIBC_CONFIG_VAR([config-cflags-avx], [$libc_cv_cc_avx])
-
-dnl Check if -msse2avx works.
-AC_CACHE_CHECK(for AVX encoding of SSE instructions, libc_cv_cc_sse2avx, [dnl
-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
-LIBC_CONFIG_VAR([config-cflags-sse2avx], [$libc_cv_cc_sse2avx])
-
 dnl Check if -mfma4 works.
 AC_CACHE_CHECK(for FMA4 support, libc_cv_cc_fma4, [dnl
 LIBC_TRY_CC_OPTION([-mfma4], [libc_cv_cc_fma4=yes], [libc_cv_cc_fma4=no])
index 7ccd9c7b797960c28cfc9ca8ac2b87dc4dfbb248..700010d969e1520d2f2af771efb11a86cd9ee3b8 100644 (file)
@@ -38,7 +38,7 @@ sysdep_routines += wcscmp-sse2 wcscmp-c wcslen-sse2 wcslen-c \
                   wcschr-c wcsrchr-sse2 wcsrchr-c wcscpy-ssse3 wcscpy-c
 endif
 
-ifeq (mathyes,$(subdir)$(config-cflags-avx))
+ifeq ($(subdir),math)
 libm-sysdep_routines += s_fma-fma s_fmaf-fma
 CFLAGS-s_fma-fma.c += -mavx -mfpmath=sse
 CFLAGS-s_fmaf-fma.c += -mavx -mfpmath=sse
index 1a8b48bd588d2146b2828f14c9dde760888db54a..23a7f04e12667df8cdd7155c20af3b19721e35be 100644 (file)
 
 #include <config.h>
 
-#ifdef HAVE_AVX_SUPPORT
 double
 __fma_fma (double x, double y, double z)
 {
   asm ("vfmadd213sd %3, %2, %0" : "=x" (x) : "0" (x), "x" (y), "xm" (z));
   return x;
 }
-#endif
index cf2ede5309b1f0823844ba719c26e0d437d72c1a..8d918f065099b864304bfe17b8f87dc9ccb6ac04 100644 (file)
@@ -19,7 +19,6 @@
 
 #include <config.h>
 
-#ifdef HAVE_AVX_SUPPORT
 #include <math.h>
 #include <init-arch.h>
 
@@ -30,7 +29,6 @@ libm_ifunc (__fma,
            HAS_ARCH_FEATURE (FMA_Usable) ? __fma_fma : __fma_ia32);
 weak_alias (__fma, fma)
 
-# define __fma __fma_ia32
-#endif
+#define __fma __fma_ia32
 
 #include <sysdeps/ieee754/ldbl-96/s_fma.c>
index 1775ef5dd03efad3c287bb571127023fc6a6ce61..4904f05eedc480c53436ec8b2b97c4915c17c472 100644 (file)
 
 #include <config.h>
 
-#ifdef HAVE_AVX_SUPPORT
 float
 __fmaf_fma (float x, float y, float z)
 {
   asm ("vfmadd213ss %3, %2, %0" : "=x" (x) : "0" (x), "x" (y), "xm" (z));
   return x;
 }
-#endif
index 526cdf16e409537a45ea3db5f3815941b99d2d94..2476d0fcbff8e80f12394a79cda257d03422bbf5 100644 (file)
@@ -19,7 +19,6 @@
 
 #include <config.h>
 
-#ifdef HAVE_AVX_SUPPORT
 #include <math.h>
 #include <init-arch.h>
 
@@ -30,7 +29,6 @@ libm_ifunc (__fmaf,
            HAS_ARCH_FEATURE (FMA_Usable) ? __fmaf_fma : __fmaf_ia32);
 weak_alias (__fmaf, fmaf)
 
-# define __fmaf __fmaf_ia32
-#endif
+#define __fmaf __fmaf_ia32
 
 #include <sysdeps/ieee754/dbl-64/s_fmaf.c>
index 6c283187a863e8fda9e1bc60572a74ab95a38eb0..099792d6e6a0ba3f93085b9053b1365348e06740 100644 (file)
@@ -43,10 +43,7 @@ tests-pie += $(quad-pie-test)
 $(objpfx)tst-quad1pie: $(objpfx)tst-quadmod1pie.o
 $(objpfx)tst-quad2pie: $(objpfx)tst-quadmod2pie.o
 
-tests += tst-audit3 tst-audit4 tst-audit5 tst-audit10
-ifeq (yes,$(config-cflags-avx))
-tests += tst-audit6 tst-audit7
-endif
+tests += tst-audit3 tst-audit4 tst-audit5 tst-audit6 tst-audit7 tst-audit10
 
 tests += tst-split-dynreloc
 LDFLAGS-tst-split-dynreloc = -Wl,-T,$(..)sysdeps/x86_64/tst-split-dynreloc.lds
@@ -84,7 +81,6 @@ $(objpfx)tst-audit10: $(objpfx)tst-auditmod10a.so
 $(objpfx)tst-audit10.out: $(objpfx)tst-auditmod10b.so
 tst-audit10-ENV = LD_AUDIT=$(objpfx)tst-auditmod10b.so
 
-ifeq (yes,$(config-cflags-avx))
 AVX-CFLAGS=-mavx
 ifeq (yes,$(config-cflags-novzeroupper))
 AVX-CFLAGS+=-mno-vzeroupper
@@ -95,7 +91,6 @@ CFLAGS-tst-auditmod4b.c += $(AVX-CFLAGS)
 CFLAGS-tst-auditmod6b.c += $(AVX-CFLAGS)
 CFLAGS-tst-auditmod6c.c += $(AVX-CFLAGS)
 CFLAGS-tst-auditmod7b.c += $(AVX-CFLAGS)
-endif
 ifeq (yes,$(config-cflags-avx512))
 AVX512-CFLAGS = -mavx512f
 CFLAGS-tst-audit10.c += $(AVX512-CFLAGS)
index 1f54c76f5ff18359863d1bbdf35643ac6f6e5b8e..ef234d5c506074d266fb69cc648232f210ebaad7 100644 (file)
@@ -43,32 +43,6 @@ fi
 
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for AVX support" >&5
-$as_echo_n "checking for AVX support... " >&6; }
-if ${libc_cv_cc_avx+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if { ac_try='${CC-cc} -mavx -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_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; }
-if test $libc_cv_cc_avx = yes; then
-  $as_echo "#define HAVE_AVX_SUPPORT 1" >>confdefs.h
-
-fi
-config_vars="$config_vars
-config-cflags-avx = $libc_cv_cc_avx"
-
 { $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 :
@@ -123,32 +97,6 @@ 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 :
-  $as_echo_n "(cached) " >&6
-else
-  if { ac_try='${CC-cc} -msse2avx -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_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; }
-if test $libc_cv_cc_sse2avx = yes; then
-  $as_echo "#define HAVE_SSE2AVX_SUPPORT 1" >>confdefs.h
-
-fi
-config_vars="$config_vars
-config-cflags-sse2avx = $libc_cv_cc_sse2avx"
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FMA4 support" >&5
 $as_echo_n "checking for FMA4 support... " >&6; }
 if ${libc_cv_cc_fma4+:} false; then :
index 68824f7efe1a0e8613b00f7748d9dbeb4e911caf..76a3265959115d21692a0b1c213aabc9af2e93c9 100644 (file)
@@ -5,15 +5,6 @@ AC_CHECK_HEADER([cpuid.h], ,
   [AC_MSG_ERROR([gcc must provide the <cpuid.h> header])],
   [/* No default includes.  */])
 
-dnl Check if -mavx works.
-AC_CACHE_CHECK(for AVX support, libc_cv_cc_avx, [dnl
-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
-LIBC_CONFIG_VAR([config-cflags-avx], [$libc_cv_cc_avx])
-
 dnl Check if asm supports AVX512.
 AC_CACHE_CHECK(for AVX512 support in assembler, libc_cv_asm_avx512, [dnl
 cat > conftest.s <<\EOF
@@ -39,17 +30,6 @@ if test $libc_cv_cc_avx512 = yes; then
 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],
-                  [libc_cv_cc_sse2avx=yes],
-                  [libc_cv_cc_sse2avx=no])
-])
-if test $libc_cv_cc_sse2avx = yes; then
-  AC_DEFINE(HAVE_SSE2AVX_SUPPORT)
-fi
-LIBC_CONFIG_VAR([config-cflags-sse2avx], [$libc_cv_cc_sse2avx])
-
 dnl Check if -mfma4 works.
 AC_CACHE_CHECK(for FMA4 support, libc_cv_cc_fma4, [dnl
 LIBC_TRY_CC_OPTION([-mfma4], [libc_cv_cc_fma4=yes], [libc_cv_cc_fma4=no])
index dd6d7c783526f98644c5bf2219bcc18312d63d38..c97c71d90b6a3402d224d3a42fe742b48b1ef129 100644 (file)
@@ -204,14 +204,10 @@ _dl_runtime_profile:
 
        /* Actively align the La_x86_64_regs structure.  */
        and $-VEC_SIZE, %RSP_LP
-# if defined HAVE_AVX_SUPPORT || defined HAVE_AVX512_ASM_SUPPORT
        /* sizeof(La_x86_64_regs).  Need extra space for 8 SSE registers
           to detect if any xmm0-xmm7 registers are changed by audit
           module.  */
        sub $(LR_SIZE + XMM_SIZE*8), %RSP_LP
-# else
-       sub $LR_SIZE, %RSP_LP           # sizeof(La_x86_64_regs)
-# endif
        movq %rsp, 24(%rbx)
 
        /* Fill the La_x86_64_regs structure.  */
index 631534a5ce0d9eecf42a9d5c93d53b5b5c0cfe3d..ad7bbf0aec93095fa17614ea4b658ce8c2a33ade 100644 (file)
@@ -33,7 +33,6 @@ CFLAGS-s_sin-fma4.c = -mfma4
 CFLAGS-s_tan-fma4.c = -mfma4
 endif
 
-ifeq ($(config-cflags-sse2avx),yes)
 libm-sysdep_routines += e_exp-avx e_log-avx s_atan-avx \
                        e_atan2-avx s_sin-avx s_tan-avx \
                        mplog-avx mpa-avx slowexp-avx \
@@ -50,7 +49,6 @@ CFLAGS-s_sin-avx.c = -msse2avx -DSSE2AVX
 CFLAGS-slowexp-avx.c = -msse2avx -DSSE2AVX
 CFLAGS-s_tan-avx.c = -msse2avx -DSSE2AVX
 endif
-endif
 
 ifeq ($(subdir),mathvec)
 libmvec-sysdep_routines += svml_d_cos2_core_sse4 svml_d_cos4_core_avx2 \
index 269dcc9165d5d7957c33fa078e28a46e0c546250..8edb8b635b3deefd1ec32e749decd4a04de246b4 100644 (file)
@@ -1,17 +1,16 @@
-#if defined HAVE_FMA4_SUPPORT || defined HAVE_AVX_SUPPORT
-# include <init-arch.h>
-# include <math.h>
-# include <math_private.h>
+#include <init-arch.h>
+#include <math.h>
+#include <math_private.h>
 
 extern double __ieee754_atan2_sse2 (double, double);
 extern double __ieee754_atan2_avx (double, double);
-# ifdef HAVE_FMA4_SUPPORT
+#ifdef HAVE_FMA4_SUPPORT
 extern double __ieee754_atan2_fma4 (double, double);
-# else
-#  undef HAS_ARCH_FEATURE
-#  define HAS_ARCH_FEATURE(feature) 0
-#  define __ieee754_atan2_fma4 ((void *) 0)
-# endif
+#else
+# undef HAS_ARCH_FEATURE
+# define HAS_ARCH_FEATURE(feature) 0
+# define __ieee754_atan2_fma4 ((void *) 0)
+#endif
 
 libm_ifunc (__ieee754_atan2,
            HAS_ARCH_FEATURE (FMA4_Usable) ? __ieee754_atan2_fma4
@@ -19,8 +18,7 @@ libm_ifunc (__ieee754_atan2,
               ? __ieee754_atan2_avx : __ieee754_atan2_sse2));
 strong_alias (__ieee754_atan2, __atan2_finite)
 
-# define __ieee754_atan2 __ieee754_atan2_sse2
-#endif
+#define __ieee754_atan2 __ieee754_atan2_sse2
 
 
 #include <sysdeps/ieee754/dbl-64/e_atan2.c>
index 9c124ca11a13df686287759177c98f0ee67a4bf1..84e62a0491c89769fb53c616b9b07705c1ef8429 100644 (file)
@@ -1,17 +1,16 @@
-#if defined HAVE_FMA4_SUPPORT || defined HAVE_AVX_SUPPORT
-# include <init-arch.h>
-# include <math.h>
-# include <math_private.h>
+#include <init-arch.h>
+#include <math.h>
+#include <math_private.h>
 
 extern double __ieee754_exp_sse2 (double);
 extern double __ieee754_exp_avx (double);
-# ifdef HAVE_FMA4_SUPPORT
+#ifdef HAVE_FMA4_SUPPORT
 extern double __ieee754_exp_fma4 (double);
-# else
-#  undef HAS_ARCH_FEATURE
-#  define HAS_ARCH_FEATURE(feature) 0
-#  define __ieee754_exp_fma4 ((void *) 0)
-# endif
+#else
+# undef HAS_ARCH_FEATURE
+# define HAS_ARCH_FEATURE(feature) 0
+# define __ieee754_exp_fma4 ((void *) 0)
+#endif
 
 libm_ifunc (__ieee754_exp,
            HAS_ARCH_FEATURE (FMA4_Usable) ? __ieee754_exp_fma4
@@ -19,8 +18,7 @@ libm_ifunc (__ieee754_exp,
               ? __ieee754_exp_avx : __ieee754_exp_sse2));
 strong_alias (__ieee754_exp, __exp_finite)
 
-# define __ieee754_exp __ieee754_exp_sse2
-#endif
+#define __ieee754_exp __ieee754_exp_sse2
 
 
 #include <sysdeps/ieee754/dbl-64/e_exp.c>
index 04e9ac553b620c75f49d1bf2bc0530e542f2581a..90e21ec1ec43601f6f1f5f9290eb0fb477eed05f 100644 (file)
@@ -1,17 +1,16 @@
-#if defined HAVE_FMA4_SUPPORT || defined HAVE_AVX_SUPPORT
-# include <init-arch.h>
-# include <math.h>
-# include <math_private.h>
+#include <init-arch.h>
+#include <math.h>
+#include <math_private.h>
 
 extern double __ieee754_log_sse2 (double);
 extern double __ieee754_log_avx (double);
-# ifdef HAVE_FMA4_SUPPORT
+#ifdef HAVE_FMA4_SUPPORT
 extern double __ieee754_log_fma4 (double);
-# else
-#  undef HAS_ARCH_FEATURE
-#  define HAS_ARCH_FEATURE(feature) 0
-#  define __ieee754_log_fma4 ((void *) 0)
-# endif
+#else
+# undef HAS_ARCH_FEATURE
+# define HAS_ARCH_FEATURE(feature) 0
+# define __ieee754_log_fma4 ((void *) 0)
+#endif
 
 libm_ifunc (__ieee754_log,
            HAS_ARCH_FEATURE (FMA4_Usable) ? __ieee754_log_fma4
@@ -19,8 +18,7 @@ libm_ifunc (__ieee754_log,
               ? __ieee754_log_avx : __ieee754_log_sse2));
 strong_alias (__ieee754_log, __log_finite)
 
-# define __ieee754_log __ieee754_log_sse2
-#endif
+#define __ieee754_log __ieee754_log_sse2
 
 
 #include <sysdeps/ieee754/dbl-64/e_log.c>
index 57b5c65f67f058dd0f448c4f54ab2432e14bda77..8d2b0045228553c36dee3667fae63f34a1bff4af 100644 (file)
@@ -1,23 +1,21 @@
-#if defined HAVE_FMA4_SUPPORT || defined HAVE_AVX_SUPPORT
-# include <init-arch.h>
-# include <math.h>
+#include <init-arch.h>
+#include <math.h>
 
 extern double __atan_sse2 (double);
 extern double __atan_avx (double);
-# ifdef HAVE_FMA4_SUPPORT
+#ifdef HAVE_FMA4_SUPPORT
 extern double __atan_fma4 (double);
-# else
-#  undef HAS_ARCH_FEATURE
-#  define HAS_ARCH_FEATURE(feature) 0
-#  define __atan_fma4 ((void *) 0)
-# endif
+#else
+# undef HAS_ARCH_FEATURE
+# define HAS_ARCH_FEATURE(feature) 0
+# define __atan_fma4 ((void *) 0)
+#endif
 
 libm_ifunc (atan, (HAS_ARCH_FEATURE (FMA4_Usable) ? __atan_fma4 :
                   HAS_ARCH_FEATURE (AVX_Usable)
                   ? __atan_avx : __atan_sse2));
 
-# define atan __atan_sse2
-#endif
+#define atan __atan_sse2
 
 
 #include <sysdeps/ieee754/dbl-64/s_atan.c>
index 78e77322454ce8f3c17146d4e1dc9727f2141c6d..630c99c3ce35f310f5710c4c37f03cd288b11fd6 100644 (file)
@@ -21,8 +21,6 @@
 #include <math.h>
 #include <init-arch.h>
 
-#ifdef HAVE_AVX_SUPPORT
-
 extern double __fma_sse2 (double x, double y, double z) attribute_hidden;
 
 
@@ -34,18 +32,18 @@ __fma_fma3 (double x, double y, double z)
 }
 
 
-# ifdef HAVE_FMA4_SUPPORT
+#ifdef HAVE_FMA4_SUPPORT
 static double
 __fma_fma4 (double x, double y, double z)
 {
   asm ("vfmaddsd %3, %2, %1, %0" : "=x" (x) : "x" (x), "x" (y), "x" (z));
   return x;
 }
-# else
-#  undef HAS_ARCH_FEATURE
-#  define HAS_ARCH_FEATURE(feature) 0
-#  define __fma_fma4 ((void *) 0)
-# endif
+#else
+# undef HAS_ARCH_FEATURE
+# define HAS_ARCH_FEATURE(feature) 0
+# define __fma_fma4 ((void *) 0)
+#endif
 
 
 libm_ifunc (__fma, HAS_ARCH_FEATURE (FMA_Usable)
@@ -53,7 +51,6 @@ libm_ifunc (__fma, HAS_ARCH_FEATURE (FMA_Usable)
                            ? __fma_fma4 : __fma_sse2));
 weak_alias (__fma, fma)
 
-# define __fma __fma_sse2
-#endif
+#define __fma __fma_sse2
 
 #include <sysdeps/ieee754/dbl-64/s_fma.c>
index bebd3ee431104ce0029ab6439b6ba0f49c8a368e..eb7d30efca3a2c82b976e40b9f3d0a8476a06bcb 100644 (file)
@@ -20,8 +20,6 @@
 #include <math.h>
 #include <init-arch.h>
 
-#ifdef HAVE_AVX_SUPPORT
-
 extern float __fmaf_sse2 (float x, float y, float z) attribute_hidden;
 
 
@@ -33,18 +31,18 @@ __fmaf_fma3 (float x, float y, float z)
 }
 
 
-# ifdef HAVE_FMA4_SUPPORT
+#ifdef HAVE_FMA4_SUPPORT
 static float
 __fmaf_fma4 (float x, float y, float z)
 {
   asm ("vfmaddss %3, %2, %1, %0" : "=x" (x) : "x" (x), "x" (y), "x" (z));
   return x;
 }
-# else
-#  undef HAS_ARCH_FEATURE
-#  define HAS_ARCH_FEATURE(feature) 0
-#  define __fmaf_fma4 ((void *) 0)
-# endif
+#else
+# undef HAS_ARCH_FEATURE
+# define HAS_ARCH_FEATURE(feature) 0
+# define __fmaf_fma4 ((void *) 0)
+#endif
 
 
 libm_ifunc (__fmaf, HAS_ARCH_FEATURE (FMA_Usable)
@@ -52,7 +50,6 @@ libm_ifunc (__fmaf, HAS_ARCH_FEATURE (FMA_Usable)
                             ? __fmaf_fma4 : __fmaf_sse2));
 weak_alias (__fmaf, fmaf)
 
-# define __fmaf __fmaf_sse2
-#endif
+#define __fmaf __fmaf_sse2
 
 #include <sysdeps/ieee754/dbl-64/s_fmaf.c>
index 3bc73306dc6143ee9ef633ab8e8642aaa60040a1..c36ea2577eac9c631ff68aa9d2585e84106992a8 100644 (file)
@@ -1,21 +1,20 @@
-#if defined HAVE_FMA4_SUPPORT || defined HAVE_AVX_SUPPORT
-# include <init-arch.h>
-# include <math.h>
-# undef NAN
+#include <init-arch.h>
+#include <math.h>
+#undef NAN
 
 extern double __cos_sse2 (double);
 extern double __sin_sse2 (double);
 extern double __cos_avx (double);
 extern double __sin_avx (double);
-# ifdef HAVE_FMA4_SUPPORT
+#ifdef HAVE_FMA4_SUPPORT
 extern double __cos_fma4 (double);
 extern double __sin_fma4 (double);
-# else
-#  undef HAS_ARCH_FEATURE
-#  define HAS_ARCH_FEATURE(feature) 0
-#  define __cos_fma4 ((void *) 0)
-#  define __sin_fma4 ((void *) 0)
-# endif
+#else
+# undef HAS_ARCH_FEATURE
+# define HAS_ARCH_FEATURE(feature) 0
+# define __cos_fma4 ((void *) 0)
+# define __sin_fma4 ((void *) 0)
+#endif
 
 libm_ifunc (__cos, (HAS_ARCH_FEATURE (FMA4_Usable) ? __cos_fma4 :
                    HAS_ARCH_FEATURE (AVX_Usable)
@@ -27,9 +26,8 @@ libm_ifunc (__sin, (HAS_ARCH_FEATURE (FMA4_Usable) ? __sin_fma4 :
                    ? __sin_avx : __sin_sse2));
 weak_alias (__sin, sin)
 
-# define __cos __cos_sse2
-# define __sin __sin_sse2
-#endif
+#define __cos __cos_sse2
+#define __sin __sin_sse2
 
 
 #include <sysdeps/ieee754/dbl-64/s_sin.c>
index d99d9db3d5545c62986a37ffb603bf5ff5af01b3..48848b2c4098a226f4952e181c36676c532147cb 100644 (file)
@@ -1,23 +1,21 @@
-#if defined HAVE_FMA4_SUPPORT || defined HAVE_AVX_SUPPORT
-# include <init-arch.h>
-# include <math.h>
+#include <init-arch.h>
+#include <math.h>
 
 extern double __tan_sse2 (double);
 extern double __tan_avx (double);
-# ifdef HAVE_FMA4_SUPPORT
+#ifdef HAVE_FMA4_SUPPORT
 extern double __tan_fma4 (double);
-# else
-#  undef HAS_ARCH_FEATURE
-#  define HAS_ARCH_FEATURE(feature) 0
-#  define __tan_fma4 ((void *) 0)
-# endif
+#else
+# undef HAS_ARCH_FEATURE
+# define HAS_ARCH_FEATURE(feature) 0
+# define __tan_fma4 ((void *) 0)
+#endif
 
 libm_ifunc (tan, (HAS_ARCH_FEATURE (FMA4_Usable) ? __tan_fma4 :
                  HAS_ARCH_FEATURE (AVX_Usable)
                  ? __tan_avx : __tan_sse2));
 
-# define tan __tan_sse2
-#endif
+#define tan __tan_sse2
 
 
 #include <sysdeps/ieee754/dbl-64/s_tan.c>
index c180ce6cf3e8ba79f452143587192713754e947a..ad7892b52b41a8ce22ae421de88e32ae6815fbd2 100644 (file)
@@ -107,11 +107,9 @@ END(STRCMP)
 ENTRY(__strcasecmp)
        .type   __strcasecmp, @gnu_indirect_function
        LOAD_RTLD_GLOBAL_RO_RDX
-#  ifdef HAVE_AVX_SUPPORT
        leaq    __strcasecmp_avx(%rip), %rax
        HAS_ARCH_FEATURE (AVX_Usable)
        jnz     3f
-#  endif
        HAS_ARCH_FEATURE (Slow_SSE4_2)
        jnz     2f
        leaq    __strcasecmp_sse42(%rip), %rax
@@ -129,11 +127,9 @@ weak_alias (__strcasecmp, strcasecmp)
 ENTRY(__strncasecmp)
        .type   __strncasecmp, @gnu_indirect_function
        LOAD_RTLD_GLOBAL_RO_RDX
-#  ifdef HAVE_AVX_SUPPORT
        leaq    __strncasecmp_avx(%rip), %rax
        HAS_ARCH_FEATURE (AVX_Usable)
        jnz     3f
-#  endif
        HAS_ARCH_FEATURE (Slow_SSE4_2)
        jnz     2f
        leaq    __strncasecmp_sse42(%rip), %rax
@@ -155,16 +151,14 @@ weak_alias (__strncasecmp, strncasecmp)
 # include "strcmp-sse42.S"
 
 
-# ifdef HAVE_AVX_SUPPORT
-#  if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L
-#   define LABEL(l) .L##l##_avx
-#   define GLABEL(l) l##_avx
-#   define USE_AVX 1
-#   undef STRCMP_SSE42
-#   define STRCMP_SSE42 STRCMP_AVX
-#   define SECTION avx
-#   include "strcmp-sse42.S"
-#  endif
+# if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L
+#  define LABEL(l) .L##l##_avx
+#  define GLABEL(l) l##_avx
+#  define USE_AVX 1
+#  undef STRCMP_SSE42
+#  define STRCMP_SSE42 STRCMP_AVX
+#  define SECTION avx
+#  include "strcmp-sse42.S"
 # endif