Lines Matching defs:Imm

398     ImmOp Imm;
421 Imm = o.Imm;
491 static bool evaluateConstantImm(const MCExpr *Expr, int64_t &Imm,
495 return RE->evaluateAsConstant(Imm);
500 Imm = CE->getValue();
510 int64_t Imm;
514 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
519 IsValid = isShiftedInt<N - 1, 1>(Imm);
526 int64_t Imm;
529 if (!isImm() || evaluateConstantImm(getImm(), Imm, VK))
536 int64_t Imm;
539 if (!isImm() || evaluateConstantImm(getImm(), Imm, VK))
547 int64_t Imm;
550 if (!isImm() || evaluateConstantImm(getImm(), Imm, VK))
557 int64_t Imm;
560 if (!isImm() || evaluateConstantImm(getImm(), Imm, VK))
567 int64_t Imm;
570 if (!isImm() || evaluateConstantImm(getImm(), Imm, VK))
579 int64_t Imm;
583 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
584 return IsConstantImm && isUIntN(N, Imm) && VK == RISCVMCExpr::VK_RISCV_None;
623 int64_t Imm;
627 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
633 // Given only Imm, ensuring that the actually specified constant is either
637 (isRV64Imm() || (isInt<32>(Imm) || isUInt<32>(Imm)));
644 int64_t Imm;
648 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
651 (isRV64Imm() || (isInt<32>(Imm) || isUInt<32>(Imm)));
655 int64_t Imm;
659 if (!evaluateConstantImm(getImm(), Imm, VK) ||
662 return (isRV64Imm() && isUInt<6>(Imm)) || isUInt<5>(Imm);
666 int64_t Imm;
670 if (!evaluateConstantImm(getImm(), Imm, VK) ||
673 if (Imm == 0)
675 return (isRV64Imm() && isUInt<6>(Imm)) || isUInt<5>(Imm);
679 int64_t Imm;
683 if (!evaluateConstantImm(getImm(), Imm, VK) ||
686 return (isRV64Imm() && isUInt<5>(Imm)) || isUInt<4>(Imm);
690 int64_t Imm;
694 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
695 return IsConstantImm && isUInt<N>(Imm) && VK == RISCVMCExpr::VK_RISCV_None;
711 int64_t Imm;
715 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
716 return IsConstantImm && isUInt<8>(Imm) && Imm >= 32 &&
721 int64_t Imm;
725 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
726 return IsConstantImm && Imm >= INT64_C(0) && Imm <= INT64_C(10) &&
731 int64_t Imm;
735 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
736 return IsConstantImm && Imm >= INT64_C(0) && Imm <= INT64_C(7) &&
741 int64_t Imm;
745 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
746 return IsConstantImm && Imm >= INT64_C(1) && Imm <= INT64_C(10) &&
751 int64_t Imm;
755 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
756 return IsConstantImm && Imm >= INT64_C(2) && Imm <= INT64_C(14) &&
764 int64_t Imm;
765 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
766 return IsConstantImm && isInt<5>(fixImmediateForRV32(Imm, isRV64Imm())) &&
774 int64_t Imm;
775 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
776 return IsConstantImm && isInt<6>(fixImmediateForRV32(Imm, isRV64Imm())) &&
784 int64_t Imm;
785 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
786 return IsConstantImm && Imm != 0 &&
787 isInt<6>(fixImmediateForRV32(Imm, isRV64Imm())) &&
794 int64_t Imm;
796 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
797 return IsConstantImm && (Imm != 0) &&
798 (isUInt<5>(Imm) || (Imm >= 0xfffe0 && Imm <= 0xfffff)) &&
805 int64_t Imm;
807 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
808 return IsConstantImm && isShiftedUInt<1, 1>(Imm) &&
815 int64_t Imm;
817 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
818 return IsConstantImm && isShiftedUInt<4, 1>(Imm) &&
825 int64_t Imm;
827 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
828 return IsConstantImm && isShiftedUInt<5, 1>(Imm) &&
835 int64_t Imm;
837 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
838 return IsConstantImm && isShiftedUInt<5, 2>(Imm) &&
845 int64_t Imm;
847 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
848 return IsConstantImm && isShiftedUInt<6, 2>(Imm) &&
855 int64_t Imm;
857 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
858 return IsConstantImm && isShiftedUInt<5, 3>(Imm) &&
867 int64_t Imm;
869 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
870 return IsConstantImm && isShiftedUInt<6, 3>(Imm) &&
877 int64_t Imm;
879 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
880 return IsConstantImm && isShiftedUInt<8, 2>(Imm) && (Imm != 0) &&
886 static int64_t fixImmediateForRV32(int64_t Imm, bool IsRV64Imm) {
887 if (IsRV64Imm || !isUInt<32>(Imm))
888 return Imm;
889 return SignExtend64<32>(Imm);
894 int64_t Imm;
898 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
902 IsValid = isInt<12>(fixImmediateForRV32(Imm, isRV64Imm()));
917 int64_t Imm;
918 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
919 return IsConstantImm && isShiftedInt<7, 5>(Imm) &&
928 int64_t Imm;
930 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
931 return IsConstantImm && (Imm != 0) && isShiftedInt<6, 4>(Imm) &&
937 int64_t Imm;
941 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
947 return isUInt<20>(Imm) && (VK == RISCVMCExpr::VK_RISCV_None ||
955 int64_t Imm;
959 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
969 return isUInt<20>(Imm) && (VK == RISCVMCExpr::VK_RISCV_None ||
982 int64_t Imm;
984 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
985 return IsConstantImm && (Imm == 0) && VK == RISCVMCExpr::VK_RISCV_None;
992 int64_t Imm;
993 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
995 isInt<5>(fixImmediateForRV32(Imm, isRV64Imm()) - 1) &&
1006 return Imm.IsRV64;
1021 return Imm.Val;
1125 Op->Imm.Val = Val;
1126 Op->Imm.IsRV64 = IsRV64;
1203 int64_t Imm = 0;
1205 bool IsConstant = evaluateConstantImm(Expr, Imm, VK);
1209 MCOperand::createImm(fixImmediateForRV32(Imm, IsRV64Imm)));
1232 int Imm = RISCVLoadFPImm::getLoadFPImm(
1234 Inst.addOperand(MCOperand::createImm(Imm));
1252 int64_t Imm = 0;
1256 evaluateConstantImm(getImm(), Imm, VK);
1259 Imm = getVType();
1261 Inst.addOperand(MCOperand::createImm(Imm));
1777 int64_t Imm = CE->getValue();
1778 if (isUInt<7>(Imm)) {
1832 int64_t Imm = CE->getValue();
1833 if (Imm >= 0 && Imm <= 2) {
1891 int64_t Imm = CE->getValue();
1892 if (isUInt<12>(Imm)) {
1893 auto Range = RISCVSysReg::lookupSysRegByEncoding(Imm);
1898 Operands.push_back(RISCVOperand::createSysReg(Reg.Name, S, Imm));
1904 Operands.push_back(RISCVOperand::createSysReg("", S, Imm));
2403 unsigned Imm = 0;
2412 Imm |= RISCVFenceField::I;
2415 Imm |= RISCVFenceField::O;
2418 Imm |= RISCVFenceField::R;
2421 Imm |= RISCVFenceField::W;
2435 Operands.push_back(RISCVOperand::createFenceArg(Imm, getLoc()));
3606 int64_t Imm = Inst.getOperand(1).getImm();
3608 // 32-bit number. Sign extension has to be performed to ensure that Imm
3611 Imm = SignExtend64<32>(Imm);
3612 emitLoadImm(Reg, Imm, Out);
3715 int64_t Imm = Inst.getOperand(2).getImm();
3721 .addImm(Imm - 1)
3728 int64_t Imm = Inst.getOperand(2).getImm();
3733 if (Imm == 0) {
3751 .addImm(Imm - 1)