aarch64/fpu: Add vector variants of cosh
[glibc.git] / sysdeps / aarch64 / fpu / Makefile
blob019c3a51880e23062bdada09795b14dc41d4ed08
1 libmvec-supported-funcs = acos \
2 asin \
3 atan \
4 atan2 \
5 cos \
6 cosh \
7 erf \
8 exp \
9 exp10 \
10 exp2 \
11 expm1 \
12 log \
13 log10 \
14 log1p \
15 log2 \
16 sin \
17 tan
19 float-advsimd-funcs = $(libmvec-supported-funcs)
20 double-advsimd-funcs = $(libmvec-supported-funcs)
21 float-sve-funcs = $(libmvec-supported-funcs)
22 double-sve-funcs = $(libmvec-supported-funcs)
24 ifeq ($(subdir),mathvec)
25 libmvec-support = $(addsuffix f_advsimd,$(float-advsimd-funcs)) \
26 $(addsuffix _advsimd,$(double-advsimd-funcs)) \
27 $(addsuffix f_sve,$(float-sve-funcs)) \
28 $(addsuffix _sve,$(double-sve-funcs)) \
29 v_log_data \
30 v_exp_data \
31 v_log2_data \
32 v_log10_data \
33 erf_data \
34 erff_data \
35 sv_erf_data \
36 sv_erff_data \
37 v_exp_tail_data
38 endif
40 sve-cflags = -march=armv8-a+sve
43 ifeq ($(build-mathvec),yes)
44 bench-libmvec = $(addprefix float-advsimd-,$(float-advsimd-funcs)) \
45 $(addprefix double-advsimd-,$(double-advsimd-funcs)) \
46 $(addprefix float-sve-,$(float-sve-funcs)) \
47 $(addprefix double-sve-,$(double-sve-funcs))
48 endif
50 $(objpfx)bench-float-advsimd-%.c:
51 $(PYTHON) $(..)sysdeps/aarch64/fpu/scripts/bench_libmvec_advsimd.py $(basename $(@F)) > $@
52 $(objpfx)bench-double-advsimd-%.c:
53 $(PYTHON) $(..)sysdeps/aarch64/fpu/scripts/bench_libmvec_advsimd.py $(basename $(@F)) > $@
54 $(objpfx)bench-float-sve-%.c:
55 $(PYTHON) $(..)sysdeps/aarch64/fpu/scripts/bench_libmvec_sve.py $(basename $(@F)) > $@
56 $(objpfx)bench-double-sve-%.c:
57 $(PYTHON) $(..)sysdeps/aarch64/fpu/scripts/bench_libmvec_sve.py $(basename $(@F)) > $@
59 ifeq (${STATIC-BENCHTESTS},yes)
60 libmvec-benchtests = $(common-objpfx)mathvec/libmvec.a $(common-objpfx)math/libm.a
61 else
62 libmvec-benchtests = $(libmvec) $(libm)
63 endif
65 $(addprefix $(objpfx)bench-,$(bench-libmvec)): $(libmvec-benchtests)
67 ifeq ($(build-mathvec),yes)
68 libmvec-tests += float-advsimd double-advsimd float-sve double-sve
69 endif
71 define sve-float-cflags-template
72 CFLAGS-$(1)f_sve.c += $(sve-cflags)
73 CFLAGS-bench-float-sve-$(1).c += $(sve-cflags)
74 endef
76 define sve-double-cflags-template
77 CFLAGS-$(1)_sve.c += $(sve-cflags)
78 CFLAGS-bench-double-sve-$(1).c += $(sve-cflags)
79 endef
81 $(foreach f,$(float-sve-funcs), $(eval $(call sve-float-cflags-template,$(f))))
82 $(foreach f,$(double-sve-funcs), $(eval $(call sve-double-cflags-template,$(f))))
84 CFLAGS-test-float-sve-wrappers.c = $(sve-cflags)
85 CFLAGS-test-double-sve-wrappers.c = $(sve-cflags)