Lines Matching refs:BaseMask
35742 ArrayRef<SDValue> Inputs, SDValue Root, ArrayRef<int> BaseMask, int Depth,
35757 ArrayRef<int> BaseMask, int Depth, in combineX86ShuffleChain() argument
35763 assert(!BaseMask.empty() && "Cannot combine an empty shuffle mask!"); in combineX86ShuffleChain()
35792 unsigned NumBaseMaskElts = BaseMask.size(); in combineX86ShuffleChain()
35794 assert(BaseMask[0] == 0 && "Invalid shuffle index found!"); in combineX86ShuffleChain()
35818 if (UnaryShuffle && isTargetShuffleSplat(V1) && !isAnyZero(BaseMask) && in combineX86ShuffleChain()
35829 if (BaseMask.size() <= NumElts && in combineX86ShuffleChain()
35830 scaleShuffleElements(BaseMask, NumElts, ScaledMask)) { in combineX86ShuffleChain()
35844 if (isUndefOrZeroInRange(BaseMask, 1, NumBaseMaskElts - 1)) { in combineX86ShuffleChain()
35847 assert(isInRange(BaseMask[0], 0, NumBaseMaskElts) && in combineX86ShuffleChain()
35850 unsigned SubIdx = BaseMask[0] * (NumRootElts / NumBaseMaskElts); in combineX86ShuffleChain()
35851 bool UseZero = isAnyZero(BaseMask); in combineX86ShuffleChain()
35859 narrowShuffleMaskElts(BaseMaskEltSizeInBits / 128, BaseMask, Mask); in combineX86ShuffleChain()
35915 if (isUndefOrZero(BaseMask[1])) { in combineX86ShuffleChain()
35918 assert(isInRange(BaseMask[0], 0, 2) && "Unexpected lane shuffle"); in combineX86ShuffleChain()
35920 Res = extract128BitVector(Res, BaseMask[0] * (NumRootElts / 2), DAG, DL); in combineX86ShuffleChain()
35921 return widenSubVector(Res, BaseMask[1] == SM_SentinelZero, Subtarget, DAG, in combineX86ShuffleChain()
35928 if (BaseMask[0] == 0 && BaseMask[1] == 0 && !Subtarget.hasAVX2()) { in combineX86ShuffleChain()
35943 !(Subtarget.hasAVX2() && isUndefOrInRange(BaseMask, 0, 2)) && in combineX86ShuffleChain()
35944 (OptForSize || !isSequentialOrUndefOrZeroInRange(BaseMask, 0, 2, 0))) { in combineX86ShuffleChain()
35946 PermMask |= ((BaseMask[0] < 0 ? 0x8 : (BaseMask[0] & 1)) << 0); in combineX86ShuffleChain()
35947 PermMask |= ((BaseMask[1] < 0 ? 0x8 : (BaseMask[1] & 1)) << 4); in combineX86ShuffleChain()
35958 assert(llvm::all_of(BaseMask, [](int M) { return 0 <= M && M < 4; }) && in combineX86ShuffleChain()
35961 if (!((BaseMask[0] == 0 && BaseMask[1] == 3) || in combineX86ShuffleChain()
35962 (BaseMask[0] == 2 && BaseMask[1] == 1))) { in combineX86ShuffleChain()
35964 PermMask |= ((BaseMask[0] & 3) << 0); in combineX86ShuffleChain()
35965 PermMask |= ((BaseMask[1] & 3) << 4); in combineX86ShuffleChain()
35966 SDValue LHS = isInRange(BaseMask[0], 0, 2) ? V1 : V2; in combineX86ShuffleChain()
35967 SDValue RHS = isInRange(BaseMask[1], 0, 2) ? V1 : V2; in combineX86ShuffleChain()
35982 narrowShuffleMaskElts(MaskScale, BaseMask, Mask); in combineX86ShuffleChain()
35984 Mask.assign(BaseMask.begin(), BaseMask.end()); in combineX86ShuffleChain()
36283 Inputs, Root, BaseMask, Depth, HasVariableMask, in combineX86ShuffleChain()
36456 Inputs, Root, BaseMask, Depth, HasVariableMask, in combineX86ShuffleChain()
36494 ArrayRef<SDValue> Inputs, SDValue Root, ArrayRef<int> BaseMask, int Depth, in combineX86ShuffleChainWithExtract() argument
36498 unsigned NumMaskElts = BaseMask.size(); in combineX86ShuffleChainWithExtract()
36563 SmallVector<int, 64> WideMask(BaseMask.begin(), BaseMask.end()); in combineX86ShuffleChainWithExtract()