Lines Matching defs:Shuf
625 auto *Shuf = dyn_cast<ShuffleVectorInst>(Trunc.getOperand(0));
626 if (Shuf && Shuf->hasOneUse() && isa<UndefValue>(Shuf->getOperand(1)) &&
627 Shuf->getMask()->getSplatValue() &&
628 Shuf->getType() == Shuf->getOperand(0)->getType()) {
629 // trunc (shuf X, Undef, SplatMask) --> shuf (trunc X), Undef, SplatMask
631 Value *NarrowOp = Builder.CreateTrunc(Shuf->getOperand(0), Trunc.getType());
632 return new ShuffleVectorInst(NarrowOp, NarrowUndef, Shuf->getMask());