Lines Matching refs:DstVT

4314   EVT DstVT = Node->getValueType(0);  in expandFP_TO_SINT()  local
4318 if (SrcVT != MVT::f32 || DstVT != MVT::i64) in expandFP_TO_SINT()
4345 Sign = DAG.getSExtOrTrunc(Sign, dl, DstVT); in expandFP_TO_SINT()
4351 R = DAG.getZExtOrTrunc(R, dl, DstVT); in expandFP_TO_SINT()
4355 DAG.getNode(ISD::SHL, dl, DstVT, R, in expandFP_TO_SINT()
4359 DAG.getNode(ISD::SRL, dl, DstVT, R, in expandFP_TO_SINT()
4365 SDValue Ret = DAG.getNode(ISD::SUB, dl, DstVT, in expandFP_TO_SINT()
4366 DAG.getNode(ISD::XOR, dl, DstVT, R, Sign), Sign); in expandFP_TO_SINT()
4369 DAG.getConstant(0, dl, DstVT), Ret, ISD::SETLT); in expandFP_TO_SINT()
4379 EVT DstVT = Node->getValueType(0); in expandFP_TO_UINT() local
4384 if (DstVT.isVector() && (!isOperationLegalOrCustom(ISD::FP_TO_SINT, DstVT) || in expandFP_TO_UINT()
4393 APInt SignMask = APInt::getSignMask(DstVT.getScalarSizeInBits()); in expandFP_TO_UINT()
4396 Result = DAG.getNode(ISD::FP_TO_SINT, dl, DstVT, Src); in expandFP_TO_UINT()
4403 bool Strict = shouldUseStrictFP_TO_INT(SrcVT, DstVT, /*IsSigned*/ false); in expandFP_TO_UINT()
4415 SDValue Ofs = DAG.getSelect(dl, DstVT, Sel, DAG.getConstant(0, dl, DstVT), in expandFP_TO_UINT()
4416 DAG.getConstant(SignMask, dl, DstVT)); in expandFP_TO_UINT()
4417 Result = DAG.getNode(ISD::XOR, dl, DstVT, in expandFP_TO_UINT()
4418 DAG.getNode(ISD::FP_TO_SINT, dl, DstVT, Val), Ofs); in expandFP_TO_UINT()
4425 SDValue True = DAG.getNode(ISD::FP_TO_SINT, dl, DstVT, Src); in expandFP_TO_UINT()
4427 SDValue False = DAG.getNode(ISD::FP_TO_SINT, dl, DstVT, in expandFP_TO_UINT()
4429 False = DAG.getNode(ISD::XOR, dl, DstVT, False, in expandFP_TO_UINT()
4430 DAG.getConstant(SignMask, dl, DstVT)); in expandFP_TO_UINT()
4431 Result = DAG.getSelect(dl, DstVT, Sel, True, False); in expandFP_TO_UINT()
4440 EVT DstVT = Node->getValueType(0); in expandUINT_TO_FP() local
4448 if (DstVT.getScalarType() == MVT::f32) { in expandUINT_TO_FP()
4453 !isOperationLegalOrCustom(ISD::FADD, DstVT) || in expandUINT_TO_FP()
4461 SDValue Fast = DAG.getNode(ISD::SINT_TO_FP, dl, DstVT, Src); in expandUINT_TO_FP()
4469 SDValue SignCvt = DAG.getNode(ISD::SINT_TO_FP, dl, DstVT, Or); in expandUINT_TO_FP()
4470 SDValue Slow = DAG.getNode(ISD::FADD, dl, DstVT, SignCvt, SignCvt); in expandUINT_TO_FP()
4481 Result = DAG.getSelect(dl, DstVT, SignBitTest, Slow, Fast); in expandUINT_TO_FP()
4485 if (DstVT.getScalarType() == MVT::f64) { in expandUINT_TO_FP()
4490 !isOperationLegalOrCustom(ISD::FADD, DstVT) || in expandUINT_TO_FP()
4491 !isOperationLegalOrCustom(ISD::FSUB, DstVT) || in expandUINT_TO_FP()
4502 BitsToDouble(UINT64_C(0x4530000000100000)), dl, DstVT); in expandUINT_TO_FP()
4511 SDValue LoFlt = DAG.getBitcast(DstVT, LoOr); in expandUINT_TO_FP()
4512 SDValue HiFlt = DAG.getBitcast(DstVT, HiOr); in expandUINT_TO_FP()
4513 SDValue HiSub = DAG.getNode(ISD::FSUB, dl, DstVT, HiFlt, TwoP84PlusTwoP52); in expandUINT_TO_FP()
4514 Result = DAG.getNode(ISD::FADD, dl, DstVT, LoFlt, HiSub); in expandUINT_TO_FP()