From 5b5b1012d579bfb38e11cea3767bec06554c0063 Mon Sep 17 00:00:00 2001 From: Siddhesh Poyarekar Date: Fri, 29 Apr 2022 11:45:56 +0530 Subject: benchtests: Better libmvec integration 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 --- benchtests/Makefile | 32 +++++++++++++++++--------------- sysdeps/x86_64/fpu/Makefile | 4 ---- 2 files changed, 17 insertions(+), 19 deletions(-) diff --git a/benchtests/Makefile b/benchtests/Makefile index 7943d1c..149d87e 100644 --- a/benchtests/Makefile +++ b/benchtests/Makefile @@ -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) \ diff --git a/sysdeps/x86_64/fpu/Makefile b/sysdeps/x86_64/fpu/Makefile index 24af49e..7233174 100644 --- a/sysdeps/x86_64/fpu/Makefile +++ b/sysdeps/x86_64/fpu/Makefile @@ -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 -- cgit v1.1