From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58401) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YOYxj-0008Nm-25 for qemu-devel@nongnu.org; Thu, 19 Feb 2015 16:48:48 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YOYxd-0000XB-SU for qemu-devel@nongnu.org; Thu, 19 Feb 2015 16:48:47 -0500 Received: from mail-qg0-x22d.google.com ([2607:f8b0:400d:c04::22d]:39139) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YOYxd-0000X0-Nl for qemu-devel@nongnu.org; Thu, 19 Feb 2015 16:48:41 -0500 Received: by mail-qg0-f45.google.com with SMTP id h3so9916069qgf.4 for ; Thu, 19 Feb 2015 13:48:41 -0800 (PST) Sender: Richard Henderson From: Richard Henderson Date: Thu, 19 Feb 2015 13:48:08 -0800 Message-Id: <1424382488-26425-1-git-send-email-rth@twiddle.net> Subject: [Qemu-devel] [PATCH] target-microblaze: Use setcond for pcmp* List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: edgar.iglesias@gmail.com Signed-off-by: Richard Henderson --- target-microblaze/translate.c | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) --- Note that this is relative to an outstanding TCG patch set. The full tree is at git://github.com/rth7680/qemu.git mb-movcond r~ --- diff --git a/target-microblaze/translate.c b/target-microblaze/translate.c index 4068946..f3e9912 100644 --- a/target-microblaze/translate.c +++ b/target-microblaze/translate.c @@ -313,7 +313,6 @@ static void dec_sub(DisasContext *dc) static void dec_pattern(DisasContext *dc) { unsigned int mode; - TCGLabel *l1; if ((dc->tb_flags & MSR_EE_FLAG) && (dc->cpu->env.pvr.regs[2] & PVR2_ILL_OPCODE_EXC_MASK) @@ -333,29 +332,15 @@ static void dec_pattern(DisasContext *dc) case 2: LOG_DIS("pcmpeq r%d r%d r%d\n", dc->rd, dc->ra, dc->rb); if (dc->rd) { - TCGv t0 = tcg_temp_local_new(); - l1 = gen_new_label(); - tcg_gen_movi_tl(t0, 1); - tcg_gen_brcond_tl(TCG_COND_EQ, - cpu_R[dc->ra], cpu_R[dc->rb], l1); - tcg_gen_movi_tl(t0, 0); - gen_set_label(l1); - tcg_gen_mov_tl(cpu_R[dc->rd], t0); - tcg_temp_free(t0); + tcg_gen_setcond_tl(TCG_COND_EQ, cpu_R[dc->rd], + cpu_R[dc->ra], cpu_R[dc->rb]); } break; case 3: LOG_DIS("pcmpne r%d r%d r%d\n", dc->rd, dc->ra, dc->rb); - l1 = gen_new_label(); if (dc->rd) { - TCGv t0 = tcg_temp_local_new(); - tcg_gen_movi_tl(t0, 1); - tcg_gen_brcond_tl(TCG_COND_NE, - cpu_R[dc->ra], cpu_R[dc->rb], l1); - tcg_gen_movi_tl(t0, 0); - gen_set_label(l1); - tcg_gen_mov_tl(cpu_R[dc->rd], t0); - tcg_temp_free(t0); + tcg_gen_setcond_tl(TCG_COND_NE, cpu_R[dc->rd], + cpu_R[dc->ra], cpu_R[dc->rb]); } break; default: -- 2.1.0