From 016dedbae7598c748521e253f178b7e593d36bd2 Mon Sep 17 00:00:00 2001
From: dtc <dtc>
Date: Tue, 5 Dec 2000 03:07:36 +0000
Subject: [PATCH] From Raymond Toy: o Don't use taddcctv to check for fixnums
 (use standard tag test and branch).

---
 compiler/sparc/type-vops.lisp | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/compiler/sparc/type-vops.lisp b/compiler/sparc/type-vops.lisp
index f29e01f02..cb6d80b6f 100644
--- a/compiler/sparc/type-vops.lisp
+++ b/compiler/sparc/type-vops.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/type-vops.lisp,v 1.21 2000/01/10 14:46:12 dtc Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/type-vops.lisp,v 1.22 2000/12/05 03:07:36 dtc Exp $")
 ;;;
 ;;; **********************************************************************
 ;;; 
@@ -65,13 +65,20 @@
 
 ); eval-when (compile eval)
 
+;; Don't use this because it uses the deprecated taddcctv instruction.
+#+nil
+(progn
 (def-type-vops fixnump nil nil nil vm:even-fixnum-type vm:odd-fixnum-type)
 (define-vop (check-fixnum check-type)
   (:ignore temp)
   (:generator 1
     (inst taddcctv result value zero-tn)))
 (primitive-type-vop check-fixnum (:check) fixnum)
+)
 
+;; This avoids the taddcctv instruction
+(def-type-vops fixnump check-fixnum fixnum object-not-fixnum-error
+	       vm:even-fixnum-type vm:odd-fixnum-type)
 
 (def-type-vops functionp check-function function
   object-not-function-error vm:function-pointer-type)
-- 
GitLab