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 fc45d3511946e4b4d7bd7cb8d1d65d8f650d7ebd..92a4ed521ffd0d1e85309638970cded0664c1010 100644 (file)
@@ -1,3 +1,9 @@
+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.
index dde6988a6f57e2fcf0e39be0e14bc4580cdb2a4b..4d66243d78e7881364594f93779f6041ce367be3 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