X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86%2Farith.lisp;h=33cf26a407a1a28b2d29dfcaadd8689f89d97daf;hb=c3699db2053ff3b5ac6a98d4431c3789496002d8;hp=3c7dda228b10d8d6c105b243e1f3b3da3c74d32f;hpb=4ed3f0d08c3a57a6762018d9622f253ab9d0f2b6;p=sbcl.git diff --git a/src/compiler/x86/arith.lisp b/src/compiler/x86/arith.lisp index 3c7dda2..33cf26a 100644 --- a/src/compiler/x86/arith.lisp +++ b/src/compiler/x86/arith.lisp @@ -689,7 +689,9 @@ (if (plusp amount) (inst shl result amount) (inst shr result (- amount)))) - (t (inst xor result result))))))) + (t (if (sc-is result unsigned-reg) + (inst xor result result) + (inst mov result 0)))))))) (define-vop (fast-ash-left/signed=>signed) (:translate ash)