[commit: ghc] wip/aarch64-regd: rts: Fix clobbered regs list for aarch64 StgRun (0db7ac3)

git at git.haskell.org git at git.haskell.org
Fri Oct 23 02:54:33 UTC 2015


Repository : ssh://git@git.haskell.org/ghc

On branch  : wip/aarch64-regd
Link       : http://ghc.haskell.org/trac/ghc/changeset/0db7ac3efc15237b10e1ae72d6c97056fea74092/ghc

>---------------------------------------------------------------

commit 0db7ac3efc15237b10e1ae72d6c97056fea74092
Author: Erik de Castro Lopo <erikd at mega-nerd.com>
Date:   Wed Jun 3 05:54:23 2015 +0000

    rts: Fix clobbered regs list for aarch64 StgRun


>---------------------------------------------------------------

0db7ac3efc15237b10e1ae72d6c97056fea74092
 rts/StgCRun.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/rts/StgCRun.c b/rts/StgCRun.c
index 6448509..b9a9496 100644
--- a/rts/StgCRun.c
+++ b/rts/StgCRun.c
@@ -827,8 +827,12 @@ StgRun(StgFunPtr f, StgRegTable *basereg) {
 
       : "=r" (r)
       : "r" (f), "r" (basereg), "i" (RESERVED_C_STACK_BYTES)
-        : "%x19", "%x20", "%x21", "%x22", "%x23", "%x24", "%x25", "%x26", "%x27", "%x28",
-          "%x16", "%x17", "%x30"
+
+      : "%x16", "%x17", /* Exclude %r18 (platform/temporary register) */
+        "%x19", "%x20", "%x21", "%x22", "%x23", "%x24", "%x25",
+        "%x26", "%x27", "%x28", /* Exclude %x29 (frame pointer) */
+        "%x30",
+        "%d8", "%d9", "%d10", "%d11", "%d12", "%d13", "%d14"
     );
     return r;
 }



More information about the ghc-commits mailing list