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 } } } */
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
);