re PR tree-optimization/33291 (a+=2; a+=2 not simplified to a+=4; with -O3 ...
[gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / pr25382.c
1 /* PR tree-optimization/25382
2 VRP used to ignore BIT_AND_EXPRs for the purpose of distilling ranges.
3 Check that VRP now gets ranges from BIT_AND_EXPRs. */
4
5 /* { dg-do compile } */
6 /* { dg-options "-O2 -fdump-tree-vrp1" } */
7
8 int
9 foo (int a)
10 {
11 int b = a & 0xff;
12 if (b > 300)
13 return 2;
14 else
15 return 1;
16 }
17
18 /* { dg-final { scan-tree-dump-times "Folding predicate b_.* > 300 to 0" 1 "vrp1" } } */
19 /* { dg-final { cleanup-tree-dump "vrp1" } } */