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