benchtests: Better libmvec integration
authorSiddhesh Poyarekar <siddhesh@sourceware.org>
Fri, 29 Apr 2022 06:15:56 +0000 (11:45 +0530)
committerSiddhesh Poyarekar <siddhesh@sourceware.org>
Fri, 29 Apr 2022 06:18:18 +0000 (11:48 +0530)
Improve libmvec benchmark integration so that in future other
architectures may be able to run their libmvec benchmarks as well.  This
now allows libmvec benchmarks to be run with `make BENCHSET=bench-math`.

Signed-off-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
benchtests/Makefile
sysdeps/x86_64/fpu/Makefile

index 7943d1c..149d87e 100644 (file)
@@ -113,12 +113,6 @@ bench-string := \
   ffsll \
 # bench-string
 
-ifeq (${BENCHSET},)
-bench := $(bench-math) $(bench-pthread) $(bench-string)
-else
-bench := $(foreach B,$(filter bench-%,${BENCHSET}), ${${B}})
-endif
-
 # String function benchmarks.
 string-benchset := \
   bzero \
@@ -299,15 +293,6 @@ bench-extra-objs = json-lib.o
 extra-objs += $(bench-extra-objs)
 others-extras = $(bench-extra-objs)
 
-# NB: Use "=" instead of ":=" since sysdeps Makefiles may add more
-# benches.
-binaries-bench = $(addprefix $(objpfx)bench-,$(bench))
-extra-objs += $(addsuffix .o,$(addprefix bench-,$(bench)))
-binaries-benchset = $(addprefix $(objpfx)bench-,$(benchset))
-extra-objs += $(addsuffix .o,$(addprefix bench-,$(benchset)))
-binaries-bench-malloc := $(addprefix $(objpfx)bench-,$(bench-malloc))
-extra-objs += $(addsuffix .o,$(addprefix bench-,$(bench-malloc)))
-
 # The default duration: 1 seconds.
 ifndef BENCH_DURATION
 BENCH_DURATION := 1
@@ -344,6 +329,23 @@ extra-objs += bench-timing-type.o
 
 include ../Rules
 
+bench-math += $(bench-libmvec)
+
+ifeq (${BENCHSET},)
+bench := $(bench-math) $(bench-pthread) $(bench-string)
+else
+bench := $(foreach B,$(filter bench-%,${BENCHSET}), ${${B}})
+endif
+
+# NB: Use "=" instead of ":=" since sysdeps Makefiles may add more
+# benches.
+binaries-bench = $(addprefix $(objpfx)bench-,$(bench))
+extra-objs += $(addsuffix .o,$(addprefix bench-,$(bench)))
+binaries-benchset = $(addprefix $(objpfx)bench-,$(benchset))
+extra-objs += $(addsuffix .o,$(addprefix bench-,$(benchset)))
+binaries-bench-malloc := $(addprefix $(objpfx)bench-,$(bench-malloc))
+extra-objs += $(addsuffix .o,$(addprefix bench-,$(bench-malloc)))
+
 # This makes sure CPPFLAGS-nonlib and CFLAGS-nonlib are passed
 # for all these modules.
 cpp-srcs-left := $(binaries-benchset:=.c) $(binaries-bench:=.c) \
index 24af49e..7233174 100644 (file)
@@ -86,10 +86,6 @@ float-vlen16-arch-ext-cflags = -mavx512f
 
 bench-libmvec := $(bench-libmvec-double) $(bench-libmvec-float)
 
-ifeq (${BENCHSET},)
-bench += $(bench-libmvec)
-endif
-
 ifeq (${STATIC-BENCHTESTS},yes)
 libmvec-benchtests = $(common-objpfx)mathvec/libmvec.a $(common-objpfx)math/libm.a
 else