From: Petar Jovanovic Date: Fri, 22 Jun 2012 12:36:19 +0000 (+0000) Subject: Fix for incorrectly passed params to IRExpr_Mux0X in MIPS port. X-Git-Tag: svn/VALGRIND_3_8_1^2~76 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4bb9bb4574fa1dc293a794b06a652e484202bb96;p=thirdparty%2Fvalgrind.git 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. git-svn-id: svn://svn.valgrind.org/vex/trunk@2402 --- diff --git a/VEX/priv/guest_mips_toIR.c b/VEX/priv/guest_mips_toIR.c index a821da43f3..0bcd8904dd 100644 --- a/VEX/priv/guest_mips_toIR.c +++ b/VEX/priv/guest_mips_toIR.c @@ -1575,7 +1575,7 @@ static DisResult disInstr_MIPS_WRK ( Bool(*resteerOkFn) (/*opaque */void *, 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 @@ static DisResult disInstr_MIPS_WRK ( Bool(*resteerOkFn) (/*opaque */void *, 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 @@ static DisResult disInstr_MIPS_WRK ( Bool(*resteerOkFn) (/*opaque */void *, 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 @@ static DisResult disInstr_MIPS_WRK ( Bool(*resteerOkFn) (/*opaque */void *, 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;