diff options
author | Richard Biener <rguenther@suse.de> | 2016-08-19 07:03:48 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2016-08-19 07:03:48 +0000 |
commit | ca0b7ecec78f46508f044e33accba0a59bda0623 (patch) | |
tree | 21aaf3446a5d10ab36a0c63200bee2896ed76726 | |
parent | 1a5da5b66a5d2d2fe87fdeddf475ec2c3c54c49f (diff) | |
download | gcc-ca0b7ecec78f46508f044e33accba0a59bda0623.zip gcc-ca0b7ecec78f46508f044e33accba0a59bda0623.tar.gz gcc-ca0b7ecec78f46508f044e33accba0a59bda0623.tar.bz2 |
match.pd (x | 0 -> x): Add.
2016-08-19 Richard Biener <rguenther@suse.de>
* match.pd (x | 0 -> x): Add.
From-SVN: r239606
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/match.pd | 13 |
2 files changed, 13 insertions, 4 deletions
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 <rguenther@suse.de> + * match.pd (x | 0 -> x): Add. + +2016-08-19 Richard Biener <rguenther@suse.de> + 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 */ |