diff options
author | Andrew Pinski <apinski@marvell.com> | 2023-09-03 10:17:29 -0700 |
---|---|---|
committer | Andrew Pinski <apinski@marvell.com> | 2023-09-05 14:14:54 -0700 |
commit | 8e995e84233661a1a246807a66cc84003426b1df (patch) | |
tree | 303c2d0b4ebcfffdef5359b0ac1991873c413f97 /gcc/c | |
parent | e6bcf83989478348428c732c11e6c0f1719e9214 (diff) | |
download | gcc-8e995e84233661a1a246807a66cc84003426b1df.zip gcc-8e995e84233661a1a246807a66cc84003426b1df.tar.gz gcc-8e995e84233661a1a246807a66cc84003426b1df.tar.bz2 |
MATCH: Add pattern for `(x | y) & (x & z)`
Like the pattern already there for `(x | y) & x`,
this adds a simple pattern to optimize `(x | y) & (x & z)`
to just `x & z`.
OK? Bootstrapped and tested on x86-64-linux-gnu with no regressions.
gcc/ChangeLog:
PR tree-optimization/103536
* match.pd (`(x | y) & (x & z)`,
`(x & y) | (x | z)`): New patterns.
gcc/testsuite/ChangeLog:
PR tree-optimization/103536
* gcc.dg/tree-ssa/andor-6.c: New test.
* gcc.dg/tree-ssa/andor-bool-1.c: New test.
Diffstat (limited to 'gcc/c')
0 files changed, 0 insertions, 0 deletions