Handle NaN in fselx. Fixes issue 4106.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7200 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
050dcad9f8
commit
1f5d54f5a6
|
@ -242,7 +242,9 @@ void Interpreter::fnegx(UGeckoInstruction _inst)
|
||||||
|
|
||||||
void Interpreter::fselx(UGeckoInstruction _inst)
|
void Interpreter::fselx(UGeckoInstruction _inst)
|
||||||
{
|
{
|
||||||
rPS0(_inst.FD) = (rPS0(_inst.FA) >= -0.0) ? rPS0(_inst.FC) : rPS0(_inst.FB);
|
// D = (A >= 0) ? C : B
|
||||||
|
rPS0(_inst.FD) = (rPS0(_inst.FA) < 0.0 || riPS0(_inst.FA) == PPC_NAN_U64) ?
|
||||||
|
rPS0(_inst.FB) : rPS0(_inst.FC);
|
||||||
// This is a binary instruction. Does not alter FPSCR
|
// This is a binary instruction. Does not alter FPSCR
|
||||||
if (_inst.Rc) Helper_UpdateCR1(rPS0(_inst.FD));
|
if (_inst.Rc) Helper_UpdateCR1(rPS0(_inst.FD));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue