Commit | Line | Data |
---|---|---|
861fb55a DJ |
1 | .macro test_call,name |
2 | .set mips16 | |
3 | .text | |
4 | .ent test_\name | |
5 | test_\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 |