diff options
author | Jakub Jelinek <jakub@redhat.com> | 2020-05-08 10:52:47 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2020-05-08 10:52:47 +0200 |
commit | 1595a1cb7bfac8d5a6026d5d6f3a495be0391506 (patch) | |
tree | 701be1abe1fbf79e878cf47ce6728b11606b8483 /gcc/ChangeLog | |
parent | a229f9b3737062c6e853879be6683f3f3e4a6661 (diff) |
match.pd: A ^ ((A ^ B) & -(C cmp D)) -> (C cmp D) ? B : A simplification [PR94786]
We already have x - ((x - y) & -(z < w)) and
x + ((y - x) & -(z < w)) simplifications, this one adds
x ^ ((x ^ y) & -(z < w)) (not merged using for because of the
:c that can be present on bit_xor and can't on minus).
2020-05-08 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/94786
* match.pd (A ^ ((A ^ B) & -(C cmp D)) -> (C cmp D) ? B : A): New
simplification.
* gcc.dg/tree-ssa/pr94786.c: New test.
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r-- | gcc/ChangeLog | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9a380a5505c..5373046116c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2020-05-08 Jakub Jelinek <jakub@redhat.com> + PR tree-optimization/94786 + * match.pd (A ^ ((A ^ B) & -(C cmp D)) -> (C cmp D) ? B : A): New + simplification. + PR target/94857 * config/i386/i386.md (peephole2 after *add<mode>3_cc_overflow_1): New define_peephole2. |