1 libmvec-supported-funcs
= cos \
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
)
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
)) \
14 $(addsuffix _sve
,$(double-sve-funcs
)) \
18 sve-cflags
= -march
=armv8-a
+sve
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
))
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
)) > $@
37 ifeq (${STATIC-BENCHTESTS
},yes
)
38 libmvec-benchtests
= $(common-objpfx
)mathvec
/libmvec.a
$(common-objpfx
)math
/libm.a
40 libmvec-benchtests
= $(libmvec
) $(libm
)
43 $(addprefix $(objpfx
)bench-
,$(bench-libmvec
)): $(libmvec-benchtests
)
45 ifeq ($(build-mathvec
),yes
)
46 libmvec-tests
+= float-advsimd double-advsimd float-sve double-sve
49 define sve-float-cflags-template
50 CFLAGS-
$(1)f_sve.c
+= $(sve-cflags
)
51 CFLAGS-bench-float-sve-
$(1).c
+= $(sve-cflags
)
54 define sve-double-cflags-template
55 CFLAGS-
$(1)_sve.c
+= $(sve-cflags
)
56 CFLAGS-bench-double-sve-
$(1).c
+= $(sve-cflags
)
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
))))
62 CFLAGS-test-float-sve-wrappers.c
= $(sve-cflags
)
63 CFLAGS-test-double-sve-wrappers.c
= $(sve-cflags
)