Core: Remove usage of fpclassify from R4300iOp::CheckFPUResult64
This commit is contained in:
parent
71067ccdc4
commit
2231e8d6c0
|
@ -3506,8 +3506,7 @@ bool R4300iOp::CheckFPUResult64(double & Result)
|
||||||
{
|
{
|
||||||
int Except = fetestexcept(FE_ALL_EXCEPT);
|
int Except = fetestexcept(FE_ALL_EXCEPT);
|
||||||
bool DoException = false;
|
bool DoException = false;
|
||||||
int fptype = fpclassify(Result);
|
if ((*((uint64_t *)&Result) & 0x7FF0000000000000ULL) == 0x7FF0000000000000ULL && (*((uint64_t *)&Result) & 0x000FFFFFFFFFFFFFULL) != 0x0000000000000000ULL) // NaN
|
||||||
if (fptype == FP_NAN)
|
|
||||||
{
|
{
|
||||||
if (Except == 0 || !SetFPUException())
|
if (Except == 0 || !SetFPUException())
|
||||||
{
|
{
|
||||||
|
@ -3518,7 +3517,7 @@ bool R4300iOp::CheckFPUResult64(double & Result)
|
||||||
DoException = true;
|
DoException = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (fptype == FP_SUBNORMAL)
|
else if ((*((uint64_t *)&Result) & 0x7FF0000000000000ULL) == 0x0000000000000000ULL && (*((uint64_t *)&Result) & 0x000FFFFFFFFFFFFFULL) != 0x0000000000000000ULL)
|
||||||
{
|
{
|
||||||
FPStatusReg & StatusReg = (FPStatusReg &)m_FPCR[31];
|
FPStatusReg & StatusReg = (FPStatusReg &)m_FPCR[31];
|
||||||
if (!StatusReg.FlushSubnormals || StatusReg.Enable.Underflow || StatusReg.Enable.Inexact)
|
if (!StatusReg.FlushSubnormals || StatusReg.Enable.Underflow || StatusReg.Enable.Inexact)
|
||||||
|
|
Loading…
Reference in New Issue