From: Christophe R. <cr...@us...> - 2003-09-15 11:31:59
|
Update of /cvsroot/sbcl/sbcl/tests In directory sc8-pr-cvs1:/tmp/cvs-serv31528/tests Modified Files: arith.impure.lisp Log Message: 0.8.3.65: More alpha backend stuff ... fix ASH ... -31 bug; ... fix LOGCOUNT bug found while investigating ASH bug. Index: arith.impure.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/tests/arith.impure.lisp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- arith.impure.lisp 3 Sep 2003 14:13:36 -0000 1.5 +++ arith.impure.lisp 15 Sep 2003 11:31:56 -0000 1.6 @@ -73,7 +73,6 @@ (type (unsigned-byte 32) x) (type (integer -40 0) y)) (ash x y)) - (defun what-about-with-constants (x) (declare (optimize speed) (type (unsigned-byte 32) x)) (ash x -32)) @@ -83,14 +82,20 @@ (if (< i 32) (1- (ash 1 (- 32 i))) 0)))) - (assert (= (what-about-with-constants (1- (ash 1 32))) 0)) (defun one-more-test-case-to-catch-sparc (x y) (declare (optimize speed (safety 0)) (type (unsigned-byte 32) x) (type (integer -40 2) y)) (the (unsigned-byte 32) (ash x y))) - (assert (= (one-more-test-case-to-catch-sparc (1- (ash 1 32)) -40) 0)) + +(defun 64-bit-logcount (x) + (declare (optimize speed) (type (unsigned-byte 54) x)) + (logcount x)) +(assert (= (64-bit-logcount (1- (ash 1 24))) 24)) +(assert (= (64-bit-logcount (1- (ash 1 32))) 32)) +(assert (= (64-bit-logcount (1- (ash 1 48))) 48)) +(assert (= (64-bit-logcount (1- (ash 1 54))) 54)) (sb-ext:quit :unix-status 104) |