diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-06-17 12:18:27 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-06-17 15:54:13 +0000 |
commit | ac1c433c83d3822cf9d879ba581fea9afd17c23b (patch) | |
tree | 3ae9f23ccf305469e328b7f79034f086f803ac76 /src | |
parent | 5158bcb301cd573fec164ec72860b1a2a7719f85 (diff) |
Fix SSE4.1, RDSEED requirement for clang-cl builds
A misunderstanding seems to have caused several files to be compiled
with extra runtime arch options.
We need to disable multi-target functions though, because it doesn't
work with clang-cl headers.
Task-number: QTBUG-88081
Task-number: QTBUG-88434
Change-Id: Ic5829540f9007428c80f9a7bd46af35540745ccd
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit ada29a19cd4b995dfd3e3059ccdf360ba13de08c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/corelib/CMakeLists.txt | 20 | ||||
-rw-r--r-- | src/corelib/global/qsimd_p.h | 6 | ||||
-rw-r--r-- | src/gui/CMakeLists.txt | 9 |
3 files changed, 5 insertions, 30 deletions
diff --git a/src/corelib/CMakeLists.txt b/src/corelib/CMakeLists.txt index ceb99c16ee..9a74ce8654 100644 --- a/src/corelib/CMakeLists.txt +++ b/src/corelib/CMakeLists.txt @@ -271,26 +271,6 @@ qt_internal_add_module(Core # special case end ) -if (MSVC AND CLANG) - foreach(subarch sse4_1 rdrnd rdseed) - if (TEST_subarch_${subarch}) - qt_internal_add_simd_part(Core SIMD ${subarch} - SOURCES - global/qsimd.cpp - ) - endif() - endforeach() - - foreach(subarch sse4_1 aesni) - if (TEST_subarch_${subarch}) - qt_internal_add_simd_part(Core SIMD ${subarch} - SOURCES - tools/qhash.cpp - ) - endif() - endforeach() -endif() - qt_update_ignore_pch_source(Core kernel/qmetatype.cpp ) # special case begin diff --git a/src/corelib/global/qsimd_p.h b/src/corelib/global/qsimd_p.h index c8134964af..cdb2a74cd1 100644 --- a/src/corelib/global/qsimd_p.h +++ b/src/corelib/global/qsimd_p.h @@ -163,7 +163,11 @@ # define __MIPS_DSPR2__ # endif #elif defined(Q_PROCESSOR_X86) && defined(QT_COMPILER_SUPPORTS_SIMD_ALWAYS) -# define QT_COMPILER_SUPPORTS_HERE(x) ((__ ## x ## __) || QT_COMPILER_SUPPORTS(x)) +# if defined(Q_CC_CLANG) && defined(Q_CC_MSVC) +# define QT_COMPILER_SUPPORTS_HERE(x) (__ ## x ## __) +# else +# define QT_COMPILER_SUPPORTS_HERE(x) ((__ ## x ## __) || QT_COMPILER_SUPPORTS(x)) +# endif # if defined(Q_CC_GNU) && !defined(Q_CC_INTEL) /* GCC requires attributes for a function */ # define QT_FUNCTION_TARGET(x) __attribute__((__target__(QT_FUNCTION_TARGET_STRING_ ## x))) diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index 04f58dd9bc..5fe4d59d10 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -577,15 +577,6 @@ if(NOT ANDROID) ) endif() - if (MSVC AND CLANG AND TEST_subarch_sse4_1) - qt_internal_add_simd_part(Gui SIMD sse4_1 - SOURCES - painting/qdrawhelper.cpp - painting/qdrawhelper_sse2.cpp - painting/qdrawhelper_ssse3.cpp - ) - endif() - qt_internal_add_simd_part(Gui SIMD ssse3 SOURCES image/qimage_ssse3.cpp |