[llvm] [RISCV] Add scheduling information for SiFive VCIX (PR #86093)
Michael Maitland via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 21 13:43:45 PDT 2024
================
@@ -944,6 +944,52 @@ let Latency = 3 in
def : InstRW<[WriteIALU], (instrs COPY)>;
+// VCIX
+//
+// In principle we don't know the latency of any VCIX instructions. But instead
+// of taking the default of 1, which can lead to issues [1], we assume that they
+// have a fairly high latency.
+//
+// [1] https://github.com/llvm/llvm-project/issues/83391
+foreach mx = SchedMxList in {
+ defvar Cycles = SiFive7GetCyclesDefault<mx>.c;
+ defvar IsWorstCase = SiFive7IsWorstCaseMX<mx, SchedMxList>.c;
+ let Latency = 20, AcquireAtCycles = [0, 1], ReleaseAtCycles = [1, !add(1, Cycles)] in {
----------------
michaelmaitland wrote:
I am interested to know why you picked 20 for the latency. Should the latency depend on LMUL (or Cycles)?
https://github.com/llvm/llvm-project/pull/86093
More information about the llvm-commits
mailing list