1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-ifcombine" } */
6 _Bool
and1(unsigned x
, unsigned y
)
8 /* x > y && x != 0 --> x > y */
9 return x
> y
&& x
!= 0;
12 _Bool
and2(unsigned x
, unsigned y
)
14 /* x < y && x != UINT_MAX --> x < y */
15 return x
< y
&& x
!= UINT_MAX
;
18 _Bool
and3(signed x
, signed y
)
20 /* x > y && x != INT_MIN --> x > y */
21 return x
> y
&& x
!= INT_MIN
;
24 _Bool
and4(signed x
, signed y
)
26 /* x < y && x != INT_MAX --> x < y */
27 return x
< y
&& x
!= INT_MAX
;
30 /* { dg-final { scan-tree-dump-not " != " "ifcombine" } } */