diff --git a/compiler/sparc/array.lisp b/compiler/sparc/array.lisp
index 70a6f22997d087cf31544921a75170fbcd6ee25b..5b92df4aa22fdfd4edb92f970faab5dc4a54c4ae 100644
--- a/compiler/sparc/array.lisp
+++ b/compiler/sparc/array.lisp
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/array.lisp,v 1.17 1998/03/03 17:35:27 dtc Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/array.lisp,v 1.18 1998/03/04 15:02:44 dtc Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -461,11 +461,11 @@
   (:note "inline array access")
   (:translate data-vector-ref)
   (:policy :fast-safe)
-  (:args (object :scs (descriptor-reg))
+  (:args (object :scs (descriptor-reg) :to :result)
 	 (index :scs (any-reg)))
   (:arg-types simple-array-complex-single-float positive-fixnum)
   (:results (value :scs (complex-single-reg)))
-  (:temporary (:scs (non-descriptor-reg)) offset)
+  (:temporary (:scs (non-descriptor-reg) :from (:argument 1)) offset)
   (:result-types complex-single-float)
   (:generator 5
     (let ((real-tn (complex-single-reg-real-tn value)))
@@ -481,14 +481,14 @@
   (:note "inline array store")
   (:translate data-vector-set)
   (:policy :fast-safe)
-  (:args (object :scs (descriptor-reg))
+  (:args (object :scs (descriptor-reg) :to :result)
 	 (index :scs (any-reg))
 	 (value :scs (complex-single-reg) :target result))
   (:arg-types simple-array-complex-single-float positive-fixnum
 	      complex-single-float)
   (:results (result :scs (complex-single-reg)))
   (:result-types complex-single-float)
-  (:temporary (:scs (non-descriptor-reg)) offset)
+  (:temporary (:scs (non-descriptor-reg) :from (:argument 1)) offset)
   (:generator 5
     (let ((value-real (complex-single-reg-real-tn value))
 	  (result-real (complex-single-reg-real-tn result)))
@@ -509,12 +509,12 @@
   (:note "inline array access")
   (:translate data-vector-ref)
   (:policy :fast-safe)
-  (:args (object :scs (descriptor-reg))
+  (:args (object :scs (descriptor-reg) :to :result)
 	 (index :scs (any-reg)))
   (:arg-types simple-array-complex-double-float positive-fixnum)
   (:results (value :scs (complex-double-reg)))
   (:result-types complex-double-float)
-  (:temporary (:scs (non-descriptor-reg)) offset)
+  (:temporary (:scs (non-descriptor-reg) :from (:argument 1)) offset)
   (:generator 7
     (let ((real-tn (complex-double-reg-real-tn value)))
       (inst sll offset index 2)
@@ -529,14 +529,14 @@
   (:note "inline array store")
   (:translate data-vector-set)
   (:policy :fast-safe)
-  (:args (object :scs (descriptor-reg))
+  (:args (object :scs (descriptor-reg) :to :result)
 	 (index :scs (any-reg))
 	 (value :scs (complex-double-reg) :target result))
   (:arg-types simple-array-complex-double-float positive-fixnum
 	      complex-double-float)
   (:results (result :scs (complex-double-reg)))
   (:result-types complex-double-float)
-  (:temporary (:scs (non-descriptor-reg)) offset)
+  (:temporary (:scs (non-descriptor-reg) :from (:argument 1)) offset)
   (:generator 20
     (let ((value-real (complex-double-reg-real-tn value))
 	  (result-real (complex-double-reg-real-tn result)))