* simplify-rtx.c (simplify_binary_operation): Simplify
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 30 Jun 2004 10:09:55 +0000 (10:09 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 30 Jun 2004 10:09:55 +0000 (10:09 +0000)
commit0717ec39a9d30b63907795856db1f0b4e78fbde8
treede710deee48e0626b77470a406d37539f06fe50a
parentb589ba75d933c6f66bdefcd4bcce5276d9be5848
* simplify-rtx.c (simplify_binary_operation): Simplify
((A & N) + B) & M -> (A + B) & M if M is pow2 minus 1 constant and
N has at least all bits in M set as well.

PR tree-optimization/15310
* expr.c (expand_assignment): Optimize += or -= on a bit field in
most significant bits.

* gcc.c-torture/execute/20040629-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83900 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/expr.c
gcc/simplify-rtx.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/20040629-1.c [new file with mode: 0644]