From: Nathan F. <nf...@us...> - 2004-08-07 02:24:57
|
Update of /cvsroot/sbcl/sbcl/src/compiler/sparc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29423/src/compiler/sparc Modified Files: arith.lisp Log Message: 0.8.13.35: * SB!VM:WORD-LOGICAL-FOO transforms were being defined per-backend, when in reality they can be shared. Make it so. * The `length' slot in SB!VM:PRIM-SLOT-OBJECT wasn't being used; delete it, but retain the :LENGTH option in SB!VM:DEFINE-PRIMITIVE-OBJECT, because that *is* being used. (mostly to generate offsets for GENESIS header files) Index: arith.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/compiler/sparc/arith.lisp,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- arith.lisp 4 Aug 2004 22:15:32 -0000 1.17 +++ arith.lisp 7 Aug 2004 02:24:48 -0000 1.18 @@ -825,39 +825,6 @@ (emit-label done) (move result res)))) -(define-source-transform word-logical-not (x) - `(logand (lognot (the (unsigned-byte 32) ,x)) #.(1- (ash 1 32)))) - -(deftransform word-logical-and ((x y)) - '(logand x y)) - -(deftransform word-logical-nand ((x y)) - '(logand (lognand x y) #.(1- (ash 1 32)))) - -(deftransform word-logical-or ((x y)) - '(logior x y)) - -(deftransform word-logical-nor ((x y)) - '(logand (lognor x y) #.(1- (ash 1 32)))) - -(deftransform word-logical-xor ((x y)) - '(logxor x y)) - -(deftransform word-logical-eqv ((x y)) - '(logand (logeqv x y) #.(1- (ash 1 32)))) - -(deftransform word-logical-orc1 ((x y)) - '(logand (logorc1 x y) #.(1- (ash 1 32)))) - -(deftransform word-logical-orc2 ((x y)) - '(logand (logorc2 x y) #.(1- (ash 1 32)))) - -(deftransform word-logical-andc1 ((x y)) - '(logand (logandc1 x y) #.(1- (ash 1 32)))) - -(deftransform word-logical-andc2 ((x y)) - '(logand (logandc2 x y) #.(1- (ash 1 32)))) - (define-vop (shift-towards-someplace) (:policy :fast-safe) (:args (num :scs (unsigned-reg)) |