|
From: <sv...@va...> - 2010-07-29 05:32:41
|
Author: sewardj
Date: 2010-07-29 06:13:58 +0100 (Thu, 29 Jul 2010)
New Revision: 1991
Log:
Ignore a redundant REX.W prefix on an MMX pinsrw instruction
(Dan Gohman, dg...@gm...). Fixes #239992.
Modified:
trunk/priv/guest_amd64_toIR.c
Modified: trunk/priv/guest_amd64_toIR.c
===================================================================
--- trunk/priv/guest_amd64_toIR.c 2010-07-28 19:26:59 UTC (rev 1990)
+++ trunk/priv/guest_amd64_toIR.c 2010-07-29 05:13:58 UTC (rev 1991)
@@ -9951,7 +9951,8 @@
/* ***--- this is an MMX class insn introduced in SSE1 ---*** */
/* 0F C4 = PINSRW -- get 16 bits from E(mem or low half ireg) and
put it into the specified lane of mmx(G). */
- if (haveNo66noF2noF3(pfx) && sz == 4
+ if (haveNo66noF2noF3(pfx)
+ && (sz == 4 || /* ignore redundant REX.W */ sz == 8)
&& insn[0] == 0x0F && insn[1] == 0xC4) {
/* Use t0 .. t3 to hold the 4 original 16-bit lanes of the
mmx reg. t4 is the new lane value. t5 is the original
|