02eb9df851
Cascade Lake (CLX) added AVX512VNNI, Ice Lake has added that plus the integer multiplication (IFMA), the vector bit manipulation instructions (VBMI and VBMI2), bit algorithms (BITALG), the extended vector AES instructions (VAES), among others. I haven't turned on the configure check for those yet. I believe the VBMI and IFMA instructions will be interesting for Qt image algorithms, but we'll need some Ice Lakes to do benchmarking on. Change-Id: Ib5d667bf77a740c28d2efffd15cb43dd821d4b2d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
74 lines
2.5 KiB
Plaintext
74 lines
2.5 KiB
Plaintext
#
|
|
# qmake configuration for win32-icc
|
|
#
|
|
# Written for Intel C++ Compiler on Windows / icl 16.0 or higher
|
|
#
|
|
|
|
# Use the Microsoft C/C++ Optimizing Compiler configuration,
|
|
# since ICC on Windows pretends to be MSVC
|
|
|
|
include(../common/msvc-desktop.conf)
|
|
|
|
# modifications to msvc-desktop.conf
|
|
|
|
QMAKE_COMPILER += intel_icl
|
|
|
|
QMAKE_CFLAGS_OPTIMIZE_FULL = -O3
|
|
|
|
QMAKE_CC = icl
|
|
QMAKE_CFLAGS += -Qprec -Zm200
|
|
QMAKE_CFLAGS_WARN_ON = -W3 -Qdiag-disable:673,809,1738,1744,3373
|
|
QMAKE_CFLAGS_WARN_OFF = -W0
|
|
QMAKE_CFLAGS_DEBUG = $$QMAKE_CFLAGS_OPTIMIZE_DEBUG -Zi -MDd
|
|
QMAKE_CFLAGS_UTF8_SOURCE = -Qoption,cpp,--unicode_source_kind,UTF-8
|
|
QMAKE_CFLAGS_LTCG = -Qipo
|
|
QMAKE_CFLAGS_DISABLE_LTCG = -Qipo-
|
|
|
|
QMAKE_CFLAGS_SSE2 = -QxSSE2
|
|
QMAKE_CFLAGS_SSE3 = -QxSSE3
|
|
QMAKE_CFLAGS_SSSE3 = -QxSSSE3
|
|
QMAKE_CFLAGS_SSE4_1 = -QxSSE4.1
|
|
QMAKE_CFLAGS_SSE4_2 = -QxSSE4.2
|
|
QMAKE_CFLAGS_AVX = -QxAVX
|
|
QMAKE_CFLAGS_AVX2 = -QxCORE-AVX2
|
|
QMAKE_CFLAGS_AVX512F += -QxCOMMON-AVX512
|
|
QMAKE_CFLAGS_AVX512CD += -QxCOMMON-AVX512
|
|
QMAKE_CFLAGS_AVX512ER += -QxMIC-AVX512
|
|
QMAKE_CFLAGS_AVX512PF += -QxMIC-AVX512
|
|
QMAKE_CFLAGS_AVX512DQ += -QxCORE-AVX512
|
|
QMAKE_CFLAGS_AVX512BW += -QxCORE-AVX512
|
|
QMAKE_CFLAGS_AVX512VL += -QxCORE-AVX512
|
|
QMAKE_CFLAGS_AVX512VNNI += -QxCASCADELAKE
|
|
QMAKE_CFLAGS_AVX512IFMA += -QxICELAKE-CLIENT # technically, cannonlake
|
|
QMAKE_CFLAGS_AVX512VBMI += -QxICELAKE-CLIENT # ditto
|
|
QMAKE_CFLAGS_AVX512VBMI2 += QxICELAKE-CLIENT
|
|
QMAKE_CFLAGS_AVX512BITALG += QxICELAKE-CLIENT
|
|
QMAKE_CFLAGS_AVX512POPCNTDQ += QxICELAKE-CLIENT
|
|
QMAKE_CFLAGS_F16C = $$QMAKE_CFLAGS_AVX2
|
|
QMAKE_CFLAGS_RDRND = $$QMAKE_CFLAGS_AVX2
|
|
# ICC on Windows lacks the mrdseed compiler option that sets the RDSEED macro
|
|
QMAKE_CFLAGS_RDSEED = -D__RDSEED__=1
|
|
QMAKE_CFLAGS_ARCH_HASWELL = $$QMAKE_CFLAGS_AVX2
|
|
|
|
QMAKE_CFLAGS_AESNI = -QxSSE2
|
|
QMAKE_CFLAGS_SHANI = -QxSSE4.2
|
|
QMAKE_CFLAGS_VAES = -QxCORE-AVX512
|
|
|
|
QMAKE_CXX = $$QMAKE_CC
|
|
QMAKE_CXXFLAGS += -Qprec -Zm200 -Zc:forScope
|
|
QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
|
|
QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
|
|
QMAKE_CXXFLAGS_CXX11 = -Qstd=c++11
|
|
# ICC supports the following but Qt won't compile
|
|
#QMAKE_CXXFLAGS_CXX14 = -Qstd=c++14
|
|
#QMAKE_CXXFLAGS_CXX1Z = -Qstd=c++17
|
|
QMAKE_CXXFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG
|
|
QMAKE_CXXFLAGS_DISABLE_LTCG = $$QMAKE_CFLAGS_DISABLE_LTCG
|
|
|
|
QMAKE_LINK = xilink
|
|
QMAKE_LFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG
|
|
|
|
QMAKE_LIB = xilib /NOLOGO
|
|
|
|
load(qt_config)
|