diff --git a/compiler/x86/cell.lisp b/compiler/x86/cell.lisp
index 17173205bd674b32267f762b549d9a62254d816e..e9b3f2d26e57c156ffe02b069f35ef509b78ef63 100644
--- a/compiler/x86/cell.lisp
+++ b/compiler/x86/cell.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
 ;;;
 (ext:file-comment
- "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/cell.lisp,v 1.10 1999/12/04 16:03:55 dtc Exp $")
+ "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/cell.lisp,v 1.11 1999/12/08 14:19:19 dtc Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -338,20 +338,18 @@
   (:args (object :scs (descriptor-reg) :to :eval)
 	 (slot :scs (any-reg) :to :result)
 	 (old-value :scs (descriptor-reg any-reg) :target eax)
-	 (new-value :scs (descriptor-reg any-reg) :target temp))
+	 (new-value :scs (descriptor-reg any-reg)))
   (:arg-types instance positive-fixnum * *)
   (:temporary (:sc descriptor-reg :offset eax-offset
 		   :from (:argument 2) :to :result :target result)  eax)
-  (:temporary (:sc descriptor-reg :from (:argument 3) :to :result) temp)
   (:results (result :scs (descriptor-reg any-reg)))
   (:policy :fast-safe)
   (:generator 5
     (move eax old-value)
-    (move temp new-value)
     (inst cmpxchg (make-ea :dword :base object :index slot :scale 1
 			   :disp (- (* instance-slots-offset word-bytes)
 				    instance-pointer-type))
-	  temp)
+	  new-value)
     (move result eax)))
 
 (defknown %instance-xadd (instance index fixnum) fixnum ())
diff --git a/compiler/x86/macros.lisp b/compiler/x86/macros.lisp
index f94b2f64a959f59006162040829bfd6ead4c2965..06c6b875f18c751ff879a5def89f5df6eb9e1d2c 100644
--- a/compiler/x86/macros.lisp
+++ b/compiler/x86/macros.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
 ;;;
 (ext:file-comment
- "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/macros.lisp,v 1.13 1999/12/04 16:05:21 dtc Exp $")
+ "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/macros.lisp,v 1.14 1999/12/08 14:19:20 dtc Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -433,19 +433,17 @@
        (:args (object :scs (descriptor-reg) :to :result)
 	      (index :scs (any-reg) :to :result)
 	      (old-value :scs ,scs :target eax)
-	      (new-value :scs ,scs :target temp))
+	      (new-value :scs ,scs))
        (:arg-types ,type tagged-num ,el-type ,el-type)
        (:temporary (:sc ,(first scs) :offset eax-offset
 		    :from (:argument 2) :to :result :target result) eax)
-       (:temporary (:sc ,(first scs) :from (:argument 3) :to :result) temp)
        (:results (result :scs ,scs))
        (:result-types ,el-type)
        (:generator 5
 	 (move eax old-value)
-	 (move temp new-value)
 	 (inst cmpxchg (make-ea :dword :base object :index index :scale 1
 				:disp (- (* ,offset word-bytes) ,lowtag))
-	       temp)
+	       new-value)
 	 (move result eax)))
      (define-vop (,(symbolicate name "-C"))
        ,@(when translate
@@ -453,19 +451,17 @@
        (:policy :fast-safe)
        (:args (object :scs (descriptor-reg) :to :result)
 	      (old-value :scs ,scs :target eax)
-	      (new-value :scs ,scs :target temp))
+	      (new-value :scs ,scs))
        (:info index)
        (:arg-types ,type (:constant (signed-byte 30)) ,el-type ,el-type)
        (:temporary (:sc ,(first scs) :offset eax-offset
 		    :from (:argument 1) :to :result :target result)  eax)
-       (:temporary (:sc ,(first scs) :from (:argument 2) :to :result) temp)
        (:results (result :scs ,scs))
        (:result-types ,el-type)
        (:generator 4
 	 (move eax old-value)
-	 (move temp new-value)
 	 (inst cmpxchg (make-ea :dword :base object
 				:disp (- (* (+ ,offset index) word-bytes)
 					 ,lowtag))
-	       temp)
+	       new-value)
 	 (move result eax)))))
diff --git a/compiler/x86/memory.lisp b/compiler/x86/memory.lisp
index 4a81c7f51aa30f1d9688308879cd10bb5dac3488..f7713aac859da32ca9a9dd5ca1564281345693bc 100644
--- a/compiler/x86/memory.lisp
+++ b/compiler/x86/memory.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
 ;;;
 (ext:file-comment
- "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/memory.lisp,v 1.6 1999/03/08 00:53:34 dtc Exp $")
+ "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/memory.lisp,v 1.7 1999/12/08 14:19:20 dtc Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -87,18 +87,16 @@
 (define-vop (cell-set-conditional)
   (:args (object :scs (descriptor-reg) :to :eval)
 	 (old-value :scs (descriptor-reg any-reg) :target eax)
-	 (new-value :scs (descriptor-reg any-reg) :target temp))
+	 (new-value :scs (descriptor-reg any-reg)))
   (:temporary (:sc descriptor-reg :offset eax-offset
 		   :from (:argument 1) :to :result :target result)  eax)
-  (:temporary (:sc descriptor-reg :from (:argument 2) :to :result) temp)
   (:variant-vars offset lowtag)
   (:results (result :scs (descriptor-reg any-reg)))
   (:generator 4
     (move eax old-value)
-    (move temp new-value)
     (inst cmpxchg (make-ea :dword :base object
 			   :disp (- (* offset word-bytes) lowtag))
-	  temp)
+	  new-value)
     (move result eax)))
 
 ;;; X86 special
@@ -157,19 +155,17 @@
 (define-vop (slot-set-conditional)
   (:args (object :scs (descriptor-reg) :to :eval)
 	 (old-value :scs (descriptor-reg any-reg) :target eax)
-	 (new-value :scs (descriptor-reg any-reg) :target temp))
+	 (new-value :scs (descriptor-reg any-reg)))
   (:temporary (:sc descriptor-reg :offset eax-offset
 		   :from (:argument 1) :to :result :target result)  eax)
-  (:temporary (:sc descriptor-reg :from (:argument 2) :to :result) temp)
   (:variant-vars base lowtag)
   (:results (result :scs (descriptor-reg any-reg)))
   (:info offset)
   (:generator 4
     (move eax old-value)
-    (move temp new-value)
     (inst cmpxchg (make-ea :dword :base object
 			   :disp (- (* (+ base offset) word-bytes) lowtag))
-	  temp)
+	  new-value)
     (move result eax)))
 
 ;;; X86 special