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

References

lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
 2777   if (TLI.expandMUL(N, Lo, Hi, NVT, DAG,
 2798     unsigned Bits = NVT.getSizeInBits();
 2801                                    NVT);
 2802     SDValue LLL = DAG.getNode(ISD::AND, dl, NVT, LL, Mask);
 2803     SDValue RLL = DAG.getNode(ISD::AND, dl, NVT, RL, Mask);
 2805     SDValue T = DAG.getNode(ISD::MUL, dl, NVT, LLL, RLL);
 2806     SDValue TL = DAG.getNode(ISD::AND, dl, NVT, T, Mask);
 2808     EVT ShiftAmtTy = TLI.getShiftAmountTy(NVT, DAG.getDataLayout());
 2815     SDValue TH = DAG.getNode(ISD::SRL, dl, NVT, T, Shift);
 2816     SDValue LLH = DAG.getNode(ISD::SRL, dl, NVT, LL, Shift);
 2817     SDValue RLH = DAG.getNode(ISD::SRL, dl, NVT, RL, Shift);
 2819     SDValue U = DAG.getNode(ISD::ADD, dl, NVT,
 2820                             DAG.getNode(ISD::MUL, dl, NVT, LLH, RLL), TH);
 2821     SDValue UL = DAG.getNode(ISD::AND, dl, NVT, U, Mask);
 2822     SDValue UH = DAG.getNode(ISD::SRL, dl, NVT, U, Shift);
 2824     SDValue V = DAG.getNode(ISD::ADD, dl, NVT,
 2825                             DAG.getNode(ISD::MUL, dl, NVT, LLL, RLH), UL);
 2826     SDValue VH = DAG.getNode(ISD::SRL, dl, NVT, V, Shift);
 2828     SDValue W = DAG.getNode(ISD::ADD, dl, NVT,
 2829                             DAG.getNode(ISD::MUL, dl, NVT, LLH, RLH),
 2830                             DAG.getNode(ISD::ADD, dl, NVT, UH, VH));
 2831     Lo = DAG.getNode(ISD::ADD, dl, NVT, TL,
 2832                      DAG.getNode(ISD::SHL, dl, NVT, V, Shift));
 2834     Hi = DAG.getNode(ISD::ADD, dl, NVT, W,
 2835                      DAG.getNode(ISD::ADD, dl, NVT,
 2836                                  DAG.getNode(ISD::MUL, dl, NVT, RH, LL),
 2837                                  DAG.getNode(ISD::MUL, dl, NVT, RL, LH)));