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