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
);