diff --git a/lib/std/fmt/parse_float.zig b/lib/std/fmt/parse_float.zig index b84b22272156..427ac727c9fb 100644 --- a/lib/std/fmt/parse_float.zig +++ b/lib/std/fmt/parse_float.zig @@ -70,6 +70,11 @@ test "fmt.parseFloat" { } test "fmt.parseFloat nan and inf" { + if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .aarch64) { + // https://github.com/ziglang/zig/issues/12027 + return error.SkipZigTest; + } + inline for ([_]type{ f16, f32, f64, f128 }) |T| { const Z = std.meta.Int(.unsigned, @typeInfo(T).Float.bits); diff --git a/lib/std/math.zig b/lib/std/math.zig index d27e4761942c..00f86fab1b3f 100644 --- a/lib/std/math.zig +++ b/lib/std/math.zig @@ -530,6 +530,10 @@ pub fn shl(comptime T: type, a: T, shift_amt: anytype) T { } test "shl" { + if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .aarch64) { + // https://github.com/ziglang/zig/issues/12012 + return error.SkipZigTest; + } try testing.expect(shl(u8, 0b11111111, @as(usize, 3)) == 0b11111000); try testing.expect(shl(u8, 0b11111111, @as(usize, 8)) == 0); try testing.expect(shl(u8, 0b11111111, @as(usize, 9)) == 0); @@ -570,6 +574,10 @@ pub fn shr(comptime T: type, a: T, shift_amt: anytype) T { } test "shr" { + if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .aarch64) { + // https://github.com/ziglang/zig/issues/12012 + return error.SkipZigTest; + } try testing.expect(shr(u8, 0b11111111, @as(usize, 3)) == 0b00011111); try testing.expect(shr(u8, 0b11111111, @as(usize, 8)) == 0); try testing.expect(shr(u8, 0b11111111, @as(usize, 9)) == 0); @@ -611,6 +619,10 @@ pub fn rotr(comptime T: type, x: T, r: anytype) T { } test "rotr" { + if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .aarch64) { + // https://github.com/ziglang/zig/issues/12012 + return error.SkipZigTest; + } try testing.expect(rotr(u0, 0b0, @as(usize, 3)) == 0b0); try testing.expect(rotr(u5, 0b00001, @as(usize, 0)) == 0b00001); try testing.expect(rotr(u6, 0b000001, @as(usize, 7)) == 0b100000); @@ -651,6 +663,10 @@ pub fn rotl(comptime T: type, x: T, r: anytype) T { } test "rotl" { + if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .aarch64) { + // https://github.com/ziglang/zig/issues/12012 + return error.SkipZigTest; + } try testing.expect(rotl(u0, 0b0, @as(usize, 3)) == 0b0); try testing.expect(rotl(u5, 0b00001, @as(usize, 0)) == 0b00001); try testing.expect(rotl(u6, 0b000001, @as(usize, 7)) == 0b000010); diff --git a/lib/std/simd.zig b/lib/std/simd.zig index 2179cb496e26..95de3cc11cab 100644 --- a/lib/std/simd.zig +++ b/lib/std/simd.zig @@ -191,6 +191,10 @@ pub fn extract( } test "vector patterns" { + if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .aarch64) { + // https://github.com/ziglang/zig/issues/12012 + return error.SkipZigTest; + } const base = @Vector(4, u32){ 10, 20, 30, 40 }; const other_base = @Vector(4, u32){ 55, 66, 77, 88 }; diff --git a/test/behavior/atomics.zig b/test/behavior/atomics.zig index ff15aa8dc021..094be62bc714 100644 --- a/test/behavior/atomics.zig +++ b/test/behavior/atomics.zig @@ -151,6 +151,11 @@ test "cmpxchg on a global variable" { if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .aarch64) { + // https://github.com/ziglang/zig/issues/10627 + return error.SkipZigTest; + } + _ = @cmpxchgWeak(u32, &a_global_variable, 1234, 42, .Acquire, .Monotonic); try expect(a_global_variable == 42); } @@ -213,6 +218,12 @@ test "atomicrmw with floats" { if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO + if ((builtin.zig_backend == .stage2_llvm or builtin.zig_backend == .stage2_c) and + builtin.cpu.arch == .aarch64) + { + // https://github.com/ziglang/zig/issues/10627 + return error.SkipZigTest; + } try testAtomicRmwFloat(); comptime try testAtomicRmwFloat(); } diff --git a/test/behavior/math.zig b/test/behavior/math.zig index db032b1983b5..d6955b05927c 100644 --- a/test/behavior/math.zig +++ b/test/behavior/math.zig @@ -166,6 +166,12 @@ test "@ctz vectors" { if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .aarch64) { + // This regressed with LLVM 14: + // https://github.com/ziglang/zig/issues/12013 + return error.SkipZigTest; + } + try testCtzVectors(); comptime try testCtzVectors(); } diff --git a/test/behavior/vector.zig b/test/behavior/vector.zig index cf23430f4fed..ba3d98ee567b 100644 --- a/test/behavior/vector.zig +++ b/test/behavior/vector.zig @@ -181,6 +181,12 @@ test "tuple to vector" { if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .aarch64) { + // Regressed with LLVM 14: + // https://github.com/ziglang/zig/issues/12012 + return error.SkipZigTest; + } + const S = struct { fn doTheTest() !void { const Vec3 = @Vector(3, i32);