X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fhppa%2Fchar.lisp;h=06b59dd19a561dd2fa439d9d401badc1864c4e83;hb=b3c5951a9d24468a2a471fd6769d0e6b687c08f3;hp=0a9d3100040fbd2fb8dbb1b5e7fb9303837ed3d0;hpb=1d5026183c434517a84d03239804a44ebf8cfd1e;p=sbcl.git diff --git a/src/compiler/hppa/char.lisp b/src/compiler/hppa/char.lisp index 0a9d310..06b59dd 100644 --- a/src/compiler/hppa/char.lisp +++ b/src/compiler/hppa/char.lisp @@ -77,20 +77,20 @@ (:policy :fast-safe) (:args (ch :scs (character-reg) :target res)) (:arg-types character) - (:results (res :scs (unsigned-reg))) + (:results (res :scs (any-reg))) (:result-types positive-fixnum) (:generator 1 - (move ch res))) + (inst sll ch 2 res))) (define-vop (code-char) (:translate code-char) (:policy :fast-safe) - (:args (code :scs (unsigned-reg) :target res)) + (:args (code :scs (any-reg) :target res)) (:arg-types positive-fixnum) (:results (res :scs (character-reg))) (:result-types character) (:generator 1 - (move code res))) + (inst srl code 2 res))) ;;; Comparison of characters. (define-vop (character-compare) @@ -116,3 +116,4 @@ (define-vop (fast-char>/character character-compare) (:translate char>) (:variant :>>)) +