From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36985) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VvUVS-00046A-DM for qemu-devel@nongnu.org; Tue, 24 Dec 2013 11:07:02 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VvUVG-0002zI-3y for qemu-devel@nongnu.org; Tue, 24 Dec 2013 11:06:54 -0500 Sender: Richard Henderson Message-ID: <52B9B10D.5020701@twiddle.net> Date: Tue, 24 Dec 2013 08:06:37 -0800 From: Richard Henderson MIME-Version: 1.0 References: <1387399747-4994-1-git-send-email-tommusta@gmail.com> <1387399747-4994-12-git-send-email-tommusta@gmail.com> In-Reply-To: <1387399747-4994-12-git-send-email-tommusta@gmail.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [V3 PATCH 11/14] target-ppc: Add ISA 2.06 ftdiv Instruction 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 12/18/2013 12:49 PM, Tom Musta wrote: > + env->crf[bf] = 0x8 | (fg_flag ? 4 : 0) | (fe_flag ? 2 : 0); > +} You should return that value instead of assigning it. Then you need neither the env nor bf arguments, and the whole function can be TCG_CALL_NO_RWG_SE. > +static void gen_ftdiv(DisasContext *ctx) > +{ > + TCGv_i32 bf; > + if (unlikely(!ctx->fpu_enabled)) { > + gen_exception(ctx, POWERPC_EXCP_FPU); > + return; > + } > + /* NIP cannot be restored if the memory exception comes from an helper */ > + gen_update_nip(ctx, ctx->nip - 4); > + bf = tcg_const_i32(crfD(ctx->opcode)); > + gen_helper_ftdiv(cpu_env, bf, cpu_fpr[rA(ctx->opcode)], > + cpu_fpr[rB(ctx->opcode)]); > +} What memory exception? Assign the result to cpu_crf[bf] here. r~