1 /* PR optimization/6475
2 Distilled from zlib sources. */
4 /* { dg-options "-O2" } */
5 /* { dg-options "-O2 -frename-registers -fomit-frame-pointer -fPIC -mtune=i686" { target { { i?86-*-* x86_64-*-* } && { ia32 && fpic } } } } */
7 extern void exit (int);
24 foo (unsigned int *b, unsigned int n, unsigned int s, const unsigned int *d,
25 const unsigned int *e, A **t, unsigned int *m, A *hp, unsigned int *hn,
28 unsigned int a, c[15 + 1], f;
36 unsigned int x[15 + 1], *xx;
40 *p++ = 0; *p++ = 0; *p++ = 0; *p++ = 0;
41 *p++ = 0; *p++ = 0; *p++ = 0; *p++ = 0;
42 *p++ = 0; *p++ = 0; *p++ = 0; *p++ = 0;
43 *p++ = 0; *p++ = 0; *p++ = 0; *p++ = 0;
56 for (j = 1; j <= 15; j++)
60 if ((unsigned int) l < j)
66 if ((unsigned int) l > i)
69 for (y = 1 << j; j < i; j++, y <<= 1)
104 z = z > (unsigned int) l ? l : z;
105 if ((f = 1 << (j = k - w)) > a + 1)
112 if ((f <<= 1) <= *++xx)
125 r.a0.a2.a4 = (unsigned char) l;
126 r.a0.a2.a3 = (unsigned char) j;
128 r.a1 = (unsigned int) (q - u[h - 1] - j);
134 r.a0.a2.a4 = (unsigned char) (k - w);
136 r.a0.a2.a3 = 128 + 64;
139 r.a0.a2.a3 = (unsigned char) (*p < 256 ? 0 : 32 + 64);
144 r.a0.a2.a3 = (unsigned char) (e[*p - s] + 16 + 64);
148 for (j = i >> w; j < z; j += f)
150 for (j = 1 << (k - 1); i & j; j >>= 1)
154 while ((i & ee) != x[h])
162 return y != 0 && g != 1 ? (-5) : 0;
165 unsigned int a[19] = { 3, 4, 0, 2, 2, [17] = 3, 3 };
172 unsigned int b = 0, c = 0;
174 foo (a, 19, 19, 0, 0, &e, &b, h, &c, d);