[all-commits] [llvm/llvm-project] ecef87: [RISCV] Improve SiFive7 for loads and stores
Michael Maitland via All-commits
all-commits at lists.llvm.org
Thu Jun 22 10:15:38 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: ecef87b2a2675fa86e06f88b69b3f98b7822aedc
https://github.com/llvm/llvm-project/commit/ecef87b2a2675fa86e06f88b69b3f98b7822aedc
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2023-06-22 (Thu, 22 Jun 2023)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
Log Message:
-----------
[RISCV] Improve SiFive7 for loads and stores
* Unit-stride loads and stores can operate at the full bandwidth of the
memory pipe. The memory pipe is DLEN bits wide.
* Strided loads and stores operate at one element per cycle and should
be scheduled accordingly.
* Indexed loads and stores operate at one element per cycle, and they
stall the machine until all addresses have been generated, so they
cannot be scheduled.
* Unit stride seg2 load is number of DLEN parts
* seg3-8 are one segment per cycle, unless the segment is larger
than DLEN in which each segment takes multiple cycles.
Differential Revision: https://reviews.llvm.org/D153475
More information about the All-commits
mailing list