|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
lib/Target/AMDGPU/R600ISelLowering.cpp 832 SDValue Zero = DAG.getConstant(0, DL, VT);
833 SDValue One = DAG.getConstant(1, DL, VT);
837 SDValue Width = DAG.getConstant(VT.getSizeInBits(), DL, VT);
838 SDValue Width1 = DAG.getConstant(VT.getSizeInBits() - 1, DL, VT);
839 SDValue BigShift = DAG.getNode(ISD::SUB, DL, VT, Shift, Width);
840 SDValue CompShift = DAG.getNode(ISD::SUB, DL, VT, Width1, Shift);
847 SDValue Overflow = DAG.getNode(ISD::SHL, DL, VT, Hi, CompShift);
848 Overflow = DAG.getNode(ISD::SHL, DL, VT, Overflow, One);
850 SDValue HiSmall = DAG.getNode(SRA ? ISD::SRA : ISD::SRL, DL, VT, Hi, Shift);
851 SDValue LoSmall = DAG.getNode(ISD::SRL, DL, VT, Lo, Shift);
852 LoSmall = DAG.getNode(ISD::OR, DL, VT, LoSmall, Overflow);
854 SDValue LoBig = DAG.getNode(SRA ? ISD::SRA : ISD::SRL, DL, VT, Hi, BigShift);
855 SDValue HiBig = SRA ? DAG.getNode(ISD::SRA, DL, VT, Hi, Width1) : Zero;
857 Hi = DAG.getSelectCC(DL, Shift, Width, HiSmall, HiBig, ISD::SETULT);
858 Lo = DAG.getSelectCC(DL, Shift, Width, LoSmall, LoBig, ISD::SETULT);
860 return DAG.getNode(ISD::MERGE_VALUES, DL, DAG.getVTList(VT,VT), Lo, Hi);
860 return DAG.getNode(ISD::MERGE_VALUES, DL, DAG.getVTList(VT,VT), Lo, Hi);