mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-08-02 02:58:54 -06:00
Fix/enable JIT for ps_muls0/ps_muls1.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1577 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
@ -293,7 +293,6 @@ namespace Jit64
|
|||||||
|
|
||||||
void ps_muls(UGeckoInstruction inst)
|
void ps_muls(UGeckoInstruction inst)
|
||||||
{
|
{
|
||||||
Default(inst); return;
|
|
||||||
#ifdef JIT_OFF_OPTIONS
|
#ifdef JIT_OFF_OPTIONS
|
||||||
if(Core::g_CoreStartupParameter.bJITOff || Core::g_CoreStartupParameter.bJITPairedOff)
|
if(Core::g_CoreStartupParameter.bJITOff || Core::g_CoreStartupParameter.bJITPairedOff)
|
||||||
{Default(inst); return;} // turn off from debugger
|
{Default(inst); return;} // turn off from debugger
|
||||||
@ -312,15 +311,15 @@ namespace Jit64
|
|||||||
case 12:
|
case 12:
|
||||||
// Single multiply scalar high
|
// Single multiply scalar high
|
||||||
// TODO - faster version for when regs are different
|
// TODO - faster version for when regs are different
|
||||||
MOVAPD(XMM0, fpr.R(c));
|
MOVAPD(XMM0, fpr.R(a));
|
||||||
MOVDDUP(XMM1, fpr.R(a));
|
MOVDDUP(XMM1, fpr.R(c));
|
||||||
MULPS(XMM0, R(XMM1));
|
MULPD(XMM0, R(XMM1));
|
||||||
MOVAPD(fpr.R(d), XMM0);
|
MOVAPD(fpr.R(d), XMM0);
|
||||||
break;
|
break;
|
||||||
case 13:
|
case 13:
|
||||||
// TODO - faster version for when regs are different
|
// TODO - faster version for when regs are different
|
||||||
MOVAPD(XMM0, fpr.R(c));
|
MOVAPD(XMM0, fpr.R(a));
|
||||||
MOVAPD(XMM1, fpr.R(a));
|
MOVAPD(XMM1, fpr.R(c));
|
||||||
SHUFPD(XMM1, R(XMM1), 3); // copy higher to lower
|
SHUFPD(XMM1, R(XMM1), 3); // copy higher to lower
|
||||||
MULPD(XMM0, R(XMM1));
|
MULPD(XMM0, R(XMM1));
|
||||||
MOVAPD(fpr.R(d), XMM0);
|
MOVAPD(fpr.R(d), XMM0);
|
||||||
|
Reference in New Issue
Block a user