mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-09 08:21:29 +12:00
Fix detection of denormals in frsp.
This commit is contained in:
parent
b7761beee9
commit
d78fe3b4d4
1 changed files with 4 additions and 1 deletions
|
@ -3795,7 +3795,10 @@ private:
|
||||||
const double r = static_cast<float>(b0);
|
const double r = static_cast<float>(b0);
|
||||||
CPU.FPSCR.FR = fabs(r) > fabs(b);
|
CPU.FPSCR.FR = fabs(r) > fabs(b);
|
||||||
CPU.SetFPSCR_FI(b != r);
|
CPU.SetFPSCR_FI(b != r);
|
||||||
CPU.FPSCR.FPRF = PPCdouble(r).GetType();
|
u32 type = PPCdouble(r).GetType();
|
||||||
|
if (type == FPR_PN && r < ldexp(1.0, -126)) type = FPR_PD;
|
||||||
|
else if (type == FPR_NN && r > ldexp(-1.0, -126)) type = FPR_ND;
|
||||||
|
CPU.FPSCR.FPRF = type;
|
||||||
CPU.FPR[frd] = r;
|
CPU.FPR[frd] = r;
|
||||||
}
|
}
|
||||||
void FCTIW(u32 frd, u32 frb, bool rc)
|
void FCTIW(u32 frd, u32 frb, bool rc)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue