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