X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Farray-tran.lisp;h=8f431795dbaf9e8453d0cd7aeba40a5d24617eb0;hb=14d8510d30b5ee723ad9c2d89ff907ec38923e51;hp=b6b7c512bbd24d836fc8e5a1a0f6dd05496aa488;hpb=403bacffd903f8c5787a182f4133cffc69b55dc0;p=sbcl.git diff --git a/src/compiler/array-tran.lisp b/src/compiler/array-tran.lisp index b6b7c51..8f43179 100644 --- a/src/compiler/array-tran.lisp +++ b/src/compiler/array-tran.lisp @@ -736,7 +736,7 @@ (make-array (length bit-array-1) :element-type 'bit))) ;; If result is T, make it the first arg. (deftransform ,fun ((bit-array-1 bit-array-2 result-bit-array) - (bit-vector bit-vector (member t)) *) + (bit-vector bit-vector (eql t)) *) `(,',fun bit-array-1 bit-array-2 bit-array-1))))) (def bit-and) (def bit-ior) @@ -756,11 +756,8 @@ '(bit-not bit-array-1 (make-array (length bit-array-1) :element-type 'bit))) (deftransform bit-not ((bit-array-1 result-bit-array) - (bit-vector (constant-arg t))) + (bit-vector (eql t))) '(bit-not bit-array-1 bit-array-1)) -;;; FIXME: What does (CONSTANT-ARG T) mean? Is it the same thing -;;; as (CONSTANT-ARG (MEMBER T)), or does it mean any constant -;;; value? ;;; Pick off some constant cases. (defoptimizer (array-header-p derive-type) ((array))