qt5base-lts/mkspecs/common
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
..
aix Updated license headers 2016-01-15 12:25:24 +00:00
android Updated license headers 2016-01-15 12:25:24 +00:00
bsd mkspecs: Replace LGPL21 with LGPL license header 2017-03-03 07:26:43 +00:00
c89 Updated license headers 2016-01-15 12:25:24 +00:00
integrity mkspecs: Replace LGPL21 with LGPL license header 2017-03-03 07:26:43 +00:00
mac Updated license headers 2016-01-15 12:25:24 +00:00
nacl Updated license headers 2016-01-15 12:25:24 +00:00
posix Updated license headers 2016-01-15 12:25:24 +00:00
qnx Updated license headers 2016-01-15 12:25:24 +00:00
uikit Merge remote-tracking branch 'origin/5.8' into dev 2016-10-13 09:49:38 +02:00
winrt_winphone Merge remote-tracking branch 'origin/5.8' into dev 2017-01-25 20:06:06 +01:00
android-base-head.conf move qdevice.pri creation to qmake-based configure system 2016-12-13 18:56:28 +00:00
android-base-tail.conf move qdevice.pri creation to qmake-based configure system 2016-12-13 18:56:28 +00:00
clang-mac.conf Darwin: Fix clang LTO builds 2016-08-18 13:48:52 +00:00
clang.conf Fix the naming of an LLVM tool in common/clang.conf 2016-07-02 16:35:01 +00:00
g++-base.conf Update mkspecs to use "c++11" instead of "c++0x" 2015-10-18 04:46:45 +00:00
g++-macx.conf Remove the -load_all option from the linker enabling static builds 2015-01-07 09:57:07 +01:00
g++-unix.conf Fix '=' alignment and replace tabs in *.conf (whitespace only change) 2013-03-27 17:16:37 +01:00
g++.conf
gcc-base-mac.conf MinGW: reuse gcc-base.conf and g++-base.conf 2016-11-29 16:23:58 +00:00
gcc-base-unix.conf MinGW: reuse gcc-base.conf and g++-base.conf 2016-11-29 16:23:58 +00:00
gcc-base.conf Use native support for fp16 where available 2017-02-16 12:03:45 +00:00
ghs-base.conf Remove -uvfd flag on INTEGRITY 2017-01-31 09:27:53 +00:00
ghs-integrity-armv7.conf Add -bigswitch on INTEGRITY 2017-04-03 08:08:46 +00:00
ghs-integrity-x86.conf Add support for building for INTEGRITY using GHS toolchain. 2016-03-21 16:49:54 +00:00
ios.conf Add support for Apple tvOS 2016-05-17 16:11:23 +00:00
linux.conf Make sure flags from library detections go to the right places 2016-10-10 16:59:10 +00:00
llvm.conf Refer to Apple products by their actual names. 2013-07-10 17:32:48 +02:00
mac.conf Merge remote-tracking branch 'origin/5.7' into 5.8 2016-10-06 20:12:27 +02:00
macx.conf Share the multi-arch infrastructure between UIKit and macOS 2016-09-29 21:51:18 +00:00
msvc-desktop.conf Merge remote-tracking branch 'origin/5.8' into dev 2017-01-25 20:06:06 +01:00
msvc-version.conf Fix detection of F16C for the Intel compiler (again) and Visual Studio 2017-04-06 04:15:07 +00:00
qcc-base-qnx-aarch64le.conf Add some 64-bit QNX platforms 2016-06-22 14:59:26 +00:00
qcc-base-qnx-armle-v7.conf move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
qcc-base-qnx-x86-64.conf Add some 64-bit QNX platforms 2016-06-22 14:59:26 +00:00
qcc-base-qnx-x86.conf move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
qcc-base-qnx.conf Clean up QT_QPA_DEFAULT_PLATFORM handling 2016-10-05 19:07:30 +00:00
qcc-base.conf Merge remote-tracking branch 'origin/5.4' into merge5.5 2015-05-08 13:26:44 +02:00
sanitize.conf Add support for gcc/clang's sanitize features 2014-10-02 19:45:00 +02:00
shell-unix.conf centralize setup of shell-related variables in spec_post.prf 2015-03-06 19:08:40 +00:00
shell-win32.conf centralize setup of shell-related variables in spec_post.prf 2015-03-06 19:08:40 +00:00
solaris.conf Replace gstrip by strip due to ELF corruption 2017-02-13 20:06:53 +00:00
tvos.conf qmake: enable bitcode also for iOS 2016-08-19 21:06:05 +00:00
uikit.conf Remove useless DARWIN_NO_CARBON define from uikit mkspecs 2017-01-24 19:40:29 +00:00
unix.conf unify handling of library prefixes and extensions 2015-10-01 16:19:30 +00:00
watchos.conf qmake: enable bitcode also for iOS 2016-08-19 21:06:05 +00:00
windows-gles.conf Fix linking against ANGLE in debug builds 2016-11-01 09:33:23 +00:00