Lines Matching defs:Indices
2549 SmallVector<int, 16> Indices,
2553 if (Indices.size() < 4)
2557 for (unsigned j = i; j < Indices.size(); j += 4) {
2558 int Idx = Indices[j];
2630 SmallVector<int, 16> Indices,
2632 assert((Indices.size() % 2) == 0);
2635 for (const auto &V : Indices) {
2642 return fitsRegularPattern<int>(Indices.begin(), 1, Indices.end(), SplatIndex,
2662 SmallVector<int, 16> Indices,
2664 assert((Indices.size() % 2) == 0);
2668 const auto &Begin = Indices.begin();
2669 const auto &End = Indices.end();
2675 else if (fitsRegularPattern<int>(Begin, 2, End, Indices.size(), 2))
2684 else if (fitsRegularPattern<int>(Begin + 1, 2, End, Indices.size(), 2))
2708 SmallVector<int, 16> Indices,
2710 assert((Indices.size() % 2) == 0);
2714 const auto &Begin = Indices.begin();
2715 const auto &End = Indices.end();
2721 else if (fitsRegularPattern<int>(Begin, 2, End, Indices.size() + 1, 2))
2730 else if (fitsRegularPattern<int>(Begin + 1, 2, End, Indices.size() + 1, 2))
2755 SmallVector<int, 16> Indices,
2757 assert((Indices.size() % 2) == 0);
2761 const auto &Begin = Indices.begin();
2762 const auto &End = Indices.end();
2768 else if (fitsRegularPattern<int>(Begin, 2, End, Indices.size(), 1))
2777 else if (fitsRegularPattern<int>(Begin + 1, 2, End, Indices.size(), 1))
2802 SmallVector<int, 16> Indices,
2804 assert((Indices.size() % 2) == 0);
2806 unsigned HalfSize = Indices.size() / 2;
2809 const auto &Begin = Indices.begin();
2810 const auto &End = Indices.end();
2816 else if (fitsRegularPattern<int>(Begin, 2, End, Indices.size() + HalfSize, 1))
2825 else if (fitsRegularPattern<int>(Begin + 1, 2, End, Indices.size() + HalfSize,
2850 SmallVector<int, 16> Indices,
2852 assert((Indices.size() % 2) == 0);
2856 const auto &Begin = Indices.begin();
2857 const auto &Mid = Indices.begin() + Indices.size() / 2;
2858 const auto &End = Indices.end();
2862 else if (fitsRegularPattern<int>(Begin, 1, Mid, Indices.size(), 2))
2869 else if (fitsRegularPattern<int>(Mid, 1, End, Indices.size(), 2))
2893 SmallVector<int, 16> Indices,
2895 assert((Indices.size() % 2) == 0);
2899 const auto &Begin = Indices.begin();
2900 const auto &Mid = Indices.begin() + Indices.size() / 2;
2901 const auto &End = Indices.end();
2905 else if (fitsRegularPattern<int>(Begin, 1, Mid, Indices.size() + 1, 2))
2912 else if (fitsRegularPattern<int>(Mid, 1, End, Indices.size() + 1, 2))
2922 // This mostly consists of converting the shuffle indices in Indices into a
2929 const SmallVector<int, 16> &Indices,
2943 int Idx = Indices[i];
2951 for (int Idx : Indices)
2987 SmallVector<int, 16> Indices;
2990 Indices.push_back(Node->getMaskElt(i));
2994 if (isVECTOR_SHUFFLE_SPLATI(Op, ResTy, Indices, DAG))
2995 return lowerVECTOR_SHUFFLE_VSHF(Op, ResTy, Indices, DAG);
2997 if ((Result = lowerVECTOR_SHUFFLE_ILVEV(Op, ResTy, Indices, DAG)))
2999 if ((Result = lowerVECTOR_SHUFFLE_ILVOD(Op, ResTy, Indices, DAG)))
3001 if ((Result = lowerVECTOR_SHUFFLE_ILVL(Op, ResTy, Indices, DAG)))
3003 if ((Result = lowerVECTOR_SHUFFLE_ILVR(Op, ResTy, Indices, DAG)))
3005 if ((Result = lowerVECTOR_SHUFFLE_PCKEV(Op, ResTy, Indices, DAG)))
3007 if ((Result = lowerVECTOR_SHUFFLE_PCKOD(Op, ResTy, Indices, DAG)))
3009 if ((Result = lowerVECTOR_SHUFFLE_SHF(Op, ResTy, Indices, DAG)))
3011 return lowerVECTOR_SHUFFLE_VSHF(Op, ResTy, Indices, DAG);