Lines Matching refs:Shuf
677 auto *Shuf = dyn_cast<ShuffleVectorInst>(Trunc.getOperand(0)); in shrinkSplatShuffle() local
678 if (Shuf && Shuf->hasOneUse() && isa<UndefValue>(Shuf->getOperand(1)) && in shrinkSplatShuffle()
679 is_splat(Shuf->getShuffleMask()) && in shrinkSplatShuffle()
680 Shuf->getType() == Shuf->getOperand(0)->getType()) { in shrinkSplatShuffle()
683 Value *NarrowOp = Builder.CreateTrunc(Shuf->getOperand(0), Trunc.getType()); in shrinkSplatShuffle()
684 return new ShuffleVectorInst(NarrowOp, NarrowUndef, Shuf->getShuffleMask()); in shrinkSplatShuffle()
2660 if (auto *Shuf = dyn_cast<ShuffleVectorInst>(Src)) { in visitBitCast() local
2663 Value *ShufOp0 = Shuf->getOperand(0); in visitBitCast()
2664 Value *ShufOp1 = Shuf->getOperand(1); in visitBitCast()
2666 cast<FixedVectorType>(Shuf->getType())->getNumElements(); in visitBitCast()
2669 if (Shuf->hasOneUse() && DestTy->isVectorTy() && in visitBitCast()
2684 return new ShuffleVectorInst(LHS, RHS, Shuf->getShuffleMask()); in visitBitCast()
2695 Shuf->hasOneUse() && Shuf->isReverse()) { in visitBitCast()