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 @@ -1119,6 +1119,7 @@ default: return MatchOperand_NoMatch; case AsmToken::LParen: + case AsmToken::Dot: case AsmToken::Minus: case AsmToken::Plus: case AsmToken::Exclaim: diff --git a/llvm/test/MC/RISCV/rv32i-valid.s b/llvm/test/MC/RISCV/rv32i-valid.s --- a/llvm/test/MC/RISCV/rv32i-valid.s +++ b/llvm/test/MC/RISCV/rv32i-valid.s @@ -65,6 +65,14 @@ # CHECK-ASM: encoding: [0x17,0xe5,0x01,0x00] auipc a0, CONST +# CHECK-ASM: encoding: [0x6f,0bAAAA0000,A,A] +# CHECK-OBJ: jal zero, 0 +dummy_jump_label: +j dummy_jump_label +# CHECK-ASM: encoding: [0x6f,0bAAAA0000,A,A] +# CHECK-OBJ: jal zero, 0 +j . + # CHECK-ASM-AND-OBJ: jal a2, 1048574 # CHECK-ASM: encoding: [0x6f,0xf6,0xff,0x7f] jal a2, 1048574