1 libmvec-supported-funcs
= cos \
11 float-advsimd-funcs
= $(libmvec-supported-funcs
)
12 double-advsimd-funcs
= $(libmvec-supported-funcs
)
13 float-sve-funcs
= $(libmvec-supported-funcs
)
14 double-sve-funcs
= $(libmvec-supported-funcs
)
16 ifeq ($(subdir
),mathvec
)
17 libmvec-support
= $(addsuffix f_advsimd
,$(float-advsimd-funcs
)) \
18 $(addsuffix _advsimd
,$(double-advsimd-funcs
)) \
19 $(addsuffix f_sve
,$(float-sve-funcs
)) \
20 $(addsuffix _sve
,$(double-sve-funcs
)) \
27 sve-cflags
= -march
=armv8-a
+sve
30 ifeq ($(build-mathvec
),yes
)
31 bench-libmvec
= $(addprefix float-advsimd-
,$(float-advsimd-funcs
)) \
32 $(addprefix double-advsimd-
,$(double-advsimd-funcs
)) \
33 $(addprefix float-sve-
,$(float-sve-funcs
)) \
34 $(addprefix double-sve-
,$(double-sve-funcs
))
37 $(objpfx
)bench-float-advsimd-
%.c
:
38 $(PYTHON
) $(..
)sysdeps
/aarch64
/fpu
/scripts
/bench_libmvec_advsimd.py
$(basename $(@F
)) > $@
39 $(objpfx
)bench-double-advsimd-
%.c
:
40 $(PYTHON
) $(..
)sysdeps
/aarch64
/fpu
/scripts
/bench_libmvec_advsimd.py
$(basename $(@F
)) > $@
41 $(objpfx
)bench-float-sve-
%.c
:
42 $(PYTHON
) $(..
)sysdeps
/aarch64
/fpu
/scripts
/bench_libmvec_sve.py
$(basename $(@F
)) > $@
43 $(objpfx
)bench-double-sve-
%.c
:
44 $(PYTHON
) $(..
)sysdeps
/aarch64
/fpu
/scripts
/bench_libmvec_sve.py
$(basename $(@F
)) > $@
46 ifeq (${STATIC-BENCHTESTS
},yes
)
47 libmvec-benchtests
= $(common-objpfx
)mathvec
/libmvec.a
$(common-objpfx
)math
/libm.a
49 libmvec-benchtests
= $(libmvec
) $(libm
)
52 $(addprefix $(objpfx
)bench-
,$(bench-libmvec
)): $(libmvec-benchtests
)
54 ifeq ($(build-mathvec
),yes
)
55 libmvec-tests
+= float-advsimd double-advsimd float-sve double-sve
58 define sve-float-cflags-template
59 CFLAGS-
$(1)f_sve.c
+= $(sve-cflags
)
60 CFLAGS-bench-float-sve-
$(1).c
+= $(sve-cflags
)
63 define sve-double-cflags-template
64 CFLAGS-
$(1)_sve.c
+= $(sve-cflags
)
65 CFLAGS-bench-double-sve-
$(1).c
+= $(sve-cflags
)
68 $(foreach f
,$(float-sve-funcs
), $(eval
$(call sve-float-cflags-template
,$(f
))))
69 $(foreach f
,$(double-sve-funcs
), $(eval
$(call sve-double-cflags-template
,$(f
))))
71 CFLAGS-test-float-sve-wrappers.c
= $(sve-cflags
)
72 CFLAGS-test-double-sve-wrappers.c
= $(sve-cflags
)