path: root/src/corelib/tools/qsimd_p.h
diff options
authorErik Verbruggen <>2016-02-25 10:11:23 +0100
committerTor Arne Vestbø <>2016-03-08 17:55:14 +0000
commit27a2a0255946ddcd83cf28fa778685092e56e98d (patch)
tree7f6d57bcc7e7962285ecd6fdc84c2aa68d4faca6 /src/corelib/tools/qsimd_p.h
parent15ddb7f841f2fccbe854ada9f61a8243e35a4e05 (diff)
iOS: Disable usage of crc32 intrinsics.
To quote : > AArch64: fix Cyclone CPU features list. > It turns out we don't have CRC after all. Who knew? So clang did define __ARM_FEATURE_CRC32, while the CPU didn't support the crc32 instructions, resulting in EXC_BAD_INSTRUCTION. Change-Id: I4b0123ac5e7fd04696c05bfe7dacce205cffac8f Task-number: QTBUG-51168 Reviewed-by: Tor Arne Vestbø <>
Diffstat (limited to 'src/corelib/tools/qsimd_p.h')
1 files changed, 7 insertions, 0 deletions
diff --git a/src/corelib/tools/qsimd_p.h b/src/corelib/tools/qsimd_p.h
index c771037427..02439a2a9c 100644
--- a/src/corelib/tools/qsimd_p.h
+++ b/src/corelib/tools/qsimd_p.h
@@ -267,6 +267,13 @@
# endif
+// Clang compiler fix, see
+// This should be tweaked with an "upper version" of clang once we know which release fixes the
+// issue. At that point we can rely on __ARM_FEATURE_CRC32 again.
+#if defined(Q_CC_CLANG) && defined(Q_OS_DARWIN) && defined (__ARM_FEATURE_CRC32)
+# undef __ARM_FEATURE_CRC32
// NEON intrinsics
// note: as of GCC 4.9, does not support function targets for ARM
#if defined(__ARM_NEON) || defined(__ARM_NEON__)