qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v2 35/51] tcg/optimize: Fix sign mask in fold_negsetcond


From: Pierrick Bouvier
Subject: Re: [PATCH v2 35/51] tcg/optimize: Fix sign mask in fold_negsetcond
Date: Fri, 20 Dec 2024 12:19:06 -0800
User-agent: Mozilla Thunderbird

On 12/19/24 20:10, Richard Henderson wrote:
The sign mask is about repetitions, a la clrsb64(), so the lsb
itself can never be a repetition.  Thus ~1 not -1 is correct.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
  tcg/optimize.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tcg/optimize.c b/tcg/optimize.c
index 5bfcb22a0e..63f80efeec 100644
--- a/tcg/optimize.c
+++ b/tcg/optimize.c
@@ -2403,8 +2403,8 @@ static bool fold_negsetcond(OptContext *ctx, TCGOp *op)
          fold_setcond_tst_pow2(ctx, op, true);
      }
- /* Value is {0,-1} so all bits are repetitions of the sign. */
-    return fold_masks_s(ctx, op, -1);
+    /* Value is {0,-1} so all bits above lsb are repetitions of the lsb. */
+    return fold_masks_s(ctx, op, ~1);
  }
static bool fold_setcond2(OptContext *ctx, TCGOp *op)

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>




reply via email to

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