Lines Matching refs:Shuf

21971   SDValue Shuf = DAG.getVectorShuffle(ShufVT, DL, DestVecBC, PaddedSubV, Mask);  in combineInsertEltToShuffle()  local
21974 AddToWorklist(Shuf.getNode()); in combineInsertEltToShuffle()
21975 return DAG.getBitcast(VT, Shuf); in combineInsertEltToShuffle()
22136 if (SDValue Shuf = mergeInsertEltWithShuffle(N, Elt)) in visitINSERT_VECTOR_ELT() local
22137 return Shuf; in visitINSERT_VECTOR_ELT()
22139 if (SDValue Shuf = combineInsertEltToShuffle(N, Elt)) in visitINSERT_VECTOR_ELT() local
22140 return Shuf; in visitINSERT_VECTOR_ELT()
22142 if (SDValue Shuf = combineInsertEltToLoad(N, Elt)) in visitINSERT_VECTOR_ELT() local
22143 return Shuf; in visitINSERT_VECTOR_ELT()
22688 auto *Shuf = cast<ShuffleVectorSDNode>(VecOp); in visitEXTRACT_VECTOR_ELT() local
22690 int OrigElt = Shuf->getMaskElt(IndexC->getZExtValue()); in visitEXTRACT_VECTOR_ELT()
22813 if (auto *Shuf = dyn_cast<ShuffleVectorSDNode>(VecOp)) { in visitEXTRACT_VECTOR_ELT() local
22828 int Idx = (Elt > (int)NumElts) ? -1 : Shuf->getMaskElt(Elt); in visitEXTRACT_VECTOR_ELT()
23294 SDValue Shuf = TLI.buildLegalVectorShuffle(VecVT, DL, Extract.getOperand(0), in reduceBuildVecToShuffleWithZero() local
23296 if (!Shuf) in reduceBuildVecToShuffleWithZero()
23298 return DAG.getBitcast(VT, Shuf); in reduceBuildVecToShuffleWithZero()
24975 static SDValue foldShuffleOfConcatUndefs(ShuffleVectorSDNode *Shuf, in foldShuffleOfConcatUndefs() argument
24977 SDValue N0 = Shuf->getOperand(0), N1 = Shuf->getOperand(1); in foldShuffleOfConcatUndefs()
24985 ArrayRef<int> Mask = Shuf->getMask(); in foldShuffleOfConcatUndefs()
24986 EVT VT = Shuf->getValueType(0); in foldShuffleOfConcatUndefs()
25015 SDLoc DL(Shuf); in foldShuffleOfConcatUndefs()
25446 static SDValue combineShuffleOfSplatVal(ShuffleVectorSDNode *Shuf, in combineShuffleOfSplatVal() argument
25448 EVT VT = Shuf->getValueType(0); in combineShuffleOfSplatVal()
25451 if (!Shuf->getOperand(1).isUndef()) in combineShuffleOfSplatVal()
25457 if (!Shuf->isSplat()) { in combineShuffleOfSplatVal()
25459 for (int Idx : Shuf->getMask()) { in combineShuffleOfSplatVal()
25467 if (DAG.isSplatValue(Shuf->getOperand(0), DemandedElts, UndefElts)) { in combineShuffleOfSplatVal()
25471 for (int Idx : Shuf->getMask()) { in combineShuffleOfSplatVal()
25479 SmallVector<int, 8> SplatMask(Shuf->getMask().begin(), in combineShuffleOfSplatVal()
25480 Shuf->getMask().end()); in combineShuffleOfSplatVal()
25488 assert(SplatMask != Shuf->getMask() && "Expected mask to change!"); in combineShuffleOfSplatVal()
25489 return DAG.getVectorShuffle(VT, SDLoc(Shuf), Shuf->getOperand(0), in combineShuffleOfSplatVal()
25490 Shuf->getOperand(1), SplatMask); in combineShuffleOfSplatVal()
25497 if (DAG.isSplatValue(Shuf->getOperand(0), /*AllowUndefs*/ false)) in combineShuffleOfSplatVal()
25498 return Shuf->getOperand(0); in combineShuffleOfSplatVal()
25500 auto *Splat = dyn_cast<ShuffleVectorSDNode>(Shuf->getOperand(0)); in combineShuffleOfSplatVal()
25504 ArrayRef<int> ShufMask = Shuf->getMask(); in combineShuffleOfSplatVal()
25533 return Shuf->getOperand(0); in combineShuffleOfSplatVal()
25672 static SDValue replaceShuffleOfInsert(ShuffleVectorSDNode *Shuf, in replaceShuffleOfInsert() argument
25676 ArrayRef<int> Mask = Shuf->getMask(); in replaceShuffleOfInsert()
25678 SDValue Op0 = Shuf->getOperand(0); in replaceShuffleOfInsert()
25679 SDValue Op1 = Shuf->getOperand(1); in replaceShuffleOfInsert()
25716 SDValue NewInsIndex = DAG.getVectorIdxConstant(ShufOp0Index, SDLoc(Shuf)); in replaceShuffleOfInsert()
25717 return DAG.getNode(ISD::INSERT_VECTOR_ELT, SDLoc(Shuf), Op0.getValueType(), in replaceShuffleOfInsert()
25725 static SDValue simplifyShuffleOfShuffle(ShuffleVectorSDNode *Shuf) { in simplifyShuffleOfShuffle() argument
25727 auto *Shuf0 = dyn_cast<ShuffleVectorSDNode>(Shuf->getOperand(0)); in simplifyShuffleOfShuffle()
25728 if (!Shuf0 || !Shuf->getOperand(1).isUndef()) in simplifyShuffleOfShuffle()
25731 ArrayRef<int> Mask = Shuf->getMask(); in simplifyShuffleOfShuffle()
25746 return Shuf->getOperand(0); in simplifyShuffleOfShuffle()