From: Carl Love Date: Wed, 4 Oct 2017 15:54:07 +0000 (-0500) Subject: PPC64, revert the change to vperm instruction. X-Git-Tag: VALGRIND_3_14_0~231 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c618e707d3e24853cd1e0b71deb981f2dc4ae8d4;p=thirdparty%2Fvalgrind.git PPC64, revert the change to vperm instruction. The patch was in my git tree with the patch I intended to apply. I didn't realize the patch was in the tree. Git applied both patches. Still investigating the vperm change to see if it is really needed. --- diff --git a/VEX/priv/guest_ppc_toIR.c b/VEX/priv/guest_ppc_toIR.c index 6b2157d861..b5b0d03c30 100644 --- a/VEX/priv/guest_ppc_toIR.c +++ b/VEX/priv/guest_ppc_toIR.c @@ -24296,12 +24296,12 @@ static Bool dis_av_permute ( UInt theInstr ) IRTemp vC_andF = newTemp(Ity_V128); DIP("vperm v%d,v%d,v%d,v%d\n", vD_addr, vA_addr, vB_addr, vC_addr); - /* Limit the Perm8x16 steering values to 0 .. 31 as that is what + /* Limit the Perm8x16 steering values to 0 .. 15 as that is what IR specifies, and also to hide irrelevant bits from memcheck */ assign( vC_andF, binop(Iop_AndV128, mkexpr(vC), - unop(Iop_Dup8x16, mkU8(0x1F))) ); + unop(Iop_Dup8x16, mkU8(0xF))) ); assign( a_perm, binop(Iop_Perm8x16, mkexpr(vA), mkexpr(vC_andF)) ); assign( b_perm,