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
9 test_sb (unsigned char *ptr, void (*f) (void))
10 {
11 ptr[0] = global;
12 f ();
13 exit (0);
14 }
15
16 MICROMIPS 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
25 test_sw (unsigned int *ptr, void (*f) (void))
26 {
27 ptr[0] = global;
28 f ();
29 exit (0);
30 }