From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50167) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W1jj5-0006UY-9j for qemu-devel@nongnu.org; Fri, 10 Jan 2014 16:34:55 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W1jiw-0001my-T2 for qemu-devel@nongnu.org; Fri, 10 Jan 2014 16:34:47 -0500 Sender: Richard Henderson Message-ID: <52D0676A.2050706@twiddle.net> Date: Fri, 10 Jan 2014 13:34:34 -0800 From: Richard Henderson MIME-Version: 1.0 References: <1389380882-5597-1-git-send-email-tommusta@gmail.com> <1389380882-5597-17-git-send-email-tommusta@gmail.com> In-Reply-To: <1389380882-5597-17-git-send-email-tommusta@gmail.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [V6 PATCH 16/18] target-ppc: Floating Merge Word Instructions List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Tom Musta , qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org On 01/10/2014 11:08 AM, Tom Musta wrote: > +static void gen_fmrgow(DisasContext *ctx) > +{ > + TCGv_i64 a1; > + if (unlikely(!ctx->fpu_enabled)) { > + gen_exception(ctx, POWERPC_EXCP_FPU); > + return; > + } > + a1 = tcg_temp_new_i64(); > + tcg_gen_shli_i64(a1, cpu_fpr[rA(ctx->opcode)], 32); > + tcg_gen_deposit_i64(cpu_fpr[rD(ctx->opcode)], > + a1, cpu_fpr[rB(ctx->opcode)], > + 0, 32); > + tcg_temp_free_i64(a1); > +} Better use of the deposit when you use it for the shift also: tcg_gen_deposit_i64(cpu_fpr[rD], cpu_fpr[rB], cpu_fpr[rA], 32, 32); r~