From: Julian Seward Date: Mon, 18 Jun 2012 22:09:33 +0000 (+0000) Subject: Remove incorrect masking of the imm8 in VSHUFPD. X-Git-Tag: svn/VALGRIND_3_8_1^2~89 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f3fa077142867d44eb829db6b3df5ea13f41e30e;p=thirdparty%2Fvalgrind.git Remove incorrect masking of the imm8 in VSHUFPD. git-svn-id: svn://svn.valgrind.org/vex/trunk@2389 --- diff --git a/VEX/priv/guest_amd64_toIR.c b/VEX/priv/guest_amd64_toIR.c index 5e76bd4598..3b48fd115e 100644 --- a/VEX/priv/guest_amd64_toIR.c +++ b/VEX/priv/guest_amd64_toIR.c @@ -22029,14 +22029,14 @@ Long dis_ESC_0F__VEX ( if (epartIsReg(modrm)) { UInt rE = eregOfRexRM(pfx,modrm); assign( eV, getXMMReg(rE) ); - imm8 = (Int)getUChar(delta+1) & 7; + imm8 = (Int)getUChar(delta+1); delta += 1+1; DIP("vshufpd $%d,%s,%s,%s\n", imm8, nameXMMReg(rE), nameXMMReg(rV), nameXMMReg(rG)); } else { addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 1 ); assign( eV, loadLE(Ity_V128, mkexpr(addr)) ); - imm8 = (Int)getUChar(delta+alen) & 7; + imm8 = (Int)getUChar(delta+alen); delta += 1+alen; DIP("vshufpd $%d,%s,%s,%s\n", imm8, dis_buf, nameXMMReg(rV), nameXMMReg(rG)); @@ -22059,14 +22059,14 @@ Long dis_ESC_0F__VEX ( if (epartIsReg(modrm)) { UInt rE = eregOfRexRM(pfx,modrm); assign( eV, getYMMReg(rE) ); - imm8 = (Int)getUChar(delta+1) & 7; + imm8 = (Int)getUChar(delta+1); delta += 1+1; DIP("vshufpd $%d,%s,%s,%s\n", imm8, nameYMMReg(rE), nameYMMReg(rV), nameYMMReg(rG)); } else { addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 1 ); assign( eV, loadLE(Ity_V256, mkexpr(addr)) ); - imm8 = (Int)getUChar(delta+alen) & 7; + imm8 = (Int)getUChar(delta+alen); delta += 1+alen; DIP("vshufpd $%d,%s,%s,%s\n", imm8, dis_buf, nameYMMReg(rV), nameYMMReg(rG));