9759 |
(%f14 0 a a)))) |
(%f14 0 a a)))) |
9760 |
857304) |
857304) |
9761 |
0) |
0) |
9762 |
|
|
9763 |
|
;;; sbcl 0.8.19.32 |
9764 |
|
;;; Type propagation problem with BIT-AND |
9765 |
|
|
9766 |
|
(deftest misc.527 |
9767 |
|
(let ((v1 (make-array 1 :element-type 'bit |
9768 |
|
:initial-contents '(1) |
9769 |
|
:fill-pointer 0)) |
9770 |
|
(v2 (make-array 1 :element-type 'bit |
9771 |
|
:initial-contents '(1) |
9772 |
|
:fill-pointer 1)) |
9773 |
|
(r (make-array nil))) |
9774 |
|
(funcall |
9775 |
|
(compile |
9776 |
|
nil |
9777 |
|
`(lambda (r p2) |
9778 |
|
(declare (optimize speed (safety 1)) |
9779 |
|
(type (simple-array t nil) r) |
9780 |
|
(type (array *) p2)) |
9781 |
|
(setf (aref r) (bit-and ,v1 (the (bit-vector *) p2))) |
9782 |
|
(values))) |
9783 |
|
r v2) |
9784 |
|
(let ((result (aref r))) |
9785 |
|
(values |
9786 |
|
(notnot (simple-bit-vector-p result)) |
9787 |
|
(=t (array-dimension result 0) 1) |
9788 |
|
(=t (aref result 0) 1)))) |
9789 |
|
t t t) |
9790 |
|
|
9791 |
|
|
9792 |
|
|