Enabled MSUBq in VU micro mode.

This commit is contained in:
Jean-Philip Desjardins 2015-12-05 18:37:57 -05:00
parent 1cef991290
commit 25d66c2fc2
3 changed files with 10 additions and 3 deletions

View File

@ -76,6 +76,7 @@ private:
void ADDi();
void MADDi();
void SUBq();
void MSUBq();
void SUBi();
void MSUBi();
void ADD();

View File

@ -182,6 +182,12 @@ void CMA_VU::CUpper::SUBq()
VUShared::SUBq(m_codeGen, m_nDest, m_nFD, m_nFS);
}
//25
void CMA_VU::CUpper::MSUBq()
{
VUShared::MSUBq(m_codeGen, m_nDest, m_nFD, m_nFS);
}
//26
void CMA_VU::CUpper::SUBi()
{
@ -469,7 +475,7 @@ CMA_VU::CUpper::InstructionFuncConstant CMA_VU::CUpper::m_pOpVector[0x40] =
//0x18
&CMA_VU::CUpper::MULbc, &CMA_VU::CUpper::MULbc, &CMA_VU::CUpper::MULbc, &CMA_VU::CUpper::MULbc, &CMA_VU::CUpper::MULq, &CMA_VU::CUpper::MAXi, &CMA_VU::CUpper::MULi, &CMA_VU::CUpper::MINIi,
//0x20
&CMA_VU::CUpper::ADDq, &CMA_VU::CUpper::MADDq, &CMA_VU::CUpper::ADDi, &CMA_VU::CUpper::MADDi, &CMA_VU::CUpper::SUBq, &CMA_VU::CUpper::Illegal, &CMA_VU::CUpper::SUBi, &CMA_VU::CUpper::MSUBi,
&CMA_VU::CUpper::ADDq, &CMA_VU::CUpper::MADDq, &CMA_VU::CUpper::ADDi, &CMA_VU::CUpper::MADDi, &CMA_VU::CUpper::SUBq, &CMA_VU::CUpper::MSUBq, &CMA_VU::CUpper::SUBi, &CMA_VU::CUpper::MSUBi,
//0x28
&CMA_VU::CUpper::ADD, &CMA_VU::CUpper::MADD, &CMA_VU::CUpper::MUL, &CMA_VU::CUpper::MAX, &CMA_VU::CUpper::SUB, &CMA_VU::CUpper::MSUB, &CMA_VU::CUpper::OPMSUB, &CMA_VU::CUpper::MINI,
//0x30

View File

@ -59,7 +59,7 @@ INSTRUCTION CMA_VU::CUpper::m_cReflV[64] =
{ "ADD", NULL, CopyMnemonic, ReflOpFdFsI, NULL, NULL },
{ "MADD", NULL, CopyMnemonic, ReflOpFdFsI, NULL, NULL },
{ "SUB", NULL, CopyMnemonic, ReflOpFdFsQ, NULL, NULL },
{ NULL, NULL, NULL, NULL, NULL, NULL },
{ "MSUB", NULL, CopyMnemonic, ReflOpFdFsQ, NULL, NULL },
{ "SUB", NULL, CopyMnemonic, ReflOpFdFsI, NULL, NULL },
{ "MSUB", NULL, CopyMnemonic, ReflOpFdFsI, NULL, NULL },
//0x28
@ -295,7 +295,7 @@ VUINSTRUCTION CMA_VU::CUpper::m_cVuReflV[64] =
{ "ADD", NULL, ReflOpAffFdFsI },
{ "MADD", NULL, ReflOpAffFdFsI },
{ "SUB", NULL, ReflOpAffFdFsQ },
{ NULL, NULL, NULL },
{ "MSUB", NULL, ReflOpAffFdFsQ },
{ "SUB", NULL, ReflOpAffFdFsI },
{ "MSUB", NULL, ReflOpAffFdFsI },
//0x28