]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Bug #348247. Fix SUBQ 0, long long sub/cmp, then O (overflow) case.
authorMark Wielaard <mark@klomp.org>
Wed, 27 May 2015 12:33:41 +0000 (12:33 +0000)
committerMark Wielaard <mark@klomp.org>
Wed, 27 May 2015 12:33:41 +0000 (12:33 +0000)
Fix 64bit right shift, should have been 63 bit. This caused some bad
jno jumps detecting overflow where there was none.

git-svn-id: svn://svn.valgrind.org/vex/trunk@3147

VEX/priv/guest_amd64_helpers.c

index 2887b089588b662c136a939d782dda22f2c74153..81115833acebfea05009ff423b856677d4c20617 100644 (file)
@@ -1036,7 +1036,7 @@ IRExpr* guest_amd64_spechelper ( const HChar* function_name,
                             binop(Iop_Xor64,
                                   cc_dep1,
                                   binop(Iop_Sub64, cc_dep1, cc_dep2))),
-                      mkU8(64));
+                      mkU8(63));
       }
       if (isU64(cc_op, AMD64G_CC_OP_SUBQ) && isU64(cond, AMD64CondNO)) {
          /* No action.  Never yet found a test case. */