diff --git a/coregrind/vg_to_ucode.c b/coregrind/vg_to_ucode.c
index d14a7e0..701b6b2 100644
--- a/coregrind/vg_to_ucode.c
+++ b/coregrind/vg_to_ucode.c
@@ -4185,17 +4185,36 @@
       goto decode_success;
    }
 
-   /* 0x14: UNPCKLPD (src)xmmreg-or-mem, (dst)xmmreg */
-   /* 0x15: UNPCKHPD (src)xmmreg-or-mem, (dst)xmmreg */
+   /* 0x14: UNPCKLPD (src)xmmreg-or-mem, (dst)xmmreg.  Reads a+0
+      .. a+7, so we can say size 8 */
+   /* 0x15: UNPCKHPD (src)xmmreg-or-mem, (dst)xmmreg.  Reads a+8
+      .. a+15, but we have no way to express this, so better say size
+      16.  Sigh. */
    if (sz == 2
        && insn[0] == 0x0F 
        && (insn[1] == 0x14 || insn[1] == 0x15)) {
-      eip = dis_SSE3_reg_or_mem ( cb, sorb, eip+2, 16, 
+      eip = dis_SSE3_reg_or_mem ( cb, sorb, eip+2, 
+                                      insn[1]==0x14 ? 8 : 16, 
                                       "unpck{l,h}pd",
                                       0x66, insn[0], insn[1] );
       goto decode_success;
    }
 
+   /* 0x14: UNPCKLPS (src)xmmreg-or-mem, (dst)xmmreg  Reads a+0
+      .. a+7, so we can say size 8 */
+   /* 0x15: UNPCKHPS (src)xmmreg-or-mem, (dst)xmmreg  Reads a+8
+      .. a+15, but we have no way to express this, so better say size
+      16.  Sigh.  */
+   if (sz == 4
+       && insn[0] == 0x0F
+       && (insn[1] == 0x14 || insn[1] == 0x15)) {
+      eip = dis_SSE2_reg_or_mem ( cb, sorb, eip+2, 
+                                      insn[1]==0x14 ? 8 : 16, 
+                                      "unpck{l,h}ps",
+                                      insn[0], insn[1] );
+      goto decode_success;
+   }
+
    /* 0xFC: PADDB (src)xmmreg-or-mem, (dst)xmmreg */
    /* 0xFD: PADDW (src)xmmreg-or-mem, (dst)xmmreg */
    /* 0xFE: PADDD (src)xmmreg-or-mem, (dst)xmmreg */
