1 /* { dg-options "(-mmicromips)" } */
2 /* { dg-do assemble } */
3 
4 register unsigned int global asm ("$16");
5 
6 extern void exit (int) __attribute__((noreturn));
7 
8 MICROMIPS void
test_sb(unsigned char * ptr,void (* f)(void))9 test_sb (unsigned char *ptr, void (*f) (void))
10 {
11   ptr[0] = global;
12   f ();
13   exit (0);
14 }
15 
16 MICROMIPS void
test_sh(unsigned short * ptr,void (* f)(void))17 test_sh (unsigned short *ptr, void (*f) (void))
18 {
19   ptr[0] = global;
20   f ();
21   exit (0);
22 }
23 
24 MICROMIPS void
test_sw(unsigned int * ptr,void (* f)(void))25 test_sw (unsigned int *ptr, void (*f) (void))
26 {
27   ptr[0] = global;
28   f ();
29   exit (0);
30 }
31