OpenCores
URL https://opencores.org/ocsvn/hf-risc/hf-risc/trunk

Subversion Repositories hf-risc

[/] [hf-risc/] [trunk/] [tools/] [riscv-gnu-toolchain-master/] [gcc/] [libgcc/] [config/] [riscv/] [save-restore.S] - Blame information for rev 13

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 13 serginhofr
  .text
2
 
3
  .globl __riscv_save_12
4
  .globl __riscv_save_11
5
  .globl __riscv_save_10
6
  .globl __riscv_save_9
7
  .globl __riscv_save_8
8
  .globl __riscv_save_7
9
  .globl __riscv_save_6
10
  .globl __riscv_save_5
11
  .globl __riscv_save_4
12
  .globl __riscv_save_3
13
  .globl __riscv_save_2
14
  .globl __riscv_save_1
15
  .globl __riscv_save_0
16
 
17
  .globl __riscv_restore_12
18
  .globl __riscv_restore_11
19
  .globl __riscv_restore_10
20
  .globl __riscv_restore_9
21
  .globl __riscv_restore_8
22
  .globl __riscv_restore_7
23
  .globl __riscv_restore_6
24
  .globl __riscv_restore_5
25
  .globl __riscv_restore_4
26
  .globl __riscv_restore_3
27
  .globl __riscv_restore_2
28
  .globl __riscv_restore_1
29
  .globl __riscv_restore_0
30
 
31
#ifdef __riscv64
32
 
33
__riscv_save_12:
34
  addi sp, sp, -112
35
  li t1, 0
36
  sd s11, 8(sp)
37
  j .Ls10
38
 
39
__riscv_save_11:
40
__riscv_save_10:
41
  addi sp, sp, -112
42
  li t1, -16
43
.Ls10:
44
  sd s10, 16(sp)
45
  sd s9, 24(sp)
46
  j .Ls8
47
 
48
__riscv_save_9:
49
__riscv_save_8:
50
  addi sp, sp, -112
51
  li t1, -32
52
.Ls8:
53
  sd s8, 32(sp)
54
  sd s7, 40(sp)
55
  j .Ls6
56
 
57
__riscv_save_7:
58
__riscv_save_6:
59
  addi sp, sp, -112
60
  li t1, -48
61
.Ls6:
62
  sd s6, 48(sp)
63
  sd s5, 56(sp)
64
  j .Ls4
65
 
66
__riscv_save_5:
67
__riscv_save_4:
68
  addi sp, sp, -112
69
  li t1, -64
70
.Ls4:
71
  sd s4, 64(sp)
72
  sd s3, 72(sp)
73
  j .Ls2
74
 
75
__riscv_save_3:
76
__riscv_save_2:
77
  addi sp, sp, -112
78
  li t1, -80
79
.Ls2:
80
  sd s2, 80(sp)
81
  sd s1, 88(sp)
82
  sd s0, 96(sp)
83
  sd ra, 104(sp)
84
  sub sp, sp, t1
85
  jr t0
86
 
87
__riscv_save_1:
88
__riscv_save_0:
89
  addi sp, sp, -16
90
  sd s0, 0(sp)
91
  sd ra, 8(sp)
92
  jr t0
93
 
94
__riscv_restore_12:
95
  ld s11, 8(sp)
96
  addi sp, sp, 16
97
 
98
__riscv_restore_11:
99
__riscv_restore_10:
100
  ld s10, 0(sp)
101
  ld s9, 8(sp)
102
  addi sp, sp, 16
103
 
104
__riscv_restore_9:
105
__riscv_restore_8:
106
  ld s8, 0(sp)
107
  ld s7, 8(sp)
108
  addi sp, sp, 16
109
 
110
__riscv_restore_7:
111
__riscv_restore_6:
112
  ld s6, 0(sp)
113
  ld s5, 8(sp)
114
  addi sp, sp, 16
115
 
116
__riscv_restore_5:
117
__riscv_restore_4:
118
  ld s4, 0(sp)
119
  ld s3, 8(sp)
120
  addi sp, sp, 16
121
 
122
__riscv_restore_3:
123
__riscv_restore_2:
124
  ld s2, 0(sp)
125
  ld s1, 8(sp)
126
  addi sp, sp, 16
127
 
128
__riscv_restore_1:
129
__riscv_restore_0:
130
  ld s0, 0(sp)
131
  ld ra, 8(sp)
132
  addi sp, sp, 16
133
  ret
134
 
135
#else
136
 
137
__riscv_save_12:
138
  addi sp, sp, -64
139
  li t1, 0
140
  sw s11, 12(sp)
141
  j .Ls10
142
 
143
__riscv_save_11:
144
__riscv_save_10:
145
__riscv_save_9:
146
__riscv_save_8:
147
  addi sp, sp, -64
148
  li t1, -16
149
.Ls10:
150
  sw s10, 16(sp)
151
  sw s9, 20(sp)
152
  sw s8, 24(sp)
153
  sw s7, 28(sp)
154
  j .Ls6
155
 
156
__riscv_save_7:
157
__riscv_save_6:
158
__riscv_save_5:
159
__riscv_save_4:
160
  addi sp, sp, -64
161
  li t1, -32
162
.Ls6:
163
  sw s6, 32(sp)
164
  sw s5, 36(sp)
165
  sw s4, 40(sp)
166
  sw s3, 44(sp)
167
  sw s2, 48(sp)
168
  sw s1, 52(sp)
169
  sw s0, 56(sp)
170
  sw ra, 60(sp)
171
  sub sp, sp, t1
172
  jr t0
173
 
174
__riscv_save_3:
175
__riscv_save_2:
176
__riscv_save_1:
177
__riscv_save_0:
178
  addi sp, sp, -16
179
  sw s2, 0(sp)
180
  sw s1, 4(sp)
181
  sw s0, 8(sp)
182
  sw ra, 12(sp)
183
  jr t0
184
 
185
__riscv_restore_12:
186
  lw s11, 12(sp)
187
  addi sp, sp, 16
188
 
189
__riscv_restore_11:
190
__riscv_restore_10:
191
__riscv_restore_9:
192
__riscv_restore_8:
193
  lw s10, 0(sp)
194
  lw s9, 4(sp)
195
  lw s8, 8(sp)
196
  lw s7, 12(sp)
197
  addi sp, sp, 16
198
 
199
__riscv_restore_7:
200
__riscv_restore_6:
201
__riscv_restore_5:
202
__riscv_restore_4:
203
  lw s6, 0(sp)
204
  lw s5, 4(sp)
205
  lw s4, 8(sp)
206
  lw s3, 12(sp)
207
  addi sp, sp, 16
208
 
209
__riscv_restore_3:
210
__riscv_restore_2:
211
__riscv_restore_1:
212
__riscv_restore_0:
213
  lw s2, 0(sp)
214
  lw s1, 4(sp)
215
  lw s0, 8(sp)
216
  lw ra, 12(sp)
217
  addi sp, sp, 16
218
  ret
219
 
220
#endif

powered by: WebSVN 2.1.0

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