fold-const.c (fold_binary_loc): Move (X & C2) << C1 -> (X << C1) & (C2 << C1) simplif...
authorRichard Biener <rguenther@suse.de>
Tue, 7 Jul 2015 14:12:44 +0000 (14:12 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Tue, 7 Jul 2015 14:12:44 +0000 (14:12 +0000)
commit98e30e515f184bd63196d4d500a682fbfeb9635e
treedaaaff74c7d6229017ab98b9e6dc9cbfc072a51c
parentddae3477d446e1f93b62b7cb2880f75216e85ce8
fold-const.c (fold_binary_loc): Move (X & C2) << C1 -> (X << C1) & (C2 << C1) simplification ...

2015-07-07  Richard Biener  <rguenther@suse.de>

* fold-const.c (fold_binary_loc): Move
(X & C2) << C1 -> (X << C1) & (C2 << C1) simplification ...
* match.pd: ... here.
Add (X * C1) % C2 -> 0 simplification pattern derived from
extract_muldiv_1.

* gcc.dg/vect/vect-over-widen-3-big-array.c: Adjust.

From-SVN: r225517
gcc/ChangeLog
gcc/fold-const.c
gcc/match.pd
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/vect/vect-over-widen-3-big-array.c