This is an archive of the discontinued LLVM Phabricator instance.

[ARM] Always use reductions intrinsics under MVE
ClosedPublic

Authored by dmgreen on Jun 8 2020, 7:52 AM.

Details

Summary

Similar to a recent change to the X86 backend, this changes things so that we always produce a reduction intrinsics for all reduction types, not just the legal ones. This gives a better chance in the backend to custom lower them to something more suitable for MVE. Especially for something like fadd the in-order reduction produced during DAG lowering is already better than the shuffles produced in the midend, and we can do even better with a bit of custom lowering.

Diff Detail

Event Timeline

dmgreen created this revision.Jun 8 2020, 7:52 AM
samparker accepted this revision.Jun 9 2020, 1:22 AM

Sounds good.

This revision is now accepted and ready to land.Jun 9 2020, 1:22 AM
This revision was automatically updated to reflect the committed changes.