1 /* PR tree-optimization/47538 */
9 __attribute__((noinline, noclone)) void
10 foo (struct S *x, const struct S *y)
12 const unsigned long n = y->d + 1;
13 const double m = 0.25 * (y->b - y->a);
22 x->c[1] = m * y->c[0];
23 x->c[0] = 2.0 * x->c[1];
27 double o = 0.0, p = 1.0;
30 for (i = 1; i <= n - 2; i++)
32 x->c[i] = m * (y->c[i - 1] - y->c[i + 1]) / (double) i;
36 x->c[n - 1] = m * y->c[n - 2] / (n - 1.0);
46 double c[4] = { 10, 20, 30, 40 }, d[4], e[4] = { 118, 118, 118, 118 };
53 __builtin_memcpy (d, e, sizeof d);
55 if (d[0] != 0 || d[1] != 20 || d[2] != 10 || d[3] != -10)
58 __builtin_memcpy (d, e, sizeof d);
60 if (d[0] != 60 || d[1] != 20 || d[2] != -10 || d[3] != 118)
63 __builtin_memcpy (d, e, sizeof d);
65 if (d[0] != -20 || d[1] != -10 || d[2] != 118 || d[3] != 118)
68 __builtin_memcpy (d, e, sizeof d);
70 if (d[0] != 0 || d[1] != 118 || d[2] != 118 || d[3] != 118)