https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110937

--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Andrew Pinski <pins...@gcc.gnu.org>:

https://gcc.gnu.org/g:7fb65f102851248bafa0815401d8bdcea6d7626c

commit r14-3110-g7fb65f102851248bafa0815401d8bdcea6d7626c
Author: Andrew Pinski <apin...@marvell.com>
Date:   Mon Aug 7 10:47:09 2023 -0700

    MATCH: [PR110937/PR100798] (a ? ~b : b) should be optimized to b ^ -(a)

    This adds a simple match pattern for this case.
    I noticed it a couple of different places.
    One while I was looking at code generation of a parser and
    also while I was looking at locations where bitwise_inverted_equal_p
    should be used more.

    Committed as approved after bootstrapped and tested on x86_64-linux-gnu
with no regressions.

            PR tree-optimization/110937
            PR tree-optimization/100798

    gcc/ChangeLog:

            * match.pd (`a ? ~b : b`): Handle this
            case.

    gcc/testsuite/ChangeLog:

            * gcc.dg/tree-ssa/bool-14.c: New test.
            * gcc.dg/tree-ssa/bool-15.c: New test.
            * gcc.dg/tree-ssa/phi-opt-33.c: New test.
            * gcc.dg/tree-ssa/20030709-2.c: Update testcase
            so `a ? -1 : 0` is not used to hit the match
            pattern.

Reply via email to