diff --git a/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp b/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp --- a/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp +++ b/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp @@ -8378,9 +8378,9 @@ lex(); lex(); Operands.push_back(AMDGPUOperand::CreateToken(this, "::", S)); - const MCExpr *Expr; - if (isToken(AsmToken::Identifier) && !Parser.parseExpression(Expr)) { - Operands.push_back(AMDGPUOperand::CreateExpr(this, Expr, S)); + StringRef OpYName; + if (isToken(AsmToken::Identifier) && !Parser.parseIdentifier(OpYName)) { + Operands.push_back(AMDGPUOperand::CreateToken(this, OpYName, S)); return MatchOperand_Success; } Error(S, "invalid VOPD :: usage");