Lines Matching defs:LMUL
231 LMULEqual = 2, // The exact value of LMUL needs to be preserved.
232 LMULLessThanOrEqualToM1 = 1, // We can use any LMUL <= M1.
233 LMULNone = 0 // We don't need to preserve LMUL at all.
234 } LMUL = LMULNone;
244 return SEW || LMUL || SEWLMULRatio || TailPolicy || MaskPolicy || VILL;
255 LMUL = LMULEqual;
280 LMUL = std::max(LMUL, B.LMUL);
315 OS << "LMUL=";
316 switch (LMUL) {
345 static bool isLMUL1OrSmaller(RISCVII::VLMUL LMUL) {
346 auto [LMul, Fractional] = RISCVVType::decodeVLMUL(LMUL);
373 switch (Used.LMUL) {
434 // Loads and stores with implicit EEW do not demand SEW or LMUL directly.
436 // EMUL, but which allows us the flexibility to change SEW and LMUL
442 Res.LMUL = DemandedFields::LMULNone;
457 Res.LMUL = DemandedFields::LMULNone;
462 Res.LMUL = DemandedFields::LMULNone;
483 Res.LMUL = DemandedFields::LMULNone;
503 Res.LMUL = DemandedFields::LMULLessThanOrEqualToM1;
510 // it's place. Since a splat is non-constant time in LMUL, we do need to be
515 Res.LMUL = DemandedFields::LMULLessThanOrEqualToM1;
534 Res.LMUL = DemandedFields::LMULNone;
735 "Can't compare when only LMUL/SEW ratio is valid.");
840 // return an SEW/LMUL ratio only value.
973 // %vl = PseudoVSETVLI %avl:gpr, SEW=32, LMUL=M1
974 // $x0 = PseudoVSETVLI %vl:gpr, SEW=32, LMUL=M1
976 // %vl = PseudoVSETVLI %avl:gpr, SEW=32, LMUL=M1
977 // $x0 = PseudoVSETVLI %avl:gpr, SEW=32, LMUL=M1
1115 // Use X0, X0 form if the AVL is the same and the SEW+LMUL gives the same
1223 // If we don't use LMUL or the SEW/LMUL ratio, then adjust LMUL so that we
1224 // maintain the SEW/LMUL ratio. This allows us to eliminate VL toggles in more
1231 if (!Demanded.LMUL && !Demanded.SEWLMULRatio && PrevInfo.isValid() &&
1236 Demanded.LMUL = DemandedFields::LMULEqual;
1288 ((Demanded.LMUL || Demanded.SEWLMULRatio) ? IncomingInfo : Info)