]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Merge r1679 (x86 Grp5(R) case 6)
authorJulian Seward <jseward@acm.org>
Tue, 26 Dec 2006 02:08:21 +0000 (02:08 +0000)
committerJulian Seward <jseward@acm.org>
Tue, 26 Dec 2006 02:08:21 +0000 (02:08 +0000)
git-svn-id: svn://svn.valgrind.org/vex/branches/VEX_3_2_BRANCH@1695

VEX/priv/guest-x86/toIR.c

index a4a9ab1bc66b7c5cceffbecdb9700c3cfbef22a5..b2fc38af7defc4c0eb4754204ebc05987ae302e8 100644 (file)
@@ -2815,6 +2815,13 @@ UInt dis_Grp5 ( UChar sorb, Int sz, Int delta, DisResult* dres )
             jmp_treg(Ijk_Boring,t1);
             dres->whatNext = Dis_StopHere;
             break;
+         case 6: /* PUSH Ev */
+            vassert(sz == 4 || sz == 2);
+            t2 = newTemp(Ity_I32);
+            assign( t2, binop(Iop_Sub32,getIReg(4,R_ESP),mkU32(sz)) );
+            putIReg(4, R_ESP, mkexpr(t2) );
+            storeLE( mkexpr(t2), mkexpr(t1) );
+            break;
          default: 
             vex_printf(
                "unhandled Grp5(R) case %d\n", (Int)gregOfRM(modrm));