On 10/25/21 7:17 AM, Luis Fernando Fujita Pires wrote:
From: Richard Henderson <richard.hender...@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.hender...@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~