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 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 () 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.") 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()