summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools
diff options
context:
space:
mode:
authorAndreas Holzammer <andreas.holzammer@kdab.com>2016-03-24 16:22:33 +0100
committerAndreas Holzammer <andreas.holzammer@kdab.com>2016-04-11 05:56:49 +0000
commit093eec6fedd46d4065056376c5d9b56deb249fae (patch)
treee52379b90434bdaba86c93067358390a0a42828e /src/corelib/tools
parent8686ff0d9c09af255a16d03a1f5a2f794c631424 (diff)
wince: Fix intrinsics for X86 platforms when SSE2 is enabled
SSE2 can use intrinsics, which are supported by WEC2013, but for WEC7 they need to be defined. Change-Id: I261f3db4db7abcb0b59598cef9cbad404635c3ec Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Gunnar Roth <gunnar.roth@gmx.net> Reviewed-by: Kevin Funk <kevin.funk@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Diffstat (limited to 'src/corelib/tools')
-rw-r--r--src/corelib/tools/qsimd_p.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/corelib/tools/qsimd_p.h b/src/corelib/tools/qsimd_p.h
index 8171184ad2..ca53908cf5 100644
--- a/src/corelib/tools/qsimd_p.h
+++ b/src/corelib/tools/qsimd_p.h
@@ -432,7 +432,13 @@ static inline quint64 qCpuFeatures()
#ifdef Q_PROCESSOR_X86
// Bit scan functions for x86
-# if defined(Q_CC_MSVC) && !defined(Q_OS_WINCE)
+# if defined(Q_CC_MSVC)
+# if defined _WIN32_WCE && _WIN32_WCE < 0x800
+extern "C" unsigned char _BitScanForward(unsigned long* Index, unsigned long Mask);
+extern "C" unsigned char _BitScanReverse(unsigned long* Index, unsigned long Mask);
+# pragma intrinsic(_BitScanForward)
+# pragma intrinsic(_BitScanReverse)
+# endif
// MSVC calls it _BitScanReverse and returns the carry flag, which we don't need
static __forceinline unsigned long _bit_scan_reverse(uint val)
{