summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorpierre <pierre@pirsoft.de>2011-06-29 22:11:39 +0000
committerpierre <pierre@pirsoft.de>2011-06-29 22:11:39 +0000
commit1f170130e815ed2c84019175a838d5cd0fbbdd0c (patch)
tree51efd19b0217cd119b51177ff50dee963ab1e393 /Source/Core
parente5140085bac4814fcc4723e67690fdb7161c4978 (diff)
DSP/Jit: Combine clrp memory writes back to two 32bit writes
This time without the (char*)/(u64*) confusion. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7651 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Core/Src/DSP/Jit/DSPJitMultiplier.cpp9
1 files changed, 2 insertions, 7 deletions
diff --git a/Source/Core/Core/Src/DSP/Jit/DSPJitMultiplier.cpp b/Source/Core/Core/Src/DSP/Jit/DSPJitMultiplier.cpp
index e7a5efaa1e..838c520bc1 100644
--- a/Source/Core/Core/Src/DSP/Jit/DSPJitMultiplier.cpp
+++ b/Source/Core/Core/Src/DSP/Jit/DSPJitMultiplier.cpp
@@ -174,13 +174,8 @@ void DSPEmitter::clrp(const UDSPInstruction opc)
// g_dsp.r[DSP_REG_PRODH] = 0x00ff;
// g_dsp.r[DSP_REG_PRODM2] = 0x0010;
//64bit move to memory does not work. use 2 32bits
- //MOV(32, M(&g_dsp.r.prod.val), Imm32(0xfff00000U));
- //MOV(32, M(&g_dsp.r.prod.val+4), Imm32(0x001000ffU));
- //2x32 causing probs with gbakey, 4x16 working ok
- MOV(16, M(&g_dsp.r.prod.l), Imm16(0x0000));
- MOV(16, M(&g_dsp.r.prod.m), Imm16(0xfff0));
- MOV(16, M(&g_dsp.r.prod.h), Imm16(0x00ff));
- MOV(16, M(&g_dsp.r.prod.m2),Imm16(0x0010));
+ MOV(32, M(((u32*)&g_dsp.r.prod.val)+0), Imm32(0xfff00000U));
+ MOV(32, M(((u32*)&g_dsp.r.prod.val)+1), Imm32(0x001000ffU));
#else
Default(opc);
#endif