diff --git a/llvm/lib/Support/RISCVISAInfo.cpp b/llvm/lib/Support/RISCVISAInfo.cpp --- a/llvm/lib/Support/RISCVISAInfo.cpp +++ b/llvm/lib/Support/RISCVISAInfo.cpp @@ -348,7 +348,7 @@ if (!MajorStr.empty() && In.consume_front("p")) { MinorStr = In.take_while(isDigit); - In = In.substr(MajorStr.size() + 1); + In = In.substr(MajorStr.size() + MinorStr.size() - 1); // Expected 'p' to be followed by minor version number. if (MinorStr.empty()) {