| ... | ... | @@ -21,11 +21,6 @@ const linux_riscv64 = std.zig.CrossTarget{ |
| 21 | 21 | .os_tag = .linux, |
| 22 | 22 | }; |
| 23 | 23 | |
| 24 | | const linux_arm = std.zig.CrossTarget{ |
| 25 | | .cpu_arch = .arm, |
| 26 | | .os_tag = .linux, |
| 27 | | }; |
| 28 | | |
| 29 | 24 | const wasi = std.zig.CrossTarget{ |
| 30 | 25 | .cpu_arch = .wasm32, |
| 31 | 26 | .os_tag = .wasi, |
| ... | ... | @@ -35,6 +30,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 35 | 30 | try @import("zir.zig").addCases(ctx); |
| 36 | 31 | try @import("cbe.zig").addCases(ctx); |
| 37 | 32 | try @import("spu-ii.zig").addCases(ctx); |
| 33 | try @import("arm.zig").addCases(ctx); |
| 38 | 34 | |
| 39 | 35 | { |
| 40 | 36 | var case = ctx.exe("hello world with updates", linux_x64); |
| ... | ... | @@ -76,7 +72,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 76 | 72 | \\ ); |
| 77 | 73 | \\ unreachable; |
| 78 | 74 | \\} |
| 79 | | , |
| 75 | , |
| 80 | 76 | "Hello, World!\n", |
| 81 | 77 | ); |
| 82 | 78 | // Now change the message only |
| ... | ... | @@ -108,7 +104,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 108 | 104 | \\ ); |
| 109 | 105 | \\ unreachable; |
| 110 | 106 | \\} |
| 111 | | , |
| 107 | , |
| 112 | 108 | "What is up? This is a longer message that will force the data to be relocated in virtual address space.\n", |
| 113 | 109 | ); |
| 114 | 110 | // Now we print it twice. |
| ... | ... | @@ -184,42 +180,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 184 | 180 | \\ ); |
| 185 | 181 | \\ unreachable; |
| 186 | 182 | \\} |
| 187 | | , |
| 188 | | "Hello, World!\n", |
| 189 | | ); |
| 190 | | } |
| 191 | | |
| 192 | | { |
| 193 | | var case = ctx.exe("hello world", linux_arm); |
| 194 | | // Regular old hello world |
| 195 | | case.addCompareOutput( |
| 196 | | \\export fn _start() noreturn { |
| 197 | | \\ print(); |
| 198 | | \\ exit(); |
| 199 | | \\} |
| 200 | | \\ |
| 201 | | \\fn print() void { |
| 202 | | \\ asm volatile ("svc #0" |
| 203 | | \\ : |
| 204 | | \\ : [number] "{r7}" (4), |
| 205 | | \\ [arg1] "{r0}" (1), |
| 206 | | \\ [arg2] "{r1}" (@ptrToInt("Hello, World!\n")), |
| 207 | | \\ [arg3] "{r2}" (14) |
| 208 | | \\ : "memory" |
| 209 | | \\ ); |
| 210 | | \\ return; |
| 211 | | \\} |
| 212 | | \\ |
| 213 | | \\fn exit() noreturn { |
| 214 | | \\ asm volatile ("svc #0" |
| 215 | | \\ : |
| 216 | | \\ : [number] "{r7}" (1), |
| 217 | | \\ [arg1] "{r0}" (0) |
| 218 | | \\ : "memory" |
| 219 | | \\ ); |
| 220 | | \\ unreachable; |
| 221 | | \\} |
| 222 | | , |
| 183 | , |
| 223 | 184 | "Hello, World!\n", |
| 224 | 185 | ); |
| 225 | 186 | } |
| ... | ... | @@ -244,7 +205,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 244 | 205 | \\ ); |
| 245 | 206 | \\ unreachable; |
| 246 | 207 | \\} |
| 247 | | , |
| 208 | , |
| 248 | 209 | "Hello, World!\n", |
| 249 | 210 | ); |
| 250 | 211 | } |
| ... | ... | @@ -271,7 +232,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 271 | 232 | \\ ); |
| 272 | 233 | \\ unreachable; |
| 273 | 234 | \\} |
| 274 | | , |
| 235 | , |
| 275 | 236 | "", |
| 276 | 237 | ); |
| 277 | 238 | } |
| ... | ... | @@ -298,7 +259,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 298 | 259 | \\ ); |
| 299 | 260 | \\ unreachable; |
| 300 | 261 | \\} |
| 301 | | , |
| 262 | , |
| 302 | 263 | "", |
| 303 | 264 | ); |
| 304 | 265 | } |
| ... | ... | @@ -329,7 +290,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 329 | 290 | \\ ); |
| 330 | 291 | \\ unreachable; |
| 331 | 292 | \\} |
| 332 | | , |
| 293 | , |
| 333 | 294 | "", |
| 334 | 295 | ); |
| 335 | 296 | |
| ... | ... | @@ -362,7 +323,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 362 | 323 | \\ ); |
| 363 | 324 | \\ unreachable; |
| 364 | 325 | \\} |
| 365 | | , |
| 326 | , |
| 366 | 327 | "", |
| 367 | 328 | ); |
| 368 | 329 | |
| ... | ... | @@ -398,7 +359,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 398 | 359 | \\ ); |
| 399 | 360 | \\ unreachable; |
| 400 | 361 | \\} |
| 401 | | , |
| 362 | , |
| 402 | 363 | "", |
| 403 | 364 | ); |
| 404 | 365 | |
| ... | ... | @@ -435,7 +396,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 435 | 396 | \\ ); |
| 436 | 397 | \\ unreachable; |
| 437 | 398 | \\} |
| 438 | | , |
| 399 | , |
| 439 | 400 | "", |
| 440 | 401 | ); |
| 441 | 402 | |
| ... | ... | @@ -465,7 +426,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 465 | 426 | \\ ); |
| 466 | 427 | \\ unreachable; |
| 467 | 428 | \\} |
| 468 | | , |
| 429 | , |
| 469 | 430 | "", |
| 470 | 431 | ); |
| 471 | 432 | |
| ... | ... | @@ -499,7 +460,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 499 | 460 | \\ ); |
| 500 | 461 | \\ unreachable; |
| 501 | 462 | \\} |
| 502 | | , |
| 463 | , |
| 503 | 464 | "", |
| 504 | 465 | ); |
| 505 | 466 | |
| ... | ... | @@ -523,7 +484,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 523 | 484 | \\ ); |
| 524 | 485 | \\ unreachable; |
| 525 | 486 | \\} |
| 526 | | , |
| 487 | , |
| 527 | 488 | "", |
| 528 | 489 | ); |
| 529 | 490 | |
| ... | ... | @@ -562,7 +523,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 562 | 523 | \\ ); |
| 563 | 524 | \\ unreachable; |
| 564 | 525 | \\} |
| 565 | | , |
| 526 | , |
| 566 | 527 | "hello\nhello\nhello\nhello\n", |
| 567 | 528 | ); |
| 568 | 529 | |
| ... | ... | @@ -599,7 +560,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 599 | 560 | \\ ); |
| 600 | 561 | \\ unreachable; |
| 601 | 562 | \\} |
| 602 | | , |
| 563 | , |
| 603 | 564 | "", |
| 604 | 565 | ); |
| 605 | 566 | |
| ... | ... | @@ -641,7 +602,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 641 | 602 | \\ ); |
| 642 | 603 | \\ unreachable; |
| 643 | 604 | \\} |
| 644 | | , |
| 605 | , |
| 645 | 606 | "", |
| 646 | 607 | ); |
| 647 | 608 | |
| ... | ... | @@ -693,7 +654,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 693 | 654 | \\ ); |
| 694 | 655 | \\ unreachable; |
| 695 | 656 | \\} |
| 696 | | , |
| 657 | , |
| 697 | 658 | "", |
| 698 | 659 | ); |
| 699 | 660 | |
| ... | ... | @@ -755,7 +716,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 755 | 716 | \\ ); |
| 756 | 717 | \\ unreachable; |
| 757 | 718 | \\} |
| 758 | | , |
| 719 | , |
| 759 | 720 | "", |
| 760 | 721 | ); |
| 761 | 722 | |
| ... | ... | @@ -788,7 +749,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 788 | 749 | \\ ); |
| 789 | 750 | \\ unreachable; |
| 790 | 751 | \\} |
| 791 | | , |
| 752 | , |
| 792 | 753 | "", |
| 793 | 754 | ); |
| 794 | 755 | |
| ... | ... | @@ -820,7 +781,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 820 | 781 | \\ ); |
| 821 | 782 | \\ unreachable; |
| 822 | 783 | \\} |
| 823 | | , |
| 784 | , |
| 824 | 785 | "", |
| 825 | 786 | ); |
| 826 | 787 | |
| ... | ... | @@ -845,7 +806,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 845 | 806 | \\ ); |
| 846 | 807 | \\ unreachable; |
| 847 | 808 | \\} |
| 848 | | , |
| 809 | , |
| 849 | 810 | "", |
| 850 | 811 | ); |
| 851 | 812 | |
| ... | ... | @@ -871,7 +832,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 871 | 832 | \\ ); |
| 872 | 833 | \\ unreachable; |
| 873 | 834 | \\} |
| 874 | | , |
| 835 | , |
| 875 | 836 | "", |
| 876 | 837 | ); |
| 877 | 838 | |
| ... | ... | @@ -904,7 +865,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 904 | 865 | \\ ); |
| 905 | 866 | \\ unreachable; |
| 906 | 867 | \\} |
| 907 | | , |
| 868 | , |
| 908 | 869 | "hello\nhello\nhello\nhello\nhello\n", |
| 909 | 870 | ); |
| 910 | 871 | } |
| ... | ... | @@ -923,7 +884,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 923 | 884 | \\ bar(); |
| 924 | 885 | \\} |
| 925 | 886 | \\fn bar() void {} |
| 926 | | , |
| 887 | , |
| 927 | 888 | "42\n", |
| 928 | 889 | ); |
| 929 | 890 | |
| ... | ... | @@ -941,7 +902,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 941 | 902 | \\ bar(); |
| 942 | 903 | \\} |
| 943 | 904 | \\fn bar() void {} |
| 944 | | , |
| 905 | , |
| 945 | 906 | "42\n", |
| 946 | 907 | ); |
| 947 | 908 | |
| ... | ... | @@ -957,10 +918,10 @@ pub fn addCases(ctx: *TestContext) !void { |
| 957 | 918 | \\ bar(); |
| 958 | 919 | \\} |
| 959 | 920 | \\fn bar() void {} |
| 960 | | , |
| 961 | | // This is what you get when you take the bits of the IEE-754 |
| 962 | | // representation of 42.0 and reinterpret them as an unsigned |
| 963 | | // integer. Guess that's a bug in wasmtime. |
| 921 | , |
| 922 | // This is what you get when you take the bits of the IEE-754 |
| 923 | // representation of 42.0 and reinterpret them as an unsigned |
| 924 | // integer. Guess that's a bug in wasmtime. |
| 964 | 925 | "1109917696\n", |
| 965 | 926 | ); |
| 966 | 927 | } |