summaryrefslogtreecommitdiffstats
path: root/src/corelib/global/global.pri
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2017-12-20 08:39:52 -0800
committerLiang Qi <liang.qi@qt.io>2017-12-21 15:51:08 +0000
commitaad0c8dda14f014f1aa221e03f5a3f4257442854 (patch)
tree803c3db32324453e4606fc2e056f803221ae4a01 /src/corelib/global/global.pri
parent309169afd9a500fb8c4e95dab3a7e0fb53e5d86b (diff)
Fix build with ICC: it miscompiles the F16C intrinsics
By not actually making them intrinsic, leading to linker errors: /home/qt/work/qt/qtbase/src/corelib/global/qfloat16_f16c.c:61: undefined reference to `_mm256_cvtps_ph' /home/qt/work/qt/qtbase/src/corelib/global/qfloat16_f16c.c:76: undefined reference to `_mm256_cvtph_ps' I had the workaround applied, but only for "intel_icl", the qmake config for the Intel compiler compatible with MS cl.exe options. The one for compatibility with Unix cc (intel_icc) was missing. Task-number: QTBUG-65367 Change-Id: I39332e0a867442d58082fffd15020e4838b6a01d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Diffstat (limited to 'src/corelib/global/global.pri')
-rw-r--r--src/corelib/global/global.pri4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/corelib/global/global.pri b/src/corelib/global/global.pri
index 20d010a041..a878a83bcb 100644
--- a/src/corelib/global/global.pri
+++ b/src/corelib/global/global.pri
@@ -39,7 +39,7 @@ SOURCES += \
global/qrandom.cpp \
global/qhooks.cpp
-# Only add global/qfloat16_f16.c if qfloat16.cpp can't #include it.
+# Only add global/qfloat16_f16c.c if qfloat16.cpp can't #include it.
# Any compiler: if it is already generating F16C code, let qfloat16.cpp do it
# Clang: ICE if not generating F16C code, so use qfloat16_f16c.c
# ICC: miscompiles if not generating F16C code, so use qfloat16_f16c.c
@@ -48,7 +48,7 @@ SOURCES += \
# MSVC: otherwise, it generates poorly-performing code, so use qfloat16_f16c.c
contains(QT_CPU_FEATURES.$$QT_ARCH, f16c): \
f16c_cxx = true
-else: clang|intel_icl: \
+else: clang|intel_icl|intel_icc: \
f16c_cxx = false
else: gcc:f16c:x86SimdAlways: \
f16c_cxx = true