From 0bdfa26e72e482ebfd519acf1a900b9a084e0173 Mon Sep 17 00:00:00 2001
From: wlott <wlott>
Date: Fri, 27 Apr 1990 19:22:40 +0000
Subject: [PATCH] Changed sap+ to take its argument as an unboxed value, so we
 don't have to shift. Made pointer- translate sap-

---
 compiler/mips/sap.lisp | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/compiler/mips/sap.lisp b/compiler/mips/sap.lisp
index 6b7f691fb..cafa3dc2e 100644
--- a/compiler/mips/sap.lisp
+++ b/compiler/mips/sap.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman (FAHLMAN@CMUC). 
 ;;; **********************************************************************
 ;;;
-;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/sap.lisp,v 1.8 1990/04/26 20:32:28 wlott Exp $
+;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/sap.lisp,v 1.9 1990/04/27 19:22:40 wlott Exp $
 ;;;
 ;;;    This file contains the MIPS VM definition of SAP operations.
 ;;;
@@ -121,18 +121,25 @@
 (define-vop (pointer+)
   (:translate sap+)
   (:args (ptr :scs (sap-reg))
-	 (offset :scs (any-reg descriptor-reg)))
+	 (offset :scs (signed-reg immediate)))
   (:arg-types system-area-pointer fixnum)
   (:results (res :scs (sap-reg)))
   (:policy :fast-safe)
   (:generator 1
-    (inst addu res ptr offset)))
+    (sc-case offset
+      (signed-reg
+       (inst addu res ptr offset))
+      (immediate
+       (inst addu res ptr (tn-value offset))))))
 
 (define-vop (pointer-)
+  (:translate sap-)
   (:args (ptr1 :scs (sap-reg))
 	 (ptr2 :scs (sap-reg)))
   (:arg-types system-area-pointer system-area-pointer)
-  (:results (res :scs (any-reg descriptor-reg)))
+  (:policy :fast-safe)
+  (:arg-types system-area-pointer system-area-pointer)
+  (:results (res :scs (signed-reg)))
   (:generator 1
     (inst subu res ptr1 ptr2)))
 
-- 
GitLab