more AM tests
authorMatthias Braun <matze@braunis.de>
Sat, 25 Aug 2007 17:05:50 +0000 (17:05 +0000)
committerMatthias Braun <matze@braunis.de>
Sat, 25 Aug 2007 17:05:50 +0000 (17:05 +0000)
[r15607]

ir/be/test/am_test3.c [new file with mode: 0644]
ir/be/test/am_test4.c [new file with mode: 0644]

diff --git a/ir/be/test/am_test3.c b/ir/be/test/am_test3.c
new file mode 100644 (file)
index 0000000..6f9993a
--- /dev/null
@@ -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 (file)
index 0000000..e83d9c2
--- /dev/null
@@ -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;
+}