From: Alexey D. <ade...@us...> - 2003-11-11 09:09:45
|
Update of /cvsroot/sbcl/sbcl/src/compiler/x86 In directory sc8-pr-cvs1:/tmp/cvs-serv12106/src/compiler/x86 Modified Files: arith.lisp Log Message: 0.8.5.32: * Fix PFD bug MISC.158: X86 (xor x x) instruction does not work for X in memory. Index: arith.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/compiler/x86/arith.lisp,v retrieving revision 1.23 retrieving revision 1.24 diff -u -d -r1.23 -r1.24 --- arith.lisp 10 Nov 2003 23:26:38 -0000 1.23 +++ arith.lisp 11 Nov 2003 09:09:39 -0000 1.24 @@ -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) |