diff options
author | Hrvoje Varga <Hrvoje.Varga@imgtec.com> | 2016-02-25 12:53:29 +0000 |
---|---|---|
committer | Hrvoje Varga <Hrvoje.Varga@imgtec.com> | 2016-02-25 12:53:29 +0000 |
commit | 46458d0bcc00f8eb9eb47964ddee25b82a4344f7 (patch) | |
tree | 532292d7273b129aa1abe7d3b355b55881806769 /llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp | |
parent | 31a2f8f9f55ebdbb02da6c3c08a35fe251c72595 (diff) | |
download | bcm5719-llvm-46458d0bcc00f8eb9eb47964ddee25b82a4344f7.tar.gz bcm5719-llvm-46458d0bcc00f8eb9eb47964ddee25b82a4344f7.zip |
[mips][microMIPS] Implement DINSU, DINSM, DINS instructions
Differential Revision: http://reviews.llvm.org/D16181
llvm-svn: 261860
Diffstat (limited to 'llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp')
-rw-r--r-- | llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp b/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp index b1f9d20ebff..5b1b65f37e5 100644 --- a/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp +++ b/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp @@ -1032,6 +1032,10 @@ public: template <unsigned Bits> bool isConstantSImm() const { return isConstantImm() && isInt<Bits>(getConstantImm()); } + template <unsigned Bottom, unsigned Top> bool isConstantUImmRange() const { + return isConstantImm() && getConstantImm() >= Bottom && + getConstantImm() <= Top; + } bool isToken() const override { // Note: It's not possible to pretend that other operand kinds are tokens. // The matcher emitter checks tokens first. @@ -3749,6 +3753,9 @@ bool MipsAsmParser::MatchAndEmitInstruction(SMLoc IDLoc, unsigned &Opcode, case Match_UImm5_Lsl2: return Error(RefineErrorLoc(IDLoc, Operands, ErrorInfo), "expected both 7-bit unsigned immediate and multiple of 4"); + case Match_UImmRange2_64: + return Error(RefineErrorLoc(IDLoc, Operands, ErrorInfo), + "expected immediate in range 2 .. 64"); case Match_UImm6_0: return Error(RefineErrorLoc(IDLoc, Operands, ErrorInfo), "expected 6-bit unsigned immediate"); |