From: Julian Seward Date: Sun, 13 Mar 2005 20:19:19 +0000 (+0000) Subject: Fill in missing memory case for pinsrw. X-Git-Tag: svn/VALGRIND_3_0_1^2~305 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d663c941cbc22e7a9e924284f0ef7ddfd6ac61da;p=thirdparty%2Fvalgrind.git Fill in missing memory case for pinsrw. git-svn-id: svn://svn.valgrind.org/vex/trunk@1029 --- diff --git a/VEX/priv/guest-x86/toIR.c b/VEX/priv/guest-x86/toIR.c index ad84d30595..daf449f15c 100644 --- a/VEX/priv/guest-x86/toIR.c +++ b/VEX/priv/guest-x86/toIR.c @@ -7803,14 +7803,19 @@ DisResult disInstr ( /*IN*/ Bool resteerOK, if (epartIsReg(modrm)) { assign(t4, getIReg(2, eregOfRM(modrm))); - lane = insn[3]; delta += 2+2; + lane = insn[2+2-1]; DIP("pinsrw $%d,%s,%s\n", (Int)lane, nameIReg(2,eregOfRM(modrm)), nameMMXReg(gregOfRM(modrm))); } else { - /* awaiting test case */ - goto decode_failure; + addr = disAMode ( &alen, sorb, delta+2, dis_buf ); + delta += 3+alen; + lane = insn[3+alen-1]; + assign(t4, loadLE(Ity_I16, mkexpr(addr))); + DIP("pinsrw $%d,%s,%s\n", (Int)lane, + dis_buf, + nameMMXReg(gregOfRM(modrm))); } switch (lane & 3) {