summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Mips/MipsTargetStreamer.h
diff options
context:
space:
mode:
authorSimon Dardis <simon.dardis@imgtec.com>2017-07-12 19:47:45 +0000
committerSimon Dardis <simon.dardis@imgtec.com>2017-07-12 19:47:45 +0000
commite171a913d62bdc8a5434d0d1915fabb6e907fc6a (patch)
tree0d1498f5cf6c87177016f092268dcd50ce4f429a /llvm/lib/Target/Mips/MipsTargetStreamer.h
parent0962cb2e3a9955f990b8f8a42d34f812ed222697 (diff)
downloadbcm5719-llvm-e171a913d62bdc8a5434d0d1915fabb6e907fc6a.tar.gz
bcm5719-llvm-e171a913d62bdc8a5434d0d1915fabb6e907fc6a.zip
[mips][mt][6/7] Add support for mftr, mttr instructions.
Unlike many other instructions, these instructions have aliases which take coprocessor registers, gpr register, accumulator (and dsp accumulator) registers, floating point registers, floating point control registers and coprocessor 2 data and control operands. For the moment, these aliases are treated as pseudo instructions which are expanded into the underlying instruction. As a result, disassembling these instructions shows the underlying instruction and not the alias. Reviewers: slthakur, atanasyan Differential Revision: https://reviews.llvm.org/D35253 llvm-svn: 307836
Diffstat (limited to 'llvm/lib/Target/Mips/MipsTargetStreamer.h')
-rw-r--r--llvm/lib/Target/Mips/MipsTargetStreamer.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Target/Mips/MipsTargetStreamer.h b/llvm/lib/Target/Mips/MipsTargetStreamer.h
index 7d9f99ce071..af24838665e 100644
--- a/llvm/lib/Target/Mips/MipsTargetStreamer.h
+++ b/llvm/lib/Target/Mips/MipsTargetStreamer.h
@@ -119,6 +119,9 @@ public:
SMLoc IDLoc, const MCSubtargetInfo *STI);
void emitRRI(unsigned Opcode, unsigned Reg0, unsigned Reg1, int16_t Imm,
SMLoc IDLoc, const MCSubtargetInfo *STI);
+ void emitRRIII(unsigned Opcode, unsigned Reg0, unsigned Reg1, int16_t Imm0,
+ int16_t Imm1, int16_t Imm2, SMLoc IDLoc,
+ const MCSubtargetInfo *STI);
void emitAddu(unsigned DstReg, unsigned SrcReg, unsigned TrgReg, bool Is64Bit,
const MCSubtargetInfo *STI);
void emitDSLL(unsigned DstReg, unsigned SrcReg, int16_t ShiftAmount,
OpenPOWER on IntegriCloud