This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Add a tablegen pattern for UZP2.
ClosedPublic

Authored by labrinea on Jul 19 2022, 12:24 AM.

Details

Summary

Converts concat_vectors((trunc (lshr)), (trunc (lshr))) to UZP2 when the shift amount is half the width of the vector element.

Relands rGada028c32f47 with a fix for https://github.com/llvm/llvm-project/issues/52919

Diff Detail

Event Timeline

labrinea created this revision.Jul 19 2022, 12:24 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 19 2022, 12:24 AM
labrinea requested review of this revision.Jul 19 2022, 12:24 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 19 2022, 12:24 AM
dmgreen accepted this revision.Jul 20 2022, 12:32 AM

Looks good. Can we remove the complexity from the new patterns? If so LGTM.

llvm/lib/Target/AArch64/AArch64InstrInfo.td
5425

Are these added complexities needed, or is it enough to put it on the ADDHN/SUBHN?

This revision is now accepted and ready to land.Jul 20 2022, 12:32 AM
This revision was landed with ongoing or failed builds.Jul 20 2022, 1:51 AM
This revision was automatically updated to reflect the committed changes.