diff --git a/llvm/lib/Target/X86/X86InstrInfo.cpp b/llvm/lib/Target/X86/X86InstrInfo.cpp index 9cd1cd9a0fbf..41675c235ff3 100644 --- a/llvm/lib/Target/X86/X86InstrInfo.cpp +++ b/llvm/lib/Target/X86/X86InstrInfo.cpp @@ -5315,14 +5315,7 @@ static void addOperands(MachineInstrBuilder &MIB, ArrayRef MOs, for (unsigned i = 0; i != NumAddrOps; ++i) { const MachineOperand &MO = MOs[i]; if (i == 3 && PtrOffset != 0) { - assert((MO.isImm() || MO.isGlobal()) && - "Unexpected memory operand type"); - if (MO.isImm()) { - MIB.addImm(MO.getImm() + PtrOffset); - } else { - MIB.addGlobalAddress(MO.getGlobal(), MO.getOffset() + PtrOffset, - MO.getTargetFlags()); - } + MIB.addDisp(MO, PtrOffset); } else { MIB.addOperand(MO); }