Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mono / mini / test.cs
1 using System;
2
3 namespace SSA {
4         class Test {
5
6                 static void empty () {
7                 }
8                 static int ret_int () {
9                         return 1;
10                 }
11                 static int simple_add (int a) {
12                         int b = 5;
13                         return a + b;
14                 }
15
16                 static int cmov (int a) {
17                         return a >= 10? 1: 2;
18                 }
19
20                 static int many_shifts (int a, int b, int c) {
21                         return a << b << c << 1;
22                 }
23
24                 static void test2 (int a) {
25                         int x, y, z;
26                         
27                         z = 1;
28                         if (z > a) {
29                                 x = 1;
30                                 if (z > 2) {
31                                         y = x + 1;
32                                         return;
33                                 }
34                         } else {
35                                 x = 2;
36                         }
37                         z = x -3;
38                         x = 4;
39                         goto next;
40                         next:
41                         z = x + 7;
42                 }
43
44                 static int rfib (int n) {
45                         if (n < 2)
46                                 return 1;
47                         return rfib (n - 2) + rfib (n - 1);
48                 }
49
50                 static int test1 (int v) {
51                         int x, y;
52
53                         x = 1;
54                         if (v != 0) {
55                                 y = 2;
56                         } else {
57                                 y = x + 1;
58                         }
59                         return y;
60                 }
61
62                 static int for_loop () {
63                         int j = 0;
64                         for (int i = 0; i < 5; i++) {
65                                 j += i;
66                         }
67                         return j;
68                 }
69
70                 static int many_bb2 () {
71                         int j = 0;
72                         for (int i = 0; i < 5; i++) {
73                                 j += i;
74                         }
75                         j = 0;
76                         for (int i = 0; i < 5; i++) {
77                                 j += i;
78                         }
79                         return j;
80                 }
81
82                 static int many_bb4 () {
83                         int j = 0;
84                         for (int i = 0; i < 5; i++) {
85                                 j += i;
86                         }
87                         j = 0;
88                         for (int i = 0; i < 5; i++) {
89                                 j += i;
90                         }
91                         j = 0;
92                         for (int i = 0; i < 5; i++) {
93                                 j += i;
94                         }
95                         j = 0;
96                         for (int i = 0; i < 5; i++) {
97                                 j += i;
98                         }
99                         return j;
100                 }
101
102                 static int many_bb8 () {
103                         int j = 0;
104                         for (int i = 0; i < 5; i++) {
105                                 j += i;
106                         }
107                         j = 0;
108                         for (int i = 0; i < 5; i++) {
109                                 j += i;
110                         }
111                         j = 0;
112                         for (int i = 0; i < 5; i++) {
113                                 j += i;
114                         }
115                         j = 0;
116                         for (int i = 0; i < 5; i++) {
117                                 j += i;
118                         }
119                         j = 0;
120                         for (int i = 0; i < 5; i++) {
121                                 j += i;
122                         }
123                         j = 0;
124                         for (int i = 0; i < 5; i++) {
125                                 j += i;
126                         }
127                         j = 0;
128                         for (int i = 0; i < 5; i++) {
129                                 j += i;
130                         }
131                         j = 0;
132                         for (int i = 0; i < 5; i++) {
133                                 j += i;
134                         }
135                         return j;
136                 }
137
138                 static int many_bb16 () {
139                         int j = 0;
140                         for (int i = 0; i < 5; i++) {
141                                 j += i;
142                         }
143                         j = 0;
144                         for (int i = 0; i < 5; i++) {
145                                 j += i;
146                         }
147                         j = 0;
148                         for (int i = 0; i < 5; i++) {
149                                 j += i;
150                         }
151                         j = 0;
152                         for (int i = 0; i < 5; i++) {
153                                 j += i;
154                         }
155                         j = 0;
156                         for (int i = 0; i < 5; i++) {
157                                 j += i;
158                         }
159                         j = 0;
160                         for (int i = 0; i < 5; i++) {
161                                 j += i;
162                         }
163                         j = 0;
164                         for (int i = 0; i < 5; i++) {
165                                 j += i;
166                         }
167                         j = 0;
168                         for (int i = 0; i < 5; i++) {
169                                 j += i;
170                         }
171                         j = 0;
172                         for (int i = 0; i < 5; i++) {
173                                 j += i;
174                         }
175                         j = 0;
176                         for (int i = 0; i < 5; i++) {
177                                 j += i;
178                         }
179                         j = 0;
180                         for (int i = 0; i < 5; i++) {
181                                 j += i;
182                         }
183                         j = 0;
184                         for (int i = 0; i < 5; i++) {
185                                 j += i;
186                         }
187                         j = 0;
188                         for (int i = 0; i < 5; i++) {
189                                 j += i;
190                         }
191                         j = 0;
192                         for (int i = 0; i < 5; i++) {
193                                 j += i;
194                         }
195                         j = 0;
196                         for (int i = 0; i < 5; i++) {
197                                 j += i;
198                         }
199                         j = 0;
200                         for (int i = 0; i < 5; i++) {
201                                 j += i;
202                         }
203                         return j;
204                 }
205
206                 static int many_bb32 () {
207                         int j;
208                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
209                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
210                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
211                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
212                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
213                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
214                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
215                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
216                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
217                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
218                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
219                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
220                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
221                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
222                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
223                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
224
225                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
226                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
227                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
228                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
229                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
230                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
231                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
232                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
233                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
234                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
235                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
236                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
237                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
238                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
239                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
240                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
241
242                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
243                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
244                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
245                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
246                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
247                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
248                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
249                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
250                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
251                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
252                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
253                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
254                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
255                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
256                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
257                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
258
259                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
260                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
261                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
262                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
263                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
264                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
265                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
266                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
267                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
268                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
269                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
270                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
271                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
272                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
273                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
274                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
275
276                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
277                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
278                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
279                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
280                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
281                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
282                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
283                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
284                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
285                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
286                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
287                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
288                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
289                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
290                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
291                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
292
293                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
294                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
295                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
296                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
297                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
298                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
299                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
300                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
301                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
302                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
303                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
304                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
305                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
306                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
307                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
308                         j = 0; for (int i = 0; i < 5; i++) { j += i; }
309                         return j;
310                 }
311
312                 /*static int fib (int n) {
313                         int f0 = 0, f1 = 1, f2 = 0, i;
314
315                         if (n <= 1) goto L3;
316                         i = 2;
317                         L1:
318                         if (i <= n) goto L2;
319                         return f2;
320                         L2:
321                         f2 = f0 + f1;
322                         f0 = f1;
323                         f1 = f2;
324                         i++;
325                         goto L1;
326                         L3:
327                         return n;
328                 }*/
329
330                 static int nested_loops (int n) {
331                         int m = 1000;
332                         int a = 0;
333                         for (int i = 0; i < n; ++i) {
334                                 for (int j = 0; j < m; ++j) {
335                                         a++;
336                                 }
337                         }
338                         return a;
339                 }
340
341 #if __MOBILE__
342                 public static test_2_old_test_suite () {
343                         return test1 (1);
344                 }
345 #else
346                 static int Main() {
347                         if (test1 (1) != 2)
348                                 return 1;
349                         return 0;
350                 }
351 #endif
352         }
353 }
354