;;; These type predicates are used to implement simple cases of TYPEP.
;;; They shouldn't be used explicitly.
-(define-type-predicate base-char-p base-char)
(define-type-predicate base-string-p base-string)
(define-type-predicate bignump bignum)
(define-type-predicate complex-double-float-p (complex double-float))
(simple-array (unsigned-byte 2) (*)))
(define-type-predicate simple-array-unsigned-byte-4-p
(simple-array (unsigned-byte 4) (*)))
+(define-type-predicate simple-array-unsigned-byte-7-p
+ (simple-array (unsigned-byte 7) (*)))
(define-type-predicate simple-array-unsigned-byte-8-p
(simple-array (unsigned-byte 8) (*)))
+(define-type-predicate simple-array-unsigned-byte-15-p
+ (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