From: Taylor R Campbell Date: Tue, 22 Jan 2019 03:47:35 +0000 (+0000) Subject: Fix register choices in GENERATE/REMOTE-LINKS. X-Git-Tag: mit-scheme-pucked-10.1.20~11^2~66^2~36 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=0c87f9d50194a468b5861114433c194cf9f26c17;p=mit-scheme.git Fix register choices in GENERATE/REMOTE-LINKS. --- diff --git a/src/compiler/machines/aarch64/rules3.scm b/src/compiler/machines/aarch64/rules3.scm index 9701f3196..9e764240d 100644 --- a/src/compiler/machines/aarch64/rules3.scm +++ b/src/compiler/machines/aarch64/rules3.scm @@ -749,13 +749,17 @@ USA. (end-label (generate-label 'END)) (continuation-label (generate-label 'LINKED)) (counter r24) ;unallocated, callee-saves - (temp1 r1) ;unallocated - (temp2 r2) ;unallocated + (temp1 r5) ;unallocated + (temp2 r6) ;unallocated ;; arg1 will be return address. (arg2 regnum:utility-arg2) (arg3 regnum:utility-arg3) (arg4 regnum:utility-arg4)) (assert (not (= counter regnum:scratch-0))) + (assert (not (= counter regnum:utility-arg1))) + (assert + (null? (eqv-set-intersection (list counter temp1 temp2) + (list arg2 arg3 arg3)))) (LAP ,@(load-unsigned-immediate counter n-blocks) (LABEL ,loop-label) ,@(load-pc-relative arg2 vector-label) ;arg2 := vector