]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Fix for incorrectly passed params to IRExpr_Mux0X in MIPS port.
authorPetar Jovanovic <mips32r2@gmail.com>
Fri, 22 Jun 2012 12:36:19 +0000 (12:36 +0000)
committerPetar Jovanovic <mips32r2@gmail.com>
Fri, 22 Jun 2012 12:36:19 +0000 (12:36 +0000)
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

index a821da43f367fee69bc4d0e18c7df1090fc0fca0..0bcd8904ddbba8adc199c595667992d43ce410dc 100644 (file)
@@ -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;