diff --git a/compiler/x86/cell.lisp b/compiler/x86/cell.lisp
index e9b3f2d26e57c156ffe02b069f35ef509b78ef63..140f21f9f3b4618b9ab134ed9ef85a84cf43f975 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.11 1999/12/08 14:19:19 dtc Exp $")
+ "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/cell.lisp,v 1.12 2000/08/20 14:44:23 dtc Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -343,6 +343,7 @@
   (:temporary (:sc descriptor-reg :offset eax-offset
 		   :from (:argument 2) :to :result :target result)  eax)
   (:results (result :scs (descriptor-reg any-reg)))
+  (:guard (backend-featurep :i486))
   (:policy :fast-safe)
   (:generator 5
     (move eax old-value)
diff --git a/compiler/x86/macros.lisp b/compiler/x86/macros.lisp
index 06c6b875f18c751ff879a5def89f5df6eb9e1d2c..58a6fdcd3db38eacf57dd76f8d102bf030c0e45c 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.14 1999/12/08 14:19:20 dtc Exp $")
+ "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/macros.lisp,v 1.15 2000/08/20 14:44:23 dtc Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -439,6 +439,7 @@
 		    :from (:argument 2) :to :result :target result) eax)
        (:results (result :scs ,scs))
        (:result-types ,el-type)
+       (:guard (backend-featurep :i486))
        (:generator 5
 	 (move eax old-value)
 	 (inst cmpxchg (make-ea :dword :base object :index index :scale 1
@@ -458,6 +459,7 @@
 		    :from (:argument 1) :to :result :target result)  eax)
        (:results (result :scs ,scs))
        (:result-types ,el-type)
+       (:guard (backend-featurep :i486))
        (:generator 4
 	 (move eax old-value)
 	 (inst cmpxchg (make-ea :dword :base object
diff --git a/compiler/x86/memory.lisp b/compiler/x86/memory.lisp
index f7713aac859da32ca9a9dd5ca1564281345693bc..2a8d9649be5370673d30aef6c7a02a39b08dcc40 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.7 1999/12/08 14:19:20 dtc Exp $")
+ "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/memory.lisp,v 1.8 2000/08/20 14:44:23 dtc Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -92,6 +92,7 @@
 		   :from (:argument 1) :to :result :target result)  eax)
   (:variant-vars offset lowtag)
   (:results (result :scs (descriptor-reg any-reg)))
+  (:guard (backend-featurep :i486))
   (:generator 4
     (move eax old-value)
     (inst cmpxchg (make-ea :dword :base object
@@ -161,6 +162,7 @@
   (:variant-vars base lowtag)
   (:results (result :scs (descriptor-reg any-reg)))
   (:info offset)
+  (:guard (backend-featurep :i486))
   (:generator 4
     (move eax old-value)
     (inst cmpxchg (make-ea :dword :base object