On 17/2/25 00:07, Richard Henderson wrote:
Signed-off-by: Richard Henderson <richard.hender...@linaro.org>
---
  tcg/tcg.c                        |  4 +++
  tcg/aarch64/tcg-target.c.inc     | 31 ++++++++++++---------
  tcg/arm/tcg-target.c.inc         | 24 ++++++++++++----
  tcg/i386/tcg-target.c.inc        | 25 +++++++++++++----
  tcg/loongarch64/tcg-target.c.inc | 29 ++++++++++++--------
  tcg/mips/tcg-target.c.inc        | 25 ++++++++++++-----
  tcg/ppc/tcg-target.c.inc         | 29 ++++++++++++--------
  tcg/riscv/tcg-target.c.inc       | 29 ++++++++++++--------
  tcg/s390x/tcg-target.c.inc       | 47 +++++++++++++++++---------------
  tcg/sparc64/tcg-target.c.inc     | 23 ++++++++++++----
  tcg/tci/tcg-target.c.inc         | 14 ++++++++--
  11 files changed, 186 insertions(+), 94 deletions(-)


diff --git a/tcg/i386/tcg-target.c.inc b/tcg/i386/tcg-target.c.inc


+static void tgen_ori(TCGContext *s, TCGType type,
+                     TCGReg a0, TCGReg a1, tcg_target_long a2)
+{
+    int rexw = type == TCG_TYPE_I32 ? 0 : P_REXW;
+    tgen_arithi(s, ARITH_OR + rexw, a0, a2, 0);

s/0/false/

+}


diff --git a/tcg/ppc/tcg-target.c.inc b/tcg/ppc/tcg-target.c.inc


+static const TCGOutOpBinary outop_or = {
+    .base.static_constraint = C_O1_I2(r, r, rU),

So 32-bit gets s/i/U/ which is TCG_CT_CONST_U32, a no-op, OK.

+    .out_rrr = tgen_or,
+    .out_rri = tgen_ori,
+};


-    case INDEX_op_or_i32:
      case INDEX_op_xor_i32:
      case INDEX_op_orc_i32:
      case INDEX_op_eqv_i32:
@@ -4172,7 +4180,6 @@ tcg_target_op_def(TCGOpcode op, TCGType type, unsigned 
flags)
case INDEX_op_sub_i32:
          return C_O1_I2(r, rI, ri);
-    case INDEX_op_or_i64:
      case INDEX_op_xor_i64:
          return C_O1_I2(r, r, rU);
      case INDEX_op_sub_i64:

Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org>


Reply via email to