diff options
author | Jakub Jelinek <jakub@redhat.com> | 2019-10-05 09:36:09 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2019-10-05 09:36:09 +0200 |
commit | 0043b5280e6f571819d8764d76594a7a20467d00 (patch) | |
tree | 67f05915a1d5bd9c404586fb97a5e8fbc421c015 /gcc/c-family/c-cppbuiltin.c | |
parent | 30648d02155fd2cf5e15c9741f08ed08554fa3d6 (diff) | |
download | gcc-0043b5280e6f571819d8764d76594a7a20467d00.zip gcc-0043b5280e6f571819d8764d76594a7a20467d00.tar.gz gcc-0043b5280e6f571819d8764d76594a7a20467d00.tar.bz2 |
re PR tree-optimization/91734 (gcc skip an if statement with "-O1 -ffast-math")
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.
From-SVN: r276621
Diffstat (limited to 'gcc/c-family/c-cppbuiltin.c')
0 files changed, 0 insertions, 0 deletions