X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Falpha%2Farith.lisp;h=1da0e8ca3010702d525e912d99d02c1ecc4b9578;hb=c81c32ef8a737b0cc61d3c0c6a137cab39baac73;hp=9c96308c50089bcda42957243911a692746b189a;hpb=e0814eee6f6dea52db010b45a330100f2fe65832;p=sbcl.git diff --git a/src/compiler/alpha/arith.lisp b/src/compiler/alpha/arith.lisp index 9c96308..1da0e8c 100644 --- a/src/compiler/alpha/arith.lisp +++ b/src/compiler/alpha/arith.lisp @@ -294,14 +294,6 @@ (:temporary (:scs (non-descriptor-reg)) temp) (:policy :fast-safe)) -(deftype integer-with-a-bite-out (s bite) - (cond ((eq s '*) 'integer) - ((and (integerp s) (> s 1)) - (let ((bound (ash 1 s))) - `(integer 0 ,(- bound bite 1)))) - (t - (error "Bad size specified for SIGNED-BYTE type specifier: ~S." s)))) - (define-vop (fast-conditional/fixnum fast-conditional) (:args (x :scs (any-reg)) (y :scs (any-reg))) @@ -310,7 +302,7 @@ (define-vop (fast-conditional-c/fixnum fast-conditional/fixnum) (:args (x :scs (any-reg))) - (:arg-types tagged-num (:constant (integer-with-a-bite-out 6 4))) + (:arg-types tagged-num (:constant (unsigned-byte-with-a-bite-out 6 4))) (:info target not-p y)) (define-vop (fast-conditional/signed fast-conditional) @@ -321,7 +313,7 @@ (define-vop (fast-conditional-c/signed fast-conditional/signed) (:args (x :scs (signed-reg))) - (:arg-types signed-num (:constant (integer-with-a-bite-out 8 1))) + (:arg-types signed-num (:constant (unsigned-byte-with-a-bite-out 8 1))) (:info target not-p y)) (define-vop (fast-conditional/unsigned fast-conditional) @@ -332,7 +324,7 @@ (define-vop (fast-conditional-c/unsigned fast-conditional/unsigned) (:args (x :scs (unsigned-reg))) - (:arg-types unsigned-num (:constant (integer-with-a-bite-out 8 1))) + (:arg-types unsigned-num (:constant (unsigned-byte-with-a-bite-out 8 1))) (:info target not-p y)) @@ -572,7 +564,7 @@ (unsigned-reg) unsigned-num sb!bignum::%bignum-ref) (define-full-setter bignum-set * bignum-digits-offset other-pointer-lowtag - (unsigned-reg) unsigned-num sb!bignum::%bignum-set #+gengc nil) + (unsigned-reg) unsigned-num sb!bignum::%bignum-set #!+gengc nil) (define-vop (digit-0-or-plus) (:translate sb!bignum::%digit-0-or-plusp)