]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Merge r1362 (Implement MOVUPS -- move from G (xmm) to E (mem or xmm))
authorJulian Seward <jseward@acm.org>
Mon, 29 Aug 2005 13:06:32 +0000 (13:06 +0000)
committerJulian Seward <jseward@acm.org>
Mon, 29 Aug 2005 13:06:32 +0000 (13:06 +0000)
git-svn-id: svn://svn.valgrind.org/vex/branches/VEX_3_0_BRANCH@1367

VEX/priv/guest-x86/toIR.c

index 7c3a450dba6c4d068460399cb2336c1159472c2b..7d5d8365c28b408a0a7f128d49080dd7ba623dec 100644 (file)
@@ -7490,15 +7490,17 @@ DisResult disInstr_X86_WRK (
    }
 
    /* 0F 29 = MOVAPS -- move from G (xmm) to E (mem or xmm). */
-   if (sz == 4 && insn[0] == 0x0F && insn[1] == 0x29) {
+   /* 0F 11 = MOVUPS -- move from G (xmm) to E (mem or xmm). */
+   if (sz == 4 && insn[0] == 0x0F 
+       && (insn[1] == 0x29 || insn[1] == 0x11)) {
       modrm = getIByte(delta+2);
       if (epartIsReg(modrm)) {
          /* fall through; awaiting test case */
       } else {
          addr = disAMode ( &alen, sorb, delta+2, dis_buf );
          storeLE( mkexpr(addr), getXMMReg(gregOfRM(modrm)) );
-         DIP("movaps %s,%s\n", nameXMMReg(gregOfRM(modrm)),
-                               dis_buf );
+         DIP("mov[ua]ps %s,%s\n", nameXMMReg(gregOfRM(modrm)),
+                                  dis_buf );
          delta += 2+alen;
          goto decode_success;
       }