1 /* { dg-do compile } */
2 /* { dg-options "-O1 -fdump-tree-optimized" } */
3
f(int x)4 int f(int x)
5 {
6 return ((~x) != 0);
7 }
f1(int x)8 int f1(int x)
9 {
10 return ((~x) == 0);
11 }
12
13 /* There should be no != 0 which is produced by the front-end as
14 ~x != 0 is the same as x != -1 (or ~0). Likewise for ==. */
15 /* { dg-final { scan-tree-dump-times "!= 0" 0 "optimized"} } */
16 /* { dg-final { scan-tree-dump-times "!= -1" 1 "optimized"} } */
17 /* { dg-final { scan-tree-dump-times "== 0" 0 "optimized"} } */
18 /* { dg-final { scan-tree-dump-times "== -1" 1 "optimized"} } */
19
20
21