[PATCH] D98136: [RISCV][RFC] Initially support the K-extension instructions on the LLVM MC layer
Craig Topper via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 8 23:02:35 PDT 2021
craig.topper added inline comments.
================
Comment at: llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp:724
+ bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
+ return IsConstantImm && isUInt<4>(Imm + 5) &&
+ VK == RISCVMCExpr::VK_RISCV_None;
----------------
This line has undefined behavior if the user tries to pass a value near INT64_MAX since the +5 would wrap around which isn't undefined.
But I'm not sure it does what you want. This would accept -5, -4, -3, -2, and -1.
================
Comment at: llvm/lib/Target/RISCV/RISCVInstrInfoK.td:23
+
+def rcon : Operand<XLenVT>, ImmLeaf<XLenVT, [{return isUInt<4>(Imm);}]> {
+ let ParserMatchClass = RconArg;
----------------
This isUint<4>(Imm) doesn't match what's in the asm parser.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D98136/new/
https://reviews.llvm.org/D98136
More information about the llvm-commits
mailing list