Lines Matching refs:Indices

2555                                        SmallVector<int, 16> Indices,
2559 if (Indices.size() < 4)
2563 for (unsigned j = i; j < Indices.size(); j += 4) {
2564 int Idx = Indices[j];
2636 SmallVector<int, 16> Indices,
2638 assert((Indices.size() % 2) == 0);
2641 for (const auto &V : Indices) {
2648 return fitsRegularPattern<int>(Indices.begin(), 1, Indices.end(), SplatIndex,
2668 SmallVector<int, 16> Indices,
2670 assert((Indices.size() % 2) == 0);
2674 const auto &Begin = Indices.begin();
2675 const auto &End = Indices.end();
2681 else if (fitsRegularPattern<int>(Begin, 2, End, Indices.size(), 2))
2690 else if (fitsRegularPattern<int>(Begin + 1, 2, End, Indices.size(), 2))
2714 SmallVector<int, 16> Indices,
2716 assert((Indices.size() % 2) == 0);
2720 const auto &Begin = Indices.begin();
2721 const auto &End = Indices.end();
2727 else if (fitsRegularPattern<int>(Begin, 2, End, Indices.size() + 1, 2))
2736 else if (fitsRegularPattern<int>(Begin + 1, 2, End, Indices.size() + 1, 2))
2761 SmallVector<int, 16> Indices,
2763 assert((Indices.size() % 2) == 0);
2767 const auto &Begin = Indices.begin();
2768 const auto &End = Indices.end();
2774 else if (fitsRegularPattern<int>(Begin, 2, End, Indices.size(), 1))
2783 else if (fitsRegularPattern<int>(Begin + 1, 2, End, Indices.size(), 1))
2808 SmallVector<int, 16> Indices,
2810 assert((Indices.size() % 2) == 0);
2812 unsigned HalfSize = Indices.size() / 2;
2815 const auto &Begin = Indices.begin();
2816 const auto &End = Indices.end();
2822 else if (fitsRegularPattern<int>(Begin, 2, End, Indices.size() + HalfSize, 1))
2831 else if (fitsRegularPattern<int>(Begin + 1, 2, End, Indices.size() + HalfSize,
2856 SmallVector<int, 16> Indices,
2858 assert((Indices.size() % 2) == 0);
2862 const auto &Begin = Indices.begin();
2863 const auto &Mid = Indices.begin() + Indices.size() / 2;
2864 const auto &End = Indices.end();
2868 else if (fitsRegularPattern<int>(Begin, 1, Mid, Indices.size(), 2))
2875 else if (fitsRegularPattern<int>(Mid, 1, End, Indices.size(), 2))
2899 SmallVector<int, 16> Indices,
2901 assert((Indices.size() % 2) == 0);
2905 const auto &Begin = Indices.begin();
2906 const auto &Mid = Indices.begin() + Indices.size() / 2;
2907 const auto &End = Indices.end();
2911 else if (fitsRegularPattern<int>(Begin, 1, Mid, Indices.size() + 1, 2))
2918 else if (fitsRegularPattern<int>(Mid, 1, End, Indices.size() + 1, 2))
2928 // This mostly consists of converting the shuffle indices in Indices into a
2935 SmallVector<int, 16> Indices,
2949 int Idx = Indices[i];
2957 for (SmallVector<int, 16>::iterator I = Indices.begin(); I != Indices.end();
2994 SmallVector<int, 16> Indices;
2997 Indices.push_back(Node->getMaskElt(i));
3001 if (isVECTOR_SHUFFLE_SPLATI(Op, ResTy, Indices, DAG))
3002 return lowerVECTOR_SHUFFLE_VSHF(Op, ResTy, Indices, DAG);
3004 if ((Result = lowerVECTOR_SHUFFLE_ILVEV(Op, ResTy, Indices, DAG)))
3006 if ((Result = lowerVECTOR_SHUFFLE_ILVOD(Op, ResTy, Indices, DAG)))
3008 if ((Result = lowerVECTOR_SHUFFLE_ILVL(Op, ResTy, Indices, DAG)))
3010 if ((Result = lowerVECTOR_SHUFFLE_ILVR(Op, ResTy, Indices, DAG)))
3012 if ((Result = lowerVECTOR_SHUFFLE_PCKEV(Op, ResTy, Indices, DAG)))
3014 if ((Result = lowerVECTOR_SHUFFLE_PCKOD(Op, ResTy, Indices, DAG)))
3016 if ((Result = lowerVECTOR_SHUFFLE_SHF(Op, ResTy, Indices, DAG)))
3018 return lowerVECTOR_SHUFFLE_VSHF(Op, ResTy, Indices, DAG);