summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJani Hautakangas <jani.hautakangas@nokia.com>2010-10-25 09:17:26 (GMT)
committerJani Hautakangas <jani.hautakangas@nokia.com>2010-10-26 05:42:35 (GMT)
commit7a083cc0b52df31fe9348f7e09eaf6d9e72bdb13 (patch)
tree4e7537a8244d747fde50c5de24e20200a323b2a1
parentf2aa8bfcd3c5e94c72ad8da646a822fd032a4a11 (diff)
downloadQt-7a083cc0b52df31fe9348f7e09eaf6d9e72bdb13.zip
Qt-7a083cc0b52df31fe9348f7e09eaf6d9e72bdb13.tar.gz
Qt-7a083cc0b52df31fe9348f7e09eaf6d9e72bdb13.tar.bz2
Remove qdrawhelper_arm_simd.cpp dependency to u32std.h
Reviewed-by: Shane Kearns
-rw-r--r--src/gui/painting/qdrawhelper_arm_simd.cpp21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/gui/painting/qdrawhelper_arm_simd.cpp b/src/gui/painting/qdrawhelper_arm_simd.cpp
index 61dac5e..2a5f5e4 100644
--- a/src/gui/painting/qdrawhelper_arm_simd.cpp
+++ b/src/gui/painting/qdrawhelper_arm_simd.cpp
@@ -47,7 +47,26 @@
#ifdef QT_HAVE_ARM_SIMD
#if defined(Q_OS_SYMBIAN)
-#include <u32std.h>
+#if !defined(__SWITCH_TO_ARM)
+#ifdef __MARM_THUMB__
+#ifndef __ARMCC__
+#define __SWITCH_TO_ARM asm("push {r0} ");\
+ asm("add r0, pc, #4 ");\
+ asm("bx r0 ");\
+ asm("nop ");\
+ asm(".align 2 ");\
+ asm(".code 32 ");\
+ asm("ldr r0, [sp], #4 ")
+#define __END_ARM asm(".code 16 ")
+#else
+#define __SWITCH_TO_ARM asm(".code 32 ");
+#define __END_ARM
+#endif // __ARMCC__
+#else
+#define __SWITCH_TO_ARM
+#define __END_ARM
+#endif //__MARM_THUMB__
+#endif
#endif
#if defined(Q_OS_SYMBIAN) && defined(Q_CC_RVCT)