From 39e21ca86e4ece9e1ab5ce30b423884bb9d2fd3e Mon Sep 17 00:00:00 2001 From: rguenth Date: Tue, 28 Jul 2015 11:52:55 +0000 Subject: [PATCH] 2015-07-28 Richard Biener * match.pd: Re-order two cases in comparison with max/min value simplification to make it apply for bools. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226311 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/match.pd | 12 ++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 54a0da3237f..d81551f6968 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2015-07-28 Richard Biener + + * match.pd: Re-order two cases in comparison with max/min + value simplification to make it apply for bools. + 2015-07-28 Kyrylo Tkachov * config/aarch64/aarch64.c (aarch64_rtx_arith_op_extract_p): diff --git a/gcc/match.pd b/gcc/match.pd index f431df56764..5aaa8e119aa 100644 --- a/gcc/match.pd +++ b/gcc/match.pd @@ -1856,12 +1856,6 @@ along with GCC; see the file COPYING3. If not see { constant_boolean_node (true, type); }) (if (cmp == LT_EXPR) (ne @2 @1)))) - (if (wi::eq_p (@1, max - 1)) - (switch - (if (cmp == GT_EXPR) - (eq @2 { wide_int_to_tree (TREE_TYPE (@1), wi::add (@1, 1)); })) - (if (cmp == LE_EXPR) - (ne @2 { wide_int_to_tree (TREE_TYPE (@1), wi::add (@1, 1)); })))) (if (wi::eq_p (@1, min)) (switch (if (cmp == LT_EXPR) @@ -1872,6 +1866,12 @@ along with GCC; see the file COPYING3. If not see { constant_boolean_node (true, type); }) (if (cmp == GT_EXPR) (ne @2 @1)))) + (if (wi::eq_p (@1, max - 1)) + (switch + (if (cmp == GT_EXPR) + (eq @2 { wide_int_to_tree (TREE_TYPE (@1), wi::add (@1, 1)); })) + (if (cmp == LE_EXPR) + (ne @2 { wide_int_to_tree (TREE_TYPE (@1), wi::add (@1, 1)); })))) (if (wi::eq_p (@1, min + 1)) (switch (if (cmp == GE_EXPR) -- 2.11.4.GIT