1 libmvec-supported-funcs
= cos \
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
)
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
)) \
16 $(addsuffix _sve
,$(double-sve-funcs
)) \
21 sve-cflags
= -march
=armv8-a
+sve
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
))
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
)) > $@
40 ifeq (${STATIC-BENCHTESTS
},yes
)
41 libmvec-benchtests
= $(common-objpfx
)mathvec
/libmvec.a
$(common-objpfx
)math
/libm.a
43 libmvec-benchtests
= $(libmvec
) $(libm
)
46 $(addprefix $(objpfx
)bench-
,$(bench-libmvec
)): $(libmvec-benchtests
)
48 ifeq ($(build-mathvec
),yes
)
49 libmvec-tests
+= float-advsimd double-advsimd float-sve double-sve
52 define sve-float-cflags-template
53 CFLAGS-
$(1)f_sve.c
+= $(sve-cflags
)
54 CFLAGS-bench-float-sve-
$(1).c
+= $(sve-cflags
)
57 define sve-double-cflags-template
58 CFLAGS-
$(1)_sve.c
+= $(sve-cflags
)
59 CFLAGS-bench-double-sve-
$(1).c
+= $(sve-cflags
)
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
))))
65 CFLAGS-test-float-sve-wrappers.c
= $(sve-cflags
)
66 CFLAGS-test-double-sve-wrappers.c
= $(sve-cflags
)