From: Julian Seward Date: Sat, 8 Nov 2008 15:25:00 +0000 (+0000) Subject: Support "repe scas" on amd64. Fixes #168943. X-Git-Tag: svn/VALGRIND_3_4_1^2~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=69d8c756bf84aadb31f463b1db7ccb846e7f1cb2;p=thirdparty%2Fvalgrind.git Support "repe scas" on amd64. Fixes #168943. git-svn-id: svn://svn.valgrind.org/vex/trunk@1872 --- diff --git a/VEX/priv/guest-amd64/toIR.c b/VEX/priv/guest-amd64/toIR.c index 68066c8c3e..cef973bb57 100644 --- a/VEX/priv/guest-amd64/toIR.c +++ b/VEX/priv/guest-amd64/toIR.c @@ -14717,6 +14717,18 @@ DisResult disInstr_AMD64_WRK ( dres.whatNext = Dis_StopHere; break; } + /* F3 AE/AF: repe scasb/repe scas{w,l,q} */ + if (haveASO(pfx)) + goto decode_failure; + if (!haveF2(pfx) && haveF3(pfx)) { + if (opc == 0xAE) + sz = 1; + dis_REP_op ( AMD64CondZ, dis_SCAS, sz, + guest_RIP_curr_instr, + guest_RIP_bbstart+delta, "repe scas", pfx ); + dres.whatNext = Dis_StopHere; + break; + } /* AE/AF: scasb/scas{w,l,q} */ if (!haveF2(pfx) && !haveF3(pfx)) { if (opc == 0xAE)