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

--- Comment #10 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:55fcaa9a8bd9c8ce97ca929fc902c88cf92786a0

commit r14-1656-g55fcaa9a8bd9c8ce97ca929fc902c88cf92786a0
Author: Andrew Pinski <apin...@marvell.com>
Date:   Wed Jun 7 09:05:15 2023 -0700

    Add Plus to the op list of `(zero_one == 0) ? y : z <op> y` pattern

    This adds plus to the op list of `(zero_one == 0) ? y : z <op> y` patterns
    which currently has bit_ior and bit_xor.
    This shows up now in GCC after the boolization work that Uroš has been
doing.

    OK? Bootstrapped and tested on x86_64-linux-gnu with no regressions.

            PR tree-optimization/97711
            PR tree-optimization/110155

    gcc/ChangeLog:

            * match.pd ((zero_one == 0) ? y : z <op> y): Add plus to the op.
            ((zero_one != 0) ? z <op> y : y): Likewise.

    gcc/testsuite/ChangeLog:

            * gcc.dg/tree-ssa/branchless-cond-add-2.c: New test.
            * gcc.dg/tree-ssa/branchless-cond-add.c: New test.

Reply via email to