@@ -562,7 +562,7 @@ multiclass SiFive7WriteResBase<int VLEN,
562562 // resource, we do not need to use LMULSEWXXX constructors. However, we do
563563 // use the SEW from the name to determine the number of Cycles.
564564
565- foreach mx = SchedMxList in {
565+ foreach mx = SchedMxListDS8 in {
566566 defvar VLDSX0Cycles = SiFive7GetCyclesDefault<mx>.c;
567567 defvar Cycles = SiFive7GetCyclesOnePerElement<mx, 8, VLEN>.c;
568568 defvar IsWorstCase = SiFive7IsWorstCaseMX<mx, SchedMxList>.c;
@@ -582,10 +582,8 @@ multiclass SiFive7WriteResBase<int VLEN,
582582 defm : LMULWriteResMX<"WriteVSTOX8", [VCQ, VS], mx, IsWorstCase>;
583583 }
584584 }
585- // TODO: The MxLists need to be filtered by EEW. We only need to support
586- // LMUL >= SEW_min/ELEN. Here, the smallest EEW prevents us from having MF8
587- // since LMUL >= 16/64.
588- foreach mx = ["MF4", "MF2", "M1", "M2", "M4", "M8"] in {
585+
586+ foreach mx = SchedMxListDS16 in {
589587 defvar VLDSX0Cycles = SiFive7GetCyclesDefault<mx>.c;
590588 defvar Cycles = SiFive7GetCyclesOnePerElement<mx, 16, VLEN>.c;
591589 defvar IsWorstCase = SiFive7IsWorstCaseMX<mx, SchedMxList>.c;
@@ -605,7 +603,7 @@ multiclass SiFive7WriteResBase<int VLEN,
605603 defm : LMULWriteResMX<"WriteVSTOX16", [VCQ, VS], mx, IsWorstCase>;
606604 }
607605 }
608- foreach mx = ["MF2", "M1", "M2", "M4", "M8"] in {
606+ foreach mx = SchedMxListDS32 in {
609607 defvar VLDSX0Cycles = SiFive7GetCyclesDefault<mx>.c;
610608 defvar Cycles = SiFive7GetCyclesOnePerElement<mx, 32, VLEN>.c;
611609 defvar IsWorstCase = SiFive7IsWorstCaseMX<mx, SchedMxList>.c;
@@ -625,7 +623,7 @@ multiclass SiFive7WriteResBase<int VLEN,
625623 defm : LMULWriteResMX<"WriteVSTOX32", [VCQ, VS], mx, IsWorstCase>;
626624 }
627625 }
628- foreach mx = ["M1", "M2", "M4", "M8"] in {
626+ foreach mx = SchedMxListDS64 in {
629627 defvar VLDSX0Cycles = SiFive7GetCyclesDefault<mx>.c;
630628 defvar Cycles = SiFive7GetCyclesOnePerElement<mx, 64, VLEN>.c;
631629 defvar IsWorstCase = SiFive7IsWorstCaseMX<mx, SchedMxList>.c;
0 commit comments