Index: /branches/ia32/compiler/X86/x862.lisp
===================================================================
--- /branches/ia32/compiler/X86/x862.lisp	(revision 8347)
+++ /branches/ia32/compiler/X86/x862.lisp	(revision 8348)
@@ -2977,5 +2977,9 @@
                (xform (%caddr revregargs)))
 	  (if (eq 3 nregs)
-	    (x862-three-targeted-reg-forms seg xform ($ x8664::arg_x) yform ($ *x862-arg-y*) zform ($ *x862-arg-z*))
+	    (x862-three-targeted-reg-forms seg xform (target-arch-case
+						      (:x8632 ($ x8632::temp0))
+						      (:x8664 ($ x8664::arg_x)))
+					   yform ($ *x862-arg-y*)
+					   zform ($ *x862-arg-z*))
 	    (if (eq 2 nregs)
 	      (x862-two-targeted-reg-forms seg yform ($ *x862-arg-y*) zform ($ *x862-arg-z*))
@@ -4223,5 +4227,12 @@
                      (if init-p
                        (progn
-                         (x862-three-targeted-reg-forms seg element-count ($ x8664::arg_x) subtag ($ *x862-arg-y*) init ($ *x862-arg-z*))
+                         (x862-three-targeted-reg-forms seg element-count
+							(target-arch-case
+							 (:x8632
+							  ($ x8632::temp1))
+							 (:x8664
+							  ($ x8664::arg_x)))
+							subtag ($ *x862-arg-y*)
+							init ($ *x862-arg-z*))
                          (! stack-misc-alloc-init))
                        (progn
@@ -6733,6 +6744,6 @@
   (x862-three-targeted-reg-forms seg
 				 vector (target-arch-case
-					 (:x8632 x8632::temp0)
-					 (:x8664 x8664::arg_x))
+					 (:x8632 ($ x8632::temp0))
+					 (:x8664 ($ x8664::arg_x)))
 				 index ($ *x862-arg-y*)
 				 value ($ *x862-arg-z*))
@@ -7531,5 +7542,10 @@
           (if initval
             (progn
-              (x862-three-targeted-reg-forms seg element-count ($ x8664::arg_x) st ($ *x862-arg-y*) initval ($ *x862-arg-z*))
+              (x862-three-targeted-reg-forms seg element-count
+					     (target-arch-case
+					      (:x8632 ($ x8632::temp1))
+					      (:x8664 ($ x8664::arg_x)))
+					     st ($ *x862-arg-y*)
+					     initval ($ *x862-arg-z*))
               (! misc-alloc-init)
               (<- ($ *x862-arg-z*)))
@@ -8309,5 +8325,7 @@
           (t
            (x862-three-targeted-reg-forms seg
-                                          arr ($ x8664::arg_x)
+                                          arr (target-arch-case
+					       (:x8632 ($ x8632::temp0))
+					       (:x8664 ($ x8664::arg_x)))
                                           i ($ *x862-arg-y*)
                                           j ($ *x862-arg-z*))
