more AM tests
[libfirm] / ir / be / test / am_test4.c
1 char c;
2
3 int f(int x, int y) {
4         return x + y * 8;
5 }
6
7 int f2(int x, int y) {
8         return x * 2 + y * 8;
9 }
10
11 int f3(int x) {
12         return x * 2;
13 }
14
15 char f4(char *p, int k) {
16         return p[k];
17 }
18
19 void dest_am(int *arr, int from, int to) {
20         int i;
21
22         for(i = from + 1; i < to; ++i) {
23                 arr[i] += arr[i-1];
24         }
25 }
26
27 void dest_am2(int *arr, int from, int to) {
28         int i;
29
30         for(i = from + 1; i < to; ++i) {
31                 arr[i] = -arr[i];
32         }
33 }
34
35 int main(void) {
36         int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
37         int i;
38
39         dest_am(arr, 0, 10);
40         for(i = 0; i < 10; ++i) {
41                 printf("%d ", arr[i]);
42         }
43         printf("\n");
44         dest_am2(arr, 0, 10);
45         for(i = 0; i < 10; ++i) {
46                 printf("%d ", arr[i]);
47         }
48         printf("\n");
49
50         return 0;
51 }