X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fppc%2Fchar.lisp;h=8a4e0638818ddcf23db65867e5a0a0308ac6f9f8;hb=4e7866afc56e4eec4e33dc2d61bd4f0aeed72cfd;hp=f0ab8651ff8b353cb73d24c951c3da9f0e62849b;hpb=52cfe54802db8736f1f4e2b67764c43bba9b78b3;p=sbcl.git diff --git a/src/compiler/ppc/char.lisp b/src/compiler/ppc/char.lisp index f0ab865..8a4e063 100644 --- a/src/compiler/ppc/char.lisp +++ b/src/compiler/ppc/char.lisp @@ -81,7 +81,7 @@ (:results (res :scs (any-reg))) (:result-types positive-fixnum) (:generator 1 - (inst slwi res ch 2))) + (inst slwi res ch n-fixnum-tag-bits))) (define-vop (code-char) (:translate code-char) @@ -91,7 +91,7 @@ (:results (res :scs (character-reg))) (:result-types character) (:generator 1 - (inst srwi res code 2))) + (inst srwi res code n-fixnum-tag-bits))) ;;; Comparison of characters. (define-vop (character-compare) @@ -121,7 +121,7 @@ (define-vop (character-compare/c) (:args (x :scs (character-reg))) - (:arg-types character (:constant character)) + (:arg-types character (:constant (satisfies inlinable-character-constant-p))) (:conditional) (:info target not-p y) (:policy :fast-safe)