Lines Matching refs:Imm
309 ImmOp Imm; member
327 Imm = o.Imm; in RISCVOperand()
363 static bool evaluateConstantImm(const MCExpr *Expr, int64_t &Imm, in evaluateConstantImm()
367 return RE->evaluateAsConstant(Imm); in evaluateConstantImm()
372 Imm = CE->getValue(); in evaluateConstantImm()
382 int64_t Imm; in isBareSimmNLsb0() local
386 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK); in isBareSimmNLsb0()
391 IsValid = isShiftedInt<N - 1, 1>(Imm); in isBareSimmNLsb0()
398 int64_t Imm; in isBareSymbol() local
401 if (!isImm() || evaluateConstantImm(getImm(), Imm, VK)) in isBareSymbol()
408 int64_t Imm; in isCallSymbol() local
411 if (!isImm() || evaluateConstantImm(getImm(), Imm, VK)) in isCallSymbol()
419 int64_t Imm; in isPseudoJumpSymbol() local
422 if (!isImm() || evaluateConstantImm(getImm(), Imm, VK)) in isPseudoJumpSymbol()
429 int64_t Imm; in isTPRelAddSymbol() local
432 if (!isImm() || evaluateConstantImm(getImm(), Imm, VK)) in isTPRelAddSymbol()
441 int64_t Imm; in isVTypeImm() local
445 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK); in isVTypeImm()
446 return IsConstantImm && isUIntN(N, Imm) && VK == RISCVMCExpr::VK_RISCV_None; in isVTypeImm()
468 int64_t Imm; in isFenceArg() local
470 if (evaluateConstantImm(getImm(), Imm, VK)) { in isFenceArg()
472 return VK == RISCVMCExpr::VK_RISCV_None && Imm == 0; in isFenceArg()
510 int64_t Imm; in isImmXLenLI() local
514 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK); in isImmXLenLI()
520 (isRV64() || (isInt<32>(Imm) || isUInt<32>(Imm))); in isImmXLenLI()
524 int64_t Imm; in isUImmLog2XLen() local
528 if (!evaluateConstantImm(getImm(), Imm, VK) || in isUImmLog2XLen()
531 return (isRV64() && isUInt<6>(Imm)) || isUInt<5>(Imm); in isUImmLog2XLen()
535 int64_t Imm; in isUImmLog2XLenNonZero() local
539 if (!evaluateConstantImm(getImm(), Imm, VK) || in isUImmLog2XLenNonZero()
542 if (Imm == 0) in isUImmLog2XLenNonZero()
544 return (isRV64() && isUInt<6>(Imm)) || isUInt<5>(Imm); in isUImmLog2XLenNonZero()
548 int64_t Imm; in isUImmLog2XLenHalf() local
552 if (!evaluateConstantImm(getImm(), Imm, VK) || in isUImmLog2XLenHalf()
555 return (isRV64() && isUInt<5>(Imm)) || isUInt<4>(Imm); in isUImmLog2XLenHalf()
559 int64_t Imm; in IsUImm() local
563 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK); in IsUImm()
564 return IsConstantImm && isUInt<N>(Imm) && VK == RISCVMCExpr::VK_RISCV_None; in IsUImm()
573 int64_t Imm; in isRnumArg() local
577 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK); in isRnumArg()
578 return IsConstantImm && Imm >= INT64_C(0) && Imm <= INT64_C(10) && in isRnumArg()
586 int64_t Imm; in isSImm5() local
587 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK); in isSImm5()
588 return IsConstantImm && isInt<5>(Imm) && VK == RISCVMCExpr::VK_RISCV_None; in isSImm5()
595 int64_t Imm; in isSImm6() local
596 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK); in isSImm6()
597 return IsConstantImm && isInt<6>(Imm) && VK == RISCVMCExpr::VK_RISCV_None; in isSImm6()
604 int64_t Imm; in isSImm6NonZero() local
605 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK); in isSImm6NonZero()
606 return IsConstantImm && isInt<6>(Imm) && (Imm != 0) && in isSImm6NonZero()
613 int64_t Imm; in isCLUIImm() local
615 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK); in isCLUIImm()
616 return IsConstantImm && (Imm != 0) && in isCLUIImm()
617 (isUInt<5>(Imm) || (Imm >= 0xfffe0 && Imm <= 0xfffff)) && in isCLUIImm()
624 int64_t Imm; in isUImm7Lsb00() local
626 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK); in isUImm7Lsb00()
627 return IsConstantImm && isShiftedUInt<5, 2>(Imm) && in isUImm7Lsb00()
634 int64_t Imm; in isUImm8Lsb00() local
636 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK); in isUImm8Lsb00()
637 return IsConstantImm && isShiftedUInt<6, 2>(Imm) && in isUImm8Lsb00()
644 int64_t Imm; in isUImm8Lsb000() local
646 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK); in isUImm8Lsb000()
647 return IsConstantImm && isShiftedUInt<5, 3>(Imm) && in isUImm8Lsb000()
656 int64_t Imm; in isUImm9Lsb000() local
658 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK); in isUImm9Lsb000()
659 return IsConstantImm && isShiftedUInt<6, 3>(Imm) && in isUImm9Lsb000()
666 int64_t Imm; in isUImm10Lsb00NonZero() local
668 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK); in isUImm10Lsb00NonZero()
669 return IsConstantImm && isShiftedUInt<8, 2>(Imm) && (Imm != 0) && in isUImm10Lsb00NonZero()
675 int64_t Imm; in isSImm12() local
679 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK); in isSImm12()
683 IsValid = isInt<12>(Imm); in isSImm12()
696 int64_t Imm; in isSImm12Lsb00000() local
697 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK); in isSImm12Lsb00000()
698 return IsConstantImm && isShiftedInt<7, 5>(Imm) && in isSImm12Lsb00000()
707 int64_t Imm; in isSImm10Lsb0000NonZero() local
709 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK); in isSImm10Lsb0000NonZero()
710 return IsConstantImm && (Imm != 0) && isShiftedInt<6, 4>(Imm) && in isSImm10Lsb0000NonZero()
716 int64_t Imm; in isUImm20LUI() local
720 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK); in isUImm20LUI()
726 return isUInt<20>(Imm) && (VK == RISCVMCExpr::VK_RISCV_None || in isUImm20LUI()
734 int64_t Imm; in isUImm20AUIPC() local
738 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK); in isUImm20AUIPC()
746 return isUInt<20>(Imm) && (VK == RISCVMCExpr::VK_RISCV_None || in isUImm20AUIPC()
759 int64_t Imm; in isImmZero() local
761 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK); in isImmZero()
762 return IsConstantImm && (Imm == 0) && VK == RISCVMCExpr::VK_RISCV_None; in isImmZero()
769 int64_t Imm; in isSImm5Plus1() local
770 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK); in isSImm5Plus1()
771 return IsConstantImm && isInt<5>(Imm - 1) && in isSImm5Plus1()
794 return Imm.Val; in getImm()
861 Op->Imm.Val = Val; in createImm()
892 int64_t Imm = 0; in addExpr() local
894 bool IsConstant = evaluateConstantImm(Expr, Imm, VK); in addExpr()
897 Inst.addOperand(MCOperand::createImm(Imm)); in addExpr()
929 unsigned Imm = 0; in addFenceArgOperands() local
935 Imm |= RISCVFenceField::I; in addFenceArgOperands()
938 Imm |= RISCVFenceField::O; in addFenceArgOperands()
941 Imm |= RISCVFenceField::R; in addFenceArgOperands()
944 Imm |= RISCVFenceField::W; in addFenceArgOperands()
948 Inst.addOperand(MCOperand::createImm(Imm)); in addFenceArgOperands()
961 int64_t Imm = 0; in addVTypeIOperands() local
964 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK); in addVTypeIOperands()
968 Imm = getVType(); in addVTypeIOperands()
970 Inst.addOperand(MCOperand::createImm(Imm)); in addVTypeIOperands()
1404 int64_t Imm = CE->getValue(); in parseInsnDirectiveOpcode() local
1405 if (isUInt<7>(Imm)) { in parseInsnDirectiveOpcode()
1464 int64_t Imm = CE->getValue(); in parseCSRSystemRegister() local
1465 if (isUInt<12>(Imm)) { in parseCSRSystemRegister()
1466 auto SysReg = RISCVSysReg::lookupSysRegByEncoding(Imm); in parseCSRSystemRegister()
1470 SysReg ? SysReg->Name : "", S, Imm, isRV64())); in parseCSRSystemRegister()
2313 case RISCVMatInt::Imm: in emitLoadImm()
2315 MCInstBuilder(Inst.Opc).addReg(DestReg).addImm(Inst.Imm)); in emitLoadImm()
2330 Inst.Imm)); in emitLoadImm()
2658 int64_t Imm = Inst.getOperand(1).getImm(); in processInstruction() local
2663 Imm = SignExtend64<32>(Imm); in processInstruction()
2664 emitLoadImm(Reg, Imm, Out); in processInstruction()
2760 int64_t Imm = Inst.getOperand(2).getImm(); in processInstruction() local
2766 .addImm(Imm - 1) in processInstruction()
2772 int64_t Imm = Inst.getOperand(2).getImm(); in processInstruction() local
2777 if (Imm == 0) { in processInstruction()
2794 .addImm(Imm - 1) in processInstruction()