xref: /aosp_15_r20/external/musl/src/setjmp/loongarch64/setjmp.S (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1.global __setjmp
2.global _setjmp
3.global setjmp
4.type __setjmp,@function
5.type _setjmp,@function
6.type setjmp,@function
7__setjmp:
8_setjmp:
9setjmp:
10	st.d    $ra, $a0, 0
11	st.d    $sp, $a0, 8
12	st.d    $r21,$a0, 16
13	st.d    $fp, $a0, 24
14	st.d    $s0, $a0, 32
15	st.d    $s1, $a0, 40
16	st.d    $s2, $a0, 48
17	st.d    $s3, $a0, 56
18	st.d    $s4, $a0, 64
19	st.d    $s5, $a0, 72
20	st.d    $s6, $a0, 80
21	st.d    $s7, $a0, 88
22	st.d    $s8, $a0, 96
23#ifndef __loongarch_soft_float
24	fst.d   $fs0, $a0, 104
25	fst.d   $fs1, $a0, 112
26	fst.d   $fs2, $a0, 120
27	fst.d   $fs3, $a0, 128
28	fst.d   $fs4, $a0, 136
29	fst.d   $fs5, $a0, 144
30	fst.d   $fs6, $a0, 152
31	fst.d   $fs7, $a0, 160
32#endif
33	move    $a0, $zero
34	jr      $ra
35