mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-14 21:37:52 -07:00
DSP LLE: Rename CMPAR to CMPAXH
This commit is contained in:
parent
872821249b
commit
d307c34af1
@ -284,7 +284,7 @@ const std::array<DSPOPCTemplate, 230> s_opcodes =
|
|||||||
|
|
||||||
//c-d
|
//c-d
|
||||||
{"MULC", 0xc000, 0xe700, 1, 2, {{P_ACCM, 1, 0, 12, 0x1000}, {P_REG1A, 1, 0, 11, 0x0800}}, true, false, false, false, true}, // $prod = $acS.m * $axS.h
|
{"MULC", 0xc000, 0xe700, 1, 2, {{P_ACCM, 1, 0, 12, 0x1000}, {P_REG1A, 1, 0, 11, 0x0800}}, true, false, false, false, true}, // $prod = $acS.m * $axS.h
|
||||||
{"CMPAR", 0xc100, 0xe700, 1, 2, {{P_ACC, 1, 0, 11, 0x0800}, {P_REG1A, 1, 0, 12, 0x1000}}, true, false, false, false, true}, // FLAGS($acS - axR.h)
|
{"CMPAXH", 0xc100, 0xe700, 1, 2, {{P_ACC, 1, 0, 11, 0x0800}, {P_REG1A, 1, 0, 12, 0x1000}}, true, false, false, false, true}, // FLAGS($acS - axR.h)
|
||||||
{"MULCMVZ", 0xc200, 0xe600, 1, 3, {{P_ACCM, 1, 0, 12, 0x1000}, {P_REG1A, 1, 0, 11, 0x0800}, {P_ACC, 1, 0, 8, 0x0100}}, true, false, false, false, true}, // $acR.hm, $acR.l, $prod = $prod.hm, 0, $acS.m * $axS.h
|
{"MULCMVZ", 0xc200, 0xe600, 1, 3, {{P_ACCM, 1, 0, 12, 0x1000}, {P_REG1A, 1, 0, 11, 0x0800}, {P_ACC, 1, 0, 8, 0x0100}}, true, false, false, false, true}, // $acR.hm, $acR.l, $prod = $prod.hm, 0, $acS.m * $axS.h
|
||||||
{"MULCAC", 0xc400, 0xe600, 1, 3, {{P_ACCM, 1, 0, 12, 0x1000}, {P_REG1A, 1, 0, 11, 0x0800}, {P_ACC, 1, 0, 8, 0x0100}}, true, false, false, false, true}, // $acR, $prod = $acR + $prod, $acS.m * $axS.h
|
{"MULCAC", 0xc400, 0xe600, 1, 3, {{P_ACCM, 1, 0, 12, 0x1000}, {P_REG1A, 1, 0, 11, 0x0800}, {P_ACC, 1, 0, 8, 0x0100}}, true, false, false, false, true}, // $acR, $prod = $acR + $prod, $acS.m * $axS.h
|
||||||
{"MULCMV", 0xc600, 0xe600, 1, 3, {{P_ACCM, 1, 0, 12, 0x1000}, {P_REG1A, 1, 0, 11, 0x0800}, {P_ACC, 1, 0, 8, 0x0100}}, true, false, false, false, true}, // $acR, $prod = $prod, $acS.m * $axS.h
|
{"MULCMV", 0xc600, 0xe600, 1, 3, {{P_ACCM, 1, 0, 12, 0x1000}, {P_REG1A, 1, 0, 11, 0x0800}, {P_ACC, 1, 0, 8, 0x0100}}, true, false, false, false, true}, // $acR, $prod = $prod, $acS.m * $axS.h
|
||||||
|
@ -124,12 +124,12 @@ void Interpreter::cmp(const UDSPInstruction)
|
|||||||
ZeroWriteBackLog();
|
ZeroWriteBackLog();
|
||||||
}
|
}
|
||||||
|
|
||||||
// CMPAR $acS axR.h
|
// CMPAXH $acS, $axR.h
|
||||||
// 110r s001 xxxx xxxx
|
// 110r s001 xxxx xxxx
|
||||||
// Compares accumulator $acS with accumulator $axR.h.
|
// Compares accumulator $acS with high part of secondary accumulator $axR.h.
|
||||||
//
|
//
|
||||||
// flags out: x-xx xxxx
|
// flags out: x-xx xxxx
|
||||||
void Interpreter::cmpar(const UDSPInstruction opc)
|
void Interpreter::cmpaxh(const UDSPInstruction opc)
|
||||||
{
|
{
|
||||||
const u8 rreg = (opc >> 12) & 0x1;
|
const u8 rreg = (opc >> 12) & 0x1;
|
||||||
const u8 sreg = (opc >> 11) & 0x1;
|
const u8 sreg = (opc >> 11) & 0x1;
|
||||||
|
@ -178,7 +178,7 @@ constexpr std::array<InterpreterOpInfo, 125> s_opcodes
|
|||||||
|
|
||||||
// C-D
|
// C-D
|
||||||
{0xc000, 0xe700, &Interpreter::mulc},
|
{0xc000, 0xe700, &Interpreter::mulc},
|
||||||
{0xc100, 0xe700, &Interpreter::cmpar},
|
{0xc100, 0xe700, &Interpreter::cmpaxh},
|
||||||
{0xc200, 0xe600, &Interpreter::mulcmvz},
|
{0xc200, 0xe600, &Interpreter::mulcmvz},
|
||||||
{0xc400, 0xe600, &Interpreter::mulcac},
|
{0xc400, 0xe600, &Interpreter::mulcac},
|
||||||
{0xc600, 0xe600, &Interpreter::mulcmv},
|
{0xc600, 0xe600, &Interpreter::mulcmv},
|
||||||
|
@ -70,7 +70,7 @@ public:
|
|||||||
void clrl(UDSPInstruction opc);
|
void clrl(UDSPInstruction opc);
|
||||||
void clrp(UDSPInstruction opc);
|
void clrp(UDSPInstruction opc);
|
||||||
void cmp(UDSPInstruction opc);
|
void cmp(UDSPInstruction opc);
|
||||||
void cmpar(UDSPInstruction opc);
|
void cmpaxh(UDSPInstruction opc);
|
||||||
void cmpi(UDSPInstruction opc);
|
void cmpi(UDSPInstruction opc);
|
||||||
void cmpis(UDSPInstruction opc);
|
void cmpis(UDSPInstruction opc);
|
||||||
void dar(UDSPInstruction opc);
|
void dar(UDSPInstruction opc);
|
||||||
|
@ -115,7 +115,7 @@ public:
|
|||||||
void tst(UDSPInstruction opc);
|
void tst(UDSPInstruction opc);
|
||||||
void tstaxh(UDSPInstruction opc);
|
void tstaxh(UDSPInstruction opc);
|
||||||
void cmp(UDSPInstruction opc);
|
void cmp(UDSPInstruction opc);
|
||||||
void cmpar(UDSPInstruction opc);
|
void cmpaxh(UDSPInstruction opc);
|
||||||
void cmpi(UDSPInstruction opc);
|
void cmpi(UDSPInstruction opc);
|
||||||
void cmpis(UDSPInstruction opc);
|
void cmpis(UDSPInstruction opc);
|
||||||
void xorr(UDSPInstruction opc);
|
void xorr(UDSPInstruction opc);
|
||||||
|
@ -188,12 +188,12 @@ void DSPEmitter::cmp(const UDSPInstruction opc)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// CMPAR $acS axR.h
|
// CMPAXH $acS, $axR.h
|
||||||
// 110r s001 xxxx xxxx
|
// 110r s001 xxxx xxxx
|
||||||
// Compares accumulator $acS with accumulator $axR.h.
|
// Compares accumulator $acS with high part of secondary accumulator $axR.h.
|
||||||
//
|
//
|
||||||
// flags out: x-xx xxxx
|
// flags out: x-xx xxxx
|
||||||
void DSPEmitter::cmpar(const UDSPInstruction opc)
|
void DSPEmitter::cmpaxh(const UDSPInstruction opc)
|
||||||
{
|
{
|
||||||
if (FlagsNeeded())
|
if (FlagsNeeded())
|
||||||
{
|
{
|
||||||
|
@ -178,7 +178,7 @@ const std::array<JITOpInfo, 125> s_opcodes =
|
|||||||
|
|
||||||
// C-D
|
// C-D
|
||||||
{0xc000, 0xe700, &DSPEmitter::mulc},
|
{0xc000, 0xe700, &DSPEmitter::mulc},
|
||||||
{0xc100, 0xe700, &DSPEmitter::cmpar},
|
{0xc100, 0xe700, &DSPEmitter::cmpaxh},
|
||||||
{0xc200, 0xe600, &DSPEmitter::mulcmvz},
|
{0xc200, 0xe600, &DSPEmitter::mulcmvz},
|
||||||
{0xc400, 0xe600, &DSPEmitter::mulcac},
|
{0xc400, 0xe600, &DSPEmitter::mulcac},
|
||||||
{0xc600, 0xe600, &DSPEmitter::mulcmv},
|
{0xc600, 0xe600, &DSPEmitter::mulcmv},
|
||||||
|
Loading…
Reference in New Issue
Block a user