This is an archive of the discontinued LLVM Phabricator instance.

[ARM] Enable QADD and QSUB instruction selection
AbandonedPublic

Authored by samparker on Sep 5 2017, 6:18 AM.

Details

Reviewers
None
Summary

QADD/QSUB provide signed addition/subtraction that saturate the result between 2^31-1 and -2^31. These instructions are available on V5TE onwards cores in ARM mode, or Thumb cores that support the DSP extension.

Diff Detail

Event Timeline

samparker created this revision.Sep 5 2017, 6:18 AM
javed.absar added inline comments.Sep 5 2017, 6:55 AM
lib/Target/ARM/ARMISelLowering.cpp
12183

nitpick: probably more compact as -
if (ST->isThumb() && !ST->DSP())

return SDValue();
samparker abandoned this revision.May 30 2019, 5:58 AM

Hopefully can now be handled by using generic saturating nodes.