This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][GlobalISel] Select uzp1 and uzp2
ClosedPublic

Authored by paquette on Jun 2 2020, 7:02 PM.

Details

Summary

Porting the mask stuff for uzp1 and uzp2 from AArch64ISelLowering.

Add two custom opcodes: G_UZP1 and G_UZP2.

Produce them in the post-legalizer combiner when the mask checks out.

Tests:

  • postlegalizer-combiner-uzp.mir verifies that we create G_UZP1 and G_UZP2. The testcases that check that we create them come from neon-perm.ll.
  • select-uzp.mir verifies that we can select G_UZP1 and G_UZP2.

Diff Detail

Event Timeline

paquette created this revision.Jun 2 2020, 7:02 PM
aemerson accepted this revision.Jun 3 2020, 1:44 PM

LGTM.

This revision is now accepted and ready to land.Jun 3 2020, 1:44 PM
This revision was automatically updated to reflect the committed changes.