1 /* PR tree-optimization/80558 */
2 /* { dg-do compile } */
3 /* { dg-options "-O2 -fdump-tree-evrp" } */
4 /* { dg-final { scan-tree-dump-not "link_error" "evrp" } } */
5 
6 void link_error (void);
7 
8 void
f1(int x)9 f1 (int x)
10 {
11   if (x >= 5 && x <= 19)
12     {
13       x &= -2;
14       if (x < 4 || x > 18)
15 	link_error ();
16     }
17 }
18 
19 void
f2(int x)20 f2 (int x)
21 {
22   if (x >= 5 && x <= 19)
23     {
24       x |= 7;
25       if (x < 7 || x > 23)
26 	link_error ();
27     }
28 }
29 
30 void
f3(int x)31 f3 (int x)
32 {
33   if (x >= -18 && x <= 19)
34     {
35       x |= 7;
36       if (x < -17 || x > 23)
37 	link_error ();
38     }
39 }
40 
41 void
f4(int x)42 f4 (int x)
43 {
44   if (x >= 1603 && x <= 2015)
45     {
46       x &= 496;
47       if (x < 64 || x > 464)
48 	link_error ();
49     }
50 }
51