Lines Matching defs:ScaledMask
3899 SmallVectorImpl<int> &ScaledMask) {
3907 llvm::narrowShuffleMaskElts(Scale, Mask, ScaledMask);
3912 // split out the first widening as it sets up ScaledMask for us.
3913 if (canWidenShuffleElements(Mask, ScaledMask)) {
3914 while (ScaledMask.size() > NumDstElts) {
3916 if (!canWidenShuffleElements(ScaledMask, WidenedMask))
3918 ScaledMask = std::move(WidenedMask);
3927 SmallVector<int, 32> ScaledMask;
3928 return scaleShuffleElements(Mask, NumDstElts, ScaledMask);
39596 SmallVector<int> ScaledMask, IdentityMask;
39599 scaleShuffleElements(Mask, NumElts, ScaledMask)) {
39602 if (isTargetShuffleEquivalent(RootVT, ScaledMask, IdentityMask, DAG, V1,
39627 SmallVector<int, 4> ScaledMask;
39629 narrowShuffleMaskElts(BaseMaskEltSizeInBits / 128, Mask, ScaledMask);
39633 ArrayRef<int> ScaledMask, SDValue V1, SDValue V2,
39639 assert(ScaledMask[i] >= -1 && "Illegal shuffle sentinel value");
39640 if (ScaledMask[i] < 0)
39643 SDValue Op = ScaledMask[i] >= 4 ? V2 : V1;
39650 PermMask[i] = ScaledMask[i] % 4;
39662 bool PreferPERMQ = UnaryShuffle && isUndefOrInRange(ScaledMask[0], 0, 2) &&
39663 isUndefOrInRange(ScaledMask[1], 0, 2) &&
39664 isUndefOrInRange(ScaledMask[2], 2, 4) &&
39665 isUndefOrInRange(ScaledMask[3], 2, 4) &&
39666 (ScaledMask[0] < 0 || ScaledMask[2] < 0 ||
39667 ScaledMask[0] == (ScaledMask[2] % 2)) &&
39668 (ScaledMask[1] < 0 || ScaledMask[3] < 0 ||
39669 ScaledMask[1] == (ScaledMask[3] % 2));
39671 if (!isAnyZero(ScaledMask) && !PreferPERMQ) {
39675 if (SDValue V = MatchSHUF128(ShuffleVT, DL, ScaledMask, V1, V2, DAG))
39752 SmallVector<int, 64> ScaledMask;
39753 narrowShuffleMaskElts(MaskScale, Mask, ScaledMask);
39754 Mask = std::move(ScaledMask);
39763 SmallVector<int, 64> ScaledMask;
39764 narrowShuffleMaskElts(MaskScale, Mask, ScaledMask);
39765 Mask = std::move(ScaledMask);
40454 SmallVector<int> LaneMask, ScaledMask;
40456 scaleShuffleElements(LaneMask, 4, ScaledMask)) {
40474 SDValue M0 = GetHOpSrc(ScaledMask[0]);
40475 SDValue M1 = GetHOpSrc(ScaledMask[1]);
40476 SDValue M2 = GetHOpSrc(ScaledMask[2]);
40477 SDValue M3 = GetHOpSrc(ScaledMask[3]);
40505 if (GetHOpSrc(ScaledMask[0], PostMask[0]) &&
40506 GetHOpSrc(ScaledMask[1], PostMask[1]) &&
40507 GetHOpSrc(ScaledMask[2], PostMask[2]) &&
40508 GetHOpSrc(ScaledMask[3], PostMask[3])) {
46009 SmallVector<int, 16> ScaledMask;
46011 narrowShuffleMaskElts(Scale, Mask, ScaledMask);
46012 Mask = std::move(ScaledMask);
49549 SmallVector<int> ShuffleMask, ScaledMask;
49557 scaleShuffleElements(ShuffleMask, 4, ScaledMask)) {
49565 Res = DAG.getVectorShuffle(ShufVT, DL, Res, Res, ScaledMask);
53195 SmallVector<int, 16> SrcMask, ScaledMask;
53203 scaleShuffleElements(SrcMask, NumElts, ScaledMask)) {
53206 ShuffleMask.assign(ScaledMask.begin(), ScaledMask.end());
53209 scaleShuffleElements(SrcMask, 2 * NumElts, ScaledMask)) {
53211 ArrayRef<int> Mask = ArrayRef<int>(ScaledMask).slice(0, NumElts);
58461 SmallVector<int, 32> ScaledMask;
58466 scaleShuffleElements(ShuffleMask, NumSubVecs, ScaledMask)) {
58468 if (ScaledMask[SubVecIdx] == SM_SentinelUndef)
58470 if (ScaledMask[SubVecIdx] == SM_SentinelZero)
58472 SDValue Src = ShuffleInputs[ScaledMask[SubVecIdx] / NumSubVecs];
58474 unsigned SrcSubVecIdx = ScaledMask[SubVecIdx] % NumSubVecs;