================ @@ -1056,6 +1056,15 @@ struct RISCVOperand final : public MCParsedAsmOperand { isInt<26>(fixImmediateForRV32(Imm, isRV64Imm())); } + bool isSImm32() const { + int64_t Imm; + RISCVMCExpr::VariantKind VK = RISCVMCExpr::VK_RISCV_None; + if (!isImm()) + return false; + bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK); + return IsConstantImm && isInt<32>(Imm) && VK == RISCVMCExpr::VK_RISCV_None; ---------------- hchandel wrote:
I misunderstood previous comments regarding SImm32. Fixed it now. I have one question: This operand SImm32 also supports uimm32 constants, Is it ok to call it SImm (signed immediate)? https://github.com/llvm/llvm-project/pull/124706 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits