qt5base-lts/src/corelib
Thiago Macieira 280e321e52 Fix detection of F16C for the Intel compiler (again) and Visual Studio
Neither the Intel compiler nor Visual C++ have a dedicated switch to
enable F16C support, like GCC and Clang do. So we used the AVX switch
for that in commit 8241d51f70, as it was
the closest, lowest denominator. That was incorrect and insufficient.

The Intel compiler silently miscompiles the intrinsics with -xAVX,
making calls to out-of-line functions like _mm_cvtps_ph, which don't
exist. So we actually have to use AVX2 support to generate correct code.
That might be a problem later, since Ivy Bridge supports F16C but not
AVX2.

Visual C++ is able to generate F16C code with just -arch:AVX.

Either way, since there's no dedicated command-line switch, there's also
no dedicated preprocessor macro. We're using __AVX2__ for both
compilers, as that's a sufficient condition to indicate a processor that
supports F16C.

Change-Id: I27b55fdf514247549455fffd14b205b8d8b86da7
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2017-04-06 04:15:07 +00:00
..
animation Remove pointless QT_NO_THREAD ifdefs from qpropertyanimation.cpp 2017-01-04 17:39:55 +00:00
arch QAtomic: pass explicit failure memory order to std::atomic::compare_exchange_strong 2017-03-10 08:24:41 +00:00
codecs Use QT_CONFIG(library) instead of QT_NO_LIBRARY 2017-03-06 11:27:20 +00:00
doc Replace outdated BSD license text 2017-03-03 07:26:11 +00:00
global Fix detection of F16C for the Intel compiler (again) and Visual Studio 2017-04-06 04:15:07 +00:00
io Fix warning for -no-feature-temporaryfile 2017-04-04 13:12:20 +00:00
itemmodels Merge remote-tracking branch 'origin/5.8' into 5.9 2017-03-13 15:55:44 +01:00
json json encoder: Harmonize number serialization with ES6 2017-03-25 14:26:30 +00:00
kernel Core: Replace LGPL21 with LGPL license header 2017-03-28 12:47:55 +00:00
mimetypes QMimeGlobPattern: init all members only once 2017-03-28 04:01:41 +00:00
plugin Merge remote-tracking branch 'origin/5.8' into 5.9 2017-03-13 15:55:44 +01:00
statemachine Fix build without features.qeventtransition 2017-04-04 04:24:02 +00:00
thread Merge remote-tracking branch 'origin/5.8' into 5.9 2017-03-13 15:55:44 +01:00
tools QStringBuilder: simplify QConcatenable<char[N]> 2017-03-31 07:11:13 +00:00
xml Do not assume QStringRef(const QString*) to be implicit 2017-03-14 05:42:08 +00:00
configure.json Merge remote-tracking branch 'origin/5.8' into 5.9 2017-03-13 15:55:44 +01:00
corelib.pro Use separate Qt5Config.cmake inside build directory 2016-11-25 10:46:34 +00:00
eval.pri Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
Qt5Config.cmake.in Use separate Qt5Config.cmake inside build directory 2016-11-25 10:46:34 +00:00
Qt5CoreConfigExtras.cmake.in Use qtConfig throughout in qtbase 2016-08-19 04:28:05 +00:00
Qt5CoreConfigExtrasMkspecDir.cmake.in Generate the directory for the mkspec include in a helper file. 2013-06-21 18:58:54 +02:00
Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in Generate the directory for the mkspec include in a helper file. 2013-06-21 18:58:54 +02:00
Qt5CoreMacros.cmake Qt5CoreMacros: append the --compiler-flavor=msvc flag 2017-02-01 23:11:42 +00:00
Qt5CTestMacros.cmake Merge remote-tracking branch 'origin/5.6' into 5.7 2016-04-04 08:59:18 +02:00
Qt5ModuleLocation.cmake.in Use separate Qt5Config.cmake inside build directory 2016-11-25 10:46:34 +00:00
Qt5ModuleLocationForInstall.cmake.in Use separate Qt5Config.cmake inside build directory 2016-11-25 10:46:34 +00:00
QtCore.dynlist Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
qtzlib.pro make a proper header-only module for QtZlib 2015-11-17 20:22:17 +00:00