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-*-* } } */
6 /* { dg-forbid-option "-m64" { target i?86-*-* } } */
7 /* { dg-bogus "\[Uu\]nresolved symbol .(_GLOBAL_OFFSET_TABLE_|\[_.A-Za-z\]\[_.0-9A-Za-z\]*@(PLT|GOT|GOTOFF))" "PIC unsupported" { xfail *-*-netware* } 0 } */
9 extern void exit (int);
26 foo (unsigned int *b, unsigned int n, unsigned int s, const unsigned int *d,
27 const unsigned int *e, A **t, unsigned int *m, A *hp, unsigned int *hn,
30 unsigned int a, c[15 + 1], f;
38 unsigned int x[15 + 1], *xx;
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;
45 *p++ = 0; *p++ = 0; *p++ = 0; *p++ = 0;
58 for (j = 1; j <= 15; j++)
62 if ((unsigned int) l < j)
68 if ((unsigned int) l > i)
71 for (y = 1 << j; j < i; j++, y <<= 1)
106 z = z > (unsigned int) l ? l : z;
107 if ((f = 1 << (j = k - w)) > a + 1)
114 if ((f <<= 1) <= *++xx)
127 r.a0.a2.a4 = (unsigned char) l;
128 r.a0.a2.a3 = (unsigned char) j;
130 r.a1 = (unsigned int) (q - u[h - 1] - j);
136 r.a0.a2.a4 = (unsigned char) (k - w);
138 r.a0.a2.a3 = 128 + 64;
141 r.a0.a2.a3 = (unsigned char) (*p < 256 ? 0 : 32 + 64);
146 r.a0.a2.a3 = (unsigned char) (e[*p - s] + 16 + 64);
150 for (j = i >> w; j < z; j += f)
152 for (j = 1 << (k - 1); i & j; j >>= 1)
156 while ((i & ee) != x[h])
164 return y != 0 && g != 1 ? (-5) : 0;
167 unsigned int a[19] = { 3, 4, 0, 2, 2, [17] = 3, 3 };
174 unsigned int b = 0, c = 0;
176 foo (a, 19, 19, 0, 0, &e, &b, h, &c, d);