]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Fix 64-bit bogon in bt/bts/btc/btr which caused it not to work right.
authorJulian Seward <jseward@acm.org>
Fri, 6 May 2005 01:43:56 +0000 (01:43 +0000)
committerJulian Seward <jseward@acm.org>
Fri, 6 May 2005 01:43:56 +0000 (01:43 +0000)
git-svn-id: svn://svn.valgrind.org/vex/trunk@1165

VEX/priv/guest-amd64/toIR.c

index 18f9a58eb876f9df22437d6b6d104a296e51a24d..26b5f7029832e79b23d9e345c66b3f9f7c77268c 100644 (file)
@@ -3336,10 +3336,10 @@ ULong dis_Grp8_Imm ( Prefix pfx,
 
    /* Invent a mask suitable for the operation. */
    switch (gregLO3ofRM(modrm)) {
-      case 4: /* BT */  mask = 0;               break;
-      case 5: /* BTS */ mask = 1 << src_val;    break;
-      case 6: /* BTR */ mask = ~(1 << src_val); break;
-      case 7: /* BTC */ mask = 1 << src_val;    break;
+      case 4: /* BT */  mask = 0;                  break;
+      case 5: /* BTS */ mask = 1ULL << src_val;    break;
+      case 6: /* BTR */ mask = ~(1ULL << src_val); break;
+      case 7: /* BTC */ mask = 1ULL << src_val;    break;
          /* If this needs to be extended, probably simplest to make a
             new function to handle the other cases (0 .. 3).  The
             Intel docs do however not indicate any use for 0 .. 3, so