]> git.ipfire.org Git - thirdparty/glibc.git/blob - sysdeps/hppa/__longjmp.S
(CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4.
[thirdparty/glibc.git] / sysdeps / hppa / __longjmp.S
1 /* longjmp for PA-RISC.
2 Copyright (C) 1997, 1998 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, write to the Free
17 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
18 02111-1307 USA. */
19
20 #include <sysdep.h>
21 #define _SETJMP_H
22 #define _ASM
23 #include <bits/setjmp.h>
24
25 /* __longjmp(jmpbuf, val) */
26
27 .text
28 .align 4
29 .globl __longjmp
30 .export __longjmp, code
31 .proc
32 .callinfo
33 __longjmp:
34 /* set return value */
35 copy %r25, %r28
36
37 ldw 0(%r26), %r3
38 ldw 8(%r26), %r4
39 ldw 12(%r26), %r5
40 ldw 16(%r26), %r6
41 ldw 20(%r26), %r7
42 ldw 24(%r26), %r8
43 ldw 28(%r26), %r9
44 ldw 32(%r26), %r10
45 ldw 36(%r26), %r11
46 ldw 40(%r26), %r12
47 ldw 44(%r26), %r13
48 ldw 48(%r26), %r14
49 ldw 52(%r26), %r15
50 ldw 56(%r26), %r16
51 ldw 60(%r26), %r17
52 ldw 64(%r26), %r18
53 ldw 68(%r26), %r19
54 ldw 72(%r26), %r27
55 ldw 76(%r26), %r30
56
57 ldw 80(%r26), %rp
58
59 ldo 88(%r26),%r20
60 fldds,ma 8(%r20), %fr12
61 fldds,ma 8(%r20), %fr13
62 fldds,ma 8(%r20), %fr14
63 fldds,ma 8(%r20), %fr15
64 fldds,ma 8(%r20), %fr16
65 fldds,ma 8(%r20), %fr17
66 fldds,ma 8(%r20), %fr18
67 fldds,ma 8(%r20), %fr19
68 fldds,ma 8(%r20), %fr20
69 fldds 0(%r20), %fr21
70
71 bv,n %r0(%r2)
72 .procend