#
# 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)
