if(NOT NATIVEFLAG)
# For CPUs that can benefit from AVX512, it seems GCC generates suboptimal
# instruction scheduling unless you specify a reasonable -mtune= target
- set(AVX512FLAG "-mavx512f -mavx512dq -mavx512bw -mavx512vl -mtune=cascadelake")
+ set(AVX512FLAG "-mavx512f -mavx512dq -mavx512bw -mavx512vl")
+ if(NOT CMAKE_GENERATOR_TOOLSET MATCHES "ClangCl")
+ set(AVX512FLAG "${AVX512FLAG} -mtune=cascadelake")
+ endif()
endif()
elseif(MSVC)
set(AVX512FLAG "/ARCH:AVX512")
endif()
elseif(CMAKE_C_COMPILER_ID MATCHES "GNU" OR CMAKE_C_COMPILER_ID MATCHES "Clang")
if(NOT NATIVEFLAG)
- set(AVX512VNNIFLAG "-mavx512f -mavx512dq -mavx512bw -mavx512vl -mavx512vnni -mtune=cascadelake")
+ set(AVX512VNNIFLAG "-mavx512f -mavx512dq -mavx512bw -mavx512vl -mavx512vnni")
+ if(NOT CMAKE_GENERATOR_TOOLSET MATCHES "ClangCl")
+ set(AVX512VNNIFLAG "${AVX512VNNIFLAG} -mtune=cascadelake")
+ endif()
endif()
elseif(MSVC)
set(AVX512VNNIFLAG "/ARCH:AVX512")