(reference->register-transfer): When source was an address register
authorChris Hanson <org/chris-hanson/cph>
Wed, 2 Nov 1988 21:55:33 +0000 (21:55 +0000)
committerChris Hanson <org/chris-hanson/cph>
Wed, 2 Nov 1988 21:55:33 +0000 (21:55 +0000)
this compared it to target, succeeding when target was a data
register.

v7/src/compiler/machines/bobcat/lapgen.scm

index 85d1aa4460786c88f98661f790a83fc7d9f9e9da..1528de9982863f1043b95963e60f2fd4bf48c73c 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/lapgen.scm,v 4.13 1988/10/28 17:47:53 markf Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/lapgen.scm,v 4.14 1988/11/02 21:55:33 cph Exp $
 
 Copyright (c) 1988 Massachusetts Institute of Technology
 
@@ -39,8 +39,10 @@ MIT in each case. |#
 ;;;; Basic machine instructions
 
 (define (reference->register-transfer source target)
-  (if (and (effective-address/register? source)
-          (= (lap:ea-operand-1 source) target))
+  (if (or (and (effective-address/data-register? source)
+              (= (lap:ea-operand-1 source) target))
+         (and (effective-address/address-register? source)
+              (= (+ 8 (lap:ea-operand-1 source)) target)))
       (LAP)
       (LAP (MOV L ,source ,(register-reference target)))))