[Openmcl-cvs-notifications] r12580 - /trunk/source/compiler/PPC/ppc2.lisp

rme at clozure.com rme at clozure.com
Sat Aug 15 03:28:40 EDT 2009


Author: rme
Date: Sat Aug 15 03:28:40 2009
New Revision: 12580

Log:
In PPC2-%FIXNUM-TO-SINGLE, if vreg isn't a single-float reg, introduce
a temporary.

Modified:
    trunk/source/compiler/PPC/ppc2.lisp

Modified: trunk/source/compiler/PPC/ppc2.lisp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/compiler/PPC/ppc2.lisp (original)
+++ trunk/source/compiler/PPC/ppc2.lisp Sat Aug 15 03:28:40 2009
@@ -9100,7 +9100,11 @@
                   *ppc2-reckless*)
         (! trap-unless-fixnum r))
       (! fixnum->fpr dreg r)
-      (! double-to-single vreg dreg) =

+      (if (single-float-reg-p vreg)
+	(! double-to-single vreg dreg)
+	(with-fp-target (dreg) (sreg :single-float)
+	  (! double-to-single sreg dreg)
+	  (<- sreg)))
       (^))))
 =

 (defppc2 ppc2-%double-float %double-float (seg vreg xfer arg)



More information about the Openmcl-cvs-notifications mailing list