This is an archive of the discontinued LLVM Phabricator instance.

[RISCV] Add scheduling information for Zba and Zbb to RISCVSchedSiFive7.td
ClosedPublic

Authored by michaelmaitland on Apr 28 2023, 4:16 PM.

Details

Summary

Based on the following description from Andrew W.

  • Instructions not mentioned here behave the same as integer ALU ops
  • rev8 only executes in the late-A and late-B ALUs
  • shNadd[.uw] only execute on the early-B and late-B ALUs
  • clz[w], ctz[w], and orc.b and all rotates only execute in the late-B ALU
  • pcnt[w] looks exactly like integer multiply

This patch does not account for early/late ALU in the model. It is coded based
on the pipes only.

Co-Authored-By: topperc <craig.topper@sifive.com>

Diff Detail

Event Timeline

Herald added a project: Restricted Project. · View Herald TranscriptApr 28 2023, 4:16 PM
michaelmaitland requested review of this revision.Apr 28 2023, 4:16 PM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptApr 28 2023, 4:16 PM
craig.topper added inline comments.Apr 28 2023, 5:10 PM
llvm/lib/Target/RISCV/RISCVProcessors.td
181 ↗(On Diff #518083)

This makes the patch dependent on adding sifive-x280

michaelmaitland marked an inline comment as done.
michaelmaitland added inline comments.
llvm/lib/Target/RISCV/RISCVProcessors.td
181 ↗(On Diff #518083)

Added parent revision.

This revision is now accepted and ready to land.Apr 28 2023, 5:37 PM
michaelmaitland marked an inline comment as done.

Rebase.

This revision needs to be reopened because it was committed with changes that are not relevant to this patch.

michaelmaitland reopened this revision.May 5 2023, 10:15 AM
This revision is now accepted and ready to land.May 5 2023, 10:15 AM
This revision was landed with ongoing or failed builds.May 5 2023, 10:16 AM
This revision was automatically updated to reflect the committed changes.