summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2021-06-17 12:18:27 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-06-17 15:54:13 +0000
commitac1c433c83d3822cf9d879ba581fea9afd17c23b (patch)
tree3ae9f23ccf305469e328b7f79034f086f803ac76 /src
parent5158bcb301cd573fec164ec72860b1a2a7719f85 (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.txt20
-rw-r--r--src/corelib/global/qsimd_p.h6
-rw-r--r--src/gui/CMakeLists.txt9
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