X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86%2Ftype-vops.lisp;h=5c3fb79e707beb239ee307fc8462a0d49d7d42b9;hb=77c80b85dc9ae9bde0692d4193187bfca507b936;hp=43617fd1315670be2166fd4c52b6e2e5b41da161;hpb=4081f91910d6dc5dc79e2c43b8a746acaa78ecd9;p=sbcl.git diff --git a/src/compiler/x86/type-vops.lisp b/src/compiler/x86/type-vops.lisp index 43617fd..5c3fb79 100644 --- a/src/compiler/x86/type-vops.lisp +++ b/src/compiler/x86/type-vops.lisp @@ -170,6 +170,14 @@ ;;;; other integer ranges +(define-vop (fixnump/unsigned-byte-32 simple-type-predicate) + (:args (value :scs (unsigned-reg))) + (:arg-types unsigned-num) + (:translate fixnump) + (:generator 5 + (inst cmp value #.sb!xc:most-positive-fixnum) + (inst jmp (if not-p :a :be) target))) + ;;; A (SIGNED-BYTE 32) can be represented with either fixnum or a bignum with ;;; exactly one digit.