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