1
0
mirror of https://github.com/paboyle/Grid.git synced 2024-09-20 01:05:38 +01:00

Fix inconsistent configure option AVX512

Before this change AVX512 enabled different instruction sets depending
on the compiler:

For Intel C++ Compiler Classic (ICC):
    AVX512F, AVX512CD, AVX512DQ, AVX512BW, AVX512VL
    i.e. Intel Xeon Skylake and newer

For Intel ICX, gcc, clang:
    AVX512F, AVX512CD, AVX512ER, AVX512PF
    i.e. Intel Xeon Phi x200/x205 (KNL/KNM)

With this commit AVX512 now only enables the common instruction sets
supported by all CPUs supporting any AVX-512 instructions set:
AVX512F and AVX512CD (called COMMON-AVX512 by icc)
This commit is contained in:
Peter Georg 2021-03-11 12:58:49 +01:00
parent f786ff8d69
commit d9c4afe5b7

View File

@ -444,7 +444,7 @@ case ${ax_cv_cxx_compiler_vendor} in
SIMD_FLAGS='-mavx2 -mfma -mf16c';; SIMD_FLAGS='-mavx2 -mfma -mf16c';;
AVX512) AVX512)
AC_DEFINE([AVX512],[1],[AVX512 intrinsics]) AC_DEFINE([AVX512],[1],[AVX512 intrinsics])
SIMD_FLAGS='-mavx512f -mavx512pf -mavx512er -mavx512cd';; SIMD_FLAGS='-mavx512f -mavx512cd';;
SKL) SKL)
AC_DEFINE([AVX512],[1],[AVX512 intrinsics for SkyLake Xeon]) AC_DEFINE([AVX512],[1],[AVX512 intrinsics for SkyLake Xeon])
SIMD_FLAGS='-march=skylake-avx512';; SIMD_FLAGS='-march=skylake-avx512';;
@ -498,7 +498,7 @@ case ${ax_cv_cxx_compiler_vendor} in
SIMD_FLAGS='-march=core-avx2 -xcore-avx2';; SIMD_FLAGS='-march=core-avx2 -xcore-avx2';;
AVX512) AVX512)
AC_DEFINE([AVX512],[1],[AVX512 intrinsics]) AC_DEFINE([AVX512],[1],[AVX512 intrinsics])
SIMD_FLAGS='-xcore-avx512';; SIMD_FLAGS='-xcommon-avx512';;
KNC) KNC)
AC_DEFINE([IMCI],[1],[IMCI Intrinsics for Knights Corner]) AC_DEFINE([IMCI],[1],[IMCI Intrinsics for Knights Corner])
SIMD_FLAGS='';; SIMD_FLAGS='';;