Hi,
This patch adds patterns to teach the AArch64 backend to merge [US]MULL instructions and adds/subs of half the size into [US]ML[AS]L where we don't use the top half of the result.
Is this OK for main?
Kind regards,
Andre
Paths
| Differential D95218
[AArch64] Merge [US]MULL with half adds and subs into [US]ML[AS]L ClosedPublic Authored by avieira on Jan 22 2021, 2:16 AM.
Details Summary Hi, This patch adds patterns to teach the AArch64 backend to merge [US]MULL instructions and adds/subs of half the size into [US]ML[AS]L where we don't use the top half of the result. Is this OK for main? Kind regards,
Diff Detail Event TimelineHerald added subscribers: danielkiss, hiraditya, kristof.beyls. · View Herald TranscriptJan 22 2021, 2:16 AM Comment Actions Sounds good to me. Can you clean up the tests a little?
This revision is now accepted and ready to land.Jan 22 2021, 8:38 AM Closed by commit rG8fbc1437c605: [AArch64] Merge [US]MULL with half adds and subs into [US]ML[AS]L (authored by avieira). · Explain WhyJan 24 2021, 11:58 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 318469 llvm/lib/Target/AArch64/AArch64InstrInfo.td
llvm/test/CodeGen/AArch64/mla_mls_merge.ll
|
Maybe explain the reason for these patterns? That they are for when only the bottom half of the add is used.