From 6a05bef0259ea5197ca9c4b9adb3d2ee7c1df1d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20M=C3=BCtzel?= Date: Sat, 5 Aug 2023 16:43:25 +0200 Subject: [PATCH] Disable AVX512 instructions for LLVM Flang before version 17 or with LLVM Flang on Windows. --- CMakeLists.txt | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index f3cb0eed4..d35172c96 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -104,6 +104,19 @@ if(NOT NOFORTRAN) endif() endif() +if (NOT NOFORTRAN AND CMAKE_Fortran_COMPILER_ID STREQUAL "LLVMFlang") + if (CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 17 OR WIN32) + # The *blas3 tests fail on hardware with AVX512 instruction when using + # LLVM Flang before version 17 or when using LLVM Flang on Windows. + # Tested with LLVM Flang 16 and LLVM Flang 17 on Windows (MSYS2/CLANG64). + # FIXME: Revisit with LLVM Flang 18. + if (NOT NO_AVX512) + message(STATUS "Disabling AVX512 instructions for LLVM Flang before version 17 or on Windows.") + endif() + set(NO_AVX512 1) + endif() +endif() + include("${PROJECT_SOURCE_DIR}/cmake/utils.cmake") include("${PROJECT_SOURCE_DIR}/cmake/system.cmake")