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-*-* } && { ilp32 && fpic } } } } */
6 /* { dg-bogus "\[Uu\]nresolved symbol .(_GLOBAL_OFFSET_TABLE_|\[_.A-Za-z\]\[_.0-9A-Za-z\]*@(PLT|GOT|GOTOFF))" "PIC unsupported" { xfail *-*-netware* } 0 } */
8 extern void exit (int);
25 foo (unsigned int *b, unsigned int n, unsigned int s, const unsigned int *d,
26 const unsigned int *e, A **t, unsigned int *m, A *hp, unsigned int *hn,
29 unsigned int a, c[15 + 1], f;
37 unsigned int x[15 + 1], *xx;
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;
44 *p++ = 0; *p++ = 0; *p++ = 0; *p++ = 0;
57 for (j = 1; j <= 15; j++)
61 if ((unsigned int) l < j)
67 if ((unsigned int) l > i)
70 for (y = 1 << j; j < i; j++, y <<= 1)
105 z = z > (unsigned int) l ? l : z;
106 if ((f = 1 << (j = k - w)) > a + 1)
113 if ((f <<= 1) <= *++xx)
126 r.a0.a2.a4 = (unsigned char) l;
127 r.a0.a2.a3 = (unsigned char) j;
129 r.a1 = (unsigned int) (q - u[h - 1] - j);
135 r.a0.a2.a4 = (unsigned char) (k - w);
137 r.a0.a2.a3 = 128 + 64;
140 r.a0.a2.a3 = (unsigned char) (*p < 256 ? 0 : 32 + 64);
145 r.a0.a2.a3 = (unsigned char) (e[*p - s] + 16 + 64);
149 for (j = i >> w; j < z; j += f)
151 for (j = 1 << (k - 1); i & j; j >>= 1)
155 while ((i & ee) != x[h])
163 return y != 0 && g != 1 ? (-5) : 0;
166 unsigned int a[19] = { 3, 4, 0, 2, 2, [17] = 3, 3 };
173 unsigned int b = 0, c = 0;
175 foo (a, 19, 19, 0, 0, &e, &b, h, &c, d);