|
From: <sv...@va...> - 2012-06-21 08:34:32
|
sewardj 2012-06-21 09:34:19 +0100 (Thu, 21 Jun 2012)
New Revision: 2397
Log:
Fix incorrect implementation of VPERMILP{S,D} variable form.
(Jakub Jelinek, ja...@re...), #273475 comment 128.
Modified files:
trunk/priv/guest_amd64_toIR.c
Modified: trunk/priv/guest_amd64_toIR.c (+4 -4)
===================================================================
--- trunk/priv/guest_amd64_toIR.c 2012-06-20 18:53:32 +01:00 (rev 2396)
+++ trunk/priv/guest_amd64_toIR.c 2012-06-21 09:34:19 +01:00 (rev 2397)
@@ -23137,7 +23137,7 @@
nameXMMReg(rE), nameXMMReg(rV), nameXMMReg(rG));
assign(ctrlV, getXMMReg(rE));
} else {
- addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 1 );
+ addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 0 );
delta += alen;
DIP("vpermilps %s,%s,%s\n",
dis_buf, nameXMMReg(rV), nameXMMReg(rG));
@@ -23164,7 +23164,7 @@
nameYMMReg(rE), nameYMMReg(rV), nameYMMReg(rG));
assign(ctrlV, getYMMReg(rE));
} else {
- addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 1 );
+ addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 0 );
delta += alen;
DIP("vpermilps %s,%s,%s\n",
dis_buf, nameYMMReg(rV), nameYMMReg(rG));
@@ -23194,7 +23194,7 @@
nameXMMReg(rE), nameXMMReg(rV), nameXMMReg(rG));
assign(ctrlV, getXMMReg(rE));
} else {
- addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 1 );
+ addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 0 );
delta += alen;
DIP("vpermilpd %s,%s,%s\n",
dis_buf, nameXMMReg(rV), nameXMMReg(rG));
@@ -23221,7 +23221,7 @@
nameYMMReg(rE), nameYMMReg(rV), nameYMMReg(rG));
assign(ctrlV, getYMMReg(rE));
} else {
- addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 1 );
+ addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 0 );
delta += alen;
DIP("vpermilpd %s,%s,%s\n",
dis_buf, nameYMMReg(rV), nameYMMReg(rG));
|