mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-13 10:18:40 +12:00
PPU interpreters: Fix VMAXFP NaN and signed zeroes handling
This commit is contained in:
parent
6a51c27fde
commit
70fb5712e5
1 changed files with 4 additions and 1 deletions
|
@ -988,7 +988,10 @@ bool ppu_interpreter_precise::VMADDFP(ppu_thread& ppu, ppu_opcode_t op)
|
||||||
|
|
||||||
bool ppu_interpreter::VMAXFP(ppu_thread& ppu, ppu_opcode_t op)
|
bool ppu_interpreter::VMAXFP(ppu_thread& ppu, ppu_opcode_t op)
|
||||||
{
|
{
|
||||||
ppu.vr[op.vd] = vec_handle_denormal(ppu, vec_handle_nan(_mm_max_ps(ppu.vr[op.va].vf, ppu.vr[op.vb].vf)));
|
const auto a = ppu.vr[op.va];
|
||||||
|
const auto b = ppu.vr[op.vb];
|
||||||
|
const auto result = _mm_and_ps(_mm_max_ps(a.vf, b.vf), _mm_max_ps(b.vf, a.vf));
|
||||||
|
ppu.vr[op.vd] = vec_handle_denormal(ppu, vec_handle_nan(v128::fromF(result), a, b));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue