More fold_negate in match.pd
commitc3aa270e6bb5013303ccf3b7bbb68d90b0ea2242
authorglisse <glisse@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 7 Nov 2017 11:04:14 +0000 (7 11:04 +0000)
committerglisse <glisse@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 7 Nov 2017 11:04:14 +0000 (7 11:04 +0000)
treed4d7509c7039e1f2279eb7a947b41a5781f7d6ce
parent3a999d8e37c59a1470ce72395dfd0cb1b0b665a0
More fold_negate in match.pd

gcc/ChangeLog:

2017-11-07  Marc Glisse  <marc.glisse@inria.fr>

* fold-const.c (negate_expr_p) [PLUS_EXPR, MINUS_EXPR]: Handle
non-scalar integral types.
* match.pd (negate_expr_p): Handle MINUS_EXPR.
(-(A-B), -(~A)): New transformations.

gcc/testsuite/ChangeLog:

2017-11-07  Marc Glisse  <marc.glisse@inria.fr>

* gcc.dg/tree-ssa/negminus.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@254494 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/fold-const.c
gcc/match.pd
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/negminus.c [new file with mode: 0644]