mirror of
https://github.com/libretro/Play-.git
synced 2025-02-01 14:15:27 +00:00
Implement MSUBAq.
This commit is contained in:
parent
97bd909dd3
commit
b0c5765389
@ -110,6 +110,7 @@ private:
|
||||
void ITOF4();
|
||||
void FTOI4();
|
||||
void ABS();
|
||||
void MSUBAq();
|
||||
void MADDA();
|
||||
void MSUBA();
|
||||
|
||||
|
@ -360,6 +360,12 @@ void CMA_VU::CUpper::ABS()
|
||||
VUShared::ABS(m_codeGen, m_nDest, m_nFT, m_nFS);
|
||||
}
|
||||
|
||||
//09
|
||||
void CMA_VU::CUpper::MSUBAq()
|
||||
{
|
||||
VUShared::MSUBAq(m_codeGen, m_nDest, m_nFS, m_relativePipeTime);
|
||||
}
|
||||
|
||||
//0A
|
||||
void CMA_VU::CUpper::MADDA()
|
||||
{
|
||||
@ -499,7 +505,7 @@ CMA_VU::CUpper::InstructionFuncConstant CMA_VU::CUpper::m_pOpVector1[0x20] =
|
||||
//0x00
|
||||
&CMA_VU::CUpper::ADDAbc, &CMA_VU::CUpper::SUBAbc, &CMA_VU::CUpper::MADDAbc, &CMA_VU::CUpper::MSUBAbc, &CMA_VU::CUpper::ITOF4, &CMA_VU::CUpper::FTOI4, &CMA_VU::CUpper::MULAbc, &CMA_VU::CUpper::ABS,
|
||||
//0x08
|
||||
&CMA_VU::CUpper::Illegal, &CMA_VU::CUpper::Illegal, &CMA_VU::CUpper::MADDA, &CMA_VU::CUpper::MSUBA, &CMA_VU::CUpper::Illegal, &CMA_VU::CUpper::Illegal, &CMA_VU::CUpper::Illegal, &CMA_VU::CUpper::Illegal,
|
||||
&CMA_VU::CUpper::Illegal, &CMA_VU::CUpper::MSUBAq, &CMA_VU::CUpper::MADDA, &CMA_VU::CUpper::MSUBA, &CMA_VU::CUpper::Illegal, &CMA_VU::CUpper::Illegal, &CMA_VU::CUpper::Illegal, &CMA_VU::CUpper::Illegal,
|
||||
//0x10
|
||||
&CMA_VU::CUpper::Illegal, &CMA_VU::CUpper::Illegal, &CMA_VU::CUpper::Illegal, &CMA_VU::CUpper::Illegal, &CMA_VU::CUpper::Illegal, &CMA_VU::CUpper::Illegal, &CMA_VU::CUpper::Illegal, &CMA_VU::CUpper::Illegal,
|
||||
//0x18
|
||||
|
@ -144,7 +144,7 @@ INSTRUCTION CMA_VU::CUpper::m_cReflVX1[32] =
|
||||
{ "ABS", NULL, CopyMnemonic, ReflOpFtFs, NULL, NULL },
|
||||
//0x08
|
||||
{ NULL, NULL, NULL, NULL, NULL, NULL },
|
||||
{ NULL, NULL, NULL, NULL, NULL, NULL },
|
||||
{ "MSUBA", NULL, CopyMnemonic, ReflOpAccFsQ, NULL, NULL },
|
||||
{ "MADDA", NULL, CopyMnemonic, ReflOpAccFsFt, NULL, NULL },
|
||||
{ "MSUBA", NULL, CopyMnemonic, ReflOpAccFsFt, NULL, NULL },
|
||||
{ NULL, NULL, NULL, NULL, NULL, NULL },
|
||||
@ -380,7 +380,7 @@ VUINSTRUCTION CMA_VU::CUpper::m_cVuReflVX1[32] =
|
||||
{ "ABS", NULL, ReflOpAffFtFs },
|
||||
//0x08
|
||||
{ NULL, NULL, NULL },
|
||||
{ NULL, NULL, NULL },
|
||||
{ "MSUBA", NULL, ReflOpAffWrARdFsQ },
|
||||
{ "MADDA", NULL, ReflOpAffWrARdFtFs },
|
||||
{ "MSUBA", NULL, ReflOpAffWrARdFtFs },
|
||||
{ NULL, NULL, NULL },
|
||||
|
@ -923,6 +923,14 @@ void VUShared::MSUBAi(CMipsJitter* codeGen, uint8 dest, uint8 fs, uint32 relativ
|
||||
true, relativePipeTime);
|
||||
}
|
||||
|
||||
void VUShared::MSUBAq(CMipsJitter* codeGen, uint8 dest, uint8 fs, uint32 relativePipeTime)
|
||||
{
|
||||
MSUBA_base(codeGen, dest,
|
||||
offsetof(CMIPS, m_State.nCOP2[fs]),
|
||||
offsetof(CMIPS, m_State.nCOP2Q),
|
||||
true, relativePipeTime);
|
||||
}
|
||||
|
||||
void VUShared::MFIR(CMipsJitter* codeGen, uint8 dest, uint8 ft, uint8 is)
|
||||
{
|
||||
for(unsigned int i = 0; i < 4; i++)
|
||||
|
@ -145,6 +145,7 @@ namespace VUShared
|
||||
void MSUBA(CMipsJitter*, uint8, uint8, uint8, uint32);
|
||||
void MSUBAbc(CMipsJitter*, uint8, uint8, uint8, uint8, uint32);
|
||||
void MSUBAi(CMipsJitter*, uint8, uint8, uint32);
|
||||
void MSUBAq(CMipsJitter*, uint8, uint8, uint32);
|
||||
void MFIR(CMipsJitter*, uint8, uint8, uint8);
|
||||
void MTIR(CMipsJitter*, uint8, uint8, uint8);
|
||||
void MUL(CMipsJitter*, uint8, uint8, uint8, uint8, uint32);
|
||||
|
Loading…
x
Reference in New Issue
Block a user