This is an archive of the discontinued LLVM Phabricator instance.

[RISCV] Add patterns for vector widening floating-point fused multiply-add instructions
ClosedPublic

Authored by jacquesguan on Jan 18 2022, 12:59 AM.

Details

Summary

Add patterns for vector widening floating-point fused multiply-add instructions.

Diff Detail

Event Timeline

jacquesguan created this revision.Jan 18 2022, 12:59 AM
jacquesguan requested review of this revision.Jan 18 2022, 12:59 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 18 2022, 12:59 AM

Should we be testing half->float?

Add half->float test cases.

Should we be testing half->float?

Done.

frasercrmck added inline comments.Jan 25 2022, 2:02 AM
llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
431

This isn't crucial but I wonder if these patterns could be made easier to read if vti.Wti.Vector and vti.Vti.Vector were defvard into variables. They're really eating up the columns.

craig.topper added inline comments.Jan 25 2022, 8:15 AM
llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
431

We also don’t need vti..Wti.Vector on every fma operand. Once it’s said for any operand or the result, tablegen can infer it for the other operands.

Simplify tablegen class definations.

llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
431

Done

This revision is now accepted and ready to land.Feb 8 2022, 10:59 AM
This revision was landed with ongoing or failed builds.Feb 8 2022, 6:35 PM
This revision was automatically updated to reflect the committed changes.