diff options
| author | Chris Lattner <sabre@nondot.org> | 2009-10-20 00:46:11 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2009-10-20 00:46:11 +0000 |
| commit | 85ab6706448031a11493f9d9ec7df643a6ee3ff5 (patch) | |
| tree | 3bb5737740760dc0e92851950a8703ee9393bbf0 /llvm/lib | |
| parent | 19c52201bdeba6537a1ec642f694da3b34f46a81 (diff) | |
| download | bcm5719-llvm-85ab6706448031a11493f9d9ec7df643a6ee3ff5.tar.gz bcm5719-llvm-85ab6706448031a11493f9d9ec7df643a6ee3ff5.zip | |
add supprort for the 'sbit' operand, MOVi apparently has one.
llvm-svn: 84577
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp | 2 | ||||
| -rw-r--r-- | llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp | 8 | ||||
| -rw-r--r-- | llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.h | 2 |
3 files changed, 11 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp b/llvm/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp index 446287d1f38..48f34859c55 100644 --- a/llvm/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp +++ b/llvm/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp @@ -1392,6 +1392,8 @@ void ARMAsmPrinter::printInstructionThroughMCStreamer(const MachineInstr *MI) { // 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'; } diff --git a/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp b/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp index 65c54147287..788304ea0c2 100644 --- a/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp +++ b/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp @@ -186,6 +186,14 @@ void ARMInstPrinter::printPredicateOperand(const MCInst *MI, unsigned OpNum) { 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) { diff --git a/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.h b/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.h index 332addea921..700e02b221a 100644 --- a/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.h +++ b/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.h @@ -69,7 +69,7 @@ public: 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); |

