- (inst sar rax-tn (+ 32 3 -1))
- (inst jmp :z ok)
- (inst cmp rax-tn -1)
- (inst jmp :ne nope)
- (emit-label ok)
- (move result value))))
-
-
-(define-vop (unsigned-byte-32-p type-predicate)
- (:translate unsigned-byte-32-p)
- (:generator 7
- ;; (and (fixnum) (no bits set >31))
- (move rax-tn value)
- (inst test rax-tn 7)
- (inst jmp :ne (if not-p target NOT-TARGET))
- (inst shr rax-tn (+ 32 sb!vm::n-fixnum-tag-bits))
- (inst jmp (if not-p :nz :z) target)
+ (loadw rax-tn value 0 other-pointer-lowtag)
+ (inst cmp rax-tn (+ (ash 1 n-widetag-bits) bignum-widetag))
+ (inst jmp (if not-p :ne :e) target))