From d5f8cc2eacbf08ab93a48b4da1f68b64c21a0eac Mon Sep 17 00:00:00 2001 From: Carl Love Date: Tue, 23 Sep 2014 16:22:36 +0000 Subject: [PATCH] The PPC64 store quad instruction is updating the address register with the effective address of the store. The instruction should not update the address register. The issue is due to the two putIReg() calls at the end of the instruction. The two putIReg() calls were removed to fix the bug. This issue was reported in bugzilla 339336. git-svn-id: svn://svn.valgrind.org/vex/trunk@2957 --- VEX/priv/guest_ppc_toIR.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/VEX/priv/guest_ppc_toIR.c b/VEX/priv/guest_ppc_toIR.c index adabf64123..8c1e70a3f9 100644 --- a/VEX/priv/guest_ppc_toIR.c +++ b/VEX/priv/guest_ppc_toIR.c @@ -5350,9 +5350,7 @@ static Bool dis_int_store ( UInt theInstr, VexAbiInfo* vbi ) /* lower half of upper 64-bits */ assign( EA_lo, ea_rAor0_simm( rA_addr, simm16+12 ) ); } - putIReg( rA_addr, mkexpr(EA_hi) ); store( mkexpr(EA_hi), mkexpr(rS) ); - putIReg( rA_addr, mkexpr( EA_lo) ); store( mkexpr(EA_lo), getIReg( rS_addr+1 ) ); break; } -- 2.47.2