diff options
Diffstat (limited to 'llvm/lib/Target/X86')
-rwxr-xr-x | llvm/lib/Target/X86/X86ATTAsmPrinter.cpp | 23 | ||||
-rwxr-xr-x | llvm/lib/Target/X86/X86IntelAsmPrinter.cpp | 26 |
2 files changed, 17 insertions, 32 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())) diff --git a/llvm/lib/Target/X86/X86IntelAsmPrinter.cpp b/llvm/lib/Target/X86/X86IntelAsmPrinter.cpp index de503b924e4..7f4592bb5b5 100755 --- a/llvm/lib/Target/X86/X86IntelAsmPrinter.cpp +++ b/llvm/lib/Target/X86/X86IntelAsmPrinter.cpp @@ -175,23 +175,6 @@ void X86IntelAsmPrinter::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 (IndexReg.getReg()) { - O << " + "; - if (ScaleVal != 1) - O << ScaleVal << "*"; - printOp(IndexReg); - } - - if (DispSpec.getImmedValue()) - O << " + " << DispSpec.getImmedValue(); - O << "]"; - return; } O << "["; @@ -213,6 +196,15 @@ void X86IntelAsmPrinter::printMemReference(const MachineInstr *MI, unsigned Op){ if (NeedPlus) O << " + "; printOp(DispSpec, "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(); + O << "]"; + return; } else { int DispVal = DispSpec.getImmedValue(); if (DispVal || (!BaseReg.getReg() && !IndexReg.getReg())) { |