Fill in missing memory case for pinsrw.


git-svn-id: svn://svn.valgrind.org/vex/trunk@1029 8f6e269a-dfd6-0310-a8e1-e2731360e62c
diff --git a/priv/guest-x86/toIR.c b/priv/guest-x86/toIR.c
index ad84d30..daf449f 100644
--- a/priv/guest-x86/toIR.c
+++ b/priv/guest-x86/toIR.c
@@ -7803,14 +7803,19 @@
 
       if (epartIsReg(modrm)) {
          assign(t4, getIReg(2, eregOfRM(modrm)));
-         lane = insn[3];
          delta += 2+2;
+         lane = insn[2+2-1];
          DIP("pinsrw $%d,%s,%s\n", (Int)lane, 
                                    nameIReg(2,eregOfRM(modrm)),
                                    nameMMXReg(gregOfRM(modrm)));
       } else {
-         /* awaiting test case */
-         goto decode_failure;
+         addr = disAMode ( &alen, sorb, delta+2, dis_buf );
+         delta += 3+alen;
+         lane = insn[3+alen-1];
+         assign(t4, loadLE(Ity_I16, mkexpr(addr)));
+         DIP("pinsrw $%d,%s,%s\n", (Int)lane, 
+                                   dis_buf,
+                                   nameMMXReg(gregOfRM(modrm)));
       }
 
       switch (lane & 3) {