1 /* Functional tests for the function hotpatching feature.  */
2 
3 /* { dg-do compile } */
4 /* { dg-options "-mzarch" } */
5 /* { dg-skip-if "" { *-*-* } { "*" } { "-O*" } } */
6 
7 #include <stdio.h>
8 
9 __attribute__ ((hotpatch(0,2)))
hp1(void)10 void hp1(void)
11 {
12   printf("hello, world!\n");
13 }
14 
15 /* Check number of occurences of certain instructions.  */
16 /* { dg-final { scan-assembler-not "pre-label NOPs" } } */
17 /* { dg-final { scan-assembler "^\[^.\].*:\n.*post-label.*(2 halfwords).*\n\(\(.L.*:\n\)\|\(\[\[:space:\]\]*.cfi_.*\n\)\)*\[\[:space:\]\]*nop\t0" } } */
18 /* { dg-final { scan-assembler-not "nopr\t%r0" } } */
19 /* { dg-final { scan-assembler-times "nop\t0" 1 } } */
20 /* { dg-final { scan-assembler-not "brcl\t0, 0" } } */
21 /* { dg-final { scan-assembler-not "alignment for hotpatch" } } */
22