Lines Matching refs:Shuf
632 auto *Shuf = dyn_cast<ShuffleVectorInst>(Trunc.getOperand(0)); in shrinkSplatShuffle() local
633 if (Shuf && Shuf->hasOneUse() && match(Shuf->getOperand(1), m_Undef()) && in shrinkSplatShuffle()
634 all_equal(Shuf->getShuffleMask()) && in shrinkSplatShuffle()
635 Shuf->getType() == Shuf->getOperand(0)->getType()) { in shrinkSplatShuffle()
638 Value *NarrowOp = Builder.CreateTrunc(Shuf->getOperand(0), Trunc.getType()); in shrinkSplatShuffle()
639 return new ShuffleVectorInst(NarrowOp, Shuf->getShuffleMask()); in shrinkSplatShuffle()
2753 if (auto *Shuf = dyn_cast<ShuffleVectorInst>(Src)) { in visitBitCast() local
2756 Value *ShufOp0 = Shuf->getOperand(0); in visitBitCast()
2757 Value *ShufOp1 = Shuf->getOperand(1); in visitBitCast()
2758 auto ShufElts = cast<VectorType>(Shuf->getType())->getElementCount(); in visitBitCast()
2760 if (Shuf->hasOneUse() && DestTy->isVectorTy() && in visitBitCast()
2775 return new ShuffleVectorInst(LHS, RHS, Shuf->getShuffleMask()); in visitBitCast()
2784 Shuf->hasOneUse() && Shuf->isReverse()) { in visitBitCast()