From: Richard Biener Date: Wed, 1 Jun 2016 10:33:35 +0000 (+0000) Subject: re PR tree-optimization/71311 (spec2006 test case 416.gamess fails since r235817) X-Git-Tag: upstream/12.2.0~46702 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4618c453205f1812b32967312a845a66a1194495;p=platform%2Fupstream%2Fgcc.git re PR tree-optimization/71311 (spec2006 test case 416.gamess fails since r235817) 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. From-SVN: r236980 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fc45d3511..92a4ed5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 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. (relational patterns): Use :c to avoid pattern duplications. diff --git a/gcc/match.pd b/gcc/match.pd index dde6988..4d66243 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