From f3fa077142867d44eb829db6b3df5ea13f41e30e Mon Sep 17 00:00:00 2001 From: Julian Seward Date: Mon, 18 Jun 2012 22:09:33 +0000 Subject: [PATCH] Remove incorrect masking of the imm8 in VSHUFPD. git-svn-id: svn://svn.valgrind.org/vex/trunk@2389 --- VEX/priv/guest_amd64_toIR.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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)); -- 2.47.2