1 /* Functional tests for the function hotpatching feature. */
2
3 /* { dg-do compile } */
4 /* { dg-options "-O3 -mzarch -mhotpatch=1,2" } */
5
hp1(void)6 __attribute__ ((noreturn)) void hp1(void)
7 {
8 __builtin_unreachable ();
9 }
10
11 /* Check number of occurences of certain instructions. */
12 /* { dg-final { scan-assembler "pre-label NOPs" } } */
13 /* { dg-final { scan-assembler "^\[^.\].*:\n.*post-label.*(2 halfwords).*\n\(\(.L.*:\n\)\|\(\[\[:space:\]\]*.cfi_.*\n\)\)*\[\[:space:\]\]*nop\t0" } } */
14 /* { dg-final { scan-assembler-times "nopr\t%r0" 1 } } */
15 /* { dg-final { scan-assembler-times "nop\t0" 1 } } */
16 /* { dg-final { scan-assembler-not "brcl\t0, 0" } } */
17 /* { dg-final { scan-assembler "alignment for hotpatch" } } */
18