reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Target/X86/X86ISelLowering.cpp
38115   if (SDValue V = combineMulToPMADDWD(N, DAG, Subtarget))
38118   if (SDValue V = combineMulToPMULDQ(N, DAG, Subtarget))
38122     return reduceVMULWidth(N, DAG, Subtarget);
38127   if (DAG.getMachineFunction().getFunction().hasMinSize())
38148     SDValue NewMul = DAG.getNode(X86ISD::MUL_IMM, DL, VT, N->getOperand(0),
38149                                  DAG.getConstant(AbsMulAmt, DL, VT));
38151       NewMul = DAG.getNode(ISD::SUB, DL, VT, DAG.getConstant(0, DL, VT),
38151       NewMul = DAG.getNode(ISD::SUB, DL, VT, DAG.getConstant(0, DL, VT),
38186       NewMul = DAG.getNode(ISD::SHL, DL, VT, N->getOperand(0),
38187                            DAG.getConstant(Log2_64(MulAmt1), DL, MVT::i8));
38189       NewMul = DAG.getNode(X86ISD::MUL_IMM, DL, VT, N->getOperand(0),
38190                            DAG.getConstant(MulAmt1, DL, VT));
38193       NewMul = DAG.getNode(ISD::SHL, DL, VT, NewMul,
38194                            DAG.getConstant(Log2_64(MulAmt2), DL, MVT::i8));
38196       NewMul = DAG.getNode(X86ISD::MUL_IMM, DL, VT, NewMul,
38197                            DAG.getConstant(MulAmt2, DL, VT));
38201       NewMul = DAG.getNode(ISD::SUB, DL, VT, DAG.getConstant(0, DL, VT),
38201       NewMul = DAG.getNode(ISD::SUB, DL, VT, DAG.getConstant(0, DL, VT),
38204     NewMul = combineMulSpecial(C->getZExtValue(), N, DAG, VT, DL);
38213       NewMul = DAG.getNode(
38215           DAG.getNode(ISD::SHL, DL, VT, N->getOperand(0),
38216                       DAG.getConstant(Log2_64(AbsMulAmt - 1), DL,
38220         NewMul = DAG.getNode(ISD::SUB, DL, VT,
38221                              DAG.getConstant(0, DL, VT), NewMul);
38224       NewMul = DAG.getNode(ISD::SHL, DL, VT, N->getOperand(0),
38225                            DAG.getConstant(Log2_64(AbsMulAmt + 1),
38229         NewMul = DAG.getNode(ISD::SUB, DL, VT, N->getOperand(0), NewMul);
38231         NewMul = DAG.getNode(ISD::SUB, DL, VT, NewMul, N->getOperand(0));
38234       NewMul = DAG.getNode(ISD::SHL, DL, VT, N->getOperand(0),
38235                            DAG.getConstant(Log2_64(AbsMulAmt - 2),
38237       NewMul = DAG.getNode(ISD::ADD, DL, VT, NewMul, N->getOperand(0));
38238       NewMul = DAG.getNode(ISD::ADD, DL, VT, NewMul, N->getOperand(0));
38241       NewMul = DAG.getNode(ISD::SHL, DL, VT, N->getOperand(0),
38242                            DAG.getConstant(Log2_64(AbsMulAmt + 2),
38244       NewMul = DAG.getNode(ISD::SUB, DL, VT, NewMul, N->getOperand(0));
38245       NewMul = DAG.getNode(ISD::SUB, DL, VT, NewMul, N->getOperand(0));