annotate gcc/testsuite/gcc.dg/tree-ssa/pr94718-1.c @ 152:2b5abeee2509

update gcc11
author anatofuz
date Mon, 25 May 2020 07:50:57 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
152
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
1 /* PR tree-optimization/94718 */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
2 /* { dg-do compile } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
3 /* { dg-options "-O2 -fno-ipa-icf -fdump-tree-optimized" } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
4 /* { dg-final { scan-tree-dump-times "= \[xy]_\[0-9]+\\\(D\\\) \\^ \[xy]_\[0-9]+\\\(D\\\);" 6 "optimized" } } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
5 /* { dg-final { scan-tree-dump-times "\[0-9]+ < 0;" 6 "optimized" } } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
6
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
7 #define I (-__INT_MAX__ - 1)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
8
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
9 int
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
10 f1 (int x, int y)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
11 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
12 return (x & I) != (y & I);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
13 }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
14
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
15 int
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
16 f2 (int x, int y)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
17 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
18 return (~x & I) != (~y & I);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
19 }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
20
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
21 int
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
22 f3 (int x, int y)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
23 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
24 return ((x & I) ^ I) != ((y & I) ^ I);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
25 }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
26
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
27 int
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
28 f4 (int x, int y)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
29 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
30 int s = (x & I);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
31 int t = (y & I);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
32 return s != t;
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
33 }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
34
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
35 int
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
36 f5 (int x, int y)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
37 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
38 int s = (~x & I);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
39 int t = (~y & I);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
40 return s != t;
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
41 }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
42
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
43 int
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
44 f6 (int x, int y)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
45 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
46 int s = ((x & I) ^ I);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
47 int t = ((y & I) ^ I);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
48 return s != t;
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
49 }