diff --git a/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp b/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp --- a/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp +++ b/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp @@ -2057,7 +2057,7 @@ clearFeatureBits(RISCV::FeatureExtZbs, "experimental-zbs"); clearFeatureBits(RISCV::FeatureExtZbt, "experimental-zbt"); clearFeatureBits(RISCV::FeatureExtZvamo, "experimental-zvamo"); - clearFeatureBits(RISCV::FeatureStdExtZvlsseg, "experimental-zvlsseg"); + clearFeatureBits(RISCV::FeatureExtZvlsseg, "experimental-zvlsseg"); while (!Arch.empty()) { bool DropFirst = true; @@ -2117,7 +2117,7 @@ else if (Ext == "zvamo") setFeatureBits(RISCV::FeatureExtZvamo, "experimental-zvamo"); else if (Ext == "zvlsseg") - setFeatureBits(RISCV::FeatureStdExtZvlsseg, "experimental-zvlsseg"); + setFeatureBits(RISCV::FeatureExtZvlsseg, "experimental-zvlsseg"); else return Error(ValueExprLoc, "bad arch string " + Ext); Arch = Arch.drop_until([](char c) { return ::isdigit(c) || c == '_'; }); @@ -2190,7 +2190,7 @@ formalArchStr = (Twine(formalArchStr) + "_zbt0p93").str(); if (getFeatureBits(RISCV::FeatureExtZvamo)) formalArchStr = (Twine(formalArchStr) + "_zvamo0p10").str(); - if (getFeatureBits(RISCV::FeatureStdExtZvlsseg)) + if (getFeatureBits(RISCV::FeatureExtZvlsseg)) formalArchStr = (Twine(formalArchStr) + "_zvlsseg0p10").str(); getTargetStreamer().emitTextAttribute(Tag, formalArchStr); diff --git a/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp b/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp --- a/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp +++ b/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp @@ -90,7 +90,7 @@ Arch += "_zbt0p93"; if (STI.hasFeature(RISCV::FeatureExtZvamo)) Arch += "_zvamo0p10"; - if (STI.hasFeature(RISCV::FeatureStdExtZvlsseg)) + if (STI.hasFeature(RISCV::FeatureExtZvlsseg)) Arch += "_zvlsseg0p10"; emitTextAttribute(RISCVAttrs::ARCH, Arch); diff --git a/llvm/lib/Target/RISCV/RISCV.td b/llvm/lib/Target/RISCV/RISCV.td --- a/llvm/lib/Target/RISCV/RISCV.td +++ b/llvm/lib/Target/RISCV/RISCV.td @@ -173,12 +173,12 @@ AssemblerPredicate<(all_of FeatureStdExtV), "'V' (Vector Instructions)">; -def FeatureStdExtZvlsseg +def FeatureExtZvlsseg : SubtargetFeature<"experimental-zvlsseg", "HasStdExtZvlsseg", "true", "'Zvlsseg' (Vector segment load/store instructions)", [FeatureStdExtV]>; def HasStdExtZvlsseg : Predicate<"Subtarget->hasStdExtZvlsseg()">, - AssemblerPredicate<(all_of FeatureStdExtZvlsseg), + AssemblerPredicate<(all_of FeatureExtZvlsseg), "'Zvlsseg' (Vector segment load/store instructions)">; def FeatureExtZvamo