]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Enable 'sbb $imm,%al'. Fixes #126668.
authorJulian Seward <jseward@acm.org>
Fri, 12 May 2006 20:45:59 +0000 (20:45 +0000)
committerJulian Seward <jseward@acm.org>
Fri, 12 May 2006 20:45:59 +0000 (20:45 +0000)
git-svn-id: svn://svn.valgrind.org/vex/trunk@1614

VEX/priv/guest-amd64/toIR.c

index e811b158eba09ac507e821a9b639a732706bee73..5cf5a8505aaf65f22b9e972fdba7744852566bde 100644 (file)
@@ -2778,6 +2778,10 @@ ULong dis_op_imm_A ( Int    size,
    if (op8 == Iop_Add8 && carrying) {
       helper_ADC( size, dst1, dst0, src );
    }
+   else
+   if (op8 == Iop_Sub8 && carrying) {
+      helper_SBB( size, dst1, dst0, src );
+   }
    else
       vpanic("dis_op_imm_A(amd64,guest)");
 
@@ -12297,10 +12301,11 @@ DisResult disInstr_AMD64_WRK (
 //.. //--    case 0x15: /* ADC Iv, eAX */
 //.. //--       delta = dis_op_imm_A( sz, ADC, True, delta, "adc" );
 //.. //--       break;
-//.. //-- 
-//.. //--    case 0x1C: /* SBB Ib, AL */
-//.. //--       delta = dis_op_imm_A( 1, SBB, True, delta, "sbb" );
-//.. //--       break;
+
+   case 0x1C: /* SBB Ib, AL */
+      if (haveF2orF3(pfx)) goto decode_failure;
+      delta = dis_op_imm_A( 1, True, Iop_Sub8, True, delta, "sbb" );
+      break;
 //.. //--    case 0x1D: /* SBB Iv, eAX */
 //.. //--       delta = dis_op_imm_A( sz, SBB, True, delta, "sbb" );
 //.. //--       break;