qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v3 34/48] tcg/optimize: Split out fold_to_not


From: Richard Henderson
Subject: Re: [PATCH v3 34/48] tcg/optimize: Split out fold_to_not
Date: Mon, 25 Oct 2021 10:31:59 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0

On 10/25/21 7:17 AM, Luis Fernando Fujita Pires wrote:
From: Richard Henderson <richard.henderson@linaro.org>
Split out the conditional conversion from a more complex logical operation to a
simple NOT.  Create a couple more helpers to make this easy for the outer-most
logical operations.

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

  static bool fold_eqv(OptContext *ctx, TCGOp *op)  {
-    return fold_const2(ctx, op);
+    if (fold_const2(ctx, op) ||
+        fold_xi_to_not(ctx, op, 0)) {

Should be fold_ix_to_not (not fold xi_to_not).

No, because for eqv we expect the second operand to be the constant -- eqv is 
commutative.


  static bool fold_orc(OptContext *ctx, TCGOp *op)  {
-    return fold_const2(ctx, op);
+    if (fold_const2(ctx, op) ||
+        fold_xi_to_not(ctx, op, 0)) {

But for orc you are correct.  Thanks.


r~



reply via email to

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