| /* PR tree-optimization/80558 */ |
| /* { dg-do compile } */ |
| /* { dg-options "-O2 -fdump-tree-evrp" } */ |
| /* { dg-final { scan-tree-dump-not "link_error" "evrp" } } */ |
| |
| void link_error (void); |
| |
| void |
| f1 (int x) |
| { |
| if (x >= 5 && x <= 19) |
| { |
| x &= -2; |
| if (x < 4 || x > 18) |
| link_error (); |
| } |
| } |
| |
| void |
| f2 (int x) |
| { |
| if (x >= 5 && x <= 19) |
| { |
| x |= 7; |
| if (x < 7 || x > 23) |
| link_error (); |
| } |
| } |
| |
| void |
| f3 (int x) |
| { |
| if (x >= -18 && x <= 19) |
| { |
| x |= 7; |
| if (x < -17 || x > 23) |
| link_error (); |
| } |
| } |
| |
| void |
| f4 (int x) |
| { |
| if (x >= 1603 && x <= 2015) |
| { |
| x &= 496; |
| if (x < 64 || x > 464) |
| link_error (); |
| } |
| } |