[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