This is an archive of the discontinued LLVM Phabricator instance.

[AMDGPU] Add selection pattern for v_xnor_b32
ClosedPublic

Authored by foad on Feb 26 2021, 8:36 AM.

Details

Summary

This allows GlobalISel to use this instruction where available. I assume
SelectionDAG always selects s_xnor_b32 so it isn't affected by this
change.

Diff Detail

Event Timeline

foad created this revision.Feb 26 2021, 8:36 AM
foad requested review of this revision.Feb 26 2021, 8:36 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 26 2021, 8:36 AM
foad added a comment.Feb 26 2021, 8:38 AM

Is it worth disabling the pattern for SelectionDAG? Or maybe restricting it to divergent cases, so we can select v_xnor directly in that case without having to move it to VALU in SIFixSGPRCopies?

arsenm accepted this revision.Feb 26 2021, 8:38 AM
This revision is now accepted and ready to land.Feb 26 2021, 8:38 AM

Is it worth disabling the pattern for SelectionDAG? Or maybe restricting it to divergent cases, so we can select v_xnor directly in that case without having to move it to VALU in SIFixSGPRCopies?

Not really. We don't have a mechanism for disabling patterns per selector. The current patterns are already a hodge-podge of cases that happen to work in one selector or the other, and I don't think it's worth putting effort into making selectiondag nicer

This revision was landed with ongoing or failed builds.Feb 26 2021, 8:42 AM
This revision was automatically updated to reflect the committed changes.