diff options
author | Jim Grosbach <grosbach@apple.com> | 2010-12-14 22:28:03 +0000 |
---|---|---|
committer | Jim Grosbach <grosbach@apple.com> | 2010-12-14 22:28:03 +0000 |
commit | 509dc2a70070e19aff8801082ab9a92c8624512e (patch) | |
tree | 7b000b363ebbda251a8a9df70028428c86f37587 /llvm/lib/Target/ARM/ARMAsmPrinter.cpp | |
parent | 6ea3053824c5a9288b23943085f69749523e3b5f (diff) | |
download | bcm5719-llvm-509dc2a70070e19aff8801082ab9a92c8624512e.tar.gz bcm5719-llvm-509dc2a70070e19aff8801082ab9a92c8624512e.zip |
Add support for MC-ized encoding of tLEApcrel and tLEApcrelJT. rdar://8755755
llvm-svn: 121798
Diffstat (limited to 'llvm/lib/Target/ARM/ARMAsmPrinter.cpp')
-rw-r--r-- | llvm/lib/Target/ARM/ARMAsmPrinter.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/llvm/lib/Target/ARM/ARMAsmPrinter.cpp b/llvm/lib/Target/ARM/ARMAsmPrinter.cpp index 572d691afe0..267c5ddf0df 100644 --- a/llvm/lib/Target/ARM/ARMAsmPrinter.cpp +++ b/llvm/lib/Target/ARM/ARMAsmPrinter.cpp @@ -747,11 +747,13 @@ void ARMAsmPrinter::EmitInstruction(const MachineInstr *MI) { return; } case ARM::LEApcrel: + case ARM::tLEApcrel: case ARM::t2LEApcrel: { // FIXME: Need to also handle globals and externals MCInst TmpInst; - TmpInst.setOpcode(MI->getOpcode() == ARM::t2LEApcrel - ? ARM::t2ADR : ARM::ADR); + TmpInst.setOpcode(MI->getOpcode() == ARM::t2LEApcrel ? ARM::t2ADR + : (MI->getOpcode() == ARM::tLEApcrel ? ARM::tADR + : ARM::ADR)); populateADROperands(TmpInst, MI->getOperand(0).getReg(), GetCPISymbol(MI->getOperand(1).getIndex()), MI->getOperand(2).getImm(), MI->getOperand(3).getReg(), @@ -759,11 +761,13 @@ void ARMAsmPrinter::EmitInstruction(const MachineInstr *MI) { OutStreamer.EmitInstruction(TmpInst); return; } - case ARM::t2LEApcrelJT: - case ARM::LEApcrelJT: { + case ARM::LEApcrelJT: + case ARM::tLEApcrelJT: + case ARM::t2LEApcrelJT: { MCInst TmpInst; - TmpInst.setOpcode(MI->getOpcode() == ARM::t2LEApcrelJT - ? ARM::t2ADR : ARM::ADR); + TmpInst.setOpcode(MI->getOpcode() == ARM::t2LEApcrelJT ? ARM::t2ADR + : (MI->getOpcode() == ARM::tLEApcrelJT ? ARM::tADR + : ARM::ADR)); populateADROperands(TmpInst, MI->getOperand(0).getReg(), GetARMJTIPICJumpTableLabel2(MI->getOperand(1).getIndex(), MI->getOperand(2).getImm()), |