X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcompiler%2Fgeneric%2Fvm-typetran.lisp;h=f88f6359e7f45dce595c36eb8b9e710a3de6cba9;hb=cf4cb9554515c59eddbde38d1cf236339c37f55f;hp=f80e41fb84c29ccced3c737290e66b6fd7227cc6;hpb=5d410bdb150733e21db25c5b4e6814f3775c16c0;p=sbcl.git diff --git a/src/compiler/generic/vm-typetran.lisp b/src/compiler/generic/vm-typetran.lisp index f80e41f..f88f635 100644 --- a/src/compiler/generic/vm-typetran.lisp +++ b/src/compiler/generic/vm-typetran.lisp @@ -47,20 +47,37 @@ (simple-array (unsigned-byte 15) (*))) (define-type-predicate simple-array-unsigned-byte-16-p (simple-array (unsigned-byte 16) (*))) +#!+#.(cl:if (cl:= 32 sb!vm:n-word-bits) '(and) '(or)) (define-type-predicate simple-array-unsigned-byte-29-p (simple-array (unsigned-byte 29) (*))) (define-type-predicate simple-array-unsigned-byte-31-p (simple-array (unsigned-byte 31) (*))) (define-type-predicate simple-array-unsigned-byte-32-p (simple-array (unsigned-byte 32) (*))) +#!+#.(cl:if (cl:= 64 sb!vm:n-word-bits) '(and) '(or)) +(define-type-predicate simple-array-unsigned-byte-60-p + (simple-array (unsigned-byte 60) (*))) +#!+#.(cl:if (cl:= 64 sb!vm:n-word-bits) '(and) '(or)) +(define-type-predicate simple-array-unsigned-byte-63-p + (simple-array (unsigned-byte 63) (*))) +#!+#.(cl:if (cl:= 64 sb!vm:n-word-bits) '(and) '(or)) +(define-type-predicate simple-array-unsigned-byte-64-p + (simple-array (unsigned-byte 64) (*))) (define-type-predicate simple-array-signed-byte-8-p (simple-array (signed-byte 8) (*))) (define-type-predicate simple-array-signed-byte-16-p (simple-array (signed-byte 16) (*))) +#!+#.(cl:if (cl:= 32 sb!vm:n-word-bits) '(and) '(or)) (define-type-predicate simple-array-signed-byte-30-p (simple-array (signed-byte 30) (*))) (define-type-predicate simple-array-signed-byte-32-p (simple-array (signed-byte 32) (*))) +#!+#.(cl:if (cl:= 64 sb!vm:n-word-bits) '(and) '(or)) +(define-type-predicate simple-array-signed-byte-61-p + (simple-array (signed-byte 61) (*))) +#!+#.(cl:if (cl:= 64 sb!vm:n-word-bits) '(and) '(or)) +(define-type-predicate simple-array-signed-byte-64-p + (simple-array (signed-byte 64) (*))) (define-type-predicate simple-array-single-float-p (simple-array single-float (*))) (define-type-predicate simple-array-double-float-p