diff options
Diffstat (limited to 'lib/Target/ARM/ARMMCCodeEmitter.cpp')
-rw-r--r-- | lib/Target/ARM/ARMMCCodeEmitter.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMMCCodeEmitter.cpp b/lib/Target/ARM/ARMMCCodeEmitter.cpp index 6f32ce7645..fcf10ff745 100644 --- a/lib/Target/ARM/ARMMCCodeEmitter.cpp +++ b/lib/Target/ARM/ARMMCCodeEmitter.cpp @@ -100,6 +100,7 @@ public: unsigned getRegisterListOpValue(const MCInst &MI, unsigned Op) const; unsigned getAddrMode6RegisterOperand(const MCInst &MI, unsigned Op) const; + unsigned getAddrMode6OffsetOperand(const MCInst &MI, unsigned Op) const; unsigned getNumFixupKinds() const { assert(0 && "ARMMCCodeEmitter::getNumFixupKinds() not yet implemented."); @@ -312,6 +313,14 @@ unsigned ARMMCCodeEmitter::getAddrMode6RegisterOperand(const MCInst &MI, return RegNo | (Align << 4); } +unsigned ARMMCCodeEmitter::getAddrMode6OffsetOperand(const MCInst &MI, + unsigned Op) const { + const MCOperand ®no = MI.getOperand(Op); + if (regno.getReg() == 0) return 0x0D; + return regno.getReg(); +} + + void ARMMCCodeEmitter:: EncodeInstruction(const MCInst &MI, raw_ostream &OS, SmallVectorImpl<MCFixup> &Fixups) const { |