From: Nathan F. <nf...@us...> - 2004-08-04 22:16:14
|
Update of /cvsroot/sbcl/sbcl/src/compiler/sparc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22473/src/compiler/sparc Modified Files: arith.lisp Log Message: 0.8.13.26: * Rename {32,64}BIT-LOGICAL-FOO to WORD-LOGICAL-FOO in all ports. This builds and passes all tests on x86, but I am unsure about its effects on other ports. * Declare SB!VM:WORD with DEF!TYPE so it is known to both the host compiler and the cross-compiler (and we can use it in DEFKNOWN declarations, e.g.) * Fix errors in debug.impure.lisp test Index: arith.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/compiler/sparc/arith.lisp,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- arith.lisp 22 May 2004 19:02:23 -0000 1.16 +++ arith.lisp 4 Aug 2004 22:15:32 -0000 1.17 @@ -825,37 +825,37 @@ (emit-label done) (move result res)))) -(define-source-transform 32bit-logical-not (x) +(define-source-transform word-logical-not (x) `(logand (lognot (the (unsigned-byte 32) ,x)) #.(1- (ash 1 32)))) -(deftransform 32bit-logical-and ((x y)) +(deftransform word-logical-and ((x y)) '(logand x y)) -(deftransform 32bit-logical-nand ((x y)) +(deftransform word-logical-nand ((x y)) '(logand (lognand x y) #.(1- (ash 1 32)))) -(deftransform 32bit-logical-or ((x y)) +(deftransform word-logical-or ((x y)) '(logior x y)) -(deftransform 32bit-logical-nor ((x y)) +(deftransform word-logical-nor ((x y)) '(logand (lognor x y) #.(1- (ash 1 32)))) -(deftransform 32bit-logical-xor ((x y)) +(deftransform word-logical-xor ((x y)) '(logxor x y)) -(deftransform 32bit-logical-eqv ((x y)) +(deftransform word-logical-eqv ((x y)) '(logand (logeqv x y) #.(1- (ash 1 32)))) -(deftransform 32bit-logical-orc1 ((x y)) +(deftransform word-logical-orc1 ((x y)) '(logand (logorc1 x y) #.(1- (ash 1 32)))) -(deftransform 32bit-logical-orc2 ((x y)) +(deftransform word-logical-orc2 ((x y)) '(logand (logorc2 x y) #.(1- (ash 1 32)))) -(deftransform 32bit-logical-andc1 ((x y)) +(deftransform word-logical-andc1 ((x y)) '(logand (logandc1 x y) #.(1- (ash 1 32)))) -(deftransform 32bit-logical-andc2 ((x y)) +(deftransform word-logical-andc2 ((x y)) '(logand (logandc2 x y) #.(1- (ash 1 32)))) (define-vop (shift-towards-someplace) |