diff options
author | Richard Biener <rguenther@suse.de> | 2015-10-21 02:22:04 +0000 |
---|---|---|
committer | Naveen H.S <naveenh@gcc.gnu.org> | 2015-10-21 02:22:04 +0000 |
commit | 0a8f32b8fc399b3fc2da1449d92de22da83d3853 (patch) | |
tree | 4c84786016633751aa90ea8c3ed33c0e5e030c43 /gcc/final.c | |
parent | d0761942a58614ec034441a96bb821048b84b0d3 (diff) | |
download | gcc-0a8f32b8fc399b3fc2da1449d92de22da83d3853.zip gcc-0a8f32b8fc399b3fc2da1449d92de22da83d3853.tar.gz gcc-0a8f32b8fc399b3fc2da1449d92de22da83d3853.tar.bz2 |
fold-const.c (fold_binary_loc): Move (-A) * (-B) -> A * B to match.pd.
2015-10-20 Richard Biener <rguenther@suse.de>
Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
* fold-const.c (fold_binary_loc) : Move (-A) * (-B) -> A * B
to match.pd.
Move (a * (1 << b)) is (a << b) to match.pd.
Move convert (C1/X)*C2 into (C1*C2)/X to match.pd.
Move ~X & X, (X == 0) & X, and !X & X are zero to match.pd.
Move X & ~X , X & (X == 0), and X & !X are zero to match.pd.
* match.pd (mult:c @0 (convert? (lshift integer_onep@1 @2))):
New simplifier.
(mult (rdiv:s REAL_CST@0 @1) REAL_CST@2): New simplifier.
(bit_and:c (convert? @0) (convert? (bit_not @0))): New simplifier.
(bit_ior (bit_and:s @0 (bit_not:s @1)) (bit_and:s (bit_not:s @0) @1))
: New simplifier.
(mult:c (convert1? (negate @0)) (convert2? negate_expr_p@1)):
New simplifier.
(match (logical_inverted_value @0) (truth_not @0)) : New Predicate.
Co-Authored-By: Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
From-SVN: r229107
Diffstat (limited to 'gcc/final.c')
0 files changed, 0 insertions, 0 deletions