X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fgeneric%2Fvm-array.lisp;h=baa997252f01c4ff4817cab840f8e2c93fdfe8f0;hb=eb5265ab22a2b1cae18bbdf43c871dba9b5927ea;hp=5d2c78003788557d1fa3bbb0b9a16bd3aaf6b87e;hpb=dc6275b2e4a18db86f3de147b531a94fb8a1144f;p=sbcl.git diff --git a/src/compiler/generic/vm-array.lisp b/src/compiler/generic/vm-array.lisp index 5d2c780..baa9972 100644 --- a/src/compiler/generic/vm-array.lisp +++ b/src/compiler/generic/vm-array.lisp @@ -99,12 +99,22 @@ :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 @@ -112,10 +122,18 @@ ;; 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)