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>
115 lines
4.1 KiB
Plaintext
115 lines
4.1 KiB
Plaintext
#
|
|
# Base qmake configuration for ICC on *nix-systems
|
|
#
|
|
# Before making changes to this file, please read the comment in
|
|
# icc-base.conf, to make sure the change goes in the right place.
|
|
#
|
|
# To verify that your change has the desired effect on the final configuration
|
|
# you can use the manual test in tests/manual/mkspecs.
|
|
#
|
|
|
|
MAKEFILE_GENERATOR = UNIX
|
|
QMAKE_COMPILER_DEFINES += __GNUC__
|
|
|
|
QMAKE_COMPILER = gcc intel_icc # icc pretends to be gcc
|
|
|
|
QMAKE_CFLAGS_OPTIMIZE = -O2
|
|
QMAKE_CFLAGS_OPTIMIZE_SIZE = -Os
|
|
|
|
QMAKE_CC = icc
|
|
QMAKE_LEX = flex
|
|
QMAKE_LEXFLAGS =
|
|
QMAKE_YACC = yacc
|
|
QMAKE_YACCFLAGS = -d
|
|
QMAKE_CFLAGS =
|
|
QMAKE_CFLAGS_APP = -fPIC
|
|
QMAKE_CFLAGS_DEPS = -M
|
|
QMAKE_CFLAGS_WARN_ON = -w1 -Wcheck -wd654,1572,411,873,1125,2259,2261,3280,3373
|
|
QMAKE_CFLAGS_WARN_OFF = -w
|
|
QMAKE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_OPTIMIZE
|
|
QMAKE_CFLAGS_DEBUG = -O0 -g
|
|
QMAKE_CFLAGS_SHLIB = -fPIC
|
|
QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
|
|
QMAKE_CFLAGS_SPLIT_SECTIONS = -ffunction-sections -fdata-sections
|
|
QMAKE_CFLAGS_LTCG = -ipo
|
|
QMAKE_CFLAGS_DISABLE_LTCG = -no-ipo
|
|
|
|
QMAKE_CFLAGS_SSE2 += -msse2
|
|
QMAKE_CFLAGS_SSE3 += -msse3
|
|
QMAKE_CFLAGS_SSSE3 += -mssse3
|
|
QMAKE_CFLAGS_SSE4_1 += -msse4.1
|
|
QMAKE_CFLAGS_SSE4_2 += -msse4.2
|
|
QMAKE_CFLAGS_AVX += -march=core-avx
|
|
QMAKE_CFLAGS_AVX2 += -march=core-avx2
|
|
QMAKE_CFLAGS_AVX512F += -march=broadwell -xCOMMON-AVX512
|
|
QMAKE_CFLAGS_AVX512CD += -march=broadwell -xCOMMON-AVX512
|
|
QMAKE_CFLAGS_AVX512ER += -march=knl
|
|
QMAKE_CFLAGS_AVX512PF += -march=knl
|
|
QMAKE_CFLAGS_AVX512DQ += -march=skylake-avx512
|
|
QMAKE_CFLAGS_AVX512BW += -march=skylake-avx512
|
|
QMAKE_CFLAGS_AVX512VL += -march=skylake-avx512
|
|
QMAKE_CFLAGS_AVX512VNNI += -march=cascadelake
|
|
QMAKE_CFLAGS_AVX512IFMA += -march=icelake-client # technically, cannonlake
|
|
QMAKE_CFLAGS_AVX512VBMI += -march=icelake-client # ditto
|
|
QMAKE_CFLAGS_AVX512VBMI2 += -march=icelake-client
|
|
QMAKE_CFLAGS_AVX512BITALG += -march=icelake-client
|
|
QMAKE_CFLAGS_AVX512POPCNTDQ += -march=icelake-client
|
|
QMAKE_CFLAGS_AESNI += -maes
|
|
QMAKE_CFLAGS_F16C += $$QMAKE_CFLAGS_AVX2
|
|
QMAKE_CFLAGS_RDRND += -mrdrnd
|
|
QMAKE_CFLAGS_RDSEED += -mrdseed
|
|
QMAKE_CFLAGS_SHANI += -msha
|
|
QMAKE_CFLAGS_VAES += -mvaes
|
|
|
|
QMAKE_CXX = icpc
|
|
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
|
|
QMAKE_CXXFLAGS_APP = $$QMAKE_CFLAGS_APP
|
|
QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
|
|
QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
|
|
QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
|
|
QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
|
|
QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
|
|
QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB
|
|
QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
|
|
QMAKE_CXXFLAGS_SPLIT_SECTIONS = $$QMAKE_CFLAGS_SPLIT_SECTIONS
|
|
QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions
|
|
QMAKE_CXXFLAGS_CXX11 = -std=c++11
|
|
QMAKE_CXXFLAGS_CXX14 = -std=c++1y
|
|
QMAKE_CXXFLAGS_CXX1Z = -std=c++1z
|
|
QMAKE_CXXFLAGS_GNUCXX11 = -std=gnu++11
|
|
QMAKE_CXXFLAGS_GNUCXX14 = -std=gnu++1y
|
|
QMAKE_CXXFLAGS_GNUCXX1Z = -std=gnu++1z
|
|
QMAKE_CXXFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG
|
|
QMAKE_CXXFLAGS_DISABLE_LTCG = $$QMAKE_CFLAGS_DISABLE_LTCG
|
|
|
|
# pch support
|
|
CONFIG += icc_pch_style
|
|
QMAKE_PCH_OUTPUT_EXT = .pchi
|
|
QMAKE_CXXFLAGS_USE_PRECOMPILE = -pch-use ${QMAKE_PCH_OUTPUT} -include ${QMAKE_PCH_INPUT}
|
|
QMAKE_CXXFLAGS_PRECOMPILE = -c -pch-create ${QMAKE_PCH_OUTPUT} -include ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_TEMP_OBJECT} ${QMAKE_PCH_TEMP_SOURCE}
|
|
|
|
# Symbol visibility control
|
|
QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
|
|
QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
|
|
|
|
QMAKE_LINK = icpc
|
|
QMAKE_LINK_SHLIB = icpc
|
|
QMAKE_LFLAGS =
|
|
QMAKE_LFLAGS_RELEASE =
|
|
QMAKE_LFLAGS_DEBUG =
|
|
QMAKE_LFLAGS_THREAD =
|
|
QMAKE_LFLAGS_RPATH = -Wl,-rpath,
|
|
QMAKE_LFLAGS_CXX11 =
|
|
QMAKE_LFLAGS_CXX14 =
|
|
QMAKE_LFLAGS_CXX1Z =
|
|
QMAKE_LFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG
|
|
|
|
QMAKE_INCDIR =
|
|
QMAKE_LIBDIR =
|
|
QMAKE_INCDIR_X11 =
|
|
QMAKE_LIBDIR_X11 =
|
|
QMAKE_INCDIR_OPENGL =
|
|
QMAKE_LIBDIR_OPENGL =
|
|
|
|
QMAKE_CLEAN = -r $(OBJECTS_DIR)/ti_files
|