]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Merge from trunk, r2476 (Iimplement 0F 7F encoding of movq between two
authorJulian Seward <jseward@acm.org>
Sun, 2 Sep 2012 20:28:28 +0000 (20:28 +0000)
committerJulian Seward <jseward@acm.org>
Sun, 2 Sep 2012 20:28:28 +0000 (20:28 +0000)
registers.  Fixes #305042.)

git-svn-id: svn://svn.valgrind.org/vex/branches/VEX_3_8_BRANCH@2503

VEX/priv/guest_amd64_toIR.c

index fcda1e21b6e79680209e8becb15a8503520dde7d..d88cdebdd8a07e95fbbf105a358f931a82ce61f8 100644 (file)
@@ -7104,9 +7104,11 @@ ULong dis_MMX ( Bool* decode_ok,
             goto mmx_decode_failure;
          modrm = getUChar(delta);
          if (epartIsReg(modrm)) {
-            /* Fall through.  The assembler doesn't appear to generate
-               these. */
-            goto mmx_decode_failure;
+            delta++;
+            putMMXReg( eregLO3ofRM(modrm), getMMXReg(gregLO3ofRM(modrm)) );
+            DIP("movq %s, %s\n",
+                nameMMXReg(gregLO3ofRM(modrm)),
+                nameMMXReg(eregLO3ofRM(modrm)));
          } else {
             IRTemp addr = disAMode( &len, vbi, pfx, delta, dis_buf, 0 );
             delta += len;