Added an offset field to ConstantPoolSDNode.
llvm-svn: 26371
diff --git a/llvm/lib/Target/X86/X86IntelAsmPrinter.cpp b/llvm/lib/Target/X86/X86IntelAsmPrinter.cpp
index de503b9..7f4592b 100755
--- a/llvm/lib/Target/X86/X86IntelAsmPrinter.cpp
+++ b/llvm/lib/Target/X86/X86IntelAsmPrinter.cpp
@@ -175,23 +175,6 @@
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 @@
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())) {