G_CONCAT_VECTORS shows up from time to time when legalizing other instructions.
We actually import patterns for the v16s8 <- v8s8, v8s8 case so marking it as legal gives us selection for free.
Paths
| Differential D107512
[AArch64][GlobalISel] Mark v16s8 <- v8s8, v8s8 G_CONCAT_VECTOR as legal ClosedPublic Authored by paquette on Aug 4 2021, 4:37 PM.
Details Summary G_CONCAT_VECTORS shows up from time to time when legalizing other instructions. We actually import patterns for the v16s8 <- v8s8, v8s8 case so marking it as legal gives us selection for free.
Diff Detail
Event TimelineHerald added subscribers: danielkiss, hiraditya, kristof.beyls, rovka. · View Herald TranscriptAug 4 2021, 4:37 PM This revision is now accepted and ready to land.Aug 4 2021, 10:39 PM Comment Actions Add a selection testcase with real inputs. Looks like there's a specific pattern for undef and a specific pattern for real inputs, so let's just test both. This revision was landed with ongoing or failed builds.Aug 5 2021, 9:41 AM Closed by commit rGf3f3098afe1c: [AArch64][GlobalISel] Mark v16s8 <- v8s8, v8s8 G_CONCAT_VECTOR as legal (authored by paquette). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 364516 llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
llvm/test/CodeGen/AArch64/GlobalISel/legalize-concat-vectors.mir
llvm/test/CodeGen/AArch64/GlobalISel/select-concat-vectors.mir
|
Can we have real inputs instead of undef? In case we ever optimize this to undef.