From: Christophe R. <cr...@us...> - 2003-09-15 09:59:22
|
Update of /cvsroot/sbcl/sbcl/src/compiler/alpha In directory sc8-pr-cvs1:/tmp/cvs-serv13415/src/compiler/alpha Modified Files: arith.lisp Log Message: 0.8.3.63: Bignum multiplication on the Alpha... ... when creating notionally unsigned 32-bit quantities from notionally unsigned 64-bit quantities, it's quite important to do a logical and not an arithmetic shift. Index: arith.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/compiler/alpha/arith.lisp,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- arith.lisp 25 Jun 2002 15:57:14 -0000 1.7 +++ arith.lisp 15 Sep 2003 09:59:12 -0000 1.8 @@ -627,7 +627,7 @@ (:generator 6 (inst mulq x y lo) (inst addq lo carry-in lo) - (inst sra lo 32 hi) + (inst srl lo 32 hi) (inst mskll lo 4 lo))) @@ -646,7 +646,7 @@ (inst mulq x y lo) (inst addq lo prev lo) (inst addq lo carry-in lo) - (inst sra lo 32 hi) + (inst srl lo 32 hi) (inst mskll lo 4 lo))) (define-vop (bignum-mult) |