Use accurate frsqrte in Interpreter.

The implementation of frsqrte exposed by this change isn't completely
correct; that will be fixed in a later commit.
This commit is contained in:
magumagu 2014-05-21 21:29:43 -07:00
parent 6544d53c16
commit ad4ad7c1ed
1 changed files with 0 additions and 6 deletions

View File

@ -419,7 +419,6 @@ void Interpreter::frsqrtex(UGeckoInstruction _inst)
} }
else else
{ {
#ifdef VERY_ACCURATE_FP
if (b == 0.0) if (b == 0.0)
{ {
SetFPException(FPSCR_ZX); SetFPException(FPSCR_ZX);
@ -442,11 +441,6 @@ void Interpreter::frsqrtex(UGeckoInstruction _inst)
outa |= frsqrtex_lut[idx] >> 12; outa |= frsqrtex_lut[idx] >> 12;
riPS0(_inst.FD) = ((u64)outa << 32) + (u64)outb; riPS0(_inst.FD) = ((u64)outa << 32) + (u64)outb;
} }
#else
if (b == 0.0)
SetFPException(FPSCR_ZX);
rPS0(_inst.FD) = ForceDouble(1.0 / sqrt(b));
#endif
} }
UpdateFPRF(rPS0(_inst.FD)); UpdateFPRF(rPS0(_inst.FD));
if (_inst.Rc) Helper_UpdateCR1(); if (_inst.Rc) Helper_UpdateCR1();