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 @@ -1617,7 +1617,7 @@ Operands.push_back(RISCVOperand::createToken("(", FirstS)); SMLoc S = getLoc(); SMLoc E = SMLoc::getFromPointer(S.getPointer() + Name.size()); - getLexer().Lex(); + Lex(); Operands.push_back(RISCVOperand::createReg(RegNo, S, E)); } @@ -1978,11 +1978,11 @@ return MatchOperand_Success; case AsmToken::Plus: Opcode = MCBinaryExpr::Add; - getLexer().Lex(); + Lex(); break; case AsmToken::Minus: Opcode = MCBinaryExpr::Sub; - getLexer().Lex(); + Lex(); break; } diff --git a/llvm/test/MC/RISCV/rvi-pseudos.s b/llvm/test/MC/RISCV/rvi-pseudos.s --- a/llvm/test/MC/RISCV/rvi-pseudos.s +++ b/llvm/test/MC/RISCV/rvi-pseudos.s @@ -229,3 +229,13 @@ # CHECK: auipc a5, %pcrel_hi(a_symbol-4) # CHECK: addi a5, a5, %pcrel_lo(.Lpcrel_hi37) lla a5, a_symbol - 4 + +# CHECK: .Lpcrel_hi38: +# CHECK: auipc a5, %pcrel_hi(a_symbol-5) +# CHECK: addi a5, a5, %pcrel_lo(.Lpcrel_hi38) +/**/lla /**/a5/**/, /**/a_symbol/**/ - /**/5/**/ + +# CHECK: .Lpcrel_hi39: +# CHECK: auipc a5, %pcrel_hi(a_symbol+5) +# CHECK: addi a5, a5, %pcrel_lo(.Lpcrel_hi39) +/**/lla /**/a5/**/, /**/a_symbol/**/ + /**/5/**/