about summary refs log tree commit diff
path: root/sysdeps/x86_64/fpu/multiarch
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2021-10-11 18:07:09 -0700
committerH.J. Lu <hjl.tools@gmail.com>2021-10-20 11:53:45 -0700
commitd962cce139583c71fcbe9a05dc4c5fa68f72f655 (patch)
tree512381b317b5021de12ba1b0c35f2cb131760d9b /sysdeps/x86_64/fpu/multiarch
parente037274c8ec86ca9d491331984b34f30701b23cf (diff)
downloadglibc-d962cce139583c71fcbe9a05dc4c5fa68f72f655.tar.gz
glibc-d962cce139583c71fcbe9a05dc4c5fa68f72f655.tar.xz
glibc-d962cce139583c71fcbe9a05dc4c5fa68f72f655.zip
x86-64: Add sysdeps/x86_64/fpu/Makeconfig
1. Add sysdeps/x86_64/fpu/Makeconfig to auto-generate libmvec.mk, which
contains libmvec ABI test dependencies and CFLAGS, in the build directory.
2. Include libmvec.mk for libmvec ABI test dependencies and CFLAGS.

Tested on SSE4, AVX, AVX2 and AVX512 machines.

Reviewed-by: Noah Goldstein <goldstein.w.n@gmail.com>
Diffstat (limited to 'sysdeps/x86_64/fpu/multiarch')
-rw-r--r--sysdeps/x86_64/fpu/multiarch/Makefile68
1 files changed, 20 insertions, 48 deletions
diff --git a/sysdeps/x86_64/fpu/multiarch/Makefile b/sysdeps/x86_64/fpu/multiarch/Makefile
index d425ffd6d3..ec796277a5 100644
--- a/sysdeps/x86_64/fpu/multiarch/Makefile
+++ b/sysdeps/x86_64/fpu/multiarch/Makefile
@@ -59,52 +59,24 @@ CFLAGS-s_tan-avx.c = -msse2avx -DSSE2AVX
 endif
 
 ifeq ($(subdir),mathvec)
-libmvec-sysdep_routines += svml_d_cos2_core_sse4 svml_d_cos4_core_avx2 \
-			   svml_d_cos8_core_avx512 svml_d_sin2_core_sse4 \
-			   svml_d_sin4_core_avx2 svml_d_sin8_core_avx512 \
-			   svml_d_log2_core_sse4 svml_d_log4_core_avx2 \
-			   svml_d_log8_core_avx512 svml_d_sincos2_core_sse4 \
-			   svml_d_sincos4_core_avx2 svml_d_sincos8_core_avx512 \
-			   svml_s_cosf4_core_sse4 svml_s_cosf8_core_avx2 \
-			   svml_s_cosf16_core_avx512 svml_s_sinf4_core_sse4 \
-			   svml_s_sinf8_core_avx2 svml_s_sinf16_core_avx512 \
-			   svml_s_logf4_core_sse4 svml_s_logf8_core_avx2 \
-			   svml_s_logf16_core_avx512 svml_d_exp2_core_sse4 \
-			   svml_d_exp4_core_avx2 svml_d_exp8_core_avx512 \
-			   svml_s_expf4_core_sse4 svml_s_expf8_core_avx2 \
-			   svml_s_expf16_core_avx512 svml_d_pow2_core_sse4 \
-			   svml_d_pow4_core_avx2 svml_d_pow8_core_avx512 \
-			   svml_s_powf4_core_sse4 svml_s_powf8_core_avx2 \
-			   svml_s_powf16_core_avx512 svml_s_sincosf4_core_sse4 \
-			   svml_s_sincosf8_core_avx2 \
-			   svml_s_sincosf16_core_avx512 \
-			   svml_d_cos2_core-sse2 svml_d_cos4_core-sse \
-			   svml_d_cos8_core-avx2 svml_d_exp2_core-sse2 \
-			   svml_d_exp4_core-sse svml_d_exp8_core-avx2 \
-			   svml_d_log2_core-sse2 svml_d_log4_core-sse \
-			   svml_d_log8_core-avx2 svml_d_pow2_core-sse2 \
-			   svml_d_pow4_core-sse svml_d_pow8_core-avx2 \
-			   svml_d_sin2_core-sse2 svml_d_sin4_core-sse \
-			   svml_d_sin8_core-avx2 \
-			   svml_d_sincos2_core-sse2 \
-			   svml_d_sincos4_core-sse \
-			   svml_d_sincos8_core-avx2 \
-			   svml_s_cosf16_core-avx2 \
-			   svml_s_cosf4_core-sse2 \
-			   svml_s_cosf8_core-sse \
-			   svml_s_expf16_core-avx2 \
-			   svml_s_expf4_core-sse2 \
-			   svml_s_expf8_core-sse \
-			   svml_s_logf16_core-avx2 \
-			   svml_s_logf4_core-sse2 \
-			   svml_s_logf8_core-sse \
-			   svml_s_powf16_core-avx2 \
-			   svml_s_powf4_core-sse2 \
-			   svml_s_powf8_core-sse \
-			   svml_s_sincosf16_core-avx2 \
-			   svml_s_sincosf4_core-sse2 \
-			   svml_s_sincosf8_core-sse \
-			   svml_s_sinf16_core-avx2 \
-			   svml_s_sinf4_core-sse2 \
-			   svml_s_sinf8_core-sse
+libmvec-multiarch-double-func-list = \
+  2_core-sse2 \
+  2_core_sse4 \
+  4_core-sse \
+  4_core_avx2 \
+  8_core-avx2 \
+  8_core_avx512
+libmvec-multiarch-float-func-list = \
+  f4_core-sse2 \
+  f4_core_sse4 \
+  f8_core-sse \
+  f8_core_avx2 \
+  f16_core-avx2 \
+  f16_core_avx512
+
+libmvec-sysdep_routines += \
+  $(foreach l,$(libmvec-multiarch-double-func-list), \
+    $(addprefix svml_d_,$(addsuffix $(l),$(libmvec-funcs)))) \
+  $(foreach l,$(libmvec-multiarch-float-func-list), \
+    $(addprefix svml_s_,$(addsuffix $(l),$(libmvec-funcs))))
 endif