This adds pattern matching for the insert+shufflevector sequence so we can generate dup instructions instead of the current TBL sequence.
Currently doesn't handle vectors < 128b in size yet.
Paths
| Differential D59558
[AArch64][GlobalISel] Add an optimization to select vector DUP instructions ClosedPublic Authored by aemerson on Mar 19 2019, 1:28 PM.
Details Summary This adds pattern matching for the insert+shufflevector sequence so we can generate dup instructions instead of the current TBL sequence. Currently doesn't handle vectors < 128b in size yet.
Diff Detail
Event TimelineHerald added subscribers: Petar.Avramovic, hiraditya, kristof.beyls and 2 others. · View Herald TranscriptMar 19 2019, 1:28 PM Comment Actions LGTM. Some minor nits included.
This revision is now accepted and ready to land.Mar 19 2019, 1:44 PM Closed by commit rL356526: [AArch64][GlobalISel] Add an optimization to select vector DUP instructions. (authored by aemerson). · Explain WhyMar 19 2019, 2:42 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 191382 llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp
llvm/test/CodeGen/AArch64/GlobalISel/opt-shuffle-splat.mir
|
Maybe include what we're transforming it into here?