From: rguenth Date: Wed, 1 Jun 2016 10:33:35 +0000 (+0000) Subject: 2016-06-01 Richard Biener X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0c1f7d17354465c408561f24b73469cab34389b3;p=thirdparty%2Fgcc.git 2016-06-01 Richard Biener PR tree-optimization/71311 * match.pd (@0 < @1 && @0 < @2 -> @0 < min(@1,@2)): Add :c and restrict to non-INTEGER_CST @0. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236980 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fc45d3511946..92a4ed521ffd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2016-06-01 Richard Biener + + PR tree-optimization/71311 + * match.pd (@0 < @1 && @0 < @2 -> @0 < min(@1,@2)): Add :c and + restrict to non-INTEGER_CST @0. + 2016-06-01 Richard Biener * match.pd ((A & B) - (A & ~B) -> B - (A ^ B)): Add missing :c. diff --git a/gcc/match.pd b/gcc/match.pd index dde6988a6f57..4d66243d78e7 100644 --- a/gcc/match.pd +++ b/gcc/match.pd @@ -3230,8 +3230,9 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) (for op (lt le gt ge) ext (min min max max) (simplify - (bit_and (op:s @0 @1) (op:s @0 @2)) - (if (INTEGRAL_TYPE_P (TREE_TYPE (@0))) + (bit_and (op:cs @0 @1) (op:cs @0 @2)) + (if (INTEGRAL_TYPE_P (TREE_TYPE (@0)) + && TREE_CODE (@0) != INTEGER_CST) (op @0 (ext @1 @2))))) (simplify