match.pd (x | 0 -> x): Add.
authorRichard Biener <rguenther@suse.de>
Fri, 19 Aug 2016 07:03:48 +0000 (07:03 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Fri, 19 Aug 2016 07:03:48 +0000 (07:03 +0000)
2016-08-19  Richard Biener  <rguenther@suse.de>

* match.pd (x | 0 -> x): Add.

From-SVN: r239606

gcc/ChangeLog
gcc/match.pd

index 930663a39d12c373baa89e4a66d66f5057c8747e..0ec1ae4ecb913b912db911246739b10da81a6150 100644 (file)
@@ -1,3 +1,7 @@
+2016-08-19  Richard Biener  <rguenther@suse.de>
+
+       * match.pd (x | 0 -> x): Add.
+
 2016-08-19  Richard Biener  <rguenther@suse.de>
 
        PR tree-optimization/77286
index da87b027b626158dc2844ddb90a6b9e80f47610b..123e754483e298d037705978998cf4a5f978f922 100644 (file)
@@ -541,13 +541,18 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
 
 /* x | ~0 -> ~0  */
 (simplify
-  (bit_ior @0 integer_all_onesp@1)
-  @1)
+ (bit_ior @0 integer_all_onesp@1)
+ @1)
+
+/* x | 0 -> x  */
+(simplify
+ (bit_ior @0 integer_zerop)
+ @0)
 
 /* x & 0 -> 0  */
 (simplify
 (bit_and @0 integer_zerop@1)
 @1)
+ (bit_and @0 integer_zerop@1)
+ @1)
 
 /* ~x | x -> -1 */
 /* ~x ^ x -> -1 */