Lines Matching defs:NumParts
276 const unsigned NumParts = TTI.getNumberOfParts(getWidenedType(Ty, Sz));
277 if (NumParts == 0 || NumParts >= Sz)
279 return bit_ceil(divideCeil(Sz, NumParts)) * NumParts;
291 unsigned NumParts = TTI.getNumberOfParts(getWidenedType(Ty, Sz));
292 if (NumParts == 0 || NumParts >= Sz)
294 unsigned RegVF = bit_ceil(divideCeil(Sz, NumParts));
434 /// NumParts.
435 static unsigned getPartNumElems(unsigned Size, unsigned NumParts) {
436 return std::min<unsigned>(Size, bit_ceil(divideCeil(Size, NumParts)));
1312 const unsigned NumParts = TTI.getNumberOfParts(getWidenedType(Ty, Sz));
1313 return NumParts > 0 && NumParts < Sz && has_single_bit(Sz / NumParts) &&
1314 Sz % NumParts == 0;
1323 unsigned NumParts = TTI.getNumberOfParts(VecTy);
1324 if (NumParts == 0 || NumParts >= Limit)
1327 if (NumParts >= Sz || Sz % NumParts != 0 ||
1328 !hasFullVectorsOrPowerOf2(TTI, VecTy->getElementType(), Sz / NumParts))
1330 return NumParts;
3120 unsigned NumParts) const;
3153 unsigned NumParts, bool ForOrder = false);
4645 unsigned NumParts = ::getNumberOfParts(*TTI, VecTy, NumScalars);
4650 tryToGatherExtractElements(GatheredScalars, ExtractMask, NumParts);
4652 isGatherShuffledEntry(&TE, GatheredScalars, Mask, Entries, NumParts,
4680 SmallBitVector ShuffledSubMasks(NumParts);
4682 ArrayRef<int> Mask, int PartSz, int NumParts,
4684 for (int I : seq<int>(0, NumParts)) {
4749 int PartSz = getPartNumElems(NumScalars, NumParts);
4752 CurrentOrder, ExtractMask, PartSz, NumParts, [&](unsigned I) {
4778 if (GatherShuffles.size() == 1 && NumParts != 1) {
4782 NumParts = 1;
4785 TransformMaskToOrder(CurrentOrder, Mask, PartSz, NumParts, [&](unsigned I) {
5609 unsigned NumParts = divideCeil(VF, Sz);
5610 SmallBitVector UsedVals(NumParts);
5623 Val >= static_cast<int>(NumParts) || UsedVals.test(Val) ||
5627 for (unsigned K = 0; K < NumParts; ++K) {
10201 unsigned NumParts) {
10202 assert(VL.size() > NumParts && "Unexpected scalarized shuffle.");
10214 unsigned EltsPerVector = getPartNumElems(VL.size(), NumParts);
10239 (Idx / NumElts) * NumParts + (Idx % NumElts) / EltsPerVector;
10254 int RegId = ((I - OffsetReg0) / NumElts) * NumParts +
10275 for (unsigned Part : seq<unsigned>(NumParts)) {
10655 unsigned NumParts, bool &UseVecBaseAsInput) {
10682 unsigned SliceSize = getPartNumElems(VL.size(), NumParts);
10683 for (unsigned Part : seq<unsigned>(NumParts)) {
10744 Cost += computeExtractCost(VL, Mask, ShuffleKinds, NumParts);
10749 if (NumParts != 1 && UniqueBases.size() != 1) {
10781 unsigned NumParts = ::getNumberOfParts(TTI, MaskVecTy, Mask.size());
10782 unsigned SliceSize = getPartNumElems(Mask.size(), NumParts);
10796 unsigned NumParts = ::getNumberOfParts(TTI, MaskVecTy, Mask.size());
10797 unsigned SliceSize = getPartNumElems(Mask.size(), NumParts);
13048 unsigned NumParts) const {
13049 assert(NumParts > 0 && "NumParts expected be greater than or equal to 1.");
13050 SmallVector<std::optional<TTI::ShuffleKind>> ShufflesRes(NumParts);
13052 unsigned SliceSize = getPartNumElems(VL.size(), NumParts);
13053 for (unsigned Part : seq<unsigned>(NumParts)) {
13587 SmallVectorImpl<SmallVector<const TreeEntry *>> &Entries, unsigned NumParts,
13589 assert(NumParts > 0 && NumParts < VL.size() &&
13608 assert(VL.size() % NumParts == 0 &&
13609 "Number of scalars must be divisible by NumParts.");
13620 unsigned SliceSize = getPartNumElems(VL.size(), NumParts);
13622 for (unsigned Part : seq<unsigned>(NumParts)) {
14208 unsigned NumParts, bool &UseVecBaseAsInput) {
14231 (NumParts != 1 && count(VL, EI) > 1) ||
14251 if (NumParts == 1 || UniqueBases.size() == 1) {
14267 unsigned SliceSize = getPartNumElems(VL.size(), NumParts);
14268 for (unsigned Part : seq<unsigned>(NumParts)) {
14840 unsigned NumParts = ::getNumberOfParts(*TTI, VecTy, GatheredScalars.size());
14845 tryToGatherExtractElements(GatheredScalars, ExtractMask, NumParts);
14865 E, ExtractMask, ExtractShuffles, NumParts, UseVecBaseAsInput)) {
14873 NumParts =
14892 isGatherShuffledEntry(E, GatheredScalars, Mask, Entries, NumParts);
15093 unsigned SliceSize = getPartNumElems(E->Scalars.size(), NumParts);
18216 unsigned NumParts = ::getNumberOfParts(
18275 if (NumParts > 1 &&
18276 NumParts ==
18286 Opcode == Instruction::ZExt || NumParts > 1;
20058 unsigned NumParts, NumRegs;
20063 NumParts = ::getNumberOfParts(TTI, Tp);
20066 while (NumParts > NumRegs) {
20070 NumParts = ::getNumberOfParts(TTI, Tp);
20074 if (NumParts > NumRegs / 2)