|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
lib/Target/AMDGPU/R600ISelLowering.cpp 796 SDValue Zero = DAG.getConstant(0, DL, VT);
797 SDValue One = DAG.getConstant(1, DL, VT);
799 SDValue Width = DAG.getConstant(VT.getSizeInBits(), DL, VT);
800 SDValue Width1 = DAG.getConstant(VT.getSizeInBits() - 1, DL, VT);
801 SDValue BigShift = DAG.getNode(ISD::SUB, DL, VT, Shift, Width);
802 SDValue CompShift = DAG.getNode(ISD::SUB, DL, VT, Width1, Shift);
809 SDValue Overflow = DAG.getNode(ISD::SRL, DL, VT, Lo, CompShift);
810 Overflow = DAG.getNode(ISD::SRL, DL, VT, Overflow, One);
812 SDValue HiSmall = DAG.getNode(ISD::SHL, DL, VT, Hi, Shift);
813 HiSmall = DAG.getNode(ISD::OR, DL, VT, HiSmall, Overflow);
814 SDValue LoSmall = DAG.getNode(ISD::SHL, DL, VT, Lo, Shift);
816 SDValue HiBig = DAG.getNode(ISD::SHL, DL, VT, Lo, BigShift);
819 Hi = DAG.getSelectCC(DL, Shift, Width, HiSmall, HiBig, ISD::SETULT);
820 Lo = DAG.getSelectCC(DL, Shift, Width, LoSmall, LoBig, ISD::SETULT);
822 return DAG.getNode(ISD::MERGE_VALUES, DL, DAG.getVTList(VT,VT), Lo, Hi);