*** empty log message ***
authorStephen Adams <edu/mit/csail/zurich/adams>
Thu, 27 Jul 1995 14:23:46 +0000 (14:23 +0000)
committerStephen Adams <edu/mit/csail/zurich/adams>
Thu, 27 Jul 1995 14:23:46 +0000 (14:23 +0000)
v8/src/compiler/machines/spectrum/rulfix.scm
v8/src/compiler/machines/spectrum/rulrew.scm

index 34e258b34dfc4245e0f4f5a7e90b24bcc859d6c2..1a82d54a0d3ee64ed9c2227fd53f9096163f59ab 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: rulfix.scm,v 1.2 1995/03/16 04:36:29 adams Exp $
+$Id: rulfix.scm,v 1.3 1995/07/27 14:23:08 adams Exp $
 
 Copyright (c) 1989-1994 Massachusetts Institute of Technology
 
@@ -355,6 +355,7 @@ MIT in each case. |#
                        (LAP (COMICLR (=) 0 ,regnum:second-arg 0)))))))
       (if (machine-register? target)
          (begin
+           (standard-target! target)
            (delete-dead-registers!)
            (core (copy regnum:first-arg target)))
          (begin
index f4624dc84b8348ff45661b183cb66346ee891290..c2c4c72adf585824dbd1b36880ab1d87116d2cfa 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: rulrew.scm,v 1.4 1995/03/17 03:46:53 adams Exp $
+$Id: rulrew.scm,v 1.5 1995/07/27 14:23:46 adams Exp $
 
 Copyright (c) 1990-1993 Massachusetts Institute of Technology
 
@@ -318,6 +318,12 @@ MIT in each case. |#
                                   (rtl:object->address-expression
                                    base*)))))))))))
 
+(define-rule add-pre-cse-rewriting-rule!
+  ;; Prevent CSE of machine floating point constants with object flonums
+  (OBJECT->FLOAT (REGISTER (? value register-known-value)))
+  (QUALIFIER (and (rtl:constant? value)
+                 (flo:flonum? value)))
+  `(OBJECT->FLOAT ,value))
 
 ;;
 ;; (CONS-NON-POINTER (MACHINE-CONSTANT 0)