-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Closed
Labels
arch-aarch6464-bit Arm64-bit Armbackend-llvmThe LLVM backend outputs an LLVM IR Module.The LLVM backend outputs an LLVM IR Module.bugObserved behavior contradicts documented or intended behaviorObserved behavior contradicts documented or intended behavioros-windowsMicrosoft WindowsMicrosoft WindowsregressionIt worked in a previous version of Zig, but stopped working.It worked in a previous version of Zig, but stopped working.upstreamAn issue with a third party project that Zig uses.An issue with a third party project that Zig uses.
Milestone
Description
In the llvm18 branch:
[nix-shell:~/src/zig/build-llvm18]$ stage3/bin/zig test -target aarch64-windows-gnu ../test/behavior.zig
LLVM Emit Object... zig: /home/andy/dev/llvm-project-18/llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp:199: llvm::LegalizeActionStep llvm::LegalizeRuleSet::apply(const llvm::LegalityQuery&) const: Assertion `mutationIsSane(Rule, Query, Mutation) && "legality mutation invalid for match"' failed.
Aborted (core dumped)This behavior test is failing:
Lines 51 to 71 in 1c9bb6a
| test "@shuffle bool 1" { | |
| if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO | |
| if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO | |
| if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO | |
| if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO | |
| if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO | |
| const S = struct { | |
| fn doTheTest() !void { | |
| var x: @Vector(4, bool) = [4]bool{ false, true, false, true }; | |
| _ = &x; | |
| var v: @Vector(2, bool) = [2]bool{ true, false }; | |
| _ = &v; | |
| const mask = [4]i32{ 0, ~@as(i32, 1), 1, 2 }; | |
| const res = @shuffle(bool, x, v, mask); | |
| try expect(mem.eql(bool, &@as([4]bool, res), &[4]bool{ false, false, true, false })); | |
| } | |
| }; | |
| try S.doTheTest(); | |
| try comptime S.doTheTest(); | |
| } |
Reported upstream at llvm/llvm-project#90695
Metadata
Metadata
Assignees
Labels
arch-aarch6464-bit Arm64-bit Armbackend-llvmThe LLVM backend outputs an LLVM IR Module.The LLVM backend outputs an LLVM IR Module.bugObserved behavior contradicts documented or intended behaviorObserved behavior contradicts documented or intended behavioros-windowsMicrosoft WindowsMicrosoft WindowsregressionIt worked in a previous version of Zig, but stopped working.It worked in a previous version of Zig, but stopped working.upstreamAn issue with a third party project that Zig uses.An issue with a third party project that Zig uses.