[llvm-commits] [llvm] r84577 - in /llvm/trunk/lib/Target/ARM/AsmPrinter: ARMAsmPrinter.cpp ARMInstPrinter.cpp ARMInstPrinter.h

Chris Lattner sabre at nondot.org
Mon Oct 19 17:46:11 PDT 2009


Author: lattner
Date: Mon Oct 19 19:46:11 2009
New Revision: 84577

URL: http://llvm.org/viewvc/llvm-project?rev=84577&view=rev
Log:
add supprort for the 'sbit' operand, MOVi apparently has one.

Modified:
    llvm/trunk/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp
    llvm/trunk/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp
    llvm/trunk/lib/Target/ARM/AsmPrinter/ARMInstPrinter.h

Modified: llvm/trunk/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp?rev=84577&r1=84576&r2=84577&view=diff

==============================================================================
--- llvm/trunk/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp (original)
+++ llvm/trunk/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp Mon Oct 19 19:46:11 2009
@@ -1392,6 +1392,8 @@
       // Predicate.
       TmpInst.addOperand(MCOperand::CreateImm(MI->getOperand(2).getImm()));
       TmpInst.addOperand(MCOperand::CreateReg(MI->getOperand(3).getReg()));
+
+      TmpInst.addOperand(MCOperand::CreateReg(0));          // cc_out
       printMCInst(&TmpInst);
       O << '\n';
     }

Modified: llvm/trunk/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp?rev=84577&r1=84576&r2=84577&view=diff

==============================================================================
--- llvm/trunk/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp (original)
+++ llvm/trunk/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp Mon Oct 19 19:46:11 2009
@@ -186,6 +186,14 @@
     O << ARMCondCodeToString(CC);
 }
 
+void ARMInstPrinter::printSBitModifierOperand(const MCInst *MI, unsigned OpNum){
+  if (unsigned Reg = MI->getOperand(OpNum).getReg()) {
+    assert(Reg == ARM::CPSR && "Expect ARM CPSR register!");
+    O << 's';
+  }
+}
+
+
 
 void ARMInstPrinter::printCPInstOperand(const MCInst *MI, unsigned OpNum,
                                         const char *Modifier) {

Modified: llvm/trunk/lib/Target/ARM/AsmPrinter/ARMInstPrinter.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/AsmPrinter/ARMInstPrinter.h?rev=84577&r1=84576&r2=84577&view=diff

==============================================================================
--- llvm/trunk/lib/Target/ARM/AsmPrinter/ARMInstPrinter.h (original)
+++ llvm/trunk/lib/Target/ARM/AsmPrinter/ARMInstPrinter.h Mon Oct 19 19:46:11 2009
@@ -69,7 +69,7 @@
   void printT2AddrModeSoRegOperand(const MCInst *MI, unsigned OpNum) {}
   
   void printPredicateOperand(const MCInst *MI, unsigned OpNum);
-  void printSBitModifierOperand(const MCInst *MI, unsigned OpNum) {}
+  void printSBitModifierOperand(const MCInst *MI, unsigned OpNum);
   void printRegisterList(const MCInst *MI, unsigned OpNum);
   void printCPInstOperand(const MCInst *MI, unsigned OpNum,
                           const char *Modifier);





More information about the llvm-commits mailing list