blob: c8d766c94b866474b9394f853fe23ea2d2fea68c [file] [log] [blame]
/*
* parisc specific setjmp/longjmp routines
*
*/
.text
.align 4
.global setjmp
.export setjmp, code
.proc
.callinfo
setjmp:
stw %r3,0(%r26)
stw %r4,8(%r26)
stw %r5,12(%r26)
stw %r6,16(%r26)
stw %r7,20(%r26)
stw %r8,24(%r26)
stw %r9,28(%r26)
stw %r10,32(%r26)
stw %r11,36(%r26)
stw %r12,40(%r26)
stw %r13,44(%r26)
stw %r14,48(%r26)
stw %r15,52(%r26)
stw %r16,56(%r26)
stw %r17,60(%r26)
stw %r18,64(%r26)
stw %r19,68(%r26)
stw %r27,72(%r26)
stw %r30,76(%r26)
stw %rp,80(%r26)
ldo 88(%r26),%r19
fstd,ma %fr12,8(%r19)
fstd,ma %fr13,8(%r19)
fstd,ma %fr14,8(%r19)
fstd,ma %fr15,8(%r19)
fstd,ma %fr16,8(%r19)
fstd,ma %fr17,8(%r19)
fstd,ma %fr18,8(%r19)
fstd,ma %fr19,8(%r19)
fstd,ma %fr20,8(%r19)
fstd %fr21,0(%r19)
bv %r0(%rp)
copy %r0,%r28
.procend
.text
.align 4
.global longjmp
.export longjmp, code
.proc
.callinfo
longjmp:
ldw 0(%r26),%r3
ldw 8(%r26),%r4
ldw 12(%r26),%r5
ldw 16(%r26),%r6
ldw 20(%r26),%r7
ldw 24(%r26),%r8
ldw 28(%r26),%r9
ldw 32(%r26),%r10
ldw 36(%r26),%r11
ldw 40(%r26),%r12
ldw 44(%r26),%r13
ldw 48(%r26),%r14
ldw 52(%r26),%r15
ldw 56(%r26),%r16
ldw 60(%r26),%r17
ldw 64(%r26),%r18
ldw 68(%r26),%r19
ldw 72(%r26),%r27
ldw 76(%r26),%r30
ldw 80(%r26),%rp
ldo 88(%r26),%r20
fldd,ma 8(%r20),%fr12
fldd,ma 8(%r20),%fr13
fldd,ma 8(%r20),%fr14
fldd,ma 8(%r20),%fr15
fldd,ma 8(%r20),%fr16
fldd,ma 8(%r20),%fr17
fldd,ma 8(%r20),%fr18
fldd,ma 8(%r20),%fr19
fldd,ma 8(%r20),%fr20
fldd 0(%r20),%fr21
bv %r0(%rp)
copy %r25,%r28
.procend