xref: /drstd/dlibc/src/unix/header/setjmp/impl/sh/setjmp.S (revision 9670759b785600bf6315e4173e46a602f16add7a)
1.global ___setjmp
2.hidden ___setjmp
3.global __setjmp
4.global _setjmp
5.global setjmp
6.type   __setjmp, @function
7.type   _setjmp,  @function
8.type   setjmp,   @function
9___setjmp:
10__setjmp:
11_setjmp:
12setjmp:
13#if __SH_FPU_ANY__ || __SH4__
14	add   #52, r4
15	fmov.s fr15, @-r4
16	fmov.s fr14, @-r4
17	fmov.s fr13, @-r4
18	fmov.s fr12, @-r4
19#else
20	add   #36, r4
21#endif
22	sts.l  pr,   @-r4
23	mov.l  r15,  @-r4
24	mov.l  r14,  @-r4
25	mov.l  r13,  @-r4
26	mov.l  r12,  @-r4
27	mov.l  r11,  @-r4
28	mov.l  r10,  @-r4
29	mov.l  r9,   @-r4
30	mov.l  r8,   @-r4
31	rts
32	 mov  #0, r0
33