From: Matthias Braun Date: Sat, 25 Aug 2007 17:05:50 +0000 (+0000) Subject: more AM tests X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=1618465ceb0f8566ca810740a52b9edb3bdad8d2;p=libfirm more AM tests [r15607] --- diff --git a/ir/be/test/am_test3.c b/ir/be/test/am_test3.c new file mode 100644 index 000000000..6f9993a29 --- /dev/null +++ b/ir/be/test/am_test3.c @@ -0,0 +1,16 @@ +int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; + +int sum(int c) { + int i, res = 0; + + for(i = 0; i < c; ++i) { + res += i; + } + + return res; +} + +int main(void) { + printf("Sum: %d\n", sum(10)); + return 0; +} diff --git a/ir/be/test/am_test4.c b/ir/be/test/am_test4.c new file mode 100644 index 000000000..e83d9c2f3 --- /dev/null +++ b/ir/be/test/am_test4.c @@ -0,0 +1,51 @@ +char c; + +int f(int x, int y) { + return x + y * 8; +} + +int f2(int x, int y) { + return x * 2 + y * 8; +} + +int f3(int x) { + return x * 2; +} + +char f4(char *p, int k) { + return p[k]; +} + +void dest_am(int *arr, int from, int to) { + int i; + + for(i = from + 1; i < to; ++i) { + arr[i] += arr[i-1]; + } +} + +void dest_am2(int *arr, int from, int to) { + int i; + + for(i = from + 1; i < to; ++i) { + arr[i] = -arr[i]; + } +} + +int main(void) { + int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; + int i; + + dest_am(arr, 0, 10); + for(i = 0; i < 10; ++i) { + printf("%d ", arr[i]); + } + printf("\n"); + dest_am2(arr, 0, 10); + for(i = 0; i < 10; ++i) { + printf("%d ", arr[i]); + } + printf("\n"); + + return 0; +}