If the Shuffle is a splat and the operand is a zext/sext, sinking the operand and the s/zext can help create indexed s/umull. This is especially useful to prevent i64 mul being scalarized.
Details
Details
Diff Detail
Diff Detail
Paths
| Differential D133355
[AArch64] Sink splat(s/zext(..)) to uses ClosedPublic Authored by dmgreen on Sep 6 2022, 7:01 AM.
Details Summary If the Shuffle is a splat and the operand is a zext/sext, sinking the operand and the s/zext can help create indexed s/umull. This is especially useful to prevent i64 mul being scalarized.
Diff Detail Event TimelineThis revision is now accepted and ready to land.Sep 13 2022, 7:16 AM This revision was landed with ongoing or failed builds.Sep 13 2022, 7:47 AM Closed by commit rG993b203b6a0c: [AArch64] Sink splat(s/zext(..)) to uses (authored by dmgreen). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 458164 llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/test/CodeGen/AArch64/aarch64-matrix-umull-smull.ll
|