From nobody Fri Dec 19 02:49:52 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=1746477032; cv=none; d=zohomail.com; s=zohoarc; b=PKoonSDvLqU8nNg3FAqRE2WMkz1BF/Gm64dltngArHqRjYYOjRjulNoT866q+4kr7WN3VydvJ++lQwA1K6nWd2neZO8fOha8uBI4S9mxQf3ne6Y6HEPjE+cLnRzO58dVucv6IU/rwOOsFHg6JXNT5TstCIkSqXlQyVg1P/4a5MU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746477032; h=Content-Transfer-Encoding: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:Cc; bh=lzo/fe/Ua4ApmzVfrV8jd465bb3JX7SLeAZUoYkEF7U=; b=j8Vstz9sBUtLc/cw84Yrwc+yDVtPf+2OyGlXac8Mn9uUi2lbmmkACAYsHc5XSq0lpIevx9nsjXxO8x/5og6icrIIY5LIsH8uVsM7TTpMaQ/Y4Drwvi01AnB2efp+uDkureTGkozGFALL8k64Io4MbvelZ9L9sZVIwUR6abow3/U= 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 1746477032079809.0283671606388; Mon, 5 May 2025 13:30:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uC2Q9-0006oY-6z; Mon, 05 May 2025 16:28:13 -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 1uC2Pw-0006ic-SG for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:01 -0400 Received: from mail-pf1-x42f.google.com ([2607:f8b0: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 1uC2Ps-0000Mu-R4 for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:00 -0400 Received: by mail-pf1-x42f.google.com with SMTP id d2e1a72fcca58-7396f13b750so5916559b3a.1 for ; Mon, 05 May 2025 13:27:55 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-74059021067sm7516485b3a.107.2025.05.05.13.27.53 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 May 2025 13:27:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746476874; x=1747081674; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=lzo/fe/Ua4ApmzVfrV8jd465bb3JX7SLeAZUoYkEF7U=; b=qOMzazxi42ncoW7ois7GricBVB4F5pkCkvbMDN+M4+LGqddq2NUsxdBGHzCXFzD4vi nTcJEND7sE+q5ejpye+yeY0+Ah/WLFkhlNLVu3O2V7y8geVfTWzWssNF765zE+ahmX+g WL5QkhZI7wX/RZhhhk9i8uFlB5QdqsJH8V6LWE1J46rSeqFyp6e1IQWOwqoS3JWIg7b6 XztvalwKqRkcUa/Dc05UIBuiWhsOFtAIsUg7iZWFaetT5fC11yv4RR9ENYUQCVwJXS3F 3+vQtVniEBvckpodLjqyYymFkAV3BQNXTj/IhpMZIGtY4rIug8cQMJaYhEAhvIal68GW SbVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746476874; x=1747081674; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=lzo/fe/Ua4ApmzVfrV8jd465bb3JX7SLeAZUoYkEF7U=; b=RxlsBzU7JWAXJ9XE2fQ1stMGltYMu14pcc7OKm0JfJvFzDsS4iI0BarDrfLfp95IrH LQlwQntkDaGtjORHMOUFIQ5MiGcjH26sc+jgUpWKrRZ6yQwimPvEBG8GsVfrqJL64nI3 nnpJkeuVKRhv1a+wBYmjr0uUTbvTC/tH2XceOtXXUaHn33CjSeE9PpMPgRDb9bL7oZpu 34ElXfOSU5afJIw/jgHtwgrcynr24g91+GchzXfIXH1qReGPjTjYXjOiVCvEf1Ucd1ZJ R1BzhpHE3csuBMWtw5L9DvglllUpuSFV2/WMCS6c7dAPUAWnUx5fFPkRWV1DLKukAy6b jSUQ== X-Gm-Message-State: AOJu0YzBeh7Y8D3q95zE8fj0bZazBc+Pzi6J7oWUspOPmdUMO4IhD6wt l3B03ke1TZ4tLNHmjq7wlDGrwWhXGgOcMGSVyagAK4t1lP6+iT0aLiPjGS8B2w8wMeRcfexrOi2 K X-Gm-Gg: ASbGnctRchFOr5YCedb4hYDdwv7ai/jH4nx/OG+WZrUAuPNJnBrQ/3wPQL+GZUP8NAW PL7wlPTkEIm3/JmyehJRQQkf5IlaIqEjSEPezsOme6Dq6T0PtEFu5c6cg9SjlSKa/mMYWvp3hz6 /1YU1f1Lec49A/F8JTCRagqEqOilz1cr1JcSjNiznjVyC2dzWHUZtIiJMgRJ2Q+UY6FxKKEjsJN JA2DeobrHEiv55qQrjkZap5lk0VtmMHdS0lESZrDlg+EquMvq60OVtQwT8cA6ilFhPCN4q5pE2+ DsOHVDFLIfSj/n9gU4zBX2ojhJUsZMyGmvdNp+PAKI3HNt7Wan0eCpPY6l1oM/a61iXCKgdU5bE = X-Google-Smtp-Source: AGHT+IHcUxhYkPStHTdfC9Cj+pHOv1Ewilbk5h5xJ/x3WTwWre3n+DLmLFXQaf5M4hu3dg26Jrd6Aw== X-Received: by 2002:a05:6a00:908c:b0:73e:30dc:bb9b with SMTP id d2e1a72fcca58-74091a01224mr777083b3a.2.1746476874455; Mon, 05 May 2025 13:27:54 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 01/20] tcg/optimize: Introduce arg_const_val Date: Mon, 5 May 2025 13:27:32 -0700 Message-ID: <20250505202751.3510517-2-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250505202751.3510517-1-richard.henderson@linaro.org> References: <20250505202751.3510517-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=2607:f8b0:4864:20::42f; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-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: 1746477033159116600 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 Fri Dec 19 02:49:52 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=1746476958; cv=none; d=zohomail.com; s=zohoarc; b=bYtV4nfcJgA9pNRgrzqP7n0HRU/PNAQoJ89F+zBXo0hOte1BTyWwQ8zhVlhxyf0nH25m7oyKKaSwVYmGT+K1AFJUvA7vBnWBeGFH/4+JRZHMDbiOUQa1XofzQgbtGzUWsP2oyxqDWdOohLhoMlzaplYi6nl7JSE/z+Wl3tpEVSc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746476958; h=Content-Transfer-Encoding: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:Cc; bh=gJLo1eS3K73iIv9rFRGELbydvBB92PuWm+E7Ujpbuuw=; b=cDEMlbSuJof+LGs5tIJb0uToyYDNi6ziZOoM3Yr5FmxKQQEiq7AXMQZn+4lfpcR1DmiK5eb1tGQyQQHcBieo3hXV7Ye9m0Vj46GPlGsCnXRanQcXoRbAJh0CO7Os9gukQwrS7BTpTEwlnSmGsc5GIqZZk9++y77PV+P/XUDO5Jc= 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 1746476958587255.5267026423012; Mon, 5 May 2025 13:29:18 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uC2Q4-0006kF-E7; Mon, 05 May 2025 16:28: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 1uC2Pw-0006iX-Rg for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:01 -0400 Received: from mail-pf1-x432.google.com ([2607:f8b0: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 1uC2Pt-0000N0-B6 for qemu-devel@nongnu.org; Mon, 05 May 2025 16:27:59 -0400 Received: by mail-pf1-x432.google.com with SMTP id d2e1a72fcca58-739b3fe7ce8so4471786b3a.0 for ; Mon, 05 May 2025 13:27:56 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-74059021067sm7516485b3a.107.2025.05.05.13.27.54 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 May 2025 13:27:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746476875; x=1747081675; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=gJLo1eS3K73iIv9rFRGELbydvBB92PuWm+E7Ujpbuuw=; b=Ra1+BvT6BXq2U+Xfr2cVbbZTMtqT9Askg0sTGRMr3WVZm3MTLgfQH66m7odFc3hWxi 9fUTlRIP/QAMvBjhjATIqnhgXQ0dDvA9knynN9KVs7yKCn+B164Ucg0zJb7ITPPTparN Juy1YWY0d9DyL8D6ztyuwrplacPoZAbJx+s7F+J9z7qUh87xXzU8vozKsG84N8iHaCfN UE2Gc+tnK8EyU3WajUH2YiGZ/N60eWeapLs8+ml2JIbyEuWxgCUa6s2Mi0L1kjKSG3b4 Fpqmo9iJFdrnqhc/Vth6N/K2cJUGATp/qyUohJV6N+My3jC4VeNSBxji3HkMXfUtoZm2 t0rA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746476875; x=1747081675; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gJLo1eS3K73iIv9rFRGELbydvBB92PuWm+E7Ujpbuuw=; b=jNgn190OkhaircykouGxvj74neMv3sSrSzDt5uCMqDBDOYCHQzkSESJhLG0ClQVW85 8bQESkzOqOIQX0bEA7avYNP7OmCuNDNlCH9Kq53ZqiM7APyNwQDTw1njl31+ss34aOqY TE6m3ZOOweo1T1sSMnIsnfHyAgUgAvqsjQR0hFiq8+VCuQ8W4ccEeD9WI2ugGITYzhRM jCvShv8T/hz49qRpTlPOTQ6zLYuXvadfab49p5f4M2DqrOap7JhY4Zus79e2UvbwbhMt 0X3pVoLNgGf7mn1xpFr9RVtrvMzqZRIQpiJySX2i7G46QL9es0lHUH9yBrBSEZ+UtJC+ 0Pdg== X-Gm-Message-State: AOJu0YxOSvCTRW889p0hxo15i8zWbANu84ap0Kygu75JFoI04acLxG+T WH8TqYjoX6UwYQwOArp542opO2Z38FCgFIpZkjPGOrAvTAKQyGmkC7oL7GHmuutfJivOD49O+Os J X-Gm-Gg: ASbGncuaGNNPFz9VzZdCXXW8/asK6FDeX3RxkWP65kKk+Qkn6yRMClZ3iA8UpEYKj49 vApWFM5fqkIqarS6vI1jDQXZfNHHgdJvjOQ/KMIseqJc+xICvl4ebMVC95rWdw9J3iJZ68NMG2/ zEGTGDbvyK/j6ZhTKfUjffSoTdqsZeu8IldgBPEl9sfI9b4TU4YQdvVzGV+kqWh8UwAXIRwnody NIV9Mh2XOk6UMCO+kEfca36jwaKSc0gqP4/VcCRtHIPMbOPfF0NdTqRCkDGinSPsc44cBaQmaCP AzJLu/mh8u2NAA1ZlcPO/gKPDIF6wc94zICfP+WBzi3urbayJX+/URchYdCXe+Iq3Qu8fcu+WN0 = X-Google-Smtp-Source: AGHT+IGhoH66mtZzPvBSLkj62gBWOJt+8cdQ6nh8BrHdhQ3tZD5hNDjbaUcmMKWuLRmGUOzDZEtb4g== X-Received: by 2002:a05:6a00:3693:b0:730:9801:d3e2 with SMTP id d2e1a72fcca58-74091a23879mr834018b3a.8.1746476875367; Mon, 05 May 2025 13:27:55 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 02/20] tcg/optimize: Add one's mask to TempOptInfo Date: Mon, 5 May 2025 13:27:33 -0700 Message-ID: <20250505202751.3510517-3-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250505202751.3510517-1-richard.henderson@linaro.org> References: <20250505202751.3510517-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=2607:f8b0:4864:20::432; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-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_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: 1746476960669116600 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, 37 insertions(+), 14 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index 73a272eeb3..395ad8232a 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,9 +1059,18 @@ static bool fold_masks_zs(OptContext *ctx, TCGOp *op, */ 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 + /* 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); + } + /* All bits known zero is zero. */ if (z_mask =3D=3D 0) { return tcg_opt_gen_movi(ctx, op, op->args[0], 0); } @@ -1068,20 +1084,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 Fri Dec 19 02:49:52 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=1746477119; cv=none; d=zohomail.com; s=zohoarc; b=ORUbfxrIwgSw01YbqVIYTDGsA776252/GA5cZ8SwrAjFioLHb0BZzBJskN45hsj23XP/1qyRHGCXF6+9Ip+YEy3cEeN4ZaAsA+Ecx57zo40PmVmYc7R1ElYrLf2L9dD+ZWrLWN1u21r3N+jNCDsX6pSOJlkiU8T4WtKVbW+jjFk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746477119; h=Content-Transfer-Encoding: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:Cc; bh=p7ZaCEQNsiBmYp3nl0if94zw00aQ6FdJJAQYLtZwFJo=; b=Z7HwRo7htw7jH5Hen0rxjAxciQ9NNU5hXnx1oeZ9cVADUMLVjYSuvM30MBnHnZIRa3CgqtHh24MyKeocVe7SQB/RU4ce1luHKCes9XBt3NWDWqIm2tEx7KB25psKDpCvJOUVZh4QuzkA3w+FHEsjqqZDdX3LHFY3rcTz0Hj16Es= 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 1746477119018186.7327880814006; Mon, 5 May 2025 13:31:59 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uC2QA-0006p3-Lw; Mon, 05 May 2025 16:28:14 -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 1uC2Pw-0006iD-Iz for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:00 -0400 Received: from mail-pf1-x42c.google.com ([2607:f8b0: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 1uC2Pt-0000N6-Ie for qemu-devel@nongnu.org; Mon, 05 May 2025 16:27:59 -0400 Received: by mail-pf1-x42c.google.com with SMTP id d2e1a72fcca58-736b98acaadso4658318b3a.1 for ; Mon, 05 May 2025 13:27:57 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-74059021067sm7516485b3a.107.2025.05.05.13.27.55 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 May 2025 13:27:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746476876; x=1747081676; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=p7ZaCEQNsiBmYp3nl0if94zw00aQ6FdJJAQYLtZwFJo=; b=SJpvt9JtexCRmIpYLYBVZZ4Zf+GT7zfdM/w5sdQw0gckgw0dykJWV5vECyxRxjLc0b Mm+vUYVsWND2xBSaG5KOSBo9NTkizDuiwblJg5g5xL7zfZzCiSwp7aewrplw/ecq4jjG cbvM7X0898KeBFW8y7ZVRFZVtlDtH7hzXP4sk4642CCdNHvO+VaI+utBGAtcE4UHlB2u xQneDcQUNkGrmNkmQFokPC1eleMYgmV1ZAoqpPRRPhVo8aIp4PLqihF4i4Kw7d+KBPqh eHL8TFRHOkE1VwQ6ERw6lS1BzsPmwOS9nvL7i0KBmb9H1yUst4b0x52Q/wuWLzm2a3Oa fj5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746476876; x=1747081676; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=p7ZaCEQNsiBmYp3nl0if94zw00aQ6FdJJAQYLtZwFJo=; b=Jqq19ZVztVAvdETRONwGsRC5lahFyrQy5d3cR4HXpcxUMaXuzpRFpAo9HxOavdL9NV sPZb3N37W+ue8aAgnC/mTG0HatAnTR3Pqf+gGrdu49s5zkmWuEJOHJjeNZreeCe4FGaH +H94tMh0RKrDTfSX9kHxLmAKNKmw8cgGSHoi26UMLqxEREK/R5In1jMwusIg8rgui1/9 scW7coYRHlHqBvQvFtTRCR+TjfdY6t6KQrAfSIXebfmoILvoa3V3TgFswSSg12dHvz3M 5kg3Rzme3byT6o2XF98p9n30kE5OkNQLQ1Gop2iY/nLNVNa4wDi2PCDFyv8dN1hbkFrE TbTw== X-Gm-Message-State: AOJu0Yzo3uWCBrtIN9D8ybCg4au917f0Pzi1JRYwzMrrQPlas728CHVH OAQ9ONdbRz6R/CYlvFhCla974thoxP935yULSI9hKwjkyZ6AVq9m9GeU2C+AHRFsCOPFsPHrq70 f X-Gm-Gg: ASbGnctA7BXkWygh3ljjDrWzcvfQ8l75Dy5W3TreS0kXgCTaqnJXc3ZAhzG1Q0AFBaz zqsHPD846HeTdfyh4HiODQ98MvWDpbQKOQp+XvYyURTErNHBCEGhZtNcKCPNyongcvpvRq4RN++ wfCnPLCVkd1V49A4l8lCygFWSPY35R2z7Yb9GoyODCCyU+Bn40Ia3UWg3sPY4DulWECGTsFBgOR fxnttVHMEP+3gIpMSat1nMNVdSQ7UpGFRfimwYKfBqpPLnm8awNmdNxtoPp8casXDoiOQra3CU2 ig5Ad+CFWoeMC/OepY0al0yUwbrKRkTq418fZrJfVWZwwcx9oRd/uclQ3oilNTmrBNvv664S39s = X-Google-Smtp-Source: AGHT+IHmcOpSyprKhYdlbe4nNWyD7CT/0mBaoX2DnwHlE1sbQbiiJehxDPjRhkftCol29z2csiaAQQ== X-Received: by 2002:a05:6a00:2c85:b0:73c:3060:d53 with SMTP id d2e1a72fcca58-74091adf89bmr755793b3a.18.1746476876050; Mon, 05 May 2025 13:27:56 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 03/20] tcg/optimize: Build and use o_bits in fold_and Date: Mon, 5 May 2025 13:27:34 -0700 Message-ID: <20250505202751.3510517-4-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250505202751.3510517-1-richard.henderson@linaro.org> References: <20250505202751.3510517-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=2607:f8b0:4864:20::42c; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-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: 1746477119674116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- tcg/optimize.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index 395ad8232a..c9f0f46b83 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -1420,7 +1420,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; TempOptInfo *t1, *t2; =20 if (fold_const2_commutative(ctx, op) || @@ -1432,26 +1432,21 @@ 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)) { + /* Affected bits are those not known zero, masked by those known one. = */ + if (fold_affected_mask(ctx, op, t1->z_mask & ~t2->o_mask)) { return true; } =20 - z_mask =3D z1 & z2; - + z_mask =3D t1->z_mask & t2->z_mask; + o_mask =3D t1->o_mask & t2->o_mask; /* * Sign repetitions are perforce all identical, whether they are 1 or = 0. * Bitwise operations preserve the relative quantity of the repetition= s. */ s_mask =3D t1->s_mask & t2->s_mask; =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_andc(OptContext *ctx, TCGOp *op) --=20 2.43.0 From nobody Fri Dec 19 02:49:52 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=1746477050; cv=none; d=zohomail.com; s=zohoarc; b=cE74GGoiQAPWOY4KNBNOG9FeVPgMFJKy2Kkkj4sJ5xW55ke5qR2yHRSFbp1fiJfPxyvAGx3crp83VeO9k7rWMvjSWBr166TpaQiG4obwVUMsKV149iMmRUn9CZ74YGH10Yv9ajKMdwc2GaFQ5BZOactPDnISwYrFCrdJCYU13Ug= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746477050; h=Content-Transfer-Encoding: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:Cc; bh=U+uJdIaBD9egT3YwSM7u2Wx24dmDX5ceZUE2NcP4xK8=; b=fyjE3s7rzAq3IDJZnAEThsA3d6yQiccNrmL+z8sZHxR1oZV+Ha0GNBFuDMvzTjVOBCeQGCVIuSTV+m4MTZHz6v486wuEJd5ZF+V2yIdv2Wu05R0bBPLKqDPOiFBKcQzjgB2ILzMb2mGIfa36STfYDUMRei57AGSW+/82O8WTjL4= 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 1746477050082467.56925650576056; Mon, 5 May 2025 13:30:50 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uC2Q6-0006lJ-2v; Mon, 05 May 2025 16:28:10 -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 1uC2Pw-0006iY-Rt for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:01 -0400 Received: from mail-pf1-x432.google.com ([2607:f8b0: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 1uC2Pu-0000NP-Bl for qemu-devel@nongnu.org; Mon, 05 May 2025 16:27:59 -0400 Received: by mail-pf1-x432.google.com with SMTP id d2e1a72fcca58-736c1cf75e4so4392098b3a.2 for ; Mon, 05 May 2025 13:27:57 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-74059021067sm7516485b3a.107.2025.05.05.13.27.56 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 May 2025 13:27:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746476877; x=1747081677; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=U+uJdIaBD9egT3YwSM7u2Wx24dmDX5ceZUE2NcP4xK8=; b=q5YEkIb3CC5iM9PW+Y72z9OyM4H2Q0g0b63rxnjCxP2U0EFx9PXoXetUeMNjHO9Dcy j63kR30lgKVTlWLQznlW+YmQnWDUUOOtyodN8tE4Ggb/2qcbH/3VP4S7s9Ms4G8b6L3x 8KOk6lncu52bAwVHBRRG3tBKG8cfB1g8ir4RzN3VEu0l+cDRtywJ4qEDyeCvnSD/qZ51 stjpMiF7O2xEXbHOejODykXAo578uBTT9UyCmNl/vid8bWZ5yajWdoTdnVLOwwlyUk8o N/m7vwB6YW8DDocf+RkrPy5utogdLNkRjdXRsaELzYgJdN8Qkl5ekNf1dtFSl7KivjDd tOAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746476877; x=1747081677; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=U+uJdIaBD9egT3YwSM7u2Wx24dmDX5ceZUE2NcP4xK8=; b=XbFBMIHCPUQJT8rlpJ1Tu1v8+f9dJKzppfh6gyNLk+AIvjU4I3zkZgRLK17R2fzOnJ 2QhOGi3+CpT8Ij74CquQySFFm0Y6Lw/WGWkYjefAiDxRR100xo5IoTtbVcjMsxbl5KWV dSoOkfDDRxXNQJiYfpUZkOPmkWvy/ZVYv3PkrG1aMYskUBjNclSqlxgkhqMNe2YZuW3y hMH+mftzqUnL89qaP2AxNjMQnsRZRT/YvtcS7EaJKxQPQZTPDSxlE8M6UQal5YfjDgOL /oNwvIGIqoZq/MlOpz6WF0BHeAEiJoUTtb0hFz1ll43+Idxps3+UrK/v5BsoUFKBaTcR zfig== X-Gm-Message-State: AOJu0Yzf1z+QjbXXAzbr9uto4ikQCKGjnuqP1aCipdWwHXQiJcdriM4r o9m/BF3eNZU2F4vQhkZxb2pGVndNWy6k/5J2dyO70sdXZVYyPj8WNHHQbfe1FsepefkC0fwLCgq i X-Gm-Gg: ASbGncvEzzC+ZeD2tLNLvfRf0VDUhitlIw9TwD1So4k78RfYZKMvV8CDjh+7e9p8094 DbZD6ngHclhGliq0INnelF4KfQCbdOCthb9a0BVIg2thpRNBOTvUk+Z+cg+K0OdYeoKXMZohsFg UCuqwC4xs7ifp8/uK0Cb2LpUti8dZl8J4OaA8VQtRGGc4uXNKOTJ8+UZVFBc1R5EHRVPvRHqnAK iD70qAKMIKzzmuQifVnvHmhqOgN1VyUw9hSu0LLqIW1+AShYn+KuUXjW1s7wvOVt+oactR10W5A whpMp66xFoMtmae006XCN8ORBjfIJVN5gQSnc4U5s/lSgTqLM0heFXXVzBX3eOIexWLGGVZ3jS8 = X-Google-Smtp-Source: AGHT+IHoZOI4wNWZbe3dZq+EndBp3cNWV2Ynr7HyxIwLXYUC6pycJMKwTiw8JYsnmjrx8EuH1IfO9w== X-Received: by 2002:a05:6a21:9614:b0:1f5:769a:a4bf with SMTP id adf61e73a8af0-20e97eaa02amr13306519637.36.1746476876797; Mon, 05 May 2025 13:27:56 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 04/20] tcg/optimize: Build and use o_bits in fold_andc Date: Mon, 5 May 2025 13:27:35 -0700 Message-ID: <20250505202751.3510517-5-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250505202751.3510517-1-richard.henderson@linaro.org> References: <20250505202751.3510517-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=2607:f8b0:4864:20::432; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-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_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: 1746477053108116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- tcg/optimize.c | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index c9f0f46b83..faee3e8580 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -1451,7 +1451,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; TempOptInfo *t1, *t2; =20 if (fold_const2(ctx, op) || @@ -1463,7 +1463,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. */ @@ -1484,20 +1483,16 @@ 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; + /* Affected bits are those not known zero, masked by those known zero.= */ + if (fold_affected_mask(ctx, op, t1->z_mask & t2->z_mask)) { + return true; } =20 + 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); + + return fold_masks_zos(ctx, op, z_mask, o_mask, s_mask); } =20 static bool fold_bitsel_vec(OptContext *ctx, TCGOp *op) --=20 2.43.0 From nobody Fri Dec 19 02:49:52 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=1746477038; cv=none; d=zohomail.com; s=zohoarc; b=f2xTXkmSx1yoRd4u/UDXA2BJpwaXICct+/cqaKNLSey8dG/8lGho+q79LvHKN2Dw70EbknPxVIVm7aPhHQfmVEFRRiyH5joJQzg5Nfvvpx3/H2MTf1thf1Wvnx70KtlJIk0Mn6kuObj6gRN5HVp905ibf27h0Bvz89RCHJ4eJBI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746477038; h=Content-Transfer-Encoding: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:Cc; bh=Ng45Q3ozB7fDbFJmX/4XPxigFXCk4HF6+j4a4hv4d8g=; b=Yy2ZFagu7/PJaz3xqhiwPArAVekp68MsdiKeC9ok62arref3GwbI1VwWRW4hoVKbA6WjmYO7PF88/6XyP4oV6qhDrujtWJhOs9zPVCgLe1trCCo0b+8V8TgEGQc26/BBnZoFdvSiZykQVdUyJ4Mgex7CyctgXkFe4Op8qh/cGl8= 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 174647703826988.05536965503552; Mon, 5 May 2025 13:30:38 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uC2Q7-0006nA-OV; Mon, 05 May 2025 16:28:11 -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 1uC2Py-0006is-4R for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:02 -0400 Received: from mail-pf1-x434.google.com ([2607:f8b0: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 1uC2Pw-0000Nd-Au for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:01 -0400 Received: by mail-pf1-x434.google.com with SMTP id d2e1a72fcca58-74019695377so4018217b3a.3 for ; Mon, 05 May 2025 13:27:58 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-74059021067sm7516485b3a.107.2025.05.05.13.27.56 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 May 2025 13:27:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746476877; x=1747081677; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=Ng45Q3ozB7fDbFJmX/4XPxigFXCk4HF6+j4a4hv4d8g=; b=QiX3bMFm0blhibYNXA8+jJ+l+06bnXqr27pTYDicrJRGyEDavHra8jWZVBZSho0UYa HLGAygaotCHMQHpUKoGuBL7oyeHEIhKXSgCbcEUhOy74mPGsTKLPft/Po0am20hPUE+Z dfxpp+kaujSYGgoNfOfx7i/jyDzrtQpDMKlfZa7xYQtLELFGFXtK9sUBNG8yz+qSIEmQ PC6NJaR/WsAmRKCkZpZ9fISkMiNG7B8MaE/N2+1WfmYPu7iVU30TevPWbYIf0gfYXD6V 7CKzQOpOwyKaI860wM89ciokJXcQW0KAdGJ5UTbNfuVmRQt3Kb8BBLKL81VyHYrp5zLC vzJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746476877; x=1747081677; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Ng45Q3ozB7fDbFJmX/4XPxigFXCk4HF6+j4a4hv4d8g=; b=MKR6lvNi14sC8zP9MH31rC4GG1TiByTw8wJEQykxy4QfCIWfREmr3M1MVLx95Ep67i 8gpl6UTSnO6p6xAfkfBiHjf5NWAMT/naPRoEhPWRzIa+oR+ztxvmRZbTBqUjKASwKejT /wAU5lcUJDj0sIBT/0xlKWA7u33jcfBkPaJs2SMbFduIMhLcab4GpkKZZzHl7lXa+oq/ +gGu0Qp4oa5qfN+Af4XVVTMe797NJ0A3CEx88IN2OJcx3/JSNkOGD4GwAyE6kXGUjjA2 f7XJPCpCXRsq5WANDxR2/LOrqEEREvgVcDwcJZIYAd7XduIQMlOfAgtCG157xrV5bc/x oqGg== X-Gm-Message-State: AOJu0Yz65qQm8VGSAeROJ5PYULsoN4jGYqIRsW+Iizoo0Du5XijlbwFP 0ahocIvI7RmxiGagmyA1Zjr7LHH068QwpmoYUd5R0F2xhgCZH2tWkyKnTvAf7O6OgQUqDPfQbYa / X-Gm-Gg: ASbGncugAkyLY1go9BUtInzmYQIC0vfxo0XCGsgmapp84P7Rr2r9sTuHOiMqz8SUUcT hnoAFtKHPC+6pNdNm5LlhcWtzaDL77vsQEzT253nnHY67mpANr3RHNPZCpA+qCEuAj7HsICwVB2 LoIZpP4myCVjuUnCa+dwmGB+SNEFD/+2iHAvw5KrDMAcIm/HYEIxSX1IPZ+GQHhFK/HwVmIlVQU RWVVolCt5fCv/bRTsvxrisqjbMZ3nzJToCr0fvXQkQqhmycwGdKDdDy14i7g34AfSdGtRiiujCv dyFBZgEVZZnOcLBxH1HX5amS46emVt9AHnRQw0xlZ41B/316cGumMBbQkg+cIpEZ2bTMz4AuWXb ihg9PC9NFWQ== X-Google-Smtp-Source: AGHT+IF4JYHgYkFegPvkJPilDRgVtwCFcoBILf/Nl+YICY0g4UsEZaC3sNXEpbKFn9wmuau1KKEtTQ== X-Received: by 2002:a05:6a00:4293:b0:73f:ebb:6cb2 with SMTP id d2e1a72fcca58-7406f08d144mr13196662b3a.3.1746476877434; Mon, 05 May 2025 13:27:57 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 05/20] tcg/optimize: Build and use z_bits and o_bits in fold_eqv Date: Mon, 5 May 2025 13:27:36 -0700 Message-ID: <20250505202751.3510517-6-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250505202751.3510517-1-richard.henderson@linaro.org> References: <20250505202751.3510517-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=2607:f8b0:4864:20::434; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-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: 1746477039145116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Pierrick Bouvier --- tcg/optimize.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index faee3e8580..08d15e5395 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -1917,7 +1917,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) || @@ -1947,8 +1947,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 Fri Dec 19 02:49:52 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=1746477045; cv=none; d=zohomail.com; s=zohoarc; b=mVmyyXhEamMXxHlD5rYF96eejlU0DMYGK+b+BMjXpgN49krgWr2+ZXNYdPRGr/MNzNge8ucGtGwsPqyqvqZjV2oJ1xZ/V7PpmN5eHmQ6ue9TLjPOVThPxtpQgsF+xC/X5YHxKzII/DUu4MzS+uUE69qTJ4LDMee9Vf4ecYeyDVk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746477045; h=Content-Transfer-Encoding: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:Cc; bh=bNMUa6fOg/QOVlgIUDbzwyMY2i8YHnlDdM4yZLD9BYY=; b=HihNAJCWDsWOAgnv/sqosuzBLGo2CJ+vOJ3jCL/MtC+lrASD9SAbVo1+JGGoVT+KWb+2mt7JGpgBCj2j3Ab8tvIMj9eyhsLLAkUrLiwKBDQytewIyEY+S8/RXK4WAmJNbbz7nj2z/AO+eldahXzvzW9GiqnNctpn6SRHEm7sh0A= 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 1746477045388788.6704155329536; Mon, 5 May 2025 13:30:45 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uC2Q8-0006nz-I8; Mon, 05 May 2025 16:28: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 1uC2Py-0006ir-2G for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:02 -0400 Received: from mail-pf1-x42c.google.com ([2607:f8b0: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 1uC2Pw-0000Nz-B0 for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:01 -0400 Received: by mail-pf1-x42c.google.com with SMTP id d2e1a72fcca58-73bf5aa95e7so4650929b3a.1 for ; Mon, 05 May 2025 13:27:59 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-74059021067sm7516485b3a.107.2025.05.05.13.27.57 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 May 2025 13:27:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746476878; x=1747081678; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=bNMUa6fOg/QOVlgIUDbzwyMY2i8YHnlDdM4yZLD9BYY=; b=aKF37gdB5e32w/bw590fFmHRAygY1M8bDnrqXFnUgtqI8MJjUEcxjBhRxCaBGDQkcG 5KNsRTN0Y76nTZd3fVmeNCLzqEInFj2/Lm+L+4PQB2boq5hkfE5m6CE2CKsAU28g3p1h W5tDJEhmez5gH/YtLDnklYfWh2wpwlrNHGTOX1Hg1wnloi+WiMBN0hp92ByUR+rUSRst Yfa2VSsajOwXzPCWRuwYrodtdr50H1WlfpkbC8s2iZlmoOsqbR5Q7e9oqWDJuFvaWQfJ V5P4ti+j4TbN77bqaUTIcLCnrT066Gj0kkH3SFKAiXbXNt1JEFcN1lcRlFc1uHRcsvh3 W9Ww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746476878; x=1747081678; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=bNMUa6fOg/QOVlgIUDbzwyMY2i8YHnlDdM4yZLD9BYY=; b=JdvmNhKMGM7RaQN8aNXEhcDoF7sa2lszUt096eya39IiUrS/gUEzMFRk6Dfkva+rU0 uv+jxbg6fmStcEAXFYkmsozBzYa3ouWugNMrlyCpbBaMXbBVjLN+guHkUpQ6g2B1o6t7 ETP+C0Sjg0T+IkF5+HmeRZKBE4dxDusViNF/GRlncDWTd9XvhoQz2f47pUzxnAYSHIdC /CeaAhqnv93UYU8GfZL6fkadtVjrrq35emBcAam1evNI38Ua7+u50fdQDKYSN3Higti6 5OVPpPS0OXVmortlajEC0Oni2a5tEsRQetL1+rvoBpbCxR33I4/FSOSQq90I2fV2H/3d /hGg== X-Gm-Message-State: AOJu0YxXLh9hCYXdfW0n4GPqFiv5HPc8mKVdH1TX4juJTfG5ZXIbHNcH FbPnSIPVzuPKvxVk8RhueGyX6b87taa22zFcTMUj8p+Yu5vpT0Z5ng95fvUxdMZdfHG7WzH0DZH s X-Gm-Gg: ASbGncsP1nB/G3JPe5RSYW5CxzTfIeFzsl4fGi5MsqPvpF+MfMVVFo6tRJHwneo1ndl P7RqiblCnjR1qbiCbIPr8xtEBLwy4mBC48Be//UFxihZk4sajSm5ojdXB5pzZEo1LuaGHROP0pd 0OS1jbBLpr6kXSXQsCT5yEnPfWvawYzS2DQXdPPI6CqO5Y+u16auVYSu3iZiXGdsUj88H+kAorS cqXXrBZYrmUcB4SzjXoWMU6H0Ftic5KMwv/6js9JbBssn8dr8iliwoGJWK2qqct+ojIuXdrq6/B JwGDB2ChZ/yeCsCkBJ5YD/yLo5cjiGFQcPBgJqXdWL/da9EyICqWJdiU7DLRzoTIwwyND4xW/Qg = X-Google-Smtp-Source: AGHT+IGI64E6qUQvTtD0dQJ27en3xx7zQ3dJ2hnYFKTNdAeTnalfdSgmIf7iZ/uEIKGxCBIOqL8MJQ== X-Received: by 2002:a05:6a00:e0d:b0:736:4ebd:e5a with SMTP id d2e1a72fcca58-7406f1a3c00mr12867802b3a.20.1746476878519; Mon, 05 May 2025 13:27:58 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 06/20] tcg/optimize: Build and use z_bits and o_bits in fold_nand Date: Mon, 5 May 2025 13:27:37 -0700 Message-ID: <20250505202751.3510517-7-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250505202751.3510517-1-richard.henderson@linaro.org> References: <20250505202751.3510517-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=2607:f8b0:4864:20::42c; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-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: 1746477049170116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- tcg/optimize.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index 08d15e5395..9721c80943 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -2192,16 +2192,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 Fri Dec 19 02:49:52 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=1746477006; cv=none; d=zohomail.com; s=zohoarc; b=cWajYNV8Qs0HEL5VYhaWQPL2SZ63bhPZazsuXV1AbB9zXGHkmMcnosIFJi0NL7kqyD6ipqFQHzdYFMyCQQH8/VOAxfUNmn7k/B6/XUDwA9YLLNSjwfEJ5mFGc1J62H0EgyGgSlpwhK8qMzkEVubfOZSFvC2iq32WsfyKj0u91X0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746477006; h=Content-Transfer-Encoding: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:Cc; bh=H0yKlDOkjZzIDpwxCtwHuK2uhBYRx2fgU8VnadXpyy0=; b=dfmsDa8FpZ/TYeD8jFeDKD5ZIKUEoH3i7iTTWN/+S23lAFzl45Nu+Dun9pbLtWDKWR3MFvsyANiusrj7ilA8MRlJdycvx9oBu+ThiW8TRu6LrxCCsWNpG1dxGJonUFgxbDPOfe2t9whquFhlDBYzhCKLMkHCWuHxlkNA7RCQmwU= 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 1746477006245297.7243196909144; Mon, 5 May 2025 13:30:06 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uC2Q7-0006n9-No; Mon, 05 May 2025 16:28:11 -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 1uC2Pz-0006jd-Ef for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:04 -0400 Received: from mail-pl1-x629.google.com ([2607:f8b0:4864:20::629]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uC2Pw-0000O9-T7 for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:03 -0400 Received: by mail-pl1-x629.google.com with SMTP id d9443c01a7336-22e3b069f23so189075ad.2 for ; Mon, 05 May 2025 13:28:00 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-74059021067sm7516485b3a.107.2025.05.05.13.27.58 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 May 2025 13:27:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746476879; x=1747081679; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=H0yKlDOkjZzIDpwxCtwHuK2uhBYRx2fgU8VnadXpyy0=; b=qmUNV5I20xwh2dVVR8yXWtugVfif0z1CTa0oaaqFkQmviCFwahLij3GTUB9SS/i4t9 uhZMPdrxumZnck/bVwh5luSaVfGcRlIewlp/NZOcSRZCZ8tunv3uN9Fj5eLFcvdtgoyh wls9B0DQIxPecRwobXOttksa6YQbuwoYNJnjk+l+LFimCLAVdFQVCJIBJveo41or+qJ7 Hykydp1Rdlf0V7eVkln6H6a4X2Ut741Zgj7zDc8QavYN22lXo0pzILi2XAYM+8llTfar jdLA3s7S7UnnVIgNOzMNXEZQ/7KZZXp/9zDXEBVPxlVZFGN2BcxPcRUxKb1pr5uu1fJU +VTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746476879; x=1747081679; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=H0yKlDOkjZzIDpwxCtwHuK2uhBYRx2fgU8VnadXpyy0=; b=u/TBZPOrzfEnZpQTaGQZ4+fClgjwLrkd1i0E2uanal8gyayRtMbi0gu3Bi8uZ+KhjT dLhg/bnFakkvA5uaZFKNPG5UTV8iLNYq4lZrChcmfgtZ4uBSrcBH4q5yd8P7pzEUknON BCSiisJ4k6FFGdO3BQiELf/A0CVuU4r+NTbVEntcUhyVCfHN5Sv8lfKJaJc7IxX3ZU/V CHpqTZRq6GFqj5nECxKuUoN6vw2AHE7VusqtZjVbQHRbiaw0+pKSXex8iGk5LTzm6O/g lOmZfN0FDEyb+bSCW3JEkSsp7eFxVOMrjeIKCvOjZP2feeN87+VqEZZ7FC496RXXWhRr RO+g== X-Gm-Message-State: AOJu0YyTZGTthLl7zJEAXjqy5HNOUmrY0xUgskRlitccSkbCLDMZ2A0a q8RPvQLdJCB4QF0DdEG5Z3EnjxVYRKulsEbHloApvP2uGxUqZowMGN5+MhBFDYcooYY3VX/UW58 B X-Gm-Gg: ASbGnctcAkG4TQJ90ZKFrZsMVz7jTZ4819sFvus4Rrk6Hu+m0d0XPE7SLne162kK0/E tShfwV6Gvdre92m+FboGMMWPn84bY619s1+OkvWII/Nl68FJKMiOwnX3ASEfIE9JuRKJSxoCdAZ 0/lKBjt/dgwYFjY2AcyqXObQGfNaE7aCjHtx3HDyDu2zpnZIAGJAFtNe39oKCd+fHYDbdVcTPDl Ym3OAcwVYwd2qNTuDdTcgFkZHO2fTt3rmNMv8JC0S3ZCt5ALyTo0jPYZIohsQA2aLYBWZjfiBSB Zy759z35TtgS15HWpN+FwnGytpeBdiA6ZtICMtIB6LfZhe29fojMigqpso1MeRjvRwHWk9dgei8 = X-Google-Smtp-Source: AGHT+IHsHD78WjAoShlEePHlfC8i+fEMw6faDvA6k0hRxnM51KfoPrjxlJOCzKtDY3age68E1ucy7g== X-Received: by 2002:a17:903:244e:b0:21f:617a:f1b2 with SMTP id d9443c01a7336-22e3311dba3mr10502795ad.46.1746476879304; Mon, 05 May 2025 13:27:59 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 07/20] tcg/optimize: Build and use z_bits and o_bits in fold_nor Date: Mon, 5 May 2025 13:27:38 -0700 Message-ID: <20250505202751.3510517-8-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250505202751.3510517-1-richard.henderson@linaro.org> References: <20250505202751.3510517-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=2607:f8b0:4864:20::629; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x629.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: 1746477006869116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- tcg/optimize.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index 9721c80943..d5256aa02c 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -2226,16 +2226,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 Fri Dec 19 02:49:52 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=1746476951; cv=none; d=zohomail.com; s=zohoarc; b=eSyaFORE2R7h0gZsGYHNR9Sm7roysJWJg4ftm5PphsSWNHPrYxsRowpSv7CYkJ6qtDi/n4p/U++IkhULydPbeEucp3Dr2uU9mU6JSGOLj/A4HfLPaBvrXVy1tFFDo/2L8h3jc32xKtekVxMLePvZO4GvBNFYUwI/E1RfnqHhbqs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746476950; h=Content-Transfer-Encoding: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:Cc; bh=1L6qN3hGtDimEHeziZBjUMl7ndN8s0huzRJQqlZS3SE=; b=aPx7jpGXeYky6eS/xZkPUuwO+Bi5jxOgXlO2QTRv7nnyzIOTnNSoZGpgb5sZY6ysGznbWjBux/5THWWYT1CzYwCYkBR4ha8VU3HNkz1NOGFfUh5CFbHjO80kv/QZB44Ygd1GUQcQh6sPYCPmhzrwEY1sceQ0f4yZJmWqsmjzfOI= 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 1746476950955476.505577904848; Mon, 5 May 2025 13:29:10 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uC2QB-0006pQ-Kv; Mon, 05 May 2025 16:28: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 1uC2Pz-0006jf-G6 for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:04 -0400 Received: from mail-pf1-x432.google.com ([2607:f8b0: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 1uC2Px-0000OG-Fy for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:03 -0400 Received: by mail-pf1-x432.google.com with SMTP id d2e1a72fcca58-7376dd56f8fso6739035b3a.2 for ; Mon, 05 May 2025 13:28:00 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-74059021067sm7516485b3a.107.2025.05.05.13.27.59 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 May 2025 13:27:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746476880; x=1747081680; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=1L6qN3hGtDimEHeziZBjUMl7ndN8s0huzRJQqlZS3SE=; b=FSiZgqacHOlVpKVyaKbhstbJOBmuQACZkOlA0qtGe4/gx4ycBrr7j3giryaCm6C5q6 NgRwpuNv0MLtrdaF6/HUTRAzmThL4tLRN/XEysK16gUQLJs2eBASdzu3OW2SZhSICn4x majDIxazmprJelA3bfrjR8nHMyKQxUdk3NyfnGgppjnflVuGG/2GTQ0w+r4FCGfSCL74 Rwch/C9a3nVEHyBgnwE7+PY69VZEGQaP28y+C+4xtIEQ51lSJiN1ak+fGmP70Yl8wh23 649TDn+1DxOHaJ84nYhixH3ZFven9KTIdp1L0s5eQ1oz++P7jTllHctcXir3eaYFbbCw Yekw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746476880; x=1747081680; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1L6qN3hGtDimEHeziZBjUMl7ndN8s0huzRJQqlZS3SE=; b=gI576Yv09x9isvYKX4eao1rmTL18TMRUBx3U/lEXwIIxdNgCGilGxm+TTG7x2OmxTX 5LaX16/40AfRbWZDgb9LwIBfY/z6i8YIJJzz4Rn1ozOx/7B6WzLljxLVJoGl7m3t5PNx 98xxWBcTI0UD9nURdwJ6qQclJB03gZFLY2ixS0D8u+6zImkSN/2hgEE41BQLlCH81taC FHG7KfAhW+WD0fEYHM9blrJjYhaa6khh9Yjsi6GKk4yBnJTRSjAZvxFMECtPG+Ryoo0a HPY6grIHYw3DS51d2SBZ4EdJQTeq4R/7NR20ck0/dodn9drc04s2P4KsSG93ebrFCy2B zFnA== X-Gm-Message-State: AOJu0YyTtAfipJAeUr4EVJaH8uF4G0zpP+jCZXYGs3Xn2sBoyhVD4wGy hGL8srx5zoickWdtEmQWKhFaBPu+ZREcNwZ2+cL0+c/1PsuQl3ffCb7Z1eCtEhe+IWT69qAQ8LX 5 X-Gm-Gg: ASbGnctdx2WX5IchV33v6FX+6caO0zOTWr/L7tcj6/+wnRTyZmTt2Fcu3Vv7frB/5uM QLNk8/OiTmX5UARBIhbqXW1zeIWGHGVKKShTTPMu5BD9sp7ftbZzC/CJzeb74/raYkRdvmQfmZK CWnePZG9TRX3gbk85EUpIkVkymP1J78WwTmDJrwgGC0jpFTKXY4WaVp+jsmAhIxY/yD4U2lpS0+ anYWKb3cVP9nhKTCbrVkYfDd3LJMM5zkJJlr7D99u9xeqqMHs85dSIRwuKRl2NGaj+Owh51c6A+ t/M4TXQv471DN7npuKx4HA2eLBQx6e9G8SEIRWtSRwz0V8TcFnN/IrWF4BCcKDaKDy+iF6ccC84 = X-Google-Smtp-Source: AGHT+IFgRy8RDNUYoy9HmM8ZXEJ/celppDIh9+2BaaPHUMg4TpNRHay3/3Yvm0rfu1LVNRcGviL3jg== X-Received: by 2002:a05:6a00:908c:b0:73e:30dc:bb9b with SMTP id d2e1a72fcca58-74091a01224mr777481b3a.2.1746476880020; Mon, 05 May 2025 13:28:00 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 08/20] tcg/optimize: Build and use z_bits and o_bits in fold_not Date: Mon, 5 May 2025 13:27:39 -0700 Message-ID: <20250505202751.3510517-9-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250505202751.3510517-1-richard.henderson@linaro.org> References: <20250505202751.3510517-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=2607:f8b0:4864:20::432; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-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_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: 1746476952421019000 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- tcg/optimize.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index d5256aa02c..8fbf682e6d 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -2246,10 +2246,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 Fri Dec 19 02:49:52 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=1746477044; cv=none; d=zohomail.com; s=zohoarc; b=YUDPX1uKNZqqq9PBUfN/Cm4ywb2/yTBvZO73jHZStTXthuzKnqDxU76qIjzj6s+bTx3dCozX33dWBx7lyIOnFF+LXb6TAkNnkXW5ZMM5BCMBPfPIt0zFLPYwLXKcBMbPvbPxiGwN0c5lA0wwpIozQWwbLUnf/Ytlb2+9HeYgIDs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746477044; h=Content-Transfer-Encoding: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:Cc; bh=FSxWHLphTp6UlArdA8CaklzqquouBrX+hsreO8uW3QM=; b=aFyGivJZ//xdnje5GenR/urPtGT/rlXeF8hFXfznlUEhLYhVG4Sgto19ANxFz0/VYA44vlr4lpn1lhKp68YZ2FTt0tcS4vfbzwjxI3aMDneMhek/bCdrVsZotfN8nVL/wOsFnmkL09lJHta70x0uqwtTOMpsMxiRh/cBsyEDkXw= 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 1746477044044928.8527004539308; Mon, 5 May 2025 13:30:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uC2QC-0006qK-Mb; Mon, 05 May 2025 16:28: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 1uC2Q0-0006jv-Ee for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:04 -0400 Received: from mail-pl1-x62f.google.com ([2607:f8b0:4864:20::62f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uC2Py-0000Of-PC for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:04 -0400 Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-2264aefc45dso77383345ad.0 for ; Mon, 05 May 2025 13:28:02 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-74059021067sm7516485b3a.107.2025.05.05.13.28.00 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 May 2025 13:28:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746476881; x=1747081681; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=FSxWHLphTp6UlArdA8CaklzqquouBrX+hsreO8uW3QM=; b=ev1qvXKW8Grbmry0sYSFN6QJG4t18Ve0DsB3t+50cgD2Ro8CoiudcKfRoiJTS6EIzP RSWIZRqYSHLmskeyfdYLGOpBBk0yhgXcKS7hsV/pZlavu2ytUtVzBhk+Itm0myVqAVVP sWg0Ru4JfMX4dY9ybwKHksAfq9x2O8RlvX8p0w69/Ix4G/JWD3WLyT1OfbX5QbmaWAw+ CoqEIShHcZrUIk16dZb/VjqlkVan3M3BrD4/5svgsYVqLHKd+1dSj36IeooXuIt5qS+k Aun7sNPaiWaRkvxpnWSbLgvyFMAneCB8wqyY22XDjpBiGfEWKOzPikoZDPruBCQOa/xk aGmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746476881; x=1747081681; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=FSxWHLphTp6UlArdA8CaklzqquouBrX+hsreO8uW3QM=; b=J+rlSGHzf9vVpNDvMF33iLvGv2tiwp9Xxxvfive6eyrV1t2J9s1nRPnWr4leITWZ6n uz2oyXbx27oqm5YaYbOHxutvI3M4GBjZPw+e9zZE9ukDknwChUcIAvOStZytqUrBCMAn jswJDdq14jqS3KzN1FnG3d+x9+tdfz1+NJauLGzcU+0zY7wVg/OLSQ6wK+zqIpb3FG+u i88g6guWKYelkztNSyxt3ObKE3DK3lT5tuKlN9c7uQnMYbCypS4Qc26UyPFkg9v/Ek3S VmSeypkhHBhS1sz5vfbmihtc5B2I2G3NcWWMp9qy70ESVWRJCD6f0yRE8dc1SsLWhgvl 4TmQ== X-Gm-Message-State: AOJu0YzRoYMUBn0b1LJROf7bKJ2/iJTMFtEjyGMtvoc+fP8FQVoKgwIF XpMqBfmCuoVr//E8x3MNzeSzZyOWH/YwNjH8Xnng7fG8c9Crkq4Hq9JPfCYyJojCm8UphDcn83J w X-Gm-Gg: ASbGncuHDS7vMVQu7Vyi9WuA5TrJTACM8H4LvYBX6/WIXoubWB0L+kX5OxhVpbC5Q3q g2CTkoOJMV4txWh6fkGGZ1VY5a5LxdxIIk0iK96NIHIZk1AXZahJrXVlyFPSQbX1Cq1IFM3vD0E EKXBd69Ka+LXucehd+YxpREtWtyazOB/MaRFwyvtPHqX/iuTk2TYkQawRL8DQSj+MLl8Z1i8sZ5 2lMVtIpXwb4gILCYlAWhHrV/Ic1dwftf0WUicBraQU3GUribAA3qZ51cttN0xPo9jYQzjXQy2sx w7x87OvvWvZ23T/ewG944FWhs1MZasoeN5OplQTK96ZdOYZ3nnRTNr85V91j5P53Wx9gIt4NFWA = X-Google-Smtp-Source: AGHT+IH6RPZXkw9sNdGUgDeGJZygkGAecjoOSkJR/3v19vg0XfylOHw7s/qyM87FagvExxS7fWbx4w== X-Received: by 2002:a17:903:1a08:b0:223:2aab:4626 with SMTP id d9443c01a7336-22e1e8eb4bbmr126321035ad.11.1746476881176; Mon, 05 May 2025 13:28:01 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 09/20] tcg/optimize: Build and use one and affected bits in fold_or Date: Mon, 5 May 2025 13:27:40 -0700 Message-ID: <20250505202751.3510517-10-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250505202751.3510517-1-richard.henderson@linaro.org> References: <20250505202751.3510517-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=2607:f8b0:4864:20::62f; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x62f.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: 1746477044764019000 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- tcg/optimize.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index 8fbf682e6d..22d302c9bf 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -2258,7 +2258,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; TempOptInfo *t1, *t2; =20 if (fold_const2_commutative(ctx, op) || @@ -2269,9 +2269,17 @@ static bool fold_or(OptContext *ctx, TCGOp *op) =20 t1 =3D arg_info(op->args[1]); t2 =3D arg_info(op->args[2]); + + /* Affected bits are those not known one, masked by those known zero. = */ + if (fold_affected_mask(ctx, op, ~t1->o_mask & t2->z_mask)) { + return true; + } + 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); + + return fold_masks_zos(ctx, op, z_mask, o_mask, s_mask); } =20 static bool fold_orc(OptContext *ctx, TCGOp *op) --=20 2.43.0 From nobody Fri Dec 19 02:49:52 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=1746477110; cv=none; d=zohomail.com; s=zohoarc; b=NcGIcCpkNhaGaFsgFHEI71tKLqerI2gumR2kVHjwKVG0CN20XO322RowbC9pl5j2FVJkwot+J5OR9ADA+A97+OkOCcb0uF5SU8U5dhxwULtkhxNktge4sRNVQzA+MrOADOgdO/HuWPUaod8cynkbnCOQbUWJS9BDD9VXSGxnvAY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746477110; h=Content-Transfer-Encoding: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:Cc; bh=s1YxZTFnyJUKlNufWpjlXpI0nvYQxw9kcPDoiVpqA7o=; b=Sq+h1Lb0StEocqwy9m/GBDdZO2++cUsD/9r02fSFbkpZAeFFXdrB5QqKgtFjEg7DFty5FHYG3xmYfvKUiTQgYiucjKuBZrcUZCgUKkPo2nmW7RtR08Z6a6Do8yMQU+nIHlHq788RRJZbFael0SvaTW5r1CnVMwhGygT1VjsuOn0= 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 1746477110628726.8800104290622; Mon, 5 May 2025 13:31:50 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uC2QA-0006or-0I; Mon, 05 May 2025 16:28:14 -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 1uC2Q4-0006la-JP for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:10 -0400 Received: from mail-pf1-x42c.google.com ([2607:f8b0: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 1uC2Pz-0000P4-F8 for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:04 -0400 Received: by mail-pf1-x42c.google.com with SMTP id d2e1a72fcca58-739be717eddso3973629b3a.2 for ; Mon, 05 May 2025 13:28:02 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-74059021067sm7516485b3a.107.2025.05.05.13.28.01 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 May 2025 13:28:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746476882; x=1747081682; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=s1YxZTFnyJUKlNufWpjlXpI0nvYQxw9kcPDoiVpqA7o=; b=RtFKw09HkiIEEiOvP/0LSS9GtrADflG2ITUEqGLsI5gug8fwNCXa4QzYoHUFKSuxVM zRpGF/+JMVIXJh4pYIlB6trGcoBc4A0toDBXp/5Wmpc277STAbLLL6vrFZ4IrJQN3rCU 7Dkds1vGAzYdoMMTwA9ZNwKsvyWUkaOFL+a2CA5CfxxUuoM61B1JudN89Xy4tULPtXXE TM+xOXWSqgks+KLkhVMOYYv0MCTMIfz06dzODRq/kvZkxuv023Rbk/F56RuIBpsMirMT NUHBHWJkjq8gKHwVnZn+seEBs+SG8CWoNm7pAvDzsw0O/SuRl5+Zge88Ka2Pcxy5MRK8 wkZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746476882; x=1747081682; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=s1YxZTFnyJUKlNufWpjlXpI0nvYQxw9kcPDoiVpqA7o=; b=pA9vQZUHwPtqcbBYcoC9tNml/8O061298FwlC/dcCDcM2+SRNs6a+UDY9YZMIEi4Qf /TVaclbpBNfB3SvvW4JPZPxuu+c0VQ8UWdpsW4+dVyK0LHPBsaMU7omIfX7Pq00FQF9z UMTYz+PLmDUiuNaFm241Kz8qxyfWFFGZxCsVmXIH6Thh/RLFoYNZTXC/avi0C0UaGtz2 jGgjoksArZ6bc34JJsoE7BKfwSewcXn1Ex7qNc/2NoXAh7cYuEXLvqx2qB5zJer/oGpn /8/qgCYnG+OqOX+yUM3KejEvAa08Ld1i0VTHc3YIraHByDUKzIe9iIRoURVsMjez9p8e 805Q== X-Gm-Message-State: AOJu0YxmxAmaoGAP/9vGmbB0FkL3SpjaT5M/fx/kapRQB7XlgAy9ClQG 4PP5Z5U/NsTSqGB5EFiMnaWNlSS5Z30snUwPDgcO0EaWjwhCVbcnR0wZzGBboJrlsgOFua5OmwI Y X-Gm-Gg: ASbGncullq0TJlX2z16cu4oO1NPIs0LLFvKsjMA53j7KgmXBqNQrRjc1nvoNt3Ue3MQ N9cO5Sz++wjNti5cVZj5cJVP79eyJHPWuXuhfhuodQp6MivqEOBvXxmcoibqRR+XYAcPOblGEHl qJ6ENHeoNVlwyij+LmJ3BtrStZzZCB+bmZUzP679gIG3RI/tI1lE/DgJnxenpUoY24+mgbXHTRv C9Q9uiAfcUimsiWdiqWK+CChpnlvFrbp0UpVYfZr/OtQmW8M7W2Ie/dXVSbbbbGGnN+ty9fKjk3 yfMJPD0wJMs3C1BI8yLF0IFzknAQPrZft835XeyuRiDkDnNs7n4H6y18YCkZYHi5NV+XCb9Zcok = X-Google-Smtp-Source: AGHT+IH0S0Gl/YhVN6JmsvAH6TaoOCeSo7k0MKp4hUGUx6nKy5sFkgCI6qScNEYS55FOW6EiMmMXYA== X-Received: by 2002:a05:6a00:8d87:b0:73e:2dc5:a93c with SMTP id d2e1a72fcca58-74091a3c859mr756190b3a.11.1746476882033; Mon, 05 May 2025 13:28:02 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 10/20] tcg/optimize: Build and use zero, one and affected bits in fold_orc Date: Mon, 5 May 2025 13:27:41 -0700 Message-ID: <20250505202751.3510517-11-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250505202751.3510517-1-richard.henderson@linaro.org> References: <20250505202751.3510517-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=2607:f8b0:4864:20::42c; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-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: 1746477112780019000 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- tcg/optimize.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index 22d302c9bf..5081e3db1f 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -2284,7 +2284,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; TempOptInfo *t1, *t2; =20 if (fold_const2(ctx, op) || @@ -2315,8 +2315,17 @@ static bool fold_orc(OptContext *ctx, TCGOp *op) } =20 t1 =3D arg_info(op->args[1]); + + /* Affected bits are those not known one, masked by those known one. */ + if (fold_affected_mask(ctx, op, ~t1->o_mask & t2->o_mask)) { + return true; + } + + 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); + + return fold_masks_zos(ctx, op, z_mask, o_mask, s_mask); } =20 static bool fold_qemu_ld_1reg(OptContext *ctx, TCGOp *op) --=20 2.43.0 From nobody Fri Dec 19 02:49:52 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=1746477127; cv=none; d=zohomail.com; s=zohoarc; b=dVHHyD7+e9s0Evz0EPfCcUqU4/ocGcy8gFuQUaVZQG3kWfSaVu8K8UBZ7rB8AXbOY2Y4ZtAivl79yOhP/sXgyM5n/TDcEBwJeRQ0NIZ1km/9shJomro1GHdZ1jlF3SMGhHQeCCTBlnRty4V1kCYZ6ovDCAuFPqFMubhx9P7OxZg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746477127; h=Content-Transfer-Encoding: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:Cc; bh=kofwy185EEZLPzQB92vqtuKiKqq4yoFm/cvXaDrv7JU=; b=avo8yKF25mH2bNJxbk10SLXTKmkrnbNVwpzNx7A3QchUX0SB8y9veZFSUmGclJvwRFxmW/bC1n93U2NPXeWs7OKiNCD7umS6cxZvoOCZal4WltC+bCE+0zOLvgLLL+X+a0Fu7Muh3XhPlV1Ic3h+Ggnzvtv3pJpF2IohOMZwv3g= 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 17464771275581019.4678252297157; Mon, 5 May 2025 13:32:07 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uC2QA-0006p1-Lr; Mon, 05 May 2025 16:28:14 -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 1uC2Q4-0006lb-JX for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:10 -0400 Received: from mail-pl1-x62e.google.com ([2607:f8b0:4864:20::62e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uC2Q0-0000PE-0m for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:05 -0400 Received: by mail-pl1-x62e.google.com with SMTP id d9443c01a7336-22435603572so61176015ad.1 for ; Mon, 05 May 2025 13:28:03 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-74059021067sm7516485b3a.107.2025.05.05.13.28.02 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 May 2025 13:28:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746476883; x=1747081683; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=kofwy185EEZLPzQB92vqtuKiKqq4yoFm/cvXaDrv7JU=; b=kKigjx+ilSvP290+4FV1AgQs0abmGmyww05F3yNgx50gFpuXma2XLwTo14cYVGxCOD KqaRdQut6BN16v0WilgyxCPBhfVQ3VElSVsBHWv1I5hBRz/mKm8yhM1kbRIrUirqg4+u EbontWlYZT7OZD2OTK4fXdIUQQhEASldltYHLff4l/2xZ8msmD0IH4360r1X3jIVK0dn rGH1zDfAXGEJ1sd279d+SB36nJf5hws20Jobliv1iKT4gQ3enVgc/VORgnA4gjaQtWtP sIB3avA7zQ8sdpvQ9x5CjY7C0SBOPWv/5bmtcrynMhmAZAXI/URZKICnVlOkhtl0FEB7 AlJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746476883; x=1747081683; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kofwy185EEZLPzQB92vqtuKiKqq4yoFm/cvXaDrv7JU=; b=Xs3nyElSHAU/GDHxvIg2jr3nfQccbczRrJQkSCCsQinreZQQCdOItvS8HfsnSJMP20 1NjSIyE8UCIf8FvNVlZ2bLiv8QollJyAkpFlbt0Mj/9io/kOg9MbJ4qDUCCXBmfpaBwd qTs5vZU6HttXVr+8CY4FgDI4BjS49PBl/V+6xm4fWf4HMLw3N33FlNGmQw3BXXSfcomz CpAQot3QOesawrgVsj7UcWfII5Q8GvgdQucLPYN355dAETgf115SD9hkXcYhodzWrDyD P5KiT+IIEDFMivRb3kY8EzKb9gRYCzCGgzTzfCb+b+oXzqCTwKRyHIERkbUTAZEy5c2s DnKw== X-Gm-Message-State: AOJu0Yyez7iB46awrGz6BMjID3ZQtLGDTsQXOPW8G8jYKCkZo0PexXhy Pka4AM90y62ZZmW5VGvXFTakfKxnGjdBo/82Mvu4vDeyLEaMCxIzLIG+on+jJH//EzMBJPAXLTM + X-Gm-Gg: ASbGncskkegCNAQmoUnP6sY3EQsRqWOmWbvEHAEAs3vrES5NLT/+Fkncjp4D58T9qmC N0hKk4ps5Fm6BWJiFwPzEUkf7nrW5T6kQx42mVIAlFE1DCiAxs3iHUGYKKerWetam32cCB7Q+qd Fe0cSNKee2ISj4LXsSAgcW4Ubz4USOVEljJxmBC8SrtMRteh+/qSgMZ5CzTBkrh779MyrfZ2dtG FJrh0JgZg67aWtdD4YrmD3wPvVnY42RFbMzemUsK8xAJTUc9ZC/pdw64EHRPJ///YDnXp5hq16q WDAkNnkLUTkwJGQ5WO8gfv1sPnHoiY2pD5nXdJYKdvIfLJ+GEeqQRUUtO4W+1hk77bA0OVeZhU4 = X-Google-Smtp-Source: AGHT+IFeTWXzFemncHkEADvcuuCqE8stSN1r5OefmrfbUlWY9rU+J8Uc8qMAvD+s5kQctk8cJYk2Qw== X-Received: by 2002:a17:902:cece:b0:223:66a1:4503 with SMTP id d9443c01a7336-22e1ea36e9amr120547385ad.30.1746476882737; Mon, 05 May 2025 13:28:02 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 11/20] tcg/optimize: Build and use o_bits in fold_xor Date: Mon, 5 May 2025 13:27:42 -0700 Message-ID: <20250505202751.3510517-12-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250505202751.3510517-1-richard.henderson@linaro.org> References: <20250505202751.3510517-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=2607:f8b0:4864:20::62e; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x62e.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: 1746477129841116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- tcg/optimize.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index 5081e3db1f..a61c7ca376 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -3038,7 +3038,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) || @@ -3050,9 +3050,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 Fri Dec 19 02:49:52 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=1746476945; cv=none; d=zohomail.com; s=zohoarc; b=ON3lx40sjaDrkGU6eLeKYhsge3wQ/9VvijM+krnftZ709rz1V5UAhl/AxjHrajSnsFRi3m0/a2unrvhJoQU9CdnVTDIP4W5tn8rDspfpPe5G2fN3XF57R11kMwPsMR/tH4wHUzemKQ0KzHfwg6SsRMIhHU4mzwFz6pVEp+M9RPA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746476945; h=Content-Transfer-Encoding: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:Cc; bh=sNMYKS7uUvU3t4vTOZEPR2i1hQCtUZDMO2z8Aojc6go=; b=knaM6k9WZpFo6ly8CJ2Egazjt/ay3usnWKg3RkOzk8F7LzTfUJ1+i82dIZc+ICpoWdntmDoxj8dssD48jys10xZdLXK9ehk6IaOBjrlzSDNVbRb7d6U/OwjqwWKabufLJjhdG1nEoSyzsHQTaxL+6eC9mjpgWXIlLoePrFciTmo= 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 1746476945434133.8475959861887; Mon, 5 May 2025 13:29:05 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uC2QG-0006sm-0i; Mon, 05 May 2025 16:28: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 1uC2Q5-0006li-Va for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:10 -0400 Received: from mail-pl1-x629.google.com ([2607:f8b0:4864:20::629]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uC2Q2-0000PV-FN for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:09 -0400 Received: by mail-pl1-x629.google.com with SMTP id d9443c01a7336-22e3b069f23so189715ad.2 for ; Mon, 05 May 2025 13:28:04 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-74059021067sm7516485b3a.107.2025.05.05.13.28.02 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 May 2025 13:28:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746476883; x=1747081683; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=sNMYKS7uUvU3t4vTOZEPR2i1hQCtUZDMO2z8Aojc6go=; b=oH4ipho1lhmeqnJAnuEt1VDW8fAtlP3EH8qRxWU50FNHE33WK1g7/e9+UgokeRppRX jFBiIfbK6GW4e7VckLCjdQIyePvbyAS4H5/vbLbFcRwBSuaYzGrLSS9bluGs85702eve ovxVgqXyrqs2UuCRDb2PdXySMNvPTnErGKEVwkM2zJq7Yd2/vkmoWPUOdZhidyXMwuf5 6+klTFr+d8PIohda7/qGpFmTYRm0dAOHqSobqHIY7JI5apfKcCeuMbIpalmeuNLcybcB t7C7bOxYmPqm0qW2SBZ4wxKIJCDCORp1CAZYLao0TOj/kIamRPSJjsRg3qaAYhInmeGn gF7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746476883; x=1747081683; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sNMYKS7uUvU3t4vTOZEPR2i1hQCtUZDMO2z8Aojc6go=; b=nBqvrL99zFrnyf3NMfF1NNIEP7bEwy4/Qhv365EXhGZ75KcAeIdiFuc+KKSbARArmH Vld1dD+oHJURdvZznV5pSqpBKG+rb3w6J7+hujoqbILnML4g40FoYqZlJya/WQtvntrO ij1xKZubnWu84UF5j03fUNkpVlHSBDSTDmdN5JHQeib3Wa7h/3KVJx33QOZtfO6I7/XP 7Tf+fSdielP3UlajpBUxvor6oMPqqlqYXo45zGCX8q0PNYXs56oQmim6JyELvjNcyeHS yY8/t5E5riuZ+yfvNosxwGGKCOGUn6/Cb+dKll01oxnKrs3jWmdshFCN8h2VCcCSK0mn ICtw== X-Gm-Message-State: AOJu0YyBGT0NGu2+auGLL9S2dWpwrl73zB4zCo+J/fAH60X7TbBgSy2K C8MEZXydnoj9AarUOWFRlEc7GA0NRG8E7gRVtXtULQtQ1IPKEacsjZO3V3mwVprbZi3xIl9+W6L D X-Gm-Gg: ASbGncuADrXGy03HF56hUl4fOd97VV8z5tO2YD70OdePLJiMH72iNzAjrkjcVhmgXUQ CazNv/5FrmlclTTYk+MBAEgLaJZst6MAIer+X0qsy2dQyCP3bqVctRvvfnxkj/tOUJIleK6Fg4o F24Vy2A/tfXBeOdhd0yRCkyvNsahlaeO8Zmt3S8BaveWU4kpDHtw65UqjHhdjBty/SrqHU1NGa1 njAam2HKHfzTp8JcC6n1xrtBSgnZO/00IWJXQgs3D5y+U4XTLXCB11sL2a5td6vW2uFV4hmr4ep KMAROtBHNb3RoX3x3/j5Di13FDx8dJWdyoY/WeWBGpmay0tdjMhD6b1n5iNbPKwT3WZzo1rPdjB YJ0LDsKPGhA== X-Google-Smtp-Source: AGHT+IE79c7ZxcUj2p/NQwy6H3SjNJXs76+T3MbgeB3cOpiUQBXcKypzd36Rp8i90luhwKwJ+9AnPg== X-Received: by 2002:a17:903:1983:b0:224:de2:7fd6 with SMTP id d9443c01a7336-22e32ba5039mr11669495ad.25.1746476883707; Mon, 05 May 2025 13:28:03 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 12/20] tcg/optimize: Build and use o_bits in fold_bswap Date: Mon, 5 May 2025 13:27:43 -0700 Message-ID: <20250505202751.3510517-13-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250505202751.3510517-1-richard.henderson@linaro.org> References: <20250505202751.3510517-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=2607:f8b0:4864:20::629; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x629.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: 1746476946565116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- tcg/optimize.c | 49 ++++++++++++++++++++++++------------------------- 1 file changed, 24 insertions(+), 25 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index a61c7ca376..2898a3f913 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -1666,53 +1666,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 Fri Dec 19 02:49:52 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=1746477006; cv=none; d=zohomail.com; s=zohoarc; b=WKisuo1IjD5NQq9+DZhZbw58WaIKC11/G9LkRguGj7BRpCcd6gekyYUhMjCOUAIouUV31SoaTrPgz6geY38xhyubrM1F9wsj1Adjcg1X7jcLMzkEOpdTNqCsaUuE4kzby7MdN04vSsYQgaPIpyBWW/NWLbUZHJicuwoWuSnb6vQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746477006; h=Content-Transfer-Encoding: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:Cc; bh=4Z9U0xFGsHZfgRlzIcGtK3Ulm26TWyDjirsPoYKnSDE=; b=hAwAxHnOeFjpuNlkqodz3vHxOf3apBVirIJVKLq2DPP2Hk/8Usob058tH472h0ZhP7cfRepEFELfmiHZL5Nm9Epm8TSbbnUQQPyHnw22jwjCrsyJv9B/V32ZP+oKhCdJ4wEx7gSXO6caZvKlhtd/QWpl09XEjw2QpMSwxjxd52U= 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 1746477006812696.1254625355499; Mon, 5 May 2025 13:30:06 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uC2QG-0006tS-QN; Mon, 05 May 2025 16:28: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 1uC2Q7-0006n5-CO for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:11 -0400 Received: from mail-pf1-x433.google.com ([2607:f8b0:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uC2Q4-0000Po-5V for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:10 -0400 Received: by mail-pf1-x433.google.com with SMTP id d2e1a72fcca58-73bf1cef6ceso4913519b3a.0 for ; Mon, 05 May 2025 13:28:05 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-74059021067sm7516485b3a.107.2025.05.05.13.28.03 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 May 2025 13:28:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746476884; x=1747081684; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=4Z9U0xFGsHZfgRlzIcGtK3Ulm26TWyDjirsPoYKnSDE=; b=QJyeVGUq6Iv3qHCn3d+fkpUOSNw7pv7LEeYJ65Swbvh5WWmfmoT/dPtTnwRrAWU6OY U5BmA3E+U/Srdbt2WrY+9pMKeXNNeBO0wZvDOWRCKxrl2q2nrAF9hetoI/98Hw3FPRwq JKv21kFTrqAR3HIZHBgC7tJ2CUbxJ7+ukEmsakH2xOzQrL9zW3154d/iL+RKurIF4XJw yKi8mTFCmeEN46dAUjQC+yKBfhtaBz4BZf+v1iKogdHBPiaQv3eIvgv+6WrfF7InUcSA ABZUZbyJdKKlg5pps06x2Zl5xOhH7SswyLclRcOEvnttrER+axHTm7sipDt4kTMmz9r4 uvsw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746476884; x=1747081684; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4Z9U0xFGsHZfgRlzIcGtK3Ulm26TWyDjirsPoYKnSDE=; b=BQ3AXLFGHsf9bOed7CwoON+86WQmNN0VxeYsJgv6xf/d6lu1elZefqnoYMx73aKWOn IChyP+E2kYdb7PcHkABnA1cESO5dKbytApFovT3hB3oc7ghgp9Aepwv8o1HtIM6bCATQ ubzhqkQVtvwWcd7r8TvlQXiwf1VY19gtAU/kSRymIGMGKwKAdxeooTD3FKptUP8+8Dfv HyDxY2SOS1tzNVlYx8zT+fpFnp9rkpodZy+Z/u8H8BoWjKr1FPHA1pwLlzcTqFszNQwm nUgC9ub3EdhAQ6UY2qVhEBIPUWnIif+lpC20ya4yUc7uQ5S/Tw/BihjOKn0Y8gK45E22 a3nA== X-Gm-Message-State: AOJu0Yy17p7IhPWnlgn4gaMCtRTY3cFIri275m9G96rIkHPopYx+zSo1 siUH53bwIa5B9o0lL+BIsWdsOzVksqU418ki+Ce7uXcfDPnc9H4GkLKGfEupuvTRZV1gHTz5nBX o X-Gm-Gg: ASbGncv47fXbHpANCQ6qVSv5C244MGmqpa5++celoE2g4uU2oRfBGN5vvJUJnDzYtH3 TprLovLX+Jrz/U39Mw/aPQR6gBrPIGDFPDQcHFDqkSiVNh8fSXu7GlB330rpyQ3Xb4jep2DUBmY KDz2Sy45whv9tMqvCab/Mw/sLKAjsobtlfVrtSs+ON6WJGjqXMbJAVATvCVUnXMpk234K6uraSx y4R5amkgbXqw3tvhJjlrjPR4XkY24+nh7uFnxVuGT5+G5gRaL9iABgHrB1UAHURt0ZPieleV3oR 7nCwKhen438Haw7sjAIcz3uBWrSgBi0KgKLMd809i1LCxuZzjPnsb7CLc5/vQpYJJa/CtEtR3Ty YP2SU1+aPyg== X-Google-Smtp-Source: AGHT+IHPPeOsO0yxfgIcWXSUv1qYIsIVlaihNY1HxXKRKgo70ewsDkv2Y1AqCGw+CJ/AY3fl90dBcw== X-Received: by 2002:a05:6a00:2908:b0:732:2484:e0ce with SMTP id d2e1a72fcca58-7406f176b5fmr10428589b3a.17.1746476884488; Mon, 05 May 2025 13:28:04 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 13/20] tcg/optimize: Build and use o_bits in fold_deposit Date: Mon, 5 May 2025 13:27:44 -0700 Message-ID: <20250505202751.3510517-14-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250505202751.3510517-1-richard.henderson@linaro.org> References: <20250505202751.3510517-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=2607:f8b0:4864:20::433; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x433.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: 1746477008488019000 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- tcg/optimize.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index 2898a3f913..886947b82b 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -1842,7 +1842,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], @@ -1877,7 +1877,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 Fri Dec 19 02:49:52 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=1746477057; cv=none; d=zohomail.com; s=zohoarc; b=X8Tryc5cMsa97V1gEQqlkOJiq2vLL2BkDuujdwMUjdV0uFJ8A2xtnFf4JlGEmL66SAMhXx1mRNvDXNQVrxklKhe1uTSMUVy1kP5O3K5LbtK6ou4ebcT7+IxteeNtGcKbPu1jSq5+N9sNO0bRgLT41T4iRyLjg/tajeIHkwt3Opk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746477057; h=Content-Transfer-Encoding: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:Cc; bh=x2Y0NbHwSVautraRUSm70pcB+uKrHArjhxj6kfxjpLE=; b=dJlJeLECkTKCw14q+jbEMCbN/ai2E+SogsHrhsw782uaJYdlJzHOhPnoFReScuAVyfWCHpg7uBwuyAhDvLYIZs4sa3vpr22vKloGBxxUdbuAABg9j3hBBfmALEZAHYSEVhwOjaS2Kal8aOXEsClnNPZ9eKMttm0RJ1ULK6fPsSY= 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 1746477057616196.0145792218343; Mon, 5 May 2025 13:30:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uC2QE-0006rG-3s; Mon, 05 May 2025 16:28: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 1uC2Q8-0006my-9Z for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:12 -0400 Received: from mail-pf1-x431.google.com ([2607:f8b0: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 1uC2Q4-0000Pu-5N for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:10 -0400 Received: by mail-pf1-x431.google.com with SMTP id d2e1a72fcca58-736c1138ae5so4934963b3a.3 for ; Mon, 05 May 2025 13:28:06 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-74059021067sm7516485b3a.107.2025.05.05.13.28.04 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 May 2025 13:28:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746476885; x=1747081685; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=x2Y0NbHwSVautraRUSm70pcB+uKrHArjhxj6kfxjpLE=; b=bM4+lO4LinN16I7fzhUPbeuX688TWoEIREA0PcDLNKzJRVRyjepsT/uf2upz8Mnr3+ bu5K/7olD/biC/bWWnvm8qFDJFXumKSGVBSWWcUuJMP3iTDeMlBmFsR5OGg45ncGlLuY pck1rE3kzedhOl1tUg/XoPj8O4RObWxXeu83VaZd7xeyt8avK4rdAF8dxDZhj/6/ML3+ LZXS3CBFgK5Ma1aLiYwGTc/oWkE93zO1gBjtM0+Z1KlJotAMe4huTRNJGcIdyT9TtmNq noECP+/OgRLkH5v9T29h2cVZP3Wdb6Q19u7O04Ktg/jzoAyATUf6SEhtWEJ7IrBYY6so B/bQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746476885; x=1747081685; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=x2Y0NbHwSVautraRUSm70pcB+uKrHArjhxj6kfxjpLE=; b=cfMpzX3jCXfAHuC74PTLZVi0HXEUNnLlWlq1BwgryWAPsP0ZVWGdbtx1c6pvVhg/Wq sa9XGlEo1CQH7nFL+DQuJ8hcDt/zoIPucXlny98QldunUXDasCGHPBFlq7sKU7o6Qaoy MB0KmzhIh3C4vqMTL/V/sMh99sT27tHkA1HVQszYV/Lb83+dkeWU1OoYeVmKzYys1T8S L/JDu9xb2E/DcBYFT5k5r59cFblVR+UnwVmTcuNxXf7m5mQmuFsD77ASUvpyIXhuu2XA 3u/0X6/iYMWHVWESaftShgRPvkRiK7142t2ynngNMEjIZrfLdvh8ypDNLJh2Tihd7O15 bOWw== X-Gm-Message-State: AOJu0YyYdAH8EngBmhiMxJnpqlCwixxQSUjMBhS5U5xzDevmvkETZyaX VGZHXF8Fz+G5W4/CcD+aUEWQI6cWmvQXDLRltyaWz+gqYdlVdFerww0Je3gO1qilod8EKa5v9MM Q X-Gm-Gg: ASbGncvUi1ZL/zlfCALiI7RCHSeaAgzwm+yvKZ5vgybMbRNY6XbuAeQ01ht7k3xMWsB wzFrFZ81eXM0cH+fAEkU7+WKilGYe7OIwcN3xD2x7Ujfq20H4Bw0WWiqIdd4T/Qr6G+V5kxwrCC bBcIZkEcYszvnDgreCPYFYCnJOQAfrD1fI3VHdhcu59Nh8GSdnfy1qak1c4pFGgqzTSa/a85/gl XvyUCYfqjrxD02uqZIMoVZGhrn4V2x3EsQhjhP5Ab23bZ2gOSNK6JpEMXlHk5Phs4mVzLDH3Oe1 81OVT+bNE2Fyg3LLnEzV6QU0C5WpUydDyiRfR4Vtx0y0BjHZC/7IhoXu5rSpJyFBzAoH7vTPdDI = X-Google-Smtp-Source: AGHT+IEsTa5uoZOymy4ehTykwFajrc9EJ4N86QXSPPPFJpaxUVezO+Wh67TMNjVzsBToUU9koUKiew== X-Received: by 2002:a05:6a00:428e:b0:736:2a73:6756 with SMTP id d2e1a72fcca58-74091ac95camr606099b3a.21.1746476885190; Mon, 05 May 2025 13:28:05 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 14/20] tcg/optimize: Build and use o_bits in fold_extract Date: Mon, 5 May 2025 13:27:45 -0700 Message-ID: <20250505202751.3510517-15-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250505202751.3510517-1-richard.henderson@linaro.org> References: <20250505202751.3510517-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=2607:f8b0:4864:20::431; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-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: 1746477058602019000 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- tcg/optimize.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index 886947b82b..c5243392af 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -1091,6 +1091,12 @@ static bool fold_masks_zos(OptContext *ctx, TCGOp *o= p, uint64_t z_mask, return true; } =20 +static bool fold_masks_zo(OptContext *ctx, TCGOp *op, + uint64_t z_mask, uint64_t o_mask) +{ + return fold_masks_zos(ctx, op, z_mask, o_mask, 0); +} + static bool fold_masks_zs(OptContext *ctx, TCGOp *op, uint64_t z_mask, uint64_t s_mask) { @@ -1958,7 +1964,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_old, z_mask, o_mask; TempOptInfo *t1 =3D arg_info(op->args[1]); int pos =3D op->args[2]; int len =3D op->args[3]; @@ -1974,7 +1980,8 @@ static bool fold_extract(OptContext *ctx, TCGOp *op) return true; } =20 - return fold_masks_z(ctx, op, z_mask); + o_mask =3D extract64(t1->o_mask, pos, len); + return fold_masks_zo(ctx, op, z_mask, o_mask); } =20 static bool fold_extract2(OptContext *ctx, TCGOp *op) --=20 2.43.0 From nobody Fri Dec 19 02:49:52 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=1746477101; cv=none; d=zohomail.com; s=zohoarc; b=GYEDxXXWMXol6SxvDFZMyjaMgLRG4Yod88ZLpVwtdujWXyAhn54yzhzyXC3BKhsyywUL7o5XpJFXHksfvhasodKpaJ5vAJ81aBST3LQxBmiQadlMqg3KGC/QYqWFF5O1NBbvJNp0QYsS0PeTkAJm3hN0yLqIND6woQcDaUalK3o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746477101; h=Content-Transfer-Encoding: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:Cc; bh=Js2PHkGKWnIWePR4QAI//TgTXL4kXU/lMnkleDrme+o=; b=WVpdosCOlcMUk6FDXPQEXyI5u1j8P+30CjwmuFI3rvYV1eCTbDTSqVoVUcB+HnbrrL75Dftvf1uFWx7vTjhnaK4Uaow2mtkrzhWGVAR5qqf9lEZjf2CnwRoA0fcYHaJbgTG/u80RfYT0yf5bHllG7kVFmtzbA+H8NmSRNRhbRzc= 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 1746477101837630.1371092071284; Mon, 5 May 2025 13:31:41 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uC2QD-0006r9-Gn; Mon, 05 May 2025 16:28: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 1uC2Q7-0006n4-AX for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:11 -0400 Received: from mail-pf1-x432.google.com ([2607:f8b0: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 1uC2Q4-0000Px-5i for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:10 -0400 Received: by mail-pf1-x432.google.com with SMTP id d2e1a72fcca58-7370a2d1981so4053874b3a.2 for ; Mon, 05 May 2025 13:28:06 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-74059021067sm7516485b3a.107.2025.05.05.13.28.05 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 May 2025 13:28:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746476886; x=1747081686; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=Js2PHkGKWnIWePR4QAI//TgTXL4kXU/lMnkleDrme+o=; b=WnZK5JRcVL1IvJUDNZsaqMOrPgW2vqwWiyOsYxJmwkQK6+em2rp3BMeL4LivTMMDDZ IYXvOOs+oYoupMy7j5shBjPH70ZPRAx9lz5X9H3MEFAyDorVpfMB74ZVocUAQOTnJOkU 55dA6MlErmc90CHpKpt6nkp0C/kwwCBt6rWN7laAwEk76tohpG3AZqRIqfaanCyGWYGs FR2+Xw2REXKrEKaJPEmC2PFMeUC1E3CLCHlnGP6uRBhiRzzIXV8B4K8Bt2YZ4aZFoxxC k79yxh55Fg2lz2VTthZ/9fcLHFKwI4wf5DbbPLq3DAKnHQd3e+klHPXhsfYXqDDs8M32 vpcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746476886; x=1747081686; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Js2PHkGKWnIWePR4QAI//TgTXL4kXU/lMnkleDrme+o=; b=Nu4+5MJ1XOT1iwDl5yieWWUTfqqLbyHBJorfeX0THaackm+CuYde0Fuv1l3ZVBUA8c 38WVPefldlRF426U3drQZRQ6nm6gBGRbJ0tjygqaiuQLPsdjcpUClNPE7hcZ0o9DmOU4 ofc3oOXE4Ez1rdGBCM+fobSce0St5AJA818/19yCyT4TEwvqA7dtag4LkwHVHWj5lO3Z JXBFPqP7f2+P2sWA6hsMckwR1SDMXjUis1S37ZcK183fJEZDQx5FaD5KPDtytxsgmhWX 8TdN+Hiezz/a3QYJyVx+0xJ4tbn7tQ5BkejkHHOeCNPs6oX57CffEEVPU5lJ3JVxNTEQ nA6A== X-Gm-Message-State: AOJu0YyNzyEyq1fsUuQyhMi4TSzJfEHE3Dg19WpntZjCM7FoZr/DHFEQ OLweKICgPUmqNopTCG+8l1RfDDIpAgdNa0oxI2Jd01RbvkGY7bR3G84IMbOovSNcaFcy1Q5UBLD 9 X-Gm-Gg: ASbGncuV+dO/KYT7ODVb1aQbJ2k0SNgq1sCDlw1LnT82T2RTBOXeQ/gWnZ684pdckEt 37Y+XMRMoH81ou82jqPqc5d3zfa8Sz2XmICROiAJS23LB3Bg/vKWUQ6wqeLt5ZwrsRgj4wCSR6M uljl2ojMVZG+TZ7khXWGPqhgJPJsC4sZnUCeqSaYTzVcBBEf+9oDrZbOkQrWWh1XG2iRJhB76hW ar7rIFjuGomNIkR3i4qaQW0iOU2M2/qusLzWKnxD8yhvVgR0WJerd5mKLxbnoOu8dijeiD+2IXz lHa5BFjqzLnDHt559lBj0GtQjIgtiV5xwSkORfeLKBeIG2kD9zkaqlAzfLaWhDdNA7R/BBlgiQc = X-Google-Smtp-Source: AGHT+IHzsnyiBXAuIumTz5PhiLPi3fa4la7/IcHch8qfFcpbZXl4WM3hlvEB6oO8fPgX89ww4bKx1Q== X-Received: by 2002:a05:6a20:c90e:b0:20a:4698:9d3 with SMTP id adf61e73a8af0-20e9620568dmr13897661637.8.1746476885799; Mon, 05 May 2025 13:28:05 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 15/20] tcg/optimize: Build and use z_bits and o_bits in fold_extract2 Date: Mon, 5 May 2025 13:27:46 -0700 Message-ID: <20250505202751.3510517-16-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250505202751.3510517-1-richard.henderson@linaro.org> References: <20250505202751.3510517-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=2607:f8b0:4864:20::432; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-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_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: 1746477102950019000 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- tcg/optimize.c | 40 ++++++++++++++++++++++++++++------------ 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index c5243392af..424fd57922 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -1986,21 +1986,37 @@ 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 v1 =3D ti_const_val(t1); + uint64_t v2 =3D ti_const_val(t2); + 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; - } + if (ctx->type =3D=3D TCG_TYPE_I32) { + v1 =3D (uint32_t)v1 >> shr; + z1 =3D (uint32_t)z1 >> shr; + o1 =3D (uint32_t)o1 >> shr; + v2 =3D (uint64_t)((int32_t)v2 << (32 - shr)); + z2 =3D (uint64_t)((int32_t)z2 << (32 - shr)); + o2 =3D (uint64_t)((int32_t)o2 << (32 - shr)); + } else { + v1 >>=3D shr; + z1 >>=3D shr; + o1 >>=3D shr; + v2 <<=3D 64 - shr; + z2 <<=3D 64 - shr; + o2 <<=3D 64 - shr; + } + + if (ti_is_const(t1) && ti_is_const(t2)) { return tcg_opt_gen_movi(ctx, op, op->args[0], v1 | v2); } - 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 Fri Dec 19 02:49:52 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=1746476973; cv=none; d=zohomail.com; s=zohoarc; b=f6ajQWW/V3+4Us/j9u+5kBLlcOSxmM6df1hbAxzLZTjEoW2XqMTIquud7zDsbBhDfXP/2olkn19X5Vqx6vZMjBZecCZjfGLuUymdUamXDELi4Fs3+jloB6Kz2wUKQ9WULi03iSGVyFe7yaCu2kdI7t62/q452YMQ4SJ3H2kVKDU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746476973; h=Content-Transfer-Encoding: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:Cc; bh=9AbSjauKdD8z/AvZIK1KVWP//5BiT2GwV1phO/RT8K8=; b=m7SSgVOqiqJth/K5sFWqvivIeB64m0SYbBdXM2zYqiQ4ESHEE5B047OlJUlgN7OfAsEAwbyvPL0zEZPMaljZVHv5ygkXOLduSlUUAc+w9w1lvbQD62inIc/vKYOPd4y98IiMVmE3oq+zF9rOFJr8ASnou+QA4pkrIy7OyaxJ4BM= 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 1746476973393368.02537499716607; Mon, 5 May 2025 13:29:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uC2QB-0006p4-1m; Mon, 05 May 2025 16:28: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 1uC2Q7-0006n7-Cq for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:11 -0400 Received: from mail-pf1-x42e.google.com ([2607:f8b0: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 1uC2Q4-0000Q3-DN for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:11 -0400 Received: by mail-pf1-x42e.google.com with SMTP id d2e1a72fcca58-7403f3ece96so6434843b3a.0 for ; Mon, 05 May 2025 13:28:07 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-74059021067sm7516485b3a.107.2025.05.05.13.28.05 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 May 2025 13:28:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746476887; x=1747081687; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=9AbSjauKdD8z/AvZIK1KVWP//5BiT2GwV1phO/RT8K8=; b=sLKSQfxJ54789vWKHwC1Mt//QaRXHVFR55EsOoDX8bXjS/qNidaPoDj2vsFmpA470a DbX9qoElLkbMp4Q7R5nv56+ipzk4Te20T4SV/U4DLEADKt4gOJzBi3JY7VVfJkJkjllx 4E41hLUsHt7FegMuBlbyJNlO1+OZsPAZJTgXqWVheXMUp04XEhpMwluhDq6IA1bWvQnp 7euGReD5AMx+CEL/lXt6pFcCQ6/6VLdpWFI8ZzDIlUJD2UReoL9QsS7K6RkdhgZnZvCh lox6EQHvjH95oZA6C/S9nkD/v/Qc4kUU8Vup9EZOpjLYm+W3yNTtQGNMmyE0Htfq7+wE pRSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746476887; x=1747081687; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9AbSjauKdD8z/AvZIK1KVWP//5BiT2GwV1phO/RT8K8=; b=iym7BrHpjuFp+vfm9G5Clk01MOFH/9c1pJ+23l2x6pZiPe9vBXAmtyGPv/o41o6MJ2 lP310Pi7V5+FMOhvrYS60FnPcxy1g0s+CUSRi+P+9oTAB27HK9H1J1K/h0Q709KzqRJp 8izqwMMuAtFvtZzhTJEtvWasPghtEoSS0Lqh0G6Zr3d2GWbIvSDI5BkY77SAM+aTU7w/ NKhjmFzPxII7JSsaJiO+ZlvnITYei78XWO55WCt/g9t7LfWuwlOPmTcnt8yexjdFMMLY r5NCYTsL84W6DXL/NGpBeOZby99LGRzaG2gF115m/HztrC2+a/mwDb2P1okbZaqwxgoR olDw== X-Gm-Message-State: AOJu0YxP9lkYvCddYOCEUH9QNWG0oGR4tUyZ/Gtgl6uk7ZW9wBnCNXlW 6vmBem9ZZtclpkrYCaQA5P3FoQhUtUeg/5y2kNx7bDRyUQQYmtytvdupb3148PMcUb/41golqT+ V X-Gm-Gg: ASbGncujvB/MJRH6HNdWFPL57wmWsMzbxhynOSE4MzH/vY+w8c31tpW+3Ix017so9OI zdrYlzD0KjKJ1SN3GMfJgXYMkdEJCazvLkbQnnraDtv2TZuQNYCjWz3HJwavXC3gXfn0JzIy1qe vBmKclnevmWqB55+Yd2SZtCZAmYqvPr3F+6aJT6ICX/wD0d1OOwo0luysczYG7buYa5r6+duX3Y VyxVqxrbVfxXpXjE8ogojdT/GjuvAThnOfcU1qOw1UNMwOKlB+1vJORVFFKzOe2y6s971oIsYWr LBsri2iJ9sUl2GK0NlOTvupraNjOEcmOCezA0k+FVwgWYG2TOMFd9kUc+KlkKH6KmPr1iV/+G4U = X-Google-Smtp-Source: AGHT+IEmQwNwXF9kc7bnsiMpxWn5urvyiXa7ImgQdzX8i/ytw6rSu5cmxizFt6lM2DSdM6V/2NFlxQ== X-Received: by 2002:a05:6a21:2d0b:b0:1ee:ef0b:7bf7 with SMTP id adf61e73a8af0-2118143a34cmr672182637.19.1746476886552; Mon, 05 May 2025 13:28:06 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 16/20] tcg/optimize: Build and use o_bits in fold_exts Date: Mon, 5 May 2025 13:27:47 -0700 Message-ID: <20250505202751.3510517-17-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250505202751.3510517-1-richard.henderson@linaro.org> References: <20250505202751.3510517-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=2607:f8b0:4864:20::42e; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-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, 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: 1746476974371019000 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- tcg/optimize.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index 424fd57922..d7f017accf 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -2021,7 +2021,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)) { @@ -2030,17 +2030,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 Fri Dec 19 02:49:52 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=1746476964; cv=none; d=zohomail.com; s=zohoarc; b=MDVQcK5eS5PyNkpLSeVCoUfpz5i1/OfdH+Rk5Oe+ETcq8q/d8VzReQnGLXgskMxlPvrIxYC27T0pg5Ndmba7UW51WAnsRR3WaDMRTbCSXzN3R8kT39szqGlNTI/u8i8Gik5g3rN0GkjOFH6lHJb7FY0k3y6pZiHB/YLh4Jpg7hs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746476964; h=Content-Transfer-Encoding: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:Cc; bh=B2Cl5cxSEvk06/qY2HwzkAkBtGDWvMDnYfpljfPamAI=; b=k5O+34MPJJsyjBXHHeSgVQNqx4RnbgeAvFtt1r/KMKPGJB8I9KtcbS2yGoKN7vUf1kK7F7VebTDkh2CQH3Zx+Ga146VdM0KRtjD0qCg4qRjO4772VnUBSR0oMuXQhcUmjAmmU5dNnFHOL88kfmvJLzGadFQISFvQRdcbSM08+SM= 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 1746476964274868.1837588080482; Mon, 5 May 2025 13:29:24 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uC2QB-0006pK-J2; Mon, 05 May 2025 16:28: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 1uC2Q8-0006nm-Co for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:12 -0400 Received: from mail-pf1-x433.google.com ([2607:f8b0:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uC2Q4-0000QH-Rl for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:12 -0400 Received: by mail-pf1-x433.google.com with SMTP id d2e1a72fcca58-7394945d37eso4075169b3a.3 for ; Mon, 05 May 2025 13:28:08 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-74059021067sm7516485b3a.107.2025.05.05.13.28.06 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 May 2025 13:28:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746476887; x=1747081687; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=B2Cl5cxSEvk06/qY2HwzkAkBtGDWvMDnYfpljfPamAI=; b=HTN2cXVWyx+9eytZmPYBifVc8Y73Mpm7WIcYPL7ufHLA7F5Y1vjHSYNkukRTWiFb4e IP8c9KEqcKc98LY3S4BYlHr8T0jua5rYUdYGnkYOXKjyf2s0fHSVp88bV4pbDNUxKXgt cfxrSQErCPl3s3Rr221EO/MaFnLsJur41xQTJnvEQCTR4psg0DFnMmIvvSbXNMWxleR/ ZAPK6XFxktukBSa6M4wvJpsFPuSrysX8FcigFVoVP2IhfsWONWvw7d/I+7CUGTFCCbhD tm/s6WHEvqYXsfzMs8EvHOwwWbqln96GjAczCNc8A3keorzLaAOs61om1xY7+wN3GWdq HS6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746476887; x=1747081687; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=B2Cl5cxSEvk06/qY2HwzkAkBtGDWvMDnYfpljfPamAI=; b=rtXre8LR/hy9UuwQX4K96jO52nsLlFPfbx1oXA1iKs3ey/IUe6oGpVEQ8JJ8goLNq9 pUqlJay0bz0zNmCIf6aISOjz33VPgorW7pdfwCkVYoGHRRmZ+Y/1jh5q8KPtMjEzlkA/ tIxgmtETHoN/hF5rM+sp70A4LLhpeF54SO6dtpy+1igVxZB3/SpLf6j5DEb79RVytP1l w1f7txYElcVEYkgsx+6Yr/+nhm7cro1eeRlxxruuVT0n0YqGS8gtEMYfZGx8Yjf6P/3s XrNVt1GN1V/HkhL6YBrjYCy75O0mrnzGXTS8RqdC5PNYm7Y21tVj8yQeclbs5twDBJ+p wmXg== X-Gm-Message-State: AOJu0YywDkQePkUAkhp5eEWjwqwyvjXIqAczZFArCZuvRAHmWOc3Bpvj xVBRqIm4r/k8TKxjPgJCM0BH9mTcHIKt0F6Q+SeBEcAys7o9JdA/h4j5Aa9PjYgnbkoz5qZZlGS b X-Gm-Gg: ASbGnctk56PLS/9yA/FE3Cvo3CXZbzz4ewfCBkHuDflkjzcFgPCmYs8WRsrkqdQQqLd aP3bnwWbGe44Utupb2zmzGhU//onYbJc3nsoobMiwu67oH/WXOTXupiTXgdNEQlvXLkot7tdjLP ZB0dYIw67CnQ2O2mXWtGwVpraYN9Q2pF6QNsEolqsikJQZnES8GckodZqv0uTeAzWPTsZePgP37 wQ9DLcIzJCMzYW6h9n1CGJCkHOk927UNfyq09G8IWgeVQBifg26O5hRrheR8wIJ2m/U1MAnBpnV y256oNYG8e3jC3HRJtst6I/Qn98Owv/X0Ca+G3bvl1L9zYJOUsRtSPQyVTiaisMDlU7ehvik1+g = X-Google-Smtp-Source: AGHT+IGPLdUst2Yp3+4rDabZgESdkzB0zyl5CHy5xkvQ1BWq58W3/pqzI14psi3uunSsGBLIWKmnYg== X-Received: by 2002:a05:6a00:369b:b0:740:3830:4119 with SMTP id d2e1a72fcca58-7406f177d74mr12345418b3a.18.1746476887402; Mon, 05 May 2025 13:28:07 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 17/20] tcg/optimize: Build and use o_bits in fold_extu Date: Mon, 5 May 2025 13:27:48 -0700 Message-ID: <20250505202751.3510517-18-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250505202751.3510517-1-richard.henderson@linaro.org> References: <20250505202751.3510517-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=2607:f8b0:4864:20::433; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x433.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: 1746476966243019000 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- tcg/optimize.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index d7f017accf..1d722bebc2 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -2047,25 +2047,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 Fri Dec 19 02:49:52 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=1746477002; cv=none; d=zohomail.com; s=zohoarc; b=JWurtd+k4lexwZo8z5NbN7hYMJPSaQfosCxoALVBIjP6UYFPNULMVwdentJGgj6nYBNfLW7hWTKNF4JiB1bOk9yyRyCuCEDgwD8DS+5w1jBrvygte3hxhu8nkit7IKcP11zq2YqchNH347Mfjg9CNTlQJktIRwP/t/kHWRmWRy4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746477002; h=Content-Transfer-Encoding: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:Cc; bh=//jTx+xrgsbGn/aMj2raUmnH/lr9//Bq0ITGijiGoV0=; b=mPF4BpB6L4ub1qQ+lBYRTqLFT7IEkdcbqwMT+ZUOhgayK9hz2vWYL7TgJJAZNbunqEhFOb2sp3paHf+S1um5XLnEh8JqpeJwWYLiruuXRrymPfpWvUOriwQyQfNMf/j3cGD+KnpUdx/MSogDX9CNLe/dcDk4ptO17Nv6Cdc53fw= 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 1746477002117242.21712719937284; Mon, 5 May 2025 13:30:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uC2QG-0006t0-9g; Mon, 05 May 2025 16:28: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 1uC2Q8-0006o1-H7 for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:12 -0400 Received: from mail-pf1-x429.google.com ([2607:f8b0: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 1uC2Q5-0000RH-Un for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:12 -0400 Received: by mail-pf1-x429.google.com with SMTP id d2e1a72fcca58-736b350a22cso4071066b3a.1 for ; Mon, 05 May 2025 13:28:09 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-74059021067sm7516485b3a.107.2025.05.05.13.28.07 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 May 2025 13:28:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746476888; x=1747081688; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=//jTx+xrgsbGn/aMj2raUmnH/lr9//Bq0ITGijiGoV0=; b=lHJwLgSCV29/CEazPD655tN0B/Toe0r/39VlNaNgfT2HkTPZtKrgaAbIEiZxsrQc/g P4lldPigEqdhZhtT1orWyeqtOybkQA+fg+GccmFyEnm3odTD9UBWLw+R4fCBVSsEsQYm ykmxMMgzV64AEJhAtH4GQP7cicDgVXJIvsI+UzuQllEU+BC78VCxEjtQJpxpvvDXyzeJ 1dk9B3VdRKe4aVLqzJU+rWrJMv16kti2hVgpV3ABp4w6PyLDOwYgPfrIAJn7e7BYT/nS X2gjHo+v6PoQj5Km3LPCoyQv7PrM+rKXV5Sdaw+ehWV7FsxWYJq5wsBAoMat92aU/ths wqiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746476888; x=1747081688; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=//jTx+xrgsbGn/aMj2raUmnH/lr9//Bq0ITGijiGoV0=; b=dKWzHTHC93FbJlS2C5pw8kXT1fYV0BE/EMZu0ghhY//3w60l9Cfqb3bAFsB3vRDtGz XXch2oVX2pl5q2sIS9XdWmvZ7jxBpyBldRdnIm5g49MsJDe8x51FFFWb651KvtAqkhCD IBqkB3Bvf+PLVe/ISZyloAbLHXFwxI/TTncMAdtCUQnyM+fJCBq6I+CsJ1LJdXVrTRy0 ykkXaBRGWIC1fs5IsbnXQAiGyGMEwwHgvEzZvPc0yRPPNyqnjyQFFm040ts0Guwqgcpr SRvZ4ELyKD6Du5m4Tynwff/OCgYWO734vekceGSX82s2tujdhnO2A3EgV/5qv5QVN3Ca yTgw== X-Gm-Message-State: AOJu0YxmZ1z8E6rIjwYEe9oh7f8G/d+qerdv5pNXHh/loZEKsw6ZpdEv tGJO/bFwvybhRj3JG/IVR61BKKTxhv0sQOwRf4J4tmvBT1HkbGrCz96rBCc+2hGscinibubwo7J / X-Gm-Gg: ASbGncsmUPUORqQa37PvKFebLKJtMt+9OvwpjCctRqWm6gegMe9X9T8l85RSCCwp83F bHuBlzo8UoKZPMnQ59mPkJic/ULWzVfA4jVFsUU154MX6Z/XSRpxBbejFqU2YasI2uaYdR4bFtc ghjWSEQQ2xTOn89IQXIbGpg5KLFBIVK3ncT0TuuWcRao09NINbUIyyG92d741uyWiWjUjLhSWih IUTXZ3XcK1t3Zv+SoOYbo7OMEz2Z6KT/giG4wWYOy2GaTlzciKH9sBkOcDnLmrMplgoj+5fkowS UifmYzH0chgDzWg6guPF2yzCPI9rF6KakCKvUovVKz7EzUzABwYQndLHsOQI+QjufHaPyVNBDwg = X-Google-Smtp-Source: AGHT+IEJE1+nKH3+rOm979nAZMz/vFi2Jts1DVfN6SGX3hstAhZ9hAKCIZ3Dbpwtm1OaeDiBuNZvtg== X-Received: by 2002:a05:6a00:301f:b0:736:9e40:13b1 with SMTP id d2e1a72fcca58-74058b25ab3mr20965051b3a.23.1746476888383; Mon, 05 May 2025 13:28:08 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 18/20] tcg/optimize: Build and use o_bits in fold_movcond Date: Mon, 5 May 2025 13:27:49 -0700 Message-ID: <20250505202751.3510517-19-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250505202751.3510517-1-richard.henderson@linaro.org> References: <20250505202751.3510517-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=2607:f8b0:4864:20::429; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-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: 1746477002799116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- tcg/optimize.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index 1d722bebc2..1040e67220 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -2105,7 +2105,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 @@ -2131,6 +2131,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)) { @@ -2153,7 +2154,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 Fri Dec 19 02:49:52 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=1746477105; cv=none; d=zohomail.com; s=zohoarc; b=IX2BuxpCodJeKkYr+Mu+vfrVHsE84lhxDH4wUXF9ZkzeCVS+TVFHeOV/hHI4yYc88ylD/b1BiFK9AtchkzN9sw9KV8rKrQBVe6LZRQaucG4maYpc8t1MnOavq4ONrwjjG66i7tS0yfWvc2GfHRHw2tUYSilh2+UpX2uS+GeYWA8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746477105; h=Content-Transfer-Encoding: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:Cc; bh=PzuW8adBEQ6Y8G4mfGa8N0GLrEoIeBeGx+gpNE1HJDY=; b=eNGvO2Voob/Ht3kcm/7RbRemDv6MlzuO1M/ewRGJKCy7ZE08OcAZ5/zc1H5CVOsAw5/Vmqe4NnAmUOGjTRAMaSlYFYJ/hfb1MfxmT0zk3E2mp2pFhVaRTgPDKd/xL78qFN4NVL04Fa+PvavIZOU7AoKmRgrJVXyoh4xY+3w3xf4= 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 1746477105947157.34516254447385; Mon, 5 May 2025 13:31:45 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uC2QH-0006uM-KU; Mon, 05 May 2025 16:28: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 1uC2Q8-0006o8-Je for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:12 -0400 Received: from mail-pf1-x436.google.com ([2607:f8b0:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uC2Q6-0000RZ-U1 for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:12 -0400 Received: by mail-pf1-x436.google.com with SMTP id d2e1a72fcca58-7403f3ece96so6434894b3a.0 for ; Mon, 05 May 2025 13:28:10 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-74059021067sm7516485b3a.107.2025.05.05.13.28.08 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 May 2025 13:28:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746476889; x=1747081689; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=PzuW8adBEQ6Y8G4mfGa8N0GLrEoIeBeGx+gpNE1HJDY=; b=wzvQY8k3kukIKqFdBMgyMjN5YACSmaUj44kdC/X8WNjZWVyUtkSrklivbLs8ej/Xbh OvyOkmR88xJIQYWudpXDWleJsY/xj4+07e5qxLC6XGLJ4FkxRHQVansIAanyeUY1dqxy YDa4pkac7XJkMrQi/kmWaM6nopCyfYYQo7xsCXOKcYZW7cjEzB6tbEDoPyiNLk09lCSQ 5wrn04Tvti7DEq0EHYTUCR7tslL30VIdvUyDtVkL79vpWQCO3uHCmbZ62neRk+No/fXX kBEwkmj4tkMngyTkFJNviDsHB/4isgYXgHo4oK5LPWRkslRfTGXFY1iF5QS/fD6zuyzR UF+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746476889; x=1747081689; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PzuW8adBEQ6Y8G4mfGa8N0GLrEoIeBeGx+gpNE1HJDY=; b=wQMWOZ6s99+Uzj3eCVMCLlIguMQIu/gu5yK+D10qdDziVwf0s5j9NYI+7a7KYveiKq Yu3IVqPjXMU7vyp5YZ2VjcV9uK+sPeAvACIAhgPpYfTV1RTR4i0PihvzmI7s7Da20KSg /Jdk1RvhXdd3pX7er9kBI+mS/OvrZIuI6r3c0iAAKp0BoI2X+tAhEm/B5LjuwmWk56KE UX1oQ2nH94MsSdalxxATwvYGHr4ACjmmSkB3KAU4qUyKaFem0jSLiQhpyD8j8lQINoAg swSl6D5LR2OVIxH4C5+s4JTNlAzgSiSQyHltqb0m29AXl5P3vcR5nOR3RBMdJOJRbOHF s78w== X-Gm-Message-State: AOJu0YyDpZOSqghB16YK4lGBk1PF/QxNxn0zxJYnimVVtZMxlznaMm34 D09YlhizdBJmIjRjVn8NwgOEquLpZkHltmDQ3PNa27jUesDXfhKAlIBuGkABoM15irOhlqhtwiO a X-Gm-Gg: ASbGnctjetAya2xGDC6T0o8uCnfGo3HU8o4FL+D5TPwwRqyQsIf4sWhXWORUEXEnqDA wf8K1W7B/1FWRzpiJsDMm8knqSBkDplQ9huwsiADirtE6fmUOkhD6gGHAYrsC9ADu/SoKxEPqIc 37ivkDifiAlQEujtxR3hQxMZnt7vh1XPvTtckE2JpbP6by6ET3ufyP3aDxAHq2g9Ht3p9uYeuqb AvSveD7PctFoj4NKKIXTD3om2GHx5gtaVFeiw0+x83TNz2gKa/Pa4bMXm/31iBLSknXNKr45lR/ Ki6iFXbgS9XIpAEW7qXCs4M9AQWSBouxfN3/rH9h97X57pFR7Q7Fy3UIqqIEe1we82vk09pV93o = X-Google-Smtp-Source: AGHT+IH5mgeEDNRkzzvtCSxPR5optwcAVSbT+ughAaQpU+nuvr5Qtv7WAgdTSnDKgQAV+QeIN+ABKw== X-Received: by 2002:a05:6a21:6f87:b0:1f5:874c:c987 with SMTP id adf61e73a8af0-21180f5668fmr811301637.15.1746476889275; Mon, 05 May 2025 13:28:09 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 19/20] tcg/optimize: Build and use o_bits in fold_sextract Date: Mon, 5 May 2025 13:27:50 -0700 Message-ID: <20250505202751.3510517-20-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250505202751.3510517-1-richard.henderson@linaro.org> References: <20250505202751.3510517-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=2607:f8b0:4864:20::436; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x436.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: 1746477106938019000 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- tcg/optimize.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index 1040e67220..f36636ed02 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -2681,7 +2681,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, s_mask_old; TempOptInfo *t1 =3D arg_info(op->args[1]); int pos =3D op->args[2]; int len =3D op->args[3]; @@ -2700,7 +2700,8 @@ static bool fold_sextract(OptContext *ctx, TCGOp *op) } =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_zos(ctx, op, z_mask, o_mask, s_mask); } =20 static bool fold_shift(OptContext *ctx, TCGOp *op) --=20 2.43.0 From nobody Fri Dec 19 02:49:52 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=1746477043; cv=none; d=zohomail.com; s=zohoarc; b=bRqWxYrITTpVMuSs28FesPvCjo92iXNecLrNt5Tur7mEHm8J7rPpu558WgVjWda7MYQtm5tSznWTObLDBTsOUluRiEM0EZSpYBbKWBjxzi22mNapaAU71f88E8Ucm449DVzeeuvb4ekOnMryfbfWhHn5ZTO5p246hNmbLHyMDHc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746477043; h=Content-Transfer-Encoding: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:Cc; bh=KOt17JQNeTedx3lg3bvKkZN2IA0gQQiBK1NKxrnMp84=; b=ZoWva9lvZDx3FXQcLUH0WBDKj0Pin2qUBx5tFw8C2KWeeC8bDf106cWe0oigBskMX/j53FYJNBUHICTvJ9NccxgcC/jv7s3EIsMAw1l7gkfAyGDCLGX5iH19LkoyHAYJ+P8tk2OuhhOvk9H4QWUgbzXrW/5XDLVT3qYBAakxELE= 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 1746477043444534.7384646132608; Mon, 5 May 2025 13:30:43 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uC2QC-0006qG-CJ; Mon, 05 May 2025 16:28: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 1uC2Q9-0006oj-Gf for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:13 -0400 Received: from mail-pl1-x635.google.com ([2607:f8b0:4864:20::635]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uC2Q7-0000Rw-MF for qemu-devel@nongnu.org; Mon, 05 May 2025 16:28:13 -0400 Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-223f4c06e9fso44644795ad.1 for ; Mon, 05 May 2025 13:28:11 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-74059021067sm7516485b3a.107.2025.05.05.13.28.09 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 May 2025 13:28:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746476890; x=1747081690; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=KOt17JQNeTedx3lg3bvKkZN2IA0gQQiBK1NKxrnMp84=; b=yLUzUuJvsj3p4E6+iDw0dUfVqllc1d21bTGJmUFkICmaCZowsy42PePUkiYVXOy7pd Fhc0sSuoxFgKDuploaVwfTEs+6NN0DnTcc3HAqePLef5Pt8gcuObjzODFCTIsnRLfWGh tNMN8dyjWhzeLWTnu+40H7L/NKwGkmPnukMld+ITf4P6IBCIbUCHOZZi9pxskglmSrm9 9/l0gGFJ92MTUsYo/ZQ1ozQ3V9aAR4DqVORZj5p9kG1fuqwWUQ42eTY5SpAgJFd84tc9 oPkNfxt5XTACg0jEJHi9mfXi3mMADGTKWXaChsexio6DanKxuRMRY8uZgGxAVCxfuXIc lEPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746476890; x=1747081690; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KOt17JQNeTedx3lg3bvKkZN2IA0gQQiBK1NKxrnMp84=; b=Mr+fFz2lzb3b9zBmhwE3fv6Czin3Md/e1mo7h8vW0lsLflyHH+FVCOxAXAfG7xIKPM oYVM0psMHT+SVWUMSqUIwnmMPN4mW2X3h/qQLrkSzJ/ImyDRvxAVPP724hvcBXCIL9Em G5ZDpuPjz5mMvPQG9wXoKrFVsYWBtlLn+z6R20onhYNFNDzGWp2W3RTlJ+j4yo/4xlIX oGbmuMYReZr/dJBcUHe61ogqaIPI6FEwmvbKkX9tX6MPy6V8dXIPUv5S3OJ/DaHCNPd2 mCsMPm6hyiaVZ2+WrxvUhFUIhuDFVzXjqENlZ4mG0G61gEBNYawT8aPnl06d6umrU/P3 deTg== X-Gm-Message-State: AOJu0YxvgKbIti7G4ryuyCpo6Q+9VJXU9MJKcPAWzg4D1OaUN1zSS1kz F/IVaBOVNUjiBLMUhbp2hD2Ce+MHIbibGnGrrNBjntbhzBHeBtj0xq6hdaBiC6k3LS+QazMMOq0 e X-Gm-Gg: ASbGncuhBfp5PYRcI9IVhIDgvRQShskwohTC0MXL7KQ1iUR3TWHy2PlzIoEe5quuISi Q/xHl30xe7N2vsZ1PpdfBEoVvYo4W9a+MxdIXBBxj8IX7/2DfCE/fUnAgP4VviZ0+hOR+ZL5BdA hilf6DYzSJyYI0xPpp/KAdxIZmHTDLMMxkozff4CGp8VMWJ53FUeI84CWS+dnhwCwiS/GgCEydh 3Nxr+XHbJw1pf+oNdJFqKJ8vUwx6WvejM99TOZhHXMGTlQXtOHD2MDwvVHNkzJWAVPEHIFoxS0j XLyvSMOQobg/PicBWzvwyel5DBdSGZuVskNQE6aiKdBO31thX+BxhwTFL8L4QE+4qOAL3TOKEAv uiClMSOaj0Q== X-Google-Smtp-Source: AGHT+IFQACvuioQop2gpEBab1hBMf69YrUVmDvSZQKHaUag27DlsdeELCgVViddTKRvRb5+lEoujog== X-Received: by 2002:a17:902:e78f:b0:223:4d5e:7592 with SMTP id d9443c01a7336-22e328ad820mr10416175ad.21.1746476890057; Mon, 05 May 2025 13:28:10 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 20/20] tcg/optimize: Build and use o_bits in fold_shift Date: Mon, 5 May 2025 13:27:51 -0700 Message-ID: <20250505202751.3510517-21-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250505202751.3510517-1-richard.henderson@linaro.org> References: <20250505202751.3510517-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=2607:f8b0:4864:20::635; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x635.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: 1746477044556019000 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- tcg/optimize.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tcg/optimize.c b/tcg/optimize.c index f36636ed02..ab05206ee5 100644 --- a/tcg/optimize.c +++ b/tcg/optimize.c @@ -2706,7 +2706,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) || @@ -2719,14 +2719,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