Fix spu_fm

This commit is contained in:
RipleyTom 2023-05-19 15:21:41 +02:00 committed by Ivan
parent 59f9938849
commit cbb1b1f28e
1 changed files with 10 additions and 2 deletions

View File

@ -9147,7 +9147,7 @@ public:
if (g_cfg.core.spu_approx_xfloat)
{
if (op.ra == op.rb && !m_interp_magn)
if (a.value == b.value)
{
return eval(a * b);
}
@ -9162,7 +9162,15 @@ public:
}
});
set_vr(op.rt, fm(get_vr<f32[4]>(op.ra), get_vr<f32[4]>(op.rb)));
const auto [a, b] = get_vrs<f32[4]>(op.ra, op.rb);
if (op.ra == op.rb && !m_interp_magn)
{
set_vr(op.rt, fm(a, a));
return;
}
set_vr(op.rt, fm(a, b));
}
template <typename T>