0.8.14.9:
[sbcl.git] / src / compiler / generic / vm-array.lisp
index 5d2c780..baa9972 100644 (file)
          :importance 12)
         ((unsigned-byte 16) 0 16 simple-array-unsigned-byte-16
          :importance 12)
+         #!+#.(cl:if (cl:= 32 sb!vm:n-word-bits) '(and) '(or))
         ((unsigned-byte 29) 0 32 simple-array-unsigned-byte-29
          :importance 8)
         ((unsigned-byte 31) 0 32 simple-array-unsigned-byte-31
          :importance 11)
         ((unsigned-byte 32) 0 32 simple-array-unsigned-byte-32
          :importance 11)
+         #!+#.(cl:if (cl:= 64 sb!vm:n-word-bits) '(and) '(or))
+         ((unsigned-byte 60) 0 64 simple-array-unsigned-byte-60
+          :importance 8)
+         #!+#.(cl:if (cl:= 64 sb!vm:n-word-bits) '(and) '(or))
+         ((unsigned-byte 63) 0 64 simple-array-unsigned-byte-63
+          :importance 9)
+         #!+#.(cl:if (cl:= 64 sb!vm:n-word-bits) '(and) '(or))
+         ((unsigned-byte 64) 0 64 simple-array-unsigned-byte-64
+          :importance 9)
         ((signed-byte 8) 0 8 simple-array-signed-byte-8
          :importance 10)
         ((signed-byte 16) 0 16 simple-array-signed-byte-16
         ;; KLUDGE: See the comment in PRIMITIVE-TYPE-AUX,
         ;; compiler/generic/primtype.lisp, for why this is FIXNUM and
         ;; not (SIGNED-BYTE 30)
+         #!+#.(cl:if (cl:= 32 sb!vm:n-word-bits) '(and) '(or))
         (fixnum 0 32 simple-array-signed-byte-30
          :importance 8)
         ((signed-byte 32) 0 32 simple-array-signed-byte-32
          :importance 7)
+         ;; KLUDGE: see above KLUDGE for the 32-bit case
+         #!+#.(cl:if (cl:= 64 sb!vm:n-word-bits) '(and) '(or))
+         (fixnum 0 64 simple-array-signed-byte-61
+          :importance 8)
+         #!+#.(cl:if (cl:= 64 sb!vm:n-word-bits) '(and) '(or))
+         ((signed-byte 64) 0 64 simple-array-signed-byte-64
+          :importance 7)
         ((complex single-float) #C(0.0f0 0.0f0) 64
          simple-array-complex-single-float
          :importance 3)