|
From: <sv...@va...> - 2011-11-16 03:59:14
|
Author: florian
Date: 2011-11-16 03:54:12 +0000 (Wed, 16 Nov 2011)
New Revision: 2233
Log:
Iop_1Uto64 was not handled in the ppc insn selector.
Patch by Maynard Johnson (may...@us...). Fixes #286374
Modified:
trunk/priv/host_ppc_isel.c
Modified: trunk/priv/host_ppc_isel.c
===================================================================
--- trunk/priv/host_ppc_isel.c 2011-11-09 23:05:01 UTC (rev 2232)
+++ trunk/priv/host_ppc_isel.c 2011-11-16 03:54:12 UTC (rev 2233)
@@ -1698,13 +1698,16 @@
return rLo; /* similar stupid comment to the above ... */
}
break;
+ case Iop_1Uto64:
case Iop_1Uto32:
- case Iop_1Uto8: {
- HReg r_dst = newVRegI(env);
- PPCCondCode cond = iselCondCode(env, e->Iex.Unop.arg);
- addInstr(env, PPCInstr_Set(cond,r_dst));
- return r_dst;
- }
+ case Iop_1Uto8:
+ if ((op_unop != Iop_1Uto64) || mode64) {
+ HReg r_dst = newVRegI(env);
+ PPCCondCode cond = iselCondCode(env, e->Iex.Unop.arg);
+ addInstr(env, PPCInstr_Set(cond,r_dst));
+ return r_dst;
+ }
+ break;
case Iop_1Sto8:
case Iop_1Sto16:
case Iop_1Sto32: {
|