PR inline-asm/84742
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / sibcall-6.c
blob7358a8a63ec86b90920cd5b7f1a4e1cc01ffbef0
1 /* { dg-do compile { target ia32 } } */
2 /* { dg-require-effective-target nonpic } */
3 /* { dg-options "-O2" } */
5 typedef void *ira_loop_tree_node_t;
7 extern int end (int);
8 extern int doo (int);
10 void
11 ira_traverse_loop_tree (int bb_p, ira_loop_tree_node_t loop_node,
12 void (*preorder_func) (ira_loop_tree_node_t),
13 void (*postorder_func) (ira_loop_tree_node_t))
15 int l, r = 0x1, h = 0, j = 0;
17 if (preorder_func)
18 (*preorder_func) (loop_node);
20 if (bb_p)
22 for (l = 0; l < end (l); l++)
24 r += doo (l);
25 h += (l + 1) * 3;
26 h %= (l + 1);
27 r -= doo (h);
28 j += (l + 1) * 7;
29 j %= (l + 1);
30 r += doo (j);
34 if (postorder_func)
35 (*postorder_func) (loop_node);
37 /* { dg-final { scan-assembler "jmp\[ \t\]*.%eax" } } */