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

References

lib/CodeGen/SelectionDAG/TargetLowering.cpp
 4640   EVT SVT = VT.getScalarType();
 4641   EVT ShVT = getShiftAmountTy(VT, DAG.getDataLayout());
 4643   unsigned EltBits = VT.getScalarSizeInBits();
 4647   if (!isTypeLegal(VT))
 4694   if (VT.isVector()) {
 4695     MagicFactor = DAG.getBuildVector(VT, dl, MagicFactors);
 4696     Factor = DAG.getBuildVector(VT, dl, Factors);
 4698     ShiftMask = DAG.getBuildVector(VT, dl, ShiftMasks);
 4709   if (IsAfterLegalization ? isOperationLegal(ISD::MULHS, VT)
 4710                           : isOperationLegalOrCustom(ISD::MULHS, VT))
 4711     Q = DAG.getNode(ISD::MULHS, dl, VT, N0, MagicFactor);
 4712   else if (IsAfterLegalization ? isOperationLegal(ISD::SMUL_LOHI, VT)
 4713                                : isOperationLegalOrCustom(ISD::SMUL_LOHI, VT)) {
 4715         DAG.getNode(ISD::SMUL_LOHI, dl, DAG.getVTList(VT, VT), N0, MagicFactor);
 4715         DAG.getNode(ISD::SMUL_LOHI, dl, DAG.getVTList(VT, VT), N0, MagicFactor);
 4722   Factor = DAG.getNode(ISD::MUL, dl, VT, N0, Factor);
 4724   Q = DAG.getNode(ISD::ADD, dl, VT, Q, Factor);
 4728   Q = DAG.getNode(ISD::SRA, dl, VT, Q, Shift);
 4733   SDValue T = DAG.getNode(ISD::SRL, dl, VT, Q, SignShift);
 4735   T = DAG.getNode(ISD::AND, dl, VT, T, ShiftMask);
 4737   return DAG.getNode(ISD::ADD, dl, VT, Q, T);