This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH] Compile AVX libm functions with -mavx
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: GNU C Library <libc-alpha at sourceware dot org>
- Date: Tue, 2 Oct 2012 06:53:25 -0700
- Subject: [PATCH] Compile AVX libm functions with -mavx
Hi,
This patch compiles AVX libm functions with -mavx. It reduces text size
of libm.so by about 1%:
Before
gnu-tools-1:pts/4[17]> size libm.so
text data bss dec hex filename
1027977 876 72 1028925 fb33d libm.so
After:
gnu-tools-1:pts/3[25]> size libm.so
text data bss dec hex filename
1018017 876 72 1018965 f8c55 libm.so
Tested on AVX machine. OK for trunk?
Thanks.
H.J.
---
sysdeps/x86_64/fpu/multiarch/Makefile | 22 +++++++++++-----------
2 files changed, 25 insertions(+), 11 deletions(-)
create mode 100644 ChangeLog.pr14654
2012-10-02 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/x86_64/fpu/multiarch/Makefile: Check config-cflags-avx
instead of config-cflags-sse2avx.
(CFLAGS-e_atan2-avx.c): Set to -mavx.
(CFLAGS-e_exp-avx.c): Likewise.
(CFLAGS-e_log-avx.c): Likewise.
(CFLAGS-mpa-avx.c): Likewise.
(CFLAGS-mpexp-avx.c): Likewise.
(CFLAGS-mplog-avx.c): Likewise.
(CFLAGS-s_atan-avx.c): Likewise.
(CFLAGS-s_sin-avx.c): Likewise.
(CFLAGS-slowexp-avx.c): Likewise.
(CFLAGS-s_tan-avx.c): Likewise.
diff --git a/sysdeps/x86_64/fpu/multiarch/Makefile b/sysdeps/x86_64/fpu/multiarch/Makefile
index 12b0526..ad09ac4 100644
--- a/sysdeps/x86_64/fpu/multiarch/Makefile
+++ b/sysdeps/x86_64/fpu/multiarch/Makefile
@@ -33,21 +33,21 @@ CFLAGS-s_sin-fma4.c = -mfma4
CFLAGS-s_tan-fma4.c = -mfma4
endif
-ifeq ($(config-cflags-sse2avx),yes)
+ifeq ($(config-cflags-avx),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 \
mpexp-avx
-CFLAGS-e_atan2-avx.c = -msse2avx -DSSE2AVX
-CFLAGS-e_exp-avx.c = -msse2avx -DSSE2AVX
-CFLAGS-e_log-avx.c = -msse2avx -DSSE2AVX
-CFLAGS-mpa-avx.c = -msse2avx -DSSE2AVX
-CFLAGS-mpexp-avx.c = -msse2avx -DSSE2AVX
-CFLAGS-mplog-avx.c = -msse2avx -DSSE2AVX
-CFLAGS-s_atan-avx.c = -msse2avx -DSSE2AVX
-CFLAGS-s_sin-avx.c = -msse2avx -DSSE2AVX
-CFLAGS-slowexp-avx.c = -msse2avx -DSSE2AVX
-CFLAGS-s_tan-avx.c = -msse2avx -DSSE2AVX
+CFLAGS-e_atan2-avx.c = -mavx
+CFLAGS-e_exp-avx.c = -mavx
+CFLAGS-e_log-avx.c = -mavx
+CFLAGS-mpa-avx.c = -mavx
+CFLAGS-mpexp-avx.c = -mavx
+CFLAGS-mplog-avx.c = -mavx
+CFLAGS-s_atan-avx.c = -mavx
+CFLAGS-s_sin-avx.c = -mavx
+CFLAGS-slowexp-avx.c = -mavx
+CFLAGS-s_tan-avx.c = -mavx
endif
endif
--
1.7.11.4