From: Carl Love Date: Fri, 5 Jun 2015 17:58:23 +0000 (+0000) Subject: The dcbt and dcbtst instructions provide a non-zero hint that describes X-Git-Tag: svn/VALGRIND_3_11_0^2~43 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2c691bef5ef62641574829d1a4e20975a6383fec;p=thirdparty%2Fvalgrind.git The dcbt and dcbtst instructions provide a non-zero hint that describes a block or data stream to which a program may perform a Store acces, or indicates the expected use. The field bits[25:21] (bits 6:10 in the IBM numbering) in the instruction provide the hint. Valgrind checks that these bits are non-zero. Unfortunately, the test was being applied to other instructions such as the dcbf instruction causing it to fail when the field was equal to zero. This patch removes the check that was being incorrectly applied to all of the instructions. The valgrind bugzilla for this issue is 348334. git-svn-id: svn://svn.valgrind.org/vex/trunk@3148 --- diff --git a/VEX/priv/guest_ppc_toIR.c b/VEX/priv/guest_ppc_toIR.c index f15e166415..103ed368c8 100644 --- a/VEX/priv/guest_ppc_toIR.c +++ b/VEX/priv/guest_ppc_toIR.c @@ -7462,10 +7462,10 @@ static Bool dis_cache_manage ( UInt theInstr, } } - if (opc1 != 0x1F || b21to25 != 0 || b0 != 0) { + if (opc1 != 0x1F || b0 != 0) { if (0) vex_printf("dis_cache_manage %d %d %d\n", - (Int)opc1, (Int)b21to25, (Int)b0); - vex_printf("dis_cache_manage(ppc)(opc1|b21to25|b0)\n"); + (Int)opc1, (Int)b0); + vex_printf("dis_cache_manage(ppc)(opc1|b0)\n"); return False; }