1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
/* PR tree-optimization/98255 */
/* { dg-do run } */
/* { dg-options "-Os" } */
/* { dg-additional-options "-fPIC" { target fpic } } */
struct A { volatile unsigned b; unsigned c; };
int d, *e, h, k, l;
static struct A f;
long g;
static unsigned i = -2U;
volatile int j;
long
foo (void)
{
char n[4][4][3]
= { { {9, 2, 8}, {9, 2, 8}, {9, 2, 8}, {9} }, { {8} }, { {8} }, { {2} } };
while (d)
{
for (; f.c < 4; f.c++)
{
*e = 0;
h = n[f.c + 4][0][d];
}
while (g)
return n[0][3][i];
while (1)
{
if (k)
{
j = 0;
if (j)
continue;
}
if (l)
break;
}
}
return 0;
}
int
main ()
{
asm volatile ("" : "+g" (d), "+g" (g), "+g" (f.c));
asm volatile ("" : "+g" (e), "+g" (k), "+g" (l));
foo ();
return 0;
}
|