diff --git a/compiler/rt/mc68881.lisp b/compiler/rt/mc68881.lisp index e32ed4694c5ec110fd1acc7e256c9d5bac7e7de7..a88f97b2c954955d620321efb43557dcedac7633 100644 --- a/compiler/rt/mc68881.lisp +++ b/compiler/rt/mc68881.lisp @@ -423,14 +423,16 @@ (sc-case res (mc68881-single-reg (storew bits (current-nfp-tn vop) (tn-offset stack-temp)) - (inst cal addr (* (tn-offset stack-temp) vm:word-bytes)) + (inst cal addr (current-nfp-tn vop) + (* (tn-offset stack-temp) vm:word-bytes)) (inst mc68881-load res addr :single scratch)) (single-stack (storew bits (current-nfp-tn vop) (tn-offset res))))) (signed-stack (sc-case res (mc68881-single-reg - (inst cal addr (* (tn-offset bits) vm:word-bytes)) + (inst cal addr (current-nfp-tn vop) + (* (tn-offset bits) vm:word-bytes)) (inst mc68881-load res addr :single scratch)) (single-stack (unless (location= bits res) @@ -457,7 +459,7 @@ (storew hi-bits (current-nfp-tn vop) (tn-offset stack-tn)) (storew lo-bits (current-nfp-tn vop) (1+ (tn-offset stack-tn)))) (when (sc-is res mc68881-double-reg) - (inst cal addr (* (tn-offset temp) vm:word-bytes)) + (inst cal addr (current-nfp-tn vop) (* (tn-offset temp) vm:word-bytes)) (inst mc68881-load res addr :double scratch)))) (define-vop (mc68881-single-float-bits)