|
From: <sv...@va...> - 2012-02-24 12:20:49
|
Author: tom
Date: 2012-02-24 12:16:11 +0000 (Fri, 24 Feb 2012)
New Revision: 2262
Log:
Ignore redundant REX prefix on 4 byte form of PMOVMSKB. BZ#294736.
Modified:
trunk/priv/guest_amd64_toIR.c
Modified: trunk/priv/guest_amd64_toIR.c
===================================================================
--- trunk/priv/guest_amd64_toIR.c 2012-02-23 07:36:43 UTC (rev 2261)
+++ trunk/priv/guest_amd64_toIR.c 2012-02-24 12:16:11 UTC (rev 2262)
@@ -12100,7 +12100,8 @@
/* 0F D7 = PMOVMSKB -- extract sign bits from each of 8 lanes in
mmx(G), turn them into a byte, and put zero-extend of it in
ireg(G). */
- if (haveNo66noF2noF3(pfx) && sz == 4) {
+ if (haveNo66noF2noF3(pfx)
+ && (sz == 4 || /* ignore redundant REX.W */ sz == 8)) {
modrm = getUChar(delta);
if (epartIsReg(modrm)) {
do_MMX_preamble();
|