From ca0b7ecec78f46508f044e33accba0a59bda0623 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Fri, 19 Aug 2016 07:03:48 +0000 Subject: match.pd (x | 0 -> x): Add. 2016-08-19 Richard Biener * match.pd (x | 0 -> x): Add. From-SVN: r239606 --- gcc/ChangeLog | 4 ++++ gcc/match.pd | 13 +++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) (limited to 'gcc') diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 930663a..0ec1ae4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2016-08-19 Richard Biener + * match.pd (x | 0 -> x): Add. + +2016-08-19 Richard Biener + PR tree-optimization/77286 * tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges): Deal with virtual PHIs being out-of-order. diff --git a/gcc/match.pd b/gcc/match.pd index da87b02..123e754 100644 --- a/gcc/match.pd +++ b/gcc/match.pd @@ -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 */ -- cgit v1.1