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
Pick-to: 6.2
Change-Id: Ic5829540f9007428c80f9a7bd46af35540745ccd
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
bb10
Allan Sandfeld Jensen 2021-06-17 12:18:27 +02:00
parent c2c15666b7
commit ada29a19cd
3 changed files with 5 additions and 30 deletions

View File

@ -269,26 +269,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

View File

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

View File

@ -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