annotate gcc/testsuite/gcc.dg/pr44838.c @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* PR rtl-optimization/44838 */
kono
parents:
diff changeset
2 /* { dg-do run } */
kono
parents:
diff changeset
3 /* { dg-options "-O2 -funroll-loops" } */
kono
parents:
diff changeset
4
kono
parents:
diff changeset
5 extern void abort ();
kono
parents:
diff changeset
6
kono
parents:
diff changeset
7 void
kono
parents:
diff changeset
8 foo (int *a, int n)
kono
parents:
diff changeset
9 {
kono
parents:
diff changeset
10 int *lasta = a + n;
kono
parents:
diff changeset
11 for (; a != lasta; a++)
kono
parents:
diff changeset
12 {
kono
parents:
diff changeset
13 *a *= 2;
kono
parents:
diff changeset
14 a[1] = a[-1] + a[-2];
kono
parents:
diff changeset
15 }
kono
parents:
diff changeset
16 }
kono
parents:
diff changeset
17
kono
parents:
diff changeset
18 int a[16];
kono
parents:
diff changeset
19 int ref[16] = { 0, 1, 4, 2, 10, 12, 24, 44,
kono
parents:
diff changeset
20 72, 136, 232, 416, 736, 1296, 2304, 2032 };
kono
parents:
diff changeset
21
kono
parents:
diff changeset
22 int
kono
parents:
diff changeset
23 main ()
kono
parents:
diff changeset
24 {
kono
parents:
diff changeset
25 int i;
kono
parents:
diff changeset
26 for (i = 0; i < 16; i++)
kono
parents:
diff changeset
27 a[i] = i;
kono
parents:
diff changeset
28 foo (a + 2, 16 - 3);
kono
parents:
diff changeset
29 for (i = 0; i < 16; i++)
kono
parents:
diff changeset
30 if (ref[i] != a[i])
kono
parents:
diff changeset
31 abort ();
kono
parents:
diff changeset
32 return 0;
kono
parents:
diff changeset
33 }