X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcompiler%2Fx86-64%2Farray.lisp;h=6a8aebda2a84b236193bfa7f987c5af6eda14ed7;hb=c3334d2307b721cfcea29e6abcd33e48487fb1ea;hp=725b4576e085386a3a7d97a9febd02b4a578a983;hpb=78fa16bf55be44cc16845be84d98023e83fb14bc;p=sbcl.git diff --git a/src/compiler/x86-64/array.lisp b/src/compiler/x86-64/array.lisp index 725b457..6a8aebd 100644 --- a/src/compiler/x86-64/array.lisp +++ b/src/compiler/x86-64/array.lisp @@ -269,7 +269,8 @@ (mask ,(1- (ash 1 bits))) (shift (* extra ,bits))) (unless (= value mask) - (inst mov mask-tn (lognot (ash mask shift))) + (inst mov mask-tn (ldb (byte 64 0) + (lognot (ash mask shift)))) (inst and old mask-tn)) (unless (zerop value) (inst mov mask-tn (ash value shift))