diff --git a/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp b/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp index ab7e51ac28322..abb5003f3320b 100644 --- a/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp +++ b/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp @@ -255,13 +255,9 @@ AMDGPUMCCodeEmitter::getLitEncoding(const MCOperand &MO, const MCSubtargetInfo &STI) const { int64_t Imm; if (MO.isExpr()) { - const auto *C = dyn_cast(MO.getExpr()); - if (!C) + if (!MO.getExpr()->evaluateAsAbsolute(Imm)) return 255; - - Imm = C->getValue(); } else { - assert(!MO.isDFPImm()); if (!MO.isImm())