Lines Matching defs:Mul
70 static bool matchVPDPBUSDPattern(const X86Subtarget *ST, BinaryOperator *Mul,
75 Value *LHS = Mul->getOperand(0);
76 Value *RHS = Mul->getOperand(1);
83 if (Cast->getParent() == Mul->getParent() &&
117 auto *Mul = dyn_cast<BinaryOperator>(Op);
118 if (!Mul || Mul->getOpcode() != Instruction::Mul)
121 Value *LHS = Mul->getOperand(0);
122 Value *RHS = Mul->getOperand(1);
128 if (ReduceInOneBB && matchVPDPBUSDPattern(ST, Mul, DL))
150 if (Cast->getParent() == Mul->getParent() &&
163 ComputeNumSignBits(Op, *DL, 0, nullptr, Mul) > 16)
169 if (BO->getParent() == Mul->getParent() &&
172 ComputeNumSignBits(Op, *DL, 0, nullptr, Mul) > 16)
183 IRBuilder<> Builder(Mul);
199 Value *NewMul = Builder.CreateMul(Mul->getOperand(0), Mul->getOperand(1));
210 Mul->replaceAllUsesWith(Concat);
211 Mul->eraseFromParent();