From 2b64e1dab3048095a68c4c709e9870c31bb81bdc Mon Sep 17 00:00:00 2001 From: Yuanyuan Chen Date: Tue, 30 Sep 2025 14:54:53 +0800 Subject: [PATCH 1/3] Use fbgemm_fml_flags Signed-off-by: Yuanyuan Chen --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 70059e0c8c..4a6661b940 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -317,7 +317,7 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|ARM64|arm64") -ftree-vectorize -fno-trapping-math -Wignored-qualifiers - -march=armv8.2-a+fp16fml + -march=${fbgemm_fml_flags} DEFINITIONS ${fbgemm_arm_defs} DEPS From 8ae836b6cd3a4344b885cb63b6f6e5af790a7ee2 Mon Sep 17 00:00:00 2001 From: Yuanyuan Chen Date: Tue, 30 Sep 2025 15:28:56 +0800 Subject: [PATCH 2/3] Fix arm_neon_sve_bridge.h inclusion Signed-off-by: Yuanyuan Chen --- CMakeLists.txt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4a6661b940..df2e01fc1b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -337,7 +337,14 @@ endif() ################################################################################ set(FBGEMM_BUILD_SVE False) -if(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|ARM64") +# SVE and SVE2 feature paths require the intrinsics declared in arm_neon_sve_bridge.h +# This header file is available in the following releases: +# Clang 17 and later. +# GCC 14 and later. +if(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|ARM64" AND + ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 14) + OR (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 17))) + check_cxx_compiler_flag(-march=armv8-a+sve COMPILER_SUPPORTS_SVE) check_cxx_compiler_flag(-march=armv8-a+sve2 COMPILER_SUPPORTS_SVE2) if(COMPILER_SUPPORTS_SVE2) From 84b96c585444f02f9edae887c9ef7baa9af8c28e Mon Sep 17 00:00:00 2001 From: Yuanyuan Chen Date: Wed, 1 Oct 2025 07:49:52 +0800 Subject: [PATCH 3/3] Fix flags Signed-off-by: Yuanyuan Chen --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index df2e01fc1b..4abe89835e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -317,7 +317,7 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|ARM64|arm64") -ftree-vectorize -fno-trapping-math -Wignored-qualifiers - -march=${fbgemm_fml_flags} + ${fbgemm_fml_flags} DEFINITIONS ${fbgemm_arm_defs} DEPS