xref: /aosp_15_r20/external/musl/src/signal/loongarch64/sigsetjmp.s (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1*c9945492SAndroid Build Coastguard Worker.global sigsetjmp
2*c9945492SAndroid Build Coastguard Worker.global __sigsetjmp
3*c9945492SAndroid Build Coastguard Worker.type sigsetjmp,@function
4*c9945492SAndroid Build Coastguard Worker.type __sigsetjmp,@function
5*c9945492SAndroid Build Coastguard Workersigsetjmp:
6*c9945492SAndroid Build Coastguard Worker__sigsetjmp:
7*c9945492SAndroid Build Coastguard Worker	beq     $a1, $zero, 1f
8*c9945492SAndroid Build Coastguard Worker	st.d    $ra, $a0, 184
9*c9945492SAndroid Build Coastguard Worker	st.d    $s0, $a0, 200  #184+8+8
10*c9945492SAndroid Build Coastguard Worker	move    $s0, $a0
11*c9945492SAndroid Build Coastguard Worker
12*c9945492SAndroid Build Coastguard Worker	la.global  $t0, setjmp
13*c9945492SAndroid Build Coastguard Worker	jirl       $ra, $t0, 0
14*c9945492SAndroid Build Coastguard Worker
15*c9945492SAndroid Build Coastguard Worker	move    $a1, $a0        # Return from 'setjmp' or 'longjmp'
16*c9945492SAndroid Build Coastguard Worker	move    $a0, $s0
17*c9945492SAndroid Build Coastguard Worker	ld.d    $ra, $a0, 184
18*c9945492SAndroid Build Coastguard Worker	ld.d    $s0, $a0, 200 #184+8+8
19*c9945492SAndroid Build Coastguard Worker
20*c9945492SAndroid Build Coastguard Worker.hidden __sigsetjmp_tail
21*c9945492SAndroid Build Coastguard Worker	la.global  $t0, __sigsetjmp_tail
22*c9945492SAndroid Build Coastguard Worker	jr         $t0
23*c9945492SAndroid Build Coastguard Worker1:
24*c9945492SAndroid Build Coastguard Worker	la.global  $t0, setjmp
25*c9945492SAndroid Build Coastguard Worker	jr         $t0
26