|  | /* PR tree-optimization/69615 */ | 
|  | /* { dg-do compile } */ | 
|  | /* { dg-options "-O2 -fdump-tree-optimized" } */ | 
|  | /* { dg-final { scan-tree-dump-not " >= 0" "optimized" } } */ | 
|  | /* { dg-final { scan-tree-dump-not " < 0" "optimized" } } */ | 
|  | /* { dg-final { scan-tree-dump-not " <= 23" "optimized" } } */ | 
|  | /* { dg-final { scan-tree-dump-not " > 23" "optimized" } } */ | 
|  |  | 
|  | extern void foo (void); | 
|  |  | 
|  | void | 
|  | f1 (int x) | 
|  | { | 
|  | if (x >= 0 && x <= __INT_MAX__ - 1) | 
|  | foo (); | 
|  | } | 
|  |  | 
|  | void | 
|  | f2 (int x, int y) | 
|  | { | 
|  | if (x >= 0 && y && x <= __INT_MAX__ - 1) | 
|  | foo (); | 
|  | } | 
|  |  | 
|  | void | 
|  | f3 (int x) | 
|  | { | 
|  | if (x > -__INT_MAX__ - 1 && x <= 23) | 
|  | foo (); | 
|  | } | 
|  |  | 
|  | void | 
|  | f4 (int x, int y) | 
|  | { | 
|  | if (x > -__INT_MAX__ - 1 && y && x <= 23) | 
|  | foo (); | 
|  | } |