From 4618c453205f1812b32967312a845a66a1194495 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Wed, 1 Jun 2016 10:33:35 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 6 ++++++ gcc/match.pd | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fc45d351194..92a4ed521ff 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 dde6988a6f5..4d66243d78e 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