2006-01-07 Carlos O'Donell <carlos@systemhalted.org>
[glibc-ports.git] / sysdeps / hppa / __longjmp.S
blobdee4d9f7b5318bb9f11e7232509f20a7586af850
1 /* longjmp for PA-RISC.
2    Copyright (C) 1997, 1998 Free Software Foundation, Inc.
3    This file is part of the GNU C Library.
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.
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.
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.  */
20 #include <sysdep.h>
21 #define _SETJMP_H
22 #define _ASM
23 #include <bits/setjmp.h>
25 /* __longjmp(jmpbuf, val) */
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
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
71         bv,n    %r0(%r2)
72         .procend