]> git.ipfire.org Git - thirdparty/glibc.git/blame - sysdeps/x86_64/fpu/Makeconfig
Update copyright dates with scripts/update-copyrights
[thirdparty/glibc.git] / sysdeps / x86_64 / fpu / Makeconfig
CommitLineData
d962cce1
L
1# Generate libmvec.mk for libmvec ABI tests.
2
dff8da6b 3# Copyright (C) 2021-2024 Free Software Foundation, Inc.
d962cce1
L
4# This file is part of the GNU C Library.
5
6# The GNU C Library is free software; you can redistribute it and/or
7# modify it under the terms of the GNU Lesser General Public
8# License as published by the Free Software Foundation; either
9# version 2.1 of the License, or (at your option) any later version.
10
11# The GNU C Library is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14# Lesser General Public License for more details.
15
16# You should have received a copy of the GNU Lesser General Public
17# License along with the GNU C Library; if not, see
18# <https://www.gnu.org/licenses/>.
19
20-include $(common-objpfx)libmvec.mk
21postclean-generated += libmvec.mk
22
23# Define for both math and mathvec directories.
24libmvec-funcs = \
f20f980c 25 acos \
0625489c 26 acosh \
11c01de1 27 asin \
e682d015 28 asinh \
14631017 29 atan \
2941a24f 30 atan2 \
6dea4dd3 31 atanh \
2bf02c58 32 cbrt \
d962cce1 33 cos \
ef7ea9c1 34 cosh \
f9ce13fd 35 erf \
8881cca8 36 erfc \
d962cce1 37 exp \
8b726453 38 exp10 \
3fc9ccc2 39 exp2 \
76ddc74e 40 expm1 \
37475ba8 41 hypot \
d962cce1 42 log \
8f856602 43 log10 \
74265c16 44 log1p \
7e1722fe 45 log2 \
d962cce1
L
46 pow \
47 sin \
48 sincos \
aa1809a1 49 sinh \
c21c7bc2 50 tan \
c0f36fc3 51 tanh \
d962cce1 52
a43c0b54
SP
53# Define libmvec function for benchtests directory.
54libmvec-bench-funcs = \
811124ce 55 acos \
157bdb5f 56 acosh \
e96f2542 57 asin \
bef2d0ec 58 asinh \
7e05d94e 59 atan \
16aec301 60 atan2 \
0050c9a4 61 atanh \
fec48238 62 cbrt \
44436955 63 cos \
54cf4f31 64 cosh \
475ed201 65 erf \
d0086fe4 66 erfc \
37df38bd 67 exp \
abebb261 68 exp10 \
b0e43607 69 exp2 \
049555aa 70 expm1 \
b0a11070 71 hypot \
8ab8afb3 72 log \
e43b757e 73 log10 \
171817d8 74 log1p \
b6b2be5c 75 log2 \
6a556bac 76 pow \
c58d3b7d 77 sin \
6acc09c5 78 sinh \
d7fca835 79 tan \
b263a015 80 tanh \
a43c0b54
SP
81
82bench-libmvec-double = \
83 $(addprefix double-vlen1-, $(libmvec-bench-funcs)) \
84 $(addprefix double-vlen2-, $(libmvec-bench-funcs)) \
85 $(addprefix double-vlen4-, $(libmvec-bench-funcs)) \
86 $(addprefix double-vlen4-avx2-, $(libmvec-bench-funcs)) \
87 $(addprefix double-vlen8-, $(libmvec-bench-funcs)) \
88
89bench-libmvec-float = \
90 $(addsuffix f, $(addprefix float-vlen1-, $(libmvec-bench-funcs))) \
91 $(addsuffix f, $(addprefix float-vlen4-, $(libmvec-bench-funcs))) \
92 $(addsuffix f, $(addprefix float-vlen8-, $(libmvec-bench-funcs))) \
93 $(addsuffix f, $(addprefix float-vlen8-avx2-, $(libmvec-bench-funcs))) \
94 $(addsuffix f, $(addprefix float-vlen16-, $(libmvec-bench-funcs))) \
95
d962cce1
L
96# The base libmvec ABI tests.
97libmvec-abi-func-tests = \
4f690aad
SP
98 $(addprefix test-double-libmvec-,$(libmvec-funcs)) \
99 $(addsuffix f,$(addprefix test-float-libmvec-,$(libmvec-funcs)))
d962cce1
L
100
101# The AVX libmvec ABI tests.
102libmvec-abi-func-avx-tests = \
103 $(addsuffix -avx,$(libmvec-abi-func-tests))
104#
105# The AVX2 libmvec ABI tests.
106libmvec-abi-func-avx2-tests = \
107 $(addsuffix -avx2,$(libmvec-abi-func-tests))
108#
109# The AVX512F libmvec ABI tests.
110libmvec-abi-func-avx512f-tests = \
111 $(addsuffix -avx512f,$(libmvec-abi-func-tests))
112
113$(common-objpfx)libmvec.mk: $(common-objpfx)config.make
114 (echo "ifeq (\$$(subdir)\$$(build-mathvec),mathyes)"; \
1fe00d3e
L
115 echo; \
116 echo "extra-test-objs += \\"; \
117 for i in "" "-avx" "-avx2" "-avx512f"; do \
118 echo " test-libmvec$$i.o \\"; \
119 done; \
120 echo "# extra-test-objs"; \
d962cce1
L
121 echo; \
122 for i in "" "-avx" "-avx2" "-avx512f"; do \
123 for t in $(libmvec-abi-func-tests); do \
124 echo "\$$(objpfx)$$t$$i: \\"; \
125 echo " \$$(objpfx)$$t$$i.o \\"; \
126 echo " \$$(objpfx)test-libmvec$$i.o \$$(libmvec)"; \
127 echo; \
128 done; \
129 done; \
4f690aad 130 for t in $(libmvec-funcs); do \
d962cce1
L
131 echo "CFLAGS-test-double-libmvec-$$t.c = \\"; \
132 echo " \$$(libmvec-abi-test-cflags)"; \
133 echo "CFLAGS-test-double-libmvec-$$t-avx.c = \\"; \
134 echo " \$$(libmvec-abi-test-cflags) \\"; \
135 echo " \$$(double-vlen4-arch-ext-cflags)"; \
136 echo "CFLAGS-test-double-libmvec-$$t-avx2.c = \\"; \
137 echo " \$$(libmvec-abi-test-cflags) \\"; \
138 echo " \$$(double-vlen4-arch-ext2-cflags)"; \
139 echo "CFLAGS-test-double-libmvec-$$t-avx512f.c = \\"; \
140 echo " \$$(libmvec-abi-test-cflags) \\"; \
141 echo " \$$(double-vlen8-arch-ext-cflags)"; \
142 echo; \
143 echo "CFLAGS-test-float-libmvec-$${t}f.c = \\"; \
144 echo " \$$(libmvec-abi-test-cflags)"; \
145 echo "CFLAGS-test-float-libmvec-$${t}f-avx.c = \\"; \
146 echo " \$$(libmvec-abi-test-cflags) \\"; \
147 echo " \$$(float-vlen8-arch-ext-cflags)"; \
148 echo "CFLAGS-test-float-libmvec-$${t}f-avx2.c = \\"; \
149 echo " \$$(libmvec-abi-test-cflags) \\"; \
150 echo " \$$(float-vlen8-arch-ext2-cflags)"; \
151 echo "CFLAGS-test-float-libmvec-$${t}f-avx512f.c = \\"; \
152 echo " \$$(libmvec-abi-test-cflags) \\"; \
153 echo " \$$(float-vlen16-arch-ext-cflags)"; \
154 echo; \
155 done; \
a43c0b54
SP
156 echo "endif"; \
157 echo "ifeq (\$$(subdir),benchtests)"; \
158 for t in $(libmvec-bench-funcs); do \
159 echo "CFLAGS-bench-double-vlen4-$$t.c = \\"; \
160 echo " \$$(double-vlen4-arch-ext-cflags)"; \
161 echo "CFLAGS-bench-double-vlen4-avx2-$$t.c = \\"; \
162 echo " \$$(double-vlen4-arch-ext2-cflags)"; \
163 echo "CFLAGS-bench-double-vlen8-$$t.c = \\"; \
164 echo " \$$(double-vlen8-arch-ext-cflags)"; \
165 echo; \
166 echo "CFLAGS-bench-float-vlen8-$${t}f.c = \\"; \
167 echo " \$$(float-vlen8-arch-ext-cflags)"; \
168 echo "CFLAGS-bench-float-vlen8-avx2-$${t}f.c = \\"; \
169 echo " \$$(float-vlen8-arch-ext2-cflags)"; \
170 echo "CFLAGS-bench-float-vlen16-$${t}f.c = \\"; \
171 echo " \$$(float-vlen16-arch-ext-cflags)"; \
172 echo; \
173 done; \
d962cce1
L
174 echo "endif") > $@T
175 mv -f $@T $@