qt5base-lts/mkspecs
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-g++
aix-g++-64
aix-xlc
aix-xlc-64
android-clang mkspecs: Replace LGPL21 with LGPL license header 2017-03-03 07:26:43 +00:00
android-g++ Merge remote-tracking branch 'origin/5.7' into 5.8 2016-10-11 07:40:32 +02:00
common Fix detection of F16C for the Intel compiler (again) and Visual Studio 2017-04-06 04:15:07 +00:00
cygwin-g++
darwin-g++ Don't pass -headerpad_max_install_names when using Bitcode 2017-03-07 01:05:16 +00:00
devices move freebsd device spec validation to configure 2017-03-22 14:11:26 +00:00
dummy move all target spec handling to qmake-based configure system 2016-12-13 18:56:34 +00:00
features Merge remote-tracking branch 'origin/5.8' into 5.9 2017-03-27 10:42:08 +02:00
freebsd-clang
freebsd-g++
haiku-g++ Clean up QT_QPA_DEFAULT_PLATFORM handling 2016-10-05 19:07:30 +00:00
hpux-acc
hpux-acc-64
hpux-acc-o64
hpux-g++
hpux-g++-64
hpuxi-acc-32
hpuxi-acc-64
hpuxi-g++-64
hurd-g++
integrity-armv7 mkspecs: Replace LGPL21 with LGPL license header 2017-03-03 07:26:43 +00:00
integrity-armv7-imx6 mkspecs: Replace LGPL21 with LGPL license header 2017-03-03 07:26:43 +00:00
integrity-x86 mkspecs: Replace LGPL21 with LGPL license header 2017-03-03 07:26:43 +00:00
irix-cc
irix-cc-64
irix-g++
irix-g++-64
linux-arm-gnueabi-g++
linux-clang
linux-clang-libc++
linux-cxx
linux-g++
linux-g++-32
linux-g++-64
linux-icc Fix detection of F16C for the Intel compiler (again) and Visual Studio 2017-04-06 04:15:07 +00:00
linux-icc-32
linux-icc-64
linux-kcc
linux-llvm
linux-lsb-g++
linux-pgcc
lynxos-g++
macx-clang Bump the minimum required Darwin versions 2017-01-03 23:04:36 +00:00
macx-g++ Bump the minimum required Darwin versions 2017-01-03 23:04:36 +00:00
macx-icc Fix detection of F16C for the Intel compiler (again) and Visual Studio 2017-04-06 04:15:07 +00:00
macx-ios-clang Bump the minimum required Darwin versions 2017-01-03 23:04:36 +00:00
macx-tvos-clang mkspecs: Replace LGPL21 with LGPL license header 2017-03-03 07:26:43 +00:00
macx-watchos-clang mkspecs: Replace LGPL21 with LGPL license header 2017-03-03 07:26:43 +00:00
macx-xcode Merge remote-tracking branch 'origin/5.6' into 5.7 2016-08-25 16:12:11 +02:00
modules
netbsd-g++
openbsd-g++
qnx-aarch64le-qcc mkspecs: Replace LGPL21 with LGPL license header 2017-03-03 07:26:43 +00:00
qnx-armle-v7-qcc Convert the old feature system 2016-09-15 08:24:10 +00:00
qnx-x86-64-qcc mkspecs: Replace LGPL21 with LGPL license header 2017-03-03 07:26:43 +00:00
qnx-x86-qcc Convert the old feature system 2016-09-15 08:24:10 +00:00
sco-cc
sco-g++
solaris-cc
solaris-cc-64
solaris-cc-64-stlport
solaris-cc-stlport
solaris-g++ Remove out of date comments related to Xorg and GCC 2017-02-08 23:41:35 +00:00
solaris-g++-64 Remove out of date comments related to Xorg and GCC 2017-02-08 23:41:35 +00:00
tru64-cxx
tru64-g++
unixware-cc
unixware-g++
unsupported
win32-clang-msvc Merge all "win32-msvc*" mkspecs into one 2016-12-23 13:45:39 +00:00
win32-g++ MinGW: reuse gcc-base.conf and g++-base.conf 2016-11-29 16:23:58 +00:00
win32-icc Fix detection of F16C for the Intel compiler (again) and Visual Studio 2017-04-06 04:15:07 +00:00
win32-msvc Merge all "win32-msvc*" mkspecs into one 2016-12-23 13:45:39 +00:00
winrt-arm-msvc2015 Remove hard-coded MS compiler versions from the mkspecs 2016-12-23 13:45:26 +00:00
winrt-x64-msvc2015 centralize QMAKE_COMPILER_DEFINES+=_WIN32 also for winrt specs 2016-12-30 10:25:11 +00:00
winrt-x64-msvc2017 winrt: Add support for Visual Studio 2017 2017-01-20 13:09:16 +00:00
winrt-x86-msvc2015 centralize QMAKE_COMPILER_DEFINES+=_WIN32 also for winrt specs 2016-12-30 10:25:11 +00:00
winrt-x86-msvc2017 winrt: Add support for Visual Studio 2017 2017-01-20 13:09:16 +00:00