small ps bugfix and another couple of instructions implemented
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1553 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
a4fc0da8cc
commit
b3fc3b16da
|
@ -321,8 +321,8 @@ namespace Jit64
|
|||
// TODO - faster version for when regs are different
|
||||
MOVAPD(XMM0, fpr.R(c));
|
||||
MOVAPD(XMM1, fpr.R(a));
|
||||
SHUFPD(XMM1, R(XMM1), 5); // copy higher to lower
|
||||
MULPD(XMM0, R(XMM1)); // sum lowers
|
||||
SHUFPD(XMM1, R(XMM1), 3); // copy higher to lower
|
||||
MULPD(XMM0, R(XMM1));
|
||||
MOVAPD(fpr.R(d), XMM0);
|
||||
break;
|
||||
default:
|
||||
|
@ -398,6 +398,17 @@ namespace Jit64
|
|||
MOVAPD(XMM0, fpr.R(a));
|
||||
switch (inst.SUBOP5)
|
||||
{
|
||||
case 14: //madds0
|
||||
MOVDDUP(XMM1, fpr.R(c));
|
||||
MULPD(XMM0, R(XMM1));
|
||||
ADDPD(XMM0, fpr.R(b));
|
||||
break;
|
||||
case 15: //madds1
|
||||
MOVAPD(XMM1, fpr.R(c));
|
||||
SHUFPD(XMM1, R(XMM1), 3); // copy higher to lower
|
||||
MULPD(XMM0, R(XMM1));
|
||||
ADDPD(XMM0, fpr.R(b));
|
||||
break;
|
||||
case 28: //msub
|
||||
MULPD(XMM0, fpr.R(c));
|
||||
SUBPD(XMM0, fpr.R(b));
|
||||
|
@ -427,25 +438,4 @@ namespace Jit64
|
|||
ForceSinglePrecisionP(fpr.RX(d));
|
||||
fpr.UnlockAll();
|
||||
}
|
||||
|
||||
void ps_mulsX(UGeckoInstruction inst)
|
||||
{
|
||||
#ifdef JIT_OFF_OPTIONS
|
||||
if(Core::g_CoreStartupParameter.bJITOff || Core::g_CoreStartupParameter.bJITPairedOff)
|
||||
{Default(inst); return;} // turn off from debugger
|
||||
#endif
|
||||
INSTRUCTION_START;
|
||||
Default(inst);
|
||||
return;
|
||||
if (inst.Rc) {
|
||||
Default(inst); return;
|
||||
}
|
||||
|
||||
switch (inst.SUBOP5)
|
||||
{
|
||||
case 12:
|
||||
case 13:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -228,8 +228,8 @@ GekkoOPTemplate table4_2[] =
|
|||
{11, Interpreter::ps_sum1, Jit64::ps_sum, {"ps_sum1", OPTYPE_PS, 0}},
|
||||
{12, Interpreter::ps_muls0, Jit64::ps_muls, {"ps_muls0", OPTYPE_PS, 0}},
|
||||
{13, Interpreter::ps_muls1, Jit64::ps_muls, {"ps_muls1", OPTYPE_PS, 0}},
|
||||
{14, Interpreter::ps_madds0, Jit64::Default, {"ps_madds0", OPTYPE_PS, 0}},
|
||||
{15, Interpreter::ps_madds1, Jit64::Default, {"ps_madds1", OPTYPE_PS, 0}},
|
||||
{14, Interpreter::ps_madds0, Jit64::ps_maddXX, {"ps_madds0", OPTYPE_PS, 0}},
|
||||
{15, Interpreter::ps_madds1, Jit64::ps_maddXX, {"ps_madds1", OPTYPE_PS, 0}},
|
||||
{18, Interpreter::ps_div, Jit64::ps_arith, {"ps_div", OPTYPE_PS, 0, 16}},
|
||||
{20, Interpreter::ps_sub, Jit64::ps_arith, {"ps_sub", OPTYPE_PS, 0}},
|
||||
{21, Interpreter::ps_add, Jit64::ps_arith, {"ps_add", OPTYPE_PS, 0}},
|
||||
|
|
Loading…
Reference in New Issue