Lines Matching refs:F64

291 constexpr LLT F64 = LLT::float64();  variable
1709 .legalFor({{F32, LocalPtr}, {F64, LocalPtr}}); in AMDGPULegalizerInfo()
1714 AtomicFMinFMax.legalFor({{F64, GlobalPtr}, {F64, BufferFatPtr}}); in AMDGPULegalizerInfo()
1718 AtomicFMinFMax.legalFor({F64, FlatPtr}); in AMDGPULegalizerInfo()
3839 const LLT F64 = LLT::float64(); in legalizeFFloor() local
3843 assert(ST.hasFractBug() && MRI.getType(Dst) == F64 && in legalizeFFloor()
3854 auto Fract = B.buildIntrinsic(Intrinsic::amdgcn_fract, {F64}) in legalizeFFloor()
3866 B.buildFConstant(F64, llvm::bit_cast<double>(0x3fefffffffffffff)); in legalizeFFloor()
3868 Register Min = MRI.createGenericVirtualRegister(F64); in legalizeFFloor()
3881 CorrectedFract = B.buildSelect(F64, IsNan, ModSrc, Min, Flags).getReg(0); in legalizeFFloor()
3884 auto NegFract = B.buildFNeg(F64, CorrectedFract, Flags); in legalizeFFloor()
5380 const LLT F64 = LLT::scalar(64); in legalizeFSQRTF64() local
5383 assert(MRI.getType(Dst) == F64 && "only expect to lower f64 sqrt"); in legalizeFSQRTF64()
5388 auto ScaleConstant = B.buildFConstant(F64, 0x1.0p-767); in legalizeFSQRTF64()
5396 auto SqrtX = B.buildFLdexp(F64, X, ScaleUp, Flags); in legalizeFSQRTF64()
5399 B.buildIntrinsic(Intrinsic::amdgcn_rsq, {F64}).addReg(SqrtX.getReg(0)); in legalizeFSQRTF64()
5401 auto Half = B.buildFConstant(F64, 0.5); in legalizeFSQRTF64()
5402 auto SqrtH0 = B.buildFMul(F64, SqrtY, Half); in legalizeFSQRTF64()
5403 auto SqrtS0 = B.buildFMul(F64, SqrtX, SqrtY); in legalizeFSQRTF64()
5405 auto NegSqrtH0 = B.buildFNeg(F64, SqrtH0); in legalizeFSQRTF64()
5406 auto SqrtR0 = B.buildFMA(F64, NegSqrtH0, SqrtS0, Half); in legalizeFSQRTF64()
5408 auto SqrtS1 = B.buildFMA(F64, SqrtS0, SqrtR0, SqrtS0); in legalizeFSQRTF64()
5409 auto SqrtH1 = B.buildFMA(F64, SqrtH0, SqrtR0, SqrtH0); in legalizeFSQRTF64()
5411 auto NegSqrtS1 = B.buildFNeg(F64, SqrtS1); in legalizeFSQRTF64()
5412 auto SqrtD0 = B.buildFMA(F64, NegSqrtS1, SqrtS1, SqrtX); in legalizeFSQRTF64()
5414 auto SqrtS2 = B.buildFMA(F64, SqrtD0, SqrtH1, SqrtS1); in legalizeFSQRTF64()
5416 auto NegSqrtS2 = B.buildFNeg(F64, SqrtS2); in legalizeFSQRTF64()
5417 auto SqrtD1 = B.buildFMA(F64, NegSqrtS2, SqrtS2, SqrtX); in legalizeFSQRTF64()
5419 auto SqrtRet = B.buildFMA(F64, SqrtD1, SqrtH1, SqrtS2); in legalizeFSQRTF64()
5424 SqrtRet = B.buildFLdexp(F64, SqrtRet, ScaleDown, Flags); in legalizeFSQRTF64()