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

References

lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
 2014   SDValue NVBitsNode = DAG.getConstant(NVTBits, dl, ShTy);
 2015   SDValue AmtExcess = DAG.getNode(ISD::SUB, dl, ShTy, Amt, NVBitsNode);
 2016   SDValue AmtLack = DAG.getNode(ISD::SUB, dl, ShTy, NVBitsNode, Amt);
 2017   SDValue isShort = DAG.getSetCC(dl, getSetCCResultType(ShTy),
 2019   SDValue isZero = DAG.getSetCC(dl, getSetCCResultType(ShTy),
 2020                                 Amt, DAG.getConstant(0, dl, ShTy),
 2028     LoS = DAG.getNode(ISD::SHL, dl, NVT, InL, Amt);
 2029     HiS = DAG.getNode(ISD::OR, dl, NVT,
 2030                       DAG.getNode(ISD::SHL, dl, NVT, InH, Amt),
 2031                       DAG.getNode(ISD::SRL, dl, NVT, InL, AmtLack));
 2034     LoL = DAG.getConstant(0, dl, NVT);                    // Lo part is zero.
 2035     HiL = DAG.getNode(ISD::SHL, dl, NVT, InL, AmtExcess); // Hi from Lo part.
 2037     Lo = DAG.getSelect(dl, NVT, isShort, LoS, LoL);
 2038     Hi = DAG.getSelect(dl, NVT, isZero, InH,
 2039                        DAG.getSelect(dl, NVT, isShort, HiS, HiL));
 2043     HiS = DAG.getNode(ISD::SRL, dl, NVT, InH, Amt);
 2044     LoS = DAG.getNode(ISD::OR, dl, NVT,
 2045                       DAG.getNode(ISD::SRL, dl, NVT, InL, Amt),
 2048                       DAG.getNode(ISD::SHL, dl, NVT, InH, AmtLack));
 2051     HiL = DAG.getConstant(0, dl, NVT);                    // Hi part is zero.
 2052     LoL = DAG.getNode(ISD::SRL, dl, NVT, InH, AmtExcess); // Lo from Hi part.
 2054     Lo = DAG.getSelect(dl, NVT, isZero, InL,
 2055                        DAG.getSelect(dl, NVT, isShort, LoS, LoL));
 2056     Hi = DAG.getSelect(dl, NVT, isShort, HiS, HiL);
 2060     HiS = DAG.getNode(ISD::SRA, dl, NVT, InH, Amt);
 2061     LoS = DAG.getNode(ISD::OR, dl, NVT,
 2062                       DAG.getNode(ISD::SRL, dl, NVT, InL, Amt),
 2063                       DAG.getNode(ISD::SHL, dl, NVT, InH, AmtLack));
 2066     HiL = DAG.getNode(ISD::SRA, dl, NVT, InH,             // Sign of Hi part.
 2067                       DAG.getConstant(NVTBits - 1, dl, ShTy));
 2068     LoL = DAG.getNode(ISD::SRA, dl, NVT, InH, AmtExcess); // Lo from Hi part.
 2070     Lo = DAG.getSelect(dl, NVT, isZero, InL,
 2071                        DAG.getSelect(dl, NVT, isShort, LoS, LoL));
 2072     Hi = DAG.getSelect(dl, NVT, isShort, HiS, HiL);