From: Julian Seward Date: Wed, 19 Oct 2011 20:36:20 +0000 (+0000) Subject: Ignore redundant REX.W on PTEST. #279071. X-Git-Tag: svn/VALGRIND_3_7_0^2~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b68adf9f4cf3954db7f9d1632f065d7a51b93787;p=thirdparty%2Fvalgrind.git Ignore redundant REX.W on PTEST. #279071. (Jakub Jelinek, jakub@redhat.com) git-svn-id: svn://svn.valgrind.org/vex/trunk@2220 --- diff --git a/VEX/priv/guest_amd64_toIR.c b/VEX/priv/guest_amd64_toIR.c index c8a28ea463..d21cc1c315 100644 --- a/VEX/priv/guest_amd64_toIR.c +++ b/VEX/priv/guest_amd64_toIR.c @@ -15814,7 +15814,8 @@ DisResult disInstr_AMD64_WRK ( /* 66 0f 38 17 /r = PTEST xmm1, xmm2/m128 Logical compare (set ZF and CF from AND/ANDN of the operands) */ - if (have66noF2noF3( pfx ) && sz == 2 + if (have66noF2noF3( pfx ) + && (sz == 2 || /* ignore redundant REX.W */ sz == 8) && insn[0] == 0x0F && insn[1] == 0x38 && insn[2] == 0x17) { modrm = insn[3]; IRTemp vecE = newTemp(Ity_V128);