authorgravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2023-04-24 02:26:37-04:00
committergravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2023-04-26 19:05:17-04:00
log894406b9d3fec68d5390cb6b52a656aae534eeb1
tree3c65a49048c575a0e355baa3bcac8e1ee57942d7
parent1f18b53589bc96c812ba2ca022356122e91bbd27

behavior: update passing cbe tests


15 files changed, 33 insertions(+), 24 deletions(-)

lib/test_runner.zig+20-4
......@@ -233,14 +233,30 @@ pub fn log(
233233/// Simpler main(), exercising fewer language features, so that
234234/// work-in-progress backends can handle it.
235235pub fn mainSimple() anyerror!void {
236 //const stderr = std.io.getStdErr();
236 const enable_print = false;
237
238 var passed: u64 = 0;
239 var skipped: u64 = 0;
240 var failed: u64 = 0;
241 const stderr = if (enable_print) std.io.getStdErr() else {};
237242 for (builtin.test_functions) |test_fn| {
238243 test_fn.func() catch |err| {
244 if (enable_print) stderr.writeAll(test_fn.name) catch {};
239245 if (err != error.SkipZigTest) {
240 //stderr.writeAll(test_fn.name) catch {};
241 //stderr.writeAll("\n") catch {};
242 return err;
246 if (enable_print) stderr.writeAll("... FAIL\n") catch {};
247 failed += 1;
248 if (!enable_print) return err;
249 continue;
243250 }
251 if (enable_print) stderr.writeAll("... SKIP\n") catch {};
252 skipped += 1;
253 continue;
244254 };
255 //if (enable_print) stderr.writeAll("... PASS\n") catch {};
256 passed += 1;
257 }
258 if (enable_print) {
259 stderr.writer().print("{} passed, {} skipped, {} failed\n", .{ passed, skipped, failed }) catch {};
260 if (failed != 0) std.process.exit(1);
245261 }
246262}
src/arch/x86_64/Encoding.zig+1-1
......@@ -89,7 +89,7 @@ pub fn findByOpcode(opc: []const u8, prefixes: struct {
8989 if (!std.mem.eql(u8, opc, enc.opcode())) continue;
9090 if (prefixes.rex.w) {
9191 switch (data.mode) {
92 .short, .fpu, .sse, .sse2, .sse2_long, .sse4_1, .none => continue,
92 .short, .fpu, .sse, .sse2, .sse4_1, .none => continue,
9393 .long, .sse2_long, .rex => {},
9494 }
9595 } else if (prefixes.rex.present and !prefixes.rex.isSet()) {
test/behavior/align.zig+4-1
......@@ -491,7 +491,10 @@ test "read 128-bit field from default aligned struct in global memory" {
491491}
492492
493493test "struct field explicit alignment" {
494 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
494 if (builtin.zig_backend == .stage2_x86_64) {
495 // Careful enabling this test, fails randomly.
496 return error.SkipZigTest;
497 }
495498 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
496499 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
497500 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
test/behavior/basic.zig-1
......@@ -785,7 +785,6 @@ fn manyptrConcat(comptime s: [*:0]const u8) [*:0]const u8 {
785785test "comptime manyptr concatenation" {
786786 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
787787 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
788 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
789788 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
790789
791790 const s = "epic";
test/behavior/bugs/12571.zig-1
......@@ -12,7 +12,6 @@ const Entry = packed struct {
1212};
1313
1414test {
15 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
1615 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1716 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1817
test/behavior/bugs/12776.zig+4-1
......@@ -32,7 +32,10 @@ test {
3232 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
3333 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
3434 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest;
35 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
35 if (builtin.zig_backend == .stage2_x86_64) {
36 // Careful enabling this test, fails randomly.
37 return error.SkipZigTest;
38 }
3639
3740 var ram = try RAM.new();
3841 var cpu = try CPU.new(&ram);
test/behavior/bugs/13069.zig-1
......@@ -4,7 +4,6 @@ const expect = std.testing.expect;
44
55test {
66 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
7 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
87 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
98 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
109
test/behavior/eval.zig-1
......@@ -532,7 +532,6 @@ test "@tagName of @typeInfo" {
532532}
533533
534534test "static eval list init" {
535 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
536535 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
537536 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
538537 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
test/behavior/fn.zig-2
......@@ -335,7 +335,6 @@ fn numberLiteralArg(a: anytype) !void {
335335}
336336
337337test "function call with anon list literal" {
338 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
339338 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
340339 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
341340 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
......@@ -356,7 +355,6 @@ test "function call with anon list literal" {
356355}
357356
358357test "function call with anon list literal - 2D" {
359 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
360358 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
361359 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
362360 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
test/behavior/math.zig-2
......@@ -734,7 +734,6 @@ test "small int addition" {
734734test "basic @mulWithOverflow" {
735735 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
736736 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
737 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
738737
739738 {
740739 var a: u8 = 86;
......@@ -1126,7 +1125,6 @@ test "allow signed integer division/remainder when values are comptime-known and
11261125
11271126test "quad hex float literal parsing accurate" {
11281127 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
1129 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
11301128 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
11311129 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
11321130 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
test/behavior/packed-struct.zig-2
......@@ -232,7 +232,6 @@ test "nested packed structs" {
232232}
233233
234234test "regular in irregular packed struct" {
235 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
236235 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
237236 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
238237 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
......@@ -621,7 +620,6 @@ test "store undefined to packed result location" {
621620 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
622621 if (builtin.zig_backend == .stage2_llvm) return error.SkipZigTest;
623622 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
624 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
625623
626624 var x: u4 = 0;
627625 var s = packed struct { x: u4, y: u4 }{ .x = x, .y = if (x > 0) x else undefined };
test/behavior/pointers.zig-1
......@@ -343,7 +343,6 @@ test "pointer sentinel with optional element" {
343343test "pointer sentinel with +inf" {
344344 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
345345 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
346 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
347346 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
348347 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
349348
test/behavior/popcount.zig-1
......@@ -4,7 +4,6 @@ const expect = std.testing.expect;
44const expectEqual = std.testing.expectEqual;
55
66test "@popCount integers" {
7 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
87 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
98 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
109 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
test/behavior/union.zig-1
......@@ -26,7 +26,6 @@ fn setFloat(foo: *FooWithFloats, x: f64) void {
2626}
2727
2828test "init union with runtime value - floats" {
29 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
3029 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
3130 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
3231 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
test/behavior/vector.zig+4-4
......@@ -318,7 +318,6 @@ test "vector @splat" {
318318}
319319
320320test "load vector elements via comptime index" {
321 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
322321 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
323322 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
324323 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
......@@ -340,7 +339,6 @@ test "load vector elements via comptime index" {
340339}
341340
342341test "store vector elements via comptime index" {
343 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
344342 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
345343 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
346344 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
......@@ -368,7 +366,6 @@ test "store vector elements via comptime index" {
368366}
369367
370368test "load vector elements via runtime index" {
371 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
372369 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
373370 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
374371 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
......@@ -390,7 +387,6 @@ test "load vector elements via runtime index" {
390387}
391388
392389test "store vector elements via runtime index" {
393 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
394390 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
395391 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
396392 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
......@@ -1100,6 +1096,7 @@ test "loading the second vector from a slice of vectors" {
11001096 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
11011097 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
11021098 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1099 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
11031100
11041101 @setRuntimeSafety(false);
11051102 var small_bases = [2]@Vector(2, u8){
......@@ -1200,6 +1197,7 @@ test "zero multiplicand" {
12001197 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
12011198 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
12021199 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1200 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
12031201
12041202 const zeros = @Vector(2, u32){ 0.0, 0.0 };
12051203 var ones = @Vector(2, u32){ 1.0, 1.0 };
......@@ -1259,6 +1257,7 @@ test "load packed vector element" {
12591257 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
12601258 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
12611259 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
1260 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
12621261
12631262 var x: @Vector(2, u15) = .{ 1, 4 };
12641263 try expect((&x[0]).* == 1);
......@@ -1297,6 +1296,7 @@ test "store to vector in slice" {
12971296test "addition of vectors represented as strings" {
12981297 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
12991298 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1299 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
13001300
13011301 const V = @Vector(3, u8);
13021302 const foo: V = "foo".*;