summaryrefslogtreecommitdiff
path: root/gcc/ChangeLog
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2020-05-08 10:52:47 +0200
committerJakub Jelinek <jakub@redhat.com>2020-05-08 10:52:47 +0200
commit1595a1cb7bfac8d5a6026d5d6f3a495be0391506 (patch)
tree701be1abe1fbf79e878cf47ce6728b11606b8483 /gcc/ChangeLog
parenta229f9b3737062c6e853879be6683f3f3e4a6661 (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/ChangeLog4
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.