summaryrefslogtreecommitdiffstats
path: root/cpukit/score/cpu/arm/arm-context-volatile-clobber.S
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/score/cpu/arm/arm-context-volatile-clobber.S')
-rw-r--r--cpukit/score/cpu/arm/arm-context-volatile-clobber.S7
1 files changed, 5 insertions, 2 deletions
diff --git a/cpukit/score/cpu/arm/arm-context-volatile-clobber.S b/cpukit/score/cpu/arm/arm-context-volatile-clobber.S
index 7970b8e690..b3c9d7739b 100644
--- a/cpukit/score/cpu/arm/arm-context-volatile-clobber.S
+++ b/cpukit/score/cpu/arm/arm-context-volatile-clobber.S
@@ -20,7 +20,11 @@
.section .text
+#ifdef __thumb__
FUNCTION_THUMB_ENTRY(_CPU_Context_volatile_clobber)
+#else
+FUNCTION_ENTRY(_CPU_Context_volatile_clobber)
+#endif
.macro clobber_register reg
sub r0, r0, #1
@@ -29,8 +33,7 @@ FUNCTION_THUMB_ENTRY(_CPU_Context_volatile_clobber)
#ifdef ARM_MULTILIB_VFP
vmrs r1, FPSCR
- movs r2, #0x001f
- movt r2, #0xf800
+ ldr r2, =0xf800001f
bic r1, r1, r2
and r2, r2, r0
orr r1, r1, r2