From: Julian Seward Date: Thu, 19 Mar 2009 23:43:43 +0000 (+0000) Subject: Calculate next %rip correctly in palignr instructions (mmx and xmm-class). X-Git-Tag: svn/VALGRIND_3_5_0^2~16 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=034c6731d9c3a3cdbe3797159ce9aa0217cf87ce;p=thirdparty%2Fvalgrind.git Calculate next %rip correctly in palignr instructions (mmx and xmm-class). Fixes #186238. MERGE TO 3_4_BRANCH. git-svn-id: svn://svn.valgrind.org/vex/trunk@1887 --- diff --git a/VEX/priv/guest-amd64/toIR.c b/VEX/priv/guest-amd64/toIR.c index 90b57bbac1..bf10872b44 100644 --- a/VEX/priv/guest-amd64/toIR.c +++ b/VEX/priv/guest-amd64/toIR.c @@ -13259,7 +13259,7 @@ DisResult disInstr_AMD64_WRK ( nameMMXReg(eregLO3ofRM(modrm)), nameMMXReg(gregLO3ofRM(modrm))); } else { - addr = disAMode ( &alen, vbi, pfx, delta+3, dis_buf, 0 ); + addr = disAMode ( &alen, vbi, pfx, delta+3, dis_buf, 1 ); assign( sV, loadLE(Ity_I64, mkexpr(addr)) ); d64 = (Long)insn[3+alen]; delta += 3+alen+1; @@ -13318,7 +13318,7 @@ DisResult disInstr_AMD64_WRK ( nameXMMReg(eregOfRexRM(pfx,modrm)), nameXMMReg(gregOfRexRM(pfx,modrm))); } else { - addr = disAMode ( &alen, vbi, pfx, delta+3, dis_buf, 0 ); + addr = disAMode ( &alen, vbi, pfx, delta+3, dis_buf, 1 ); gen_SEGV_if_not_16_aligned( addr ); assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); d64 = (Long)insn[3+alen];