/* | |
* 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 |