[Openmcl-cvs-notifications] r11300 - /trunk/source/compiler/X86/x862.lisp

gb at clozure.com gb at clozure.com
Wed Nov 5 11:30:49 EST 2008


Author: gb
Date: Wed Nov  5 11:30:49 2008
New Revision: 11300

Log:
Pushing a SINGLE-FLOAT on x8664 only affects the vstack.

Modified:
    trunk/source/compiler/X86/x862.lisp

Modified: trunk/source/compiler/X86/x862.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/X86/x862.lisp (original)
+++ trunk/source/compiler/X86/x862.lisp Wed Nov  5 11:30:49 2008
@@ -3194,6 +3194,8 @@
         (x862-one-untargeted-lreg-form seg form suggested)))))
              =

 =

+
+
 (defun x862-push-register (seg areg)
   (let* ((a-float (=3D (hard-regspec-class areg) hard-reg-class-fpr))
          (a-single (if a-float (=3D (get-regspec-mode areg) hard-reg-class=
-fpr-mode-single)))
@@ -3210,7 +3212,7 @@
 	   (:x8664
 	    (setq vinsn (! vpush-single-float areg))
 	    (x862-new-vstack-lcell :single-float *x862-target-lcell-size* 0 nil)
-	    (x862-open-undo $undo-x86-c-frame)))
+	    (x862-adjust-vstack *x862-target-node-size*)))
 	  (target-arch-case
 	   (:x8632
 	    (if a-float
@@ -3227,6 +3229,8 @@
                     (! temp-push-unboxed-word areg)))
             (x862-open-undo $undo-x86-c-frame)))))
       vinsn)))
+
+
 =

 (defun x862-pop-register (seg areg)
   (let* ((a-float (=3D (hard-regspec-class areg) hard-reg-class-fpr))



More information about the Openmcl-cvs-notifications mailing list