mirror of
https://github.com/ziglang/zig.git
synced 2026-02-13 04:48:20 +00:00
wasm: Enable passing behavior tests
This shuffles some tests do ensure the new instructions are tested for the wasm backend, by moving vectors into their own tests as well as move the f16 test cases as those require special operating also.
This commit is contained in:
parent
2c40b37f79
commit
a0a587ff85
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user