]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Merge r1673/4 (x86 repne movsw)
authorJulian Seward <jseward@acm.org>
Tue, 26 Dec 2006 02:04:04 +0000 (02:04 +0000)
committerJulian Seward <jseward@acm.org>
Tue, 26 Dec 2006 02:04:04 +0000 (02:04 +0000)
git-svn-id: svn://svn.valgrind.org/vex/branches/VEX_3_2_BRANCH@1693

VEX/priv/guest-x86/toIR.c

index 1031d31a23f6be902de80200234854742a0b0e4a..a4a9ab1bc66b7c5cceffbecdb9700c3cfbef22a5 100644 (file)
@@ -11919,17 +11919,22 @@ DisResult disInstr_X86_WRK (
       /* According to the Intel manual, "repne movs" should never occur, but
        * in practice it has happened, so allow for it here... */
       case 0xA4: sz = 1;   /* REPNE MOVS<sz> */
-        goto decode_failure;
-//--       case 0xA5: 
-        //         dis_REP_op ( CondNZ, dis_MOVS, sz, eip_orig,
-        //                              guest_eip_bbstart+delta, "repne movs" );
-        //         break;
+      case 0xA5: 
+         dis_REP_op ( X86CondNZ, dis_MOVS, sz, eip_orig,
+                                 guest_EIP_bbstart+delta, "repne movs" );
+         break;
 //-- 
 //--       case 0xA6: sz = 1;   /* REPNE CMPS<sz> */
 //--       case 0xA7:
 //--          dis_REP_op ( cb, CondNZ, dis_CMPS, sz, eip_orig, eip, "repne cmps" );
 //--          break;
 //-- 
+      case 0xAA: sz = 1;   /* REPNE STOS<sz> */
+      case 0xAB:
+         dis_REP_op ( X86CondNZ, dis_STOS, sz, eip_orig, 
+                                 guest_EIP_bbstart+delta, "repne stos" );
+         break;
+
       case 0xAE: sz = 1;   /* REPNE SCAS<sz> */
       case 0xAF:
          dis_REP_op ( X86CondNZ, dis_SCAS, sz, eip_orig,