From eb2df7a8552299622569d6dfdeb8ac70cde6d58e Mon Sep 17 00:00:00 2001
From: dtc <dtc>
Date: Sun, 20 Aug 2000 14:44:23 +0000
Subject: [PATCH] Add guards to those VOPS that use the cmpxchg instruction
 which was first introduced with the i486.

---
 compiler/x86/cell.lisp   | 3 ++-
 compiler/x86/macros.lisp | 4 +++-
 compiler/x86/memory.lisp | 4 +++-
 3 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/compiler/x86/cell.lisp b/compiler/x86/cell.lisp
index e9b3f2d26..140f21f9f 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 06c6b875f..58a6fdcd3 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 f7713aac8..2a8d9649b 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
-- 
GitLab