This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][SVE] Add lowering for llvm.fma.
ClosedPublic

Authored by efriedma on Jul 8 2020, 5:13 PM.

Details

Summary

This is currently bare-bones; we aren't taking advantage of any of the FMA variant instructions. But it's enough to generate code.

Diff Detail

Event Timeline

efriedma created this revision.Jul 8 2020, 5:13 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 8 2020, 5:13 PM
paulwalker-arm accepted this revision.Jul 9 2020, 6:39 AM
paulwalker-arm added inline comments.
llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
405–410

I was going to say you're missing patterns for the other legal scalable vector types, but I can see that's a common theme across the floating point instructions so I'm happy enough.

llvm/test/CodeGen/AArch64/sve-fp.ll
138

To be consistent these belong at the bottom of the file with the others.

This revision is now accepted and ready to land.Jul 9 2020, 6:39 AM
paulwalker-arm added inline comments.Jul 9 2020, 11:17 AM
llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
405–410

FYI: I'll look into the missing patterns for the existing operations tomorrow as part of the fixed length enablement.

This revision was automatically updated to reflect the committed changes.