Hi Richard,

On 28/10/23 21:45, Richard Henderson wrote:
Signed-off-by: Richard Henderson <richard.hender...@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?

  }
+static void tcg_out_rlw(TCGContext *s, int op, TCGReg ra, TCGReg rs,
+                        int sh, int mb, int me)
+{
+    tcg_out_rlw_rc(s, op, ra, rs, sh, mb, me, false);
+}


Reply via email to