diff options
Diffstat (limited to 'llvm/lib/Target/X86/X86ATTAsmPrinter.cpp')
-rwxr-xr-x | llvm/lib/Target/X86/X86ATTAsmPrinter.cpp | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/llvm/lib/Target/X86/X86ATTAsmPrinter.cpp b/llvm/lib/Target/X86/X86ATTAsmPrinter.cpp index 38418b3593c..f8f54d434a1 100755 --- a/llvm/lib/Target/X86/X86ATTAsmPrinter.cpp +++ b/llvm/lib/Target/X86/X86ATTAsmPrinter.cpp @@ -196,25 +196,18 @@ void X86ATTAsmPrinter::printMemReference(const MachineInstr *MI, unsigned Op){ O << " + " << DispSpec.getImmedValue(); O << "]"; return; - } else if (BaseReg.isConstantPoolIndex()) { - O << PrivateGlobalPrefix << "CPI" << getFunctionNumber() << "_" - << BaseReg.getConstantPoolIndex(); - if (forDarwin && TM.getRelocationModel() == Reloc::PIC) - O << "-\"L" << getFunctionNumber() << "$pb\""; - if (DispSpec.getImmedValue()) - O << "+" << DispSpec.getImmedValue(); - if (IndexReg.getReg()) { - O << "(,"; - printOperand(MI, Op+2); - if (ScaleVal != 1) - O << "," << ScaleVal; - O << ")"; - } - return; } if (DispSpec.isGlobalAddress()) { printOperand(MI, Op+3, "mem"); + } else if (DispSpec.isConstantPoolIndex()) { + O << PrivateGlobalPrefix << "CPI" << getFunctionNumber() << "_" + << DispSpec.getConstantPoolIndex(); + if (forDarwin && TM.getRelocationModel() == Reloc::PIC) + O << "-\"L" << getFunctionNumber() << "$pb\""; + if (DispSpec.getOffset()) + O << "+" << DispSpec.getOffset(); + return; } else { int DispVal = DispSpec.getImmedValue(); if (DispVal || (!IndexReg.getReg() && !BaseReg.getReg())) |