All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] target-microblaze: Use setcond for pcmp*
@ 2015-09-02 21:46 Richard Henderson
  2015-09-03 11:09 ` Edgar E. Iglesias
  0 siblings, 1 reply; 3+ messages in thread
From: Richard Henderson @ 2015-09-02 21:46 UTC (permalink / raw)
  To: qemu-devel; +Cc: edgar.iglesias

Signed-off-by: Richard Henderson <rth@twiddle.net>
---
This was originally posted back in February.  I failed to keep
any reply, if any, that may have been given.  There's no change
to the code after updating to mainline.


r~
---
 target-microblaze/translate.c | 23 ++++-------------------
 1 file changed, 4 insertions(+), 19 deletions(-)

diff --git a/target-microblaze/translate.c b/target-microblaze/translate.c
index 47ac180..d4d9a8a 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.4.3

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PATCH] target-microblaze: Use setcond for pcmp*
  2015-09-02 21:46 [Qemu-devel] [PATCH] target-microblaze: Use setcond for pcmp* Richard Henderson
@ 2015-09-03 11:09 ` Edgar E. Iglesias
  0 siblings, 0 replies; 3+ messages in thread
From: Edgar E. Iglesias @ 2015-09-03 11:09 UTC (permalink / raw)
  To: Richard Henderson; +Cc: qemu-devel

On Wed, Sep 02, 2015 at 02:46:01PM -0700, Richard Henderson wrote:
> Signed-off-by: Richard Henderson <rth@twiddle.net>

Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Tested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>

I've added this to my MB queue, thanks.

Cheers,
Edgar


> ---
> This was originally posted back in February.  I failed to keep
> any reply, if any, that may have been given.  There's no change
> to the code after updating to mainline.
> 
> 
> r~
> ---
>  target-microblaze/translate.c | 23 ++++-------------------
>  1 file changed, 4 insertions(+), 19 deletions(-)
> 
> diff --git a/target-microblaze/translate.c b/target-microblaze/translate.c
> index 47ac180..d4d9a8a 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.4.3
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Qemu-devel] [PATCH] target-microblaze: Use setcond for pcmp*
@ 2015-02-19 21:48 Richard Henderson
  0 siblings, 0 replies; 3+ messages in thread
From: Richard Henderson @ 2015-02-19 21:48 UTC (permalink / raw)
  To: qemu-devel; +Cc: edgar.iglesias

Signed-off-by: Richard Henderson <rth@twiddle.net>
---
 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

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-09-03 11:09 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-09-02 21:46 [Qemu-devel] [PATCH] target-microblaze: Use setcond for pcmp* Richard Henderson
2015-09-03 11:09 ` Edgar E. Iglesias
  -- strict thread matches above, loose matches on Subject: below --
2015-02-19 21:48 Richard Henderson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.