aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.target/i386/pr63448.c
blob: 3f8262e87e150be85e6b34d292e59ad1504f1d82 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
/* PR rtl-optimization/63448 */
/* { dg-do compile } */
/* { dg-options "-O -std=c99" } */

int a, d, e, g, h, j;
float b, c, k, l, m, n;
int *__restrict i;
void
foo (void)
{
  int o = e;
  int *p;
  float *q, *r = (float *) 0x1234000;
  float s, t, u, v, w, x;
  do
    {
      for (a = o; a; a--)
	{
	  s += m;
	  t += n;
	  u += m;
	  v += n;
	  w += d;
	  x += d;
	  n = l;
	  s += r[1];
	  t += n;
	  v += r[1];
	  m = k * r[4];
	  n = q[0] * r[4];
	  s += m;
	  m = q[1] * r[4];
	  t += n;
	  q += g;
	  k = *q;
	  n = q[1] * r[4];
	  s += m;
	  t += n;
	  u += r[4];
	  m = q[8] * r[4];
	  q += 1;
	  n = q[1] * r[4];
	  s += m;
	  m = q[4];
	  t += n;
	  q += g;
	  w += m;
	  m = k * r[4];
	  s += m;
	  t += q[0];
	  m = q[1] * r[4];
	  v += q[0];
	  n = q[10] * r[4];
	  s += m;
	  t += n;
	  u += b;
	  m = q[8] * r[4];
	  n = q[2] * r[4];
	  s += m;
	  m = q[4] * r[4];
	  t += n;
	  q++;
	  n = q[2] * r[16];
	  s += m;
	  m = q[4];
	  t += n;
	  s += m;
	  t += r[6];
	  q += g;
	  k = *q;
	  w += m;
	  m = k * r[20];
	  x += r[16];
	  n = q[1] * r[20];
	  s += m;
	  t += n;
	  q += g;
	  k = *q;
	  w += m;
	  m = k * r[2];
	  n = q[1] * r[22];
	  s += m;
	  m = q[4];
	  t += n;
	  q += g;
	  s += m;
	  t += q[0];
	  s += m;
	  u += m;
	  n = q[1] * r[22];
	  s += m;
	  m = q[4] * r[22];
	  t += n;
	  q += g;
	  k = 1;
	  w += m;
	  c = q[10];
	  x += r[22];
	  s += m;
	  t += r[22];
	  u += m;
	  v += r[22];
	  n = q[10] * r[30];
	  d = r[32];
	  l = q[1];
	  b = 0;
	  w += m;
	  m = r[32];
	  x += n;
	  r = 0;
	}
      *i = s;
      p[0] = t;
      p[1] = u;
      p[6] = v;
      p[8] = w;
      p[10] = x;
    }
  while (j);
}