ff1ffa7577
It seems the compiler supports /arch:AVX512 and /arch:AVX512F but none of the other switches (and neither are documented). And when you pass those, you also get Conflict Detection (CD), Double & Quad (DQ), Byte & Word (BW) and Vector Length (VL), which matches the ICC switch "-xCORE-AVX512". Unlike ICC, there doesn't seem to be an option to enable only the common part of AVX-512. Support for Intel Xeon Phi's current features (Exponential & Reciprocation and Prefetch) and future ones (IFMA, VBMI, 4FMAPS, 4VNNI and VPOPCNTDQ) seems to be missing altogether. See https://blogs.msdn.microsoft.com/vcblog/2017/07/11/microsoft-visual-studio-2017-supports-intel-avx-512/ Change-Id: I98105cd9616b8097957db680d73eb1f86e487e6d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
11 lines
309 B
Prolog
11 lines
309 B
Prolog
SOURCES = avx512.cpp
|
|
|
|
!defined(AVX512, "var"): error("You must set the AVX512 variable!")
|
|
|
|
varname = QMAKE_CFLAGS_AVX512$$AVX512
|
|
value = $$eval($$varname)
|
|
!defined($$varname, "var"): error("This compiler does not support AVX512")
|
|
|
|
QMAKE_CXXFLAGS += $$value
|
|
DEFINES += WANT_AVX512=$$AVX512 WANT_AVX512$$AVX512
|