authorgravatar for 124872+jedisct1@users.noreply.github.comFrank Denis <124872+jedisct1@users.noreply.github.com> 2026-10-10 12:43:57+02:00
committergravatar for 124872+jedisct1@users.noreply.github.comFrank Denis <124872+jedisct1@users.noreply.github.com> 2026-10-10 12:43:57+02:00
log3626a240e43d4e40cda191a4e780a94c4ec601bc
treefdf9fcb4204b51ddea949e18781e5334c7acc5cd
parent0e494a3345f1c635d5979571dd55a1c663992d97
parentf1fac3c25e6227ad81a0075a08f708b8c81a68b3

Merge pull request 'crypto.ml_kem: work around LLVM23 miscompilation on riscv64' (#37135) from jedisct1/zig:riscv64workaround into master

Reviewed-on: https://codeberg.org/ziglang/zig/pulls/37135 Reviewed-by: Alex Rønne Petersen <alex@alexrp.com>

2 files changed, 1 insertions(+), 69 deletions(-)

lib/std/crypto/hybrid_kem.zig-61
...@@ -13,7 +13,6 @@...@@ -13,7 +13,6 @@
13//! The combiner uses the C2PRI construction to derive the final shared secret13//! The combiner uses the C2PRI construction to derive the final shared secret
14//! from the component shared secrets, ciphertext, and public key.14//! from the component shared secrets, ciphertext, and public key.
1515
16const builtin = @import("builtin");
17const std = @import("std");16const std = @import("std");
18const crypto = std.crypto;17const crypto = std.crypto;
19const fmt = std.fmt;18const fmt = std.fmt;
...@@ -371,8 +370,6 @@ test "MLKEM768-X25519 basic round trip" {...@@ -371,8 +370,6 @@ test "MLKEM768-X25519 basic round trip" {
371}370}
372371
373test "MLKEM768-X25519 test vector 0" {372test "MLKEM768-X25519 test vector 0" {
374 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
375
376 var seed: [32]u8 = undefined;373 var seed: [32]u8 = undefined;
377 var expected_ek: [1216]u8 = undefined;374 var expected_ek: [1216]u8 = undefined;
378 var randomness: [64]u8 = undefined;375 var randomness: [64]u8 = undefined;
...@@ -397,8 +394,6 @@ test "MLKEM768-X25519 test vector 0" {...@@ -397,8 +394,6 @@ test "MLKEM768-X25519 test vector 0" {
397}394}
398395
399test "MLKEM768-X25519 test vector 1" {396test "MLKEM768-X25519 test vector 1" {
400 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
401
402 var seed: [32]u8 = undefined;397 var seed: [32]u8 = undefined;
403 var expected_ek: [1216]u8 = undefined;398 var expected_ek: [1216]u8 = undefined;
404 var randomness: [64]u8 = undefined;399 var randomness: [64]u8 = undefined;
...@@ -423,8 +418,6 @@ test "MLKEM768-X25519 test vector 1" {...@@ -423,8 +418,6 @@ test "MLKEM768-X25519 test vector 1" {
423}418}
424419
425test "MLKEM768-X25519 test vector 2" {420test "MLKEM768-X25519 test vector 2" {
426 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
427
428 var seed: [32]u8 = undefined;421 var seed: [32]u8 = undefined;
429 var expected_ek: [1216]u8 = undefined;422 var expected_ek: [1216]u8 = undefined;
430 var randomness: [64]u8 = undefined;423 var randomness: [64]u8 = undefined;
...@@ -449,8 +442,6 @@ test "MLKEM768-X25519 test vector 2" {...@@ -449,8 +442,6 @@ test "MLKEM768-X25519 test vector 2" {
449}442}
450443
451test "MLKEM768-X25519 test vector 3" {444test "MLKEM768-X25519 test vector 3" {
452 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
453
454 var seed: [32]u8 = undefined;445 var seed: [32]u8 = undefined;
455 var expected_ek: [1216]u8 = undefined;446 var expected_ek: [1216]u8 = undefined;
456 var randomness: [64]u8 = undefined;447 var randomness: [64]u8 = undefined;
...@@ -475,8 +466,6 @@ test "MLKEM768-X25519 test vector 3" {...@@ -475,8 +466,6 @@ test "MLKEM768-X25519 test vector 3" {
475}466}
476467
477test "MLKEM768-X25519 test vector 4" {468test "MLKEM768-X25519 test vector 4" {
478 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
479
480 var seed: [32]u8 = undefined;469 var seed: [32]u8 = undefined;
481 var expected_ek: [1216]u8 = undefined;470 var expected_ek: [1216]u8 = undefined;
482 var randomness: [64]u8 = undefined;471 var randomness: [64]u8 = undefined;
...@@ -501,8 +490,6 @@ test "MLKEM768-X25519 test vector 4" {...@@ -501,8 +490,6 @@ test "MLKEM768-X25519 test vector 4" {
501}490}
502491
503test "MLKEM768-X25519 test vector 5" {492test "MLKEM768-X25519 test vector 5" {
504 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
505
506 var seed: [32]u8 = undefined;493 var seed: [32]u8 = undefined;
507 var expected_ek: [1216]u8 = undefined;494 var expected_ek: [1216]u8 = undefined;
508 var randomness: [64]u8 = undefined;495 var randomness: [64]u8 = undefined;
...@@ -527,8 +514,6 @@ test "MLKEM768-X25519 test vector 5" {...@@ -527,8 +514,6 @@ test "MLKEM768-X25519 test vector 5" {
527}514}
528515
529test "MLKEM768-X25519 test vector 6" {516test "MLKEM768-X25519 test vector 6" {
530 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
531
532 var seed: [32]u8 = undefined;517 var seed: [32]u8 = undefined;
533 var expected_ek: [1216]u8 = undefined;518 var expected_ek: [1216]u8 = undefined;
534 var randomness: [64]u8 = undefined;519 var randomness: [64]u8 = undefined;
...@@ -553,8 +538,6 @@ test "MLKEM768-X25519 test vector 6" {...@@ -553,8 +538,6 @@ test "MLKEM768-X25519 test vector 6" {
553}538}
554539
555test "MLKEM768-X25519 test vector 7" {540test "MLKEM768-X25519 test vector 7" {
556 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
557
558 var seed: [32]u8 = undefined;541 var seed: [32]u8 = undefined;
559 var expected_ek: [1216]u8 = undefined;542 var expected_ek: [1216]u8 = undefined;
560 var randomness: [64]u8 = undefined;543 var randomness: [64]u8 = undefined;
...@@ -579,8 +562,6 @@ test "MLKEM768-X25519 test vector 7" {...@@ -579,8 +562,6 @@ test "MLKEM768-X25519 test vector 7" {
579}562}
580563
581test "MLKEM768-X25519 test vector 8" {564test "MLKEM768-X25519 test vector 8" {
582 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
583
584 var seed: [32]u8 = undefined;565 var seed: [32]u8 = undefined;
585 var expected_ek: [1216]u8 = undefined;566 var expected_ek: [1216]u8 = undefined;
586 var randomness: [64]u8 = undefined;567 var randomness: [64]u8 = undefined;
...@@ -605,8 +586,6 @@ test "MLKEM768-X25519 test vector 8" {...@@ -605,8 +586,6 @@ test "MLKEM768-X25519 test vector 8" {
605}586}
606587
607test "MLKEM768-X25519 test vector 9" {588test "MLKEM768-X25519 test vector 9" {
608 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
609
610 var seed: [32]u8 = undefined;589 var seed: [32]u8 = undefined;
611 var expected_ek: [1216]u8 = undefined;590 var expected_ek: [1216]u8 = undefined;
612 var randomness: [64]u8 = undefined;591 var randomness: [64]u8 = undefined;
...@@ -631,8 +610,6 @@ test "MLKEM768-X25519 test vector 9" {...@@ -631,8 +610,6 @@ test "MLKEM768-X25519 test vector 9" {
631}610}
632611
633test "MLKEM768-P256 test vector 0" {612test "MLKEM768-P256 test vector 0" {
634 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
635
636 var seed: [32]u8 = undefined;613 var seed: [32]u8 = undefined;
637 var expected_ek: [1249]u8 = undefined;614 var expected_ek: [1249]u8 = undefined;
638 var randomness: [160]u8 = undefined;615 var randomness: [160]u8 = undefined;
...@@ -657,8 +634,6 @@ test "MLKEM768-P256 test vector 0" {...@@ -657,8 +634,6 @@ test "MLKEM768-P256 test vector 0" {
657}634}
658635
659test "MLKEM768-P256 test vector 1" {636test "MLKEM768-P256 test vector 1" {
660 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
661
662 var seed: [32]u8 = undefined;637 var seed: [32]u8 = undefined;
663 var expected_ek: [1249]u8 = undefined;638 var expected_ek: [1249]u8 = undefined;
664 var randomness: [160]u8 = undefined;639 var randomness: [160]u8 = undefined;
...@@ -683,8 +658,6 @@ test "MLKEM768-P256 test vector 1" {...@@ -683,8 +658,6 @@ test "MLKEM768-P256 test vector 1" {
683}658}
684659
685test "MLKEM768-P256 test vector 2" {660test "MLKEM768-P256 test vector 2" {
686 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
687
688 var seed: [32]u8 = undefined;661 var seed: [32]u8 = undefined;
689 var expected_ek: [1249]u8 = undefined;662 var expected_ek: [1249]u8 = undefined;
690 var randomness: [160]u8 = undefined;663 var randomness: [160]u8 = undefined;
...@@ -709,8 +682,6 @@ test "MLKEM768-P256 test vector 2" {...@@ -709,8 +682,6 @@ test "MLKEM768-P256 test vector 2" {
709}682}
710683
711test "MLKEM768-P256 test vector 3" {684test "MLKEM768-P256 test vector 3" {
712 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
713
714 var seed: [32]u8 = undefined;685 var seed: [32]u8 = undefined;
715 var expected_ek: [1249]u8 = undefined;686 var expected_ek: [1249]u8 = undefined;
716 var randomness: [160]u8 = undefined;687 var randomness: [160]u8 = undefined;
...@@ -735,8 +706,6 @@ test "MLKEM768-P256 test vector 3" {...@@ -735,8 +706,6 @@ test "MLKEM768-P256 test vector 3" {
735}706}
736707
737test "MLKEM768-P256 test vector 4" {708test "MLKEM768-P256 test vector 4" {
738 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
739
740 var seed: [32]u8 = undefined;709 var seed: [32]u8 = undefined;
741 var expected_ek: [1249]u8 = undefined;710 var expected_ek: [1249]u8 = undefined;
742 var randomness: [160]u8 = undefined;711 var randomness: [160]u8 = undefined;
...@@ -761,8 +730,6 @@ test "MLKEM768-P256 test vector 4" {...@@ -761,8 +730,6 @@ test "MLKEM768-P256 test vector 4" {
761}730}
762731
763test "MLKEM768-P256 test vector 5" {732test "MLKEM768-P256 test vector 5" {
764 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
765
766 var seed: [32]u8 = undefined;733 var seed: [32]u8 = undefined;
767 var expected_ek: [1249]u8 = undefined;734 var expected_ek: [1249]u8 = undefined;
768 var randomness: [160]u8 = undefined;735 var randomness: [160]u8 = undefined;
...@@ -787,8 +754,6 @@ test "MLKEM768-P256 test vector 5" {...@@ -787,8 +754,6 @@ test "MLKEM768-P256 test vector 5" {
787}754}
788755
789test "MLKEM768-P256 test vector 6" {756test "MLKEM768-P256 test vector 6" {
790 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
791
792 var seed: [32]u8 = undefined;757 var seed: [32]u8 = undefined;
793 var expected_ek: [1249]u8 = undefined;758 var expected_ek: [1249]u8 = undefined;
794 var randomness: [160]u8 = undefined;759 var randomness: [160]u8 = undefined;
...@@ -813,8 +778,6 @@ test "MLKEM768-P256 test vector 6" {...@@ -813,8 +778,6 @@ test "MLKEM768-P256 test vector 6" {
813}778}
814779
815test "MLKEM768-P256 test vector 7" {780test "MLKEM768-P256 test vector 7" {
816 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
817
818 var seed: [32]u8 = undefined;781 var seed: [32]u8 = undefined;
819 var expected_ek: [1249]u8 = undefined;782 var expected_ek: [1249]u8 = undefined;
820 var randomness: [160]u8 = undefined;783 var randomness: [160]u8 = undefined;
...@@ -839,8 +802,6 @@ test "MLKEM768-P256 test vector 7" {...@@ -839,8 +802,6 @@ test "MLKEM768-P256 test vector 7" {
839}802}
840803
841test "MLKEM768-P256 test vector 8" {804test "MLKEM768-P256 test vector 8" {
842 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
843
844 var seed: [32]u8 = undefined;805 var seed: [32]u8 = undefined;
845 var expected_ek: [1249]u8 = undefined;806 var expected_ek: [1249]u8 = undefined;
846 var randomness: [160]u8 = undefined;807 var randomness: [160]u8 = undefined;
...@@ -865,8 +826,6 @@ test "MLKEM768-P256 test vector 8" {...@@ -865,8 +826,6 @@ test "MLKEM768-P256 test vector 8" {
865}826}
866827
867test "MLKEM768-P256 test vector 9" {828test "MLKEM768-P256 test vector 9" {
868 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
869
870 var seed: [32]u8 = undefined;829 var seed: [32]u8 = undefined;
871 var expected_ek: [1249]u8 = undefined;830 var expected_ek: [1249]u8 = undefined;
872 var randomness: [160]u8 = undefined;831 var randomness: [160]u8 = undefined;
...@@ -891,8 +850,6 @@ test "MLKEM768-P256 test vector 9" {...@@ -891,8 +850,6 @@ test "MLKEM768-P256 test vector 9" {
891}850}
892851
893test "MLKEM1024-P384 test vector 0" {852test "MLKEM1024-P384 test vector 0" {
894 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
895
896 var seed: [32]u8 = undefined;853 var seed: [32]u8 = undefined;
897 var expected_ek: [1665]u8 = undefined;854 var expected_ek: [1665]u8 = undefined;
898 var randomness: [80]u8 = undefined;855 var randomness: [80]u8 = undefined;
...@@ -917,8 +874,6 @@ test "MLKEM1024-P384 test vector 0" {...@@ -917,8 +874,6 @@ test "MLKEM1024-P384 test vector 0" {
917}874}
918875
919test "MLKEM1024-P384 test vector 1" {876test "MLKEM1024-P384 test vector 1" {
920 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
921
922 var seed: [32]u8 = undefined;877 var seed: [32]u8 = undefined;
923 var expected_ek: [1665]u8 = undefined;878 var expected_ek: [1665]u8 = undefined;
924 var randomness: [80]u8 = undefined;879 var randomness: [80]u8 = undefined;
...@@ -943,8 +898,6 @@ test "MLKEM1024-P384 test vector 1" {...@@ -943,8 +898,6 @@ test "MLKEM1024-P384 test vector 1" {
943}898}
944899
945test "MLKEM1024-P384 test vector 2" {900test "MLKEM1024-P384 test vector 2" {
946 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
947
948 var seed: [32]u8 = undefined;901 var seed: [32]u8 = undefined;
949 var expected_ek: [1665]u8 = undefined;902 var expected_ek: [1665]u8 = undefined;
950 var randomness: [80]u8 = undefined;903 var randomness: [80]u8 = undefined;
...@@ -969,8 +922,6 @@ test "MLKEM1024-P384 test vector 2" {...@@ -969,8 +922,6 @@ test "MLKEM1024-P384 test vector 2" {
969}922}
970923
971test "MLKEM1024-P384 test vector 3" {924test "MLKEM1024-P384 test vector 3" {
972 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
973
974 var seed: [32]u8 = undefined;925 var seed: [32]u8 = undefined;
975 var expected_ek: [1665]u8 = undefined;926 var expected_ek: [1665]u8 = undefined;
976 var randomness: [80]u8 = undefined;927 var randomness: [80]u8 = undefined;
...@@ -995,8 +946,6 @@ test "MLKEM1024-P384 test vector 3" {...@@ -995,8 +946,6 @@ test "MLKEM1024-P384 test vector 3" {
995}946}
996947
997test "MLKEM1024-P384 test vector 4" {948test "MLKEM1024-P384 test vector 4" {
998 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
999
1000 var seed: [32]u8 = undefined;949 var seed: [32]u8 = undefined;
1001 var expected_ek: [1665]u8 = undefined;950 var expected_ek: [1665]u8 = undefined;
1002 var randomness: [80]u8 = undefined;951 var randomness: [80]u8 = undefined;
...@@ -1021,8 +970,6 @@ test "MLKEM1024-P384 test vector 4" {...@@ -1021,8 +970,6 @@ test "MLKEM1024-P384 test vector 4" {
1021}970}
1022971
1023test "MLKEM1024-P384 test vector 5" {972test "MLKEM1024-P384 test vector 5" {
1024 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
1025
1026 var seed: [32]u8 = undefined;973 var seed: [32]u8 = undefined;
1027 var expected_ek: [1665]u8 = undefined;974 var expected_ek: [1665]u8 = undefined;
1028 var randomness: [80]u8 = undefined;975 var randomness: [80]u8 = undefined;
...@@ -1047,8 +994,6 @@ test "MLKEM1024-P384 test vector 5" {...@@ -1047,8 +994,6 @@ test "MLKEM1024-P384 test vector 5" {
1047}994}
1048995
1049test "MLKEM1024-P384 test vector 6" {996test "MLKEM1024-P384 test vector 6" {
1050 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
1051
1052 var seed: [32]u8 = undefined;997 var seed: [32]u8 = undefined;
1053 var expected_ek: [1665]u8 = undefined;998 var expected_ek: [1665]u8 = undefined;
1054 var randomness: [80]u8 = undefined;999 var randomness: [80]u8 = undefined;
...@@ -1073,8 +1018,6 @@ test "MLKEM1024-P384 test vector 6" {...@@ -1073,8 +1018,6 @@ test "MLKEM1024-P384 test vector 6" {
1073}1018}
10741019
1075test "MLKEM1024-P384 test vector 7" {1020test "MLKEM1024-P384 test vector 7" {
1076 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
1077
1078 var seed: [32]u8 = undefined;1021 var seed: [32]u8 = undefined;
1079 var expected_ek: [1665]u8 = undefined;1022 var expected_ek: [1665]u8 = undefined;
1080 var randomness: [80]u8 = undefined;1023 var randomness: [80]u8 = undefined;
...@@ -1099,8 +1042,6 @@ test "MLKEM1024-P384 test vector 7" {...@@ -1099,8 +1042,6 @@ test "MLKEM1024-P384 test vector 7" {
1099}1042}
11001043
1101test "MLKEM1024-P384 test vector 8" {1044test "MLKEM1024-P384 test vector 8" {
1102 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
1103
1104 var seed: [32]u8 = undefined;1045 var seed: [32]u8 = undefined;
1105 var expected_ek: [1665]u8 = undefined;1046 var expected_ek: [1665]u8 = undefined;
1106 var randomness: [80]u8 = undefined;1047 var randomness: [80]u8 = undefined;
...@@ -1125,8 +1066,6 @@ test "MLKEM1024-P384 test vector 8" {...@@ -1125,8 +1066,6 @@ test "MLKEM1024-P384 test vector 8" {
1125}1066}
11261067
1127test "MLKEM1024-P384 test vector 9" {1068test "MLKEM1024-P384 test vector 9" {
1128 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
1129
1130 var seed: [32]u8 = undefined;1069 var seed: [32]u8 = undefined;
1131 var expected_ek: [1665]u8 = undefined;1070 var expected_ek: [1665]u8 = undefined;
1132 var randomness: [80]u8 = undefined;1071 var randomness: [80]u8 = undefined;
lib/std/crypto/ml_kem.zig+1-8
...@@ -1179,6 +1179,7 @@ const Poly = struct {...@@ -1179,6 +1179,7 @@ const Poly = struct {
11791179
1180 const T = switch (builtin.target.cpu.arch) {1180 const T = switch (builtin.target.cpu.arch) {
1181 .x86_64, .x86 => u32, // Generates better code on Intel CPUs1181 .x86_64, .x86 => u32, // Generates better code on Intel CPUs
1182 .riscv64 => u32, // Work around LLVM miscompiling coefficient extraction with u64 batches https://codeberg.org/ziglang/zig/issues/37128
1182 else => u64, // u128 might be faster on some other CPUs.1183 else => u64, // u128 might be faster on some other CPUs.
1183 };1184 };
11841185
...@@ -1522,8 +1523,6 @@ test "Compression" {...@@ -1522,8 +1523,6 @@ test "Compression" {
1522}1523}
15231524
1524test "noise" {1525test "noise" {
1525 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
1526
1527 var seed: [32]u8 = undefined;1526 var seed: [32]u8 = undefined;
1528 for (&seed, 0..) |*s, i| {1527 for (&seed, 0..) |*s, i| {
1529 s.* = @as(u8, @intCast(i));1528 s.* = @as(u8, @intCast(i));
...@@ -1657,20 +1656,14 @@ test "Test happy flow" {...@@ -1657,20 +1656,14 @@ test "Test happy flow" {
1657// Code to test NIST Known Answer Tests (KAT), see PQCgenKAT.c.1656// Code to test NIST Known Answer Tests (KAT), see PQCgenKAT.c.
16581657
1659test "NIST KAT test d00.Kyber512" {1658test "NIST KAT test d00.Kyber512" {
1660 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
1661
1662 try testNistKat(d00.Kyber512, "e9c2bd37133fcb40772f81559f14b1f58dccd1c816701be9ba6214d43baf4547");1659 try testNistKat(d00.Kyber512, "e9c2bd37133fcb40772f81559f14b1f58dccd1c816701be9ba6214d43baf4547");
1663}1660}
16641661
1665test "NIST KAT test d00.Kyber1024" {1662test "NIST KAT test d00.Kyber1024" {
1666 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
1667
1668 try testNistKat(d00.Kyber1024, "89248f2f33f7f4f7051729111f3049c409a933ec904aedadf035f30fa5646cd5");1663 try testNistKat(d00.Kyber1024, "89248f2f33f7f4f7051729111f3049c409a933ec904aedadf035f30fa5646cd5");
1669}1664}
16701665
1671test "NIST KAT test d00.Kyber768" {1666test "NIST KAT test d00.Kyber768" {
1672 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch.isRiscv64()) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/37128
1673
1674 try testNistKat(d00.Kyber768, "a1e122cad3c24bc51622e4c242d8b8acbcd3f618fee4220400605ca8f9ea02c2");1667 try testNistKat(d00.Kyber768, "a1e122cad3c24bc51622e4c242d8b8acbcd3f618fee4220400605ca8f9ea02c2");
1675}1668}
16761669