| /* PR target/59625 */ |
| /* { dg-do compile } */ |
| /* { dg-options "-O2 -mtune=atom" } */ |
| |
| int |
| foo (void) |
| { |
| asm goto ("" : : : : lab); |
| asm goto ("" : : : : lab); |
| asm goto ("" : : : : lab); |
| asm goto ("" : : : : lab); |
| asm goto ("" : : : : lab); |
| asm goto ("" : : : : lab); |
| asm goto ("" : : : : lab); |
| asm goto ("" : : : : lab); |
| asm goto ("" : : : : lab); |
| asm goto ("" : : : : lab); |
| asm goto ("" : : : : lab); |
| asm goto ("" : : : : lab); |
| asm goto ("" : : : : lab); |
| asm goto ("" : : : : lab); |
| asm goto ("" : : : : lab); |
| asm goto ("" : : : : lab); |
| asm goto ("" : : : : lab); |
| asm goto ("" : : : : lab); |
| asm goto ("" : : : : lab); |
| asm goto ("" : : : : lab); |
| return 0; |
| lab: |
| return 1; |
| } |
| |
| /* Verify we don't consider asm goto as a jump for four jumps limit |
| optimization. asm goto doesn't have to contain a jump at all, |
| the branching to labels can happen through different means. */ |
| /* { dg-final { scan-assembler-not "(p2align\[^\n\r\]*\[\n\r]*\[^\n\r\]*){8}p2align" } } */ |