From 544afb15d6bf8d794032596013dc3e9b1275607e Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Mon, 20 Jul 2026 00:06:48 +0200 Subject: [PATCH 1/4] stack-hazard-size is a llvm backend option --- Makefile.arm64 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.arm64 b/Makefile.arm64 index e585819ce8..68aabb3dc4 100644 --- a/Makefile.arm64 +++ b/Makefile.arm64 @@ -63,7 +63,7 @@ CCOMMON_OPT += -march=armv9-a+sve2+sme FCOMMON_OPT += -march=armv9-a+sve2 ifdef OS_WINDOWS ifeq ($(C_COMPILER), CLANG) -CCOMMON_OPT += --aarch64-stack-hazard-size=0 +CCOMMON_OPT += -mllvm --aarch64-stack-hazard-size=0 endif endif endif From 0d928ca2751a7262d79db059c3de37706b5d6d9a Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Mon, 20 Jul 2026 00:09:07 +0200 Subject: [PATCH 2/4] stack-hazard-size is a llvm backend option --- cmake/cc.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/cc.cmake b/cmake/cc.cmake index a3d1fd6383..6cd5958eee 100644 --- a/cmake/cc.cmake +++ b/cmake/cc.cmake @@ -317,7 +317,7 @@ if (${CORE} STREQUAL ARMV9SME) else () set (CCOMMON_OPT "${CCOMMON_OPT} -march=armv9-a+sme") if (CMAKE_SYSTEM_NAME STREQUAL "Windows" AND CMAKE_C_COMPILER_ID MATCHES "Clang") - set (CCOMMON_OPT "${CCOMMON_OPT} --aarch64-stack-hazard-size=0") + set (CCOMMON_OPT "${CCOMMON_OPT} -mllvm --aarch64-stack-hazard-size=0") endif () endif () endif () From 96d60aa6a80ecdf3b10af044ced6926deee0c846 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Mon, 20 Jul 2026 00:14:23 +0200 Subject: [PATCH 3/4] Fix version check and prefix llvm backend option --- cmake/system.cmake | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/cmake/system.cmake b/cmake/system.cmake index ae81fe808d..66ba99b9be 100644 --- a/cmake/system.cmake +++ b/cmake/system.cmake @@ -368,22 +368,20 @@ if (${TARGET} STREQUAL NEOVERSEV1) if (${TARGET} STREQUAL ARMV9SME) set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -march=armv9-a+sme -O3") if (${CMAKE_SYSTEM_NAME} STREQUAL Windows AND ${CMAKE_C_COMPILER_ID} MATCHES "Clang") - set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} --aarch64-stack-hazard-size=0") + set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -mllvm --aarch64-stack-hazard-size=0") endif() endif() if (${TARGET} STREQUAL VORTEXM4) set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -march=armv8.4-a+sme -O3") if (${CMAKE_SYSTEM_NAME} STREQUAL Windows AND ${CMAKE_C_COMPILER_ID} MATCHES "Clang") - set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} --aarch64-stack-hazard-size=0") + set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -mllvm --aarch64-stack-hazard-size=0") endif() endif() if (${TARGET} STREQUAL A64FX) if (${CMAKE_C_COMPILER_ID} STREQUAL "PGI" AND NOT NO_SVE) set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -Msve-intrinsics -march=armv8.2-a+sve -mtune=a64fx") else () - set (GCC_VERSION 0.0) - execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION) - if (${GCC_VERSION} VERSION_GREATER 10.4 OR ${GCC_VERSION} VERSION_EQUAL 10.4) + if (CMAKE_C_COMPILER_VERSION VERSION_GREATER 10.4 OR CMAKE_C_COMPILER_VERSION VERSION_EQUAL 10.4) set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -march=armv8.2-a+sve -mtune=a64fx") else () message(FATAL_ERROR "Compiler $${CMAKE_C_COMPILER} {GCC_VERSION} does not support A64FX.") From 4ab4f1eae966d16c7097d56b8a2c0ac08747a7db Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Mon, 20 Jul 2026 00:20:05 +0200 Subject: [PATCH 4/4] Fix identification of MinGW64 on WoA --- cmake/system_check.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/system_check.cmake b/cmake/system_check.cmake index 5336a2974c..0432d98c0f 100644 --- a/cmake/system_check.cmake +++ b/cmake/system_check.cmake @@ -28,7 +28,7 @@ if(MINGW) execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpmachine OUTPUT_VARIABLE OPENBLAS_MINGW_TARGET_MACHINE OUTPUT_STRIP_TRAILING_WHITESPACE) - if(OPENBLAS_MINGW_TARGET_MACHINE MATCHES "amd64|x86_64|AMD64") + if(OPENBLAS_MINGW_TARGET_MACHINE MATCHES "amd64|x86_64|AMD64|aarch64") set(MINGW64 1) endif() endif()