[llvm-branch-commits] [llvm] [RISCV][MC] Warn if SEW/LMUL may not be compatible (PR #94313)
Pengcheng Wang via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Thu Jun 6 20:27:39 PDT 2024
================
@@ -2211,6 +2222,16 @@ ParseStatus RISCVAsmParser::parseVTypeI(OperandVector &Operands) {
if (getLexer().is(AsmToken::EndOfStatement) && State == VTypeState_Done) {
RISCVII::VLMUL VLMUL = RISCVVType::encodeLMUL(Lmul, Fractional);
+ if (Fractional) {
+ unsigned ELEN = STI->hasFeature(RISCV::FeatureStdExtZve64x) ? 64 : 32;
+ unsigned MaxSEW = ELEN / Lmul;
+ // If MaxSEW < 8, we should have printed warning about reserved LMUL.
+ if (MaxSEW >= 8 && Sew > MaxSEW)
+ Warning(SEWLoc,
+ "use of vtype encodings with SEW > " + Twine(MaxSEW) +
+ " and LMUL == " + (Fractional ? "mf" : "m") + Twine(Lmul) +
----------------
wangpc-pp wrote:
Good catch!
https://github.com/llvm/llvm-project/pull/94313
More information about the llvm-branch-commits
mailing list