master: Add missing feature to arm64 crossbuild test
snuglas via Sbcl-commits <[email protected]> Fri, 17 Jul 2026 22:19:17 +0000
| Newsgroups | gmane.lisp.steel-bank.cvs |
|---|---|
| Message-ID | <[email protected]> |
The branch "master" has been updated in SBCL:
via 9c82bf8bdcb4a4d266645face80f83018f69b769 (commit)
from 9bc6ee59037b43e7b055165c56f5cce3a37a0327 (commit)
- Log -----------------------------------------------------------------
commit 9c82bf8bdcb4a4d266645face80f83018f69b769
Author: Douglas Katzman <[email protected]>
Date: Fri Jul 17 22:18:51 2026 +0000
Add missing feature to arm64 crossbuild test
---
build-all-cores.sh | 1 +
crossbuild-runner/Makefile | 5 ++++
xperfecthash63.lisp-expr | 71 ++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 77 insertions(+)
diff --git a/build-all-cores.sh b/build-all-cores.sh
index c4b8f473f..1f470718b 100755
--- a/build-all-cores.sh
+++ b/build-all-cores.sh
@@ -33,6 +33,7 @@
(defparameter *all-configurations*
'(("arm" ("arm" :little-endian :largefile))
("arm64" ("arm64" :little-endian :sb-thread)
+ ("arm64+simd" :little-endian :sb-thread :sb-simd-pack)
("arm64-darwin" :darwin :bsd :unix :mach-o :little-endian :sb-thread :darwin-jit)
("arm64-reloc" :little-endian :sb-thread :relocatable-static-space :immobile-space)
("arm64-immobile-space" :little-endian :sb-thread :immobile-space))
diff --git a/crossbuild-runner/Makefile b/crossbuild-runner/Makefile
index 469c0d402..a3356b012 100644
--- a/crossbuild-runner/Makefile
+++ b/crossbuild-runner/Makefile
@@ -17,6 +17,11 @@ obj/xbuild/arm64/xc.core: $(DEPS1)
obj/xbuild/arm64.core: obj/xbuild/arm64/xc.core
$(SBCL) $(ARGS) arm64 < $(SCRIPT2)
+obj/xbuild/arm64+simd/xc.core: $(DEPS1)
+ $(SBCL) $(ARGS) arm64+simd arm64 "(:UNIX :LINUX :ELF :OS-PROVIDES-CLOCK-GETTIME :LITTLE-ENDIAN :SB-THREAD :SB-SIMD-PACK)" < $(SCRIPT1)
+obj/xbuild/arm64+simd.core: obj/xbuild/arm64+simd/xc.core
+ $(SBCL) $(ARGS) arm64+simd < $(SCRIPT2)
+
obj/xbuild/arm64-darwin/xc.core: $(DEPS1)
$(SBCL) $(ARGS) arm64-darwin arm64 "(:DARWIN :BSD :UNIX :MACH-O :LITTLE-ENDIAN :SB-THREAD :DARWIN-JIT :OS-PROVIDES-CLOCK-GETTIME)" < $(SCRIPT1)
obj/xbuild/arm64-darwin.core: obj/xbuild/arm64-darwin/xc.core
diff --git a/xperfecthash63.lisp-expr b/xperfecthash63.lisp-expr
index ca81f5750..a677443c1 100644
--- a/xperfecthash63.lisp-expr
+++ b/xperfecthash63.lisp-expr
@@ -1,4 +1,12 @@
(
+(#(0 2 4 6 8 A E 10 12 14 16 18 1A 1C 1E 20 22 24 26 28 2A 2E 30 32 34 36 38 3A 3C 7A)
+ "(61 4 3 10 7 8 9 5 14 13 12 11 26 25 24 23 16 17 15 29 30 28 27 21 20 2 19 18 0 1)"
+ "((let ((tab #a((16) (unsigned-byte 8) 21 0 16 13 18 3 24 15 1 9 11 28 26 4 20 29)))
+ (+= val #x2c45f2cb)
+ (^= val (>> val 4))
+ (let ((b (& val #xf)))
+ (let ((a (>> (u32+ val (<< val 23)) 28)))
+ (^ a (aref tab b))))))")
(#(0 2 4 6 8 A E 10 12 14 16 18 1A 1C 1E 20 22 24 28 2A 2C 2E 7A)
"(61 4 3 10 7 8 9 5 14 13 12 11 23 22 21 20 18 17 2 16 15 0 1)"
"((let ((tab #a((16) (unsigned-byte 8) 0 13 1 7 13 7 21 15 16 9 22 17 21 0 18 22)))
@@ -13,6 +21,14 @@
(let ((b (& (>> val 3) #x3)))
(let ((a (>> (u32+ val (<< val 29)) 30)))
(^ a (aref tab b))))))")
+(#(0 2 4 24 26 28 2E 30)
+ "(18 19 23 24 2 20 1 0)"
+ "((let ((tab #a((4) (unsigned-byte 8) 7 0 1 7)))
+ (+= val #x762d9085)
+ (^= val (>> val 4))
+ (let ((b (& val #x3)))
+ (let ((a (>> (u32+ val (<< val 26)) 30)))
+ (^ a (aref tab b))))))")
(#(0 2 4 30 32 34)
"(25 24 2 26 1 0)"
"((& (+ (>> val 1) (>> val 4)) 7))")
@@ -190,18 +206,39 @@
(let ((b (& (>> val 1) #x3)))
(let ((a (>> (<< val 26) 30)))
(^ a (aref tab b))))))")
+(#(6 8 A 16 2C)
+ "(5 4 3 11 22)"
+ "((let ((tab #a((4) (unsigned-byte 8) 2 3 6 0)))
+ (let ((b (& (>> val 1) #x3)))
+ (let ((a (>> (<< val 26) 30)))
+ (^ a (aref tab b))))))")
(#(6 8 A 18 26)
"(5 4 3 12 19)"
"((let ((tab #a((4) (unsigned-byte 8) 0 2 7 0)))
(let ((b (>> (<< val 26) 30)))
(let ((a (& (>> val 1) #x3)))
(^ a (aref tab b))))))")
+(#(6 8 A 18 2C)
+ "(5 4 3 12 22)"
+ "((let ((tab #a((4) (unsigned-byte 8) 0 2 1 4)))
+ (let ((b (& (>> val 1) #x3)))
+ (let ((a (>> (<< val 26) 30)))
+ (^ a (aref tab b))))))")
(#(8 E 10 16 26)
"(11 19 7 8 4)"
"((let ((tab #a((4) (unsigned-byte 8) 0 2 7 0)))
(let ((b (>> (<< val 26) 30)))
(let ((a (& (>> val 1) #x3)))
(^ a (aref tab b))))))")
+(#(8 E 10 16 2C)
+ "(11 22 7 8 4)"
+ "((let ((tab #a((4) (unsigned-byte 8) 0 0 6 2)))
+ (let ((b (& (>> val 1) #x3)))
+ (let ((a (>> (<< val 26) 30)))
+ (^ a (aref tab b))))))")
+(#(C 2E 34 36 38 3A 3C)
+ "(26 30 29 28 27 23 6)"
+ "((& (+ (>> val 1) (>> val 2) (>> val 4)) 7))")
(#(14 16 18 1A 1C 1E 20 22 24 26 28 2C)
"(10 11 12 13 14 15 16 17 18 19 20 22)"
"((let ((tab #a((8) (unsigned-byte 8) 12 13 0 5 0 8 5 9)))
@@ -214,6 +251,12 @@
(let ((b (& (>> val 1) #x7)))
(let ((a (>> (<< val 26) 29)))
(^ a (aref tab b))))))")
+(#(1E 20 22 38 3A 3C)
+ "(17 16 15 30 29 28)"
+ "((let ((tab #a((4) (unsigned-byte 8) 0 7 2 1)))
+ (let ((b (& (>> val 1) #x3)))
+ (let ((a (>> (<< val 26) 30)))
+ (^ a (aref tab b))))))")
(#(1E 20 22 40 42 44)
"(17 16 15 34 33 32)"
"((let ((tab #a((4) (unsigned-byte 8) 0 2 7 4)))
@@ -710,6 +753,14 @@
(let ((b (& (>> val 9) #xf)))
(let ((a (>> (<< val 7) 28)))
(^ a (aref tab b))))))")
+(#(11131BE7 168C60FD 2D45A4CF 2E16A006 32030766 3AA6053C 44273B23 444AF531 47AA782C 5302EDCF 538C4003 5595EEC3 58D40BEE
+ 5CB9F779 634EB941 646135D9 6964D143 7058717C 7CFF98EB 7F255BE9 83A1A47F 86C51BD4 90EC2354 977E07FB 99AE692E B9D57393
+ CFFE5CF3 D3774C34 E8C239EF FC8EAFE7)
+ "(UNDEFINED-CLASSOID BUILT-IN-CLASSOID CONDITION-CLASSOID STRUCTURE-CLASSOID STANDARD-CLASSOID STATIC-CLASSOID CLASSOID SIMD-PACK-TYPE CONSTANT-TYPE VALUES-TYPE FUN-TYPE FUN-DESIGNATOR-TYPE ARGS-TYPE CONS-TYPE NUMERIC-UNION-TYPE NEGATION-TYPE ALIEN-TYPE-TYPE NAMED-TYPE UNKNOWN-TYPE HAIRY-TYPE MEMBER-TYPE ARRAY-TYPE CHARACTER-SET-TYPE COMPOUND-TYPE UNION-TYPE INTERSECTION-TYPE CTYPE SB-C::LVAR SB-C::LAMBDA-VAR CONSTANT)"
+ "((let ((tab #a((16) (unsigned-byte 8) 21 31 22 3 15 7 31 22 11 24 13 21 0 13 18 0)))
+ (let ((b (& (>> val 9) #xf)))
+ (let ((a (>> (<< val 7) 28)))
+ (^ a (aref tab b))))))")
(#(11131BE7 168C60FD 2D45A4CF 2E16A006 32030766 3AA6053C 44273B23 444AF531 47AA782C 5302EDCF 538C4003 5595EEC3 58D40BEE
5CB9F779 634EB941 646135D9 6964D143 7058717C 7CFF98EB 7F255BE9 86C51BD4 90EC2354 977E07FB 99AE692E B9D57393 CFFE5CF3
D3774C34 E8C239EF FC8EAFE7)
@@ -725,6 +776,13 @@
(let ((b (& val #xf)))
(let ((a (>> val 28)))
(^ a (aref tab b))))))")
+(#(11131BE7 168C60FD 2D45A4CF 2E16A006 32030766 3AA6053C 444AF531 47AA782C 5302EDCF 5CB9F779 6964D143 7058717C 83A1A47F
+ 86C51BD4 977E07FB B9D57393 CFFE5CF3)
+ "#(((:TYPE VALUES-TYPE)) ((:TYPE FUN-DESIGNATOR-TYPE) (:TYPE FUN-TYPE)) ((:TYPE NUMERIC-UNION-TYPE)) ((:TYPE UNION-TYPE) (:TYPE INTERSECTION-TYPE) (:TYPE COMPOUND-TYPE)) ((:TYPE MEMBER-TYPE)) ((:TYPE ARRAY-TYPE)) ((:TYPE UNKNOWN-TYPE) (:TYPE HAIRY-TYPE)) ((:TYPE NEGATION-TYPE)) ((:TYPE CONSTANT-TYPE)) ((:TYPE CONS-TYPE)) ((:TYPE CHARACTER-SET-TYPE)) ((:TYPE SIMD-PACK-TYPE)) ((:TYPE ALIEN-TYPE-TYPE)))"
+ "((let ((tab #a((16) (unsigned-byte 8) 0 13 0 0 9 0 13 1 0 15 0 4 0 17 0 0)))
+ (let ((b (& val #xf)))
+ (let ((a (>> val 28)))
+ (^ a (aref tab b))))))")
(#(11131BE7 168C60FD 2D45A4CF 2E16A006 32030766 3AA6053C 444AF531 47AA782C 5302EDCF 5CB9F779 6964D143 7058717C 86C51BD4
977E07FB B9D57393 CFFE5CF3)
"#(((:TYPE VALUES-TYPE)) ((:TYPE FUN-DESIGNATOR-TYPE) (:TYPE FUN-TYPE)) ((:TYPE NUMERIC-UNION-TYPE)) ((:TYPE UNION-TYPE) (:TYPE INTERSECTION-TYPE) (:TYPE COMPOUND-TYPE)) ((:TYPE MEMBER-TYPE)) ((:TYPE ARRAY-TYPE)) ((:TYPE UNKNOWN-TYPE) (:TYPE HAIRY-TYPE)) ((:TYPE NEGATION-TYPE)) ((:TYPE CONSTANT-TYPE)) ((:TYPE CONS-TYPE)) ((:TYPE CHARACTER-SET-TYPE)) ((:TYPE ALIEN-TYPE-TYPE)))"
@@ -739,6 +797,13 @@
(let ((b (& val #xf)))
(let ((a (>> val 28)))
(^ a (aref tab b))))))")
+(#(11131BE7 168C60FD 2D45A4CF 2E16A006 3AA6053C 444AF531 5302EDCF 5CB9F779 6964D143 7058717C 83A1A47F 86C51BD4 977E07FB
+ B9D57393 CFFE5CF3 D3774C34)
+ "#(((:TYPE UNKNOWN-TYPE) (:TYPE HAIRY-TYPE) (:TYPE SIMD-PACK-TYPE) (:TYPE CHARACTER-SET-TYPE) (:TYPE MEMBER-TYPE) (:TYPE NUMERIC-UNION-TYPE)) ((:TYPE VALUES-TYPE) (:TYPE FUN-TYPE) (:TYPE FUN-DESIGNATOR-TYPE) (:TYPE ARGS-TYPE)) ((:TYPE CONS-TYPE)) ((:TYPE ARRAY-TYPE)) ((:TYPE UNION-TYPE) (:TYPE INTERSECTION-TYPE) (:TYPE COMPOUND-TYPE)) ((:TYPE NEGATION-TYPE)))"
+ "((let ((tab #a((8) (unsigned-byte 8) 3 12 0 12 0 12 15 0)))
+ (let ((b (& (>> val 6) #x7)))
+ (let ((a (>> (<< val 5) 29)))
+ (^ a (aref tab b))))))")
(#(11131BE7 168C60FD 2D45A4CF 2E16A006 3AA6053C 444AF531 5302EDCF 5CB9F779 6964D143 7058717C 86C51BD4 977E07FB B9D57393
CFFE5CF3 D3774C34)
"#(((:TYPE UNKNOWN-TYPE) (:TYPE HAIRY-TYPE) (:TYPE CHARACTER-SET-TYPE) (:TYPE MEMBER-TYPE) (:TYPE NUMERIC-UNION-TYPE)) ((:TYPE VALUES-TYPE) (:TYPE FUN-TYPE) (:TYPE FUN-DESIGNATOR-TYPE) (:TYPE ARGS-TYPE)) ((:TYPE CONS-TYPE)) ((:TYPE ARRAY-TYPE)) ((:TYPE UNION-TYPE) (:TYPE INTERSECTION-TYPE) (:TYPE COMPOUND-TYPE)) ((:TYPE NEGATION-TYPE)))"
@@ -851,6 +916,9 @@
(let ((b (>> val 29)))
(let ((a (& val #x7)))
(^ a (aref tab b))))))")
+(#(1607B33C 380E1F3F 90D0AD8D A4EDA9A1 A836E4F7 BE9D3FB8 D3F36C41 FD00B976)
+ "(SB-VM::COMPLEX-DOUBLE-REG SB-VM::SINGLE-NEON-REG SB-VM::DOUBLE-NEON-REG SB-VM::INT-NEON-REG SB-VM::NEON-REG SB-VM::COMPLEX-SINGLE-REG SB-VM::DOUBLE-REG SB-VM::SINGLE-REG)"
+ "((& (- (>> val 2) (>> val 9)) 7))")
(#(163E7558 42D83FFB 5A95FD85 5D9A19B2 E7AA772E)
"(:ALLOW-OTHER-KEYS :KEYS :TYPES :MAX-ARGS :MIN-ARGS)"
"((& (+ val (>> val 25)) 7))")
@@ -1672,6 +1740,9 @@
(#(8BD63E3B A45D9F5E D1AAA153 D9E47BF0 E487643D F5B1443E)
"(%MAKE-LIST MAKE-ARRAY VECTOR-SUBSEQ SUBSEQ VECTOR LIST)"
"((& (- val (>> val 30)) 7))")
+(#(90D0AD8D A836E4F7 BE9D3FB8 D3F36C41)
+ "(SB-VM::NEON-REG SB-VM::INT-NEON-REG SB-VM::SINGLE-NEON-REG SB-VM::DOUBLE-NEON-REG)"
+ "((& (>> val 2) 3))")
(#(937BB764 A4528420 D0F360C2 D1F36255 D7F36BC7)
"(ABS ASH * - +)"
"((& (- val (>> val 1)) 7))")
-----------------------------------------------------------------------
hooks/post-receive
--
SBCL