|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
lib/CodeGen/SelectionDAG/TargetLowering.cpp 6059 SDValue Fast = DAG.getNode(ISD::SINT_TO_FP, dl, DstVT, Src);
6061 SDValue ShiftConst = DAG.getConstant(1, dl, ShiftVT);
6062 SDValue Shr = DAG.getNode(ISD::SRL, dl, SrcVT, Src, ShiftConst);
6063 SDValue AndConst = DAG.getConstant(1, dl, SrcVT);
6064 SDValue And = DAG.getNode(ISD::AND, dl, SrcVT, Src, AndConst);
6065 SDValue Or = DAG.getNode(ISD::OR, dl, SrcVT, And, Shr);
6067 SDValue SignCvt = DAG.getNode(ISD::SINT_TO_FP, dl, DstVT, Or);
6068 SDValue Slow = DAG.getNode(ISD::FADD, dl, DstVT, SignCvt, SignCvt);
6078 dl, SetCCVT, Src, DAG.getConstant(0, dl, SrcVT), ISD::SETLT);
6078 dl, SetCCVT, Src, DAG.getConstant(0, dl, SrcVT), ISD::SETLT);
6079 Result = DAG.getSelect(dl, DstVT, SignBitTest, Slow, Fast);
6098 SDValue TwoP52 = DAG.getConstant(UINT64_C(0x4330000000000000), dl, SrcVT);
6100 BitsToDouble(UINT64_C(0x4530000000100000)), dl, DstVT);
6101 SDValue TwoP84 = DAG.getConstant(UINT64_C(0x4530000000000000), dl, SrcVT);
6102 SDValue LoMask = DAG.getConstant(UINT64_C(0x00000000FFFFFFFF), dl, SrcVT);
6103 SDValue HiShift = DAG.getConstant(32, dl, ShiftVT);
6105 SDValue Lo = DAG.getNode(ISD::AND, dl, SrcVT, Src, LoMask);
6106 SDValue Hi = DAG.getNode(ISD::SRL, dl, SrcVT, Src, HiShift);
6107 SDValue LoOr = DAG.getNode(ISD::OR, dl, SrcVT, Lo, TwoP52);
6108 SDValue HiOr = DAG.getNode(ISD::OR, dl, SrcVT, Hi, TwoP84);
6111 SDValue HiSub = DAG.getNode(ISD::FSUB, dl, DstVT, HiFlt, TwoP84PlusTwoP52);
6112 Result = DAG.getNode(ISD::FADD, dl, DstVT, LoFlt, HiSub);