qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 27/35] tcg/ppc: Support TCG_COND_TST{EQ,NE}


From: Richard Henderson
Subject: Re: [PATCH v2 27/35] tcg/ppc: Support TCG_COND_TST{EQ,NE}
Date: Wed, 8 Nov 2023 13:27:37 -0800
User-agent: Mozilla Thunderbird

On 11/8/23 12:40, Philippe Mathieu-Daudé wrote:
Hi Richard,

On 28/10/23 21:45, Richard Henderson wrote:
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
  tcg/ppc/tcg-target.c.inc | 105 ++++++++++++++++++++++++++++++++++++---
  1 file changed, 98 insertions(+), 7 deletions(-)


-static inline void tcg_out_rld(TCGContext *s, int op, TCGReg ra, TCGReg rs,
-                               int sh, int mb)
+static void tcg_out_rld_rc(TCGContext *s, int op, TCGReg ra, TCGReg rs,
+                           int sh, int mb, bool rc)
  {
      tcg_debug_assert(TCG_TARGET_REG_BITS == 64);
      sh = SH(sh & 0x1f) | (((sh >> 5) & 1) << 1);
      mb = MB64((mb >> 5) | ((mb << 1) & 0x3f));
-    tcg_out32(s, op | RA(ra) | RS(rs) | sh | mb);
+    tcg_out32(s, op | RA(ra) | RS(rs) | sh | mb | rc);
  }
-static inline void tcg_out_rlw(TCGContext *s, int op, TCGReg ra, TCGReg rs,
-                               int sh, int mb, int me)
+static void tcg_out_rld(TCGContext *s, int op, TCGReg ra, TCGReg rs,
+                        int sh, int mb)
+{
+    tcg_out_rld_rc(s, op, ra, rs, sh, mb, false);
+}
+
+static void tcg_out_rlw_rc(TCGContext *s, int op, TCGReg ra, TCGReg rs,
+                           int sh, int mb, int me, bool rc)
  {
      tcg_out32(s, op | RA(ra) | RS(rs) | SH(sh) | MB(mb) | ME(me));

Here I'm a bit confused because 'rc' is not used. Shouldn't we OR it
to tcg_out32()' second argument?

Yep, should be just like rld_rc above.


r~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]