Remove old autovect-branch by moving to "dead" directory.
[official-gcc.git] / old-autovect-branch / gcc / testsuite / gcc.dg / tree-ssa / ssa-ccp-3.c
blobfe152b7e01e499d47e4f3ba9f8ef55c6bf0e5b03
1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-store_ccp" } */
4 extern void link_error (void);
6 /* some addresses clearly cannot be equal, check that some address
7 expressions can be evaluated as constants */
9 char g1, g2;
10 void test6 (char p1, char p2)
12 char l1 = 1, l2 = 2;
13 static char s1 = 5, s2 = 7;
14 if (&l1 == &l2)
15 link_error ();
17 if (&p1 == &p2)
18 link_error ();
20 if (&s1 == &s2)
21 link_error ();
23 if (&g1 == &g2)
24 link_error ();
26 if (&p1 == &l1)
27 link_error ();
29 if (&p1 == &s1)
30 link_error ();
32 if (&p1 == &l2)
33 link_error ();
35 if (&p1 == &g1)
36 link_error ();
38 if (&l1 == &g1)
39 link_error ();
41 if (&s1 == &g1)
42 link_error ();
45 extern void *alloc (int) __attribute__ ((malloc));
46 char gca1[128];
47 char* __restrict__ rgc1;
48 char* test66 (char * __restrict__ rp1, char * __restrict__ rp2, char *p1)
50 char * __restrict__ rl1 = p1;
51 char * l1 = (char*) alloc (20);
53 if (l1 == rgc1)
54 link_error ();
56 if (l1 == rp1)
57 link_error ();
59 if (l1 == rl1)
60 link_error ();
62 if (l1 == gca1)
63 link_error ();
65 if (rl1 == rgc1)
66 link_error ();
68 if (rl1 == rp1)
69 link_error ();
71 if (rl1 == gca1)
72 link_error ();
74 if (rp1 == rp2)
75 link_error ();
77 if (rp1 == rgc1)
78 link_error ();
80 if (rp1 == gca1)
81 link_error ();
83 if (gca1 == rgc1)
84 link_error ();
88 int gci1[128];
89 int* __restrict__ rgi1;
90 int* test666 (int * __restrict__ rp1, int * __restrict__ rp2, int *p1)
92 int * __restrict__ rl1 = p1;
93 int * l1 = (int*) alloc (20);
95 if (l1 == rgi1)
96 link_error ();
98 if (l1 == rp1)
99 link_error ();
101 if (l1 == rl1)
102 link_error ();
104 if (l1 == gci1)
105 link_error ();
107 if (rl1 == rgi1)
108 link_error ();
110 if (rl1 == rp1)
111 link_error ();
113 if (rl1 == gci1)
114 link_error ();
116 if (rp1 == rp2)
117 link_error ();
119 if (rp1 == rgi1)
120 link_error ();
122 if (rp1 == gci1)
123 link_error ();
125 if (gci1 == rgi1)
126 link_error ();
130 /* There should be not link_error calls, if there is any the
131 optimization has failed */
132 /* ??? While we indeed don't handle some of these, a couple of the
133 restrict tests are incorrect. */
134 /* { dg-final { scan-tree-dump-times "link_error" 0 "store_ccp" { xfail *-*-* } } } */
135 /* { dg-final { cleanup-tree-dump "store_ccp" } } */