add loongarch64 port
[musl.git] / src / signal / loongarch64 / sigsetjmp.s
blob9c0e3ae2d590c52c83b5fcde686cf6a622d31b8c
1 .global sigsetjmp
2 .global __sigsetjmp
3 .type sigsetjmp,@function
4 .type __sigsetjmp,@function
5 sigsetjmp:
6 __sigsetjmp:
7 beq $a1, $zero, 1f
8 st.d $ra, $a0, 184
9 st.d $s0, $a0, 200 #184+8+8
10 move $s0, $a0
12 la.global $t0, setjmp
13 jirl $ra, $t0, 0
15 move $a1, $a0 # Return from 'setjmp' or 'longjmp'
16 move $a0, $s0
17 ld.d $ra, $a0, 184
18 ld.d $s0, $a0, 200 #184+8+8
20 .hidden __sigsetjmp_tail
21 la.global $t0, __sigsetjmp_tail
22 jr $t0
24 la.global $t0, setjmp
25 jr $t0