]> git.ipfire.org Git - thirdparty/glibc.git/blame - sysdeps/aarch64/fpu/Makefile
aarch64: Add vector implementations of log routines
[thirdparty/glibc.git] / sysdeps / aarch64 / fpu / Makefile
CommitLineData
3bb1af20 1libmvec-supported-funcs = cos \
78c01a5c 2 log \
3bb1af20 3 sin
cd94326a 4
3bb1af20
JR
5float-advsimd-funcs = $(libmvec-supported-funcs)
6double-advsimd-funcs = $(libmvec-supported-funcs)
7float-sve-funcs = $(libmvec-supported-funcs)
8double-sve-funcs = $(libmvec-supported-funcs)
cd94326a
JR
9
10ifeq ($(subdir),mathvec)
11libmvec-support = $(addsuffix f_advsimd,$(float-advsimd-funcs)) \
12 $(addsuffix _advsimd,$(double-advsimd-funcs)) \
13 $(addsuffix f_sve,$(float-sve-funcs)) \
78c01a5c
JR
14 $(addsuffix _sve,$(double-sve-funcs)) \
15 v_log_data
cd94326a
JR
16endif
17
18sve-cflags = -march=armv8-a+sve
19
20
21ifeq ($(build-mathvec),yes)
22bench-libmvec = $(addprefix float-advsimd-,$(float-advsimd-funcs)) \
23 $(addprefix double-advsimd-,$(double-advsimd-funcs)) \
24 $(addprefix float-sve-,$(float-sve-funcs)) \
25 $(addprefix double-sve-,$(double-sve-funcs))
26endif
27
28$(objpfx)bench-float-advsimd-%.c:
29 $(PYTHON) $(..)sysdeps/aarch64/fpu/scripts/bench_libmvec_advsimd.py $(basename $(@F)) > $@
30$(objpfx)bench-double-advsimd-%.c:
31 $(PYTHON) $(..)sysdeps/aarch64/fpu/scripts/bench_libmvec_advsimd.py $(basename $(@F)) > $@
32$(objpfx)bench-float-sve-%.c:
33 $(PYTHON) $(..)sysdeps/aarch64/fpu/scripts/bench_libmvec_sve.py $(basename $(@F)) > $@
34$(objpfx)bench-double-sve-%.c:
35 $(PYTHON) $(..)sysdeps/aarch64/fpu/scripts/bench_libmvec_sve.py $(basename $(@F)) > $@
36
37ifeq (${STATIC-BENCHTESTS},yes)
38libmvec-benchtests = $(common-objpfx)mathvec/libmvec.a $(common-objpfx)math/libm.a
39else
40libmvec-benchtests = $(libmvec) $(libm)
41endif
42
43$(addprefix $(objpfx)bench-,$(bench-libmvec)): $(libmvec-benchtests)
44
45ifeq ($(build-mathvec),yes)
46libmvec-tests += float-advsimd double-advsimd float-sve double-sve
47endif
48
49define sve-float-cflags-template
50CFLAGS-$(1)f_sve.c += $(sve-cflags)
51CFLAGS-bench-float-sve-$(1).c += $(sve-cflags)
52endef
53
54define sve-double-cflags-template
55CFLAGS-$(1)_sve.c += $(sve-cflags)
56CFLAGS-bench-double-sve-$(1).c += $(sve-cflags)
57endef
58
59$(foreach f,$(float-sve-funcs), $(eval $(call sve-float-cflags-template,$(f))))
60$(foreach f,$(double-sve-funcs), $(eval $(call sve-double-cflags-template,$(f))))
61
62CFLAGS-test-float-sve-wrappers.c = $(sve-cflags)
63CFLAGS-test-double-sve-wrappers.c = $(sve-cflags)