]>
Commit | Line | Data |
---|---|---|
3bb1af20 | 1 | libmvec-supported-funcs = cos \ |
78c01a5c | 2 | log \ |
3bb1af20 | 3 | sin |
cd94326a | 4 | |
3bb1af20 JR |
5 | float-advsimd-funcs = $(libmvec-supported-funcs) |
6 | double-advsimd-funcs = $(libmvec-supported-funcs) | |
7 | float-sve-funcs = $(libmvec-supported-funcs) | |
8 | double-sve-funcs = $(libmvec-supported-funcs) | |
cd94326a JR |
9 | |
10 | ifeq ($(subdir),mathvec) | |
11 | libmvec-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 |
16 | endif |
17 | ||
18 | sve-cflags = -march=armv8-a+sve | |
19 | ||
20 | ||
21 | ifeq ($(build-mathvec),yes) | |
22 | bench-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)) | |
26 | endif | |
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 | ||
37 | ifeq (${STATIC-BENCHTESTS},yes) | |
38 | libmvec-benchtests = $(common-objpfx)mathvec/libmvec.a $(common-objpfx)math/libm.a | |
39 | else | |
40 | libmvec-benchtests = $(libmvec) $(libm) | |
41 | endif | |
42 | ||
43 | $(addprefix $(objpfx)bench-,$(bench-libmvec)): $(libmvec-benchtests) | |
44 | ||
45 | ifeq ($(build-mathvec),yes) | |
46 | libmvec-tests += float-advsimd double-advsimd float-sve double-sve | |
47 | endif | |
48 | ||
49 | define sve-float-cflags-template | |
50 | CFLAGS-$(1)f_sve.c += $(sve-cflags) | |
51 | CFLAGS-bench-float-sve-$(1).c += $(sve-cflags) | |
52 | endef | |
53 | ||
54 | define sve-double-cflags-template | |
55 | CFLAGS-$(1)_sve.c += $(sve-cflags) | |
56 | CFLAGS-bench-double-sve-$(1).c += $(sve-cflags) | |
57 | endef | |
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 | ||
62 | CFLAGS-test-float-sve-wrappers.c = $(sve-cflags) | |
63 | CFLAGS-test-double-sve-wrappers.c = $(sve-cflags) |