1 /* { dg-do run } */
2 /* { dg-options "-O2" } */
3
4 typedef void (*fun) (void);
5
6 void __attribute__ ((noipa))
7 f (fun x1)
8 {
9 register fun x2 asm ("x16");
10 int arr[5000];
11 int *volatile ptr = arr;
12 asm ("mov %0, %1" : "=r" (x2) : "r" (x1));
13 x2 ();
14 }
15
16 void g (void) {}
17
18 int
19 main (void)
20 {
21 f (g);
22 }