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())) {