1 /* { dg-do run } */
2 /* { dg-options "-O2" } */
3 
4 typedef void (*fun) (void);
5 
6 void __attribute__ ((noipa))
f(fun x1)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 
g(void)16 void g (void) {}
17 
18 int
main(void)19 main (void)
20 {
21   f (g);
22 }
23