Wire up symbol hi/lo printing. We don't print hi()/lo(), but this gets
authorChris Lattner <sabre@nondot.org>
Sun, 14 Nov 2010 21:33:07 +0000 (21:33 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 14 Nov 2010 21:33:07 +0000 (21:33 +0000)
us further along.  Only 28 failures now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119079 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp
lib/Target/PowerPC/InstPrinter/PPCInstPrinter.h

index 8f7ebfff91bac9a07b3903d33c20f2e2a2470620..7149de4c47830b774f07addca54cb4c5ff728b48 100644 (file)
@@ -202,3 +202,18 @@ void PPCInstPrinter::printOperand(const MCInst *MI, unsigned OpNo,
   O << *Op.getExpr();
 }
   
+void PPCInstPrinter::printSymbolLo(const MCInst *MI, unsigned OpNo,
+                                   raw_ostream &O) {
+  if (MI->getOperand(OpNo).isImm())
+    printS16ImmOperand(MI, OpNo, O);
+  else
+    printOperand(MI, OpNo, O);
+}
+
+void PPCInstPrinter::printSymbolHi(const MCInst *MI, unsigned OpNo,
+                                   raw_ostream &O) {
+  if (MI->getOperand(OpNo).isImm())
+    printS16ImmOperand(MI, OpNo, O);
+  else
+    printOperand(MI, OpNo, O);
+}
index 9a3e82cdafda25a6343009ce7c99284ad91ad017..b73f1eb91f2fe24a03a2071b0880d199f6c25102 100644 (file)
@@ -65,10 +65,8 @@ public:
   
   // FIXME: Remove
   void PrintSpecial(const MCInst *MI, raw_ostream &O, const char *Modifier) {}
-  void printSymbolLo(const MCInst *MI, unsigned OpNo, raw_ostream &O) {
-    printS16ImmOperand(MI, OpNo, O);
-  }
-  void printSymbolHi(const MCInst *MI, unsigned OpNo, raw_ostream &O) {}
+  void printSymbolLo(const MCInst *MI, unsigned OpNo, raw_ostream &O);
+  void printSymbolHi(const MCInst *MI, unsigned OpNo, raw_ostream &O);
   void printPICLabel(const MCInst *MI, unsigned OpNo, raw_ostream &O) {}
   void printTOCEntryLabel(const MCInst *MI, unsigned OpNo, raw_ostream &O) {}