diff --git a/test/behavior/floatop.zig b/test/behavior/floatop.zig index 6d8c33efa2..0700b47c61 100644 --- a/test/behavior/floatop.zig +++ b/test/behavior/floatop.zig @@ -544,6 +544,7 @@ fn testTrunc() !void { } test "negation f16" { + if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO 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_arm) return error.SkipZigTest; // TODO diff --git a/test/behavior/math.zig b/test/behavior/math.zig index 00728b13a4..32945e452d 100644 --- a/test/behavior/math.zig +++ b/test/behavior/math.zig @@ -60,7 +60,6 @@ fn assertFalse(b: bool) !void { } test "@clz" { - if (builtin.zig_backend == .stage2_wasm) 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 @@ -137,7 +136,6 @@ fn expectVectorsEqual(a: anytype, b: anytype) !void { } test "@ctz" { - if (builtin.zig_backend == .stage2_wasm) 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 diff --git a/test/behavior/maximum_minimum.zig b/test/behavior/maximum_minimum.zig index 3d1b689db2..b3b8ee25c5 100644 --- a/test/behavior/maximum_minimum.zig +++ b/test/behavior/maximum_minimum.zig @@ -5,6 +5,24 @@ const expect = std.testing.expect; const expectEqual = std.testing.expectEqual; test "@maximum" { + if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO + + const S = struct { + fn doTheTest() !void { + var x: i32 = 10; + var y: f32 = 0.68; + try expect(@as(i32, 10) == @maximum(@as(i32, -3), x)); + try expect(@as(f32, 3.2) == @maximum(@as(f32, 3.2), y)); + } + }; + try S.doTheTest(); + comptime try S.doTheTest(); +} + +test "@maximum on vectors" { if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO @@ -13,9 +31,6 @@ test "@maximum" { const S = struct { fn doTheTest() !void { - try expect(@as(i32, 10) == @maximum(@as(i32, -3), @as(i32, 10))); - try expect(@as(f32, 3.2) == @maximum(@as(f32, 3.2), @as(f32, 0.68))); - var a: @Vector(4, i32) = [4]i32{ 2147483647, -2, 30, 40 }; var b: @Vector(4, i32) = [4]i32{ 1, 2147483647, 3, 4 }; var x = @maximum(a, b); @@ -37,6 +52,24 @@ test "@maximum" { } test "@minimum" { + 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 + if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO + + const S = struct { + fn doTheTest() !void { + var x: i32 = 10; + var y: f32 = 0.68; + try expect(@as(i32, -3) == @minimum(@as(i32, -3), x)); + try expect(@as(f32, 0.68) == @minimum(@as(f32, 3.2), y)); + } + }; + try S.doTheTest(); + comptime try S.doTheTest(); +} + +test "@minimum for vectors" { if (builtin.zig_backend == .stage2_wasm) 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 @@ -45,9 +78,6 @@ test "@minimum" { const S = struct { fn doTheTest() !void { - try expect(@as(i32, -3) == @minimum(@as(i32, -3), @as(i32, 10))); - try expect(@as(f32, 0.68) == @minimum(@as(f32, 3.2), @as(f32, 0.68))); - var a: @Vector(4, i32) = [4]i32{ 2147483647, -2, 30, 40 }; var b: @Vector(4, i32) = [4]i32{ 1, 2147483647, 3, 4 }; var x = @minimum(a, b); diff --git a/test/behavior/muladd.zig b/test/behavior/muladd.zig index 88e1769866..a7e7c3b816 100644 --- a/test/behavior/muladd.zig +++ b/test/behavior/muladd.zig @@ -3,7 +3,6 @@ const expect = @import("std").testing.expect; test "@mulAdd" { if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO - if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO @@ -13,12 +12,6 @@ test "@mulAdd" { } fn testMulAdd() !void { - { - var a: f16 = 5.5; - var b: f16 = 2.5; - var c: f16 = 6.25; - try expect(@mulAdd(f16, a, b, c) == 20); - } { var a: f32 = 5.5; var b: f32 = 2.5; @@ -33,6 +26,23 @@ fn testMulAdd() !void { } } +test "@mulAdd f16" { + if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO + 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_arm) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO + comptime try testMulAdd16(); + try testMulAdd16(); +} + +fn testMulAdd16() !void { + var a: f16 = 5.5; + var b: f16 = 2.5; + var c: f16 = 6.25; + try expect(@mulAdd(f16, a, b, c) == 20); +} + test "@mulAdd f80" { if (true) { // https://github.com/ziglang/zig/issues/11030