diff options
Diffstat (limited to 'mkspecs/win32-clang-msvc/qmake.conf')
-rw-r--r-- | mkspecs/win32-clang-msvc/qmake.conf | 37 |
1 files changed, 35 insertions, 2 deletions
diff --git a/mkspecs/win32-clang-msvc/qmake.conf b/mkspecs/win32-clang-msvc/qmake.conf index ba9704e069..5da7e2d1b2 100644 --- a/mkspecs/win32-clang-msvc/qmake.conf +++ b/mkspecs/win32-clang-msvc/qmake.conf @@ -6,6 +6,27 @@ include(../common/msvc-desktop.conf) +# clang-cl does not use anything above SSE2 without extra arguments +QMAKE_CFLAGS_SSE3 = -msse3 +QMAKE_CFLAGS_SSSE3 = -mssse3 +QMAKE_CFLAGS_SSE4_1 = -msse4.1 +QMAKE_CFLAGS_SSE4_2 = -msse4.2 +QMAKE_CFLAGS_AVX = -mavx +QMAKE_CFLAGS_AVX2 = -mavx2 +QMAKE_CFLAGS_F16C = -mf16c +QMAKE_CFLAGS_RDRND = -mrdrnd +QMAKE_CFLAGS_AVX512F = -mavx512f +QMAKE_CFLAGS_AVX512ER = -mavx512er +QMAKE_CFLAGS_AVX512CD = -mavx512cd +QMAKE_CFLAGS_AVX512PF = -mavx512pf +QMAKE_CFLAGS_AVX512DQ = -mavx512dq +QMAKE_CFLAGS_AVX512BW = -mavx512bw +QMAKE_CFLAGS_AVX512VL = -mavx512vl +QMAKE_CFLAGS_AVX512IFMA = -mavx512ifma +QMAKE_CFLAGS_AVX512VBMI = -mavx512vbmi +QMAKE_CFLAGS_AESNI = -maes +QMAKE_CFLAGS_SHANI = -msha + QMAKE_COMPILER += clang_cl llvm QMAKE_CC = clang-cl @@ -15,7 +36,19 @@ QMAKE_CFLAGS += -Wno-microsoft-enum-value QMAKE_CXXFLAGS += -Wno-microsoft-enum-value -# Precompiled headers are not supported yet by clang -CONFIG -= precompile_header +QMAKE_LINK = lld-link +QMAKE_LIB = llvm-lib /NOLOGO + +QMAKE_CFLAGS_LTCG = -flto=thin +QMAKE_CXXFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG +QMAKE_CFLAGS_LTCG_FATOBJECTS = -flto +QMAKE_CXXFLAGS_LTCG_FATOBJECTS = $$QMAKE_CFLAGS_LTCG_FATOBJECTS +# Leave QMAKE_LFLAGS_LTCG empty because lld-link doesn't need any additional parameters +QMAKE_LFLAGS_LTCG = + +QMAKE_CFLAGS_OPTIMIZE_SIZE = /clang:-Oz +QMAKE_CFLAGS_OPTIMIZE_FULL = /clang:-O3 + +QMAKE_LFLAGS_RELEASE += /OPT:REF,ICF,LBR load(qt_config) |