fold-const.c (fold_binary_loc): Move ~x & ~y -> ~(x | y) and ~x | ~y -> ~(x & y)...
authorRichard Biener <rguenther@suse.de>
Tue, 30 Jun 2015 12:54:23 +0000 (12:54 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Tue, 30 Jun 2015 12:54:23 +0000 (12:54 +0000)
commit5b00d9211625c18148d3bacdc53c9f527557d063
tree7e4f56c61f58f687a011e0281c78065412309004
parentd62808554d8dbbedb11a2d51a75d618f396c1198
fold-const.c (fold_binary_loc): Move ~x & ~y -> ~(x | y) and ~x | ~y -> ~(x & y)...

2015-06-30  Richard Biener  <rguenther@suse.de>

* fold-const.c (fold_binary_loc): Move ~x & ~y -> ~(x | y) and
~x | ~y -> ~(x & y), (x & CST) ^ (x & CST2) -> (x & CST) | (x & CST2),
(X | Y) ^ X -> Y & ~ X, ~X ^ ~Y to X ^ Y and ~X ^ C to X ^ ~C ...
* match.pd: ... to patterns here.

From-SVN: r225184
gcc/ChangeLog
gcc/fold-const.c
gcc/match.pd