From: Hans Kristian Rosbach Date: Sat, 13 May 2023 11:17:04 +0000 (+0200) Subject: Fix AVX512-VNNI compile flags. X-Git-Tag: 2.1.1-beta2~13 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f2da9052877686dd725e1bd0ab0432ccd3687089;p=thirdparty%2Fzlib-ng.git Fix AVX512-VNNI compile flags. --- diff --git a/cmake/detect-intrinsics.cmake b/cmake/detect-intrinsics.cmake index c20c9e160..60f34b80b 100644 --- a/cmake/detect-intrinsics.cmake +++ b/cmake/detect-intrinsics.cmake @@ -100,7 +100,13 @@ macro(check_avx512vnni_intrinsics) if(NOT NATIVEFLAG) set(AVX512VNNIFLAG "-mavx512f -mavx512dq -mavx512bw -mavx512vl -mavx512vnni") if(NOT CMAKE_GENERATOR_TOOLSET MATCHES "ClangCl") - set(AVX512VNNIFLAG "${AVX512VNNIFLAG} -mtune=cascadelake") + check_c_compiler_flag("-mtune=cascadelake" HAVE_CASCADE_LAKE) + if(HAVE_CASCADE_LAKE) + set(AVX512FLAG "${AVX512VNNIFLAG} -mtune=cascadelake") + else() + set(AVX512FLAG "${AVX512VNNIFLAG} -mtune=skylake-avx512") + endif() + unset(HAVE_CASCADE_LAKE) endif() endif() elseif(MSVC) diff --git a/configure b/configure index 1f3ef7a02..145cd6fb6 100755 --- a/configure +++ b/configure @@ -106,7 +106,7 @@ forcesse2=0 # For CPUs that can benefit from AVX512, it seems GCC generates suboptimal # instruction scheduling unless you specify a reasonable -mtune= target avx512flag="-mavx512f -mavx512dq -mavx512bw -mavx512vl" -avx512vnniflag="-mavx512vnni ${avx512flag}" +avx512vnniflag="${avx512flag} -mavx512vnni" avx2flag="-mavx2" sse2flag="-msse2" ssse3flag="-mssse3" @@ -1570,9 +1570,11 @@ case "${ARCH}" in if test ${MTUNE_CASCADELAKE_AVAILABLE} -eq 1; then avx512flag="${avx512flag} -mtune=cascadelake" + avx512flag="${avx512vnniflag} -mtune=cascadelake" else if test ${MTUNE_SKYLAKE_AVX512_AVAILABLE} -eq 1; then avx512flag="${avx512flag} -mtune=skylake-avx512" + avx512flag="${avx512vnniflag} -mtune=skylake-avx512" fi fi