X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86%2Farray.lisp;h=493cd7d2b36bc814d87afb00d3d6536189bb6070;hb=ca267caa3bdb897a93a1e69ae7300ba3ba5d391f;hp=a0983c2fe46150be4cae4d80e369991b9af48258;hpb=78fa16bf55be44cc16845be84d98023e83fb14bc;p=sbcl.git diff --git a/src/compiler/x86/array.lisp b/src/compiler/x86/array.lisp index a0983c2..493cd7d 100644 --- a/src/compiler/x86/array.lisp +++ b/src/compiler/x86/array.lisp @@ -260,7 +260,8 @@ (mask ,(1- (ash 1 bits))) (shift (* extra ,bits))) (unless (= value mask) - (inst and old (lognot (ash mask shift)))) + (inst and old (ldb (byte n-word-bits 0) + (lognot (ash mask shift))))) (unless (zerop value) (inst or old (ash value shift))))) (unsigned-reg