zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 382aa48f044ff87d50e1c185a12173be562275f2 (tree)
parent 0a5c088ecc2fbe4db5cae1cc5cf62eeba340375d
Author: Alex Rønne Petersen <alex@alexrp.com>
Date:   Mon,  7 Apr 2025 17:23:32 +0200

test: Disable a bunch of vector behavior tests for hexagon.

Most of the failures are:

* https://github.com/llvm/llvm-project/issues/118879
* https://github.com/llvm/llvm-project/issues/134659

But some are also miscompilations leading to wrong results. I'm not going to
investigate the latter further until all the backend crashes have been resolved.

Diffstat:
Mtest/behavior.zig | 6+++++-
Mtest/behavior/cast.zig | 2++
Mtest/behavior/floatop.zig | 4++++
Mtest/behavior/math.zig | 1+
Mtest/behavior/select.zig | 1+
5 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/test/behavior.zig b/test/behavior.zig @@ -104,7 +104,11 @@ test { _ = @import("behavior/union_with_members.zig"); _ = @import("behavior/usingnamespace.zig"); _ = @import("behavior/var_args.zig"); - _ = @import("behavior/vector.zig"); + // https://github.com/llvm/llvm-project/issues/118879 + // https://github.com/llvm/llvm-project/issues/134659 + if (!(builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .hexagon)) { + _ = @import("behavior/vector.zig"); + } _ = @import("behavior/void.zig"); _ = @import("behavior/while.zig"); _ = @import("behavior/widening.zig"); diff --git a/test/behavior/cast.zig b/test/behavior/cast.zig @@ -621,6 +621,7 @@ test "@intCast on vector" { if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; + if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .hexagon) return error.SkipZigTest; const S = struct { fn doTheTest() !void { @@ -2697,6 +2698,7 @@ test "@intCast vector of signed integer" { if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; + if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .hexagon) return error.SkipZigTest; var x: @Vector(4, i32) = .{ 1, 2, 3, 4 }; _ = &x; diff --git a/test/behavior/floatop.zig b/test/behavior/floatop.zig @@ -241,6 +241,7 @@ test "vector cmp f16" { if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; if (builtin.cpu.arch.isArm()) return error.SkipZigTest; if (builtin.cpu.arch.isPowerPC64()) return error.SkipZigTest; + if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .hexagon) return error.SkipZigTest; try testCmpVector(f16); try comptime testCmpVector(f16); @@ -254,6 +255,7 @@ test "vector cmp f32" { if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; if (builtin.cpu.arch.isArm()) return error.SkipZigTest; if (builtin.cpu.arch.isPowerPC64()) return error.SkipZigTest; + if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .hexagon) return error.SkipZigTest; try testCmpVector(f32); try comptime testCmpVector(f32); @@ -266,6 +268,7 @@ test "vector cmp f64" { if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; if (builtin.cpu.arch.isArm()) return error.SkipZigTest; if (builtin.cpu.arch.isPowerPC64()) return error.SkipZigTest; + if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .hexagon) return error.SkipZigTest; try testCmpVector(f64); try comptime testCmpVector(f64); @@ -281,6 +284,7 @@ test "vector cmp f128" { if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; if (builtin.cpu.arch.isArm()) return error.SkipZigTest; if (builtin.cpu.arch.isPowerPC64()) return error.SkipZigTest; + if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .hexagon) return error.SkipZigTest; try testCmpVector(f128); try comptime testCmpVector(f128); diff --git a/test/behavior/math.zig b/test/behavior/math.zig @@ -1899,6 +1899,7 @@ test "partially-runtime integer vector division would be illegal if vector eleme if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; + if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .hexagon) return error.SkipZigTest; var lhs: @Vector(2, i8) = .{ -128, 5 }; const rhs: @Vector(2, i8) = .{ 1, -1 }; diff --git a/test/behavior/select.zig b/test/behavior/select.zig @@ -71,6 +71,7 @@ test "@select compare result" { if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64 and builtin.target.ofmt != .elf and builtin.target.ofmt != .macho) return error.SkipZigTest; + if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .hexagon) return error.SkipZigTest; const S = struct { fn min(comptime V: type, lhs: V, rhs: V) V {