X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcompiler%2Fhppa%2Fchar.lisp;h=06b59dd19a561dd2fa439d9d401badc1864c4e83;hb=b83353d9f998e5c0e34604b5593df70c66d2c510;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 :>>)) +