X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Falpha%2Fsystem.lisp;h=a57b8b23b3546ab4cd8f6d3cc8aa7d5326f25345;hb=b63c4fb9b98fa8188e17ba926e150ba417a74635;hp=5ee4202978baa9dff86db08bd2fa535248c98c81;hpb=bc46c8bcdd6ac8918df8ea9e9db49808e4924fcf;p=sbcl.git diff --git a/src/compiler/alpha/system.lisp b/src/compiler/alpha/system.lisp index 5ee4202..a57b8b2 100644 --- a/src/compiler/alpha/system.lisp +++ b/src/compiler/alpha/system.lisp @@ -41,7 +41,7 @@ (inst blbs object done) ;; Pick off fixnums. - (inst and object 3 result) + (inst and object fixnum-tag-mask result) (inst beq result done) ;; Must be an other immediate. @@ -151,8 +151,8 @@ (inst sll val n-widetag-bits temp) (inst bis temp (tn-value type) res)) (t - (inst sra type 2 temp) - (inst sll val (- n-widetag-bits 2) res) + (inst sra type n-fixnum-tag-bits temp) + (inst sll val (- n-widetag-bits n-fixnum-tag-bits) res) (inst bis res temp res)))))