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 @@ -347,6 +347,8 @@ return isImm() && Imm.Type == ImmT; } + bool isImmLiteral() const { return isImmTy(ImmTyNone); } + bool isImmModifier() const { return isImm() && Imm.Type != ImmTyNone; } @@ -7942,7 +7944,7 @@ //===----------------------------------------------------------------------===// bool AMDGPUOperand::isSMRDOffset8() const { - return isImm() && isUInt<8>(getImm()); + return isImmLiteral() && isUInt<8>(getImm()); } bool AMDGPUOperand::isSMEMOffset() const { @@ -7953,7 +7955,7 @@ bool AMDGPUOperand::isSMRDLiteralOffset() const { // 32-bit literals are only supported on CI and we only want to use them // when the offset is > 8-bits. - return isImm() && !isUInt<8>(getImm()) && isUInt<32>(getImm()); + return isImmLiteral() && !isUInt<8>(getImm()) && isUInt<32>(getImm()); } AMDGPUOperand::Ptr AMDGPUAsmParser::defaultSMRDOffset8() const { @@ -8439,11 +8441,11 @@ } bool AMDGPUOperand::isS16Imm() const { - return isImm() && (isInt<16>(getImm()) || isUInt<16>(getImm())); + return isImmLiteral() && (isInt<16>(getImm()) || isUInt<16>(getImm())); } bool AMDGPUOperand::isU16Imm() const { - return isImm() && isUInt<16>(getImm()); + return isImmLiteral() && isUInt<16>(getImm()); } //===----------------------------------------------------------------------===//