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

--- Comment #11 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Mon Oct 21 11:48:00 2019
New Revision: 277257

URL: https://gcc.gnu.org/viewcvs?rev=277257&root=gcc&view=rev
Log:
        Backported from mainline
        2019-10-05  Jakub Jelinek  <ja...@redhat.com>

        PR tree-optimization/91734
        * generic-match-head.c: Include fold-const-call.h.
        * match.pd (sqrt(x) cmp c): Check the boundary value and
        in case inexact computation of c*c affects comparison of the boundary,
        turn LT_EXPR into LE_EXPR, GE_EXPR into GT_EXPR, LE_EXPR into LT_EXPR
        or GT_EXPR into GE_EXPR.  Punt for sqrt comparisons against NaN and
        for -frounding-math.  For c2, try the next smaller or larger floating
        point constant depending on comparison code and if it has the same
        sqrt as c2, use it instead of c2.

        * gcc.dg/pr91734.c: New test.

Added:
    branches/gcc-9-branch/gcc/testsuite/gcc.dg/pr91734.c
Modified:
    branches/gcc-9-branch/gcc/ChangeLog
    branches/gcc-9-branch/gcc/generic-match-head.c
    branches/gcc-9-branch/gcc/match.pd
    branches/gcc-9-branch/gcc/testsuite/ChangeLog

Reply via email to