Lines Matching refs:Val

48 static void generateInstSeqImpl(int64_t Val,  in generateInstSeqImpl()  argument
53 if (isInt<32>(Val)) { in generateInstSeqImpl()
61 int64_t Hi20 = ((Val + 0x800) >> 12) & 0xFFFFF; in generateInstSeqImpl()
62 int64_t Lo12 = SignExtend64<12>(Val); in generateInstSeqImpl()
77 if (ActiveFeatures[RISCV::FeatureStdExtZbs] && isPowerOf2_64(Val)) { in generateInstSeqImpl()
78 Res.push_back(RISCVMatInt::Inst(RISCV::BSETI, Log2_64(Val))); in generateInstSeqImpl()
105 int64_t Lo12 = SignExtend64<12>(Val); in generateInstSeqImpl()
106 Val = (uint64_t)Val - (uint64_t)Lo12; in generateInstSeqImpl()
112 if (!isInt<32>(Val)) { in generateInstSeqImpl()
113 ShiftAmount = findFirstSet((uint64_t)Val); in generateInstSeqImpl()
114 Val >>= ShiftAmount; in generateInstSeqImpl()
118 if (ShiftAmount > 12 && !isInt<12>(Val)) { in generateInstSeqImpl()
119 if (isInt<32>((uint64_t)Val << 12)) { in generateInstSeqImpl()
122 Val = (uint64_t)Val << 12; in generateInstSeqImpl()
123 } else if (isUInt<32>((uint64_t)Val << 12) && in generateInstSeqImpl()
128 Val = ((uint64_t)Val << 12) | (0xffffffffull << 32); in generateInstSeqImpl()
134 if (isUInt<32>((uint64_t)Val) && !isInt<32>((uint64_t)Val) && in generateInstSeqImpl()
138 Val = ((uint64_t)Val) | (0xffffffffull << 32); in generateInstSeqImpl()
143 generateInstSeqImpl(Val, ActiveFeatures, Res); in generateInstSeqImpl()
157 static unsigned extractRotateInfo(int64_t Val) { in extractRotateInfo() argument
159 unsigned LeadingOnes = countLeadingOnes((uint64_t)Val); in extractRotateInfo()
160 unsigned TrailingOnes = countTrailingOnes((uint64_t)Val); in extractRotateInfo()
166 unsigned UpperTrailingOnes = countTrailingOnes(Hi_32(Val)); in extractRotateInfo()
167 unsigned LowerLeadingOnes = countLeadingOnes(Lo_32(Val)); in extractRotateInfo()
177 InstSeq generateInstSeq(int64_t Val, const FeatureBitset &ActiveFeatures) { in generateInstSeq() argument
179 generateInstSeqImpl(Val, ActiveFeatures, Res); in generateInstSeq()
183 if ((Val & 1) == 0 && Res.size() > 2) { in generateInstSeq()
184 unsigned TrailingZeros = countTrailingZeros((uint64_t)Val); in generateInstSeq()
185 int64_t ShiftedVal = Val >> TrailingZeros; in generateInstSeq()
201 if (Val > 0 && Res.size() > 2) { in generateInstSeq()
204 unsigned LeadingZeros = countLeadingZeros((uint64_t)Val); in generateInstSeq()
205 uint64_t ShiftedVal = (uint64_t)Val << LeadingZeros; in generateInstSeq()
241 uint64_t LeadingOnesVal = Val | maskLeadingOnes<uint64_t>(LeadingZeros); in generateInstSeq()
269 if (Val < 0) { in generateInstSeq()
271 NewVal = Val | 0x80000000ll; in generateInstSeq()
274 NewVal = Val & ~0x80000000ll; in generateInstSeq()
287 int32_t Lo = Val; in generateInstSeq()
288 uint32_t Hi = Val >> 32; in generateInstSeq()
319 if ((Val % 3) == 0 && isInt<32>(Val / 3)) { in generateInstSeq()
322 } else if ((Val % 5) == 0 && isInt<32>(Val / 5)) { in generateInstSeq()
325 } else if ((Val % 9) == 0 && isInt<32>(Val / 9)) { in generateInstSeq()
331 generateInstSeqImpl(Val / Div, ActiveFeatures, TmpSeq); in generateInstSeq()
337 int64_t Hi52 = ((uint64_t)Val + 0x800ull) & ~0xfffull; in generateInstSeq()
338 int64_t Lo12 = SignExtend64<12>(Val); in generateInstSeq()
368 if (unsigned Rotate = extractRotateInfo(Val)) { in generateInstSeq()
371 ((uint64_t)Val >> (64 - Rotate)) | ((uint64_t)Val << Rotate); in generateInstSeq()
381 int getIntMatCost(const APInt &Val, unsigned Size, in getIntMatCost() argument
391 APInt Chunk = Val.ashr(ShiftVal).sextOrTrunc(PlatRegSize); in getIntMatCost()