From: Julian Seward Date: Sun, 2 Sep 2012 20:25:18 +0000 (+0000) Subject: Merge from trunk, r2475 (Handle a reg-reg encoding of MOVAPS. Fixes #289584.) X-Git-Tag: svn/VALGRIND_3_8_1^2~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=679e765d2816d5feba4d67e7c92bfbcf6373f103;p=thirdparty%2Fvalgrind.git Merge from trunk, r2475 (Handle a reg-reg encoding of MOVAPS. Fixes #289584.) git-svn-id: svn://svn.valgrind.org/vex/branches/VEX_3_8_BRANCH@2502 --- diff --git a/VEX/priv/guest_amd64_toIR.c b/VEX/priv/guest_amd64_toIR.c index 3d02754a3e..fcda1e21b6 100644 --- a/VEX/priv/guest_amd64_toIR.c +++ b/VEX/priv/guest_amd64_toIR.c @@ -11596,6 +11596,11 @@ Long dis_ESC_0F__SSE2 ( Bool* decode_OK, modrm = getUChar(delta); if (epartIsReg(modrm)) { /* fall through; awaiting test case */ + putXMMReg( eregOfRexRM(pfx,modrm), + getXMMReg( gregOfRexRM(pfx,modrm) )); + DIP("movaps %s,%s\n", nameXMMReg(gregOfRexRM(pfx,modrm)), + nameXMMReg(eregOfRexRM(pfx,modrm))); + delta += 1; } else { addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 0 ); gen_SEGV_if_not_16_aligned( addr ); @@ -11603,8 +11608,8 @@ Long dis_ESC_0F__SSE2 ( Bool* decode_OK, DIP("movaps %s,%s\n", nameXMMReg(gregOfRexRM(pfx,modrm)), dis_buf ); delta += alen; - goto decode_success; } + goto decode_success; } /* 66 0F 29 = MOVAPD -- move from G (xmm) to E (mem or xmm). */ if (have66noF2noF3(pfx)