1 /* { dg-do compile } */
2 /* { dg-options "-O2 -mno-indirect-branch-register -mfunction-return=keep " } */
3 /* { dg-additional-options "-fno-pic" { target { ! *-*-darwin* } } } */
13 __attribute__ ((indirect_branch("thunk-extern")))
40 /* { dg-final { scan-assembler "mov(?:l|q)\[ \t\]*\.L\[0-9\]+\\(,%" { target *-*-linux* } } } */
41 /* { dg-final { scan-assembler {leaq[ \t]*L[0-9]+\(%rip\)} { target { lp64 && *-*-darwin* } } } } */
42 /* { dg-final { scan-assembler {addl[ \t]*L[0-9]+-L[0-9]+\$pb} { target { ia32 && *-*-darwin* } } } } */
43 /* { dg-final { scan-assembler "jmp\[ \t\]*_?__x86_indirect_thunk(_nt|)_(r|e)ax" } } */
44 /* { dg-final { scan-assembler-not {\t(lfence|pause)} } } */
45 /* { dg-final { scan-assembler-not {jmp[ \t]*\.?LIND} } } */
46 /* { dg-final { scan-assembler-not {call[ \t]*\.?LIND} } } */