This is an archive of the discontinued LLVM Phabricator instance.

[ARM] Sink splats to fma intrinsics
ClosedPublic

Authored by dmgreen on Apr 17 2020, 10:29 AM.

Details

Summary

Similar to fmul/fadd, we can sink a splat into a loop containing a fma in order to use more register instruction variants. For that I had to adjust the sinking code a little to handle more than 2 arguments.

Diff Detail

Event Timeline

dmgreen created this revision.Apr 17 2020, 10:29 AM
This revision is now accepted and ready to land.Apr 20 2020, 2:20 AM
dmgreen updated this revision to Diff 260563.Apr 28 2020, 1:24 AM

I've updated this to not include FMS patterns, same as for fmul. There is also a extra move int one of these new tests I've added, which should hopefully be removed once we convert the type of a vdup in cgp.

Herald added a project: Restricted Project. · View Herald TranscriptApr 28 2020, 1:24 AM
This revision was automatically updated to reflect the committed changes.