From nobody Sat Nov 15 15:41:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1748938457; cv=none; d=zohomail.com; s=zohoarc; b=fkjhqi8TihkT3ifJVXsQ/sc8oEJ23sx5OCaVNGJ264i4CF0eMTQqG88dmMt1IJfQIn/ECCfMXbYt+khcnUtvSNoYY34rMKmuxf78pesiMdeb3RByZgIMzkxYpyb3LNJStpD9KsigYHjvY/UffqdOY8Ty1SwD1Atz3xOlqcWc39w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1748938457; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=lzo/fe/Ua4ApmzVfrV8jd465bb3JX7SLeAZUoYkEF7U=; b=hanOCwCFucex9RyiyPXuPsB6iojoEzeDz++W43vcQEfy9s9pEMeGi4XTbhnLAQWEqrp6BdCjXbdELAd1UAKIDqH2kWdZkyB5EiLB8l6+LJ/6S3kimAh9wp4Xn8niQXXKu9hchZzJGzUBUeExAhKssQC6ar9XhZvxcVlmqcpv2+Q= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1748938457535389.7468251234494; Tue, 3 Jun 2025 01:14:17 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uMMiK-0000kI-FL; Tue, 03 Jun 2025 04:09:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uMMiI-0000iX-Aj for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:09:38 -0400 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uMMiG-0005Sa-9q for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:09:38 -0400 Received: by mail-wr1-x430.google.com with SMTP id ffacd0b85a97d-3a3771c0f8cso3205487f8f.3 for ; Tue, 03 Jun 2025 01:09:35 -0700 (PDT) Received: from stoup.lan (host-80-41-64-133.as13285.net. [80.41.64.133]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4f009ff7asm17668852f8f.90.2025.06.03.01.09.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 01:09:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748938174; x=1749542974; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=lzo/fe/Ua4ApmzVfrV8jd465bb3JX7SLeAZUoYkEF7U=; b=M/9hYEYt8iVHqHMxWX5kmqGfrrbgyp08JX09bWMsvg5cerY2lIEL5579AbieXZa86B y+pC1r5LEAbP/1apaIHTg8nu5wAM8rSW5bVOnwvhZKu1AcYbJSP+n0GZnb8qqQN4Vwvo sKRLrKCwtcIRjsm8FTYnyKPcQ7OqvkmctvGMSlQKO3d2mUtlNkCrfdsvTZrCfadtyKV5 jhIJoa4U7kH/iQ9IAOP94TOWm/edb519hdkKtPujNtEthY6BCHmEbXWjR+fPxs0McC/r csf6ftt01atwI8ygaDOsUhsLcFhMK3x5b7QmYyeZd0osfE+yXVtfAG6m5Z97vJqzcL+1 pOKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748938174; x=1749542974; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=lzo/fe/Ua4ApmzVfrV8jd465bb3JX7SLeAZUoYkEF7U=; b=eiqlIP0eOiA6cwz+jJfreUnGp92Le0whz2g64+WCmSZPCySmL2sgpH6mMsRyXBDGSB WeFUvpTf+TL4BZDC3801PAyhz7eOpgkz3ep8KA7RTpzyXY8IBPc+gWjh+zDhrE252mHJ +memN7/CHvi57P3DLPKMrvEnPXnr7f2qAOUJnhEcB+Bbd4B+DsQ/PLXAAdI3DtnSWVIh SlvgsI91ndQ5F7Qg6vgLrsbLlq0Di/aQE96rReUFM/vAJUjiJ22Vkh+nQ/sHzocOKV7b isxpuPyZA0th5Kl85rwwCApwvFBpsgyNA+fTaKVNJukSpvZCpsO6oTVrKd4XXR+HLvPK gxVQ== X-Gm-Message-State: AOJu0YwIqcbY4fohQgxTK4d3q7g/RpV3yRroi2nK5rQYFX+9Uwl3U7JB ZQpGFGTXZEMw+wPaaLcwrEjthbraIjx6BASyjy6msT7dntjkyMmsDulN/qd8lMronopBpaVvlt0 pj9rfPUg= X-Gm-Gg: ASbGncvxHriTGqEpCyTvq8gz7HDY4AyO6peCr+GUSvcPIXa8L9tJZC35TC/0dqD2w9p Zc+5h/SWdWyFVcI7SsENDcDPxUnJUbj4UHb6hAd/EPhgWPptCw7Weg/ygynbfoscURUceXz4XIQ 3L+m/xLAOZ1HzS7GMEU9UHR33CP8EJIaaN8OGNA/V1b64G3a7vJB4Z0EQmMiIDwMcy3zSAZJCxy YtSSaqcHM1FvbtHldrPX1cMiiocpmF+dZNkQtQCGbt49w9aJQiwbvzihsmvvEQLL0HlHQalnoq4 +puimWVgM7n8EVhWdrmMRqTy77EGmkruop/x/gTyEgTH9tH/T1wN2SAR4er5X2E+uqyEvZ2XPVd x7L/vBtcQUDoD X-Google-Smtp-Source: AGHT+IGSuUgK0oDivk6ubo7ittQRG9l3gMUSLie/hgsEO1XqdsZ7JfwgpBqK04H1Q/H/z3H1Ql8X6w== X-Received: by 2002:a05:6000:2c10:b0:3a4:d6ed:8df7 with SMTP id ffacd0b85a97d-3a4f89e2536mr10036211f8f.59.1748938174359; Tue, 03 Jun 2025 01:09:34 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com Subject: [PATCH v2 01/27] tcg/optimize: Introduce arg_const_val Date: Tue, 3 Jun 2025 09:08:42 +0100 Message-ID: <20250603080908.559594-2-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250603080908.559594-1-richard.henderson@linaro.org> References: <20250603080908.559594-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::430; envelope-from=richard.henderson@linaro.org; helo=mail-wr1-x430.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1748938459968116600 Content-Type: text/plain; charset="utf-8" Use arg_const_val instead of direct access to the TempOptInfo val member. Rename both val and is_const to catch all direct accesses. Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- tcg/optimize.c | 78 ++++++++++++++++++++++++++------------------------ 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index 10a76c5461..73a272eeb3 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -39,11 +39,11 @@ typedef struct MemCopyInfo { } MemCopyInfo; =20 typedef struct TempOptInfo { - bool is_const; + bool is_const_; TCGTemp *prev_copy; TCGTemp *next_copy; QSIMPLEQ_HEAD(, MemCopyInfo) mem_copy; - uint64_t val; + uint64_t val_; uint64_t z_mask; /* mask bit is 0 if and only if value bit is 0 */ uint64_t s_mask; /* mask bit is 1 if value bit matches msb */ } TempOptInfo; @@ -73,12 +73,12 @@ static inline TempOptInfo *arg_info(TCGArg arg) =20 static inline bool ti_is_const(TempOptInfo *ti) { - return ti->is_const; + return ti->is_const_; } =20 static inline uint64_t ti_const_val(TempOptInfo *ti) { - return ti->val; + return ti->val_; } =20 static inline bool ti_is_const_val(TempOptInfo *ti, uint64_t val) @@ -101,6 +101,11 @@ static inline bool arg_is_const(TCGArg arg) return ts_is_const(arg_temp(arg)); } =20 +static inline uint64_t arg_const_val(TCGArg arg) +{ + return ti_const_val(arg_info(arg)); +} + static inline bool arg_is_const_val(TCGArg arg, uint64_t val) { return ts_is_const_val(arg_temp(arg), val); @@ -137,12 +142,12 @@ static void init_ts_info(OptContext *ctx, TCGTemp *ts) ti->prev_copy =3D ts; QSIMPLEQ_INIT(&ti->mem_copy); if (ts->kind =3D=3D TEMP_CONST) { - ti->is_const =3D true; - ti->val =3D ts->val; + ti->is_const_ =3D true; + ti->val_ =3D ts->val; ti->z_mask =3D ts->val; ti->s_mask =3D INT64_MIN >> clrsb64(ts->val); } else { - ti->is_const =3D false; + ti->is_const_ =3D false; ti->z_mask =3D -1; ti->s_mask =3D 0; } @@ -229,7 +234,7 @@ static void reset_ts(OptContext *ctx, TCGTemp *ts) pi->next_copy =3D ti->next_copy; ti->next_copy =3D ts; ti->prev_copy =3D ts; - ti->is_const =3D false; + ti->is_const_ =3D false; ti->z_mask =3D -1; ti->s_mask =3D 0; =20 @@ -394,8 +399,8 @@ static bool tcg_opt_gen_mov(OptContext *ctx, TCGOp *op,= TCGArg dst, TCGArg src) di->prev_copy =3D src_ts; ni->prev_copy =3D dst_ts; si->next_copy =3D dst_ts; - di->is_const =3D si->is_const; - di->val =3D si->val; + di->is_const_ =3D si->is_const_; + di->val_ =3D si->val_; =20 if (!QSIMPLEQ_EMPTY(&si->mem_copy) && cmp_better_copy(src_ts, dst_ts) =3D=3D dst_ts) { @@ -687,8 +692,8 @@ static int do_constant_folding_cond(TCGType type, TCGAr= g x, TCGArg y, TCGCond c) { if (arg_is_const(x) && arg_is_const(y)) { - uint64_t xv =3D arg_info(x)->val; - uint64_t yv =3D arg_info(y)->val; + uint64_t xv =3D arg_const_val(x); + uint64_t yv =3D arg_const_val(y); =20 switch (type) { case TCG_TYPE_I32: @@ -801,14 +806,14 @@ static int do_constant_folding_cond1(OptContext *ctx,= TCGOp *op, TCGArg dest, * TSTNE x,i -> NE x,0 if i includes all nonzero bits of x */ if (args_are_copies(*p1, *p2) || - (arg_is_const(*p2) && (i1->z_mask & ~arg_info(*p2)->val) =3D=3D 0)= ) { + (arg_is_const(*p2) && (i1->z_mask & ~arg_const_val(*p2)) =3D=3D 0)= ) { *p2 =3D arg_new_constant(ctx, 0); *pcond =3D tcg_tst_eqne_cond(cond); return -1; } =20 /* TSTNE x,i -> LT x,0 if i only includes sign bit copies */ - if (arg_is_const(*p2) && (arg_info(*p2)->val & ~i1->s_mask) =3D=3D 0) { + if (arg_is_const(*p2) && (arg_const_val(*p2) & ~i1->s_mask) =3D=3D 0) { *p2 =3D arg_new_constant(ctx, 0); *pcond =3D tcg_tst_ltge_cond(cond); return -1; @@ -849,13 +854,13 @@ static int do_constant_folding_cond2(OptContext *ctx,= TCGOp *op, TCGArg *args) bh =3D args[3]; =20 if (arg_is_const(bl) && arg_is_const(bh)) { - tcg_target_ulong blv =3D arg_info(bl)->val; - tcg_target_ulong bhv =3D arg_info(bh)->val; + tcg_target_ulong blv =3D arg_const_val(bl); + tcg_target_ulong bhv =3D arg_const_val(bh); uint64_t b =3D deposit64(blv, 32, 32, bhv); =20 if (arg_is_const(al) && arg_is_const(ah)) { - tcg_target_ulong alv =3D arg_info(al)->val; - tcg_target_ulong ahv =3D arg_info(ah)->val; + tcg_target_ulong alv =3D arg_const_val(al); + tcg_target_ulong ahv =3D arg_const_val(ah); uint64_t a =3D deposit64(alv, 32, 32, ahv); =20 r =3D do_constant_folding_cond_64(a, b, c); @@ -989,9 +994,8 @@ static bool finish_folding(OptContext *ctx, TCGOp *op) static bool fold_const1(OptContext *ctx, TCGOp *op) { if (arg_is_const(op->args[1])) { - uint64_t t; + uint64_t t =3D arg_const_val(op->args[1]); =20 - t =3D arg_info(op->args[1])->val; t =3D do_constant_folding(op->opc, ctx->type, t, 0); return tcg_opt_gen_movi(ctx, op, op->args[0], t); } @@ -1001,8 +1005,8 @@ static bool fold_const1(OptContext *ctx, TCGOp *op) static bool fold_const2(OptContext *ctx, TCGOp *op) { if (arg_is_const(op->args[1]) && arg_is_const(op->args[2])) { - uint64_t t1 =3D arg_info(op->args[1])->val; - uint64_t t2 =3D arg_info(op->args[2])->val; + uint64_t t1 =3D arg_const_val(op->args[1]); + uint64_t t2 =3D arg_const_val(op->args[2]); =20 t1 =3D do_constant_folding(op->opc, ctx->type, t1, t2); return tcg_opt_gen_movi(ctx, op, op->args[0], t1); @@ -1486,8 +1490,8 @@ static bool fold_bitsel_vec(OptContext *ctx, TCGOp *o= p) } =20 if (arg_is_const(op->args[2]) && arg_is_const(op->args[3])) { - uint64_t tv =3D arg_info(op->args[2])->val; - uint64_t fv =3D arg_info(op->args[3])->val; + uint64_t tv =3D arg_const_val(op->args[2]); + uint64_t fv =3D arg_const_val(op->args[3]); =20 if (tv =3D=3D -1 && fv =3D=3D 0) { return tcg_opt_gen_mov(ctx, op, op->args[0], op->args[1]); @@ -1504,7 +1508,7 @@ static bool fold_bitsel_vec(OptContext *ctx, TCGOp *o= p) } } if (arg_is_const(op->args[2])) { - uint64_t tv =3D arg_info(op->args[2])->val; + uint64_t tv =3D arg_const_val(op->args[2]); if (tv =3D=3D -1) { op->opc =3D INDEX_op_or_vec; op->args[2] =3D op->args[3]; @@ -1518,7 +1522,7 @@ static bool fold_bitsel_vec(OptContext *ctx, TCGOp *o= p) } } if (arg_is_const(op->args[3])) { - uint64_t fv =3D arg_info(op->args[3])->val; + uint64_t fv =3D arg_const_val(op->args[3]); if (fv =3D=3D 0) { op->opc =3D INDEX_op_and_vec; return fold_and(ctx, op); @@ -1876,7 +1880,7 @@ static bool fold_divide(OptContext *ctx, TCGOp *op) static bool fold_dup(OptContext *ctx, TCGOp *op) { if (arg_is_const(op->args[1])) { - uint64_t t =3D arg_info(op->args[1])->val; + uint64_t t =3D arg_const_val(op->args[1]); t =3D dup_const(TCGOP_VECE(op), t); return tcg_opt_gen_movi(ctx, op, op->args[0], t); } @@ -1886,8 +1890,8 @@ static bool fold_dup(OptContext *ctx, TCGOp *op) static bool fold_dup2(OptContext *ctx, TCGOp *op) { if (arg_is_const(op->args[1]) && arg_is_const(op->args[2])) { - uint64_t t =3D deposit64(arg_info(op->args[1])->val, 32, 32, - arg_info(op->args[2])->val); + uint64_t t =3D deposit64(arg_const_val(op->args[1]), 32, 32, + arg_const_val(op->args[2])); return tcg_opt_gen_movi(ctx, op, op->args[0], t); } =20 @@ -1958,8 +1962,8 @@ static bool fold_extract(OptContext *ctx, TCGOp *op) static bool fold_extract2(OptContext *ctx, TCGOp *op) { if (arg_is_const(op->args[1]) && arg_is_const(op->args[2])) { - uint64_t v1 =3D arg_info(op->args[1])->val; - uint64_t v2 =3D arg_info(op->args[2])->val; + uint64_t v1 =3D arg_const_val(op->args[1]); + uint64_t v2 =3D arg_const_val(op->args[2]); int shr =3D op->args[3]; =20 if (ctx->type =3D=3D TCG_TYPE_I32) { @@ -2127,8 +2131,8 @@ static bool fold_multiply2(OptContext *ctx, TCGOp *op) swap_commutative(op->args[0], &op->args[2], &op->args[3]); =20 if (arg_is_const(op->args[2]) && arg_is_const(op->args[3])) { - uint64_t a =3D arg_info(op->args[2])->val; - uint64_t b =3D arg_info(op->args[3])->val; + uint64_t a =3D arg_const_val(op->args[2]); + uint64_t b =3D arg_const_val(op->args[3]); uint64_t h, l; TCGArg rl, rh; TCGOp *op2; @@ -2330,7 +2334,7 @@ static int fold_setcond_zmask(OptContext *ctx, TCGOp = *op, bool neg) } =20 a_zmask =3D arg_info(op->args[1])->z_mask; - b_val =3D arg_info(op->args[2])->val; + b_val =3D arg_const_val(op->args[2]); cond =3D op->args[3]; =20 if (ctx->type =3D=3D TCG_TYPE_I32) { @@ -2418,7 +2422,7 @@ static void fold_setcond_tst_pow2(OptContext *ctx, TC= GOp *op, bool neg) } =20 src2 =3D op->args[2]; - val =3D arg_info(src2)->val; + val =3D arg_const_val(src2); if (!is_power_of_2(val)) { return; } @@ -2669,7 +2673,7 @@ static bool fold_sub_to_neg(OptContext *ctx, TCGOp *o= p) TCGOpcode neg_op; bool have_neg; =20 - if (!arg_is_const(op->args[1]) || arg_info(op->args[1])->val !=3D 0) { + if (!arg_is_const_val(op->args[1], 0)) { return false; } =20 @@ -2719,7 +2723,7 @@ static bool fold_sub(OptContext *ctx, TCGOp *op) =20 /* Fold sub r,x,i to add r,x,-i */ if (arg_is_const(op->args[2])) { - uint64_t val =3D arg_info(op->args[2])->val; + uint64_t val =3D arg_const_val(op->args[2]); =20 op->opc =3D INDEX_op_add; op->args[2] =3D arg_new_constant(ctx, -val); --=20 2.43.0 From nobody Sat Nov 15 15:41:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1748938219; cv=none; d=zohomail.com; s=zohoarc; b=j4lBBcV8msLQyPui76FEMv+jR2FBo0J4oek3Ia+0tWOhU5l2vBcEXZqwVr3Zv/ozK2ZoqroLP9trNxYMxza2bsh1edVma/8kyJ2VULJ31k9LXneOu0gkhCiHoTSvouSFsbwy8dnmUxity+77wRMj/WRWk1Z4RVMUfEVGv90dc/A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1748938219; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=sTSTjcuH6N3aWQwpF6uVc7bfNUPVXbJSpmTvFWDJcJc=; b=Qp1irMtevkeEMbYSyFggK5sa+sTidKQVNb+/8ONGL6zD760YS1SP0lMa6QAjLG294H4H+zO/+y1Wzig4baf0gGbG8VJUe55gaV173C17LNitVIFAN0l6JVhMmw97ROxniVDJbJBi4O2dmtFwCxdXgCPMbV/+1KPAbkKSMTNTEVU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1748938219547720.7729183501622; Tue, 3 Jun 2025 01:10:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uMMiQ-0000mo-4U; Tue, 03 Jun 2025 04:09:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uMMiO-0000lP-5r for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:09:44 -0400 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uMMiL-0005T3-9P for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:09:43 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-450ce3a2dd5so46197155e9.3 for ; Tue, 03 Jun 2025 01:09:40 -0700 (PDT) Received: from stoup.lan (host-80-41-64-133.as13285.net. [80.41.64.133]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4f009ff7asm17668852f8f.90.2025.06.03.01.09.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 01:09:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748938179; x=1749542979; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=sTSTjcuH6N3aWQwpF6uVc7bfNUPVXbJSpmTvFWDJcJc=; b=KR+5eLF9+YoGkmNV+8AvJowxzVVPBov5xUbOlGyWFeH3ttPq4F5o4oeEcU9nyJnHGh QyutVW9glKeimE8x2/vlfiwnwEoMHzexO7+ipbiRgKBc+8aHUms+Srj7mYAB886g8JsD P+WhOBQxYTA/V8MVRiYS10quGmJk/9KZ6XHspuXGnxnnSQrDwnL47jlonvFb0sOu2Voj uEbNJ0MDmAWtg1J05uB7cLZ1U1TkCDRqWtyA5yJnMS3l3LrYhurXOyuIkRcpkgs5Fe5h wRVBUm3re60RoDFY//R3Nnbuu2S6aY6/hDTS56ZfJ5pjUvkjrGTxTb0cVvVkI02KXWEI w82g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748938179; x=1749542979; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sTSTjcuH6N3aWQwpF6uVc7bfNUPVXbJSpmTvFWDJcJc=; b=tz7eQahojn76bnYMG7TvFphu0us0rOTcSXmT89XQU6hW2tuFvd7M/PFgTARhQpiwFe phGU2WrwF1oh2V2lkdAjsVAcYPKm1owts0RaadHl1VK3y5gG19kKWyMHvQYPXe/WHqVZ U6vE/bGBxa1mVm37SBJnpUxk9HxOPdM188XlZXFSVyCw0zyGlisaIYNMXtrGxrihzKBN Ur4Em0LUhsPN4rCNjp6usy+LCJYFIf6jArWL6ogUddg0b+8wpTs2A3a5mhyL6QleeFXp iiOSqkfzMjxbbUzg//zgYFxlFIz4/0bLof3eM4Uvwl9CWxuPz/EghfLgSeMaxUU3vLkw bB3A== X-Gm-Message-State: AOJu0Yx9mD447ZiWAaCwp6zgdWHHm5llgOoDGljfs8oSPzE3cLkEF38A 2a8+z8KYZ8tHDwai7RDpMJk1bXevipAJojR2ab8LACPJNkIhM/8DeA0L/VI3FLpnbuw/STwPo/U 90SFeIB8= X-Gm-Gg: ASbGnctu7zeiOESR+tmquO2V2jKT9UpVRItR8wDJqeZoHXUAVrPCvb2f5SSY9o3b0Ze osgSPzKTP35LHPB2WKH/o3kcBLyHnJVmdz3k6OOFsLOZTn+Dv/0lxOHzSDOHTAPQl0ws9HUwvTp PVlkpTC72RFh0XdBjUW6z/L/PmFffeSr3wmGhpwRco9RkNysok/daVMChOUrALuQ5mXW1NgaNPR RL4d70Vk6F8/ulFLpjDuxIs5QwvEMuoSItto2J1EH9IK7lie4qaQxFk7e18KocFPjo3WAhaBq+Y uFwaqddtRpONtrwIamfCvucltmSQhKpGVMUHGe/TjNx4P1xIiDzQ23wViyStv083jaIs0JvdJac 2nYOoxOEZBewMBzTtwmttzXI= X-Google-Smtp-Source: AGHT+IGNBmqwLjgewQwWdWg5ukF0Ml1lCorvnGUapYl2zE/uqBwAIgS2QbxdrqKdDWGGDmqwd8iiHQ== X-Received: by 2002:a05:600c:3510:b0:441:d438:505c with SMTP id 5b1f17b1804b1-45126574c37mr81634935e9.32.1748938179473; Tue, 03 Jun 2025 01:09:39 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com Subject: [PATCH v2 02/27] tcg/optimize: Add one's mask to TempOptInfo Date: Tue, 3 Jun 2025 09:08:43 +0100 Message-ID: <20250603080908.559594-3-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250603080908.559594-1-richard.henderson@linaro.org> References: <20250603080908.559594-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::336; envelope-from=richard.henderson@linaro.org; helo=mail-wm1-x336.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1748938220846116600 Content-Type: text/plain; charset="utf-8" Add o_mask mirroring z_mask, but for 1's instead of 0's. Drop is_const and val fields, which now logically overlap. Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- tcg/optimize.c | 51 ++++++++++++++++++++++++++++++++++---------------- 1 file changed, 35 insertions(+), 16 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index 73a272eeb3..ce3cb4d7bc 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -39,12 +39,11 @@ typedef struct MemCopyInfo { } MemCopyInfo; =20 typedef struct TempOptInfo { - bool is_const_; TCGTemp *prev_copy; TCGTemp *next_copy; QSIMPLEQ_HEAD(, MemCopyInfo) mem_copy; - uint64_t val_; uint64_t z_mask; /* mask bit is 0 if and only if value bit is 0 */ + uint64_t o_mask; /* mask bit is 1 if and only if value bit is 1 */ uint64_t s_mask; /* mask bit is 1 if value bit matches msb */ } TempOptInfo; =20 @@ -73,12 +72,14 @@ static inline TempOptInfo *arg_info(TCGArg arg) =20 static inline bool ti_is_const(TempOptInfo *ti) { - return ti->is_const_; + /* If all bits that are not known zeros are known ones, it's constant.= */ + return ti->z_mask =3D=3D ti->o_mask; } =20 static inline uint64_t ti_const_val(TempOptInfo *ti) { - return ti->val_; + /* If constant, both z_mask and o_mask contain the value. */ + return ti->z_mask; } =20 static inline bool ti_is_const_val(TempOptInfo *ti, uint64_t val) @@ -142,13 +143,12 @@ static void init_ts_info(OptContext *ctx, TCGTemp *ts) ti->prev_copy =3D ts; QSIMPLEQ_INIT(&ti->mem_copy); if (ts->kind =3D=3D TEMP_CONST) { - ti->is_const_ =3D true; - ti->val_ =3D ts->val; ti->z_mask =3D ts->val; + ti->o_mask =3D ts->val; ti->s_mask =3D INT64_MIN >> clrsb64(ts->val); } else { - ti->is_const_ =3D false; ti->z_mask =3D -1; + ti->o_mask =3D 0; ti->s_mask =3D 0; } } @@ -234,8 +234,8 @@ static void reset_ts(OptContext *ctx, TCGTemp *ts) pi->next_copy =3D ti->next_copy; ti->next_copy =3D ts; ti->prev_copy =3D ts; - ti->is_const_ =3D false; ti->z_mask =3D -1; + ti->o_mask =3D 0; ti->s_mask =3D 0; =20 if (!QSIMPLEQ_EMPTY(&ti->mem_copy)) { @@ -390,6 +390,7 @@ static bool tcg_opt_gen_mov(OptContext *ctx, TCGOp *op,= TCGArg dst, TCGArg src) op->args[1] =3D src; =20 di->z_mask =3D si->z_mask; + di->o_mask =3D si->o_mask; di->s_mask =3D si->s_mask; =20 if (src_ts->type =3D=3D dst_ts->type) { @@ -399,13 +400,19 @@ static bool tcg_opt_gen_mov(OptContext *ctx, TCGOp *o= p, TCGArg dst, TCGArg src) di->prev_copy =3D src_ts; ni->prev_copy =3D dst_ts; si->next_copy =3D dst_ts; - di->is_const_ =3D si->is_const_; - di->val_ =3D si->val_; =20 if (!QSIMPLEQ_EMPTY(&si->mem_copy) && cmp_better_copy(src_ts, dst_ts) =3D=3D dst_ts) { move_mem_copies(dst_ts, src_ts); } + } else if (dst_ts->type =3D=3D TCG_TYPE_I32) { + di->z_mask =3D (int32_t)di->z_mask; + di->o_mask =3D (int32_t)di->o_mask; + di->s_mask |=3D INT32_MIN; + } else { + di->z_mask |=3D MAKE_64BIT_MASK(32, 32); + di->o_mask =3D (uint32_t)di->o_mask; + di->s_mask =3D INT64_MIN; } return true; } @@ -1032,8 +1039,8 @@ static bool fold_const2_commutative(OptContext *ctx, = TCGOp *op) * If z_mask allows, fold the output to constant zero. * The passed s_mask may be augmented by z_mask. */ -static bool fold_masks_zs(OptContext *ctx, TCGOp *op, - uint64_t z_mask, int64_t s_mask) +static bool fold_masks_zos(OptContext *ctx, TCGOp *op, uint64_t z_mask, + uint64_t o_mask, int64_t s_mask) { const TCGOpDef *def =3D &tcg_op_defs[op->opc]; TCGTemp *ts; @@ -1052,11 +1059,16 @@ static bool fold_masks_zs(OptContext *ctx, TCGOp *o= p, */ if (ctx->type =3D=3D TCG_TYPE_I32) { z_mask =3D (int32_t)z_mask; + o_mask =3D (int32_t)o_mask; s_mask |=3D INT32_MIN; } =20 - if (z_mask =3D=3D 0) { - return tcg_opt_gen_movi(ctx, op, op->args[0], 0); + /* Bits that are known 1 and bits that are known 0 must not overlap. */ + tcg_debug_assert((o_mask & ~z_mask) =3D=3D 0); + + /* All bits that are not known zero are known one is a constant. */ + if (z_mask =3D=3D o_mask) { + return tcg_opt_gen_movi(ctx, op, op->args[0], o_mask); } =20 ts =3D arg_temp(op->args[0]); @@ -1068,20 +1080,27 @@ static bool fold_masks_zs(OptContext *ctx, TCGOp *o= p, /* Canonicalize s_mask and incorporate data from z_mask. */ rep =3D clz64(~s_mask); rep =3D MAX(rep, clz64(z_mask)); + rep =3D MAX(rep, clz64(~o_mask)); rep =3D MAX(rep - 1, 0); ti->s_mask =3D INT64_MIN >> rep; =20 return true; } =20 +static bool fold_masks_zs(OptContext *ctx, TCGOp *op, + uint64_t z_mask, uint64_t s_mask) +{ + return fold_masks_zos(ctx, op, z_mask, 0, s_mask); +} + static bool fold_masks_z(OptContext *ctx, TCGOp *op, uint64_t z_mask) { - return fold_masks_zs(ctx, op, z_mask, 0); + return fold_masks_zos(ctx, op, z_mask, 0, 0); } =20 static bool fold_masks_s(OptContext *ctx, TCGOp *op, uint64_t s_mask) { - return fold_masks_zs(ctx, op, -1, s_mask); + return fold_masks_zos(ctx, op, -1, 0, s_mask); } =20 /* --=20 2.43.0 From nobody Sat Nov 15 15:41:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1748938219; cv=none; d=zohomail.com; s=zohoarc; b=YpxvAyTZ6qT1MP41xYS/5aujrQjcQXDt5iCxIgOoav3gDVjf+9Hthpc2VTn1ippyjkk7qtHjIvd9o15BX/xCPwsEe2ilahXoz1xOBQTITSo9bS3JBcT3/1Qlp/sZGa3+gEdltW9BsLteNIBBoOtByUpTU+y7NalNJ9H5qcUZF+w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1748938219; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=tmwJBz7F0rnN0Jca+1BmXr+MUdOgft8U8n0tUdpppT0=; b=JSu4lymT0oauyomTAqa6L0PIoHqMdFORlafeIgyyK8Fi/CJ+a3Julw0Vz6MUllYynEarz6RSt94/O2m8yNUD4IzpQEVkOVz7XJZa6YVc26MjduM+eFAug5lS/bBcI53zb/tFFkFsqrbf0AqokCxCB68Av/FwpX6CpURAsCQBUE4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1748938219263739.413928468714; Tue, 3 Jun 2025 01:10:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uMMiT-0000ob-TN; Tue, 03 Jun 2025 04:09:49 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uMMiR-0000nV-SZ for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:09:47 -0400 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uMMiQ-0005Ta-9C for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:09:47 -0400 Received: by mail-wr1-x430.google.com with SMTP id ffacd0b85a97d-3a5096158dcso1591349f8f.1 for ; Tue, 03 Jun 2025 01:09:45 -0700 (PDT) Received: from stoup.lan (host-80-41-64-133.as13285.net. [80.41.64.133]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4f009ff7asm17668852f8f.90.2025.06.03.01.09.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 01:09:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748938185; x=1749542985; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=tmwJBz7F0rnN0Jca+1BmXr+MUdOgft8U8n0tUdpppT0=; b=bumZhcOJU5LFKEa1hSdk1sft33jZuSXZRO14nIa/ttMqJcTPF7ADmkJJ5H5eJBcf9b KBHbx94I2Pc0tVl+mMY/2yMOwOfqMNCt/yI2NhhViX25XKQTE6M2nta/3qRbOJ0Xpev5 8GY2gE9j4VLapWohIAtBBC1WaqF6rHvPZ7Qg1eqc32JKNhp4H2CEzQw97j2ocnSuxWXr JjL6r/5jLtX68oK/C1XcnYG88y0YCScpRDzMgDRuQpJeztC//bmC/4+oMmPILmY4k3dn u+EHJEm6R0R5S16ee33QLOV5bjWsdRpdWmnq5x9TJjX2IrBzYnvQZkZFR11dteyCkSLX Ru7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748938185; x=1749542985; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=tmwJBz7F0rnN0Jca+1BmXr+MUdOgft8U8n0tUdpppT0=; b=e2Hhk15FL72XnPLyk91mOfkXr5wwv9QjMx4yRh5HxeaD/9718Co2czCS3DZdFRqXS+ EoVN6PxdERVrVKydps/m+koAhwQx0DW7JozefoulODxt/RGdKY/tm3WZ3HKnBiTw3sth rEbxxsn/rrlHxl7xWxnaUGQ3eaCe1GT+YNe+8iMdbRAW8mOCzmL71b2k5rOBOrl9P06e FZBl6/JHfsKNH5UCa10riPv67hhQzZ2wKtp3GrjEU1tDTVWwTu86vRImnGnbR1IMORg2 KMorNdxgSeQBrNn6aFqcsl1YHdcYkL35nL1lJDFB1Ii2qgWyNEXnfZPPEIF5J0FZfEi8 nX/A== X-Gm-Message-State: AOJu0YyJVPW70Jsoqw0Sl52XO23JsoF44FmOlIJCxUtEZ1GowuDlJNmQ cBNbxWx4W4sFaWerKGhE2bkljO2wqNSRE1tC3Bg6mbA+3lF6/iLPgbZktogLxtxujdGHdEppirH IU65RENU= X-Gm-Gg: ASbGncvCo82AMviF0N5Q4tGwBbxkG5JE8jbICKr6+whqCpRW2sIcpJIoksUJnU8KOyk dHPm7eTEHGf0+q4tFFD+Dk5Uopj6/0ygiK2wh/2g6BQnTFPoNDXConeKcgW5oC4o/ituFsu2t94 SuFEmXr2gMJtHcBTVHPO0hr3uAKoymzLdOuINkY1V/GajLf5+SaaUksTgrrbf3IivnH7I4R/duF /DOrR9lDnFxSCeoSsask/Zqzcm/luTIe850IUT4OUsjS8vQ8ZYqX/Y6WOTX4IJM2LvgKxN60dhw lBlngEp3KXnP1DzETMPPE69yoHPx4wQORFRtXk6JLpvaOG9M657pbjBEWMoO1F0BpLoWj5SprEn xmU2fe/LBXnFDJY0CzvqJHIM= X-Google-Smtp-Source: AGHT+IGXdGZhG3OTg8NTlcYpINTkohVkCXzUvv7flMMP10DUMYgD0oxVD6sgMtpjuRCoreKrsO9Iww== X-Received: by 2002:a05:6000:2c0f:b0:3a4:e6e7:3acd with SMTP id ffacd0b85a97d-3a4fe16a68cmr8965081f8f.18.1748938184722; Tue, 03 Jun 2025 01:09:44 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com Subject: [PATCH v2 03/27] tcg/optimize: Introduce fold_masks_zosa Date: Tue, 3 Jun 2025 09:08:44 +0100 Message-ID: <20250603080908.559594-4-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250603080908.559594-1-richard.henderson@linaro.org> References: <20250603080908.559594-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::430; envelope-from=richard.henderson@linaro.org; helo=mail-wr1-x430.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1748938220740116600 Content-Type: text/plain; charset="utf-8" Add a new function with an affected mask. This will allow folding to a constant to happen before folding to a copy, without having to mind the ordering in all users. Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- tcg/optimize.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index ce3cb4d7bc..49ef039932 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -1039,8 +1039,8 @@ static bool fold_const2_commutative(OptContext *ctx, = TCGOp *op) * If z_mask allows, fold the output to constant zero. * The passed s_mask may be augmented by z_mask. */ -static bool fold_masks_zos(OptContext *ctx, TCGOp *op, uint64_t z_mask, - uint64_t o_mask, int64_t s_mask) +static bool fold_masks_zosa(OptContext *ctx, TCGOp *op, uint64_t z_mask, + uint64_t o_mask, int64_t s_mask, uint64_t a_ma= sk) { const TCGOpDef *def =3D &tcg_op_defs[op->opc]; TCGTemp *ts; @@ -1061,6 +1061,7 @@ static bool fold_masks_zos(OptContext *ctx, TCGOp *op= , uint64_t z_mask, z_mask =3D (int32_t)z_mask; o_mask =3D (int32_t)o_mask; s_mask |=3D INT32_MIN; + a_mask =3D (uint32_t)a_mask; } =20 /* Bits that are known 1 and bits that are known 0 must not overlap. */ @@ -1071,6 +1072,11 @@ static bool fold_masks_zos(OptContext *ctx, TCGOp *o= p, uint64_t z_mask, return tcg_opt_gen_movi(ctx, op, op->args[0], o_mask); } =20 + /* If no bits are affected, the operation devolves to a copy. */ + if (a_mask =3D=3D 0) { + return tcg_opt_gen_mov(ctx, op, op->args[0], op->args[1]); + } + ts =3D arg_temp(op->args[0]); reset_ts(ctx, ts); =20 @@ -1090,17 +1096,17 @@ static bool fold_masks_zos(OptContext *ctx, TCGOp *= op, uint64_t z_mask, static bool fold_masks_zs(OptContext *ctx, TCGOp *op, uint64_t z_mask, uint64_t s_mask) { - return fold_masks_zos(ctx, op, z_mask, 0, s_mask); + return fold_masks_zosa(ctx, op, z_mask, 0, s_mask, -1); } =20 static bool fold_masks_z(OptContext *ctx, TCGOp *op, uint64_t z_mask) { - return fold_masks_zos(ctx, op, z_mask, 0, 0); + return fold_masks_zosa(ctx, op, z_mask, 0, 0, -1); } =20 static bool fold_masks_s(OptContext *ctx, TCGOp *op, uint64_t s_mask) { - return fold_masks_zos(ctx, op, -1, 0, s_mask); + return fold_masks_zosa(ctx, op, -1, 0, s_mask, -1); } =20 /* --=20 2.43.0 From nobody Sat Nov 15 15:41:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1748938219; cv=none; d=zohomail.com; s=zohoarc; b=KaxYMRf0iikOvk5CIh5wvh8L4qM0cKwhFMhfOciZZ07wz8Rb8ONVyJwOYh/xkAdflUX66LJX5nigRhTMPVCcVBYRux1F156kK92HhJIw9u31FyoWCQyE/PLVcyNyoohgoMsiVC+qBVQut5/4SlRSqBQl35WjOiAo+G2+IvjYLvk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1748938219; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ERsN3wV+fcXb2xmdBpByK0N2LC/9kgwvDEhvl3/V1A0=; b=mvHf345QXpANhPzHbbUQ4nTIvLdRWPw6IolN0/GfXR2/7gDAGsLkm3j1lL8wUSr7yiIJekxKUjvVS85UqWaK+ulvjsg6OTrOtU3YWvniXyxJuBPZJhmpP71RtT7f0kKJLw0M/XbmzvZXX3ylJmbaGlGTR/xJf+cJxkHD+ruN2aA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1748938219247935.6742887703994; Tue, 3 Jun 2025 01:10:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uMMiZ-0000r7-EA; Tue, 03 Jun 2025 04:09:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uMMiX-0000qf-Lg for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:09:53 -0400 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uMMiW-0005Tw-3p for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:09:53 -0400 Received: by mail-wr1-x434.google.com with SMTP id ffacd0b85a97d-3a36e090102so3022160f8f.2 for ; Tue, 03 Jun 2025 01:09:51 -0700 (PDT) Received: from stoup.lan (host-80-41-64-133.as13285.net. [80.41.64.133]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4f009ff7asm17668852f8f.90.2025.06.03.01.09.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 01:09:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748938190; x=1749542990; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ERsN3wV+fcXb2xmdBpByK0N2LC/9kgwvDEhvl3/V1A0=; b=GXn1HlOO8y5GQOwY9wRq5g5bPy6dMZbagP3YoL3WT6iueJ0Ph4v34LUPX6FXl/6y7e pnJBcJxYtTTUxIk8Mrl/1AimfPAXD9JADfeByR3VLGTel2/Q39oKkLEfaMa9Wk0lJQ/8 FGY0StIYngdq1xZC3Rs1xoo5gqkf0BGpgwlHObmsoR/+vzJeOnhU7jbVIhMoT2CP+Z52 ZlFsqGwLYe/hpOgcyIIJ3+l7JqRlVcTLr/m6FP/C59sKL2+dmGyl9Phlgwj8RNzJZFaX VIh3szbzqZEDljsg/Xaka6OQtswV03JllJWEdR+zO9oMEXtgYV+vObO65W1GVaq9jcAm gKew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748938190; x=1749542990; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ERsN3wV+fcXb2xmdBpByK0N2LC/9kgwvDEhvl3/V1A0=; b=E5O1wjVsl8BRISvBZi8GbcmQSfezZZQClLDokAXAnYLpYvWdyDiEAibr2vHx2KO9t3 kvIRfaW7jaeABZBxLQYE5RZDYz2GbrWc6FlTSuYZwuG34xoYOnjxNJtjOlFv9cwCSKkI JqC38lvFfDmU9ujZJ0gt8puZGIaakl4D0GD42bpcGB1XFdehSftL6yWdGIQy7pgRZ0XZ fvDdXLkw0Y6dePJH5IWfNCO4Fe8mHBDjAz9yzz7oKAfTA1dl9hAwZIr56KeInQm9pVjI lmO7NVOssiGYum1zOm/8/Wz0ZpUFAOPYozwEqW6QCygOC5iNN4UwEZQwRflTckXjFAZ6 Cthw== X-Gm-Message-State: AOJu0YxNTM1E3d+CsijzXL4lU5kqxkRIeN3ZOHpEGhSDeZwZJRyVblZi ygQ5iI6NP8tZ0EhZh5rohxFmOafZNpgAef0oJ8Jgma6OBMbNqzxQ6amFQbcrQbqv/ZcQ+/EVjZB yLEqgi0k= X-Gm-Gg: ASbGnctJfvyR+UCmdepNA2djA2QuJi4BEWxSx54C+Xcp5CyUAbJ5YBCS0dilqWn7R3r fu6T0wjuEAKeus/p03s2aKWiznO+VSBnX4TfrPJBSMxu+JA6arUuD/TB1lzkCAhZa4tWNqLKvta u1j3z1diuSrKZvo6HLx1r2CDnAKDSUxUz/p6/iqOJ/FXL2yGbbSUw61+hhpqRSu6D2JRTsvcgm5 ZnmUGcWh/kLk2H9SS5FdFvqX1/sKwtPgDv+2n+PjisPhJ+q9yZHRBK559FNhK0Y7pSf2fyUBmmd cO10bVofXyqAZ2D4zHYtaxfmKRZZpMJXG983Hfsh9eKR/DAcY8B7KfzLa3whYuVNqEibrGzduE/ bh/JV1YgPJ6NB X-Google-Smtp-Source: AGHT+IFpIF9yxFdE6ckBItrApMy8/2hbNV3svvDMW8i7EEL+vk237VHLDPB+08JeW/HJKjmIv09s9Q== X-Received: by 2002:a5d:5889:0:b0:3a4:d53d:be22 with SMTP id ffacd0b85a97d-3a4f7a7dd8cmr12562304f8f.58.1748938190455; Tue, 03 Jun 2025 01:09:50 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com Subject: [PATCH v2 04/27] tcg/optimize: Build and use o_bits in fold_and Date: Tue, 3 Jun 2025 09:08:45 +0100 Message-ID: <20250603080908.559594-5-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250603080908.559594-1-richard.henderson@linaro.org> References: <20250603080908.559594-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::434; envelope-from=richard.henderson@linaro.org; helo=mail-wr1-x434.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1748938220704116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- tcg/optimize.c | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index 49ef039932..d9ccbb36e2 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -1422,7 +1422,7 @@ static bool fold_addco(OptContext *ctx, TCGOp *op) =20 static bool fold_and(OptContext *ctx, TCGOp *op) { - uint64_t z1, z2, z_mask, s_mask; + uint64_t z_mask, o_mask, s_mask, a_mask; TempOptInfo *t1, *t2; =20 if (fold_const2_commutative(ctx, op) || @@ -1434,18 +1434,9 @@ static bool fold_and(OptContext *ctx, TCGOp *op) =20 t1 =3D arg_info(op->args[1]); t2 =3D arg_info(op->args[2]); - z1 =3D t1->z_mask; - z2 =3D t2->z_mask; =20 - /* - * Known-zeros does not imply known-ones. Therefore unless - * arg2 is constant, we can't infer affected bits from it. - */ - if (ti_is_const(t2) && fold_affected_mask(ctx, op, z1 & ~z2)) { - return true; - } - - z_mask =3D z1 & z2; + z_mask =3D t1->z_mask & t2->z_mask; + o_mask =3D t1->o_mask & t2->o_mask; =20 /* * Sign repetitions are perforce all identical, whether they are 1 or = 0. @@ -1453,7 +1444,10 @@ static bool fold_and(OptContext *ctx, TCGOp *op) */ s_mask =3D t1->s_mask & t2->s_mask; =20 - return fold_masks_zs(ctx, op, z_mask, s_mask); + /* Affected bits are those not known zero, masked by those known one. = */ + a_mask =3D t1->z_mask & ~t2->o_mask; + + return fold_masks_zosa(ctx, op, z_mask, o_mask, s_mask, a_mask); } =20 static bool fold_andc(OptContext *ctx, TCGOp *op) --=20 2.43.0 From nobody Sat Nov 15 15:41:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1748938266; cv=none; d=zohomail.com; s=zohoarc; b=XJUjuwibM99Mz+Q9kVDZtOYf9KZwyOJGLDx6aXPsjfKUrKs+tuT5m9KUIME4KNxdpQOevWQ3rjh9CDIAmCXgLwwzkqB9cUERTXd1Iy1t+XJ6R8lKduwuflCrajNnorWv/o85CpAS8VJLsVYRGAJbCJBPCj+i6+VmuzwnaDxA8MY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1748938266; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=kvC+gvYwUpDvO0mMy+5UZVX/B+N/FUSqeH9gL/AbVPY=; b=CH7W9pqSLyeu3VIBl46fbA3Y9vW9FL2MRkwbFrYUfG5CU5NeujCB7nZ5XUXHW1cQyOe1jOrea4qEbX6QpWVqmVd7q3r6CHftLnTDTBCffAHZRNIQsJCQJ4hbK1AhaKNkp4aLMkUKeLLgyW32qhr11z472BQvFD3EATJdIz9rOCw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1748938266182120.91006997246404; Tue, 3 Jun 2025 01:11:06 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uMMif-0000sh-6b; Tue, 03 Jun 2025 04:10:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uMMid-0000s7-EQ for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:09:59 -0400 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uMMib-0005Ud-O5 for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:09:59 -0400 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-3a363d15c64so3650729f8f.3 for ; Tue, 03 Jun 2025 01:09:56 -0700 (PDT) Received: from stoup.lan (host-80-41-64-133.as13285.net. [80.41.64.133]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4f009ff7asm17668852f8f.90.2025.06.03.01.09.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 01:09:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748938195; x=1749542995; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=kvC+gvYwUpDvO0mMy+5UZVX/B+N/FUSqeH9gL/AbVPY=; b=uQxJVsw+EWEZwYTRyCO+Cwgq3giefRXcEedYRd8gpONRNrX98sV4B0gXbNofFCQ2l5 72bjJrjyMm2QqIUTePLJ0v2ISi6NtV8YzteFTcXS1j+zCjtJxomhfqjUBkEP95pgzTpV AnnmvYnp+30DZZBLJ8GhDrmzEP7L/uHxbvXKQi01jTKoXPI4p71OSmGgenG/TtMe1/sH iE8voDQzDdzcX7S+87z3ppG5z6+kcJ2VNznvhMssBRycKIZpPIdgnlFDYZz8meLjNsLU c/dFEAVT/h1i8Xn/HRHPoo3VnkP218BsECMM7G6zsYqf7wkmp09vY4Q8ND/LuTiX64cv GvTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748938195; x=1749542995; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kvC+gvYwUpDvO0mMy+5UZVX/B+N/FUSqeH9gL/AbVPY=; b=WHv0cSFOQJzT+ciprWL79FTOnug8z5ZfGX3GHYNpeyiSvuaFqq/5Q2J6OYjqptlv0Q 7F2DCqjVtfRyHHFqTuBhnkArG1ui3rsRdGMrOg0fO9Zcf9NmMDaSQOLE/a/wuATgzIyg WUAZHIknCvwijdNRIej0BNKIujPgvLpb2uL+m+ZbW2onn4Tb4p8UepwMjYBz3CO3gX5F zX/FyOL8vEweQ+rJXfrw16vv6624CJ4IaRPt5NluoomZWdhIj8L1TADLspZcud6parCw V6ueI5SisjA0aWj8td/q5XjWUvDp6aA+ubW+bC/BMWyy9MUX+3ZaW3eR9CSx/V+WySz7 EhhQ== X-Gm-Message-State: AOJu0YzUbKriDqeTI40s5wnEbm6UrNLHbeWz3YjXz9DFov/XvZ6dB7y6 biUgJ4QrF/bXFrDbOXnlR0Mz+Umznjp1E9xxnMx8bUFkAwbRU7ABTdZnsW9FK19aIAdSbgEK87m +m7pCnSQ= X-Gm-Gg: ASbGncsECDErZx5bXDj3QmU6o9sHuk0pGNYv1cQSm/WmTBXKhB0NmtsvX7vXPv9v0gk XZhoALM4Sb8ydPeLdj6wH6GsqfV0YWCHIjFv6zi2PJyK6tnPPdBCxbHQ+4Jwh4oYPavdAVWlhzR LqLV+20vTsQupMD3ENdojrViGXpeVFFGxrUvJ1B4I2gNfbfJ24ICAvoxMelNsZxxD4UZFTMMff6 R5q+mIun65TGgsGAHjZgorbzxsQPZvjEhvXCdKAfjuE52OB19FWmyIvKWSSL/5EkHqoIrI/9oAF 5v7j9xS+aXmS8Mvj9pnifeSSYi+YvWuXSMliuFwqJAFJQ+WU/YN+VZ06qB7s4/cb0Yna9WxlidV IgPrz6JZaZ2y3 X-Google-Smtp-Source: AGHT+IEuFGkV9FJuaSfp/ky+Tw3fhfqh8vUViI65X2sVCftac9vev9q8OP9hXjY+tHA7LFvVUW71Mg== X-Received: by 2002:a05:6000:2303:b0:3a4:dcb0:a5f with SMTP id ffacd0b85a97d-3a4f7a1c78amr12072098f8f.16.1748938194899; Tue, 03 Jun 2025 01:09:54 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com Subject: [PATCH v2 05/27] tcg/optimize: Build and use o_bits in fold_andc Date: Tue, 3 Jun 2025 09:08:46 +0100 Message-ID: <20250603080908.559594-6-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250603080908.559594-1-richard.henderson@linaro.org> References: <20250603080908.559594-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=richard.henderson@linaro.org; helo=mail-wr1-x42c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1748938267305116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- tcg/optimize.c | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index d9ccbb36e2..123734b167 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -1452,7 +1452,7 @@ static bool fold_and(OptContext *ctx, TCGOp *op) =20 static bool fold_andc(OptContext *ctx, TCGOp *op) { - uint64_t z_mask, s_mask; + uint64_t z_mask, o_mask, s_mask, a_mask; TempOptInfo *t1, *t2; =20 if (fold_const2(ctx, op) || @@ -1464,7 +1464,6 @@ static bool fold_andc(OptContext *ctx, TCGOp *op) =20 t1 =3D arg_info(op->args[1]); t2 =3D arg_info(op->args[2]); - z_mask =3D t1->z_mask; =20 if (ti_is_const(t2)) { /* Fold andc r,x,i to and r,x,~i. */ @@ -1485,20 +1484,14 @@ static bool fold_andc(OptContext *ctx, TCGOp *op) return fold_and(ctx, op); } =20 - /* - * Known-zeros does not imply known-ones. Therefore unless - * arg2 is constant, we can't infer anything from it. - */ - if (ti_is_const(t2)) { - uint64_t v2 =3D ti_const_val(t2); - if (fold_affected_mask(ctx, op, z_mask & v2)) { - return true; - } - z_mask &=3D ~v2; - } - + z_mask =3D t1->z_mask & ~t2->o_mask; + o_mask =3D t1->o_mask & ~t2->z_mask; s_mask =3D t1->s_mask & t2->s_mask; - return fold_masks_zs(ctx, op, z_mask, s_mask); + + /* Affected bits are those not known zero, masked by those known zero.= */ + a_mask =3D t1->z_mask & t2->z_mask; + + return fold_masks_zosa(ctx, op, z_mask, o_mask, s_mask, a_mask); } =20 static bool fold_bitsel_vec(OptContext *ctx, TCGOp *op) --=20 2.43.0 From nobody Sat Nov 15 15:41:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1748938272; cv=none; d=zohomail.com; s=zohoarc; b=PZCFETfe/sATT71FG0vnOFTHbS9A9wktAeSeyHkUObwYtCvJreXV9oAUtlQaRjhGz/QGRmab5m/Ag+CnqKXKjXYt/hBofoi04tyDnlyy295Q0LKGR3rgFFK5O+iEvBpLFxaPqKSV0tK87zTVgUNmQI239lot2cvmMKwOYVX5mqQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1748938272; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=EduPdK0hs3KdPLN5zRRNqJ+RcugXH4jp/mLgIRGtCBk=; b=BwX+M0D2sybDT8JvJiw1SMNIjwM/oj+mWS5PMjfid0mQJo7grpX1n9AfOCrcxOZeF+N7UVoRR2Rv16AvlqJ5omdSTdLLUwn0OxI9nT8wo1q7NVgHx0TsQA+g4ZXr0mbNNF16veUXafv8aOwpTgd72zvLmOYlA7nuWkTwKzK/02I= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1748938272066883.8956509185293; Tue, 3 Jun 2025 01:11:12 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uMMim-0000yn-1c; Tue, 03 Jun 2025 04:10:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uMMik-0000y5-BQ for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:10:06 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uMMih-0005VJ-Gj for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:10:06 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-450dd065828so24906785e9.2 for ; Tue, 03 Jun 2025 01:10:03 -0700 (PDT) Received: from stoup.lan (host-80-41-64-133.as13285.net. [80.41.64.133]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4f009ff7asm17668852f8f.90.2025.06.03.01.09.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 01:10:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748938201; x=1749543001; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=EduPdK0hs3KdPLN5zRRNqJ+RcugXH4jp/mLgIRGtCBk=; b=YQDduJ3FL2O1SvhlfuMwNt7L/R32/BgD6G9ns5+5Denx5G6cmrnngZT3RB7RPcN+XH jUc9Est95P9Tbqz8Q9mRTIejoPEAihYn49otrYNNQ6zVBpCAYq8z0+/q40trzndMAKd8 erqoFlDGhl0zvZqH/m0WW+4+zf5paUxAEMW3Hc1jP8xs/eh3QyeHbZahtEjiBPg4E0fg Cntd18Glhqh8z9hGu6feDsSOmydkhPmbOUGpFkLItW50Fi3pFVDW3gIAhQibTzmdhiJR V60Ss5KEeirdYHgGQ6MNphCrSPCKpUeC0PVgj/e3lT4k/A19T2Nj0cKvZvIKzyld5KUG okXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748938201; x=1749543001; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=EduPdK0hs3KdPLN5zRRNqJ+RcugXH4jp/mLgIRGtCBk=; b=nQcrXJkFlzsVBo9e4HHRciaaF+BR82HrAluxxjzu60ufHlyUQj6Fk0wq0+zojRoFqX UytBAfOFNL5nJScF4nj32Yd5uZoFScs8M4wAf3YaKbfK6Qqki4ZcSVAEOoTqZIhB3Fb0 tK+BBHk5P+AGk4oCtUxYeUt5lQb5lFgxOUEsjrZphSl5f/JSTYKNdf9UT0LCD+JO6mxF KF6k+wWBdzYAf4EF0aJE1QvFamMT2ydIFYUa/wQ8nrqRihAGiDaCvi8Bf+Oh8AKN1WnY hL9pfUnW/8sd9QDjH2e/ybywDQrJkYPjjrYuUkKGhFBXGbWxPPgkA4Lzh5BkzIJ2BUPx 3faQ== X-Gm-Message-State: AOJu0YwffBFnWhHkAg6vaa9pJTdwbBbh5lhbhe1wKRhcsP5/yQnXuGZT nz/r6Q1i5D9OweohbIn4HcK5KtonvRcBCFcAaJZLyDrCWvBulSKx3nCkjNH99gfDABIZD5GtM6/ JYXynQnw= X-Gm-Gg: ASbGncv5PZDtTvuUCstlwwAR24MhqyNOpqL+y5IHwOIJn7XMWsKQUfdWifdpMQ390Pr JQLtmLxYgq03Ww0/w4FHl1hX5lIT+ptJNo8f0AbdvbZ/sbmK951V//R6R+nHMkvVhXR4jUB2NBt ZzhxzcT/ZLnMZ4Av3LENPf+7atG2E5VuYNiwUWFh1FRplepYsBlB7HQbOqr1Auv0HybAuWP+ijF IUx0lf1V1SeEleDz5TL6ftEE5tMQmBliE8a3mE8Zss5C+ia4Nyba2UGtB9jPllBBslaykqP9QxB /y+od7zeSvltrpVKX0FNmOpqArnhaVy4LOU6YCqZAHEy4oswsgJJZZGlZD7CXBAaasi8zZFa9BU aRHt5gn+qKCLp X-Google-Smtp-Source: AGHT+IErwip+41mrFPPjsBM+FQ6xzfhDo70Db7vAonu4lMT43MxRHRcUW/Lucpq6qN/QxJPIxLhkSg== X-Received: by 2002:a05:600c:468e:b0:450:d00d:588b with SMTP id 5b1f17b1804b1-450d8819daamr157569765e9.9.1748938201604; Tue, 03 Jun 2025 01:10:01 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com Subject: [PATCH v2 06/27] tcg/optimize: Build and use z_bits and o_bits in fold_eqv Date: Tue, 3 Jun 2025 09:08:47 +0100 Message-ID: <20250603080908.559594-7-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250603080908.559594-1-richard.henderson@linaro.org> References: <20250603080908.559594-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=richard.henderson@linaro.org; helo=mail-wm1-x32a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1748938273607116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- tcg/optimize.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index 123734b167..6d35a2e58b 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -1093,6 +1093,12 @@ static bool fold_masks_zosa(OptContext *ctx, TCGOp *= op, uint64_t z_mask, return true; } =20 +static bool fold_masks_zos(OptContext *ctx, TCGOp *op, + uint64_t z_mask, uint64_t o_mask, uint64_t s_ma= sk) +{ + return fold_masks_zosa(ctx, op, z_mask, o_mask, s_mask, -1); +} + static bool fold_masks_zs(OptContext *ctx, TCGOp *op, uint64_t z_mask, uint64_t s_mask) { @@ -1916,7 +1922,7 @@ static bool fold_dup2(OptContext *ctx, TCGOp *op) =20 static bool fold_eqv(OptContext *ctx, TCGOp *op) { - uint64_t s_mask; + uint64_t z_mask, o_mask, s_mask; TempOptInfo *t1, *t2; =20 if (fold_const2_commutative(ctx, op) || @@ -1946,8 +1952,12 @@ static bool fold_eqv(OptContext *ctx, TCGOp *op) } =20 t1 =3D arg_info(op->args[1]); + + z_mask =3D (t1->z_mask | ~t2->o_mask) & (t2->z_mask | ~t1->o_mask); + o_mask =3D ~(t1->z_mask | t2->z_mask) | (t1->o_mask & t2->o_mask); s_mask =3D t1->s_mask & t2->s_mask; - return fold_masks_s(ctx, op, s_mask); + + return fold_masks_zos(ctx, op, z_mask, o_mask, s_mask); } =20 static bool fold_extract(OptContext *ctx, TCGOp *op) --=20 2.43.0 From nobody Sat Nov 15 15:41:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1748938272; cv=none; d=zohomail.com; s=zohoarc; b=fn/Z9MvYzb3JGmK4WxhVKPYvUHHF40jPMKOophU7CrMGuMceCGc+SrTar3bAoHc7U4uPdG3phOdHBsdkNxUsGa7c2Ya1uqjSIrRrWOgZtp9A0XbT3ZwIgHNQ+clkF69R9LkeSxQkbHXEojSnJZpZoV80oosymlpjutkm2WXVD+A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1748938272; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Sb4IKKb0kLmPSCYm8QqmAMxB0ZWKcO3Z/T7FCPZckVg=; b=fzCheflL7FexSxF5miBwppz4RyW58wv8F1jd/AeEhDxEu+eNdYEb8XsW+wHj053C+VtnPmQFV0Fb84mw0ChnAmSpvZaZX1N3IbCU2h+0aCOZXICPYM0pyivrHAQFZuAoCO+Nhpa6neP9U6cj3yOTYkKvskxAy7VtbkHIAMVk1VY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 17489382728860.5967761634148019; Tue, 3 Jun 2025 01:11:12 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uMMiu-00012u-T9; Tue, 03 Jun 2025 04:10:17 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uMMiq-00010Y-Oq for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:10:12 -0400 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uMMin-0005i7-VD for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:10:12 -0400 Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-3a4fd1ba177so2027286f8f.0 for ; Tue, 03 Jun 2025 01:10:08 -0700 (PDT) Received: from stoup.lan (host-80-41-64-133.as13285.net. [80.41.64.133]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4f009ff7asm17668852f8f.90.2025.06.03.01.10.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 01:10:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748938207; x=1749543007; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Sb4IKKb0kLmPSCYm8QqmAMxB0ZWKcO3Z/T7FCPZckVg=; b=gejlii6badDbS0pjBQA/Y+c7PCDlk0vNn0C5VIbHT2qARt26osQUjB119vn7kKV3El VW9usvhMP49XsnUs5RzKZa+mBBJW3RBFJABZqwNke3M3kwKasaq8mEtUORWpMm01c24r /Hl4Imb8IdKmiACsDoGfNhDbaj+g0TtZCrU9P8Nasq0G+s+HMqRbkzNbBi1M714Y+nVr ZCMjazQlucdvnBXjwe8k1YA3Ley6KGOVTNnWVAFOphfYDKPggCKEzCGpeXhjn8e+m4S8 AuIqdWL+xVrj5UaKkHmksx09UBpXu8eXemwGy5qL0DPZSVqmEl4XWr1RuZWppOkcxnxx vTbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748938207; x=1749543007; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Sb4IKKb0kLmPSCYm8QqmAMxB0ZWKcO3Z/T7FCPZckVg=; b=MqnWcr/+kSFxLbGO/LVWpP8X/R4qk+VNi6iSUVQAFgPWwDbYu+ydrm22E3JuEvuFRg MEKzBLFZuKnVPx2AoTm1BXckzeUF+tfxUl7IhsUsfseZMBJG8w8jpD721lvqhFi2JQcG NjLoyQOd3rYmHqldPQG72ltXI6paEs4fe6Z8MSM+dPRQ1VF669TArafpt9dZW7JvL/EB udhlZUMh9bWzLV2XL4cEvuaaO5naeDukipiTQ82aaJYwtTpD0A5XSYFy95PjKmy3jXLU Di8HCS7aT5iArzbevZmMX/RusHDsaq8HXmQcPJvnLaosT0LwZATXBRqtJ3BR+clMRm3f mTyA== X-Gm-Message-State: AOJu0YwFAwoviqJrGVhAl/ffaFLuBhZ5HfWgClsOr1cEn9ZveYp+e1LO uI346aGnNCtHWUDkRzmX/VCbBtCgPyzlVHSBuKhaJdy7noxan+vsNLAcZMJFLHv8FN37SmBipkO OUomEb3g= X-Gm-Gg: ASbGncs7Exg8evAzMAHt+/GvmZJz8jQulPMuDclFfLrLy7ZNP1GsU37u2Pgta7ZRiZq WiqoNxbdUcaY9mZMhFKMUdlW9dBt6PxVXncghwgPOeugKEb6a4nYk3BQd5OBO80QMYziJzX8AkH gbxLYAAUSBM+6TG2OGSeTT06JpWmik7ZNlZ0Qe0yOW4LkxpHTRfVTNRakALVRN1vn1yPF1Gc+CR IHNjl4SLPolvPM9V/iGjV7mVIX1nhrHaTnAc53wErmrvBtlt08A36yQX8QAqgIa1sEZURfMnClG zfAHPDBIOaV0/v30ypROn+L8Ig8wSp+k2J53mTdn1XRpyt98R1I68BFpC8djkO7zbzLQQ4IMExM U9si7UeSLMUXTrQCBEBMyY94= X-Google-Smtp-Source: AGHT+IHDVAs0FQNUCv3LwjhKoLj9JipRhvny8pcAVtU5T3K1pvIEW9K0CIjm4PDCsinkgPdBWFOYMQ== X-Received: by 2002:a5d:64c3:0:b0:3a4:d79a:3599 with SMTP id ffacd0b85a97d-3a5144c2ec7mr1003998f8f.11.1748938207031; Tue, 03 Jun 2025 01:10:07 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com Subject: [PATCH v2 07/27] tcg/optimize: Build and use z_bits and o_bits in fold_nand Date: Tue, 3 Jun 2025 09:08:48 +0100 Message-ID: <20250603080908.559594-8-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250603080908.559594-1-richard.henderson@linaro.org> References: <20250603080908.559594-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42d; envelope-from=richard.henderson@linaro.org; helo=mail-wr1-x42d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1748938273587116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- tcg/optimize.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index 6d35a2e58b..758f7b142e 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -2197,16 +2197,22 @@ static bool fold_multiply2(OptContext *ctx, TCGOp *= op) =20 static bool fold_nand(OptContext *ctx, TCGOp *op) { - uint64_t s_mask; + uint64_t z_mask, o_mask, s_mask; + TempOptInfo *t1, *t2; =20 if (fold_const2_commutative(ctx, op) || fold_xi_to_not(ctx, op, -1)) { return true; } =20 - s_mask =3D arg_info(op->args[1])->s_mask - & arg_info(op->args[2])->s_mask; - return fold_masks_s(ctx, op, s_mask); + t1 =3D arg_info(op->args[1]); + t2 =3D arg_info(op->args[2]); + + z_mask =3D ~(t1->o_mask & t2->o_mask); + o_mask =3D ~(t1->z_mask & t2->z_mask); + s_mask =3D t1->s_mask & t2->s_mask; + + return fold_masks_zos(ctx, op, z_mask, o_mask, s_mask); } =20 static bool fold_neg_no_const(OptContext *ctx, TCGOp *op) --=20 2.43.0 From nobody Sat Nov 15 15:41:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1748938235; cv=none; d=zohomail.com; s=zohoarc; b=bxMagbumf6FXGx94NVcny5hFo06VfudBrdnLsk1r1Qj01eMcpN4VUwfR9R5U7msH+gdJNkfIbM5qqsra5cGZLHaMa7mzPEmtsnr50WjctWJaHwcNa6mAmEqQPkzDJ3U6nIYytk6vXJkC/Jt7ZXEudnytF6yyOsPtyqaGHy3R77o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1748938235; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=K1bQaAugGeMJSCKz4R3NKt0GivJQ1nRUOrHwJAgAoZY=; b=Pk3kVB+c8PGMHPYuD6jLKF8nlzb9nvS1qjdqMg/WRZyC7WopA8puGsUAt2K/aZ247aiRm9UupMfLg/jsvcfATu/6s5Jri53ohvLU6AXauNz25f4dtswI/Oldk83buxBL6MTxLA6gL5ErxwyV1vgih2Enr4UN4ZgBCyfJn8e3MBg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1748938235727514.908580594223; Tue, 3 Jun 2025 01:10:35 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uMMiw-0001BE-HW; Tue, 03 Jun 2025 04:10:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uMMiu-00014B-6l for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:10:16 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uMMis-0005is-Jd for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:10:15 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-450ce671a08so33347685e9.3 for ; Tue, 03 Jun 2025 01:10:14 -0700 (PDT) Received: from stoup.lan (host-80-41-64-133.as13285.net. [80.41.64.133]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4f009ff7asm17668852f8f.90.2025.06.03.01.10.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 01:10:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748938213; x=1749543013; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=K1bQaAugGeMJSCKz4R3NKt0GivJQ1nRUOrHwJAgAoZY=; b=NyhrpzxgrKry6GTKYR7Zv2BiXBAluqP/aovN7JJ5yz0V61RXpAfrSSrNo2IONj6tQ0 DN2joN+lx0cX7dHpK7glPiRgbNzlFd05bv914gncthnPNOTrJ/dHhs1HBB8W4GBZoby9 AXRFmHbM8offISkKnmtRcukfiyFyVKblOGQC3o2lVGH8Uimt+7koBOZBOcwb6dTDkFUo JWbhrNaYt2FIQk4sAB6xctJucEHY0c1qjKPZnkfrhSRBiP+gApFBY9Ao2VGwsCll/MZi I89cM+c3lu0SmvVgnQtdP2feftv7MSb9AAUKMnVH1MP70Ld10kjEBZ1ai4k6Q/slojFM dA4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748938213; x=1749543013; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=K1bQaAugGeMJSCKz4R3NKt0GivJQ1nRUOrHwJAgAoZY=; b=cETvwcqUsb0UpIdOznmH494RY0GDjudSIh6z6p+4O3tuPPgn8rO10YGVfDX4ExpHER QCLjbouz0eoptPRWq2r5aEPYzESQa6gRRKggvi8KcAa2Pd6s+5SrXDFCThnB/LfubwF3 Tyth5R7bNKSTo+rBF75/9xCBX21U8xTccKpdwgIdF1oC0Zf/fNiIOFUZF8xLiVUx+6Sl DjvK8PnifzA2f702135Ss02kkoJgN7vkgEPrsy+y08JJ2vjbkbozz8U5S623N1As/sOs BvnPXEUjsRWXQ33VRzpK6wKhwxZtXtMKMKZfi6N1bjEPmBCb4Tcq4ELYA3Msj4fCs8mT j2eA== X-Gm-Message-State: AOJu0YwngHWvmo5WPVwa0eJLiazo1jDSMzbKU/T6pTPPtx0xt3kM6QLC cWEYoH1CIEsYOkAN6r+VyjAf0TdlAG+v5RfKa9WYoo7OnLZioi0t0aL4ExRnLAlqjIRAgR7j6zA 05V6Ucuw= X-Gm-Gg: ASbGncstpD5vIFWG+fHKxMfqepe9tCzSGARpHcSroEfkJqH/mMjWSr3GRqZsWC+VG/a Fba4EpmW89SFU6qVI8yPfnohAUMJOxu0WcljAnikWHHWaYUzUePCw8+vbkXplstFjIcRsucCnCz 11KkchZLwCAhW0THJgdLN8qUcP5BXx6STFmaQJ3hCx1B8Gmt2Y2AcypcDzo4R72UWp0DlD3HWD5 TNVb5/+c8v8AiXCWlag2GC1QLdq17RwfJjsmSQV/Uy+SkFxT8zknEdMVlRlcX/12nss/qHP/Io0 BBrzH4xVYDxiBFc6h601cEHxeeVRw/uppICmvg5oorrNMslcPpFYMemBUuAnfMFEZSFij0vopOa W55friMKQnoW1 X-Google-Smtp-Source: AGHT+IEfiFzGSLHD01azY+JHCmIUvtpltMzuglMAnlAU0yRCQgUaYY5dn1ISvQgUx6O/aTrZDe8rjA== X-Received: by 2002:a05:6000:18ad:b0:3a4:f7db:6ff7 with SMTP id ffacd0b85a97d-3a4fe3a7c8bmr8244935f8f.52.1748938212873; Tue, 03 Jun 2025 01:10:12 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com Subject: [PATCH v2 08/27] tcg/optimize: Build and use z_bits and o_bits in fold_nor Date: Tue, 3 Jun 2025 09:08:49 +0100 Message-ID: <20250603080908.559594-9-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250603080908.559594-1-richard.henderson@linaro.org> References: <20250603080908.559594-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::329; envelope-from=richard.henderson@linaro.org; helo=mail-wm1-x329.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1748938236842116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- tcg/optimize.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index 758f7b142e..29d1f29124 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -2231,16 +2231,22 @@ static bool fold_neg(OptContext *ctx, TCGOp *op) =20 static bool fold_nor(OptContext *ctx, TCGOp *op) { - uint64_t s_mask; + uint64_t z_mask, o_mask, s_mask; + TempOptInfo *t1, *t2; =20 if (fold_const2_commutative(ctx, op) || fold_xi_to_not(ctx, op, 0)) { return true; } =20 - s_mask =3D arg_info(op->args[1])->s_mask - & arg_info(op->args[2])->s_mask; - return fold_masks_s(ctx, op, s_mask); + t1 =3D arg_info(op->args[1]); + t2 =3D arg_info(op->args[2]); + + z_mask =3D ~(t1->o_mask | t2->o_mask); + o_mask =3D ~(t1->z_mask | t2->z_mask); + s_mask =3D t1->s_mask & t2->s_mask; + + return fold_masks_zos(ctx, op, z_mask, o_mask, s_mask); } =20 static bool fold_not(OptContext *ctx, TCGOp *op) --=20 2.43.0 From nobody Sat Nov 15 15:41:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1748938247; cv=none; d=zohomail.com; s=zohoarc; b=NpIF63XJkVUhTAEXK+tnkpD/MS4ra0ERkMoP6er5bTXgfk6Wr5uxirjaqOap0D2CkKcP7d01QJppmO2BGnmKxzHPqQ2C9aQk5uCpSCSjfFV1IQIasNKjSCIuQBic/Ojo/Oha3GzeaMLj2lidgRDMsUU1uAJ01HeGYjuY/dlZwwg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1748938247; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=L0SwvWowjG300ItHhNzuHDz0e7MhZ1a2+OzLfYrOBWk=; b=MitoJqYa3l3Eh7hxM6sX0VI9/LO9bSJ7wvZO5ja6FtuQ9m+mDYv1fRkGnmiJxOvPFO7VWKPog7yXJRddCUDzrMg4hnEURn6y7sb6NDuaPO462vc6LWVuNfGLBUo/j1lX122uJ6OHR7pqxk3LxG123d8q/12/5qo6ZP8v+Ci02M8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1748938247544218.3151186411211; Tue, 3 Jun 2025 01:10:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uMMj2-0001QS-R7; Tue, 03 Jun 2025 04:10:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uMMj0-0001NC-JK for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:10:22 -0400 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uMMiy-0005jY-VQ for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:10:22 -0400 Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-3a4fea34e07so1593032f8f.1 for ; Tue, 03 Jun 2025 01:10:20 -0700 (PDT) Received: from stoup.lan (host-80-41-64-133.as13285.net. [80.41.64.133]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4f009ff7asm17668852f8f.90.2025.06.03.01.10.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 01:10:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748938219; x=1749543019; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=L0SwvWowjG300ItHhNzuHDz0e7MhZ1a2+OzLfYrOBWk=; b=jejwyEQRAzB7SXOsVwv2BAh0SVAcrOSNEhGFEKx0PZqG5VAncHtClV7UtzmOGzsyi8 PvoZaoVtmFWSVYFbLmkY7uw/0DgWqZe4sLployTfHSECktyvfWeNexwqcKi2PobLmT5S mGjbKIRYH/kc+kIthjb3wlNRQxsbtNIj/+IIUOkNB6Z+0kJ16WGokkgYeeBLgTFELI4u BSDHMui+XH+tVjnhJa5i0ArOlfHX5a9KijhX4vkg+If9Ol6AgwN6z7vew5yEtnZ8GWEz H0GSHbZ0n1XJS7OOePeQoLklqzz3dV17H/V5xFlTOtsDz310whyoxt478hXMAUQdqQhc adiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748938219; x=1749543019; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=L0SwvWowjG300ItHhNzuHDz0e7MhZ1a2+OzLfYrOBWk=; b=fkM5kgnE63BLQxhk6vEBIa3axCk1ot+Z1zjd0XSn+MRD1JuAu5bd9/+qhXbnUX2XDr Frt1cI7bKw1GOod1vrhZuTa1EJEoGQpKNlC+C2n8p5CZlTXb9JkKalaQMVX+y4XK3ImU 3D2bAkdPUlw9QF7V7GTeAYk6EfgYQBlBAxjQO1ZMbOW+6rIQHELDqDmIqx0xQKPjhSUD DvVYj5a0+cloMVOcjPBCLWwHZY57+h+O5T4aauIgOa0iumL4igf1iMirK0ZdzDz654D6 WUlM+NkJ3aGsptqmANjNJDDS5Zamt8X5AlONrdG5e6cHuW/ZsuxcWh0VXDaEFBp9bHwi q6yA== X-Gm-Message-State: AOJu0YzpEVBRPPNccWmsAtKYozxELIJ7o1A86SWv9pmei5TB1F3XJ6SW bT3x2Vkd7bBCheZl6BzTZVDeyiIAoEH+WltBO/5oYE9VofhSrzLZvXU9pBSpccMlPebcMyiuPg5 CqlMBbvc= X-Gm-Gg: ASbGncttdgcYIkODK2dXeygiRR8VN35tqD5tC7e9rLTH28bx/2MifI8siizoXDDYMO7 H2irfrXMTqYLDRSRC6/G/2slX4j9sfX4bmPyqESws1GqG8Cp+Nm1RcwDa4q7J+Ji5jtz7xJGrkg LBVBQnhIgn+R5gfAz95xmFezM/E1yVoAp7RLEkaDWqbXS4pvoXKN9Si/P3eNAhefB4cR/5JAvN4 psyX7yG7Ty7XPsRHctiFfSTD49LLV+fxpQc/5sDKilU5QNTfRUFL49pljA4mLtikZgWWnbHiLof p2oI7ovBVIr7uBUL8ZPZBw2YvxgkQ7oO4GRW6BuqJdm+sF6XHNl3YbG9Cwf8Q7qO3qOCwBPPiRI wJHoPu2DUEaLFgwmXvPw1zCs= X-Google-Smtp-Source: AGHT+IHehgoc9H1MKGs9ONGS19TIOBJxNMbxbu0GtI755J853T/Z/G2UmaiRoqAPnfi1fQi0MFEaew== X-Received: by 2002:a5d:64ed:0:b0:3a4:e672:deef with SMTP id ffacd0b85a97d-3a4f7a6cd16mr11708636f8f.36.1748938219459; Tue, 03 Jun 2025 01:10:19 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com Subject: [PATCH v2 09/27] tcg/optimize: Build and use z_bits and o_bits in fold_not Date: Tue, 3 Jun 2025 09:08:50 +0100 Message-ID: <20250603080908.559594-10-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250603080908.559594-1-richard.henderson@linaro.org> References: <20250603080908.559594-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42d; envelope-from=richard.henderson@linaro.org; helo=mail-wr1-x42d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1748938248994116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- tcg/optimize.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index 29d1f29124..d22396f6d7 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -2251,10 +2251,14 @@ static bool fold_nor(OptContext *ctx, TCGOp *op) =20 static bool fold_not(OptContext *ctx, TCGOp *op) { + TempOptInfo *t1; + if (fold_const1(ctx, op)) { return true; } - return fold_masks_s(ctx, op, arg_info(op->args[1])->s_mask); + + t1 =3D arg_info(op->args[1]); + return fold_masks_zos(ctx, op, ~t1->o_mask, ~t1->z_mask, t1->s_mask); } =20 static bool fold_or(OptContext *ctx, TCGOp *op) --=20 2.43.0 From nobody Sat Nov 15 15:41:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1748938303; cv=none; d=zohomail.com; s=zohoarc; b=SdntJsce+E9o9AbdCAFrI931D1lmpniFwyk5rU0RGKJRXkhO5YlSMtRZxUmV+ult1qdAzH8yHWFzqJzuRFxQHfV9ULqHWi4fX+TJyui9v1d15KWnALA+5X0lo7UQOjCptIuuw5QH6XUY+oUqNp8V6rSPeqc5ycYHT0VLQQDPaxs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1748938303; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=h/En86MJA4wGrPSUzTe8W/lAeFa1J49kbPISU8uT+6U=; b=KnO123wRhl2/4rdRd26YxfmTBtWF3VXlfvPVuldVZHbp9EnErGzPzL3e6bUdJ0LwSlWiwoZosBUB13mznvErontSQYyNd9DwRCJAOS5Z/SmwUcKgmacmVHBLrSJGpKMxXgOJ8V11pU4tqubTUlutNMn1cP35YxieBB4LfPQIWzc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1748938303611477.0035563710669; Tue, 3 Jun 2025 01:11:43 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uMMjn-0002uU-Gg; Tue, 03 Jun 2025 04:11:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uMMjI-0002FJ-MP for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:10:46 -0400 Received: from mail-ej1-x62a.google.com ([2a00:1450:4864:20::62a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uMMjE-0005kx-B8 for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:10:39 -0400 Received: by mail-ej1-x62a.google.com with SMTP id a640c23a62f3a-ad891bb0957so936014266b.3 for ; Tue, 03 Jun 2025 01:10:35 -0700 (PDT) Received: from stoup.lan (host-80-41-64-133.as13285.net. [80.41.64.133]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4f009ff7asm17668852f8f.90.2025.06.03.01.10.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 01:10:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748938234; x=1749543034; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=h/En86MJA4wGrPSUzTe8W/lAeFa1J49kbPISU8uT+6U=; b=O+s79kMLwAklvxfzZDNgoXAQPXA3t8W+QXRBYg1SlL+5Pva73Gg4WE+3fhgiwIKx+Z qb+03GMY4Hvt8vkHYiQEMbIWpWg1u08bQVjuNr9R9SmC1R8Sry8FOH3ptVS9fjmi98au E7Hsh45msmWP2FX7a0aoRw6w/XNqnrBjb8evgb3EKKRc35uPWnTnqKFxdav+c+PjpZf/ lOl4aJ3hZeBGJ4xsJslTf6wN3eogAInLva341Uvw4pzbd6Sxx9rrS0CF3t3/S3vhjrQ7 XTMue/Lb8trXGYXClE21JckJiX9pr9mmw8mPPkKY4eX3WVsorVTtfXqPVZDVGAV/TBsM W2mw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748938234; x=1749543034; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=h/En86MJA4wGrPSUzTe8W/lAeFa1J49kbPISU8uT+6U=; b=NPEqBBOtIBQWc4Wl5PmIUsvH+c25C7Zb8HnpStIIX3DHBMLXuZk2M4q7PEZCQwGjkf KDiDkF1BskwYjg7TzSg8wdUv/BIP7UKAZ8mdM0Af3ma4faqmCH0LPAsByHwc4+wmEhXg GnuCPyKl92HEnYltdP50AOGYd/xJ65kI8Dbnou58q7Frp4bOH+vlnvDx9/aYnu3U6maG L5rmK0HBZYcn9PfrFAbxY8uVTja5NQc11q4q77VwvEK+DvtPYn+m0EyPLIzxuYhxELD7 47LdyoQpboMLmr5mAXxYVfOpQ9wdkTqlwDBB8//dNemqzR2rbn62NrF2dreDMVJ/dP89 29Zg== X-Gm-Message-State: AOJu0YzlU3WAGi2/2NEDw32BA0Qc1hbvzi2xsnMwRMotR35qEkpOsY53 IXMPZxA4DJOx2hbE00nmxCDVIm3HKhg/Mmnn/78FUbKf6kGHyhhsJjsjWK44rpJ3eEbK1X6YsaT U6BI6Yzk= X-Gm-Gg: ASbGncvGwtf2bsvC6M7KJi2LDCVziwlkd2m7Im6xafDirzTCFUkQV6L4DMtuQ41bsFy n9sifBLCuppaPpm/YI7J+Nwm2kZZz9Za+zfgeee2sLWwp4fJh2HBUpNhBMXY4ml7J9liMdsGswB W0tG8WGZuCwiBDaj8DXPPGpeBCWaUlU4Zijq0LXbLFSJsO88LYhPQT0/4bvgqAorJmRUAF2tTbq 14ste3V8PzMM+R7CfWnG2tQARlQQ7VHVAjKTYc9+gCHkQSHcF5eF8IuJ+ghuDRzXVuIKXQivf8s s/1XgLVhQ26ahQZaB2ZuyZpzFkfoiJEzYWhuvQrOQfstxAEe38NtDR0QygR9qUBAxlHio27EjN1 ISMaVHCREm5Ee X-Google-Smtp-Source: AGHT+IEYyB5R7Js1OG3cleAqj6nbUgRrl8JH7NbDvU83YRhDG0usAzn+YjvnavjbA15iKE3n9Yc1iA== X-Received: by 2002:a05:600c:a088:b0:442:f97f:8174 with SMTP id 5b1f17b1804b1-450d6547524mr161838295e9.18.1748938223862; Tue, 03 Jun 2025 01:10:23 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com Subject: [PATCH v2 10/27] tcg/optimize: Build and use one and affected bits in fold_or Date: Tue, 3 Jun 2025 09:08:51 +0100 Message-ID: <20250603080908.559594-11-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250603080908.559594-1-richard.henderson@linaro.org> References: <20250603080908.559594-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::62a; envelope-from=richard.henderson@linaro.org; helo=mail-ej1-x62a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1748938305784116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- tcg/optimize.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index d22396f6d7..ce065d0e22 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -2263,7 +2263,7 @@ static bool fold_not(OptContext *ctx, TCGOp *op) =20 static bool fold_or(OptContext *ctx, TCGOp *op) { - uint64_t z_mask, s_mask; + uint64_t z_mask, o_mask, s_mask, a_mask; TempOptInfo *t1, *t2; =20 if (fold_const2_commutative(ctx, op) || @@ -2274,9 +2274,15 @@ static bool fold_or(OptContext *ctx, TCGOp *op) =20 t1 =3D arg_info(op->args[1]); t2 =3D arg_info(op->args[2]); + z_mask =3D t1->z_mask | t2->z_mask; + o_mask =3D t1->o_mask | t2->o_mask; s_mask =3D t1->s_mask & t2->s_mask; - return fold_masks_zs(ctx, op, z_mask, s_mask); + + /* Affected bits are those not known one, masked by those known zero. = */ + a_mask =3D ~t1->o_mask & t2->z_mask; + + return fold_masks_zosa(ctx, op, z_mask, o_mask, s_mask, a_mask); } =20 static bool fold_orc(OptContext *ctx, TCGOp *op) --=20 2.43.0 From nobody Sat Nov 15 15:41:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1748938290; cv=none; d=zohomail.com; s=zohoarc; b=YxPY4DN8srStUr/okbJkOr9v6OMK6GyKmX52/2PsgSQCu97P7qmMX/hNrIEC05OEBnWUOW0NcljYWdBwIQqsnTpuGqepudWUFR5Uc2VNCCIyT9ID/EEa1e5A5zxtx2B12MBxsk++jg6xFqsJ+LEwWZ2PcBthoy1ahHn9hpt0ZLk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1748938290; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=lIiN8Y95z2H9yF0XmnL3s2gEm3tNlVfWIaOr6l2WCKI=; b=O7mY7Y7XVUTmxSttbC8n8Fp2ALuB43steawMA3xz6Cq7R8LctDQRhpg59112QiI1edughFvRqhHHRngEAH9AVoYrS6Ki1HNXPT/jB1NAX65FLwp75lJdV+lkzF78HdRD8tYV9ZHl4SeHEDNX3xAylYkWY0B02GE5KbGjNRU7k/o= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1748938290611248.45471063445336; Tue, 3 Jun 2025 01:11:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uMMji-0002WQ-L5; Tue, 03 Jun 2025 04:11:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uMMjE-00027H-IC for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:10:42 -0400 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uMMj9-0005kV-RD for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:10:33 -0400 Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-3a507e88b0aso1865082f8f.1 for ; Tue, 03 Jun 2025 01:10:31 -0700 (PDT) Received: from stoup.lan (host-80-41-64-133.as13285.net. [80.41.64.133]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4f009ff7asm17668852f8f.90.2025.06.03.01.10.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 01:10:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748938229; x=1749543029; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=lIiN8Y95z2H9yF0XmnL3s2gEm3tNlVfWIaOr6l2WCKI=; b=yLYrJJPYzXnxAwDSd5QgJ7/9NvKVEpTj141iFgnqaVZoza7mBIkuM9Bz30d3QfwUIE sTq9E65XEqLFKbsrsr8sTYo99ItrPNLgSKiJDuTVVRwtwAgKbzaSCAgqQfti5GfIwbus 3/7tWch273sio8tN3eY0A3f9Cy9bmZwJ/XGwfnWqA8ca2Qu8c+P2rL7QsDRqsR0fcGpa w0V3I+N2cL6MsUCP9XmWO+g2BrHL0Pt+kbfd/osOND3hH/OdZXlxXZwD5sQ8trWKPgeb xHrfsUHae/KkiJ8EyfVEc0sBi3ikkSZx2UC7oK4SSauHzpFd5AjaREMk46+8m8WpydGq AiJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748938229; x=1749543029; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=lIiN8Y95z2H9yF0XmnL3s2gEm3tNlVfWIaOr6l2WCKI=; b=tA5r+AilWTjxXrmLlKxFuak4n+3SwRHrDZZH2Y4RI71s4RgDW7pCxzkC3rY9TYfFfH WqTUET3yVvMLBJW/sdOOJg9cO9chOeGeFbBJkI0bqhhnE5LR/3TUB6XDtG4EdiSM+Mzo wChn8HNB6HN2Tqw2r8fOTjCKJbfPP+NueK62rB7273j4B7tNGgClUjIYBgPkDAGSvwqU S67BANEB1TsNAbxsREHgB0C0UFagncPJRVzuxs9GhfWGVs1hT4ZQNS3NXm5auBkO7Zn6 CK+JLc2C1rSlY9uqgG8YIHcZiHPO+5SOb9Bv1ZEpUBqCIt+feXD8TSUu0+6uSGIr3TcY OJWw== X-Gm-Message-State: AOJu0YwQGCrgk0m9Sx49vvF+z9mJtkaUIVANdmuxOdMMEkAJtgfYcU2E SlMEu7gSOwSuTDUBcZVUIPdvjsQEmGn+md/G8WW+EIq42Pd7K4xW6FfOMSEGQ9fnPRPQbXjw6hF rFQYzbFE= X-Gm-Gg: ASbGncvtfFZanHoH1CgljZxQ1pgRwQV2ZtzSacqJAJpMd34jr+hmV98bVjT8Co3CYcG jqjhqK3iMFJ6j1wJMjTcpwXFvfTtc8KT2c61lY0FFdM/L+bH1iR/9dArUoE+A7yY9EgJvfUJhqr n59afpzceG3mPBn8hMtv9b0GqWvDPwK4G0x5HwCDnNEmMTdBnQ43O9x/HWHtMZHrqMcngUcqj/K h6/KTSUS7oo3Vg6A0NKIMaI8RWMb6qksJjTAmQLoPwelOOWg6vQw+DSzanwGTfXqAllUejJhcNz l7NciIo4cE6RcRn/t/32fY1+X573c+CB5NnHWyRvGGJSPW6SrqTcpin0gQMtgjVMmKsBIJE/gtt Ffdn+Vr7YWqc5 X-Google-Smtp-Source: AGHT+IGpPD4G8zuq/W1++uKiqnE4ZiskG2lZTac2ZmcV6O+QE/Dz32Ft4fluzWGl4egh7F7VjO74+Q== X-Received: by 2002:a5d:64e6:0:b0:3a4:e68e:d33c with SMTP id ffacd0b85a97d-3a4f89daad8mr12751583f8f.47.1748938229178; Tue, 03 Jun 2025 01:10:29 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com Subject: [PATCH v2 11/27] tcg/optimize: Build and use zero, one and affected bits in fold_orc Date: Tue, 3 Jun 2025 09:08:52 +0100 Message-ID: <20250603080908.559594-12-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250603080908.559594-1-richard.henderson@linaro.org> References: <20250603080908.559594-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::431; envelope-from=richard.henderson@linaro.org; helo=mail-wr1-x431.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1748938291704116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- tcg/optimize.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index ce065d0e22..795f1c900e 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -2287,7 +2287,7 @@ static bool fold_or(OptContext *ctx, TCGOp *op) =20 static bool fold_orc(OptContext *ctx, TCGOp *op) { - uint64_t s_mask; + uint64_t z_mask, o_mask, s_mask, a_mask; TempOptInfo *t1, *t2; =20 if (fold_const2(ctx, op) || @@ -2318,8 +2318,15 @@ static bool fold_orc(OptContext *ctx, TCGOp *op) } =20 t1 =3D arg_info(op->args[1]); + + z_mask =3D t1->z_mask | ~t2->o_mask; + o_mask =3D t1->o_mask | ~t2->z_mask; s_mask =3D t1->s_mask & t2->s_mask; - return fold_masks_s(ctx, op, s_mask); + + /* Affected bits are those not known one, masked by those known one. */ + a_mask =3D ~t1->o_mask & t2->o_mask; + + return fold_masks_zosa(ctx, op, z_mask, o_mask, s_mask, a_mask); } =20 static bool fold_qemu_ld_1reg(OptContext *ctx, TCGOp *op) --=20 2.43.0 From nobody Sat Nov 15 15:41:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1748938312; cv=none; d=zohomail.com; s=zohoarc; b=YEhT+mFaRivSj5nHCb8r5duV8PBtph4vz4cackh6T9y+cOwK9qANUVWHumYyTjZyJuBh6meWLoEeICCc2oenoLujDn6CLXafUqXPheKQaLbvhjJGpZhFTBvJE9P4K/P8gV/6wPhCCImsS7qZltm0ocFEmrTlTd+45vRLPTDCbiM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1748938312; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=JC+LOnHAVgWdjSaAq/ZSXpa/AKiqqGPj5EsBUAOGzFY=; b=XEWo8xEO2180TzIolBNuLOo2ks1alCMX2kF0hvul5mhXHIai2iyf2hXHKSG/ISKFISmDRL9hr48HUEuZPcX9fEWH2FOPidhSchVPnzrqNM9TiYC1FHYfPjW+WKPWmn6BR4kHrSAXhnHndeQ4QAUgAvlMJusr0NH4XPTP57Z8bE4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1748938311931605.2274796937223; Tue, 3 Jun 2025 01:11:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uMMjk-0002dY-K2; Tue, 03 Jun 2025 04:11:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uMMjN-0002Io-RW for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:10:46 -0400 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uMMjG-0005l3-3D for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:10:45 -0400 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-451e24dfe1aso9120045e9.3 for ; Tue, 03 Jun 2025 01:10:36 -0700 (PDT) Received: from stoup.lan (host-80-41-64-133.as13285.net. [80.41.64.133]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4f009ff7asm17668852f8f.90.2025.06.03.01.10.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 01:10:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748938235; x=1749543035; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=JC+LOnHAVgWdjSaAq/ZSXpa/AKiqqGPj5EsBUAOGzFY=; b=pvd01jf9vXS889JgG061+TJ4rlERV10Lb3TMmyKaw8/cMyCDM8oCUNxgx6EPE4vga0 PgA6drJWtqYhYyoE6W97YqS2lFYynmQv2Cp01bCGgvAh5FYMPURaarqVtGXU2ILojA1X 4LV0mkSV7JA0Cy3D6sYvZuNZ+5EROoEo5dCmK0hRVhwn/9tRpNvyJ/ijR7BM8DnLzyUm s3foHINZGunrVhDU6hIlQGCG35LJ6thjIk+U6JmwNjVd/Eaau0aTrLjeZ5klKLEErTRl lhd/pfnuXnRXFzr2Vy07qHomGadOMtxmH0+dVz3eQ0Deem5Ng2fxVHtQTh9ZMaEnOHiX fNxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748938235; x=1749543035; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=JC+LOnHAVgWdjSaAq/ZSXpa/AKiqqGPj5EsBUAOGzFY=; b=kmjWf7eOVyoJFCjfezs+vjCaV7luEO5Lk+UJojQlJNMKKbsuQ70sD/qbMwnNIvNaVE vuFoA4iSGVLbxWWufuCrw9cbfHDgha4mS++BinaoumCYQ+Iro1T+u7yOa0WIwtDarXaL SvQSp3nCF0eCU/165aCHLPg//M2KkDqbi+plZfFqUFW+mXCeflXZiRibYMQKfDVbuP/B DyNHjH7MnnjsgWS95LRp2VkmRnL20S86OsAV/zkgZrmwQ3BSMHn21YNLFWwkNHJW/sac zz/q9nIrQ9VT4CuY+6Sc1oYgYUSnv+NIohL3/u4Y2gRyqtRs6pn9o2/xEuSPRjwFIPPM Ubgg== X-Gm-Message-State: AOJu0YxpeCurg3UKHPFESsjyIBUbXXSPcbUJCXVoWRDCG3N53hVTlbGy DgIYGXD6a72CwBsWaCAv9MWi0ow45g0MZbqONGw2ApIyuQQ4I5tvfsbN/Mjjfq1aTDG6SzqbIk+ 14y/q0pk= X-Gm-Gg: ASbGncuWK8uno7rONU5z/5eSMUZUInARbuM29b48H/dhxSu8CA16iMOMNyjnALcF7jh HmYfNxVDZ2RGnW9qmu9Joh5qn69dIAVkdZ0CX55pjSI4MX6MUeuc9p+RM0UIFiJeGCB1JVKgR+g rR0IyaBxZ4paX9uqeK+5HW4h6fBrE9tr9vXUIsEc/S8881CcAZlCxmCTpZVJA9C5cOXKEgNa7Bz 9MUqB6kGEPtsvv/PDKc7B1f6YxMcBYP+GB4HII198fvUrvNxwOtpR4FyTZ6gOh1FREz+x2PajX1 48QBv8UvItWlxrY/IIA+8r90U/VsWR8M53q22C1W+q9KysEXwbBzrjrisQgY8GUOuUS9PqwM/DZ 9v+R59HjY9IhM X-Google-Smtp-Source: AGHT+IH+ZNTR86kdc3sOnxlfEzUkMkmJS5R90pHkvdAk6Ks9UCc3nkhkOC9W5TLNiQjlu5vyBsIBPQ== X-Received: by 2002:a05:6000:310a:b0:3a4:dfc2:2a3e with SMTP id ffacd0b85a97d-3a4f7a6d223mr14390259f8f.39.1748938235195; Tue, 03 Jun 2025 01:10:35 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com Subject: [PATCH v2 12/27] tcg/optimize: Build and use o_bits in fold_xor Date: Tue, 3 Jun 2025 09:08:53 +0100 Message-ID: <20250603080908.559594-13-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250603080908.559594-1-richard.henderson@linaro.org> References: <20250603080908.559594-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32c; envelope-from=richard.henderson@linaro.org; helo=mail-wm1-x32c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1748938314218116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- tcg/optimize.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index 795f1c900e..572d314578 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -3039,7 +3039,7 @@ static bool fold_tcg_st_memcopy(OptContext *ctx, TCGO= p *op) =20 static bool fold_xor(OptContext *ctx, TCGOp *op) { - uint64_t z_mask, s_mask; + uint64_t z_mask, o_mask, s_mask; TempOptInfo *t1, *t2; =20 if (fold_const2_commutative(ctx, op) || @@ -3051,9 +3051,12 @@ static bool fold_xor(OptContext *ctx, TCGOp *op) =20 t1 =3D arg_info(op->args[1]); t2 =3D arg_info(op->args[2]); - z_mask =3D t1->z_mask | t2->z_mask; + + z_mask =3D (t1->z_mask | t2->z_mask) & ~(t1->o_mask & t2->o_mask); + o_mask =3D (t1->o_mask & ~t2->z_mask) | (t2->o_mask & ~t1->z_mask); s_mask =3D t1->s_mask & t2->s_mask; - return fold_masks_zs(ctx, op, z_mask, s_mask); + + return fold_masks_zos(ctx, op, z_mask, o_mask, s_mask); } =20 /* Propagate constants and copies, fold constant expressions. */ --=20 2.43.0 From nobody Sat Nov 15 15:41:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1748938293; cv=none; d=zohomail.com; s=zohoarc; b=DRfdIPVxLT402AyDV9Q/5tJuYsPvtO+Vnk1imKf1i0dxDsJyCcfJoospCFxOY56SOmoqasULK3bDvwi/88EXA41pIbUB7dl7cHQZJr0aKqibNFwDQ06KfLbLpFcPIEtWYfSi+VV98l2om35md7gwSPaG/6ZdkCGrdcBtjwlm4t8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1748938293; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=1GeEM9Ch9VEaUM7S3fIXujIMYq38Z5m15r1GdbDnYbA=; b=LxbG0+zDtjzk3bYy+rKaoz/tiHfHGUlrI1fS4TE/VTgPQ7LWZQUuQF6irW3657Giq1kHOYAuMd/3JtlzOu3/JRHjRgAhwzDeQ3dM0MZBzGtLeROIVGn6jaqiPPJg6th/O1QvgT6Lp6+6PXaveT2fPAANtkTbi4v44LfTug98xUM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1748938293006100.05223280326481; Tue, 3 Jun 2025 01:11:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uMMjz-0004AY-Ku; Tue, 03 Jun 2025 04:11:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uMMjN-0002In-R7 for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:10:47 -0400 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uMMjK-0005lg-Tl for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:10:44 -0400 Received: by mail-wr1-x429.google.com with SMTP id ffacd0b85a97d-3a0ac853894so4976038f8f.3 for ; Tue, 03 Jun 2025 01:10:42 -0700 (PDT) Received: from stoup.lan (host-80-41-64-133.as13285.net. [80.41.64.133]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4f009ff7asm17668852f8f.90.2025.06.03.01.10.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 01:10:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748938241; x=1749543041; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=1GeEM9Ch9VEaUM7S3fIXujIMYq38Z5m15r1GdbDnYbA=; b=mRzQW3HsMGLV+xIHhv7ZtNcOZu+wjyMo8DlGam/yUDa98sAoymf84yeJp45hHGXdJC gmFFrxmqBI+A4ZbHW+4I7mo438Lt3Py/kP0u8b/MSyBlUoCiNjF6LYcDJa8LHrZbDfhc 7xnBVEXo9ZriZ/MY3wL6qOt2zDzm2r47KHJ/8oH1qaKTKFymfHAamUqt6AV0+uUNefOC UKFkqQiv1y+LJPa6c50wQi3Z+0e7PRT5Vnt7K29JJGsQI86vicYUqC9VpXikpn8Pwkvv HUXcDBihUrvMrARAUBBsigJpgeow/FW3kJaPOoIEMaiqK2dTHD6VRGMMkxNkTYa0VoLj lqNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748938241; x=1749543041; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1GeEM9Ch9VEaUM7S3fIXujIMYq38Z5m15r1GdbDnYbA=; b=Uxr7ERC2sf2Az0H0RlLzs1EkWd3Q6YandXKMG1BMKFfGY3UqzEdRFQnNcyqeGT+ZLx nzleVSETIZEBYWkab/N+6AQrIwP8EOpykQoapzFDlj5xIaSoC0K+tctrBBhMNFehEmSk FZxkBCOPWvHo8DHSK1bt4u1BJfdNp7gLWQQLLv6ZRwANylBaXK/wIxmEvNlacDpNvqS9 4PnBiOq0uEfDKxGcOlbXKKsa4t62toj4yk+0PDc2G/O2EWCKSaqreGYqwKlfZKRCSEZF nJpuwB4TyipxMqEqvcDG+ILY7bYBGj3Vs9LYgZbol6PpxjLaem3XN4LyxYxliJwZ4Ryg OUjQ== X-Gm-Message-State: AOJu0YwJy7nHNlZVG8T/BdrkMOH0PHt4nOjVjiceV5X3Ha3Q0d3PoxKt liki5KPtD7K62EeK0EM+LjBgObsL1fdaOgOjiD8ASMUg2/ALu6MFhUk95HEi/cD2D2kJxoryuQr mAiHVREg= X-Gm-Gg: ASbGncuDincweYrQDD/zbBEvTl8CgmnY2gph9RKA4x5XuDPm94yknamiV/5LEklx4EQ b8YaZO+/usmFFPaOAM7M3eMal2yhNDCxx26Fuoh6bdXIKdAumIQE1lK/cvOUl/8uA3NTETWFpoe B+ioozXlyb42HYCfsgcaDrANzNEGbVQSnP5MAtl2Rofl16WkD6NiLouFFmSuQsA1DUXre8hpnqF 6rK6BoD5dIgTZf7xoaRAbkXd9FSQvW8e7KoEW5FQVhFfZ6N2P+Mf9fuwjJbmAH7E/JHZSAWC1D2 eOo2SLKdotI1sCclbZ9Dh60Q74WZvYWM7TPNULekNz85mnSXeyTn4AiX92dXozyLpZmYNVxdZ+2 FUhi1+A4VGcS3szSYVjUGu+s= X-Google-Smtp-Source: AGHT+IGUs6X4fXsGhOjJywqcX7s03DfdaTtnbj+rIvHQbU6JoImPDRprvHJWs3EkMviHs7LB51KH1A== X-Received: by 2002:adf:eacb:0:b0:3a4:ef36:1f4d with SMTP id ffacd0b85a97d-3a4fe391bc4mr6832825f8f.38.1748938241178; Tue, 03 Jun 2025 01:10:41 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com Subject: [PATCH v2 13/27] tcg/optimize: Build and use o_bits in fold_bswap Date: Tue, 3 Jun 2025 09:08:54 +0100 Message-ID: <20250603080908.559594-14-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250603080908.559594-1-richard.henderson@linaro.org> References: <20250603080908.559594-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::429; envelope-from=richard.henderson@linaro.org; helo=mail-wr1-x429.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1748938293997116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- tcg/optimize.c | 49 ++++++++++++++++++++++++------------------------- 1 file changed, 24 insertions(+), 25 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index 572d314578..c9c53f796f 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -1671,53 +1671,52 @@ static bool fold_brcond2(OptContext *ctx, TCGOp *op) =20 static bool fold_bswap(OptContext *ctx, TCGOp *op) { - uint64_t z_mask, s_mask, sign; + uint64_t z_mask, o_mask, s_mask; TempOptInfo *t1 =3D arg_info(op->args[1]); + int flags =3D op->args[2]; =20 if (ti_is_const(t1)) { return tcg_opt_gen_movi(ctx, op, op->args[0], do_constant_folding(op->opc, ctx->type, - ti_const_val(t1), - op->args[2])); + ti_const_val(t1), flag= s)); } =20 z_mask =3D t1->z_mask; + o_mask =3D t1->o_mask; + s_mask =3D 0; + switch (op->opc) { case INDEX_op_bswap16: z_mask =3D bswap16(z_mask); - sign =3D INT16_MIN; + o_mask =3D bswap16(o_mask); + if (flags & TCG_BSWAP_OS) { + z_mask =3D (int16_t)z_mask; + o_mask =3D (int16_t)o_mask; + s_mask =3D INT16_MIN; + } else if (!(flags & TCG_BSWAP_OZ)) { + z_mask |=3D MAKE_64BIT_MASK(16, 48); + } break; case INDEX_op_bswap32: z_mask =3D bswap32(z_mask); - sign =3D INT32_MIN; + o_mask =3D bswap32(o_mask); + if (flags & TCG_BSWAP_OS) { + z_mask =3D (int32_t)z_mask; + o_mask =3D (int32_t)o_mask; + s_mask =3D INT32_MIN; + } else if (!(flags & TCG_BSWAP_OZ)) { + z_mask |=3D MAKE_64BIT_MASK(32, 32); + } break; case INDEX_op_bswap64: z_mask =3D bswap64(z_mask); - sign =3D INT64_MIN; + o_mask =3D bswap64(o_mask); break; default: g_assert_not_reached(); } =20 - s_mask =3D 0; - switch (op->args[2] & (TCG_BSWAP_OZ | TCG_BSWAP_OS)) { - case TCG_BSWAP_OZ: - break; - case TCG_BSWAP_OS: - /* If the sign bit may be 1, force all the bits above to 1. */ - if (z_mask & sign) { - z_mask |=3D sign; - } - /* The value and therefore s_mask is explicitly sign-extended. */ - s_mask =3D sign; - break; - default: - /* The high bits are undefined: force all bits above the sign to 1= . */ - z_mask |=3D sign << 1; - break; - } - - return fold_masks_zs(ctx, op, z_mask, s_mask); + return fold_masks_zos(ctx, op, z_mask, o_mask, s_mask); } =20 static bool fold_call(OptContext *ctx, TCGOp *op) --=20 2.43.0 From nobody Sat Nov 15 15:41:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1748938308; cv=none; d=zohomail.com; s=zohoarc; b=NWDvr1PYkjxlNuneBvpuM9dIu9luxF/5RcLCVq/1Twt7Pv0GNoZgArrTCwdkipeOUu5ji4w5YW2rpSLf5ANLSU+acKIcehG+caXDtjw3FJwPHK1W6kEBnZk1Hu16WZC4Rhhm7vjqpHwo8HYXJLp2ynsmOxWCegtMQsSlvLyvMjE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1748938308; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=HbV7CB/vme0Aevai0jjNyEglAqtC776CtVcj3Rlc0uA=; b=BXKmipHadGdnVVWwTNUDRbm423p8loa4D21AmYd0Jdf9UTI8KmdE/terZS/nbij3SCwAh6MvhTRMF9JOuS3xdgt2JOhX0uzXXvZKIPZpiBKIkdnPESx3IsYsaHoTMvCuYqbsEy8KEG3om/BiGClrFr9kHuYRug1wtFQp6ckFTzc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1748938308265566.9121838098986; Tue, 3 Jun 2025 01:11:48 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uMMjt-0003NJ-5S; Tue, 03 Jun 2025 04:11:17 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uMMjR-0002LZ-Qp for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:10:55 -0400 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uMMjP-0005m4-4d for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:10:49 -0400 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-451d41e1ad1so19701365e9.1 for ; Tue, 03 Jun 2025 01:10:46 -0700 (PDT) Received: from stoup.lan (host-80-41-64-133.as13285.net. [80.41.64.133]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4f009ff7asm17668852f8f.90.2025.06.03.01.10.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 01:10:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748938246; x=1749543046; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=HbV7CB/vme0Aevai0jjNyEglAqtC776CtVcj3Rlc0uA=; b=u3qfQwPTxsCfEx9KrHz9GWxmrT2hBaGgo0qZiZZcDrGb/bOedmFxIyL+265TeJsYSS 9c1HtpVMAbvrqG7Y7uTbpFZu7B4ksf4BQiUmsV4bwk7daj1MtuTGpDvxi1M2xbb/srKu yFnhN/aHkT6xt5ONaINvFrlgqAsL4aj1+0qS95V/im3CmGTskglRU8vH5U9WNxfCAZDI dxL485O4KrjCiJoL/5LEdBNlTaNaiU+AN1kIqn1bYgY6HciNIe2J4ogp1sTxxys93lRN RBxpcxXfUY/JkIo7iqUCbF02mfV1HenLTqYNge1U/WjvfBGN58up3ovPoUeFeyEAERRk ktjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748938246; x=1749543046; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HbV7CB/vme0Aevai0jjNyEglAqtC776CtVcj3Rlc0uA=; b=meQ1mcnlxQ39hCIUgC55GP8UmpaMbIMuznN/gHcCeuF8IdGTKz6BsobQ1KBEQGL8Zi D8uI8XLItTSBGAqY6TAsA0rmY1XBckrQ+7BL6aQLLKHIzDQtnFMnVMd6vGXx/Ulg3kKu O7WQ5N9+7zTXUtoVxkauMEZ3OCCDWookXauvlT2gJSiu9e+pK7vKyWW76/SPjX1BQsSZ zpf17/TRml0ePwoBU+hWZojD0x4t92rCXYbLdjVfST5NhVtzW54cfbrfo2BUQNG1vYB2 BCegO8HNA+pBpcOMuqrQtxyUIBRkR9ceOPweoLKQFuHBZzYzNr6X2u5oS9LM20wfEaZ+ 5GfQ== X-Gm-Message-State: AOJu0YyLL5/vAVQIa0TT8lMJFAkuWMegkMpxqqb0y+iqf62y8VO+Aj21 ycqOedBDBBykxwsfQg0yIXMHUeU3OXQBRzujF2pSq4XlREPRrT2uRvwy/KlMFynf8BsEe8z7AHG f1N5NWfk= X-Gm-Gg: ASbGncvpgluma1Vqg94v9yVXQL3FUlfFMQiTA6BvqnA4zIFD9f8yJXhzIpdilt5H/1J sGHZk+DLGsWp5+QhYCCsnj0/INRv9dKRqY0NEIOE8vvBBipX51kGgXCrEKyoluSHO5sJwSCG3ao iz97syhVN0iFZGRfMGhwuIInYfKcp8cgvYwAy64edwFP6YCsvAFE6RG3c9+DiLpDnM1mKqT+W6v ZY29+Ek6Gwb+rWUaqsVEcdIyYArpvBjMmjH6gu/3TX4CClRQhuGepZteTQ7IHj8GxhAiqsqMzET H8ZfXjv0w1E17iWqnoVvds32xLpt4D42nQR3Q+971MV1s+nAUrN7yH2xTu374rFM9UkqsjYEnTt lXDA4M5U+bepg X-Google-Smtp-Source: AGHT+IGDbIRH/RzvnqMGMBjfedHSfH7T2P6PAqxt+N2+ISmrwkrfjverWhiR8odqr/JQiROYbUCzpg== X-Received: by 2002:a05:6000:b4e:b0:3a4:fc3f:8d5b with SMTP id ffacd0b85a97d-3a4fc3f8d96mr7515454f8f.47.1748938245664; Tue, 03 Jun 2025 01:10:45 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com Subject: [PATCH v2 14/27] tcg/optimize: Build and use o_bits in fold_deposit Date: Tue, 3 Jun 2025 09:08:55 +0100 Message-ID: <20250603080908.559594-15-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250603080908.559594-1-richard.henderson@linaro.org> References: <20250603080908.559594-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32c; envelope-from=richard.henderson@linaro.org; helo=mail-wm1-x32c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1748938309916116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- tcg/optimize.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index c9c53f796f..043568a10d 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -1847,7 +1847,7 @@ static bool fold_deposit(OptContext *ctx, TCGOp *op) int ofs =3D op->args[3]; int len =3D op->args[4]; int width =3D 8 * tcg_type_size(ctx->type); - uint64_t z_mask, s_mask; + uint64_t z_mask, o_mask, s_mask; =20 if (ti_is_const(t1) && ti_is_const(t2)) { return tcg_opt_gen_movi(ctx, op, op->args[0], @@ -1882,7 +1882,9 @@ static bool fold_deposit(OptContext *ctx, TCGOp *op) } =20 z_mask =3D deposit64(t1->z_mask, ofs, len, t2->z_mask); - return fold_masks_zs(ctx, op, z_mask, s_mask); + o_mask =3D deposit64(t1->o_mask, ofs, len, t2->o_mask); + + return fold_masks_zos(ctx, op, z_mask, o_mask, s_mask); } =20 static bool fold_divide(OptContext *ctx, TCGOp *op) --=20 2.43.0 From nobody Sat Nov 15 15:41:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1748938322; cv=none; d=zohomail.com; s=zohoarc; b=FgDfIhcjFLEwqZ5hb68v06ZCab8vpMrkmXhQv+2X6sPQdTFebGrK2G1cN1n5iM6WzjxwcwbiRFMf7y101l95Eue8FTXofO/DusKHqprmcJXy7iIqCF5S0+CqyuxFz2g7k9o321UMbmEuuYxqD/qdLWsH1zLXJ0uwk03q2G6MtsM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1748938322; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=alu4+06hafBjdM//+iURuOExniKuVOhxa2fbp54muUc=; b=Twijc+FOd6deK7BkBYcG6E9Xz9LaHT5Zu7ZdO9vQibgZsoNDAP/ch1tq5XGc81ectEA+HptdEhZlXbPqG2aJSEMX041jgEVk/3M/CRm/fL6l4SqQeaEEyXT+ktZHCW67gftCQmpz99ozAStJJL+ZlfqVm5zh/uUIIh1hXp5tLL8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1748938322814958.7721046370519; Tue, 3 Jun 2025 01:12:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uMMjw-0003hz-FC; Tue, 03 Jun 2025 04:11:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uMMjX-0002Ov-MM for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:10:58 -0400 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uMMjU-0005mX-EK for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:10:54 -0400 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-442f9043f56so31729215e9.0 for ; Tue, 03 Jun 2025 01:10:52 -0700 (PDT) Received: from stoup.lan (host-80-41-64-133.as13285.net. [80.41.64.133]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4f009ff7asm17668852f8f.90.2025.06.03.01.10.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 01:10:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748938251; x=1749543051; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=alu4+06hafBjdM//+iURuOExniKuVOhxa2fbp54muUc=; b=iq/NZmaG/DlwTQtBVi+TocSK7e1ZRGGkGD/aNP0OvTs5cb8NSoRnwee0EYrpGKLamG eXRFCiRvWD6p1pp5HhmQLu3hQ0LSAX4PXKeGE5nCCIzJSpK2iUlenMUiuYmKP7pImhzG QeYq+bfXy4ovFQtLFgi4dEhJyjNhhuEVNInsBoYAMC+2QpUzrmGzuVv/zfqD3jdu1baB ypwUUcS04ByvVsg1lYsN5+2L4eKpgLhqoMLssQNZRdvN1gYLX3djySY4a6WpChpSeTPc 7vb1neT4oTFQef5WPQUA2MXPB9t4KU/61xyBqcgYEbzyU34di/mJTqGMWhRirDcOxEVc 5nTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748938251; x=1749543051; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=alu4+06hafBjdM//+iURuOExniKuVOhxa2fbp54muUc=; b=H/H6WZ7j/ASVatxBd61hgRqp7I3mjr7Q3NZBvuzA8S0KYrxruFMPtHa2hM3Z5utjKE jrkXNw8+8EmcPTxlQR5EgoEzqlDz2w32eMpMuWYJ8LPvlGjQ8wmIZJonQeIvkzWqwoVs vuOemXp/Z01radv9El8keAHr7lFFfg7sV/2ZaaIEq21ZPuyI7gly/FSxm2PFvus8Kqf9 r3t1kEVOkgDQIu8ayC0rXTHqEw1K4aTRhR2EYUJhqK2eLkxpWq2HzE35ujC/oKz1uc8e ogjDuBI4pFj8pNnT8FGgH8loKSuwQ18s74LOWy4W79seTM3zcPFwoK04hO3JXoEQ5VEt wAog== X-Gm-Message-State: AOJu0Yw5cJV48biKR/ZngqHWaCYXjm/uoqJMZzahw3YeUBz2xkr7f5Ih TJ6tahuZYHzTSZOOrNSlfiGasQ0HSJfTo+vJadXp8ykucSS/MGYimnuiGoK3MoMZoEMH1I/z2kt x09SUSyI= X-Gm-Gg: ASbGncv42+ykblBXBdNx3nD/k1DYjMl4yEYQQ5DMbl8tCjDCO5X36fqudCAH+l/7iaz hQlIvx7dLPjbpjkRH2YoJwesTH2ScSgt3NdaME2EGuA2EOJrspEQhmNhmC4vzJRLEJ1ozu1/JvM 0tREF2ezdarCzRot/skh52AowEiFemfmR2LCU5H8HnLEmTodU6puxHUTiLkN97Oss6uarBBJeJc 5R7CHVr+mW0Q1zFip/0KyyrHQGMMqr5PQZ2hfAnP1Ag/pehQGFBUqbtiV0lCRc1PjDfZjJxl0lZ JtJql7Z6blDSnohK77L6vPVo0EsAKIAAurWXuW33GsgOlBWhJGL61UbM/iGN7KDFKWoQJWpn5fU v4CkKvpXWD42mJ9FiNAxHMe0= X-Google-Smtp-Source: AGHT+IEJL6/gkQnA0JCuGug+BDNK4/d2IJHZ+xAdN1mRczuFfysc5SVKmF/kwZk4pvtokoPPYWtDow== X-Received: by 2002:a05:6000:2207:b0:3a4:c8c1:aed8 with SMTP id ffacd0b85a97d-3a4fe398eb6mr9657602f8f.39.1748938250766; Tue, 03 Jun 2025 01:10:50 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com Subject: [PATCH v2 15/27] tcg/optimize: Build and use o_bits in fold_extract Date: Tue, 3 Jun 2025 09:08:56 +0100 Message-ID: <20250603080908.559594-16-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250603080908.559594-1-richard.henderson@linaro.org> References: <20250603080908.559594-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32c; envelope-from=richard.henderson@linaro.org; helo=mail-wm1-x32c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1748938324264116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- tcg/optimize.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index 043568a10d..f5fc0cfff9 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -1963,7 +1963,7 @@ static bool fold_eqv(OptContext *ctx, TCGOp *op) =20 static bool fold_extract(OptContext *ctx, TCGOp *op) { - uint64_t z_mask_old, z_mask; + uint64_t z_mask, o_mask, a_mask; TempOptInfo *t1 =3D arg_info(op->args[1]); int pos =3D op->args[2]; int len =3D op->args[3]; @@ -1973,13 +1973,11 @@ static bool fold_extract(OptContext *ctx, TCGOp *op) extract64(ti_const_val(t1), pos, len)); } =20 - z_mask_old =3D t1->z_mask; - z_mask =3D extract64(z_mask_old, pos, len); - if (pos =3D=3D 0 && fold_affected_mask(ctx, op, z_mask_old ^ z_mask)) { - return true; - } + z_mask =3D extract64(t1->z_mask, pos, len); + o_mask =3D extract64(t1->o_mask, pos, len); + a_mask =3D pos ? -1 : t1->z_mask ^ z_mask; =20 - return fold_masks_z(ctx, op, z_mask); + return fold_masks_zosa(ctx, op, z_mask, o_mask, 0, a_mask); } =20 static bool fold_extract2(OptContext *ctx, TCGOp *op) --=20 2.43.0 From nobody Sat Nov 15 15:41:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1748938280; cv=none; d=zohomail.com; s=zohoarc; b=cRRHvHuqp98LxrVTjhamd7T/OcaWEg6ly/qjkb61u+g3bEy1LCKNoUhvq6IKSB6BdXifFIyqFkCKRGph/wY17TaaE40JdjceOY5KioookNbY7z/MpBGZmrze/ddC1xLVNgTIinFzRFBNTsvA8yoURbaNmoh5uBs1E0oveiIsqdU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1748938280; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=JvZ9wF8gq0in8xmAGr8eSaPA7UGsf3Jvx+0+VWev78Y=; b=VPmsnAL9ZFo5g66cyfRmk1QZ0oBIr+OQMCmHDNDSzEN7GwozMSWUIK29PMVqtpwcceGjwP4CR+h9LXLPyQYA1RwjWoyzymTPJ7OKYjyN/S2lLQXyuyckSjR85a6O09SkvN5Kdsia66Z4/rQO5a4DCNE926Z76kt6+Ey8F69I7Cc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1748938280606135.5585577477259; Tue, 3 Jun 2025 01:11:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uMMjq-00034m-My; Tue, 03 Jun 2025 04:11:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uMMjd-0002Up-Fp for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:11:01 -0400 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uMMja-0005nH-Aj for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:10:59 -0400 Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-3a4ef2c2ef3so4220915f8f.2 for ; Tue, 03 Jun 2025 01:10:57 -0700 (PDT) Received: from stoup.lan (host-80-41-64-133.as13285.net. [80.41.64.133]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4f009ff7asm17668852f8f.90.2025.06.03.01.10.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 01:10:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748938257; x=1749543057; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=JvZ9wF8gq0in8xmAGr8eSaPA7UGsf3Jvx+0+VWev78Y=; b=QnLSGCJDPmFmVWCBFlMPPby4lB1mVKnVpflMCxW92x9k3TKcdXOjpJzI9eg9Q7Q8oX XqXE5fRUYADmZppnWJ9tgmmZM5+FHYWg38Q5K7hu9taQMR7a55ETxYPzoGc9XDfyraBe ctW6gdueIVuCwpO2eTX7OMecJIdE6WtQJhmZXclG7kJRLRzeMSrLf55oFwDrRhxb/zGf dFoF4856s03DmrBSK+3vHnQn4DL+x5LcTF20ogqpcy5HwshW5ex40dOg29COXZyqgv3r m1jDws5DYZcFhsN2cKjmr3SmM/7bdpeJX/HAH32jPsrzelNisHvSrcylOShmyAru2fDl qieQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748938257; x=1749543057; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=JvZ9wF8gq0in8xmAGr8eSaPA7UGsf3Jvx+0+VWev78Y=; b=lsYOBUfieiH8euT0HKqXwVNDSmiNxrzXCs2i2lSuuqolshz+unIqwCRcBZhleOdYJX LMP6x5Kje9q2l9dduN5wKmJCQ4iI8jIWFfzWxD0BIEgDoGeGY34gwu8O4dNSyTfq6ebo pdZ4N3dx7KHSpnMYsJAs8fFEKNHl4YRzZlj9lDQpFMSaKIc0ov6VUEby6ZFIiqqDvTnV 27KBLc6SyXsIfPScJKldeQ/JPQ/nha0Mvb/FdHLX1iuJDjh0rlYObDT8BNcsel+DLTww 9HFu4eO4ZYJd/8ZBnG3zqkZGGuRTMgMBVSTXErTmOva+wy/mV+Tf+QbLenHsXjqwbxsp y/og== X-Gm-Message-State: AOJu0YxkOZe/DuOteA4e6+tC8/wZwK+whJMRZ24QYu4yO6mMWBe7uVBT T0rTqDA78VSp1Bxz4qPtrdf4aJmO0EC1nY0N8N3gWsI6OKXeAqcXMoN82XVYBl5b+4rVBmcKZHF XUoLDHvc= X-Gm-Gg: ASbGnctWcjD6TPq4TwiYh+sNDq1Hu+lNFrchrdeGLgMlgPtWwWbUweCvSRzOZKTT3ua cA1ro9ofQkCbCyZd3jFHEivrlkC2KCC9N5eUKlSwzuVNkGmv43rnyE01t9Loe2VSUHRp7Ox+hGQ FRDVXr7pKOkZNYMiTtlMdykT6xT39x/BgFGdbQYfREo+tTJE6dna96cJOaVMRaYCTMMnRJxK9L/ aY+JSqB/2yyqgsphEP1vtcTtxzZ85EwuUJGl0XPaWCl0Jxs4UdsAgZMcSqWv4Mp8ZZqkZTMueR7 Z9iMO/T2HWHvtXbDukBZzKaPBi3cx3b3QcSFo0eB25QHZUVM0bvDLbFRaogeTkUtlBT+2mXcdNM 9qa/6s6iXiA3Y X-Google-Smtp-Source: AGHT+IEDmLZKr/975+RFisIcKbN+QZNvkgWf6JvPLFoNbK0VrHAUG3erq+RTNECW1zrJKi+C7l/bIA== X-Received: by 2002:a05:6000:3109:b0:3a1:f8d1:6340 with SMTP id ffacd0b85a97d-3a4fe391a05mr8462056f8f.34.1748938256766; Tue, 03 Jun 2025 01:10:56 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com Subject: [PATCH v2 16/27] tcg/optimize: Build and use z_bits and o_bits in fold_extract2 Date: Tue, 3 Jun 2025 09:08:57 +0100 Message-ID: <20250603080908.559594-17-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250603080908.559594-1-richard.henderson@linaro.org> References: <20250603080908.559594-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::431; envelope-from=richard.henderson@linaro.org; helo=mail-wr1-x431.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1748938281596116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- tcg/optimize.c | 38 +++++++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index f5fc0cfff9..86d958267a 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -1099,6 +1099,12 @@ static bool fold_masks_zos(OptContext *ctx, TCGOp *o= p, return fold_masks_zosa(ctx, op, z_mask, o_mask, s_mask, -1); } =20 +static bool fold_masks_zo(OptContext *ctx, TCGOp *op, + uint64_t z_mask, uint64_t o_mask) +{ + return fold_masks_zosa(ctx, op, z_mask, o_mask, 0, -1); +} + static bool fold_masks_zs(OptContext *ctx, TCGOp *op, uint64_t z_mask, uint64_t s_mask) { @@ -1982,21 +1988,27 @@ static bool fold_extract(OptContext *ctx, TCGOp *op) =20 static bool fold_extract2(OptContext *ctx, TCGOp *op) { - if (arg_is_const(op->args[1]) && arg_is_const(op->args[2])) { - uint64_t v1 =3D arg_const_val(op->args[1]); - uint64_t v2 =3D arg_const_val(op->args[2]); - int shr =3D op->args[3]; + TempOptInfo *t1 =3D arg_info(op->args[1]); + TempOptInfo *t2 =3D arg_info(op->args[2]); + uint64_t z1 =3D t1->z_mask; + uint64_t z2 =3D t2->z_mask; + uint64_t o1 =3D t1->o_mask; + uint64_t o2 =3D t2->o_mask; + int shr =3D op->args[3]; =20 - if (ctx->type =3D=3D TCG_TYPE_I32) { - v1 =3D (uint32_t)v1 >> shr; - v2 =3D (uint64_t)((int32_t)v2 << (32 - shr)); - } else { - v1 >>=3D shr; - v2 <<=3D 64 - shr; - } - return tcg_opt_gen_movi(ctx, op, op->args[0], v1 | v2); + if (ctx->type =3D=3D TCG_TYPE_I32) { + z1 =3D (uint32_t)z1 >> shr; + o1 =3D (uint32_t)o1 >> shr; + z2 =3D (uint64_t)((int32_t)z2 << (32 - shr)); + o2 =3D (uint64_t)((int32_t)o2 << (32 - shr)); + } else { + z1 >>=3D shr; + o1 >>=3D shr; + z2 <<=3D 64 - shr; + o2 <<=3D 64 - shr; } - return finish_folding(ctx, op); + + return fold_masks_zo(ctx, op, z1 | z2, o1 | o2); } =20 static bool fold_exts(OptContext *ctx, TCGOp *op) --=20 2.43.0 From nobody Sat Nov 15 15:41:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1748938332; cv=none; d=zohomail.com; s=zohoarc; b=DiEj8qxixa0/tcHYXYN1UUDSC59R5akMertuij+z3PT9OyGc4HCBMP4P/O0+oz//fJimJJayem1iQpDJoSgP5hYPatbWp2jaZkbqm3dyIk+5n/IiGq1SlRRhHG/FM/f5ZDEViOY/aImKVFvD/vIV8dbo/983brqm2Rqfj5TZiPI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1748938332; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=xymrH7QM4U86RLentxPog9De8K7YteKDldYGgug6hEc=; b=Kl4xGtbBboW/7xLp0xqcWM3/DAabvDatTtEXDgwdyt4XClU7BR1XtuFsbjMfsLAjgKtM9qUH8mpFiPZX7cP6+oR9EkCPe6ktYXJ+yYVO5n21y97tB3Ak+OlN5FWzMnLPzs66xWda2Mq3WTKw/uV5ZyyKCpaxx45XvwKB5UpKifs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 174893833219696.88794445024666; Tue, 3 Jun 2025 01:12:12 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uMMju-0003UZ-Fw; Tue, 03 Jun 2025 04:11:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uMMji-0002aM-Mx for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:11:07 -0400 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uMMjg-0005nw-PB for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:11:06 -0400 Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-3a3798794d3so4503071f8f.1 for ; Tue, 03 Jun 2025 01:11:03 -0700 (PDT) Received: from stoup.lan (host-80-41-64-133.as13285.net. [80.41.64.133]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4f009ff7asm17668852f8f.90.2025.06.03.01.10.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 01:11:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748938262; x=1749543062; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=xymrH7QM4U86RLentxPog9De8K7YteKDldYGgug6hEc=; b=OkGZO+HWoYg9Dwjnk3N+YR3EEACgvwgiPWjjyNCb8wC9sWTnmMRIcN9yzE88ipv/4t WogITvsRD4TNQhMKGjo/n9SauzAbwcPdjAa2U2nOIIPIupT7JT/3zomHzQsxqmtn2TE/ +MckmKVathxMaVeOB6n9uWVlsVKDJjMhjCQTrwO3S+vKJom4BcL+iOB1ghwJVrZrdJWl N7xGAX9TFO7ntdrd4wOpGlmyo5bA96mL5Y05jQN95lm81m4KlvxAqeiTq7C71IZQEeIn d5hId0huY6z1LUr0zYdb522jwCZcN8lD1moX1f/dSjjNhHg0ZkKTx4XYzuyvqAay5tAY +oLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748938262; x=1749543062; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=xymrH7QM4U86RLentxPog9De8K7YteKDldYGgug6hEc=; b=LbiGvEu5w4WzlA9KA1L6b9yJbc6RoJ51ecGAiYGKDHpsA+9upLpcbcCL+MnaAgHnd6 LjjmSbkJKE09AY0f9w+bwNW7ubLTrpvx8ZKgAoU1oHP/Jiq8k7D3qW9lurLC0ZPY3/v9 uJHnENpqELGyqowREr/krz9feg9iZuws2tkWnBZacKOEpzTyepajgW6H0JBSYqS2uzdl NToLO/P1f3g9LHOEeNmOyovqk4ubllk6uKoOAN+fy4sFZpmKp6phO1walfgM05osn+QN BEFNazWhBC2cTjmgwrWZyNcbCCRsw5OAK+v9K8dwfD7H+k9eBt44OqXpgrSUrngisZit mluw== X-Gm-Message-State: AOJu0YyrcfV/H9Gp9iRxJTIcVTnyWSbIL/qQAHLJwSLI0ruppgIDQc0t zbp5ys46WZPSgxANaGsh4nMFBO5U845C1tn5lkF8Rs/XW9TAUhqhgDHeuDv1MswlvEWWpv+R8O1 bmBpLWSI= X-Gm-Gg: ASbGncvAIpGyxfxcUOTyMmhtmtzw6Vba20djIGvau41UYbAv+LjkKARw3V3EaJgMtl3 mfpiB/rAwKrVLC50yJK1XYEDS4pIdbmyUYdgDu+m2XxSykzyft/0skYZqoMNH8gQ7KAMI5ZA2pp 5QDC6PfqOAj5cbVBHaQoEL2GEU1g5PqC29G6VIf6VC+6LK1A3yAsxntO3NJDHQdFKDLoXpPhW3g gX5QUPRbehTaZ48T8zncpKU9fxKjxTpe3eB9bP1vGl/iOdMtFe1TFRO8o9FkUp5nSSqaD1MPuay c9flqQ0Kg/ysMh8f5PFMnm0GandEBYTMM89cE7bhQlYZ4tY9cNO8+OOyvL2/0D5e38f2hZqQ4RC x6ewxDggE7t4IoOkTThx2Ve8= X-Google-Smtp-Source: AGHT+IE+jIJdd2oX/kVhJI6iY8VGkOjXd7C60lSLBaUmOjFPls/znmwfPqsAnE7YeQYxfG0SwXp69g== X-Received: by 2002:a5d:64cc:0:b0:3a4:f379:65bc with SMTP id ffacd0b85a97d-3a4fe39884amr8620072f8f.40.1748938262026; Tue, 03 Jun 2025 01:11:02 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com Subject: [PATCH v2 17/27] tcg/optimize: Build and use o_bits in fold_exts Date: Tue, 3 Jun 2025 09:08:58 +0100 Message-ID: <20250603080908.559594-18-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250603080908.559594-1-richard.henderson@linaro.org> References: <20250603080908.559594-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::431; envelope-from=richard.henderson@linaro.org; helo=mail-wr1-x431.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1748938334501116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- tcg/optimize.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index 86d958267a..103c94b12f 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -2013,7 +2013,7 @@ static bool fold_extract2(OptContext *ctx, TCGOp *op) =20 static bool fold_exts(OptContext *ctx, TCGOp *op) { - uint64_t s_mask, z_mask; + uint64_t z_mask, o_mask, s_mask; TempOptInfo *t1; =20 if (fold_const1(ctx, op)) { @@ -2022,17 +2022,19 @@ static bool fold_exts(OptContext *ctx, TCGOp *op) =20 t1 =3D arg_info(op->args[1]); z_mask =3D t1->z_mask; + o_mask =3D t1->o_mask; s_mask =3D t1->s_mask; =20 switch (op->opc) { case INDEX_op_ext_i32_i64: s_mask |=3D INT32_MIN; z_mask =3D (int32_t)z_mask; + o_mask =3D (int32_t)o_mask; break; default: g_assert_not_reached(); } - return fold_masks_zs(ctx, op, z_mask, s_mask); + return fold_masks_zos(ctx, op, z_mask, o_mask, s_mask); } =20 static bool fold_extu(OptContext *ctx, TCGOp *op) --=20 2.43.0 From nobody Sat Nov 15 15:41:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1748938452; cv=none; d=zohomail.com; s=zohoarc; b=aGgKt9G4oBfBUCBtxRbHf65r3S4dcQ3utNDQHdOcbwX9qFPuN4JjODtrnCPasJdkb1ICsfpXPabB3I1V9b5TFsEkszViWE/ahpfLapSGmEKuEg88r0OjPiXN7078uiVcYdqvCi2+K2MzVYSzRqMfmcGHzUpoH6gCL6Ege8OSRdQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1748938452; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=+GqWQo+w+tjyq4sllYwzFk28p9KJiT8wTCZDpo4XdKE=; b=cbyjExnf3DDA1km19wpQl04sRJf0BZJ8r5ZL6VqRfite2SI0heDFGiOTl5MH5pr30i6oxDoiwJjjVuutWfUsc3BdzVRpLrUVQwS80gyXKhfCB0aTVwi98QDM8z++YaiP54ngb2IAvAZfEuec+aD0JC3kDvhbz8LjZoddRWfgtD0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1748938452410927.7087084925679; Tue, 3 Jun 2025 01:14:12 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uMMjx-0003om-H2; Tue, 03 Jun 2025 04:11:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uMMjo-00033E-4w for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:11:12 -0400 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uMMjm-0005ow-2K for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:11:11 -0400 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-3a4fdc27c4aso1613710f8f.3 for ; Tue, 03 Jun 2025 01:11:08 -0700 (PDT) Received: from stoup.lan (host-80-41-64-133.as13285.net. [80.41.64.133]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4f009ff7asm17668852f8f.90.2025.06.03.01.11.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 01:11:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748938267; x=1749543067; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+GqWQo+w+tjyq4sllYwzFk28p9KJiT8wTCZDpo4XdKE=; b=UzxohZL3NHh+K5DQB1YefAO4pGK6jN9FrWXYdqOkNK3Obw59T//D/2mWTf/dDTtPgk Tj2JtTWSd/DQiPCg1VyMAFzjwEtGfKZt0Fl6Onu78QBMlMzFsMMhluTkymyf0aUCafwM lIFshBdYEUa4yuYyKmOevVkKpDctN1DXRTV5qSOE/f6VgxMNmEDyItgWc3DeSb0RafpR cl86jFHq/S7yW0c6NXrHIfZbrZ2Ij0twoCX4thA2zwOjVFvIiC8cWhmDJLcxD3wP+haD +TccMpku3JTU/Z+dsQ1VbF1v+vRxEYYM3gptN14lh9VvNa4LnXKvMp0w8PqYo2t9DLy+ j68g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748938267; x=1749543067; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+GqWQo+w+tjyq4sllYwzFk28p9KJiT8wTCZDpo4XdKE=; b=G1xm6ukpQcUsm+BJ8ofYHTsGOrKtsGOMsZYqAfCCIgEs0i/fFcb/XzwT2COJsYdGb/ 8mrOrYdhAAFxzTca8aMUOjxD8jH0RspCON6Aw54slLpW6TD7fGgmlsqbEeW67kTXGBrs b6kvqdr5WwiPEM3eszlXZzjfktY9lPQTxSJt8SP75ONKDNKN6q/xI6TOCh54Hl9tncnx JQZj1SpVr5BS0tOenhykNfPAK06sQbGwO1gtwuod7LGqB5BfLjAKZgjFYYb8X31vGeyg v/XhfmhWXAhzCaJOWXQpkcBG9HfxUUqE3S197TRWsiEsJU4sZAujuSw8hI1gJd6vL6qd 7+7g== X-Gm-Message-State: AOJu0YytE0Qj3ATpx09BoY+198HDOyHOCHrY4oETFKKo6TfaSio2U6rh oDQ4VR3EpvQgXYipf5cIxa/051xYIUWmvE8zQlDEnu4BJiorWM/XqpbBHrKRMYYuArADVmy+c4x v2yOXoOc= X-Gm-Gg: ASbGnculWe8f9ZWABM84zrUHgq4sllhrAFY8O8fJOXywDyoUIiB0b/pDWoYypIZYqC4 MpyaKoGVOYEFGuWPU/RhBR+g22whF6ERJf2doJPHl5Kpil/xbyXbZeCdCp0HFkDqV93IDUlhY8l fJdw/ijGveJlsmK7Ir4zBb17o2mvLo0E9HweCPRZ9yJyoAv8+aH3EqsjsVPbEHAYStYN6uZc5X6 B1MOAFgipwRoDZeiYenekSQw4ZArWoi/CuWQOoYcVoqAZI6m0wub9zNlKFyRX8F00z34cOb0dbP 7igGKZMCLqUMLwXMtpXuOO0GjUWJ8+d7lh4TAn95bhes6KCLi/svRHjjoch1DZVZuL4i7DNp61G 3Humu6oIA5RfWVxUZkbT2hogt9ibcpjsjZA== X-Google-Smtp-Source: AGHT+IFtnGQtu7FXP0Vj6tB4aN4r+Cq7W3eeBWrvqRBVwW+NupuTCnbQ0Qw72PiZv09AQA0AgJZ56Q== X-Received: by 2002:a05:6000:18af:b0:3a4:efc3:88d3 with SMTP id ffacd0b85a97d-3a4f89ddd87mr11965415f8f.28.1748938267189; Tue, 03 Jun 2025 01:11:07 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com Subject: [PATCH v2 18/27] tcg/optimize: Build and use o_bits in fold_extu Date: Tue, 3 Jun 2025 09:08:59 +0100 Message-ID: <20250603080908.559594-19-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250603080908.559594-1-richard.henderson@linaro.org> References: <20250603080908.559594-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42b; envelope-from=richard.henderson@linaro.org; helo=mail-wr1-x42b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1748938453875116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- tcg/optimize.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index 103c94b12f..42d5ee23c0 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -2039,25 +2039,31 @@ static bool fold_exts(OptContext *ctx, TCGOp *op) =20 static bool fold_extu(OptContext *ctx, TCGOp *op) { - uint64_t z_mask; + uint64_t z_mask, o_mask; + TempOptInfo *t1; =20 if (fold_const1(ctx, op)) { return true; } =20 - z_mask =3D arg_info(op->args[1])->z_mask; + t1 =3D arg_info(op->args[1]); + z_mask =3D t1->z_mask; + o_mask =3D t1->o_mask; + switch (op->opc) { case INDEX_op_extrl_i64_i32: case INDEX_op_extu_i32_i64: z_mask =3D (uint32_t)z_mask; + o_mask =3D (uint32_t)o_mask; break; case INDEX_op_extrh_i64_i32: z_mask >>=3D 32; + o_mask >>=3D 32; break; default: g_assert_not_reached(); } - return fold_masks_z(ctx, op, z_mask); + return fold_masks_zo(ctx, op, z_mask, o_mask); } =20 static bool fold_mb(OptContext *ctx, TCGOp *op) --=20 2.43.0 From nobody Sat Nov 15 15:41:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1748938322; cv=none; d=zohomail.com; s=zohoarc; b=KjX0ZtzAF8o9Xzk2xIPapTrPIZwGiBDTn/LjxuC0OM4eDiBngiKvrvVWiV7r8uUFQc/bDFwalWhR2B8dN4iJs7wAIr//D41PMIfDjRlp1lg8H/K/HREPpCcFZqLlrDhNQNpiigamLH+J4U5ApsPXynsuRGEb5bsiJQ9thPRFGpg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1748938322; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=imo6l4YAJCNpBwtK2gFvupgfZPyatWqKQn0WtDN75Hg=; b=ac/nemdAbDW1z2uGPNMucW38dLxH/lNnV0aWZ9fK35nXKO2qWl+8HHeIuTbPlbZFO3mI2LoS6xrXOsolj0yJB0AkLaJJuIaRfMreN5/JTTl3JloOmz7Z2JtKw/sb9p+t/X0KHDHjF8DpFECQrzkeBeg9eS9qTWbzDcJXIPjlrwc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1748938322770972.7820727314171; Tue, 3 Jun 2025 01:12:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uMMkB-0005Z0-KU; Tue, 03 Jun 2025 04:11:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uMMk4-0004vC-Gf for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:11:28 -0400 Received: from mail-ed1-x52b.google.com ([2a00:1450:4864:20::52b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uMMk2-0005rJ-KO for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:11:28 -0400 Received: by mail-ed1-x52b.google.com with SMTP id 4fb4d7f45d1cf-6020ff8d51dso9128271a12.2 for ; Tue, 03 Jun 2025 01:11:25 -0700 (PDT) Received: from stoup.lan (host-80-41-64-133.as13285.net. [80.41.64.133]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4f009ff7asm17668852f8f.90.2025.06.03.01.11.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 01:11:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748938283; x=1749543083; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=imo6l4YAJCNpBwtK2gFvupgfZPyatWqKQn0WtDN75Hg=; b=FAYGwiNWCu/xW6Hh1riPXXTxIIrRfHN/c66ePQ3aG5L2vBaVm39jbkW0yq7K0ygryu oprn6eKekBEa6WVDxVVFKteJ0vRNTk02LwSoBqRNHXsWtB0ocK/b/vkUctKxNad3BM9b ADAUHS87rCd5gQOYsaHyvTvSQ+mVQPeDIw0Eh0AitpreduW1chyhtfLEpNTyJ91r0EZw +lTGNxG6gNVXjQLd7b1FinujUYudoB+3pZJLmqt80XRKNwj3YyIgafxMkiGohOKTQbKK glxlkjegVP7AffF2DjMiEN2oU4U9hP0LSnP4r5B3JTK1XgxNCWNHVp0Z6H7hXZml7Lpm nLYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748938283; x=1749543083; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=imo6l4YAJCNpBwtK2gFvupgfZPyatWqKQn0WtDN75Hg=; b=oJzRV9komP8uiA7xPndXwJYQxgAfQzKe0YnZ9uPjbNyVfXdWaELsUZfgvUGdzO8NF8 tY1TP/lf3E/IWqCuzfmPiwqow2bqvEPLrl0Xy8KlPhY1z3jilp9sDCHAeQDTH1Al9R4L 2BvbLExIYtdzgXWpI9icevjvaQ+4+0c9sVfb21ljaHg3NRiQ9gFRq75YhPFbVnaL4hPG Mz0/ipugM+GofYhgFb7wV0yVY0NUb4t3SBEX+4xS8/JIWUwCzVLRu0Xi7wa1gIV3SG8M 1mR7hLik4w+pgs54Bo2maJm/NQJLnUju7VpGkbRtKxj0wqqLqE69rFGSIQsbwsoLGMdu EKzA== X-Gm-Message-State: AOJu0YwsWczyEH7rBdcsaw8g/QJ4XMivTKGL7F4I0Q/wEN9jul7n/ndn zSdiV7iRRl1CJXYAu21vr0+rvV+niZ64pJHBmBOCFJ9vS/7kDfyhTuyyhYsBlnt0yiltR2ktlB8 vofXCocg= X-Gm-Gg: ASbGncstF6ANdIK+pT4CAVaTwnwb1R/wKHp63bnOZArXHPkwGedByOCETBLa7k7vLJu wDswKNVpaeOwBvY8ls2NCy4WOZc54e+3raAs8DxsqWullM+YhbvWSds08KaNL7jqAcU/rUu6Eut FaWx5U/Bbr+kmaKqa+I9t/LGY3dnqn5ndtCWHM61fnvo5AmE8qSHxs55LDuThFNreCdZm3tS6yX 14VRT0Tz2z4bx4SIrQ+4ZXkfwXBg4yxdNI6wjgBmWaDT80vYNlezjyglYltDC/+0OTbovBEABYv +wgD40SbHILLCfjrunB61WPUxj3qusKhgdw3aLEZcr/pCLh062l3MGz9+lkV+1Ec7AQ1tUJXTQY 68hiqPIuw0YodhGlp8Me++K8= X-Google-Smtp-Source: AGHT+IFmExVLQwwWEwAI1iHSgR2OjEMSa1DHYDddy+pg3Q0mZvZHGIYswq4KU2auXv38Mj/qnP3o0A== X-Received: by 2002:a05:6000:2901:b0:3a4:fc3f:b7fd with SMTP id ffacd0b85a97d-3a4fc3fb82bmr9282150f8f.19.1748938272569; Tue, 03 Jun 2025 01:11:12 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com Subject: [PATCH v2 19/27] tcg/optimize: Build and use o_bits in fold_movcond Date: Tue, 3 Jun 2025 09:09:00 +0100 Message-ID: <20250603080908.559594-20-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250603080908.559594-1-richard.henderson@linaro.org> References: <20250603080908.559594-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::52b; envelope-from=richard.henderson@linaro.org; helo=mail-ed1-x52b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1748938324297116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- tcg/optimize.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index 42d5ee23c0..abcbee9111 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -2097,7 +2097,7 @@ static bool fold_mov(OptContext *ctx, TCGOp *op) =20 static bool fold_movcond(OptContext *ctx, TCGOp *op) { - uint64_t z_mask, s_mask; + uint64_t z_mask, o_mask, s_mask; TempOptInfo *tt, *ft; int i; =20 @@ -2123,6 +2123,7 @@ static bool fold_movcond(OptContext *ctx, TCGOp *op) tt =3D arg_info(op->args[3]); ft =3D arg_info(op->args[4]); z_mask =3D tt->z_mask | ft->z_mask; + o_mask =3D tt->o_mask & ft->o_mask; s_mask =3D tt->s_mask & ft->s_mask; =20 if (ti_is_const(tt) && ti_is_const(ft)) { @@ -2145,7 +2146,7 @@ static bool fold_movcond(OptContext *ctx, TCGOp *op) } } =20 - return fold_masks_zs(ctx, op, z_mask, s_mask); + return fold_masks_zos(ctx, op, z_mask, o_mask, s_mask); } =20 static bool fold_mul(OptContext *ctx, TCGOp *op) --=20 2.43.0 From nobody Sat Nov 15 15:41:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1748938349; cv=none; d=zohomail.com; s=zohoarc; b=CVxO9vu4Q4xc4pk7YZOaSOciI5Zi2FVGtGpZ/DmWdZe9QVOhAJN42joxUR9QzykVxQjaYJN32NxLwoOLRcC1i992CZAZIVwrqaLBUK85ReQ9vlBipw99kDATyCFC6na6a1VXTMhDsSR9rSTxkoZDE9t/IDPzwNejOkWQrr+wtp0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1748938349; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=jLyCJWwAAJN3vJgUym1RFGXdMsRqGuFjKTLnad9b308=; b=EZ3OX9f+NLjo8NeL4abVv4Dp+mb/Y30pPqKxZ3lCcJgd7VPzn7XKqGjKacalZLsDNhBpiDThHLEvRVjloTdVijz0HGrnj6p1GwmvKOw3muAWbNb1GYnPCWPNU0xUQZIl47V+yo+twXtOsKvWzwLi/PDDVj6By+h/czj1sv0nf4g= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1748938349343985.8162106361261; Tue, 3 Jun 2025 01:12:29 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uMMk5-0004vY-9e; Tue, 03 Jun 2025 04:11:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uMMk2-0004VO-5V for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:11:26 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uMMjx-0005qg-8v for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:11:25 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-451dbe494d6so19978025e9.1 for ; Tue, 03 Jun 2025 01:11:20 -0700 (PDT) Received: from stoup.lan (host-80-41-64-133.as13285.net. [80.41.64.133]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4f009ff7asm17668852f8f.90.2025.06.03.01.11.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 01:11:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748938279; x=1749543079; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=jLyCJWwAAJN3vJgUym1RFGXdMsRqGuFjKTLnad9b308=; b=k/LSsmkYguol8tAhKuR2EhnDRvpYUMcUJot2em8CjMu7O2HeL5t7PK/LTmczuJEww6 Kvgr4v8yzta1YrFULbgfNb3MpeOjH05lAXLpNLVIy7Oajz1l4/xkFpuyIpUC22tImcKI vXvuuOegECqos3fD6yoe7W6F/L/s3wuXZRmtlDyp/j+QJWx0aOX8f3aBgdeQuLZfVENf KdfdcTIifQ1S3LuzWXjdNHP/7fTTODVi5WbUdFgo1wqzYTbvOywHNeBI40oya16D/2xu TAph0B4R9zz6pNGR5h5sOAizawD78oTirn9d+ql63G6ByI3A7JCgixl12vJmBD6JiCcw k1Sw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748938279; x=1749543079; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jLyCJWwAAJN3vJgUym1RFGXdMsRqGuFjKTLnad9b308=; b=jxytURGaIxfm+lWrvr6QjHV8cqEv7ylYe8BBsJxC/llnP9R7J6ZTImltrX2AxSVrA3 Na4GGbSX14jUKfrmpPdmGsAT52RhX0VKhIJ14SXu08Hp14uZQrPQFUnEmrapU0yL2/nv yamQKaEWrJta47ghRZRMaoHK7dWW5FAvFTFlQQ6J7CKIC6D0wiFwwI0ppRraxLDINhUf F1RxcJwz5f/0Va2VexUGgY57UMbLVQJDQymJqzdeiz4lxCCDNITfRiui9kxg3pR5G7xL 41sqCWDR4IZLyzOogqsV/ZDAfKypG3I4W0pbwVZTfEEEJfQJ183mK7SgtB/PzydGcFOe KQug== X-Gm-Message-State: AOJu0YxGL3xC6aOseAjjJ06JgwsIKuEgWUiMxpYvqK+NSQj6T77e8bsf EQW/XpzFwnYdzhztwKvnk+05sJum7IcQ4pWsSF6EE6OraxTzYKEsxA1IUdbAB6I+kL/MMfrjF5B Hd50aJSI= X-Gm-Gg: ASbGncuAXBo4+OH1WyTx5Gkcqa4ry/1kFd0mzoJU56aYITrDe1VnySjUEhNBnA2pfCs ir8yhf5siM1jpOCWuifWVRX34v8Xagobh6Pb4rWn555j1ELhNCwgXvIe+bb4LxZM6v7N5i5/7R0 EZ1QXyKdGsmxbIluzZAFJXlg1/qm/mppLRRZyWOlJ0LSnIpPdPcvL41R+NuMTflbNjOyfOFEH7A u+CDWhKtmygi1TOaWeyGFvBmcPac3xG5RJ9yE+CqcsaXBUdxtAN1p4VaCwdcewQPW0DYj9FQsdH M3g8MLKmqtfnSxOaUc8jT0yMF4PeqnPlSu9tLrt4mLPIEP+AZNrMu5ruIN+vNG5vTrE89rlZkiv gasCC1KBck1mO X-Google-Smtp-Source: AGHT+IGF5UJLLdd8uChkx+M0Vmp6eb34haQy3KSxKeNWTAd6cbDntVtd83SZdIuYrDQSycqvnCgM0g== X-Received: by 2002:a05:600c:3e8f:b0:441:b698:3431 with SMTP id 5b1f17b1804b1-451221a1bb4mr76609435e9.28.1748938279338; Tue, 03 Jun 2025 01:11:19 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com Subject: [PATCH v2 20/27] tcg/optimize: Build and use o_bits in fold_sextract Date: Tue, 3 Jun 2025 09:09:01 +0100 Message-ID: <20250603080908.559594-21-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250603080908.559594-1-richard.henderson@linaro.org> References: <20250603080908.559594-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=richard.henderson@linaro.org; helo=mail-wm1-x32a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1748938351295116600 Content-Type: text/plain; charset="utf-8" This was the last use of fold_affected_mask, now fully replaced by fold_masks_zosa. Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- tcg/optimize.c | 30 ++++++------------------------ 1 file changed, 6 insertions(+), 24 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index abcbee9111..673849f07a 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -1121,22 +1121,6 @@ static bool fold_masks_s(OptContext *ctx, TCGOp *op,= uint64_t s_mask) return fold_masks_zosa(ctx, op, -1, 0, s_mask, -1); } =20 -/* - * An "affected" mask bit is 0 if and only if the result is identical - * to the first input. Thus if the entire mask is 0, the operation - * is equivalent to a copy. - */ -static bool fold_affected_mask(OptContext *ctx, TCGOp *op, uint64_t a_mask) -{ - if (ctx->type =3D=3D TCG_TYPE_I32) { - a_mask =3D (uint32_t)a_mask; - } - if (a_mask =3D=3D 0) { - return tcg_opt_gen_mov(ctx, op, op->args[0], op->args[1]); - } - return false; -} - /* * Convert @op to NOT, if NOT is supported by the host. * Return true f the conversion is successful, which will still @@ -2669,7 +2653,7 @@ static bool fold_setcond2(OptContext *ctx, TCGOp *op) =20 static bool fold_sextract(OptContext *ctx, TCGOp *op) { - uint64_t z_mask, s_mask, s_mask_old; + uint64_t z_mask, o_mask, s_mask, a_mask; TempOptInfo *t1 =3D arg_info(op->args[1]); int pos =3D op->args[2]; int len =3D op->args[3]; @@ -2679,16 +2663,14 @@ static bool fold_sextract(OptContext *ctx, TCGOp *o= p) sextract64(ti_const_val(t1), pos, len)); } =20 - s_mask_old =3D t1->s_mask; - s_mask =3D s_mask_old >> pos; + s_mask =3D t1->s_mask >> pos; s_mask |=3D -1ull << (len - 1); - - if (pos =3D=3D 0 && fold_affected_mask(ctx, op, s_mask & ~s_mask_old))= { - return true; - } + a_mask =3D pos ? -1 : s_mask & ~t1->s_mask; =20 z_mask =3D sextract64(t1->z_mask, pos, len); - return fold_masks_zs(ctx, op, z_mask, s_mask); + o_mask =3D sextract64(t1->o_mask, pos, len); + + return fold_masks_zosa(ctx, op, z_mask, o_mask, s_mask, a_mask); } =20 static bool fold_shift(OptContext *ctx, TCGOp *op) --=20 2.43.0 From nobody Sat Nov 15 15:41:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1748938390; cv=none; d=zohomail.com; s=zohoarc; b=a4olBI7En87bSzNEHSWIqnEFmizF/LSMjSkqfjikmL6m1B8rpK6pUiS0l7Mxuvee2kmtOrCkk+W9gVoIzfa32+O8YfurtP9r5ajuU3dNff9cX604CFN/rUY7maa1683qVUF2p62gLyUmshFSDG5450aOumJHtaFTpRF/+Q6gPoY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1748938390; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=6tHAVSHiF/BVRJDZGSakF1c3dFxbLYF+WOUXWRiDRyY=; b=nVduKWdCDuRr1oTcZ0d8U5f2x25hkilxhJGGizjN2jLxAA2EyHBAnPXDTxUlcpkXN8I+NEel69t9calWq0W83fzbFlDwSSOas1p4jOdE10BZaidQfMbSBEinffn3osNRiInbpvhj5rXu08uwnnIwSv4aRJCHBlQ2AKYjhtutJHo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1748938389646757.0961245788983; Tue, 3 Jun 2025 01:13:09 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uMMkC-0005ZN-0E; Tue, 03 Jun 2025 04:11:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uMMk7-0005Gb-Ip for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:11:31 -0400 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uMMk1-0005rM-Gp for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:11:31 -0400 Received: by mail-wr1-x42f.google.com with SMTP id ffacd0b85a97d-3a3758b122cso3504895f8f.1 for ; Tue, 03 Jun 2025 01:11:24 -0700 (PDT) Received: from stoup.lan (host-80-41-64-133.as13285.net. [80.41.64.133]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4f009ff7asm17668852f8f.90.2025.06.03.01.11.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 01:11:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748938284; x=1749543084; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=6tHAVSHiF/BVRJDZGSakF1c3dFxbLYF+WOUXWRiDRyY=; b=BDuNkshqWHvJaZbxjd+L33vcCzuwgllmzGRLkR9wEOSPLnQQBT63htT4WFTHqhWUGd 62/v/TnKkQSyyWRyznfsmOZRo6yO3/q8rf3hWOJz2Aipofoy4gD+KhIW19SW4ddcVfwO p8tiX6m8El7bYNL/432JbBGl1DB0x7bZhaJGsdtSkE6PT+RJCYNNF6Cc8m4gQ7dt989B KePBtSYMZ4ruCfiEXwDFDU+f8jyQ5XEoFhceW8bMwiDcuQFuRov1beXnnzyxkQwL9J0w tdULu7xKSWRdMvJBCHLGsuB8VBu9XW4QnfBLOXyLp4FBwnjyjEjsTjxslhsMLV2DKARg 7kHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748938284; x=1749543084; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6tHAVSHiF/BVRJDZGSakF1c3dFxbLYF+WOUXWRiDRyY=; b=FPjhrNFppMXUsgoWZhkpY8a8YAkGhIo4oEW7ST6JuoD1+G+4sZRL66nlK6ENue4Qqe oWB16joFg0tckXCIeXHMVupQ60HX7IkP/dQMBt0rV8tWyR0gL9/guj3Ws32Juj5ErqU0 yaH9YVpZdIlkfw1EUbTVc5JMjOv8i1VZUz9UFMaSXFm/SZ2SQTg2iDq5RQU69X2VpfuM kFiE2vHucvdJXOEcY2C40HHZCU9yVNQuYu4v2UQvge9IaZpDe74J8l1rgT4NK5YGDcqf gqB1I98n0jid8/Fdh/MPjHPg+BdhynP+HInWctVo1kc/C9vDqD9thcPBCCXpdogKvhoK WMMg== X-Gm-Message-State: AOJu0Yxd1Fy+0UjvacI4wUfUFlYOJlPq/wnrtHNO2MVtCIAwrh1Zgl7O q0uMY6rFaDoiKa/AoyyS5f4qy4XJwIAktI6KDPFg6a8CJ67Jsd82wX/4PYZWNuOoEwxbfUbAFoW yoKoOOk0= X-Gm-Gg: ASbGncsZAsdANUtwlrhv9h7Z36GyzmES8bgc8To5wpni8QfN2uzYcyn1tPU974Xgf1Z M+Q7s1i/Hx8mXC00V4hNt014aNwOgQcUgLWK5N2WksuDUIHdUUVOJomDO3+bk3vaRBgYTaiwSbd odWg3G/zaewS/EuZxp0aUJ5c0AYZ1xXKGEsX/No8e2F2CuXI99xuxr4t9q//nW/pZ8I4DKOlT6P hZ1pg4bK315GfuLLnY3LJsUIMsyySDIAAqT4h92lx1Ltjt0gQ8WJw13S6nmuMGWjC8dTIebq0Rj dffLyd8mxRSDHrn7zfo+JmQ0rdSi6O2RW5IucTQU6s6jcl5KHd9UThkvcUqZDfnEVxO4HG/KxOy qkdlFgbvIPGzDbWZxHQ+e+rM= X-Google-Smtp-Source: AGHT+IGriQ+xxQ9aeeWKUhlLTTeMHTRvJixovLpD7FHaeY4y1MMWlvi25KpGRdkWNg4yAra3TiWnBg== X-Received: by 2002:a05:6000:4287:b0:3a4:e6bf:38b8 with SMTP id ffacd0b85a97d-3a4f7a6534cmr11264733f8f.30.1748938283683; Tue, 03 Jun 2025 01:11:23 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com Subject: [PATCH v2 21/27] tcg/optimize: Build and use o_bits in fold_shift Date: Tue, 3 Jun 2025 09:09:02 +0100 Message-ID: <20250603080908.559594-22-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250603080908.559594-1-richard.henderson@linaro.org> References: <20250603080908.559594-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=richard.henderson@linaro.org; helo=mail-wr1-x42f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1748938392833116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- tcg/optimize.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index 673849f07a..0b441bc611 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -2675,7 +2675,7 @@ static bool fold_sextract(OptContext *ctx, TCGOp *op) =20 static bool fold_shift(OptContext *ctx, TCGOp *op) { - uint64_t s_mask, z_mask; + uint64_t s_mask, z_mask, o_mask; TempOptInfo *t1, *t2; =20 if (fold_const2(ctx, op) || @@ -2688,14 +2688,16 @@ static bool fold_shift(OptContext *ctx, TCGOp *op) t2 =3D arg_info(op->args[2]); s_mask =3D t1->s_mask; z_mask =3D t1->z_mask; + o_mask =3D t1->o_mask; =20 if (ti_is_const(t2)) { int sh =3D ti_const_val(t2); =20 z_mask =3D do_constant_folding(op->opc, ctx->type, z_mask, sh); + o_mask =3D do_constant_folding(op->opc, ctx->type, o_mask, sh); s_mask =3D do_constant_folding(op->opc, ctx->type, s_mask, sh); =20 - return fold_masks_zs(ctx, op, z_mask, s_mask); + return fold_masks_zos(ctx, op, z_mask, o_mask, s_mask); } =20 switch (op->opc) { --=20 2.43.0 From nobody Sat Nov 15 15:41:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1748938323; cv=none; d=zohomail.com; s=zohoarc; b=f6ui0q8eGDrWBIikpI0/J91py2AcbJ0C/uWpCrxJckhqQzjXQgxnxOhyo5At7hv2ZZYUhUt+fIu1Z7odE/yVx060ZgLPPc0azc65X5+d9HbdgNERbZa80sW+iMqX223f8v2TsRVKK8KNFTXXnm81ItfC8QfHdRnhbTGuWnhWXkE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1748938323; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=W7U4qvIdnSjKEmKjhZg9LPBWKFbOmg9j7tuwb6rQ0l4=; b=S8Y49ElcldvmTrq2FFn5Hnvvjanrbc7FjzLax4JTKn4VgkbtGfdqwWlCVf4Esuth2dRIfcKhp7sFsIlmpX0raNBFjneOTELsFADO5yKE0DxlB9TzKQeneYOwNdwxYQ2GfPPvfGZjAEC4HLd7DfqM9HFJ2wzbC/Lh2rqIt9VNdHs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1748938323272819.2150445253413; Tue, 3 Jun 2025 01:12:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uMMkF-00061Y-4e; Tue, 03 Jun 2025 04:11:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uMMkC-0005gJ-1P for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:11:36 -0400 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uMMk8-0005sa-KV for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:11:35 -0400 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-451d54214adso19343705e9.3 for ; Tue, 03 Jun 2025 01:11:31 -0700 (PDT) Received: from stoup.lan (host-80-41-64-133.as13285.net. [80.41.64.133]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4f009ff7asm17668852f8f.90.2025.06.03.01.11.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 01:11:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748938290; x=1749543090; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=W7U4qvIdnSjKEmKjhZg9LPBWKFbOmg9j7tuwb6rQ0l4=; b=PUud556+N2c+WWpWCyjH705xWj7NoEDpATX4ZNHrd0h0FAIdk6LA2BqSOs/B5AP8gw qJBShVK6NWhGkZG1gVL9BPVqG8VOWZiCdIV4fRRMrq6NPuXy+mnxPsH5KQMYrCeI2D1M 0G8nA5BL1VeYen/UrluMTiGVN15nW5payFF+bxLpjdeWUOJNmaHj8WWfGtC6t7jY0zd1 c0BO+UAL2I7z/++tBO7LTZT8Y6SaZABHvY541j0t9xDuhFDDK+Je0fH/64juTWlErG9z eYAmrWQVlt6EW/03U4gwg2mAvoCHeZOy+erjVN6ErcvdeXdIqFXfsIeiC5p8i37eMzDo CUlA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748938290; x=1749543090; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=W7U4qvIdnSjKEmKjhZg9LPBWKFbOmg9j7tuwb6rQ0l4=; b=WbqoD6Uw61ZAwX4bmMEWBr1bXBjiHnE3c3bpBJE0QhkyP2gkXn93BrJK765ON8XP3N dJut4Jc8nY3pVhnlaPaXI68d2a7RFJ5wqXqRDlpB18z3j4LlKGXwl/vpEDX4OTQS+5An tfXKmI6zgT7Wz4NUiho0hk/hMgK2oqvHGQGZEEY0PhKUBND2uWYMhigsqwBy0RGG0iOx h44vkcY5FVO+tArGx8z5agrY8aQFGLUVeEcJdfHCz1CHS3069CsfaoTPYq0THtOJQb5j Ehym6iI2ep8HSORUAkT5RbpDsELxWbPGSdfhgi5B2h4w6ryfTZvh5tuKmBQwgtzJxd0R e+1w== X-Gm-Message-State: AOJu0YwNjWx6Kt+xJBDOjv0jRlvqxOI/Z/Ns2z/hw33OuiuzqoHguz8C Wku+LYzUpcLRrcR7qC72NdP8b6Q88FSYtEUjg/DKHow2PUSuK/xjWCqmmg6QkyRnnTet2GK3LkD eYCwF/Zk= X-Gm-Gg: ASbGncua6Ul2Gdievr9yWD2G87OgfvqXg0oMniAbJsO/+vfhAx4LLWrh46Gm504xF8G lx0aoKBAXQR+vKEBdhWhI9048e9DJLn8v4aTUxk/WTkEsb1FWf6efRs2SRnam+BX1xHiBBxEY0q soJSfVuEbGygpoXD/mtFk9q/MSNV0ZSTZ2mW2OaEusWSPiG4hBJsR/J+U1rsrSZBFpIw9iahw/g cG8UpQN48NVdaaqqaya9aZP12OMK/eeewFTkRmtDOx+0UxQ3zDudbKPPF9wokh+0ireQpp83lbk ZTm/5IKqe8DMAYN4jQFePFtnsWgMLobnUDl1ftjwAmbep3Koa5+O3if3J2UOlpD8R+vB2ujvpKJ OyVFySlOu8LyBrJX3LVxPYSI= X-Google-Smtp-Source: AGHT+IGKaI5CX+3sCS3/nrqoUMgWiFtHDjg9DUi7Gt4OxBDFweEzvlVFkvHtplid0NCq99LrWMTWIQ== X-Received: by 2002:a05:600c:4387:b0:451:df39:f7c5 with SMTP id 5b1f17b1804b1-451df39fbe0mr26618885e9.20.1748938290604; Tue, 03 Jun 2025 01:11:30 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com Subject: [PATCH v2 22/27] tcg/optimize: Use fold_and in do_constant_folding_cond[12] Date: Tue, 3 Jun 2025 09:09:03 +0100 Message-ID: <20250603080908.559594-23-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250603080908.559594-1-richard.henderson@linaro.org> References: <20250603080908.559594-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::335; envelope-from=richard.henderson@linaro.org; helo=mail-wm1-x335.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1748938324355116600 Content-Type: text/plain; charset="utf-8" When lowering tst comparisons, completely fold the and opcode that we generate. Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- tcg/optimize.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tcg/optimize.c b/tcg/optimize.c index 0b441bc611..aa64f15779 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -784,6 +784,7 @@ static bool swap_commutative2(TCGArg *p1, TCGArg *p2) * Return -1 if the condition can't be simplified, * and the result of the condition (0 or 1) if it can. */ +static bool fold_and(OptContext *ctx, TCGOp *op); static int do_constant_folding_cond1(OptContext *ctx, TCGOp *op, TCGArg de= st, TCGArg *p1, TCGArg *p2, TCGArg *pcond) { @@ -834,6 +835,7 @@ static int do_constant_folding_cond1(OptContext *ctx, T= CGOp *op, TCGArg dest, op2->args[0] =3D tmp; op2->args[1] =3D *p1; op2->args[2] =3D *p2; + fold_and(ctx, op2); =20 *p1 =3D tmp; *p2 =3D arg_new_constant(ctx, 0); @@ -929,9 +931,12 @@ static int do_constant_folding_cond2(OptContext *ctx, = TCGOp *op, TCGArg *args) op1->args[0] =3D t1; op1->args[1] =3D al; op1->args[2] =3D bl; + fold_and(ctx, op1); + op2->args[0] =3D t2; op2->args[1] =3D ah; op2->args[2] =3D bh; + fold_and(ctx, op1); =20 args[0] =3D t1; args[1] =3D t2; --=20 2.43.0 From nobody Sat Nov 15 15:41:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1748938387; cv=none; d=zohomail.com; s=zohoarc; b=VqfjYwLvZmNlKFs/tUXCgludE04RGJeF8vmaejXIFGUN0yZmQ8F2k8FAPDiAGm4a/cERDzngKlQ30wwrVrLgzrRD63DCianZPU60kgPQR0Pdvlg6CMOAdC8bFvth+4eE1GDF8qYixV+bpqx7zIdobI/O1fsjCk5AdG3N5pXlxhc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1748938387; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=H0aoE+Pz39j8pYHji37eDW/+OJ5q4qy3VlkGMlCSnDM=; b=FLHYqAoldi0L0zj0khgJsI1r6H7F85Us4ugdGaTvtPKbw2UTNuSJluQOIFJN2HQ4ACknZ5pjhAWQfFerbUKOArKgjQ0Y+qtozzPondxRJessuPON2DEjQ0Jmcm9sZzDPU8jHZ1kLe3Miogxbv+eW0RnYNYMken9bFTmDinuadtE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 174893838732560.38296114464458; Tue, 3 Jun 2025 01:13:07 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uMMkM-0006wS-3I; Tue, 03 Jun 2025 04:11:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uMMkJ-0006jP-Qy for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:11:44 -0400 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uMMkE-0005tH-QP for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:11:43 -0400 Received: by mail-wr1-x42e.google.com with SMTP id ffacd0b85a97d-3a0ac853894so4976704f8f.3 for ; Tue, 03 Jun 2025 01:11:37 -0700 (PDT) Received: from stoup.lan (host-80-41-64-133.as13285.net. [80.41.64.133]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4f009ff7asm17668852f8f.90.2025.06.03.01.11.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 01:11:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748938296; x=1749543096; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=H0aoE+Pz39j8pYHji37eDW/+OJ5q4qy3VlkGMlCSnDM=; b=V736SSssRmJVHvnTLXiXqIuF+WnS3snbcThovtb753l0j14u1xqvbfLu8Ow4YFYmSN yJ7cTiyM6jqaxzV3SeiZzd3VQ5GWWE2FokfvJNnOCpmYBnhaMoUNZzxqLFtN+TeyV0i8 esMMTI4ckiAyWsYoQCMjne2dZPxOr9RVcHU4y6JPqe0NxlHrHloK0S03IUUM6h1vCZBX OJyUWRru/XQcnvs0LmaSxLHf8iH5itaOu0QMr6MnGEccFXbxG1KzMzXaKTd3uDxVm4dD zSMklTOl0v7AnrbpQ7KsO+0J6yVOn0Ew4U2A5PtdAUEmn57zvDTWrEILq1CKtY5gIHxl hN2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748938296; x=1749543096; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=H0aoE+Pz39j8pYHji37eDW/+OJ5q4qy3VlkGMlCSnDM=; b=VNAyxfB/7u05Mbe+ZfwBbJplE89pnwCmTWiGHibkr9/8R7rFkxgdvXJ8SGJjRHc7eo e0jaModfgs87FctlfXFnEZH/Rj09saRl+vy9H/kUmsn8ETRw21YD2aGPbSwAVGoeBDf3 zAZU/nzcyLBEOHBPzKPSIoUbkp6NQ00dpkYCqHy+TiA0xDTXyTrj6Zdvx1dqAjKmmR1X J44zYPGy6JsGzvk9LgidQTzo6vtpx1RoulTFQBvHyKZeiJis5RXYwm/Xqk0VVwepxVA2 /ZO6q+Bo4ZLQp0dkiytY0ut8lUrqcaWwgAB/AjzLhWeTqV4OQCwYRFdjvuEPUFLekeSE HB1Q== X-Gm-Message-State: AOJu0YzROztyxUgMZfHo8ZegIsrgO2iGiG49hYXnwIcrMYx+sUTynJrt tWZJhfRGexKEat90Llwjd41GZsGBPXVpo47a5e2WdbPwO51f3Sjf2OSAJM8p8JFUJZucDbaYwaa j5UzMzQI= X-Gm-Gg: ASbGncuMGOulNzG9cOFmiEuhof2+U+nHNzw7OoRazA/x+mTQ70M40OyoJ9Hlw4Ve1Wt KVJJmQjMLe7SnGCp79klt70e3fWn/fUq2PojB3cz5nVG+B3UeYnGh3WXyUXvSYgP+PDOGjHOflC 1p1zJTaZFPqyMm0Ex3Gm/tFf2Sj7SttkZ92omDpQckgyUNe7V9+9YUiBrmBnIfguB5gbl7tPZzS NRFEY8oimSOX9zb9R2M25puUBDQuP/MKXnq1spFCQ93QfVrUw5CZCHSEh5GVqpTjN7iGwfitr6s ykAv+kMZshBz7XYj2Le86TaIXMCIz/jUQGrdmeEw7z71bxJ7dwNNKWazl53TmPh8xbvsLHL2iZN tpmJHfKtjOBAK X-Google-Smtp-Source: AGHT+IEe/5PX1YMMwUhiOQNpOoQOxV5RJMtUqO9QGabnVSS7V8jG8mHYpvfsx/SUv9nsbb8S5CGu3A== X-Received: by 2002:adf:e28b:0:b0:3a5:1471:d89b with SMTP id ffacd0b85a97d-3a51471dbcdmr1095032f8f.53.1748938295631; Tue, 03 Jun 2025 01:11:35 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com Subject: [PATCH v2 23/27] tcg/optimize: Fold and to extract during optimize Date: Tue, 3 Jun 2025 09:09:04 +0100 Message-ID: <20250603080908.559594-24-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250603080908.559594-1-richard.henderson@linaro.org> References: <20250603080908.559594-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42e; envelope-from=richard.henderson@linaro.org; helo=mail-wr1-x42e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, T_SPF_TEMPERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1748938388809116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- tcg/optimize.c | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index aa64f15779..06ccf39d64 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -1044,8 +1044,9 @@ static bool fold_const2_commutative(OptContext *ctx, = TCGOp *op) * If z_mask allows, fold the output to constant zero. * The passed s_mask may be augmented by z_mask. */ -static bool fold_masks_zosa(OptContext *ctx, TCGOp *op, uint64_t z_mask, - uint64_t o_mask, int64_t s_mask, uint64_t a_ma= sk) +static bool fold_masks_zosa_int(OptContext *ctx, TCGOp *op, + uint64_t z_mask, uint64_t o_mask, + int64_t s_mask, uint64_t a_mask) { const TCGOpDef *def =3D &tcg_op_defs[op->opc]; TCGTemp *ts; @@ -1095,6 +1096,13 @@ static bool fold_masks_zosa(OptContext *ctx, TCGOp *= op, uint64_t z_mask, rep =3D MAX(rep - 1, 0); ti->s_mask =3D INT64_MIN >> rep; =20 + return false; +} + +static bool fold_masks_zosa(OptContext *ctx, TCGOp *op, uint64_t z_mask, + uint64_t o_mask, int64_t s_mask, uint64_t a_ma= sk) +{ + fold_masks_zosa_int(ctx, op, z_mask, o_mask, s_mask, -1); return true; } =20 @@ -1448,7 +1456,26 @@ static bool fold_and(OptContext *ctx, TCGOp *op) /* Affected bits are those not known zero, masked by those known one. = */ a_mask =3D t1->z_mask & ~t2->o_mask; =20 - return fold_masks_zosa(ctx, op, z_mask, o_mask, s_mask, a_mask); + if (!fold_masks_zosa_int(ctx, op, z_mask, o_mask, s_mask, a_mask)) { + if (ti_is_const(t2)) { + /* + * Canonicalize on extract, if valid. This aids x86 with its + * 2 operand MOVZBL and 2 operand AND, selecting the TCGOpcode + * which does not require matching operands. Other backends c= an + * trivially expand the extract to AND during code generation. + */ + uint64_t val =3D ti_const_val(t2); + if (!(val & (val + 1))) { + unsigned len =3D ctz64(~val); + if (TCG_TARGET_extract_valid(ctx->type, 0, len)) { + op->opc =3D INDEX_op_extract; + op->args[2] =3D 0; + op->args[3] =3D len; + } + } + } + } + return true; } =20 static bool fold_andc(OptContext *ctx, TCGOp *op) --=20 2.43.0 From nobody Sat Nov 15 15:41:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1748938424; cv=none; d=zohomail.com; s=zohoarc; b=DsLgnmtihr8E2nPVddpkRrYFixmIV/835uAiZC3UuM0QznuzZFbVuBhvWs0KtVkgN9p/7S6SNZivwi08+x166e2Nwu62pgdXhXg1XgYId1YLNW9n3CvR3oQTfxCh7XFMFOfH2kKcGiuf5CfQiKW5iZnf2n8stHakzj2S3BFSOqY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1748938424; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=oDvLviD3nK7LgDkX1sD1R/tH/8Q82WUdE6uBnZ3E9wU=; b=hu/tvBjDqXpkWFrJ1ZFVrarvwq2Imj9LerMfj8P57DPfOghKUftn5R8n0DNj2TtnGXU+T6eGmbfmcs7BqwrSbIx1gMXuYFVJG337m84PRSzTbfmeaJoi45t2xXQSacjTlRVIeFT246arGMLAKbCbKX1E5WvVKffkkua4hUUk4n4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1748938423973191.49623016818407; Tue, 3 Jun 2025 01:13:43 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uMMkX-0007kT-UR; Tue, 03 Jun 2025 04:11:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uMMkS-0007SL-1r for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:11:53 -0400 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uMMkN-0005uE-7U for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:11:51 -0400 Received: by mail-wr1-x432.google.com with SMTP id ffacd0b85a97d-3a4e742dc97so3957115f8f.0 for ; Tue, 03 Jun 2025 01:11:45 -0700 (PDT) Received: from stoup.lan (host-80-41-64-133.as13285.net. [80.41.64.133]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4f009ff7asm17668852f8f.90.2025.06.03.01.11.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 01:11:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748938304; x=1749543104; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=oDvLviD3nK7LgDkX1sD1R/tH/8Q82WUdE6uBnZ3E9wU=; b=sBJH8lHVGBwacKemxQjtFufIpS3GT181qHuYfwJ+FAQj2oLvYdOeCX6Vq98w5xtYwj 1mfdFQikPhZIqlrwx3rKVnJGWcZnt+B2+/8JTU4L3iHBFy2qKgbYPrxsnF8TWpUl624A 8ve1L7SK22LD6n+/PhWOcheoSHMMvAmk0Tzl1K1pEzuaxRj0Tjrjypcmqglvg6J0GHXQ 8rHENp5qoS8UJgRGoDB6Ey5oPJO3/J9Yfk7kJqN/AsipZX/BxVGwnWxMMHot6Ii6j/GQ pDJ+0sOf8ZZavZk/XL2e9hBM/vlS3oXw3JgdI+lk0wHroUZO1WmExUFgwbjY8yfAOJef K2OA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748938304; x=1749543104; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=oDvLviD3nK7LgDkX1sD1R/tH/8Q82WUdE6uBnZ3E9wU=; b=i6+0nhxXTebUoogYHcFRmGK92wJYRCI+ECmbEbvuRAde7beKWaNpP7jFWKK5mYjnnf 1xn4+V/gtkQBpM7GxI2IxxlYcxGTnmQhxxGs1+Jx8eZ7lTCkw7YbuVj2p6xzmKAO5W59 ldt+GKDM/9TZIii/67aysrDnX33tSQJygin/wha4dJN65EELpzeYpG57BrIfywKeOiqD ZtlLuMAenfBlzosdeqCqDGr+w28tSt/QSX4NffV1ITOHMcWl3bPheK3sLOlFFqlyuZnX NufCLTs2HKy8DFAqUo6Cx5YBO1qGJwPUWgKc4EHb97sokOtvSeAHT3prtmeSB9w7CIMA Lrjg== X-Gm-Message-State: AOJu0Yy5/2qs5XTycYmbM2Yog2VB43Qhuvfy3Xv5s/VqvAA6D8WRYhDI Ikbvvwen7uOxU9jxN3Zai988S6a19n49/R/dugtlIpEpuAXqZ0rSwccFeK34LLlMGsBdir+1od5 k1iAIFlM= X-Gm-Gg: ASbGnct70ah5R1fdvaTvYJ4K6UD1/SI3NJjl28BNmNmsTQQ+XHrRo7GwKphQg9/URrq XziGcXmMfcrumpvq5hz4juopdflXEb/aKQAIU86zy0NixkKbvyE8Z7JD5uKPkFUyyuTIPNwcg+V 0FbuzSVe15CGYpkG7kXhsvMwptypz7pnos4PklCkQ3Wt7c5Vbh9RIuGSY4C5FkDmy/YQxKODfxK YIOG+YcdZxJcCb+SH/n1VC+Nl0wyrKvExggArbS+NvZzxGDrjls2JxuBIMcJhROKJYE0hS8K6Tw VW+8PiAuxDw5dpfTY1R125lrJDOTcS/MhwSNP63JllrZT15sy7gVrn4e/1feQF0AqFn0cxu1Dqk H0yZvdXMOpUF3 X-Google-Smtp-Source: AGHT+IG31Hf+39ofFOWmNgv6PWAgqHYV/SErOvFn7z9bvA7PKbY0mb1LNz+DeZDG2I2fejSqy4SDEg== X-Received: by 2002:a05:6000:3108:b0:3a4:d685:3de7 with SMTP id ffacd0b85a97d-3a51417af94mr1144369f8f.8.1748938304271; Tue, 03 Jun 2025 01:11:44 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com Subject: [PATCH v2 24/27] tcg/optimize: Simplify fold_and constant checks Date: Tue, 3 Jun 2025 09:09:05 +0100 Message-ID: <20250603080908.559594-25-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250603080908.559594-1-richard.henderson@linaro.org> References: <20250603080908.559594-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=richard.henderson@linaro.org; helo=mail-wr1-x432.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, T_SPF_HELO_TEMPERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1748938425476116600 Content-Type: text/plain; charset="utf-8" If operand 2 is constant, then the computation of z_mask and a_mask will produce the same results as the explicit checks via fold_xi_to_i and fold_xi_to_x. Shift the call of fold_xx_to_x down below the ti_is_const(t2) check. Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- tcg/optimize.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index 06ccf39d64..f3a2328fe4 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -1434,10 +1434,7 @@ static bool fold_and(OptContext *ctx, TCGOp *op) uint64_t z_mask, o_mask, s_mask, a_mask; TempOptInfo *t1, *t2; =20 - if (fold_const2_commutative(ctx, op) || - fold_xi_to_i(ctx, op, 0) || - fold_xi_to_x(ctx, op, -1) || - fold_xx_to_x(ctx, op)) { + if (fold_const2_commutative(ctx, op)) { return true; } =20 @@ -1473,6 +1470,8 @@ static bool fold_and(OptContext *ctx, TCGOp *op) op->args[3] =3D len; } } + } else { + fold_xx_to_x(ctx, op); } } return true; --=20 2.43.0 From nobody Sat Nov 15 15:41:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1748938469; cv=none; d=zohomail.com; s=zohoarc; b=bCTe2cND9AyuSii8atLmI3fpIUEFySuUc9Pvow0O/LGIty2Ky5qjQwibH+72OvnygQb8EnJhWbgZU6pJG7YtfuXSB7SkMXMBUS8bap7wM1fgEExs2dC//SL3h2pZKh5rMo72scA6utvgDrTw+OGMzhWCZ/B1Jh1bQ+DmkgoFZ10= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1748938469; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=g7MD0/Ee90ZrXQaB9jW91JelH8N1BJVB8xK/qD2yN+w=; b=M418zgfL/xWsodDYCVKrOnz9J5YsRnMG90SdVprF2WTJUSkPRIO/4RYE0cCCiGdlP/Zhx1WfHbhsyb5q+cwgVL6HDrnwhfibCMNq/TN/JFFkv9gfoC4t6Xj9SIyjVq8uqBIn1bHlqXMmLGybZWA8Gv/iLtXsb2kQXJ2BZluMV9Q= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1748938469861809.1808612885112; Tue, 3 Jun 2025 01:14:29 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uMMkZ-0007vJ-NL; Tue, 03 Jun 2025 04:11:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uMMkT-0007Yl-Sx for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:11:54 -0400 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uMMkR-0005uk-Py for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:11:53 -0400 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-450d668c2a1so27077475e9.0 for ; Tue, 03 Jun 2025 01:11:51 -0700 (PDT) Received: from stoup.lan (host-80-41-64-133.as13285.net. [80.41.64.133]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4f009ff7asm17668852f8f.90.2025.06.03.01.11.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 01:11:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748938310; x=1749543110; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=g7MD0/Ee90ZrXQaB9jW91JelH8N1BJVB8xK/qD2yN+w=; b=aPceGHAADZqpRhr51pN5leIeYjROFOc2QxjDUjoWM9E8nzoji0MfDiq+JOfzwjkSo2 P9pQctHUPYEthSIrJOSmaxVOeLB06joW+cWmUpS3KH5EcEBcW156RWKVGuTV/NTR/Sjo Pepht9gLjafyIKEMd3XGGkqXVdBcc61fVskl8y5QkpMfIvmIi7EkyNnq6onxi4ShCwhU qXsa/1lbsa/3vENzr8Q/jbDHsAxqUapH4lhCU4K8oVrA2/DkocIlrjzILkXtFiIWUkC4 gYYVzW8gwY/OfcIShtAYXUNblUJWFupvSlY3Lt55cwgfJOwphek4Df3181F3iICpzmJH wUcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748938310; x=1749543110; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=g7MD0/Ee90ZrXQaB9jW91JelH8N1BJVB8xK/qD2yN+w=; b=ircgZceDnkYl9iqdxG4SlpC/1AJxWKrQSf4yyct/8uarbIUVh+xt6k746hlvSbYm8R rxiA3wYHsvWiNT0Yva1skJZLAaWXDdeLAwlWGEDytdlngCz9LrZ5Q86+mAc5KqkQEhbs d6oUdOsGZEScK1Rzn/ZZrdYVQEgIwUuXD9TUf9teeuLwpXPVRDr69Zu2m6jQ2g6GlUON vqq5KSmWMwhaL2Tu8NsQcCHKRL4Zgrrlk3GqrhBe3zDCuElEmT3g2SoY5ARGE+959Tx+ 3u1Tt6PVLpmcncYyXf5asrQRYgK2wsjr13Fengi0YROhWyXnGQ7sNC7r1QrRQEAqXVFp G5Tw== X-Gm-Message-State: AOJu0YyKYMKN++srWjo+4ud4oK2Tuw/gXYY8HpSDL5+RZf8JVJcHYi33 edUCwLC3X6Srf9QuYpWCQyJzl8sv2vE2eMxvwHkLXU2IgLRNcyTk5chfTLT2H97jpnG2lmKYCDl RW0gwp9Y= X-Gm-Gg: ASbGncu2sxSJstFviYHsHTyl8HP6Jms3zjWxfCz4YhJi/c05Lrp2Mkj1aF/n9jh709y z/QPYmqh7Fn471mpCh4PekTGV79SJH+cKLGEhgyAGWs8wHQ2Q8gEMBTUOfqiBuA+dd+THXRxCfq N3b6Zmjou7l2Chm16BEZxhOp51USPPU58FXayPYyGrqfihQlm61qrb+t9AFgV6yfmjLH+SHkQVF F2LDVusiO4tITodDyB8/eNhQGq3RpNK2qEcoBzSh1SvjUrT1Mics/wbWJNhrhG5UAqAmYJOQIrw jw+dZK2GpDjn5fjMmXv87sW+IG0SBCDuFsP2XnooPWu3n13YPsA2rLQ049kABWbTo2F8cIFpf/a 6eOtfDHTNKsSJvR0zQrrU5AM= X-Google-Smtp-Source: AGHT+IEEUelRSGmofqHgRd2y6FFhwQ1cV9N4oKJVeAIz0/A8twaLa59yDMd4HWo4nPwbUDd9/86Rrw== X-Received: by 2002:a05:600c:5849:b0:441:d228:3a07 with SMTP id 5b1f17b1804b1-451e61215admr11369155e9.13.1748938310098; Tue, 03 Jun 2025 01:11:50 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com Subject: [PATCH v2 25/27] tcg/optimize: Simplify fold_andc constant checks Date: Tue, 3 Jun 2025 09:09:06 +0100 Message-ID: <20250603080908.559594-26-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250603080908.559594-1-richard.henderson@linaro.org> References: <20250603080908.559594-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32b; envelope-from=richard.henderson@linaro.org; helo=mail-wm1-x32b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1748938471846116600 Content-Type: text/plain; charset="utf-8" If operand 2 is constant, then the computation of z_mask and a_mask will produce the same results as the explicit check via fold_xi_to_i. Shift the calls of fold_xx_to_i and fold_ix_to_not down below the i2->is_const check. Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- tcg/optimize.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index f3a2328fe4..8d14a38f9d 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -1482,10 +1482,7 @@ static bool fold_andc(OptContext *ctx, TCGOp *op) uint64_t z_mask, o_mask, s_mask, a_mask; TempOptInfo *t1, *t2; =20 - if (fold_const2(ctx, op) || - fold_xx_to_i(ctx, op, 0) || - fold_xi_to_x(ctx, op, 0) || - fold_ix_to_not(ctx, op, -1)) { + if (fold_const2(ctx, op)) { return true; } =20 @@ -1510,6 +1507,10 @@ static bool fold_andc(OptContext *ctx, TCGOp *op) op->args[2] =3D arg_new_constant(ctx, ~ti_const_val(t2)); return fold_and(ctx, op); } + if (fold_xx_to_i(ctx, op, 0) || + fold_ix_to_not(ctx, op, -1)) { + return true; + } =20 z_mask =3D t1->z_mask & ~t2->o_mask; o_mask =3D t1->o_mask & ~t2->z_mask; --=20 2.43.0 From nobody Sat Nov 15 15:41:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1748938350; cv=none; d=zohomail.com; s=zohoarc; b=CIZDuGNKZVFnAd0se0wYHgwQbOlOaVtEuDReE6LhQbdp5suMX1EF2wPGAdJXL+/AwOcqJ1MYz1y1wsk0a7e3DDicQqOJJZj4e+cNH/M40sUYzCK3coHQFue504kts8FDabmiWrIxUpdRBXul9LLgiw8qmDr6YD0eH42KzHPHQZU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1748938350; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=5tIbiNLH/Zb4M+vkarpmZzOW22aZ3EjbIGp7vOL8+9k=; b=NXH15V0N6H8ntLJIyu1nKAp5ABhYqmF0/neJTYhGS52/eN/Wrv74jcckUKZPGXkkKiOfq4Gx6cjndTnbNJfn3MSCZfVHNNGMOdan/y0Nid6uJJ1CT09YsEhlOqmjA7eY9BMkCJzo5rTEjbtTbf0jybXTd5tLvMIM/CsSJTRLeYI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1748938350342818.3832971108749; Tue, 3 Jun 2025 01:12:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uMMkf-0000Nl-Un; Tue, 03 Jun 2025 04:12:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uMMkb-0008Q2-Vv for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:12:02 -0400 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uMMkX-0005vF-T5 for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:12:01 -0400 Received: by mail-wr1-x42f.google.com with SMTP id ffacd0b85a97d-3a374f727dbso4591811f8f.0 for ; Tue, 03 Jun 2025 01:11:57 -0700 (PDT) Received: from stoup.lan (host-80-41-64-133.as13285.net. [80.41.64.133]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4f009ff7asm17668852f8f.90.2025.06.03.01.11.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 01:11:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748938316; x=1749543116; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=5tIbiNLH/Zb4M+vkarpmZzOW22aZ3EjbIGp7vOL8+9k=; b=p+v9+savRPZcej+Tt/mOxGm9ZqxQ9Q4uUzY/r3HkM1kqqDC1VNv5pzoH1ezc9YvFYR 9cg6r0dzvudiQLICbobNCKUeYWiZJ3q3y8yHxbHJX5IWRxDQ7Eo8rxth97Z3i7Qibuv+ oXHOfT4S/JYCZ6WFyX0PWcBJB+37SdI30aOaXRQLZDb+WMLluR5nQIW6y1lfWNwJiBkW n1E0DHDjgfrwH7diq6E3JMOukGTkVIYT+lbNu/xZN0b1dYctuK8NnsUuyoQTgr30ENia sjwokB1bZh306hUnlSN7L57ZZwN0WZxt3B1ca0Val0fCfIRYP9k1baKBQUd4UTqhajFD 8zDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748938316; x=1749543116; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5tIbiNLH/Zb4M+vkarpmZzOW22aZ3EjbIGp7vOL8+9k=; b=oqqFi8wJVgoYPLFGGp8lJwgYTUx6Gz1hSdxxlQW/I0GN9RqmKO7Nog1UUqxtVy92ti sDGybpuHojYcUV9x5vaFU1K7do087KQx3Lq4hOgfpq5Jm3+fWo3LGDlzh9pgXNVZwBts y7JrTmQo7FJoNZgu2l81PFn2R1oCJaACizKPTY0i+pdjHDTZ31qIkykpd1xjgL5/w16E LOkQglySH4+3k2SSEQbcWOCex+cbEsPdxfgyBO04Y6HVtqVyy1U9hcx1JAQ6de9B3pP7 wxTx1G3/3y+eF+4pOXBK5pSnfx0Yh7gWTT2usoi0PJx/EjlNxqNTVabWHxZZTN0+/Rjc Zf6w== X-Gm-Message-State: AOJu0Yx+/wPODxk7+emOlSaPwpSutycHPN9sD2hF3ryGr+zIABsWQsJf HxyIFg4fzDeoGsFwB0Dbsz2DOdnT3BvOXB6yLarePjBr/uR3ReQjVRUSW8K9rDwoD8I3cb/egL6 jQMaRfjc= X-Gm-Gg: ASbGncsJiyYPooHTjtKDZitXXx4xrhXg/8xoCrCxlIv98KCIQdt/D6CHxV0lBc2+7H4 qvWQ9Kb4VjTn7s83UYVZtlvi8akusTrBb8DBbRkvTGdpuFvQOvnEnzdOfZ9B+BPIz+fAv32uhix RztCUg0nRyZuVmBZIPhX0O3p8bCRLrrWtoof0Q4QTjewArJrUfTnZB6hkHgd2LFra96AgRjjzcR YnZSQEvy0IVeJr1dTN4VlFlikQfc7bGRrSCGI63pn9mLHhOZ7o8/lNVZTzsceANPWXjGekvJeuo d5fbtJI/e7P1IbIfLDGN4sed/0faDLuJ7kb/3x2leyj+Bwpt2OvreE0Fc6oUKaabXMmPGwVKHOs 2TsLN6Y8Ts1vb0CIrDZOjjJg= X-Google-Smtp-Source: AGHT+IEGcoyA6UBxYVQEVktmhQm/nmrGFLUErkbfh6vLzBqDGUIWfh5MgRIoi4fG1qr5wowsztUlyA== X-Received: by 2002:a5d:4082:0:b0:3a4:f8fa:8a3a with SMTP id ffacd0b85a97d-3a4f8fa8a6bmr10018522f8f.18.1748938315798; Tue, 03 Jun 2025 01:11:55 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com Subject: [PATCH v2 26/27] tcg/optimize: Simplify fold_orc constant checks Date: Tue, 3 Jun 2025 09:09:07 +0100 Message-ID: <20250603080908.559594-27-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250603080908.559594-1-richard.henderson@linaro.org> References: <20250603080908.559594-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=richard.henderson@linaro.org; helo=mail-wr1-x42f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1748938352372116600 Content-Type: text/plain; charset="utf-8" If operand 2 is constant, then the computation of z_mask and a_mask will produce the same results as the explicit check via fold_xi_to_i. Shift the calls of fold_xx_to_i and fold_ix_to_not down below the i2->is_const check. Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- tcg/optimize.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index 8d14a38f9d..a48ddd9171 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -2326,10 +2326,7 @@ static bool fold_orc(OptContext *ctx, TCGOp *op) uint64_t z_mask, o_mask, s_mask, a_mask; TempOptInfo *t1, *t2; =20 - if (fold_const2(ctx, op) || - fold_xx_to_i(ctx, op, -1) || - fold_xi_to_x(ctx, op, -1) || - fold_ix_to_not(ctx, op, 0)) { + if (fold_const2(ctx, op)) { return true; } =20 @@ -2352,7 +2349,10 @@ static bool fold_orc(OptContext *ctx, TCGOp *op) op->args[2] =3D arg_new_constant(ctx, ~ti_const_val(t2)); return fold_or(ctx, op); } - + if (fold_xx_to_i(ctx, op, -1) || + fold_ix_to_not(ctx, op, 0)) { + return true; + } t1 =3D arg_info(op->args[1]); =20 z_mask =3D t1->z_mask | ~t2->o_mask; --=20 2.43.0 From nobody Sat Nov 15 15:41:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1748938452; cv=none; d=zohomail.com; s=zohoarc; b=GBCki5NgCJXRNL/pXFpjBam3l2/O93rGAmmSx1B1w82mm4sICttHWJ0EmpXttTbJUXJrquyo9QpmCpPusMzk88kDOY2G8t2hqkqu2NddsL9OPVPVa2ok1yukDvQpInFZwgMFTpHVRtMGP6Cfi94EwfiLK2XhpZO4PUsZI7j36sE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1748938452; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=J2GrhITiUEId9uURHoQBm+QSLG5+mucUTsm7cNKS9ak=; b=cXWEVLuGfvAWtpuFDVaq1Pd7lnCUY/8kPo4AoUqQre8sIqQzQpcNnNdhb5qfUbIScQs2V449OsPRUBDj3KXyXS84msGh737bSEuqNLaENE9Eieu4MXVKsO0KmFCImOM6Icp3ZBqDEbTzImYI4jWUlSl4eWZA95upDaFm8BN/SkQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1748938451952517.1029003594107; Tue, 3 Jun 2025 01:14:11 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uMMkp-000116-WC; Tue, 03 Jun 2025 04:12:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uMMkj-0000n0-KP for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:12:09 -0400 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uMMkh-0005vx-FH for qemu-devel@nongnu.org; Tue, 03 Jun 2025 04:12:09 -0400 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-451ebd3d149so921445e9.2 for ; Tue, 03 Jun 2025 01:12:05 -0700 (PDT) Received: from stoup.lan (host-80-41-64-133.as13285.net. [80.41.64.133]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a4f009ff7asm17668852f8f.90.2025.06.03.01.11.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 01:12:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748938324; x=1749543124; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=J2GrhITiUEId9uURHoQBm+QSLG5+mucUTsm7cNKS9ak=; b=SuVz+V2rwvo9LZbAfbsmdl/7RqYNDgE5avjMCe9LAzQnj1fUwB4D0h9C2o3OVpBCUX nn/dlBwiWu5CYkvPVPUqFXfp31T5o5lcZMWjMlLvtA9HJkw6lcfmSzUxHnREFDExOB/h uIcTTD7eFfs7Kt2yuZTmxgLIEThzqzpQ52+pp3w6/X5Yj+gi5nf0b23lGS4F5UKTo9UB ECakS5HTAlXigJ46vzziXCyuJWgR0pqdOjOttRAcM0Zf7bk/dEhI3hRYq/51ORPQsBlj obLTfI9U8tXxkXIV0qyyI8/ZMwUUDM8Mt8QPjt0Hj+jhtTPu3JC0IR32tbC70lZ0FuAy +ybg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748938324; x=1749543124; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=J2GrhITiUEId9uURHoQBm+QSLG5+mucUTsm7cNKS9ak=; b=Em81QcLi9dSlR2UT4HXR8OjjKmKxK0HNVTBeHjmwq9PoieXCztDrRHJ1vUZ6AWikef tAit3SY3W7cXojb8wxp7f8lAN1FEs1oCWKYhF6jOKwZYC/JZQn/9w0dH70k3o9VhNmbQ cjZ5T2dUVZDaZn9fopLZA173mQ5a0GggT6Yp9/DIinCFx5RMKplpIE58U/OD7C/898LT r9v5DOeJJwUHvzZyhFpHxDV5Crla0xm/Buly9mMBIdRV2BU3Nwl5h+UcMPqAUEVs5Br6 bJvDwUjc3fRyleubmAOzF+1gjA5pJCL7cSGC53ui6KmyoY7Ane2/OMOcyiSDTZdMWkhz cLbA== X-Gm-Message-State: AOJu0Yxd6iQuVyz6FfED7bIRk3Vf/O36L1mHy7jZFmbBOpH5cLlAFdZK /XapzeCgbXfJ+PNyXHaUbGxegA7SVyCmrKcRtxFpV8uoqqJp8G+1FCzv8o/hn85UwUOC4/7RKeY 7+bWHjNg= X-Gm-Gg: ASbGncs9ZDhxjeng77Vpt4iOYybMQbgpVdovjVVBBZ0hXDuP8PPUBtsoS3VhmiUNRHn 5RkvMyjoD8eWBgp3ObZZsbYN+3DcXO/K+XZlv9XGN8Fq1FfAfTmJSyoEjLnGEQ1cTHbZ3plt0qj 49+WsUFsISkgPM9Il8rqLR6Qbt9JRfpy2RoBvcclWMJc1jaSIomCxetyBDBiEq7vOd4pFpslOiM Igaz2L1CcWFrXH0A2GWoAU/mGWLsZ5Cg7dm9U0xBfOA8I2TxeDXLLGqt4s93++LxSm1omMW7TbV e07U+WKJAgvG+ELDJkkRbWnqsMNLAdw8+EnQpSLzbp4Nonm1OHc5OeW6NIExqfZxUZrbwdr7mOn 1uKpjv5jC8+0C X-Google-Smtp-Source: AGHT+IFc5D1Gyg/PvIHjXnj2ze3ElATJYynIrC3qxEg86pB9jCwwGRDILuuPXGmkWsy8y1TCDgUibw== X-Received: by 2002:a05:6000:250e:b0:3a3:7cbd:39b1 with SMTP id ffacd0b85a97d-3a4fe17c35emr9371624f8f.24.1748938324630; Tue, 03 Jun 2025 01:12:04 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com Subject: [PATCH v2 27/27] tcg/optimize: Simplify fold_eqv constant checks Date: Tue, 3 Jun 2025 09:09:08 +0100 Message-ID: <20250603080908.559594-28-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250603080908.559594-1-richard.henderson@linaro.org> References: <20250603080908.559594-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=richard.henderson@linaro.org; helo=mail-wm1-x331.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1748938453871116600 Content-Type: text/plain; charset="utf-8" Both cases are handled by fold_xor after conversion. Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- tcg/optimize.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index a48ddd9171..62a128bc9b 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -1948,9 +1948,7 @@ static bool fold_eqv(OptContext *ctx, TCGOp *op) uint64_t z_mask, o_mask, s_mask; TempOptInfo *t1, *t2; =20 - if (fold_const2_commutative(ctx, op) || - fold_xi_to_x(ctx, op, -1) || - fold_xi_to_not(ctx, op, 0)) { + if (fold_const2_commutative(ctx, op)) { return true; } =20 --=20 2.43.0