This is an archive of the discontinued LLVM Phabricator instance.

[ARM] Lower sadd_sat to qadd8 and qadd16
ClosedPublic

Authored by dmgreen on Oct 15 2019, 2:34 AM.

Details

Summary

Lower the target independent signed saturating instructions to qadd8 and qadd16. I've lowered this from a sadd_sat, catching the node early before it is promoted. This also adds a QADD8b and QADD16b node to mean the bottom "lane" of a qadd8/qadd16, so that we can call demand bits on it to show that it does not use the upper bits.

Also handles QSUB8 and QSUB16.

Diff Detail

Event Timeline

dmgreen created this revision.Oct 15 2019, 2:34 AM
Herald added a project: Restricted Project. · View Herald TranscriptOct 15 2019, 2:34 AM
This revision is now accepted and ready to land.Oct 15 2019, 8:02 AM
dmgreen updated this revision to Diff 225073.Oct 15 2019, 10:22 AM

Just rebased over tests and made one of the checks a little simpler.

This revision was automatically updated to reflect the committed changes.