This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][GlobalISel] Add basic legalizer rules for supported add/fadd reductions.
ClosedPublic

Authored by aemerson on Oct 8 2020, 1:41 PM.

Details

Summary

NEON is pretty limited in it's reduction support. As a first step add some basic rules for the legal types we can select.

Diff Detail

Unit TestsFailed

Event Timeline

aemerson created this revision.Oct 8 2020, 1:41 PM
aemerson updated this revision to Diff 297110.Oct 8 2020, 8:07 PM

Remove v2s16 FADD case because we can't actually support that with a single instruction. Exactly how we're going to decide what's "legal" and what will need to be legalized first isn't totally clear yet. Using a criteria of a single selected instruction seems a good start.

aemerson updated this revision to Diff 297301.Oct 9 2020, 12:15 PM

Rebase and simplify.

This revision is now accepted and ready to land.Oct 12 2020, 10:46 AM
This revision was landed with ongoing or failed builds.Oct 16 2020, 10:40 AM
This revision was automatically updated to reflect the committed changes.