From 1f170130e815ed2c84019175a838d5cd0fbbdd0c Mon Sep 17 00:00:00 2001 From: pierre Date: Wed, 29 Jun 2011 22:11:39 +0000 Subject: [PATCH] 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 --- Source/Core/Core/Src/DSP/Jit/DSPJitMultiplier.cpp | 9 ++------- 1 file 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