1 /* { dg-do assemble } */
2 /* { dg-options "-Os -save-temps -mthumb" } */
3 /* { dg-require-effective-target arm_thumb2_ok } */
4 
5 extern int bar ();
6 extern void bar2 (int);
7 
8 int
foo4()9 foo4 ()
10 {
11   int result = 0;
12   int f = -1;
13   f = bar ();
14   if (f < 0)
15     {
16       result = 1;
17       goto bail;
18     }
19   bar ();
20  bail:
21   bar2 (f);
22   return result;
23 }
24 
25 /* { dg-final { scan-assembler-times "sub" 1 } } */
26 /* { dg-final { scan-assembler-times "cmp" 0 } } */
27 /* { dg-final { object-size text <= 30 } } */
28