From 5ca1753ff175379c7847ae82243774c79a75879c Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Tue, 27 Dec 2022 20:47:51 -0700 Subject: [PATCH] Revert "aarch64: reenable tests that are no longer regressed" This reverts commit 3370d58956ecc744a004dff47b0437473f0ef7da. This commit was done with an LLVM build that did not have assertions enabled. There are LLVM assertions being triggered due to this commit. Reopens #10627 Reopens #12013 Reopens #12027 --- lib/std/fmt/parse_float.zig | 5 +++++ lib/std/math.zig | 16 ++++++++++++++++ lib/std/simd.zig | 4 ++++ test/behavior/atomics.zig | 11 +++++++++++ test/behavior/math.zig | 6 ++++++ test/behavior/vector.zig | 6 ++++++ 6 files changed, 48 insertions(+) diff --git a/lib/std/fmt/parse_float.zig b/lib/std/fmt/parse_float.zig index b84b222721..427ac727c9 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 d27e476194..00f86fab1b 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 2179cb496e..95de3cc11c 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 ff15aa8dc0..094be62bc7 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 db032b1983..d6955b0592 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 cf23430f4f..ba3d98ee56 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);