Lines Matching defs:Shuf
698 auto *Shuf = dyn_cast<ShuffleVectorInst>(Trunc.getOperand(0));
699 if (Shuf && Shuf->hasOneUse() && match(Shuf->getOperand(1), m_Undef()) &&
700 all_equal(Shuf->getShuffleMask()) &&
701 Shuf->getType() == Shuf->getOperand(0)->getType()) {
704 Value *NarrowOp = Builder.CreateTrunc(Shuf->getOperand(0), Trunc.getType());
705 return new ShuffleVectorInst(NarrowOp, Shuf->getShuffleMask());
2811 if (auto *Shuf = dyn_cast<ShuffleVectorInst>(Src)) {
2814 Value *ShufOp0 = Shuf->getOperand(0);
2815 Value *ShufOp1 = Shuf->getOperand(1);
2816 auto ShufElts = cast<VectorType>(Shuf->getType())->getElementCount();
2818 if (Shuf->hasOneUse() && DestTy->isVectorTy() &&
2833 return new ShuffleVectorInst(LHS, RHS, Shuf->getShuffleMask());
2842 Shuf->hasOneUse() && Shuf->isReverse()) {