X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fppc%2Farith.lisp;h=5a20c341a29a7a8215c2f9fc0e6cdc4415a951ba;hb=40e3ba03d0e1b824e4d1ae75d74246b975b70964;hp=c633a1332170292d282e3f0c09c0f56856e64417;hpb=d319b944d934f3efbb01a2a345c46bafd40857d0;p=sbcl.git diff --git a/src/compiler/ppc/arith.lisp b/src/compiler/ppc/arith.lisp index c633a13..5a20c34 100644 --- a/src/compiler/ppc/arith.lisp +++ b/src/compiler/ppc/arith.lisp @@ -606,15 +606,13 @@ (inst srawi result number amount)) (inst slwi result number amount))))))) - - (define-vop (signed-byte-32-len) (:translate integer-length) (:note "inline (signed-byte 32) integer-length") (:policy :fast-safe) (:args (arg :scs (signed-reg))) (:arg-types signed-num) - (:results (res :scs (unsigned-reg))) + (:results (res :scs (unsigned-reg) :from :load)) (:result-types unsigned-num) (:generator 6 ; (integer-length arg) = (- 32 (cntlz (if (>= arg 0) arg (lognot arg))))