summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
diff options
context:
space:
mode:
authorLuis Marques <luismarques@lowrisc.org>2019-08-21 14:00:58 +0000
committerLuis Marques <luismarques@lowrisc.org>2019-08-21 14:00:58 +0000
commitc3bf3d14ea66767e688242c93cb9920ad80b64a3 (patch)
tree030c8dd7701c75dea90f9c91100f44ab22c88ca5 /llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
parenta451156bb6ceb3700f6ea42e47e9a95d67723318 (diff)
downloadbcm5719-llvm-c3bf3d14ea66767e688242c93cb9920ad80b64a3.tar.gz
bcm5719-llvm-c3bf3d14ea66767e688242c93cb9920ad80b64a3.zip
[RISCV] Add support for RVC HINT instructions
The hint instructions are enabled by default (if the standard C extension is enabled). To disable them pass -mattr=-rvc-hints. Differential Revision: https://reviews.llvm.org/D62592 llvm-svn: 369528
Diffstat (limited to 'llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp')
-rw-r--r--llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp b/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
index 55ce2e4e16a..9605444080c 100644
--- a/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
+++ b/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
@@ -864,6 +864,10 @@ bool RISCVAsmParser::MatchAndEmitInstruction(SMLoc IDLoc, unsigned &Opcode,
return generateImmOutOfRangeError(Operands, ErrorInfo,
std::numeric_limits<int32_t>::min(),
std::numeric_limits<uint32_t>::max());
+ case Match_InvalidImmZero: {
+ SMLoc ErrorLoc = ((RISCVOperand &)*Operands[ErrorInfo]).getStartLoc();
+ return Error(ErrorLoc, "immediate must be zero");
+ }
case Match_InvalidUImmLog2XLen:
if (isRV64())
return generateImmOutOfRangeError(Operands, ErrorInfo, 0, (1 << 6) - 1);
OpenPOWER on IntegriCloud