aboutsummaryrefslogtreecommitdiff
path: root/test/behavior/math.zig
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2022-03-28 17:45:50 +0200
committerJakub Konka <kubkon@jakubkonka.com>2022-03-28 17:45:50 +0200
commite6729036e44af2a52c52ce9f1f99e01d1e642cf3 (patch)
treededc9ad09cc815f11a4ca72f31c43caef240ed3e /test/behavior/math.zig
parent107052aded5dc1666c687838e8e2995654f17a45 (diff)
downloadzig-e6729036e44af2a52c52ce9f1f99e01d1e642cf3.tar.gz
zig-e6729036e44af2a52c52ce9f1f99e01d1e642cf3.zip
x64: partially fix genImul, enable overflow tests
Diffstat (limited to 'test/behavior/math.zig')
-rw-r--r--test/behavior/math.zig13
1 files changed, 6 insertions, 7 deletions
diff --git a/test/behavior/math.zig b/test/behavior/math.zig
index 3abbece353..314d52be66 100644
--- a/test/behavior/math.zig
+++ b/test/behavior/math.zig
@@ -639,7 +639,6 @@ test "128-bit multiplication" {
test "@addWithOverflow" {
if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
- if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
@@ -684,7 +683,6 @@ test "small int addition" {
test "@mulWithOverflow" {
if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
- if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
@@ -698,14 +696,16 @@ test "@mulWithOverflow" {
var b: u8 = 2;
try expect(!@mulWithOverflow(u8, a, b, &result));
try expect(result == 246);
- b = 4;
- try expect(@mulWithOverflow(u8, a, b, &result));
- try expect(result == 236);
+
+ if (builtin.zig_backend != .stage2_x86_64) { // TODO fix mul/imul on x86_64
+ b = 4;
+ try expect(@mulWithOverflow(u8, a, b, &result));
+ try expect(result == 236);
+ }
}
test "@subWithOverflow" {
if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
- if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
@@ -747,7 +747,6 @@ test "@shlWithOverflow" {
test "overflow arithmetic with u0 values" {
if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
- if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
var result: u0 = undefined;
try expect(!@addWithOverflow(u0, 0, 0, &result));