X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Farray-tran.lisp;h=5551e171e7968930f52d69c41126f4edf29119f4;hb=b767eae48831153473226b985511c8f7a3ef98c5;hp=98befa5369fb4e259384317c7cea66bf27979b72;hpb=80304981972c91c1b3f3fca75f36dacf1fecf307;p=sbcl.git diff --git a/src/compiler/array-tran.lisp b/src/compiler/array-tran.lisp index 98befa5..5551e17 100644 --- a/src/compiler/array-tran.lisp +++ b/src/compiler/array-tran.lisp @@ -682,9 +682,10 @@ ;;;; and eliminates the need for any VM-dependent transforms to handle ;;;; these cases. -(macrolet ((def-frob (fun) +(macrolet ((def (fun) `(progn - (deftransform ,fun ((bit-array-1 bit-array-2 &optional result-bit-array) + (deftransform ,fun ((bit-array-1 bit-array-2 + &optional result-bit-array) (bit-vector bit-vector &optional null) * :policy (>= speed space)) `(,',fun bit-array-1 bit-array-2 @@ -693,16 +694,16 @@ (deftransform ,fun ((bit-array-1 bit-array-2 result-bit-array) (bit-vector bit-vector (member t)) *) `(,',fun bit-array-1 bit-array-2 bit-array-1))))) - (def-frob bit-and) - (def-frob bit-ior) - (def-frob bit-xor) - (def-frob bit-eqv) - (def-frob bit-nand) - (def-frob bit-nor) - (def-frob bit-andc1) - (def-frob bit-andc2) - (def-frob bit-orc1) - (def-frob bit-orc2)) + (def bit-and) + (def bit-ior) + (def bit-xor) + (def bit-eqv) + (def bit-nand) + (def bit-nor) + (def bit-andc1) + (def bit-andc2) + (def bit-orc1) + (def bit-orc2)) ;;; Similar for BIT-NOT, but there is only one arg... (deftransform bit-not ((bit-array-1 &optional result-bit-array)