]>
Commit | Line | Data |
---|---|---|
46f9491e | 1 | /* 4 slots for argument spill area. 1 for cpreturn, 1 for stack. |
a098df27 | 2 | Return spill offset of 40 and 20. Aligned to 16 bytes for n32. */ |
46f9491e EC |
3 | |
4 | .section .init,"ax",@progbits | |
b137f9fc EC |
5 | #ifdef __mips16 |
6 | /* The mips16 uses $7 for a return address. We use that here too. */ | |
7 | lw $7,20($sp) | |
8 | addu $sp,$sp,32 | |
9 | ||
10 | j $7 | |
11 | #else | |
46f9491e EC |
12 | #ifdef __mips64 |
13 | ld $31,40($sp) | |
14 | daddu $sp,$sp,48 | |
15 | #else | |
16 | lw $31,20($sp) | |
17 | addu $sp,$sp,32 | |
282cb01b | 18 | #endif |
46f9491e | 19 | j $31 |
b137f9fc | 20 | |
282cb01b | 21 | #endif |
46f9491e EC |
22 | |
23 | .section .fini,"ax",@progbits | |
b137f9fc | 24 | #ifdef __mips16 |
282cb01b EC |
25 | /* The mips16 uses $7 for a return address. We use that here too. */ |
26 | lw $7,20($sp) | |
27 | addu $sp,$sp,32 | |
28 | ||
29 | j $7 | |
b137f9fc EC |
30 | #else |
31 | #ifdef __mips64 | |
32 | ld $31,40($sp) | |
33 | daddu $sp,$sp,48 | |
34 | #else | |
35 | lw $31,20($sp) | |
36 | addu $sp,$sp,32 | |
46f9491e EC |
37 | #endif |
38 | j $31 | |
282cb01b | 39 | #endif |