From: rguenth Date: Tue, 1 Dec 2015 08:52:58 +0000 (+0000) Subject: 2015-12-01 Richard Biener X-Git-Tag: upstream/6.1~2618 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=be6e428394ac8a790b60442357f2a1f32e079d45;p=platform%2Fupstream%2Flinaro-gcc.git 2015-12-01 Richard Biener PR middle-end/68590 * match.pd: Merge (eq @0 @0) and (ge/le @0 @0) patterns. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231100 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c111453..800645a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2015-12-01 Richard Biener + + PR middle-end/68590 + * match.pd: Merge (eq @0 @0) and (ge/le @0 @0) patterns. + 2015-12-01 Jan Hubicka * ipa-devirt.c (type_with_linkage_p, type_in_anonymous_namespace_p, diff --git a/gcc/match.pd b/gcc/match.pd index e86cc8b..ea512fb 100644 --- a/gcc/match.pd +++ b/gcc/match.pd @@ -1828,15 +1828,14 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) /* Simplify comparison of something with itself. For IEEE floating-point, we can only do some of these simplifications. */ -(simplify - (eq @0 @0) - (if (! FLOAT_TYPE_P (TREE_TYPE (@0)) - || ! HONOR_NANS (TYPE_MODE (TREE_TYPE (@0)))) - { constant_boolean_node (true, type); })) -(for cmp (ge le) +(for cmp (eq ge le) (simplify (cmp @0 @0) - (eq @0 @0))) + (if (! FLOAT_TYPE_P (TREE_TYPE (@0)) + || ! HONOR_NANS (TYPE_MODE (TREE_TYPE (@0)))) + { constant_boolean_node (true, type); } + (if (cmp != EQ_EXPR) + (eq @0 @0))))) (for cmp (ne gt lt) (simplify (cmp @0 @0)