summaryrefslogtreecommitdiff
path: root/src/setjmp/sh/longjmp.s
blob: e9aa4e500c236e6ba3b01f618297b6143fa5ff44 (plain) (blame)
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
.global _longjmp
.global longjmp
.type   _longjmp, @function
.type   longjmp,  @function
_longjmp:
longjmp:
	mov.l  @r4+, r8
	mov.l  @r4+, r9
	mov.l  @r4+, r10
	mov.l  @r4+, r11
	mov.l  @r4+, r12
	mov.l  @r4+, r13
	mov.l  @r4+, r14
	mov.l  @r4+, r15
	lds.l  @r4+, pr
	fmov.s @r4+, fr12
	fmov.s @r4+, fr13
	fmov.s @r4+, fr14
	fmov.s @r4+, fr15

	tst  r5, r5
	movt r0
	add  r5, r0

	rts
	 nop