diff options
author | Jim Grosbach <grosbach@apple.com> | 2010-11-03 01:01:43 +0000 |
---|---|---|
committer | Jim Grosbach <grosbach@apple.com> | 2010-11-03 01:01:43 +0000 |
commit | c6af2b40669e2231bf996c09c54ca1bbb656e1a4 (patch) | |
tree | b8beddbca883268c41ceefeadfe415f7cc3154eb /llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp | |
parent | debf9c502a76715d788051667b8bd8b2adc2ec86 (diff) | |
download | bcm5719-llvm-c6af2b40669e2231bf996c09c54ca1bbb656e1a4.tar.gz bcm5719-llvm-c6af2b40669e2231bf996c09c54ca1bbb656e1a4.zip |
Break ARM addrmode4 (load/store multiple base address) into its constituent
parts. Represent the operation mode as an optional operand instead.
rdar://8614429
llvm-svn: 118137
Diffstat (limited to 'llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp')
-rw-r--r-- | llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp b/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp index 7ea438bebd3..cc1f286d571 100644 --- a/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp +++ b/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp @@ -290,21 +290,12 @@ void ARMInstPrinter::printAddrMode3OffsetOperand(const MCInst *MI, << ImmOffs; } - -void ARMInstPrinter::printAddrMode4Operand(const MCInst *MI, unsigned OpNum, +void ARMInstPrinter::printLdStmModeOperand(const MCInst *MI, unsigned OpNum, raw_ostream &O, const char *Modifier) { - const MCOperand &MO2 = MI->getOperand(OpNum+1); - ARM_AM::AMSubMode Mode = ARM_AM::getAM4SubMode(MO2.getImm()); - if (Modifier && strcmp(Modifier, "submode") == 0) { - O << ARM_AM::getAMSubModeStr(Mode); - } else if (Modifier && strcmp(Modifier, "wide") == 0) { - ARM_AM::AMSubMode Mode = ARM_AM::getAM4SubMode(MO2.getImm()); - if (Mode == ARM_AM::ia) - O << ".w"; - } else { - printOperand(MI, OpNum, O); - } + ARM_AM::AMSubMode Mode = ARM_AM::getAM4SubMode(MI->getOperand(OpNum) + .getImm()); + O << ARM_AM::getAMSubModeStr(Mode); } void ARMInstPrinter::printAddrMode5Operand(const MCInst *MI, unsigned OpNum, |