Index: /branches/ia32/compiler/X86/x862.lisp
===================================================================
--- /branches/ia32/compiler/X86/x862.lisp	(revision 9676)
+++ /branches/ia32/compiler/X86/x862.lisp	(revision 9677)
@@ -3618,10 +3618,10 @@
                 (setq cr-bit (x862-reverse-cr-bit cr-bit)))
             (^ cr-bit true-p))
-        (with-imm-target ()
-          (ireg :natural)
-            (with-imm-target 
+        (with-imm-target () (ireg :natural)
+	  (with-additional-imm-reg ()
+            (with-imm-target
                 (ireg) (jreg :natural)
                 (x862-two-targeted-reg-forms seg i ireg j jreg)
-                (x862-compare-natural-registers seg vreg xfer ireg jreg cr-bit true-p)))))))
+                (x862-compare-natural-registers seg vreg xfer ireg jreg cr-bit true-p))))))))
 
 
@@ -5502,5 +5502,7 @@
            (vtotal numreq)
            (old-top *x862-top-vstack-lcell*)
-           (argreg ($ *x862-temp0*))
+           (argreg ($ (target-arch-case
+		       (:x8632 ($ x8632::temp1))
+		       (:x8664 ($ x8664::temp0)))))
            (keyvectreg (target-arch-case
 			(:x8632 ($ x8632::arg_y))
@@ -5912,5 +5914,5 @@
   (with-x86-local-vinsn-macros (seg)
     (x862-three-targeted-reg-forms seg form1 (target-arch-case
-					      (:x8632 ($ x8632::temp0))
+					      (:x8632 ($ x8632::temp1))
 					      (:x8664 ($ x8664::arg_x)))
 				   form2 ($ *x862-arg-y*)
