public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r12-7664] Some minor HONOR_NANS improvements to match.pd
@ 2022-03-16  9:26 Roger Sayle
  0 siblings, 0 replies; only message in thread
From: Roger Sayle @ 2022-03-16  9:26 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:7690bee9f36ee02b7ad0b8a7e7a3e08357890dc0

commit r12-7664-g7690bee9f36ee02b7ad0b8a7e7a3e08357890dc0
Author: Roger Sayle <roger@nextmovesoftware.com>
Date:   Wed Mar 16 09:25:34 2022 +0000

    Some minor HONOR_NANS improvements to match.pd
    
    Tweak the constant folding of X CMP X in when X can't be a NaN.
    
    2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
    
    gcc/ChangeLog
            * match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p
            instead of HONOR_NANS.
            (X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as
            this can't trap/signal.

Diff:
---
 gcc/match.pd | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gcc/match.pd b/gcc/match.pd
index 7d619f4c932..6d691d302b3 100644
--- a/gcc/match.pd
+++ b/gcc/match.pd
@@ -4743,7 +4743,7 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
  (simplify
   (cmp @0 @0)
   (if (! FLOAT_TYPE_P (TREE_TYPE (@0))
-       || ! HONOR_NANS (@0))
+       || ! tree_expr_maybe_nan_p (@0))
    { constant_boolean_node (true, type); }
    (if (cmp != EQ_EXPR
 	/* With -ftrapping-math conversion to EQ loses an exception.  */
@@ -4755,7 +4755,7 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
   (cmp @0 @0)
   (if (cmp != NE_EXPR
        || ! FLOAT_TYPE_P (TREE_TYPE (@0))
-       || ! HONOR_NANS (@0))
+       || ! tree_expr_maybe_nan_p (@0))
    { constant_boolean_node (false, type); })))
 (for cmp (unle unge uneq)
  (simplify
@@ -4767,7 +4767,7 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
   (unordered @0 @0)))
 (simplify
  (ltgt @0 @0)
- (if (!flag_trapping_math)
+ (if (!flag_trapping_math || !tree_expr_maybe_nan_p (@0))
   { constant_boolean_node (false, type); }))
 
 /* x == ~x -> false */


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-03-16  9:26 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-16  9:26 [gcc r12-7664] Some minor HONOR_NANS improvements to match.pd Roger Sayle

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).