mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-25 23:29:44 -06:00
Jit64: Fix minor fmaddXX inefficiencies
This commit is contained in:
@ -421,7 +421,7 @@ void Jit64::fmaddXX(UGeckoInstruction inst)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (single && round_input)
|
if (round_input)
|
||||||
Force25BitPrecision(result_xmm, Rc, scratch_xmm);
|
Force25BitPrecision(result_xmm, Rc, scratch_xmm);
|
||||||
else
|
else
|
||||||
MOVAPD(result_xmm, Rc);
|
MOVAPD(result_xmm, Rc);
|
||||||
@ -475,20 +475,16 @@ void Jit64::fmaddXX(UGeckoInstruction inst)
|
|||||||
if (SConfig::GetInstance().bAccurateNaNs && result_xmm == XMM0)
|
if (SConfig::GetInstance().bAccurateNaNs && result_xmm == XMM0)
|
||||||
{
|
{
|
||||||
// HandleNaNs needs to clobber XMM0
|
// HandleNaNs needs to clobber XMM0
|
||||||
MOVAPD(XMM1, R(result_xmm));
|
MOVAPD(Rd, R(result_xmm));
|
||||||
result_xmm = XMM1;
|
result_xmm = Rd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
HandleNaNs(inst, result_xmm, result_xmm, XMM0);
|
||||||
|
|
||||||
if (single)
|
if (single)
|
||||||
{
|
|
||||||
HandleNaNs(inst, result_xmm, result_xmm, XMM0);
|
|
||||||
FinalizeSingleResult(Rd, R(result_xmm), packed, true);
|
FinalizeSingleResult(Rd, R(result_xmm), packed, true);
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
|
||||||
HandleNaNs(inst, result_xmm, result_xmm, XMM0);
|
|
||||||
FinalizeDoubleResult(Rd, R(result_xmm));
|
FinalizeDoubleResult(Rd, R(result_xmm));
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Jit64::fsign(UGeckoInstruction inst)
|
void Jit64::fsign(UGeckoInstruction inst)
|
||||||
|
Reference in New Issue
Block a user