This is an archive of the discontinued LLVM Phabricator instance.

[ARM] Fold And/Or into CSel if possible
ClosedPublic

Authored by dmgreen on Jan 6 2023, 7:14 AM.

Details

Summary

This is the ARM equivalent of D141119, where we fold and x, (csel 0, 1, cc) to csel ZR, x, cc if we know that x is 0/1 and for or x, (csel 0, 1, cc) emit csinc x, ZR, cc. The or pattern gets recognized from a cmov under Arm.

Diff Detail

Event Timeline

dmgreen created this revision.Jan 6 2023, 7:14 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 6 2023, 7:14 AM
dmgreen requested review of this revision.Jan 6 2023, 7:14 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 6 2023, 7:14 AM
samtebbs accepted this revision.Jan 6 2023, 7:18 AM

Looking good

This revision is now accepted and ready to land.Jan 6 2023, 7:18 AM
This revision was landed with ongoing or failed builds.Jan 9 2023, 5:29 AM
This revision was automatically updated to reflect the committed changes.