re PR tree-optimization/71311 (spec2006 test case 416.gamess fails since r235817)
authorRichard Biener <rguenther@suse.de>
Wed, 1 Jun 2016 10:33:35 +0000 (10:33 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Wed, 1 Jun 2016 10:33:35 +0000 (10:33 +0000)
2016-06-01  Richard Biener  <rguenther@suse.de>

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
gcc/match.pd

index fc45d35..92a4ed5 100644 (file)
@@ -1,5 +1,11 @@
 2016-06-01  Richard Biener  <rguenther@suse.de>
 
+       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  <rguenther@suse.de>
+
        * match.pd ((A & B) - (A & ~B) -> B - (A ^ B)): Add missing :c.
        (relational patterns): Use :c to avoid pattern duplications.
 
index dde6988..4d66243 100644 (file)
@@ -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