1	.macro	test_call,name
2	.set	mips16
3	.text
4	.ent	test_\name
5test_\name:
6	jal	\name
7	.end	test_\name
8	.endm
9
10	.macro	call_stub,name
11	.set	nomips16
12	.section .mips16.call.\name, "ax", @progbits
13	.ent	__call_\name
14__call_\name:
15	la	$25,\name
16	jr	$25
17	mtc1	$4,$f12
18	.end	__call_\name
19
20	test_call \name
21	.endm
22
23	.macro	call_fp_stub,name
24	.set	nomips16
25	.section .mips16.call.fp.\name, "ax", @progbits
26	.ent	__call_fp_\name
27__call_fp_\name:
28	move	$18,$31
29	la	$25,\name
30	jalr	$25
31	mtc1	$4,$f12
32	mfc1	$2,$f0
33	jr	$18
34	nop
35	.end	__call_fp_\name
36
37	test_call \name
38	.endm
39
40	.macro	lstub,name,mode
41	.set	\mode
42	.text
43	.ent	\name
44\name:
45	jr	$31
46	nop
47	.end	\name
48	.endm
49
50	.macro	hstub,name,mode
51	.globl	\name
52	.hidden	\name
53	lstub	\name, \mode
54	.endm
55
56	.macro	gstub,name,mode
57	.globl	\name
58	lstub	\name, \mode
59	.endm
60