reference, declarationdefinition
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);