LoongArch: Update ulps
[glibc.git] / sysdeps / x86_64 / fpu / multiarch / Makefile
blobe823d2fcc6d7e488c7853ebf198b3452f11c16f1
1 ifeq ($(subdir),math)
2 CFLAGS-e_asin-fma.c = -mfma -mavx2
3 CFLAGS-e_atan2-fma.c = -mfma -mavx2
4 CFLAGS-e_exp-fma.c = -mfma -mavx2
5 CFLAGS-e_log-fma.c = -mfma -mavx2
6 CFLAGS-e_log2-fma.c = -mfma -mavx2
7 CFLAGS-e_pow-fma.c = -mfma -mavx2
8 CFLAGS-s_atan-fma.c = -mfma -mavx2
9 CFLAGS-s_expm1-fma.c = -mfma -mavx2
10 CFLAGS-s_log1p-fma.c = -mfma -mavx2
11 CFLAGS-s_sin-fma.c = -mfma -mavx2
12 CFLAGS-s_tan-fma.c = -mfma -mavx2
13 CFLAGS-s_sincos-fma.c = -mfma -mavx2
14 CFLAGS-s_exp10m1f-fma.c = -mfma -mavx2
15 CFLAGS-s_exp2m1f-fma.c = -mfma -mavx2
17 CFLAGS-e_exp2f-fma.c = -mfma -mavx2
18 CFLAGS-e_expf-fma.c = -mfma -mavx2
19 CFLAGS-e_log2f-fma.c = -mfma -mavx2
20 CFLAGS-e_logf-fma.c = -mfma -mavx2
21 CFLAGS-e_powf-fma.c = -mfma -mavx2
22 CFLAGS-s_sinf-fma.c = -mfma -mavx2
23 CFLAGS-s_cosf-fma.c = -mfma -mavx2
24 CFLAGS-s_sincosf-fma.c = -mfma -mavx2
26 # Check if ISA level is 3 or above.
27 ifneq (,$(filter $(have-x86-isa-level),$(x86-isa-level-3-or-above)))
28 libm-sysdep_routines += \
29 s_ceil-avx \
30 s_ceilf-avx \
31 s_floor-avx \
32 s_floorf-avx \
33 s_nearbyint-avx \
34 s_nearbyintf-avx \
35 s_rint-avx \
36 s_rintf-avx \
37 s_roundeven-avx \
38 s_roundevenf-avx \
39 s_trunc-avx \
40 s_truncf-avx \
41 # libm-sysdep_routines
42 else
43 ifeq (no,$(have-x86-apx))
44 libm-sysdep_routines += \
45 e_asin-fma4 \
46 e_atan2-fma4 \
47 e_exp-fma4 \
48 e_log-fma4 \
49 e_pow-fma4 \
50 s_atan-fma4 \
51 s_sin-fma4 \
52 s_sincos-fma4 \
53 s_tan-fma4 \
54 # libm-sysdep_routines
55 endif
56 libm-sysdep_routines += \
57 e_asin-fma \
58 e_atan2-avx \
59 e_atan2-fma \
60 e_exp-avx \
61 e_exp-fma \
62 e_exp2f-fma \
63 e_expf-fma \
64 e_log-avx \
65 e_log-fma \
66 e_log2-fma \
67 e_log2f-fma \
68 e_logf-fma \
69 e_pow-fma \
70 e_powf-fma \
71 s_atan-avx \
72 s_atan-fma \
73 s_ceil-sse4_1 \
74 s_ceilf-sse4_1 \
75 s_cosf-fma \
76 s_cosf-sse2 \
77 s_exp10m1f-fma \
78 s_exp2m1f-fma \
79 s_expm1-fma \
80 s_floor-sse4_1 \
81 s_floorf-sse4_1 \
82 s_log1p-fma \
83 s_nearbyint-sse4_1 \
84 s_nearbyintf-sse4_1 \
85 s_rint-sse4_1 \
86 s_rintf-sse4_1 \
87 s_roundeven-sse4_1 \
88 s_roundevenf-sse4_1 \
89 s_sin-avx \
90 s_sin-fma \
91 s_sincos-avx \
92 s_sincos-fma \
93 s_sincosf-fma \
94 s_sincosf-sse2 \
95 s_sinf-fma \
96 s_sinf-sse2 \
97 s_tan-avx \
98 s_tan-fma \
99 s_trunc-sse4_1 \
100 s_truncf-sse4_1 \
101 # libm-sysdep_routines
102 ifeq ($(have-x86-isa-level),baseline)
103 libm-sysdep_routines += \
104 s_ceil-c \
105 s_ceilf-c \
106 s_floor-c \
107 s_floorf-c \
108 s_nearbyint-c \
109 s_nearbyintf-c \
110 s_rint-c \
111 s_rintf-c \
112 s_roundeven-c \
113 s_roundevenf-c \
114 s_trunc-c \
115 s_truncf-c \
116 # libm-sysdep_routines
117 endif
118 endif
120 CFLAGS-e_asin-fma4.c = -mfma4
121 CFLAGS-e_atan2-fma4.c = -mfma4
122 CFLAGS-e_exp-fma4.c = -mfma4
123 CFLAGS-e_log-fma4.c = -mfma4
124 CFLAGS-e_pow-fma4.c = -mfma4
125 CFLAGS-s_atan-fma4.c = -mfma4
126 CFLAGS-s_sin-fma4.c = -mfma4
127 CFLAGS-s_tan-fma4.c = -mfma4
128 CFLAGS-s_sincos-fma4.c = -mfma4
130 CFLAGS-e_atan2-avx.c = -msse2avx -DSSE2AVX
131 CFLAGS-e_exp-avx.c = -msse2avx -DSSE2AVX
132 CFLAGS-e_log-avx.c = -msse2avx -DSSE2AVX
133 CFLAGS-s_atan-avx.c = -msse2avx -DSSE2AVX
134 CFLAGS-s_sin-avx.c = -msse2avx -DSSE2AVX
135 CFLAGS-s_tan-avx.c = -msse2avx -DSSE2AVX
136 CFLAGS-s_sincos-avx.c = -msse2avx -DSSE2AVX
137 endif
139 ifeq ($(subdir),mathvec)
140 libmvec-multiarch-double-func-list = \
141 2_core-sse2 \
142 2_core_sse4 \
143 4_core-sse \
144 4_core_avx2 \
145 8_core-avx2 \
146 8_core_avx512
147 libmvec-multiarch-float-func-list = \
148 f4_core-sse2 \
149 f4_core_sse4 \
150 f8_core-sse \
151 f8_core_avx2 \
152 f16_core-avx2 \
153 f16_core_avx512
155 libmvec-sysdep_routines += \
156 $(foreach l,$(libmvec-multiarch-double-func-list), \
157 $(addprefix svml_d_,$(addsuffix $(l),$(libmvec-funcs)))) \
158 $(foreach l,$(libmvec-multiarch-float-func-list), \
159 $(addprefix svml_s_,$(addsuffix $(l),$(libmvec-funcs))))
160 endif