reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
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);