2016-12-21 Vladimir Makarov <vmakarov@redhat.com>
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / pr63448.c
blob3f8262e87e150be85e6b34d292e59ad1504f1d82
1 /* PR rtl-optimization/63448 */
2 /* { dg-do compile } */
3 /* { dg-options "-O -std=c99" } */
5 int a, d, e, g, h, j;
6 float b, c, k, l, m, n;
7 int *__restrict i;
8 void
9 foo (void)
11 int o = e;
12 int *p;
13 float *q, *r = (float *) 0x1234000;
14 float s, t, u, v, w, x;
17 for (a = o; a; a--)
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;
112 *i = s;
113 p[0] = t;
114 p[1] = u;
115 p[6] = v;
116 p[8] = w;
117 p[10] = x;
119 while (j);