| ... | @@ -639,7 +639,6 @@ test "128-bit multiplication" { | ... | @@ -639,7 +639,6 @@ test "128-bit multiplication" { |
| 639 | | 639 | |
| 640 | test "@addWithOverflow" { | 640 | test "@addWithOverflow" { |
| 641 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | 641 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO |
| 642 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO | | |
| 643 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 642 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 644 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 643 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 645 | | 644 | |
| ... | @@ -684,7 +683,6 @@ test "small int addition" { | ... | @@ -684,7 +683,6 @@ test "small int addition" { |
| 684 | | 683 | |
| 685 | test "@mulWithOverflow" { | 684 | test "@mulWithOverflow" { |
| 686 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | 685 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO |
| 687 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO | | |
| 688 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 686 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 689 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 687 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 690 | | 688 | |
| ... | @@ -698,14 +696,16 @@ test "@mulWithOverflow" { | ... | @@ -698,14 +696,16 @@ test "@mulWithOverflow" { |
| 698 | var b: u8 = 2; | 696 | var b: u8 = 2; |
| 699 | try expect(!@mulWithOverflow(u8, a, b, &result)); | 697 | try expect(!@mulWithOverflow(u8, a, b, &result)); |
| 700 | try expect(result == 246); | 698 | try expect(result == 246); |
| 701 | b = 4; | 699 | |
| 702 | try expect(@mulWithOverflow(u8, a, b, &result)); | 700 | if (builtin.zig_backend != .stage2_x86_64) { // TODO fix mul/imul on x86_64 |
| 703 | try expect(result == 236); | 701 | b = 4; |
| | 702 | try expect(@mulWithOverflow(u8, a, b, &result)); |
| | 703 | try expect(result == 236); |
| | 704 | } |
| 704 | } | 705 | } |
| 705 | | 706 | |
| 706 | test "@subWithOverflow" { | 707 | test "@subWithOverflow" { |
| 707 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | 708 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO |
| 708 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO | | |
| 709 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | 709 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO |
| 710 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | 710 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO |
| 711 | | 711 | |
| ... | @@ -747,7 +747,6 @@ test "@shlWithOverflow" { | ... | @@ -747,7 +747,6 @@ test "@shlWithOverflow" { |
| 747 | | 747 | |
| 748 | test "overflow arithmetic with u0 values" { | 748 | test "overflow arithmetic with u0 values" { |
| 749 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO | 749 | if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO |
| 750 | if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO | | |
| 751 | | 750 | |
| 752 | var result: u0 = undefined; | 751 | var result: u0 = undefined; |
| 753 | try expect(!@addWithOverflow(u0, 0, 0, &result)); | 752 | try expect(!@addWithOverflow(u0, 0, 0, &result)); |