From: Julian Seward Date: Wed, 5 Oct 2005 17:19:11 +0000 (+0000) Subject: Handle BT/BTS/BTR/BTC at size 4 as well as 8. X-Git-Tag: svn/VALGRIND_3_1_1^2~77 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c314ab86cb3c7e961b5ce2b346aededa71bc0993;p=thirdparty%2Fvalgrind.git Handle BT/BTS/BTR/BTC at size 4 as well as 8. git-svn-id: svn://svn.valgrind.org/vex/trunk@1414 --- diff --git a/VEX/priv/guest-amd64/toIR.c b/VEX/priv/guest-amd64/toIR.c index 757b0b0e74..30f79d42f3 100644 --- a/VEX/priv/guest-amd64/toIR.c +++ b/VEX/priv/guest-amd64/toIR.c @@ -12907,27 +12907,27 @@ DisResult disInstr_AMD64_WRK ( /* =-=-=-=-=-=-=-=-=- BT/BTS/BTR/BTC =-=-=-=-=-=-= */ - /* All of these are possible at sizes 2, 4 and 8, but until size - 2 and 4 test cases show up, only handle size 8. */ + /* All of these are possible at sizes 2, 4 and 8, but until a + size 2 test case shows up, only handle sizes 4 and 8. */ case 0xA3: /* BT Gv,Ev */ if (haveF2orF3(pfx)) goto decode_failure; - if (sz != 8) goto decode_failure; + if (sz != 8 && sz != 4) goto decode_failure; delta = dis_bt_G_E ( pfx, sz, delta, BtOpNone ); break; case 0xB3: /* BTR Gv,Ev */ if (haveF2orF3(pfx)) goto decode_failure; - if (sz != 8) goto decode_failure; + if (sz != 8 && sz != 4) goto decode_failure; delta = dis_bt_G_E ( pfx, sz, delta, BtOpReset ); break; case 0xAB: /* BTS Gv,Ev */ if (haveF2orF3(pfx)) goto decode_failure; - if (sz != 8) goto decode_failure; + if (sz != 8 && sz != 4) goto decode_failure; delta = dis_bt_G_E ( pfx, sz, delta, BtOpSet ); break; case 0xBB: /* BTC Gv,Ev */ if (haveF2orF3(pfx)) goto decode_failure; - if (sz != 8) goto decode_failure; + if (sz != 8 && sz != 4) goto decode_failure; delta = dis_bt_G_E ( pfx, sz, delta, BtOpComp ); break;