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

References

lib/Target/AMDGPU/AMDGPUISelLowering.cpp
 1850     return DAG.getMergeValues(Results, DL);
 1863   SDValue RCP = DAG.getNode(AMDGPUISD::URECIP, DL, VT, Den);
 1866   SDValue RCP_LO = DAG.getNode(ISD::MUL, DL, VT, RCP, Den);
 1869   SDValue RCP_HI = DAG.getNode(ISD::MULHU, DL, VT, RCP, Den);
 1872   SDValue NEG_RCP_LO = DAG.getNode(ISD::SUB, DL, VT, DAG.getConstant(0, DL, VT),
 1872   SDValue NEG_RCP_LO = DAG.getNode(ISD::SUB, DL, VT, DAG.getConstant(0, DL, VT),
 1876   SDValue ABS_RCP_LO = DAG.getSelectCC(DL, RCP_HI, DAG.getConstant(0, DL, VT),
 1876   SDValue ABS_RCP_LO = DAG.getSelectCC(DL, RCP_HI, DAG.getConstant(0, DL, VT),
 1881   SDValue E = DAG.getNode(ISD::MULHU, DL, VT, ABS_RCP_LO, RCP);
 1884   SDValue RCP_A_E = DAG.getNode(ISD::ADD, DL, VT, RCP, E);
 1887   SDValue RCP_S_E = DAG.getNode(ISD::SUB, DL, VT, RCP, E);
 1890   SDValue Tmp0 = DAG.getSelectCC(DL, RCP_HI, DAG.getConstant(0, DL, VT),
 1890   SDValue Tmp0 = DAG.getSelectCC(DL, RCP_HI, DAG.getConstant(0, DL, VT),
 1894   SDValue Quotient = DAG.getNode(ISD::MULHU, DL, VT, Tmp0, Num);
 1897   SDValue Num_S_Remainder = DAG.getNode(ISD::MUL, DL, VT, Quotient, Den);
 1900   SDValue Remainder = DAG.getNode(ISD::SUB, DL, VT, Num, Num_S_Remainder);
 1903   SDValue Remainder_GE_Den = DAG.getSelectCC(DL, Remainder, Den,
 1904                                                  DAG.getConstant(-1, DL, VT),
 1905                                                  DAG.getConstant(0, DL, VT),
 1908   SDValue Remainder_GE_Zero = DAG.getSelectCC(DL, Num,
 1910                                                   DAG.getConstant(-1, DL, VT),
 1911                                                   DAG.getConstant(0, DL, VT),
 1914   SDValue Tmp1 = DAG.getNode(ISD::AND, DL, VT, Remainder_GE_Den,
 1920   SDValue Quotient_A_One = DAG.getNode(ISD::ADD, DL, VT, Quotient,
 1921                                        DAG.getConstant(1, DL, VT));
 1924   SDValue Quotient_S_One = DAG.getNode(ISD::SUB, DL, VT, Quotient,
 1925                                        DAG.getConstant(1, DL, VT));
 1928   SDValue Div = DAG.getSelectCC(DL, Tmp1, DAG.getConstant(0, DL, VT),
 1928   SDValue Div = DAG.getSelectCC(DL, Tmp1, DAG.getConstant(0, DL, VT),
 1932   Div = DAG.getSelectCC(DL, Remainder_GE_Zero, DAG.getConstant(0, DL, VT),
 1932   Div = DAG.getSelectCC(DL, Remainder_GE_Zero, DAG.getConstant(0, DL, VT),
 1938   SDValue Remainder_S_Den = DAG.getNode(ISD::SUB, DL, VT, Remainder, Den);
 1941   SDValue Remainder_A_Den = DAG.getNode(ISD::ADD, DL, VT, Remainder, Den);
 1944   SDValue Rem = DAG.getSelectCC(DL, Tmp1, DAG.getConstant(0, DL, VT),
 1944   SDValue Rem = DAG.getSelectCC(DL, Tmp1, DAG.getConstant(0, DL, VT),
 1948   Rem = DAG.getSelectCC(DL, Remainder_GE_Zero, DAG.getConstant(0, DL, VT),
 1948   Rem = DAG.getSelectCC(DL, Remainder_GE_Zero, DAG.getConstant(0, DL, VT),
 1954   return DAG.getMergeValues(Ops, DL);