From 0ab76182ea062c133ed8dd84e52c50128b71cd69 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Tue, 19 May 2026 11:47:17 +0200 Subject: [PATCH 1/4] Add march=armv8+sve to non-PGI options for SVE-capable ARM64 targets --- kernel/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/Makefile b/kernel/Makefile index 014908c7eb..1bb79512d7 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -101,7 +101,7 @@ else ifneq ($(filter NEOVERSEN2 NEOVERSEV1, $(TARGET_CORE)),) ifeq ($(C_COMPILER), PGI) override CFLAGS += -DBUILD_KERNEL -DTABLE_NAME=gotoblas_$(TARGET_CORE) -Msve_intrinsics else - override CFLAGS += -DBUILD_KERNEL -DTABLE_NAME=gotoblas_$(TARGET_CORE) + override CFLAGS += -DBUILD_KERNEL -DTABLE_NAME=gotoblas_$(TARGET_CORE) -march=armv8-a+sve endif else override CFLAGS += -DBUILD_KERNEL -DTABLE_NAME=gotoblas_$(TARGET_CORE) From 5e1c61e06a9e278da78a8cf341feb373ce54924f Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Tue, 19 May 2026 13:56:51 +0200 Subject: [PATCH 2/4] use 8.4a+sve+bf16 for sve-capable neoverse --- kernel/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/Makefile b/kernel/Makefile index 1bb79512d7..807b39f584 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -101,7 +101,7 @@ else ifneq ($(filter NEOVERSEN2 NEOVERSEV1, $(TARGET_CORE)),) ifeq ($(C_COMPILER), PGI) override CFLAGS += -DBUILD_KERNEL -DTABLE_NAME=gotoblas_$(TARGET_CORE) -Msve_intrinsics else - override CFLAGS += -DBUILD_KERNEL -DTABLE_NAME=gotoblas_$(TARGET_CORE) -march=armv8-a+sve + override CFLAGS += -DBUILD_KERNEL -DTABLE_NAME=gotoblas_$(TARGET_CORE) -march=armv8.4-a+sve+bf16 endif else override CFLAGS += -DBUILD_KERNEL -DTABLE_NAME=gotoblas_$(TARGET_CORE) From eb620a63481d5ed94dd8a9d3e31b98c5c17dfd44 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Tue, 19 May 2026 14:57:43 +0200 Subject: [PATCH 3/4] add arch option for ARMV8SVE target as well --- kernel/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/Makefile b/kernel/Makefile index 807b39f584..2a27509f6f 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -97,7 +97,7 @@ else ifeq ($(TARGET_CORE), ZEN) override CFLAGS += -DBUILD_KERNEL -DTABLE_NAME=gotoblas_$(TARGET_CORE) $(AVX2OPT) else ifeq ($(TARGET_CORE), LOONGSON3R4) override CFLAGS += -DBUILD_KERNEL -DTABLE_NAME=gotoblas_$(TARGET_CORE) $(MSA_FLAGS) -else ifneq ($(filter NEOVERSEN2 NEOVERSEV1, $(TARGET_CORE)),) +else ifneq ($(filter NEOVERSEN2 NEOVERSEV1 ARMV8SVE, $(TARGET_CORE)),) ifeq ($(C_COMPILER), PGI) override CFLAGS += -DBUILD_KERNEL -DTABLE_NAME=gotoblas_$(TARGET_CORE) -Msve_intrinsics else From 68c65d8e58e4c3390faadc2e5727b3a3ef5a2a3e Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Tue, 19 May 2026 15:44:57 +0200 Subject: [PATCH 4/4] add A64FX --- kernel/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/Makefile b/kernel/Makefile index 2a27509f6f..221836d185 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -97,7 +97,7 @@ else ifeq ($(TARGET_CORE), ZEN) override CFLAGS += -DBUILD_KERNEL -DTABLE_NAME=gotoblas_$(TARGET_CORE) $(AVX2OPT) else ifeq ($(TARGET_CORE), LOONGSON3R4) override CFLAGS += -DBUILD_KERNEL -DTABLE_NAME=gotoblas_$(TARGET_CORE) $(MSA_FLAGS) -else ifneq ($(filter NEOVERSEN2 NEOVERSEV1 ARMV8SVE, $(TARGET_CORE)),) +else ifneq ($(filter NEOVERSEN2 NEOVERSEV1 ARMV8SVE A64FX, $(TARGET_CORE)),) ifeq ($(C_COMPILER), PGI) override CFLAGS += -DBUILD_KERNEL -DTABLE_NAME=gotoblas_$(TARGET_CORE) -Msve_intrinsics else