2018-05-17 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / pr59625.c
blob8e1a7794bc487783c7a5339d39305a250de36753
1 /* PR target/59625 */
2 /* { dg-do compile } */
3 /* { dg-options "-O2 -mtune=atom" } */
5 int
6 foo (void)
8 asm goto ("" : : : : lab);
9 asm goto ("" : : : : lab);
10 asm goto ("" : : : : lab);
11 asm goto ("" : : : : lab);
12 asm goto ("" : : : : lab);
13 asm goto ("" : : : : lab);
14 asm goto ("" : : : : lab);
15 asm goto ("" : : : : lab);
16 asm goto ("" : : : : lab);
17 asm goto ("" : : : : lab);
18 asm goto ("" : : : : lab);
19 asm goto ("" : : : : lab);
20 asm goto ("" : : : : lab);
21 asm goto ("" : : : : lab);
22 asm goto ("" : : : : lab);
23 asm goto ("" : : : : lab);
24 asm goto ("" : : : : lab);
25 asm goto ("" : : : : lab);
26 asm goto ("" : : : : lab);
27 asm goto ("" : : : : lab);
28 return 0;
29 lab:
30 return 1;
33 /* Verify we don't consider asm goto as a jump for four jumps limit
34 optimization. asm goto doesn't have to contain a jump at all,
35 the branching to labels can happen through different means. */
36 /* { dg-final { scan-assembler-not "(p2align\[^\n\r\]*\[\n\r]*\[^\n\r\]*){8}p2align" } } */