diff --git a/lib/std/atomic/Atomic.zig b/lib/std/atomic/Atomic.zig index 57866d21d6..6d5a0fe4fc 100644 --- a/lib/std/atomic/Atomic.zig +++ b/lib/std/atomic/Atomic.zig @@ -374,6 +374,10 @@ const atomic_rmw_orderings = [_]Ordering{ }; test "Atomic.swap" { + // TODO: Re-enable when LLVM is released with a bugfix for isel of + // atomic load (currently fixed on trunk, broken on 15.0.2) + if (builtin.cpu.arch == .powerpc64le) return error.SkipZigTest; + inline for (atomic_rmw_orderings) |ordering| { var x = Atomic(usize).init(5); try testing.expectEqual(x.swap(10, ordering), 5); diff --git a/test/tests.zig b/test/tests.zig index 53e58156a4..aef549d4f9 100644 --- a/test/tests.zig +++ b/test/tests.zig @@ -315,6 +315,30 @@ const test_targets = blk: { // .link_libc = true, //}, + .{ + .target = .{ + .cpu_arch = .powerpc64le, + .os_tag = .linux, + .abi = .none, + }, + }, + .{ + .target = .{ + .cpu_arch = .powerpc64le, + .os_tag = .linux, + .abi = .musl, + }, + .link_libc = true, + }, + .{ + .target = .{ + .cpu_arch = .powerpc64le, + .os_tag = .linux, + .abi = .gnu, + }, + .link_libc = true, + }, + .{ .target = .{ .cpu_arch = .riscv64,