Commit aefb342e authored by Michael R. Crusoe's avatar Michael R. Crusoe Committed by Michael R. Crusoe

avx512 types: avoid using native AVX512 types on MSVC unless required

Like the Intel compiler, it can lead to emiting AVX512 ops even when
/arch:AVX512 is not set.

However, the ClangCL compiler, which pretends to be MSVC, does not have
this issue.
Co-authored-by: default avatarSteven Noonan <steven@uplinklabs.net>
parent 833a8775
......@@ -527,7 +527,9 @@ typedef union {
*
* As for the ICC check, unlike other compilers, merely using the
* AVX-512 types causes ICC to generate AVX-512 instructions. */
#if (defined(_MM_CMPINT_GE) || defined(_MM_CMPINT_NLT)) && (defined(SIMDE_X86_AVX512F_NATIVE) || !defined(HEDLEY_INTEL_VERSION))
#if (defined(_MM_CMPINT_GE) || defined(_MM_CMPINT_NLT)) && \
(defined(SIMDE_X86_AVX512F_NATIVE) || \
!(defined(HEDLEY_INTEL_VERSION) || (defined(HEDLEY_MSVC_VERSION) && !defined(__clang__))))
typedef __m512 simde__m512;
typedef __m512i simde__m512i;
typedef __m512d simde__m512d;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment