This is an archive of the discontinued LLVM Phabricator instance.

[ARM] PREDICATE_CAST demanded bits
ClosedPublic

Authored by dmgreen on Nov 27 2020, 1:08 AM.

Details

Summary

The PREDICATE_CAST node is used to model moves between MVE predicate registers and gpr's, and eventually become a VMSR p0, rn. When moving to a predicate only the bottom 16 bits of the sources register are demanded. This adds a simple fold for that, allowing it to potentially remove instructions like uxth.

Diff Detail

Event Timeline

dmgreen created this revision.Nov 27 2020, 1:08 AM
dmgreen requested review of this revision.Nov 27 2020, 1:08 AM
simon_tatham accepted this revision.Nov 27 2020, 1:33 AM
This revision is now accepted and ready to land.Nov 27 2020, 1:33 AM
This revision was automatically updated to reflect the committed changes.