From 679e765d2816d5feba4d67e7c92bfbcf6373f103 Mon Sep 17 00:00:00 2001 From: Julian Seward Date: Sun, 2 Sep 2012 20:25:18 +0000 Subject: [PATCH] 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 --- VEX/priv/guest_amd64_toIR.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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) -- 2.47.2