mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-16 11:24:39 +00:00
Soft float support for FREM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68614 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -80,6 +80,7 @@ void DAGTypeLegalizer::SoftenFloatResult(SDNode *N, unsigned ResNo) {
|
||||
case ISD::FP_ROUND: R = SoftenFloatRes_FP_ROUND(N); break;
|
||||
case ISD::FPOW: R = SoftenFloatRes_FPOW(N); break;
|
||||
case ISD::FPOWI: R = SoftenFloatRes_FPOWI(N); break;
|
||||
case ISD::FREM: R = SoftenFloatRes_FREM(N); break;
|
||||
case ISD::FRINT: R = SoftenFloatRes_FRINT(N); break;
|
||||
case ISD::FSIN: R = SoftenFloatRes_FSIN(N); break;
|
||||
case ISD::FSQRT: R = SoftenFloatRes_FSQRT(N); break;
|
||||
@@ -363,6 +364,18 @@ SDValue DAGTypeLegalizer::SoftenFloatRes_FPOWI(SDNode *N) {
|
||||
NVT, Ops, 2, false, N->getDebugLoc());
|
||||
}
|
||||
|
||||
SDValue DAGTypeLegalizer::SoftenFloatRes_FREM(SDNode *N) {
|
||||
MVT NVT = TLI.getTypeToTransformTo(N->getValueType(0));
|
||||
SDValue Ops[2] = { GetSoftenedFloat(N->getOperand(0)),
|
||||
GetSoftenedFloat(N->getOperand(1)) };
|
||||
return MakeLibCall(GetFPLibCall(N->getValueType(0),
|
||||
RTLIB::REM_F32,
|
||||
RTLIB::REM_F64,
|
||||
RTLIB::REM_F80,
|
||||
RTLIB::REM_PPCF128),
|
||||
NVT, Ops, 2, false, N->getDebugLoc());
|
||||
}
|
||||
|
||||
SDValue DAGTypeLegalizer::SoftenFloatRes_FRINT(SDNode *N) {
|
||||
MVT NVT = TLI.getTypeToTransformTo(N->getValueType(0));
|
||||
SDValue Op = GetSoftenedFloat(N->getOperand(0));
|
||||
|
Reference in New Issue
Block a user