Lines Matching defs:Imm
399 ImmOp Imm;
422 Imm = o.Imm;
505 static bool evaluateConstantImm(const MCExpr *Expr, int64_t &Imm,
509 return RE->evaluateAsConstant(Imm);
514 Imm = CE->getValue();
524 int64_t Imm;
528 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
533 IsValid = isShiftedInt<N - 1, 1>(fixImmediateForRV32(Imm, isRV64Imm()));
540 int64_t Imm;
543 if (!isImm() || evaluateConstantImm(getImm(), Imm, VK))
550 int64_t Imm;
553 if (!isImm() || evaluateConstantImm(getImm(), Imm, VK))
561 int64_t Imm;
564 if (!isImm() || evaluateConstantImm(getImm(), Imm, VK))
571 int64_t Imm;
574 if (!isImm() || evaluateConstantImm(getImm(), Imm, VK))
581 int64_t Imm;
584 if (!isImm() || evaluateConstantImm(getImm(), Imm, VK))
593 int64_t Imm;
597 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
598 return IsConstantImm && isUIntN(N, Imm) && VK == RISCVMCExpr::VK_RISCV_None;
637 int64_t Imm;
641 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
647 // Given only Imm, ensuring that the actually specified constant is either
651 (isRV64Imm() || (isInt<32>(Imm) || isUInt<32>(Imm)));
658 int64_t Imm;
662 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
665 (isRV64Imm() || (isInt<32>(Imm) || isUInt<32>(Imm)));
669 int64_t Imm;
673 if (!evaluateConstantImm(getImm(), Imm, VK) ||
676 return (isRV64Imm() && isUInt<6>(Imm)) || isUInt<5>(Imm);
680 int64_t Imm;
684 if (!evaluateConstantImm(getImm(), Imm, VK) ||
687 if (Imm == 0)
689 return (isRV64Imm() && isUInt<6>(Imm)) || isUInt<5>(Imm);
693 int64_t Imm;
697 if (!evaluateConstantImm(getImm(), Imm, VK) ||
700 return (isRV64Imm() && isUInt<5>(Imm)) || isUInt<4>(Imm);
704 int64_t Imm;
708 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
709 return IsConstantImm && isUInt<N>(Imm) && VK == RISCVMCExpr::VK_RISCV_None;
731 int64_t Imm;
733 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
734 return IsConstantImm && isUInt<5>(Imm) && (Imm != 0) &&
742 int64_t Imm;
743 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
744 return IsConstantImm && isUInt<5>(Imm) && (Imm > 3) &&
749 int64_t Imm;
753 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
754 return IsConstantImm && isUInt<8>(Imm) && Imm >= 32 &&
759 int64_t Imm;
763 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
764 return IsConstantImm && Imm >= INT64_C(0) && Imm <= INT64_C(10) &&
769 int64_t Imm;
773 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
774 return IsConstantImm && Imm >= INT64_C(0) && Imm <= INT64_C(7) &&
779 int64_t Imm;
783 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
784 return IsConstantImm && Imm >= INT64_C(1) && Imm <= INT64_C(10) &&
789 int64_t Imm;
793 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
794 return IsConstantImm && Imm >= INT64_C(2) && Imm <= INT64_C(14) &&
802 int64_t Imm;
803 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
804 return IsConstantImm && isInt<5>(fixImmediateForRV32(Imm, isRV64Imm())) &&
812 int64_t Imm;
813 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
814 return IsConstantImm && isInt<6>(fixImmediateForRV32(Imm, isRV64Imm())) &&
822 int64_t Imm;
823 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
824 return IsConstantImm && Imm != 0 &&
825 isInt<6>(fixImmediateForRV32(Imm, isRV64Imm())) &&
832 int64_t Imm;
834 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
835 return IsConstantImm && (Imm != 0) &&
836 (isUInt<5>(Imm) || (Imm >= 0xfffe0 && Imm <= 0xfffff)) &&
843 int64_t Imm;
845 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
846 return IsConstantImm && isShiftedUInt<1, 1>(Imm) &&
853 int64_t Imm;
855 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
856 return IsConstantImm && isShiftedUInt<4, 1>(Imm) &&
863 int64_t Imm;
865 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
866 return IsConstantImm && isShiftedUInt<5, 1>(Imm) &&
873 int64_t Imm;
875 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
876 return IsConstantImm && isShiftedUInt<5, 2>(Imm) &&
883 int64_t Imm;
885 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
886 return IsConstantImm && isShiftedUInt<4, 3>(Imm) &&
893 int64_t Imm;
895 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
896 return IsConstantImm && isShiftedUInt<6, 2>(Imm) &&
903 int64_t Imm;
905 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
906 return IsConstantImm && isShiftedUInt<5, 3>(Imm) &&
915 int64_t Imm;
917 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
918 return IsConstantImm && isShiftedUInt<6, 3>(Imm) &&
925 int64_t Imm;
927 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
928 return IsConstantImm && isShiftedUInt<8, 2>(Imm) && (Imm != 0) &&
934 static int64_t fixImmediateForRV32(int64_t Imm, bool IsRV64Imm) {
935 if (IsRV64Imm || !isUInt<32>(Imm))
936 return Imm;
937 return SignExtend64<32>(Imm);
942 int64_t Imm;
946 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
950 IsValid = isInt<12>(fixImmediateForRV32(Imm, isRV64Imm()));
965 int64_t Imm;
966 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
968 isShiftedInt<7, 5>(fixImmediateForRV32(Imm, isRV64Imm())) &&
977 int64_t Imm;
979 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
980 return IsConstantImm && (Imm != 0) &&
981 isShiftedInt<6, 4>(fixImmediateForRV32(Imm, isRV64Imm())) &&
987 int64_t Imm;
991 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
997 return isUInt<20>(Imm) && (VK == RISCVMCExpr::VK_RISCV_None ||
1005 int64_t Imm;
1009 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
1019 return isUInt<20>(Imm) && (VK == RISCVMCExpr::VK_RISCV_None ||
1032 int64_t Imm;
1034 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
1035 return IsConstantImm && (Imm == 0) && VK == RISCVMCExpr::VK_RISCV_None;
1042 int64_t Imm;
1043 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
1045 isInt<5>(fixImmediateForRV32(Imm, isRV64Imm()) - 1) &&
1053 int64_t Imm;
1054 bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK);
1056 isInt<26>(fixImmediateForRV32(Imm, isRV64Imm()));
1066 return Imm.IsRV64;
1081 return Imm.Val;
1185 Op->Imm.Val = Val;
1186 Op->Imm.IsRV64 = IsRV64;
1263 int64_t Imm = 0;
1265 bool IsConstant = evaluateConstantImm(Expr, Imm, VK);
1269 MCOperand::createImm(fixImmediateForRV32(Imm, IsRV64Imm)));
1292 int Imm = RISCVLoadFPImm::getLoadFPImm(
1294 Inst.addOperand(MCOperand::createImm(Imm));
1312 int64_t Imm = 0;
1316 evaluateConstantImm(getImm(), Imm, VK);
1319 Imm = getVType();
1321 Inst.addOperand(MCOperand::createImm(Imm));
1841 int64_t Imm = CE->getValue();
1842 if (isUInt<7>(Imm)) {
1896 int64_t Imm = CE->getValue();
1897 if (Imm >= 0 && Imm <= 2) {
1942 int64_t Imm = CE->getValue();
1943 if (isUInt<12>(Imm)) {
1944 auto Range = RISCVSysReg::lookupSysRegByEncoding(Imm);
1951 return RISCVOperand::createSysReg(Reg.Name, S, Imm);
1955 return RISCVOperand::createSysReg("", S, Imm);
2550 unsigned Imm = 0;
2559 Imm |= RISCVFenceField::I;
2562 Imm |= RISCVFenceField::O;
2565 Imm |= RISCVFenceField::R;
2568 Imm |= RISCVFenceField::W;
2582 Operands.push_back(RISCVOperand::createFenceArg(Imm, getLoc()));
3795 int64_t Imm = Inst.getOperand(1).getImm();
3797 // 32-bit number. Sign extension has to be performed to ensure that Imm
3800 Imm = SignExtend64<32>(Imm);
3801 emitLoadImm(Reg, Imm, Out);
3904 int64_t Imm = Inst.getOperand(2).getImm();
3910 .addImm(Imm - 1)
3917 int64_t Imm = Inst.getOperand(2).getImm();
3922 if (Imm == 0) {
3940 .addImm(Imm - 1)