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:
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 {