1 /* PR rtl-optimization/47337 */
2
3 static unsigned int a[256], b = 0;
4 static char c = 0;
5 static int d = 0, *f = &d;
6 static long long e = 0;
7
8 static short
foo(long long x,long long y)9 foo (long long x, long long y)
10 {
11 return x / y;
12 }
13
14 static char
bar(char x,char y)15 bar (char x, char y)
16 {
17 return x - y;
18 }
19
20 static int
baz(int x,int y)21 baz (int x, int y)
22 {
23 *f = (y != (short) (y * 3));
24 for (c = 0; c < 2; c++)
25 {
26 lab:
27 if (d)
28 {
29 if (e)
30 e = 1;
31 else
32 return x;
33 }
34 else
35 {
36 d = 1;
37 goto lab;
38 }
39 f = &d;
40 }
41 return x;
42 }
43
44 static void
fnx(unsigned long long x,int y)45 fnx (unsigned long long x, int y)
46 {
47 if (!y)
48 {
49 b = a[b & 1];
50 b = a[b & 1];
51 b = a[(b ^ (x & 1)) & 1];
52 b = a[(b ^ (x & 1)) & 1];
53 }
54 }
55
56 char *volatile w = "2";
57
58 int
main()59 main ()
60 {
61 int h = 0;
62 unsigned int k = 0;
63 int l[8];
64 int i, j;
65
66 if (__builtin_strcmp (w, "1") == 0)
67 h = 1;
68
69 for (i = 0; i < 256; i++)
70 {
71 for (j = 8; j > 0; j--)
72 k = 1;
73 a[i] = k;
74 }
75 for (i = 0; i < 8; i++)
76 l[i] = 0;
77
78 d = bar (c, c);
79 d = baz (c, 1 | foo (l[0], 10));
80 fnx (d, h);
81 fnx (e, h);
82
83 if (d != 0)
84 __builtin_abort ();
85 return 0;
86 }
87