authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-09-08 04:14:28+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-09-12 07:28:37+02:00
log5cb9668632525d6658dbf1d07202f8e17e339878
tree49179cb1857c82e4ad361d864f3fc8a265d4005a
parent4fba7336a9038b4abf647caf822f89df717d3cc0

test: Re-enable a bunch of behavior tests with LLVM.

Closes #10627. Closes #12013. Closes #18034.

10 files changed, 2 insertions(+), 78 deletions(-)

test/behavior/align.zig-4
...@@ -582,10 +582,6 @@ test "comptime alloc alignment" {...@@ -582,10 +582,6 @@ test "comptime alloc alignment" {
582 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO582 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
583 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO583 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
584 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // flaky584 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // flaky
585 if (builtin.zig_backend == .stage2_llvm and builtin.target.cpu.arch == .x86) {
586 // https://github.com/ziglang/zig/issues/18034
587 return error.SkipZigTest;
588 }
589585
590 comptime var bytes1 = [_]u8{0};586 comptime var bytes1 = [_]u8{0};
591 _ = &bytes1;587 _ = &bytes1;
test/behavior/atomics.zig-12
...@@ -152,11 +152,6 @@ test "cmpxchg on a global variable" {...@@ -152,11 +152,6 @@ test "cmpxchg on a global variable" {
152 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO152 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
153 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;153 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
154154
155 if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .aarch64) {
156 // https://github.com/ziglang/zig/issues/10627
157 return error.SkipZigTest;
158 }
159
160 _ = @cmpxchgWeak(u32, &a_global_variable, 1234, 42, .acquire, .monotonic);155 _ = @cmpxchgWeak(u32, &a_global_variable, 1234, 42, .acquire, .monotonic);
161 try expect(a_global_variable == 42);156 try expect(a_global_variable == 42);
162}157}
...@@ -202,10 +197,6 @@ test "atomicrmw with floats" {...@@ -202,10 +197,6 @@ test "atomicrmw with floats" {
202 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO197 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
203 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;198 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
204199
205 if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .aarch64) {
206 // https://github.com/ziglang/zig/issues/10627
207 return error.SkipZigTest;
208 }
209 try testAtomicRmwFloat();200 try testAtomicRmwFloat();
210 try comptime testAtomicRmwFloat();201 try comptime testAtomicRmwFloat();
211}202}
...@@ -306,9 +297,6 @@ test "atomicrmw with 128-bit ints" {...@@ -306,9 +297,6 @@ test "atomicrmw with 128-bit ints" {
306297
307 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO298 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
308299
309 // TODO "ld.lld: undefined symbol: __sync_lock_test_and_set_16" on -mcpu x86_64
310 if (builtin.cpu.arch == .x86_64 and builtin.zig_backend == .stage2_llvm) return error.SkipZigTest;
311
312 try testAtomicRmwInt128(.signed);300 try testAtomicRmwInt128(.signed);
313 try testAtomicRmwInt128(.unsigned);301 try testAtomicRmwInt128(.unsigned);
314 try comptime testAtomicRmwInt128(.signed);302 try comptime testAtomicRmwInt128(.signed);
test/behavior/basic.zig-4
...@@ -1426,10 +1426,6 @@ test "allocation and looping over 3-byte integer" {...@@ -1426,10 +1426,6 @@ test "allocation and looping over 3-byte integer" {
1426 return error.SkipZigTest; // TODO1426 return error.SkipZigTest; // TODO
1427 }1427 }
14281428
1429 if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .wasm32) {
1430 return error.SkipZigTest; // TODO
1431 }
1432
1433 try expect(@sizeOf(u24) == 4);1429 try expect(@sizeOf(u24) == 4);
1434 try expect(@sizeOf([1]u24) == 4);1430 try expect(@sizeOf([1]u24) == 4);
1435 try expect(@alignOf(u24) == 4);1431 try expect(@alignOf(u24) == 4);
test/behavior/bitcast.zig-5
...@@ -343,11 +343,6 @@ test "comptime @bitCast packed struct to int and back" {...@@ -343,11 +343,6 @@ test "comptime @bitCast packed struct to int and back" {
343 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;343 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
344 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;344 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
345345
346 if (builtin.zig_backend == .stage2_llvm and native_endian == .big) {
347 // https://github.com/ziglang/zig/issues/13782
348 return error.SkipZigTest;
349 }
350
351 const S = packed struct {346 const S = packed struct {
352 void: void = {},347 void: void = {},
353 uint: u8 = 13,348 uint: u8 = 13,
test/behavior/call.zig+2-4
...@@ -275,8 +275,7 @@ test "forced tail call" {...@@ -275,8 +275,7 @@ test "forced tail call" {
275 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;275 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
276276
277 if (builtin.zig_backend == .stage2_llvm) {277 if (builtin.zig_backend == .stage2_llvm) {
278 // Only attempt this test on targets we know have tail call support in LLVM.278 if (builtin.cpu.arch.isMIPS() or builtin.cpu.arch.isPowerPC() or builtin.cpu.arch.isWasm()) {
279 if (builtin.cpu.arch != .x86_64 and builtin.cpu.arch != .aarch64) {
280 return error.SkipZigTest;279 return error.SkipZigTest;
281 }280 }
282 }281 }
...@@ -311,8 +310,7 @@ test "inline call preserves tail call" {...@@ -311,8 +310,7 @@ test "inline call preserves tail call" {
311 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;310 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
312311
313 if (builtin.zig_backend == .stage2_llvm) {312 if (builtin.zig_backend == .stage2_llvm) {
314 // Only attempt this test on targets we know have tail call support in LLVM.313 if (builtin.cpu.arch.isMIPS() or builtin.cpu.arch.isPowerPC() or builtin.cpu.arch.isWasm()) {
315 if (builtin.cpu.arch != .x86_64 and builtin.cpu.arch != .aarch64) {
316 return error.SkipZigTest;314 return error.SkipZigTest;
317 }315 }
318 }316 }
test/behavior/floatop.zig-10
...@@ -1310,11 +1310,6 @@ test "@trunc f16" {...@@ -1310,11 +1310,6 @@ test "@trunc f16" {
1310 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf and builtin.target.ofmt != .macho) return error.SkipZigTest;1310 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf and builtin.target.ofmt != .macho) return error.SkipZigTest;
1311 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;1311 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
13121312
1313 if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch.isMIPS()) {
1314 // https://github.com/ziglang/zig/issues/16846
1315 return error.SkipZigTest;
1316 }
1317
1318 try testTrunc(f16);1313 try testTrunc(f16);
1319 try comptime testTrunc(f16);1314 try comptime testTrunc(f16);
1320}1315}
...@@ -1326,11 +1321,6 @@ test "@trunc f32/f64" {...@@ -1326,11 +1321,6 @@ test "@trunc f32/f64" {
1326 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf and builtin.target.ofmt != .macho) return error.SkipZigTest;1321 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf and builtin.target.ofmt != .macho) return error.SkipZigTest;
1327 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;1322 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
13281323
1329 if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch.isMIPS()) {
1330 // https://github.com/ziglang/zig/issues/16846
1331 return error.SkipZigTest;
1332 }
1333
1334 try testTrunc(f32);1324 try testTrunc(f32);
1335 try comptime testTrunc(f32);1325 try comptime testTrunc(f32);
1336 try testTrunc(f64);1326 try testTrunc(f64);
test/behavior/math.zig-16
...@@ -194,12 +194,6 @@ test "@ctz vectors" {...@@ -194,12 +194,6 @@ test "@ctz vectors" {
194 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO194 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
195 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;195 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
196196
197 if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .aarch64) {
198 // This regressed with LLVM 14:
199 // https://github.com/ziglang/zig/issues/12013
200 return error.SkipZigTest;
201 }
202
203 try testCtzVectors();197 try testCtzVectors();
204 try comptime testCtzVectors();198 try comptime testCtzVectors();
205}199}
...@@ -478,11 +472,6 @@ test "division" {...@@ -478,11 +472,6 @@ test "division" {
478 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf and builtin.target.ofmt != .macho) return error.SkipZigTest;472 if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf and builtin.target.ofmt != .macho) return error.SkipZigTest;
479 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;473 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
480474
481 if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch.isMIPS()) {
482 // https://github.com/ziglang/zig/issues/16846
483 return error.SkipZigTest;
484 }
485
486 try testIntDivision();475 try testIntDivision();
487 try comptime testIntDivision();476 try comptime testIntDivision();
488477
...@@ -721,11 +710,6 @@ test "unsigned 64-bit division" {...@@ -721,11 +710,6 @@ test "unsigned 64-bit division" {
721 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO710 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
722 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO711 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
723712
724 if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch.isMIPS()) {
725 // https://github.com/ziglang/zig/issues/16846
726 return error.SkipZigTest;
727 }
728
729 try test_u64_div();713 try test_u64_div();
730 try comptime test_u64_div();714 try comptime test_u64_div();
731}715}
test/behavior/shuffle.zig-5
...@@ -170,11 +170,6 @@ test "@shuffle bool 2" {...@@ -170,11 +170,6 @@ test "@shuffle bool 2" {
170 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO170 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
171 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;171 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
172172
173 if (builtin.zig_backend == .stage2_llvm) {
174 // https://github.com/ziglang/zig/issues/3246
175 return error.SkipZigTest;
176 }
177
178 const S = struct {173 const S = struct {
179 fn doTheTest() !void {174 fn doTheTest() !void {
180 var x: @Vector(3, bool) = [3]bool{ false, true, false };175 var x: @Vector(3, bool) = [3]bool{ false, true, false };
test/behavior/threadlocal.zig-12
...@@ -6,10 +6,6 @@ test "thread local variable" {...@@ -6,10 +6,6 @@ test "thread local variable" {
6 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO6 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
7 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO7 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
8 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO8 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
9 if (builtin.zig_backend == .stage2_llvm) switch (builtin.cpu.arch) {
10 .x86_64, .x86 => {},
11 else => return error.SkipZigTest,
12 }; // TODO
13 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO9 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1410
15 if (builtin.zig_backend == .stage2_x86_64 and builtin.os.tag == .macos) {11 if (builtin.zig_backend == .stage2_x86_64 and builtin.os.tag == .macos) {
...@@ -28,10 +24,6 @@ test "pointer to thread local array" {...@@ -28,10 +24,6 @@ test "pointer to thread local array" {
28 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO24 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
29 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO25 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
30 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO26 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
31 if (builtin.zig_backend == .stage2_llvm) switch (builtin.cpu.arch) {
32 .x86_64, .x86 => {},
33 else => return error.SkipZigTest,
34 }; // TODO
35 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO27 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
3628
37 const s = "Hello world";29 const s = "Hello world";
...@@ -45,10 +37,6 @@ test "reference a global threadlocal variable" {...@@ -45,10 +37,6 @@ test "reference a global threadlocal variable" {
45 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO37 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
46 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO38 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
47 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO39 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
48 if (builtin.zig_backend == .stage2_llvm) switch (builtin.cpu.arch) {
49 .x86_64, .x86 => {},
50 else => return error.SkipZigTest,
51 }; // TODO
52 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO40 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
5341
54 _ = nrfx_uart_rx(&g_uart0);42 _ = nrfx_uart_rx(&g_uart0);
test/behavior/vector.zig-6
...@@ -557,7 +557,6 @@ test "vector division operators" {...@@ -557,7 +557,6 @@ test "vector division operators" {
557 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO557 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
558 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO558 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
559 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO559 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
560 if (builtin.zig_backend == .stage2_llvm and comptime builtin.cpu.arch.isArmOrThumb()) return error.SkipZigTest;
561 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO560 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
562 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;561 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
563562
...@@ -1571,11 +1570,6 @@ test "@reduce on bool vector" {...@@ -1571,11 +1570,6 @@ test "@reduce on bool vector" {
1571 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO1570 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
1572 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1571 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
15731572
1574 if (comptime builtin.zig_backend == .stage2_llvm and builtin.cpu.arch.endian() == .big) {
1575 // https://github.com/ziglang/zig/issues/13782
1576 return error.SkipZigTest;
1577 }
1578
1579 const a = @Vector(2, bool){ true, true };1573 const a = @Vector(2, bool){ true, true };
1580 const b = @Vector(1, bool){true};1574 const b = @Vector(1, bool){true};
1581 try std.testing.expect(@reduce(.And, a));1575 try std.testing.expect(@reduce(.And, a));