1 /* PR rtl-optimization/63448 */
2 /* { dg-do compile } */
3 /* { dg-options "-O -std=c99" } */
4 
5 int a, d, e, g, h, j;
6 float b, c, k, l, m, n;
7 int *__restrict i;
8 void
foo(void)9 foo (void)
10 {
11   int o = e;
12   int *p;
13   float *q, *r = (float *) 0x1234000;
14   float s, t, u, v, w, x;
15   do
16     {
17       for (a = o; a; a--)
18 	{
19 	  s += m;
20 	  t += n;
21 	  u += m;
22 	  v += n;
23 	  w += d;
24 	  x += d;
25 	  n = l;
26 	  s += r[1];
27 	  t += n;
28 	  v += r[1];
29 	  m = k * r[4];
30 	  n = q[0] * r[4];
31 	  s += m;
32 	  m = q[1] * r[4];
33 	  t += n;
34 	  q += g;
35 	  k = *q;
36 	  n = q[1] * r[4];
37 	  s += m;
38 	  t += n;
39 	  u += r[4];
40 	  m = q[8] * r[4];
41 	  q += 1;
42 	  n = q[1] * r[4];
43 	  s += m;
44 	  m = q[4];
45 	  t += n;
46 	  q += g;
47 	  w += m;
48 	  m = k * r[4];
49 	  s += m;
50 	  t += q[0];
51 	  m = q[1] * r[4];
52 	  v += q[0];
53 	  n = q[10] * r[4];
54 	  s += m;
55 	  t += n;
56 	  u += b;
57 	  m = q[8] * r[4];
58 	  n = q[2] * r[4];
59 	  s += m;
60 	  m = q[4] * r[4];
61 	  t += n;
62 	  q++;
63 	  n = q[2] * r[16];
64 	  s += m;
65 	  m = q[4];
66 	  t += n;
67 	  s += m;
68 	  t += r[6];
69 	  q += g;
70 	  k = *q;
71 	  w += m;
72 	  m = k * r[20];
73 	  x += r[16];
74 	  n = q[1] * r[20];
75 	  s += m;
76 	  t += n;
77 	  q += g;
78 	  k = *q;
79 	  w += m;
80 	  m = k * r[2];
81 	  n = q[1] * r[22];
82 	  s += m;
83 	  m = q[4];
84 	  t += n;
85 	  q += g;
86 	  s += m;
87 	  t += q[0];
88 	  s += m;
89 	  u += m;
90 	  n = q[1] * r[22];
91 	  s += m;
92 	  m = q[4] * r[22];
93 	  t += n;
94 	  q += g;
95 	  k = 1;
96 	  w += m;
97 	  c = q[10];
98 	  x += r[22];
99 	  s += m;
100 	  t += r[22];
101 	  u += m;
102 	  v += r[22];
103 	  n = q[10] * r[30];
104 	  d = r[32];
105 	  l = q[1];
106 	  b = 0;
107 	  w += m;
108 	  m = r[32];
109 	  x += n;
110 	  r = 0;
111 	}
112       *i = s;
113       p[0] = t;
114       p[1] = u;
115       p[6] = v;
116       p[8] = w;
117       p[10] = x;
118     }
119   while (j);
120 }
121