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

References

lib/CodeGen/SelectionDAG/TargetLowering.cpp
 4749   EVT SVT = VT.getScalarType();
 4750   EVT ShVT = getShiftAmountTy(VT, DAG.getDataLayout());
 4752   unsigned EltBits = VT.getScalarSizeInBits();
 4756   if (!isTypeLegal(VT))
 4812   if (VT.isVector()) {
 4814     MagicFactor = DAG.getBuildVector(VT, dl, MagicFactors);
 4815     NPQFactor = DAG.getBuildVector(VT, dl, NPQFactors);
 4824   Q = DAG.getNode(ISD::SRL, dl, VT, Q, PreShift);
 4829     if (IsAfterLegalization ? isOperationLegal(ISD::MULHU, VT)
 4830                             : isOperationLegalOrCustom(ISD::MULHU, VT))
 4831       return DAG.getNode(ISD::MULHU, dl, VT, X, Y);
 4832     if (IsAfterLegalization ? isOperationLegal(ISD::UMUL_LOHI, VT)
 4833                             : isOperationLegalOrCustom(ISD::UMUL_LOHI, VT)) {
 4835           DAG.getNode(ISD::UMUL_LOHI, dl, DAG.getVTList(VT, VT), X, Y);
 4835           DAG.getNode(ISD::UMUL_LOHI, dl, DAG.getVTList(VT, VT), X, Y);
 4849     SDValue NPQ = DAG.getNode(ISD::SUB, dl, VT, N0, Q);
 4854     if (VT.isVector())
 4857       NPQ = DAG.getNode(ISD::SRL, dl, VT, NPQ, DAG.getConstant(1, dl, ShVT));
 4861     Q = DAG.getNode(ISD::ADD, dl, VT, NPQ, Q);
 4865   Q = DAG.getNode(ISD::SRL, dl, VT, Q, PostShift);
 4868   SDValue One = DAG.getConstant(1, dl, VT);
 4869   SDValue IsOne = DAG.getSetCC(dl, VT, N1, One, ISD::SETEQ);
 4870   return DAG.getSelect(dl, VT, IsOne, N0, Q);