[commit: ghc] ghc-7.4: fix ARM StgCRun to not save and restore r11/fp register twice (712604f)
Paolo Capriotti
p.capriotti at gmail.com
Tue Mar 6 16:22:03 CET 2012
Repository : ssh://darcs.haskell.org//srv/darcs/ghc
On branch : ghc-7.4
http://hackage.haskell.org/trac/ghc/changeset/712604fe5856a34e184b1111de67f6dc0f8aeb5f
>---------------------------------------------------------------
commit 712604fe5856a34e184b1111de67f6dc0f8aeb5f
Author: Karel Gardas <karel.gardas at centrum.cz>
Date: Tue Feb 14 08:03:07 2012 +0100
fix ARM StgCRun to not save and restore r11/fp register twice
MERGED from commit 0bca11de22e7ad274608dc1198e51f68aae91694
>---------------------------------------------------------------
rts/StgCRun.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/rts/StgCRun.c b/rts/StgCRun.c
index 17aefb6..ade1537 100644
--- a/rts/StgCRun.c
+++ b/rts/StgCRun.c
@@ -632,7 +632,7 @@ StgRun(StgFunPtr f, StgRegTable *basereg) {
/*
* save callee-saves registers on behalf of the STG code.
*/
- "stmfd sp!, {r4-r11, fp, ip, lr}\n\t"
+ "stmfd sp!, {r4-r10, fp, ip, lr}\n\t"
#if !defined(arm_HOST_ARCH_PRE_ARMv6)
"vstmdb sp!, {d8-d11}\n\t"
#endif
@@ -669,7 +669,7 @@ StgRun(StgFunPtr f, StgRegTable *basereg) {
#if !defined(arm_HOST_ARCH_PRE_ARMv6)
"vldmia sp!, {d8-d11}\n\t"
#endif
- "ldmfd sp!, {r4-r11, fp, ip, lr}\n\t"
+ "ldmfd sp!, {r4-r10, fp, ip, lr}\n\t"
: "=r" (r)
: "r" (f), "r" (basereg), "i" (RESERVED_C_STACK_BYTES)
: "%r4", "%r5", "%r6", "%r8", "%r9", "%r10", "%r11", "%fp", "%ip", "%lr"
More information about the Cvs-ghc
mailing list