This is an archive of the discontinued LLVM Phabricator instance.

[RISCV] Improve SiFive7 for reductions and ordered reductions
ClosedPublic

Authored by michaelmaitland on Jun 21 2023, 3:01 PM.

Details

Summary

Since the scheduling resources for reductions and ordered reductions now
account for LMUL and SEW, we can modify the Latency and ResourceCycles
for these resoruces.

  • Most reductions take a total of approx vl*SEW/DLEN + 5*(4 + log2(DLEN/SEW)) cycles.
  • Ordered floating-point reductions take a total of approx 5*vl cycles.

Diff Detail

Event Timeline

Herald added a project: Restricted Project. · View Herald TranscriptJun 21 2023, 3:01 PM
michaelmaitland requested review of this revision.Jun 21 2023, 3:01 PM
Herald added a project: Restricted Project. · View Herald TranscriptJun 21 2023, 3:01 PM

Fix broken rebase.

craig.topper added inline comments.Jun 21 2023, 9:46 PM
llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
776

I don't think we usually indent after a let if the let doesn't use braces.

803

I think this has no Latency or ResourceCycles attached to it? The previous let did not create a scope

michaelmaitland marked 2 inline comments as done.

Fix indentation

This revision is now accepted and ready to land.Jun 22 2023, 10:11 AM
This revision was landed with ongoing or failed builds.Jun 22 2023, 10:16 AM
This revision was automatically updated to reflect the committed changes.