From c4b7a44caccc0b640f57a3a76877a2a0ee77967e Mon Sep 17 00:00:00 2001 From: Konstantinos Margaritis Date: Mon, 9 Oct 2023 20:02:37 +0800 Subject: [PATCH] SVE2 is armv9-a but gcc 11 does not recognize that --- cmake/cflags-arm.cmake | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/cmake/cflags-arm.cmake b/cmake/cflags-arm.cmake index 4ed91455..3a29209e 100644 --- a/cmake/cflags-arm.cmake +++ b/cmake/cflags-arm.cmake @@ -9,10 +9,19 @@ if (NOT FAT_RUNTIME) endif () endif () -set(SVE2_BITPERM_ARCH "armv9-a+sve2-bitperm") -set(SVE2_ARCH "armv9-a") -set(SVE_ARCH "armv8-a+sve") + +if (CMAKE_COMPILER_IS_GNUCXX) + set(ARMV9BASE_MINVER "12") + if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS ARMV9BASE_MINVER) + set(SVE2_ARCH "armv8-a+sve2") + else() + set(SVE2_ARCH "armv9-a") + endif() +endif() + set(ARMV8_ARCH "armv8-a") +set(SVE_ARCH "${ARMV8_ARCH}+sve") +set(SVE2_BITPERM_ARCH "${SVE2_ARCH}+sve2-bitperm") CHECK_INCLUDE_FILE_CXX(arm_neon.h HAVE_C_ARM_NEON_H) if (BUILD_SVE OR BUILD_SVE2 OR BUILD_SVE2_BITPERM OR FAT_RUNTIME)