aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@gmail.com>2011-10-28 16:55:01 -0400
committerUlrich Drepper <drepper@gmail.com>2011-10-28 16:55:01 -0400
commita5b81e1fb7c6a5e323785598767460fe040ca778 (patch)
treefcc77bd050b6f81ecd8fce64840bf03decc6e501
parent0c92d8a87a47ab3276b4591bd084001053c5af2d (diff)
downloadglibc-a5b81e1fb7c6a5e323785598767460fe040ca778.tar
glibc-a5b81e1fb7c6a5e323785598767460fe040ca778.tar.gz
glibc-a5b81e1fb7c6a5e323785598767460fe040ca778.tar.bz2
glibc-a5b81e1fb7c6a5e323785598767460fe040ca778.zip
Remove code without too much effects
Some of the AVX-specific code is not giving enough speed-up to justify the extra code.
-rw-r--r--ChangeLog23
-rw-r--r--sysdeps/x86_64/fpu/multiarch/Makefile15
-rw-r--r--sysdeps/x86_64/fpu/multiarch/brandred-avx.c4
-rw-r--r--sysdeps/x86_64/fpu/multiarch/doasin-avx.c4
-rw-r--r--sysdeps/x86_64/fpu/multiarch/dosincos-avx.c6
-rw-r--r--sysdeps/x86_64/fpu/multiarch/e_asin-avx.c11
-rw-r--r--sysdeps/x86_64/fpu/multiarch/e_asin.c17
-rw-r--r--sysdeps/x86_64/fpu/multiarch/e_atan2-avx.c1
-rw-r--r--sysdeps/x86_64/fpu/multiarch/mpatan-avx.c10
-rw-r--r--sysdeps/x86_64/fpu/multiarch/mpatan2-avx.c9
-rw-r--r--sysdeps/x86_64/fpu/multiarch/mpsqrt-avx.c8
-rw-r--r--sysdeps/x86_64/fpu/multiarch/mptan-avx.c7
-rw-r--r--sysdeps/x86_64/fpu/multiarch/s_atan-avx.c1
-rw-r--r--sysdeps/x86_64/fpu/multiarch/s_sin-avx.c7
-rw-r--r--sysdeps/x86_64/fpu/multiarch/s_tan-avx.c3
-rw-r--r--sysdeps/x86_64/fpu/multiarch/sincos32-avx.c15
16 files changed, 28 insertions, 113 deletions
diff --git a/ChangeLog b/ChangeLog
index 943ff2db41..bd571c2f02 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,26 @@
+2011-10-28 Ulrich Drepper <drepper@gmail.com>
+
+ * sysdeps/x86_64/fpu/multiarch/Makefile: Don't build brandred-avx.c,
+ doasin-avx.c, dosincos-avx.c, e_asin-avx.c, mpatan-avx.c,
+ mpatan2-avx.c, mpsqrt-avx.c, mptan-avx.c, sincos32-avx.c.
+ * sysdeps/x86_64/fpu/multiarch/e_asin.c: There are no _avx variants
+ anymore.
+ * sysdeps/x86_64/fpu/multiarch/e_atan2-avx.c: Don't redirect __mpatan2.
+ * sysdeps/x86_64/fpu/multiarch/s_atan-avx.c: Don't redirect __mpatan.
+ * sysdeps/x86_64/fpu/multiarch/s_sin-avx.c: Don't redirect __branred,
+ __docos, __dubsin, __mpcos, __mpcos1, __mpsin, __mpsin1.
+ * sysdeps/x86_64/fpu/multiarch/s_tan-avx.c: Don't redirect __branred,
+ __mpranred, __mptan.
+ * sysdeps/x86_64/fpu/multiarch/brandred-avx.c: Removed.
+ * sysdeps/x86_64/fpu/multiarch/doasin-avx.c: Removed.
+ * sysdeps/x86_64/fpu/multiarch/dosincos-avx.c: Removed.
+ * sysdeps/x86_64/fpu/multiarch/e_asin-avx.c: Removed.
+ * sysdeps/x86_64/fpu/multiarch/mpatan-avx.c: Removed.
+ * sysdeps/x86_64/fpu/multiarch/mpatan2-avx.c: Removed.
+ * sysdeps/x86_64/fpu/multiarch/mpsqrt-avx.c: Removed.
+ * sysdeps/x86_64/fpu/multiarch/mptan-avx.c: Removed.
+ * sysdeps/x86_64/fpu/multiarch/sincos32-avx.c: Removed.
+
2011-10-28 Andreas Schwab <schwab@redhat.com>
* sysdeps/i386/i686/multiarch/strnlen-c.c (libc_hidden_def): Only
diff --git a/sysdeps/x86_64/fpu/multiarch/Makefile b/sysdeps/x86_64/fpu/multiarch/Makefile
index f97ce1699d..be689036dc 100644
--- a/sysdeps/x86_64/fpu/multiarch/Makefile
+++ b/sysdeps/x86_64/fpu/multiarch/Makefile
@@ -36,29 +36,18 @@ endif
ifeq ($(config-cflags-avx),yes)
libm-sysdep_routines += e_exp-avx e_log-avx s_atan-avx \
- e_asin-avx e_atan2-avx s_sin-avx s_tan-avx \
+ e_atan2-avx s_sin-avx s_tan-avx \
mplog-avx mpa-avx slowexp-avx \
- sincos32-avx doasin-avx dosincos-avx \
- brandred-avx mpexp-avx \
- mpatan2-avx mpatan-avx mpsqrt-avx mptan-avx
+ mpexp-avx
-CFLAGS-brandred-avx.c = -mavx
-CFLAGS-doasin-avx.c = -mavx
-CFLAGS-dosincos-avx.c = -mavx
-CFLAGS-e_asin-avx.c = -mavx
CFLAGS-e_atan2-avx.c = -mavx
CFLAGS-e_exp-avx.c = -mavx
CFLAGS-e_log-avx.c = -mavx
CFLAGS-mpa-avx.c = -mavx
-CFLAGS-mpatan-avx.c = -mavx
-CFLAGS-mpatan2-avx.c = -mavx
CFLAGS-mpexp-avx.c = -mavx
CFLAGS-mplog-avx.c = -mavx
-CFLAGS-mpsqrt-avx.c = -mavx
-CFLAGS-mptan-avx.c = -mavx
CFLAGS-s_atan-avx.c = -mavx
CFLAGS-s_sin-avx.c = -mavx
-CFLAGS-sincos32-avx.c = -mavx
CFLAGS-slowexp-avx.c = -mavx
CFLAGS-s_tan-avx.c = -mavx
endif
diff --git a/sysdeps/x86_64/fpu/multiarch/brandred-avx.c b/sysdeps/x86_64/fpu/multiarch/brandred-avx.c
deleted file mode 100644
index 2f6edffadd..0000000000
--- a/sysdeps/x86_64/fpu/multiarch/brandred-avx.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#define __branred __branred_avx
-#define SECTION __attribute__ ((section (".text.avx")))
-
-#include <sysdeps/ieee754/dbl-64/branred.c>
diff --git a/sysdeps/x86_64/fpu/multiarch/doasin-avx.c b/sysdeps/x86_64/fpu/multiarch/doasin-avx.c
deleted file mode 100644
index 86781c1562..0000000000
--- a/sysdeps/x86_64/fpu/multiarch/doasin-avx.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#define __doasin __doasin_avx
-#define SECTION __attribute__ ((section (".text.avx")))
-
-#include <sysdeps/ieee754/dbl-64/doasin.c>
diff --git a/sysdeps/x86_64/fpu/multiarch/dosincos-avx.c b/sysdeps/x86_64/fpu/multiarch/dosincos-avx.c
deleted file mode 100644
index ffa18743df..0000000000
--- a/sysdeps/x86_64/fpu/multiarch/dosincos-avx.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#define __docos __docos_avx
-#define __dubcos __dubcos_avx
-#define __dubsin __dubsin_avx
-#define SECTION __attribute__ ((section (".text.avx")))
-
-#include <sysdeps/ieee754/dbl-64/dosincos.c>
diff --git a/sysdeps/x86_64/fpu/multiarch/e_asin-avx.c b/sysdeps/x86_64/fpu/multiarch/e_asin-avx.c
deleted file mode 100644
index 7f89e4f14e..0000000000
--- a/sysdeps/x86_64/fpu/multiarch/e_asin-avx.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#define __ieee754_acos __ieee754_acos_avx
-#define __ieee754_asin __ieee754_asin_avx
-#define __cos32 __cos32_avx
-#define __doasin __doasin_avx
-#define __docos __docos_avx
-#define __dubcos __dubcos_avx
-#define __dubsin __dubsin_avx
-#define __sin32 __sin32_avx
-#define SECTION __attribute__ ((section (".text.avx")))
-
-#include <sysdeps/ieee754/dbl-64/e_asin.c>
diff --git a/sysdeps/x86_64/fpu/multiarch/e_asin.c b/sysdeps/x86_64/fpu/multiarch/e_asin.c
index bb711b1ffc..e742a9c133 100644
--- a/sysdeps/x86_64/fpu/multiarch/e_asin.c
+++ b/sysdeps/x86_64/fpu/multiarch/e_asin.c
@@ -1,29 +1,18 @@
-#if defined HAVE_FMA4_SUPPORT || defined HAVE_AVX_SUPPORT
+#ifdef HAVE_FMA4_SUPPORT
# include <init-arch.h>
# include <math_private.h>
extern double __ieee754_acos_sse2 (double);
extern double __ieee754_asin_sse2 (double);
-extern double __ieee754_acos_avx (double);
-extern double __ieee754_asin_avx (double);
-# ifdef HAVE_FMA4_SUPPORT
extern double __ieee754_acos_fma4 (double);
extern double __ieee754_asin_fma4 (double);
-# else
-# undef HAS_FMA4
-# define HAS_FMA4 0
-# define __ieee754_acos_fma4 ((void *) 0)
-# define __ieee754_asin_fma4 ((void *) 0)
-# endif
libm_ifunc (__ieee754_acos,
- HAS_FMA4 ? __ieee754_acos_fma4
- : (HAS_AVX ? __ieee754_acos_avx : __ieee754_acos_sse2));
+ HAS_FMA4 ? __ieee754_acos_fma4 : __ieee754_acos_sse2);
strong_alias (__ieee754_acos, __acos_finite)
libm_ifunc (__ieee754_asin,
- HAS_FMA4 ? __ieee754_asin_fma4
- : (HAS_AVX ? __ieee754_asin_avx : __ieee754_asin_sse2));
+ HAS_FMA4 ? __ieee754_asin_fma4 : __ieee754_asin_sse2);
strong_alias (__ieee754_asin, __asin_finite)
# define __ieee754_acos __ieee754_acos_sse2
diff --git a/sysdeps/x86_64/fpu/multiarch/e_atan2-avx.c b/sysdeps/x86_64/fpu/multiarch/e_atan2-avx.c
index 13155c87dc..3012afac37 100644
--- a/sysdeps/x86_64/fpu/multiarch/e_atan2-avx.c
+++ b/sysdeps/x86_64/fpu/multiarch/e_atan2-avx.c
@@ -2,7 +2,6 @@
#define __add __add_avx
#define __dbl_mp __dbl_mp_avx
#define __dvd __dvd_avx
-#define __mpatan2 __mpatan2_avx
#define __mul __mul_avx
#define __sub __sub_avx
#define SECTION __attribute__ ((section (".text.avx")))
diff --git a/sysdeps/x86_64/fpu/multiarch/mpatan-avx.c b/sysdeps/x86_64/fpu/multiarch/mpatan-avx.c
deleted file mode 100644
index e26e1fa3e9..0000000000
--- a/sysdeps/x86_64/fpu/multiarch/mpatan-avx.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#define __mpatan __mpatan_avx
-#define __add __add_avx
-#define __dvd __dvd_avx
-#define __mpsqrt __mpsqrt_avx
-#define __mul __mul_avx
-#define __sub __sub_avx
-#define AVOID_MPATAN_H 1
-#define SECTION __attribute__ ((section (".text.avx")))
-
-#include <sysdeps/ieee754/dbl-64/mpatan.c>
diff --git a/sysdeps/x86_64/fpu/multiarch/mpatan2-avx.c b/sysdeps/x86_64/fpu/multiarch/mpatan2-avx.c
deleted file mode 100644
index fa824d69bf..0000000000
--- a/sysdeps/x86_64/fpu/multiarch/mpatan2-avx.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#define __mpatan2 __mpatan2_avx
-#define __add __add_avx
-#define __dvd __dvd_avx
-#define __mpatan __mpatan_avx
-#define __mpsqrt __mpsqrt_avx
-#define __mul __mul_avx
-#define SECTION __attribute__ ((section (".text.avx")))
-
-#include <sysdeps/ieee754/dbl-64/mpatan2.c>
diff --git a/sysdeps/x86_64/fpu/multiarch/mpsqrt-avx.c b/sysdeps/x86_64/fpu/multiarch/mpsqrt-avx.c
deleted file mode 100644
index 26f2fb30fb..0000000000
--- a/sysdeps/x86_64/fpu/multiarch/mpsqrt-avx.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#define __mpsqrt __mpsqrt_avx
-#define __dbl_mp __dbl_mp_avx
-#define __mul __mul_avx
-#define __sub __sub_avx
-#define AVOID_MPSQRT_H 1
-#define SECTION __attribute__ ((section (".text.avx")))
-
-#include <sysdeps/ieee754/dbl-64/mpsqrt.c>
diff --git a/sysdeps/x86_64/fpu/multiarch/mptan-avx.c b/sysdeps/x86_64/fpu/multiarch/mptan-avx.c
deleted file mode 100644
index 02514b7839..0000000000
--- a/sysdeps/x86_64/fpu/multiarch/mptan-avx.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#define __mptan __mptan_avx
-#define __c32 __c32_avx
-#define __dvd __dvd_avx
-#define __mpranred __mpranred_avx
-#define SECTION __attribute__ ((section (".text.avx")))
-
-#include <sysdeps/ieee754/dbl-64/mptan.c>
diff --git a/sysdeps/x86_64/fpu/multiarch/s_atan-avx.c b/sysdeps/x86_64/fpu/multiarch/s_atan-avx.c
index 8e7022f51f..b5cb9c3a75 100644
--- a/sysdeps/x86_64/fpu/multiarch/s_atan-avx.c
+++ b/sysdeps/x86_64/fpu/multiarch/s_atan-avx.c
@@ -1,7 +1,6 @@
#define atan __atan_avx
#define __add __add_avx
#define __dbl_mp __dbl_mp_avx
-#define __mpatan __mpatan_avx
#define __mul __mul_avx
#define __sub __sub_avx
#define SECTION __attribute__ ((section (".text.avx")))
diff --git a/sysdeps/x86_64/fpu/multiarch/s_sin-avx.c b/sysdeps/x86_64/fpu/multiarch/s_sin-avx.c
index c0ccf4be77..e1c6de0259 100644
--- a/sysdeps/x86_64/fpu/multiarch/s_sin-avx.c
+++ b/sysdeps/x86_64/fpu/multiarch/s_sin-avx.c
@@ -1,12 +1,5 @@
#define __cos __cos_avx
#define __sin __sin_avx
-#define __branred __branred_avx
-#define __docos __docos_avx
-#define __dubsin __dubsin_avx
-#define __mpcos __mpcos_avx
-#define __mpcos1 __mpcos1_avx
-#define __mpsin __mpsin_avx
-#define __mpsin1 __mpsin1_avx
#define SECTION __attribute__ ((section (".text.avx")))
#include <sysdeps/ieee754/dbl-64/s_sin.c>
diff --git a/sysdeps/x86_64/fpu/multiarch/s_tan-avx.c b/sysdeps/x86_64/fpu/multiarch/s_tan-avx.c
index f31ff65b6c..53de5d3c98 100644
--- a/sysdeps/x86_64/fpu/multiarch/s_tan-avx.c
+++ b/sysdeps/x86_64/fpu/multiarch/s_tan-avx.c
@@ -1,8 +1,5 @@
#define tan __tan_avx
-#define __branred __branred_avx
#define __dbl_mp __dbl_mp_avx
-#define __mpranred __mpranred_avx
-#define __mptan __mptan_avx
#define __sub __sub_avx
#define SECTION __attribute__ ((section (".text.avx")))
diff --git a/sysdeps/x86_64/fpu/multiarch/sincos32-avx.c b/sysdeps/x86_64/fpu/multiarch/sincos32-avx.c
deleted file mode 100644
index 5af51ab38d..0000000000
--- a/sysdeps/x86_64/fpu/multiarch/sincos32-avx.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#define __cos32 __cos32_avx
-#define __sin32 __sin32_avx
-#define __c32 __c32_avx
-#define __mpsin __mpsin_avx
-#define __mpsin1 __mpsin1_avx
-#define __mpcos __mpcos_avx
-#define __mpcos1 __mpcos1_avx
-#define __mpranred __mpranred_avx
-#define __add __add_avx
-#define __dbl_mp __dbl_mp_avx
-#define __mul __mul_avx
-#define __sub __sub_avx
-#define SECTION __attribute__ ((section (".text.avx")))
-
-#include <sysdeps/ieee754/dbl-64/sincos32.c>