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

--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <ja...@gcc.gnu.org>:

https://gcc.gnu.org/g:9e12b8b1819342ef7efac58cf7f4ba4294abe551

commit r11-5804-g9e12b8b1819342ef7efac58cf7f4ba4294abe551
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Sun Dec 6 10:55:12 2020 +0100

    match.pd: Improve conditional_replacement for x ? 0 : -1 [PR796232]

    As mentioned in the PR, for boolean x we currently optimize
    in phiopt x ? 0 : -1 into -(int)!x but it can be optimized as
    (int) x - 1 which is one less operation both in GIMPLE and in x86 assembly.

    This patch optimizes it in match.pd, by optimizing -(type)!x when
    x has boolean range into (type)x - 1.

    2020-12-06  Jakub Jelinek  <ja...@redhat.com>

            PR tree-optimization/96232
            * match.pd (-(type)!A -> (type)A - 1): New optimization.

            * gcc.dg/tree-ssa/pr96232-1.c: New test.

Reply via email to