diff --git a/compiler/amd64/call.lisp b/compiler/amd64/call.lisp
index afbf04f252d92df51fba65478efcb3d240c69383..7881bfc3acd8e9a0f39b3225482fd56fa0e0c3ff 100644
--- a/compiler/amd64/call.lisp
+++ b/compiler/amd64/call.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/amd64/call.lisp,v 1.1 2004/05/24 22:34:59 cwang Exp $")
+ "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/amd64/call.lisp,v 1.2 2004/07/06 20:11:24 cwang Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -541,6 +541,7 @@
   (:args (fp)
 	 (nfp)
 	 (args :more t))
+  (:temporary (:sc any-reg) temp-tn) ; from/to?
   (:results (values :more t))
   (:save-p t)
   (:move-args :local-call)
@@ -563,8 +564,8 @@
 	 #+nil (format t "*call-local: ret-tn on stack; offset=~s~%"
 		       (tn-offset ret-tn))
 	 ;; Stack
-	 (storew (make-fixup nil :code-object return)
-		 rbp-tn (- (1+ (tn-offset ret-tn)))))
+	 (inst mov-imm temp-tn (make-fixup nil :code-object return))
+	 (storew temp-tn rbp-tn (- (1+ (tn-offset ret-tn)))))
 	((sap-reg)
 	 ;; Register
 	 (inst lea ret-tn (make-fixup nil :code-object return)))))
@@ -583,6 +584,7 @@
   (:args (fp)
 	 (nfp)
 	 (args :more t))
+  (:temporary (:sc any-reg) temp-tn) ; from/to?
   (:save-p t)
   (:move-args :local-call)
   (:info save callee target)
@@ -604,8 +606,8 @@
 	 #+nil (format t "*multiple-call-local: ret-tn on stack; offset=~s~%"
 		       (tn-offset ret-tn))
 	 ;; Stack
-	 (storew (make-fixup nil :code-object return)
-		 rbp-tn (- (1+ (tn-offset ret-tn)))))
+	 (inst mov-imm temp-tn (make-fixup nil :code-object return))
+	 (storew temp-tn rbp-tn (- (1+ (tn-offset ret-tn)))))
 	((sap-reg)
 	 ;; Register
 	 (inst lea ret-tn (make-fixup nil :code-object return)))))
diff --git a/compiler/amd64/cell.lisp b/compiler/amd64/cell.lisp
index f9a78ae80684fd0fab6e78146c87057e7261a9fa..f95ee28c05af2f097a81c144599924f24773dbec 100644
--- a/compiler/amd64/cell.lisp
+++ b/compiler/amd64/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/amd64/cell.lisp,v 1.2 2004/06/10 01:39:06 cwang Exp $")
+ "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/amd64/cell.lisp,v 1.3 2004/07/06 20:12:08 cwang Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -195,10 +195,12 @@
   (:translate fdefn-makunbound)
   (:args (fdefn :scs (descriptor-reg) :target result))
   (:results (result :scs (descriptor-reg)))
+  (:temporary (:sc any-reg) temp)
   (:generator 38
     (storew nil-value fdefn fdefn-function-slot other-pointer-type)
-    (storew (make-fixup (extern-alien-name "undefined_tramp") :foreign)
-	    fdefn fdefn-raw-addr-slot other-pointer-type)
+    (inst mov-imm temp
+	  (make-fixup (extern-alien-name "undefined_tramp") :foreign))
+    (storew temp fdefn fdefn-raw-addr-slot other-pointer-type)
     (move result fdefn)))