OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [newlib-1.10.0/] [newlib/] [libc/] [machine/] [hppa/] [setjmp.S] - Blame information for rev 1773

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1008 ivang
/* Copyright (c) 1995 Cygnus Support.
2
   All rights reserved.
3
 
4
   Redistribution and use in source and binary forms are permitted
5
   provided that the above copyright notice and this paragraph are
6
   duplicated in all such forms and that any documentation,
7
   advertising materials, and other materials related to such
8
   distribution and use acknowledge that the software was developed
9
   at Cygnus Support, Inc.  Cygnus Support, Inc. may not be used to
10
   endorse or promote products derived from this software without
11
   specific prior written permission.
12
   THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
13
   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
14
   WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  */
15
 
16
/* Note I don't know an easy way to get the FP version into the
17
   traditional C library and the non-FP version into the soft-float
18
   library.  Maybe we'll have to have -msoft-float trigger something
19
   like -DSOFT_FLOAT if this issue ever arises.  */
20
 
21
#include "DEFS.h"
22
 
23
#if 0
24
        .SPACE $PRIVATE$
25
        .SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
26
        .SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
27
        .SPACE $TEXT$
28
        .SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
29
        .SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
30
        .IMPORT $global$,DATA
31
        .IMPORT $$dyncall,MILLICODE
32
; gcc_compiled.:
33
#endif
34
        TEXT_SEGMENT
35
 
36
        .align 4
37
        .EXPORT setjmp,ENTRY,PRIV_LEV=3,ARGW0=GR,RTNVAL=GR
38
setjmp
39
        .PROC
40
        .CALLINFO FRAME=64,NO_CALLS,SAVE_SP,ENTRY_GR=3
41
        .ENTRY
42
        stwm  %r30,4(%r26)
43
        stwm  %r2,4(%r26)
44
        stwm  %r3,4(%r26)
45
        stwm  %r4,4(%r26)
46
        stwm  %r5,4(%r26)
47
        stwm  %r6,4(%r26)
48
        stwm  %r7,4(%r26)
49
        stwm  %r8,4(%r26)
50
        stwm  %r9,4(%r26)
51
        stwm  %r10,4(%r26)
52
        stwm  %r11,4(%r26)
53
        stwm  %r12,4(%r26)
54
        stwm  %r13,4(%r26)
55
        stwm  %r14,4(%r26)
56
        stwm  %r15,4(%r26)
57
        stwm  %r16,4(%r26)
58
        stwm  %r17,4(%r26)
59
        stwm  %r18,4(%r26)
60
        stwm  %r27,4(%r26)
61
#ifdef FP
62
        ; jmp_buf may only have a 4 byte alignment, so handle FP stores
63
        ; very carefully.
64
        fstds %fr12,-16(%r30)
65
        ldw -16(%r30),%r28
66
        stwm  %r28,4(%r26)
67
        ldw -12(%r30),%r28
68
        stwm  %r28,4(%r26)
69
        fstds %fr13,-16(%r30)
70
        ldw -16(%r30),%r28
71
        stwm  %r28,4(%r26)
72
        ldw -12(%r30),%r28
73
        stwm  %r28,4(%r26)
74
        fstds %fr14,-16(%r30)
75
        ldw -16(%r30),%r28
76
        stwm  %r28,4(%r26)
77
        ldw -12(%r30),%r28
78
        stwm  %r28,4(%r26)
79
        fstds %fr15,-16(%r30)
80
        ldw -16(%r30),%r28
81
        stwm  %r28,4(%r26)
82
        ldw -12(%r30),%r28
83
        stwm  %r28,4(%r26)
84
#endif
85
 
86
        bv 0(%r2)
87
        copy %r0,%r28
88
        .EXIT
89
        .PROCEND
90
        .align 4
91
        .EXPORT longjmp,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,RTNVAL=GR
92
longjmp
93
        .PROC
94
        .CALLINFO FRAME=64,NO_CALLS,SAVE_SP,ENTRY_GR=3
95
        .ENTRY
96
        ldwm 4(%r26),%r30
97
        ldwm 4(%r26),%r2
98
        ldwm 4(%r26),%r3
99
        ldwm 4(%r26),%r4
100
        ldwm 4(%r26),%r5
101
        ldwm 4(%r26),%r6
102
        ldwm 4(%r26),%r7
103
        ldwm 4(%r26),%r8
104
        ldwm 4(%r26),%r9
105
        ldwm 4(%r26),%r10
106
        ldwm 4(%r26),%r11
107
        ldwm 4(%r26),%r12
108
        ldwm 4(%r26),%r13
109
        ldwm 4(%r26),%r14
110
        ldwm 4(%r26),%r15
111
        ldwm 4(%r26),%r16
112
        ldwm 4(%r26),%r17
113
        ldwm 4(%r26),%r18
114
        ldwm 4(%r26),%r27
115
#ifdef FP
116
        ldwm 4(%r26),%r28
117
        stw %r28,-16(%r30)
118
        ldwm 4(%r26),%r28
119
        stw %r28,-12(%r30)
120
        fldds -16(%r30),%fr12
121
        ldwm 4(%r26),%r28
122
        stw %r28,-16(%r30)
123
        ldwm 4(%r26),%r28
124
        stw %r28,-12(%r30)
125
        fldds -16(%r30),%fr13
126
        ldwm 4(%r26),%r28
127
        stw %r28,-16(%r30)
128
        ldwm 4(%r26),%r28
129
        stw %r28,-12(%r30)
130
        fldds -16(%r30),%fr14
131
        ldwm 4(%r26),%r28
132
        stw %r28,-16(%r30)
133
        ldwm 4(%r26),%r28
134
        stw %r28,-12(%r30)
135
        fldds -16(%r30),%fr15
136
#endif
137
        comclr,<> %r0,%r25,%r0
138
        ldi 1,%r25
139
        bv 0(%r2)
140
        copy %r25,%r28
141
        .EXIT
142
        .PROCEND

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.