This is an archive of the discontinued LLVM Phabricator instance.

[ARM] Add smlald support in ARMParallelDSP
ClosedPublic

Authored by samparker on Aug 22 2018, 6:44 AM.

Details

Summary

Search from i64 reducing phis, as well as i32, to allow the generation of smlald instructions. I've changed the way loads are generated because we no longer always have an i32 Acc value, but we are still always interested in loading an i32.

Diff Detail

Repository
rL LLVM

Event Timeline

samparker created this revision.Aug 22 2018, 6:44 AM
SjoerdMeijer accepted this revision.Aug 22 2018, 6:51 AM

Looks like a straightforward addition to me. Cheers!

This revision is now accepted and ready to land.Aug 22 2018, 6:51 AM
samparker updated this revision to Diff 161958.Aug 22 2018, 7:52 AM

Hi Sjoerd,

On looking at some IR generated from C, the multiplications were performed at i32 and then sext to i64. So I've now added those patterns to MatchParallelMACSequences. This has required an interface change to AddMACCandidiate because of the need to look through the sext to get to the mul.

samparker updated this revision to Diff 162816.Aug 28 2018, 3:12 AM

Fixed a couple of typos and added assert to AddMACCandidate

This revision was automatically updated to reflect the committed changes.