|
From: <sv...@va...> - 2017-05-22 15:22:12
|
Author: petarj
Date: Mon May 22 16:22:06 2017
New Revision: 3382
Log:
mips: implement missing case for Iop_Not64
Add missing implementation of Iop_Not64 in iselInt64Expr_wrk.
Patch by Aleksandar Rikalo.
Modified:
trunk/priv/host_mips_isel.c
Modified: trunk/priv/host_mips_isel.c
==============================================================================
--- trunk/priv/host_mips_isel.c (original)
+++ trunk/priv/host_mips_isel.c Mon May 22 16:22:06 2017
@@ -2945,6 +2945,19 @@
return;
}
+ case Iop_Not64: {
+ HReg tLo = newVRegI(env);
+ HReg tHi = newVRegI(env);
+ iselInt64Expr(&tHi, &tLo, env, e->Iex.Unop.arg);
+ addInstr(env, MIPSInstr_Alu(Malu_NOR, tLo, tLo, MIPSRH_Reg(tLo)));
+ addInstr(env, MIPSInstr_Alu(Malu_NOR, tHi, tHi, MIPSRH_Reg(tHi)));
+
+ *rHi = tHi;
+ *rLo = tLo;
+
+ return;
+ }
+
default:
vex_printf("UNARY: No such op: ");
ppIROp(e->Iex.Unop.op);
|