diff options
Diffstat (limited to 'compile_test/avx512bw.cc')
-rw-r--r-- | compile_test/avx512bw.cc | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/compile_test/avx512bw.cc b/compile_test/avx512bw.cc index 2cd4c6a..2361f75 100644 --- a/compile_test/avx512bw.cc +++ b/compile_test/avx512bw.cc @@ -1,7 +1,18 @@ // Some compilers don't have AVX512BW support. Test for them. #include <immintrin.h> -#if defined(_MSC_VER) +// clang-cl bug doesn't include these headers when pretending to be MSVC +// https://github.com/llvm/llvm-project/blob/e9a294449575a1e1a0daca470f64914695dc9adc/clang/lib/Headers/immintrin.h#L69-L72 +#if defined(_MSC_VER) && defined(__clang__) +#include <avxintrin.h> +#include <avx2intrin.h> +#include <smmintrin.h> +#include <avx512fintrin.h> +#include <avx512dqintrin.h> +#include <avx512bwintrin.h> +#endif + +#if defined(_MSC_VER) && !defined(__clang__) #define INTGEMM_AVX512BW #elif defined(__INTEL_COMPILER) #define INTGEMM_AVX512BW __attribute__ ((target ("avx512f"))) |