From 36af92a6a196f6f758005a3ef439e7ccd0e0f652 Mon Sep 17 00:00:00 2001 From: Christophe Rhodes Date: Thu, 3 Jul 2003 10:30:10 +0000 Subject: [PATCH] 0.8.1.19: Implement constant base-char comparisons for SPARC --- src/compiler/sparc/char.lisp | 25 +++++++++++++++++++++++++ version.lisp-expr | 2 +- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/src/compiler/sparc/char.lisp b/src/compiler/sparc/char.lisp index 900342a..7438fd9 100644 --- a/src/compiler/sparc/char.lisp +++ b/src/compiler/sparc/char.lisp @@ -129,3 +129,28 @@ (define-vop (fast-char>/base-char base-char-compare) (:translate char>) (:variant :gtu :leu)) + +(define-vop (base-char-compare/c) + (:args (x :scs (base-char-reg))) + (:arg-types base-char (:constant base-char)) + (:conditional) + (:info target not-p y) + (:policy :fast-safe) + (:note "inline constant comparison") + (:variant-vars condition not-condition) + (:generator 2 + (inst cmp x (sb!xc:char-code y)) + (inst b (if not-p not-condition condition) target) + (inst nop))) + +(define-vop (fast-char=/base-char/c base-char-compare/c) + (:translate char=) + (:variant :eq :ne)) + +(define-vop (fast-char/base-char/c base-char-compare/c) + (:translate char>) + (:variant :gtu :leu)) diff --git a/version.lisp-expr b/version.lisp-expr index 09d4537..470941a 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"0.8.1.18" +"0.8.1.19" -- 1.7.10.4