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

References

lib/Target/AMDGPU/AMDGPUISelLowering.cpp
 2079   const SDValue Zero = DAG.getConstant(0, SL, MVT::i32);
 2080   const SDValue One = DAG.getConstant(1, SL, MVT::i32);
 2082   SDValue VecSrc = DAG.getNode(ISD::BITCAST, SL, MVT::v2i32, Src);
 2086   SDValue Hi = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, SL, MVT::i32, VecSrc, One);
 2088   SDValue Exp = extractF64Exponent(Hi, SL, DAG);
 2093   const SDValue SignBitMask = DAG.getConstant(UINT32_C(1) << 31, SL, MVT::i32);
 2094   SDValue SignBit = DAG.getNode(ISD::AND, SL, MVT::i32, Hi, SignBitMask);
 2097   SDValue SignBit64 = DAG.getBuildVector(MVT::v2i32, SL, {Zero, SignBit});
 2098   SignBit64 = DAG.getNode(ISD::BITCAST, SL, MVT::i64, SignBit64);
 2100   SDValue BcInt = DAG.getNode(ISD::BITCAST, SL, MVT::i64, Src);
 2102     = DAG.getConstant((UINT64_C(1) << FractBits) - 1, SL, MVT::i64);
 2104   SDValue Shr = DAG.getNode(ISD::SRA, SL, MVT::i64, FractMask, Exp);
 2105   SDValue Not = DAG.getNOT(SL, Shr, MVT::i64);
 2106   SDValue Tmp0 = DAG.getNode(ISD::AND, SL, MVT::i64, BcInt, Not);
 2109       getSetCCResultType(DAG.getDataLayout(), *DAG.getContext(), MVT::i32);
 2109       getSetCCResultType(DAG.getDataLayout(), *DAG.getContext(), MVT::i32);
 2111   const SDValue FiftyOne = DAG.getConstant(FractBits - 1, SL, MVT::i32);
 2113   SDValue ExpLt0 = DAG.getSetCC(SL, SetCCVT, Exp, Zero, ISD::SETLT);
 2114   SDValue ExpGt51 = DAG.getSetCC(SL, SetCCVT, Exp, FiftyOne, ISD::SETGT);
 2116   SDValue Tmp1 = DAG.getNode(ISD::SELECT, SL, MVT::i64, ExpLt0, SignBit64, Tmp0);
 2117   SDValue Tmp2 = DAG.getNode(ISD::SELECT, SL, MVT::i64, ExpGt51, BcInt, Tmp1);
 2119   return DAG.getNode(ISD::BITCAST, SL, MVT::f64, Tmp2);