From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41440) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XJSxh-00065A-9w for qemu-devel@nongnu.org; Mon, 18 Aug 2014 15:51:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XJSxY-0000hy-93 for qemu-devel@nongnu.org; Mon, 18 Aug 2014 15:51:25 -0400 Message-ID: <53F25925.9010804@gmail.com> Date: Mon, 18 Aug 2014 14:51:01 -0500 From: Tom Musta MIME-Version: 1.0 References: <1407785009-6538-1-git-send-email-tommusta@gmail.com> <1407785009-6538-4-git-send-email-tommusta@gmail.com> <53EE6825.5040706@twiddle.net> In-Reply-To: <53EE6825.5040706@twiddle.net> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 3/8] target-ppc: Bug Fix: rlwimi List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Richard Henderson , qemu-devel@nongnu.org, qemu-ppc@nongnu.org Cc: agraf@suse.de On 8/15/2014 3:05 PM, Richard Henderson wrote: > On 08/11/2014 09:23 AM, Tom Musta wrote: >> Also fix the special case of MB=31 and ME=0 to copy the entire contents >> of the source GPR. > > Err, that's not what you did. > >> if (likely(sh == 0 && mb == 0 && me == 31)) { >> +#if defined(TARGET_PPC64) >> + tcg_gen_mov_i64(cpu_gpr[rA(ctx->opcode)], cpu_gpr[rS(ctx->opcode)]); >> +#else >> tcg_gen_ext32u_tl(cpu_gpr[rA(ctx->opcode)], cpu_gpr[rS(ctx->opcode)]); >> +#endif > > This is the reverse condition. Which, true enough, should not be implemented > with ext32u for PPC64. But a MOV isn't right either, it is > > deposit(ra, rs, 0, 32) > > Which does point out that we should probably implement anything MB <= ME and SH > == 31 - ME with the deposit opcode. > > > r~ > Richard: Good catch. I found a bug in my test generator ... rlwimi is unusual in that the "RA" register is both a source and a target. A fix is forthcoming. Thanks also for your other comments. Unlike this one, I believe they are optimizations. I will investigate and potentially publish some additional changes. Alex has already taken this series into his ppc-next, so the new patches will be relative to these.