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