From 3085c9599449823b4aac50b0376357af4c740b9c Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 4 Jul 2024 15:39:10 +0000 Subject: [PATCH] vectorscan: Build as a fat library The build system defaults to building the library for the host system and therefore uses instructions that might not be available on the target system. This patch changes that we will build the library so that it will choose the most optimised functions at runtime. Signed-off-by: Michael Tremer --- lfs/vectorscan | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/lfs/vectorscan b/lfs/vectorscan index 0bcc1bcf4..585fc2894 100644 --- a/lfs/vectorscan +++ b/lfs/vectorscan @@ -38,6 +38,22 @@ SUP_ARCH = x86_64 aarch64 # smaller machines MAX_PARALLELISM = $(shell echo $$(( $(SYSTEM_MEMORY) / 1024))) +ifeq "$(BUILD_ARCH)" "aarch64" + EXTRA_ARGS += \ + -DFAT_RUNTIME=ON \ + -DBUILD_SVE=ON \ + -DBUILD_SVE2=ON \ + -DBUILD_SVE2_BITPERM=ON +endif + +ifeq "$(BUILD_ARCH)" "x86_64" + EXTRA_ARGS += \ + -DFAT_RUNTIME=ON \ + -DBUILD_AVX2=ON \ + -DBUILD_AVX512=ON \ + -DBUILD_AVX512VBMI=ON +endif + ############################################################################### # Top-level Rules ############################################################################### @@ -80,7 +96,9 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) -DCMAKE_INSTALL_PREFIX:PATH=/usr \ -DBUILD_SHARED_LIBS=ON \ -DCMAKE_BUILD_TYPE=RELEASE \ - -DBUILD_EXAMPLES=OFF + -DBUILD_EXAMPLES=OFF \ + $(EXTRA_ARGS) + -Wno-dev cd $(DIR_APP) && make $(MAKETUNING) cd $(DIR_APP) && make install @rm -rf $(DIR_APP) -- 2.39.5