|
From: <sv...@va...> - 2012-06-22 12:36:29
|
petarj 2012-06-22 13:36:19 +0100 (Fri, 22 Jun 2012)
New Revision: 2402
Log:
Fix for incorrectly passed params to IRExpr_Mux0X in MIPS port.
Input params to IRExpr_Mux0X have swapped positions in a few places inside
disInstr_MIPS_WRK(). This patch fixes none/tests/mips32/MoveIns.
Modified files:
trunk/priv/guest_mips_toIR.c
Modified: trunk/priv/guest_mips_toIR.c (+4 -4)
===================================================================
--- trunk/priv/guest_mips_toIR.c 2012-06-22 10:27:54 +01:00 (rev 2401)
+++ trunk/priv/guest_mips_toIR.c 2012-06-22 13:36:19 +01:00 (rev 2402)
@@ -1575,7 +1575,7 @@
getIReg(rt))));
assign(t4, IRExpr_Mux0X(unop(Iop_32to8, mkexpr(t3)),
- mkexpr(t1), mkexpr(t2)));
+ mkexpr(t2), mkexpr(t1)));
putFReg(fd, binop(Iop_F64toF32, get_IR_roundingmode(),
mkexpr(t4)));
@@ -1589,7 +1589,7 @@
assign(t3, unop(Iop_1Sto32, binop(Iop_CmpNE32, mkU32(0),
getIReg(rt))));
putDReg(fd, IRExpr_Mux0X(unop(Iop_32to8, mkexpr(t3)),
- getDReg(fs), getDReg(fd)));
+ getDReg(fd), getDReg(fs)));
break;
default:
goto decode_failure;
@@ -1611,7 +1611,7 @@
assign(t3, unop(Iop_1Sto32, binop(Iop_CmpEQ32, mkU32(0),
getIReg(rt))));
assign(t4, IRExpr_Mux0X(unop(Iop_32to8, mkexpr(t3)),
- mkexpr(t1), mkexpr(t2)));
+ mkexpr(t2), mkexpr(t1)));
putFReg(fd, binop(Iop_F64toF32, get_IR_roundingmode(),
mkexpr(t4)));
@@ -1626,7 +1626,7 @@
assign(t3, unop(Iop_1Sto32, binop(Iop_CmpEQ32, mkU32(0),
getIReg(rt))));
putDReg(fd, IRExpr_Mux0X(unop(Iop_32to8, mkexpr(t3)),
- getDReg(fs), getDReg(fd)));
+ getDReg(fd), getDReg(fs)));
break;
default:
goto decode_failure;
|