Lines Matching defs:ScaledMask
3746 SmallVectorImpl<int> &ScaledMask) {
3754 llvm::narrowShuffleMaskElts(Scale, Mask, ScaledMask);
3759 // split out the first widening as it sets up ScaledMask for us.
3760 if (canWidenShuffleElements(Mask, ScaledMask)) {
3761 while (ScaledMask.size() > NumDstElts) {
3763 if (!canWidenShuffleElements(ScaledMask, WidenedMask))
3765 ScaledMask = std::move(WidenedMask);
3774 SmallVector<int, 32> ScaledMask;
3775 return scaleShuffleElements(Mask, NumDstElts, ScaledMask);
38576 SmallVector<int> ScaledMask, IdentityMask;
38579 scaleShuffleElements(Mask, NumElts, ScaledMask)) {
38582 if (isTargetShuffleEquivalent(RootVT, ScaledMask, IdentityMask, DAG, V1,
38607 SmallVector<int, 4> ScaledMask;
38609 narrowShuffleMaskElts(BaseMaskEltSizeInBits / 128, Mask, ScaledMask);
38613 ArrayRef<int> ScaledMask, SDValue V1, SDValue V2,
38619 assert(ScaledMask[i] >= -1 && "Illegal shuffle sentinel value");
38620 if (ScaledMask[i] < 0)
38623 SDValue Op = ScaledMask[i] >= 4 ? V2 : V1;
38630 PermMask[i] = ScaledMask[i] % 4;
38642 bool PreferPERMQ = UnaryShuffle && isUndefOrInRange(ScaledMask[0], 0, 2) &&
38643 isUndefOrInRange(ScaledMask[1], 0, 2) &&
38644 isUndefOrInRange(ScaledMask[2], 2, 4) &&
38645 isUndefOrInRange(ScaledMask[3], 2, 4) &&
38646 (ScaledMask[0] < 0 || ScaledMask[2] < 0 ||
38647 ScaledMask[0] == (ScaledMask[2] % 2)) &&
38648 (ScaledMask[1] < 0 || ScaledMask[3] < 0 ||
38649 ScaledMask[1] == (ScaledMask[3] % 2));
38651 if (!isAnyZero(ScaledMask) && !PreferPERMQ) {
38655 if (SDValue V = MatchSHUF128(ShuffleVT, DL, ScaledMask, V1, V2, DAG))
38732 SmallVector<int, 64> ScaledMask;
38733 narrowShuffleMaskElts(MaskScale, Mask, ScaledMask);
38734 Mask = std::move(ScaledMask);
38743 SmallVector<int, 64> ScaledMask;
38744 narrowShuffleMaskElts(MaskScale, Mask, ScaledMask);
38745 Mask = std::move(ScaledMask);
39409 SmallVector<int> LaneMask, ScaledMask;
39411 scaleShuffleElements(LaneMask, 4, ScaledMask)) {
39429 SDValue M0 = GetHOpSrc(ScaledMask[0]);
39430 SDValue M1 = GetHOpSrc(ScaledMask[1]);
39431 SDValue M2 = GetHOpSrc(ScaledMask[2]);
39432 SDValue M3 = GetHOpSrc(ScaledMask[3]);
39460 if (GetHOpSrc(ScaledMask[0], PostMask[0]) &&
39461 GetHOpSrc(ScaledMask[1], PostMask[1]) &&
39462 GetHOpSrc(ScaledMask[2], PostMask[2]) &&
39463 GetHOpSrc(ScaledMask[3], PostMask[3])) {
44823 SmallVector<int, 16> ScaledMask;
44825 narrowShuffleMaskElts(Scale, Mask, ScaledMask);
44826 Mask = std::move(ScaledMask);
48337 SmallVector<int> ShuffleMask, ScaledMask;
48345 scaleShuffleElements(ShuffleMask, 4, ScaledMask)) {
48353 Res = DAG.getVectorShuffle(ShufVT, DL, Res, Res, ScaledMask);
51942 SmallVector<int, 16> SrcMask, ScaledMask;
51950 scaleShuffleElements(SrcMask, NumElts, ScaledMask)) {
51953 ShuffleMask.assign(ScaledMask.begin(), ScaledMask.end());
51956 scaleShuffleElements(SrcMask, 2 * NumElts, ScaledMask)) {
51958 ArrayRef<int> Mask = ArrayRef<int>(ScaledMask).slice(0, NumElts);
57083 SmallVector<int, 32> ScaledMask;
57088 scaleShuffleElements(ShuffleMask, NumSubVecs, ScaledMask)) {
57090 if (ScaledMask[SubVecIdx] == SM_SentinelUndef)
57092 if (ScaledMask[SubVecIdx] == SM_SentinelZero)
57094 SDValue Src = ShuffleInputs[ScaledMask[SubVecIdx] / NumSubVecs];
57096 unsigned SrcSubVecIdx = ScaledMask[SubVecIdx] % NumSubVecs;