1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
#ifdef __alpha__
#include <setjmp.h>
.text
.align 2
.global __longjmp
__longjmp:
mov $17, $0 /* a1 -> v0 */
ldq $9, (JB_S0*8) ($16) /* s0 */
ldq $10, (JB_S1*8) ($16) /* s1 */
ldq $11, (JB_S2*8) ($16) /* s2 */
ldq $12, (JB_S3*8) ($16) /* s3 */
ldq $13, (JB_S4*8) ($16) /* s4 */
ldq $14, (JB_S5*8) ($16) /* s5 */
ldq $26, (JB_PC*8) ($16) /* ra */
ldq $fp, (JB_FP*8) ($16) /* fp */
ldq $1, (JB_SP*8) ($16) /* sp */
ldt $f2, (JB_F2*8) ($16) /* f2 */
ldt $f3, (JB_F3*8) ($16) /* f3 */
ldt $f4, (JB_F4*8) ($16) /* f4 */
ldt $f5, (JB_F5*8) ($16) /* f5 */
ldt $f6, (JB_F6*8) ($16) /* f6 */
ldt $f7, (JB_F7*8) ($16) /* f7 */
ldt $f8, (JB_F8*8) ($16) /* f8 */
ldt $f9, (JB_F9*8) ($16) /* f9 */
cmoveq $0, 0x1, $0
mov $1, $sp
ret $31, ($26), 1
#endif
|