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