This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Genereate CCMP from And CSel
ClosedPublic

Authored by dmgreen on Jan 27 2022, 12:32 AM.

Details

Summary

LLVM has a couple of ways of producing ccmp - either from chains in isel or from a later ifcvt style pass. This adds a simple DAG combine to capture more cases, converting and(csel(0, 1, cc0), csel(0, 1, cc1)) into a csel(ccmp(.., cc0)), depending on cc1 (a SUBS in this case).

Diff Detail

Event Timeline

dmgreen created this revision.Jan 27 2022, 12:32 AM
dmgreen requested review of this revision.Jan 27 2022, 12:32 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 27 2022, 12:32 AM
This revision is now accepted and ready to land.Jan 27 2022, 7:09 AM
This revision was landed with ongoing or failed builds.Feb 2 2022, 5:48 AM
This revision was automatically updated to reflect the committed changes.