aboutsummaryrefslogtreecommitdiff
path: root/gcc/c
diff options
context:
space:
mode:
authorAndrew Pinski <apinski@marvell.com>2023-09-03 06:04:41 +0000
committerAndrew Pinski <apinski@marvell.com>2023-09-05 20:56:48 +0000
commitb34f373635635fa331d2803d9232b3cfd4fd4fd1 (patch)
tree909e1b6bd0a54ed06d3cd988e800e1a7594990d5 /gcc/c
parentb78cedc6b5bc062717a3e0efb10da8e19af1c422 (diff)
downloadgcc-b34f373635635fa331d2803d9232b3cfd4fd4fd1.zip
gcc-b34f373635635fa331d2803d9232b3cfd4fd4fd1.tar.gz
gcc-b34f373635635fa331d2803d9232b3cfd4fd4fd1.tar.bz2
MATCH: Transform `(1 >> X) !=/== 0` into `X ==/!= 0`
We currently have a pattern for handling `(C >> X) & D == 0` but if C is 1 and D is 1, the `& 1` might have been removed. gcc/ChangeLog: PR tree-optimization/105832 * match.pd (`(1 >> X) != 0`): New pattern gcc/testsuite/ChangeLog: PR tree-optimization/105832 * gcc.dg/tree-ssa/pr105832-1.c: New test. * gcc.dg/tree-ssa/pr105832-2.c: New test. * gcc.dg/tree-ssa/pr105832-3.c: New test.
Diffstat (limited to 'gcc/c')
0 files changed, 0 insertions, 0 deletions