From 4bb9bb4574fa1dc293a794b06a652e484202bb96 Mon Sep 17 00:00:00 2001 From: Petar Jovanovic Date: Fri, 22 Jun 2012 12:36:19 +0000 Subject: [PATCH] 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 --- VEX/priv/guest_mips_toIR.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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; -- 2.47.2