1 /* { dg-do compile } */
2 /* { dg-require-effective-target arm_arch_v6m_ok } */
3 /* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" } {"-mfloat-abi=soft" } } */
4 /* { dg-options "-march=armv6-m -mthumb -O3 -w -mfloat-abi=soft" } */
5 
6 a, b, c, e, g = &e, h, i = 7, l = 1, m, n, o, q = &m, r, s = &r, u, w = 9, x,
7   y = 6, z, t6 = 7, t8, t9 = 1, t11 = 5, t12 = &t8, t13 = 3, t15,
8   t16 = &t15;
9 struct {
10   long long f3;
11     char f4
12 } p = {3}
13 
14     ,
15   t = {4};
16 
17 struct S1 {
18   long long f0;
19   short f1;
20     long long f2
21 } d;
22 long long f = 4073709551613, t7 = 8, t14 = 4073709551610;
23 j[];
24 k = j;
25 v = &d;
26 *t10 = j;
27 struct S1 fn1();
fn2()28 struct S1 fn2() {
29   signed char t1;
30   struct S1 t2;
31   long t3 = x;
32   short t4 = h;
33   short *t5 = &l;
34   fn1(t2, w, 1, o);
35   if (u) {
36     l = q;
37     t1 = a < b ?: b;
38     z = c >= 2 || t1 << c;
39   }
40   *t5 = t4 &= t3;
41   fn3(y);
42 }
43 
fn4()44 fn4() {
45   t6 = t.f3;
46   fn5(k, t7);
47 }
48 
fn1()49 struct S1 fn1() {
50   f = 0;
51   for (; i;)
52     ;
53   t11 = 0;
54   t13 = *t10 = t14 || n;
55   t9 = t12;
56   for (; p.f4;)
57     s = t16 <= fn6();
58   if (g)
59     v = 0;
60 }
61