mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-29 17:19:44 -06:00
DSP jit: 'mv 's 'sn are now jitted. Added
void pushExtValueFromReg(u16 dreg, u16 sreg); void popExtValueToReg(); instead of the backlog. Someone might want to add it to the Unit test git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5389 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
@ -53,8 +53,8 @@ void DSPEmitter::mv(const UDSPInstruction opc)
|
||||
{
|
||||
u8 sreg = (opc & 0x3) + DSP_REG_ACL0;
|
||||
u8 dreg = ((opc >> 2) & 0x3);
|
||||
|
||||
MOV(16, M(&g_dsp.r[dreg + DSP_REG_AXL0]), M(&g_dsp.r[sreg]));
|
||||
pushExtValueFromReg(dreg + DSP_REG_AXL0, sreg);
|
||||
// MOV(16, M(&g_dsp.r[dreg + DSP_REG_AXL0]), M(&g_dsp.r[sreg]));
|
||||
}
|
||||
|
||||
// S @$arD, $acS.S
|
||||
@ -524,8 +524,16 @@ void DSPEmitter::ldnm(const UDSPInstruction opc)
|
||||
}
|
||||
|
||||
|
||||
void DSPEmitter::storeExtValue(u16 value) {
|
||||
|
||||
// Push value from g_dsp.r[sreg] into EBX and stores the destinationindex in
|
||||
// storeIndex
|
||||
void DSPEmitter::pushExtValueFromReg(u16 dreg, u16 sreg) {
|
||||
MOVZX(32, 16, EBX, M(&g_dsp.r[sreg]));
|
||||
storeIndex = dreg;
|
||||
}
|
||||
|
||||
void DSPEmitter::popExtValueToReg() {
|
||||
MOV(16, M(&g_dsp.r[storeIndex]), R(EBX));
|
||||
|
||||
// TODO handle commands such as 'l
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user