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

References

lib/CodeGen/SelectionDAG/TargetLowering.cpp
 5609   unsigned LHSSB = DAG.ComputeNumSignBits(LHS);
 5610   unsigned RHSSB = DAG.ComputeNumSignBits(RHS);
 5616   SDVTList VTs = DAG.getVTList(HiLoVT, HiLoVT);
 5620       Lo = DAG.getNode(Signed ? ISD::SMUL_LOHI : ISD::UMUL_LOHI, dl, VTs, L, R);
 5625       Lo = DAG.getNode(ISD::MUL, dl, HiLoVT, L, R);
 5626       Hi = DAG.getNode(Signed ? ISD::MULHS : ISD::MULHU, dl, HiLoVT, L, R);
 5636     LL = DAG.getNode(ISD::TRUNCATE, dl, HiLoVT, LHS);
 5637     RL = DAG.getNode(ISD::TRUNCATE, dl, HiLoVT, RHS);
 5644   if (DAG.MaskedValueIsZero(LHS, HighMask) &&
 5645       DAG.MaskedValueIsZero(RHS, HighMask)) {
 5651         SDValue Zero = DAG.getConstant(0, dl, HiLoVT);
 5671   EVT ShiftAmountTy = getShiftAmountTy(VT, DAG.getDataLayout());
 5678   SDValue Shift = DAG.getConstant(ShiftAmount, dl, ShiftAmountTy);
 5683     LH = DAG.getNode(ISD::SRL, dl, VT, LHS, Shift);
 5684     LH = DAG.getNode(ISD::TRUNCATE, dl, HiLoVT, LH);
 5685     RH = DAG.getNode(ISD::SRL, dl, VT, RHS, Shift);
 5686     RH = DAG.getNode(ISD::TRUNCATE, dl, HiLoVT, RH);
 5698     RH = DAG.getNode(ISD::MUL, dl, HiLoVT, LL, RH);
 5699     LH = DAG.getNode(ISD::MUL, dl, HiLoVT, LH, RL);
 5700     Hi = DAG.getNode(ISD::ADD, dl, HiLoVT, Hi, RH);
 5701     Hi = DAG.getNode(ISD::ADD, dl, HiLoVT, Hi, LH);
 5708     Lo = DAG.getNode(ISD::ZERO_EXTEND, dl, VT, Lo);
 5709     Hi = DAG.getNode(ISD::ZERO_EXTEND, dl, VT, Hi);
 5710     Hi = DAG.getNode(ISD::SHL, dl, VT, Hi, Shift);
 5711     return DAG.getNode(ISD::OR, dl, VT, Lo, Hi);
 5714   SDValue Next = DAG.getNode(ISD::ZERO_EXTEND, dl, VT, Hi);
 5720   Next = DAG.getNode(ISD::ADD, dl, VT, Next, Merge(Lo, Hi));
 5725   SDValue Zero = DAG.getConstant(0, dl, HiLoVT);
 5726   EVT BoolType = getSetCCResultType(DAG.getDataLayout(), *DAG.getContext(), VT);
 5726   EVT BoolType = getSetCCResultType(DAG.getDataLayout(), *DAG.getContext(), VT);
 5731     Next = DAG.getNode(ISD::ADDC, dl, DAG.getVTList(VT, MVT::Glue), Next,
 5731     Next = DAG.getNode(ISD::ADDC, dl, DAG.getVTList(VT, MVT::Glue), Next,
 5734     Next = DAG.getNode(ISD::ADDCARRY, dl, DAG.getVTList(VT, BoolType), Next,
 5734     Next = DAG.getNode(ISD::ADDCARRY, dl, DAG.getVTList(VT, BoolType), Next,
 5735                        Merge(Lo, Hi), DAG.getConstant(0, dl, BoolType));
 5738   Result.push_back(DAG.getNode(ISD::TRUNCATE, dl, HiLoVT, Next));
 5739   Next = DAG.getNode(ISD::SRL, dl, VT, Next, Shift);
 5745     Hi = DAG.getNode(ISD::ADDE, dl, DAG.getVTList(HiLoVT, MVT::Glue), Hi, Zero,
 5745     Hi = DAG.getNode(ISD::ADDE, dl, DAG.getVTList(HiLoVT, MVT::Glue), Hi, Zero,
 5748     Hi = DAG.getNode(ISD::ADDCARRY, dl, DAG.getVTList(HiLoVT, BoolType), Hi,
 5748     Hi = DAG.getNode(ISD::ADDCARRY, dl, DAG.getVTList(HiLoVT, BoolType), Hi,
 5751   Next = DAG.getNode(ISD::ADD, dl, VT, Next, Merge(Lo, Hi));
 5754     SDValue NextSub = DAG.getNode(ISD::SUB, dl, VT, Next,
 5755                                   DAG.getNode(ISD::ZERO_EXTEND, dl, VT, RL));
 5756     Next = DAG.getSelectCC(dl, LH, Zero, NextSub, Next, ISD::SETLT);
 5758     NextSub = DAG.getNode(ISD::SUB, dl, VT, Next,
 5759                           DAG.getNode(ISD::ZERO_EXTEND, dl, VT, LL));
 5760     Next = DAG.getSelectCC(dl, RH, Zero, NextSub, Next, ISD::SETLT);
 5763   Result.push_back(DAG.getNode(ISD::TRUNCATE, dl, HiLoVT, Next));
 5764   Next = DAG.getNode(ISD::SRL, dl, VT, Next, Shift);
 5765   Result.push_back(DAG.getNode(ISD::TRUNCATE, dl, HiLoVT, Next));