|
From: <sv...@va...> - 2006-03-06 19:05:16
|
Author: sewardj
Date: 2006-03-06 19:05:07 +0000 (Mon, 06 Mar 2006)
New Revision: 1587
Log:
Implement fcmovnu.
Modified:
trunk/priv/guest-amd64/toIR.c
Modified: trunk/priv/guest-amd64/toIR.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/priv/guest-amd64/toIR.c 2006-03-06 14:32:00 UTC (rev 1586)
+++ trunk/priv/guest-amd64/toIR.c 2006-03-06 19:05:07 UTC (rev 1587)
@@ -5189,6 +5189,20 @@
);
break;
=20
+ case 0xD8 ... 0xDF: /* FCMOVNU ST(i), ST(0) */
+ r_src =3D (UInt)modrm - 0xD8;
+ DIP("fcmovnu %%st(%u), %%st(0)\n", r_src);
+ put_ST_UNCHECKED(
+ 0,=20
+ IRExpr_Mux0X(=20
+ unop(Iop_1Uto8,
+ mk_amd64g_calculate_condition(AMD64CondNP)),=20
+ get_ST(0),=20
+ get_ST(r_src)
+ )
+ );
+ break;
+
case 0xE2:
DIP("fnclex\n");
break;
|