x86: Improve svml_s_atanhf8_core_avx2.S
[glibc.git] / sysdeps / x86_64 / fpu / multiarch / Makefile
blob248162525bab14ee123f0f8b84f2dbaa697c3145
1 ifeq ($(subdir),math)
2 libm-sysdep_routines += s_floor-c s_ceil-c s_floorf-c s_ceilf-c \
3 s_rint-c s_rintf-c s_nearbyint-c s_nearbyintf-c \
4 s_roundeven-c s_roundevenf-c s_trunc-c s_truncf-c
6 libm-sysdep_routines += s_ceil-sse4_1 s_ceilf-sse4_1 s_floor-sse4_1 \
7 s_floorf-sse4_1 s_nearbyint-sse4_1 \
8 s_nearbyintf-sse4_1 s_roundeven-sse4_1 \
9 s_roundevenf-sse4_1 s_rint-sse4_1 s_rintf-sse4_1 \
10 s_trunc-sse4_1 s_truncf-sse4_1
12 libm-sysdep_routines += e_exp-fma e_log-fma e_pow-fma s_atan-fma \
13 e_asin-fma e_atan2-fma s_sin-fma s_tan-fma \
14 s_sincos-fma
16 CFLAGS-e_asin-fma.c = -mfma -mavx2
17 CFLAGS-e_atan2-fma.c = -mfma -mavx2
18 CFLAGS-e_exp-fma.c = -mfma -mavx2
19 CFLAGS-e_log-fma.c = -mfma -mavx2
20 CFLAGS-e_pow-fma.c = -mfma -mavx2
21 CFLAGS-s_atan-fma.c = -mfma -mavx2
22 CFLAGS-s_sin-fma.c = -mfma -mavx2
23 CFLAGS-s_tan-fma.c = -mfma -mavx2
24 CFLAGS-s_sincos-fma.c = -mfma -mavx2
26 libm-sysdep_routines += s_sinf-sse2 s_cosf-sse2 s_sincosf-sse2
28 libm-sysdep_routines += e_exp2f-fma e_expf-fma e_log2f-fma e_logf-fma \
29 e_powf-fma s_sinf-fma s_cosf-fma s_sincosf-fma
31 CFLAGS-e_exp2f-fma.c = -mfma -mavx2
32 CFLAGS-e_expf-fma.c = -mfma -mavx2
33 CFLAGS-e_log2f-fma.c = -mfma -mavx2
34 CFLAGS-e_logf-fma.c = -mfma -mavx2
35 CFLAGS-e_powf-fma.c = -mfma -mavx2
36 CFLAGS-s_sinf-fma.c = -mfma -mavx2
37 CFLAGS-s_cosf-fma.c = -mfma -mavx2
38 CFLAGS-s_sincosf-fma.c = -mfma -mavx2
40 libm-sysdep_routines += e_exp-fma4 e_log-fma4 e_pow-fma4 s_atan-fma4 \
41 e_asin-fma4 e_atan2-fma4 s_sin-fma4 s_tan-fma4 \
42 s_sincos-fma4
44 CFLAGS-e_asin-fma4.c = -mfma4
45 CFLAGS-e_atan2-fma4.c = -mfma4
46 CFLAGS-e_exp-fma4.c = -mfma4
47 CFLAGS-e_log-fma4.c = -mfma4
48 CFLAGS-e_pow-fma4.c = -mfma4
49 CFLAGS-s_atan-fma4.c = -mfma4
50 CFLAGS-s_sin-fma4.c = -mfma4
51 CFLAGS-s_tan-fma4.c = -mfma4
52 CFLAGS-s_sincos-fma4.c = -mfma4
54 libm-sysdep_routines += e_exp-avx e_log-avx s_atan-avx \
55 e_atan2-avx s_sin-avx s_tan-avx \
56 s_sincos-avx
58 CFLAGS-e_atan2-avx.c = -msse2avx -DSSE2AVX
59 CFLAGS-e_exp-avx.c = -msse2avx -DSSE2AVX
60 CFLAGS-e_log-avx.c = -msse2avx -DSSE2AVX
61 CFLAGS-s_atan-avx.c = -msse2avx -DSSE2AVX
62 CFLAGS-s_sin-avx.c = -msse2avx -DSSE2AVX
63 CFLAGS-s_tan-avx.c = -msse2avx -DSSE2AVX
64 CFLAGS-s_sincos-avx.c = -msse2avx -DSSE2AVX
65 endif
67 ifeq ($(subdir),mathvec)
68 libmvec-multiarch-double-func-list = \
69 2_core-sse2 \
70 2_core_sse4 \
71 4_core-sse \
72 4_core_avx2 \
73 8_core-avx2 \
74 8_core_avx512
75 libmvec-multiarch-float-func-list = \
76 f4_core-sse2 \
77 f4_core_sse4 \
78 f8_core-sse \
79 f8_core_avx2 \
80 f16_core-avx2 \
81 f16_core_avx512
83 libmvec-sysdep_routines += \
84 $(foreach l,$(libmvec-multiarch-double-func-list), \
85 $(addprefix svml_d_,$(addsuffix $(l),$(libmvec-funcs)))) \
86 $(foreach l,$(libmvec-multiarch-float-func-list), \
87 $(addprefix svml_s_,$(addsuffix $(l),$(libmvec-funcs))))
88 endif