Add byte-unsigned-offset-reference.
authorGuillermo J. Rozas <edu/mit/csail/zurich/gjr>
Sat, 15 Feb 1992 16:16:57 +0000 (16:16 +0000)
committerGuillermo J. Rozas <edu/mit/csail/zurich/gjr>
Sat, 15 Feb 1992 16:16:57 +0000 (16:16 +0000)
v7/src/compiler/machines/i386/lapgen.scm

index d6ac536e5d10dfd343c9b8633d2b918f51b1c98d..9722af0b8805c94d16ad4b8a480fadc8c345b70f 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/i386/lapgen.scm,v 1.14 1992/02/15 14:31:42 jinx Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/i386/lapgen.scm,v 1.15 1992/02/15 16:16:57 jinx Exp $
 $MC68020-Header: /scheme/compiler/bobcat/RCS/lapgen.scm,v 4.42 1991/05/28 19:14:26 jinx Exp $
 
 Copyright (c) 1992 Massachusetts Institute of Technology
@@ -163,6 +163,14 @@ MIT in each case. |#
        (else
         (INST-EA (@RO W ,register ,offset)))))
 
+(define (byte-unsigned-offset-reference register offset)
+  (cond ((zero? offset)
+        (INST-EA (@R ,register)))
+       ((fits-in-unsigned-byte? offset)
+        (INST-EA (@RO UB ,register ,offset)))
+       (else
+        (INST-EA (@RO UW ,register ,offset)))))
+
 (define-integrable (pseudo-register-offset register)
   (+ (+ (* 16 4) (* 80 4))
      (* 3 (register-renumber register))))