0.8.6.28:
[sbcl.git] / src / compiler / x86 / arith.lisp
index 3c7dda2..33cf26a 100644 (file)
                   (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)