1 /* PR target/91854 */
2 /* Testcase by Sergei Trofimovich <slyfox@inbox.ru> */
3 /* { dg-do assemble } */
4 /* { dg-options "-O2 -Wno-int-conversion" } */
5 /* { dg-additional-options "-fPIE -mcpu=niagara4" { target sparc*-*-* } } */
6
7 typedef struct {
8 long a;
9 } __attribute__((packed)) c;
10 void *e, *f;
11 int i, j, ab, k, l, m, o;
g(int p)12 inline int g(int p) {
13 if (__builtin_expect(p, 1)) {
14 const int aa = ((c *)e)->a ^ ((c *)f)->a;
15 if (aa)
16 f = sizeof(long);
17 return f;
18 }
19 }
20 void d();
21 int am ();
n(char p,int u)22 inline int n(char p, int u) {
23 int q, r, ac = i;
24 short b = m;
25 while (r && u) {
26 if (l) {
27 if (k) {
28 void *h = i;
29 if (__builtin_expect(p, 1)) {
30 const int aa = ((c *)e)->a ^ ((c *)h)->a;
31 if (aa)
32 h = sizeof(long);
33 q = h;
34 }
35 }
36 ab = q;
37 char s;
38 if (s) {
39 char t = l = g(t);
40 }
41 }
42 if (j && b)
43 if (ac)
44 d();
45 }
46 }
v()47 void v() {
48 const int al = am();
49 if (al)
50 n(am, v);
51 an:
52 n(am, v);
53 if (o)
54 goto an;
55 }
56