movntpd/movntps support (patch by Tom Hughes)
CCMAIL: 69782-done@bugs.kde.org


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2160 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/vg_to_ucode.c b/coregrind/vg_to_ucode.c
index 0240ceb..55830b5 100644
--- a/coregrind/vg_to_ucode.c
+++ b/coregrind/vg_to_ucode.c
@@ -4372,6 +4372,27 @@
       goto decode_success;
    }
 
+   /* MOVNTPS -- 16-byte store with temporal hint (which we
+      ignore). */
+   if (insn[0] == 0x0F
+       && insn[1] == 0x2B) {
+      eip = dis_SSE2_load_store_or_mov 
+               (cb, sorb, eip+2, 16, True /* is_store */, "movntps",
+                    insn[0], insn[1] );
+      goto decode_success;
+   }
+
+   /* MOVNTPD -- 16-byte store with temporal hint (which we
+      ignore). */
+   if (sz == 2
+       && insn[0] == 0x0F
+       && insn[1] == 0x2B) {
+      eip = dis_SSE3_load_store_or_mov 
+               (cb, sorb, eip+2, 16, True /* is_store */, "movntpd",
+                    0x66, insn[0], insn[1] );
+      goto decode_success;
+   }
+
    /* MOVD -- 4-byte move between xmmregs and (ireg or memory). */
    if (sz == 2 
        && insn[0] == 0x0F