diff --git a/cmake/find/FindAVX.cmake b/cmake/find/FindAVX.cmake index 1f4b24b..c457274 100644 --- a/cmake/find/FindAVX.cmake +++ b/cmake/find/FindAVX.cmake @@ -116,8 +116,14 @@ if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID elseif(DETECTED_AVX_10) SET(AVX_FLAGS "${AVX_FLAGS} -mavx") endif() - # TODO: Check for AVX512 support - SET(AVX_FLAGS "${AVX_FLAGS} -mno-avx512f -mno-avx512pf -mno-avx512er -mno-avx512cd") + # Only add -mno-avx512* if the compiler accepts them + foreach(flag -mno-avx512f -mno-avx512pf -mno-avx512er -mno-avx512cd) + string(REPLACE "-" "_" safe_flag ${flag}) + check_cxx_compiler_flag("${flag}" HAS_FLAG_${safe_flag}) + if(HAS_FLAG_${safe_flag}) + set(AVX_FLAGS "${AVX_FLAGS} ${flag}") + endif() + endforeach() elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel") set(AVX_FLAGS "-xHost") elseif(MSVC)