We select all of these via patterns now, so there's no reason to disallow this.
Update select-dup.mir to show that we correctly select the smaller types.
Paths
| Differential D81322
[AArch64][GlobalISel] Allow G_DUP for elements smaller than 32 B. ClosedPublic Authored by paquette on Jun 5 2020, 6:17 PM.
Details Summary We select all of these via patterns now, so there's no reason to disallow this. Update select-dup.mir to show that we correctly select the smaller types.
Diff Detail
Event Timeline
This revision is now accepted and ready to land.Jun 11 2020, 6:38 PM Closed by commit rGd3a56f062b40: [AArch64][GlobalISel] Allow G_DUP for elements smaller than 32 B. (authored by paquette). · Explain WhyJun 12 2020, 9:47 AM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 270434 llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-shuffle-splat.mir
llvm/test/CodeGen/AArch64/GlobalISel/select-dup.mir |
I would prefer that we don't delete these copies, thus relying on not deleting dead instructions (which is a bit surprising to me).