unwind_registers.S revision 1.16 1 //===------------------------- unwind_registers.S -------------------------===//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is dual licensed under the MIT and the University of Illinois Open
6 // Source Licenses. See LICENSE.TXT for details.
7 //
8 //
9 // Abstracts accessing local vs remote address spaces.
10 //
11 //===----------------------------------------------------------------------===//
12 #include <machine/asm.h>
13
14 #ifdef __i386__
15 .hidden _ZN7_Unwind13Registers_x86C1Ev
16 ENTRY(_ZN7_Unwind13Registers_x86C1Ev)
17 pushl %eax
18 movl 8(%esp), %eax /* Load this */
19 /* Save all registers except EAX, EIP and ESP */
20 /* Skip ECX */
21 /* Skip EDX */
22 movl %ebx, 12(%eax)
23 movl %ebp, 20(%eax)
24 movl %esi, 24(%eax)
25 movl %edi, 28(%eax)
26
27 leal 8(%esp), %edx /* Compute ESP from the call site */
28 movl %edx, 16(%eax) /* ...and store it as ESP */
29 movl 4(%esp), %edx /* Load return address */
30 movl %edx, 32(%eax) /* ...and store it as EIP */
31 popl %edx /* Take old EAX from stack */
32 movl %edx, 0(%eax) /* ...and store it */ // XXX skip
33 ret
34
35 .hidden _ZNK7_Unwind13Registers_x866jumptoEv
36 ENTRY(_ZNK7_Unwind13Registers_x866jumptoEv)
37 movl 4(%esp), %eax /* Load this */
38 movl 16(%eax), %edx /* Load new stack pointer */
39 subl $4, %edx /* Reserve space on new stack for EIP */
40 movl 32(%eax), %ebx /* Load new EIP */
41 movl %ebx, 0(%edx) /* ...and save it on the new stack */
42 pushl %edx /* Save new stack pointer on old stack */
43 /* New stack is prepared, now restore all registers except ESP */
44 /* EAX is the index register and must be restored last */
45 movl 4(%eax), %ecx
46 movl 8(%eax), %edx
47 movl 12(%eax), %ebx
48 movl 20(%eax), %ebp
49 /* 16 is ESP */
50 movl 24(%eax), %esi
51 movl 28(%eax), %edi
52 movl 0(%eax), %eax
53 /* Now load new stack pointer pushed on the old stack earlier */
54 popl %esp
55 /* Return address is already on the new stack. */
56 ret
57 #endif
58
59 #ifdef __x86_64
60 .hidden _ZN7_Unwind16Registers_x86_64C1Ev
61 ENTRY(_ZN7_Unwind16Registers_x86_64C1Ev)
62 /* RDI == this */
63 /* Skip RAX */
64 /* Skip RDX */
65 /* Skip RCX */
66 movq %rbx, 24(%rdi)
67 /* Skip RSI */
68 /* Skip RDI */
69 movq %rbp, 48(%rdi)
70 leaq 8(%rsp), %rax
71 movq %rax, 56(%rdi)
72 /* Skip R8 */
73 /* Skip R9 */
74 /* Skip R10 */
75 /* Skip R11 */
76 movq %r12, 96(%rdi)
77 movq %r13, 104(%rdi)
78 movq %r14, 112(%rdi)
79 movq %r15, 120(%rdi)
80 movq (%rsp), %rax
81 movq %rax, 128(%rdi)
82 ret
83
84 .hidden _ZNK7_Unwind16Registers_x86_646jumptoEv
85 ENTRY(_ZNK7_Unwind16Registers_x86_646jumptoEv)
86 /* RDI == this */
87 movq 56(%rdi), %rax
88 subq $8, %rax /* Reserve space on new stack for RIP */
89 movq 128(%rdi), %rbx /* Load new RIP */
90 movq %rbx, 0(%rax) /* ...and save it on the new stack */
91 pushq %rax /* Save new stack pointer on old stack */
92 /* New stack is prepared, now restore all registers */
93 movq 0(%rdi), %rax
94 movq 8(%rdi), %rdx
95 movq 16(%rdi), %rcx
96 movq 24(%rdi), %rbx
97 movq 32(%rdi), %rsi
98 /* RDI restored later as it is still used as index register */
99 movq 48(%rdi), %rbp
100 /* RSP is restored later */
101 movq 64(%rdi), %r8
102 movq 72(%rdi), %r9
103 movq 80(%rdi), %r10
104 movq 88(%rdi), %r11
105 movq 96(%rdi), %r12
106 movq 104(%rdi), %r13
107 movq 112(%rdi), %r14
108 movq 120(%rdi), %r15
109 movq 40(%rdi), %rdi
110 /* Now load new stack pointer pushed on the old stack earlier */
111 popq %rsp
112 /* Return address is already on the new stack. */
113 ret
114 #endif
115
116 #ifdef __powerpc__
117 .hidden _ZN7_Unwind15Registers_ppc32C1Ev
118 ENTRY(_ZN7_Unwind15Registers_ppc32C1Ev)
119 /* TODO: skip non-callee-safe registers */
120 stw %r0, 0(%r3)
121 stw %r1, 4(%r3)
122 stw %r2, 8(%r3)
123 stw %r3, 12(%r3)
124 stw %r4, 16(%r3)
125 stw %r5, 20(%r3)
126 stw %r6, 24(%r3)
127 stw %r7, 28(%r3)
128 stw %r8, 32(%r3)
129 stw %r9, 36(%r3)
130 stw %r10, 40(%r3)
131 stw %r11, 44(%r3)
132 stw %r12, 48(%r3)
133 stw %r13, 52(%r3)
134 stw %r14, 56(%r3)
135 stw %r15, 60(%r3)
136 stw %r16, 64(%r3)
137 stw %r17, 68(%r3)
138 stw %r18, 72(%r3)
139 stw %r19, 76(%r3)
140 stw %r20, 80(%r3)
141 stw %r21, 84(%r3)
142 stw %r22, 88(%r3)
143 stw %r23, 92(%r3)
144 stw %r24, 96(%r3)
145 stw %r25,100(%r3)
146 stw %r26,104(%r3)
147 stw %r27,108(%r3)
148 stw %r28,112(%r3)
149 stw %r29,116(%r3)
150 stw %r30,120(%r3)
151 stw %r31,124(%r3)
152 mflr %r0
153 stw %r0, 136(%r3) /* SRR0 */
154 mfcr %r0
155 stw %r0, 132(%r3) /* CR */
156
157 stfd %f0, 144(%r3)
158 stfd %f1, 152(%r3)
159 stfd %f2, 160(%r3)
160 stfd %f3, 168(%r3)
161 stfd %f4, 176(%r3)
162 stfd %f5, 184(%r3)
163 stfd %f6, 192(%r3)
164 stfd %f7, 200(%r3)
165 stfd %f8, 208(%r3)
166 stfd %f9, 216(%r3)
167 stfd %f10, 224(%r3)
168 stfd %f11, 232(%r3)
169 stfd %f12, 240(%r3)
170 stfd %f13, 248(%r3)
171 stfd %f14, 256(%r3)
172 stfd %f15, 264(%r3)
173 stfd %f16, 272(%r3)
174 stfd %f17, 280(%r3)
175 stfd %f18, 288(%r3)
176 stfd %f19, 296(%r3)
177 stfd %f20, 304(%r3)
178 stfd %f21, 312(%r3)
179 stfd %f22, 320(%r3)
180 stfd %f23, 328(%r3)
181 stfd %f24, 336(%r3)
182 stfd %f25, 344(%r3)
183 stfd %f26, 352(%r3)
184 stfd %f27, 360(%r3)
185 stfd %f28, 368(%r3)
186 stfd %f29, 376(%r3)
187 stfd %f30, 384(%r3)
188 stfd %f31, 392(%r3)
189
190 /* LR is undefined */
191 blr
192
193 .hidden _ZNK7_Unwind15Registers_ppc326jumptoEv
194 ENTRY(_ZNK7_Unwind15Registers_ppc326jumptoEv)
195 lfd %f0, 144(%r3)
196 lfd %f1, 152(%r3)
197 lfd %f2, 160(%r3)
198 lfd %f3, 168(%r3)
199 lfd %f4, 176(%r3)
200 lfd %f5, 184(%r3)
201 lfd %f6, 192(%r3)
202 lfd %f7, 200(%r3)
203 lfd %f8, 208(%r3)
204 lfd %f9, 216(%r3)
205 lfd %f10, 224(%r3)
206 lfd %f11, 232(%r3)
207 lfd %f12, 240(%r3)
208 lfd %f13, 248(%r3)
209 lfd %f14, 256(%r3)
210 lfd %f15, 264(%r3)
211 lfd %f16, 272(%r3)
212 lfd %f17, 280(%r3)
213 lfd %f18, 288(%r3)
214 lfd %f19, 296(%r3)
215 lfd %f20, 304(%r3)
216 lfd %f21, 312(%r3)
217 lfd %f22, 320(%r3)
218 lfd %f23, 328(%r3)
219 lfd %f24, 336(%r3)
220 lfd %f25, 344(%r3)
221 lfd %f26, 352(%r3)
222 lfd %f27, 360(%r3)
223 lfd %f28, 368(%r3)
224 lfd %f29, 376(%r3)
225 lfd %f30, 384(%r3)
226 lfd %f31, 392(%r3)
227
228 lwz %r2, 8(%r3)
229 /* skip r3 for now */
230 lwz %r4, 16(%r3)
231 lwz %r5, 20(%r3)
232 lwz %r6, 24(%r3)
233 lwz %r7, 28(%r3)
234 lwz %r8, 32(%r3)
235 lwz %r9, 36(%r3)
236 lwz %r10, 40(%r3)
237 lwz %r11, 44(%r3)
238 lwz %r12, 48(%r3)
239 lwz %r13, 52(%r3)
240 lwz %r14, 56(%r3)
241 lwz %r15, 60(%r3)
242 lwz %r16, 64(%r3)
243 lwz %r17, 68(%r3)
244 lwz %r18, 72(%r3)
245 lwz %r19, 76(%r3)
246 lwz %r20, 80(%r3)
247 lwz %r21, 84(%r3)
248 lwz %r22, 88(%r3)
249 lwz %r23, 92(%r3)
250 lwz %r24, 96(%r3)
251 lwz %r25,100(%r3)
252 lwz %r26,104(%r3)
253 lwz %r27,108(%r3)
254 lwz %r28,112(%r3)
255 lwz %r29,116(%r3)
256 lwz %r30,120(%r3)
257 lwz %r31,124(%r3)
258
259 lwz %r0, 128(%r3) /* LR */
260 mtlr %r0
261 lwz %r0, 132(%r3) /* CR */
262 mtcr %r0
263 lwz %r0, 136(%r3) /* SRR0 */
264 mtctr %r0
265
266 lwz %r0, 0(%r3) /* do r0 now */
267 lwz %r1, 4(%r3) /* do sp now */
268 lwz %r3, 12(%r3) /* do r3 last */
269 bctr
270 #endif
271
272 #ifdef __aarch64__
273 .hidden _ZN7_Unwind17Registers_aarch64C1Ev
274 ENTRY(_ZN7_Unwind17Registers_aarch64C1Ev)
275 stp x0, x1, [x0]
276 add x0, x0, #16
277 stp x2, x3, [x0], #16
278 stp x4, x5, [x0], #16
279 stp x6, x7, [x0], #16
280 stp x8, x9, [x0], #16
281 stp x10, x11, [x0], #16
282 stp x12, x13, [x0], #16
283 stp x14, x15, [x0], #16
284 stp x16, x17, [x0], #16
285 stp x18, x19, [x0], #16
286 stp x20, x22, [x0], #16
287 stp x22, x24, [x0], #16
288 stp x24, x26, [x0], #16
289 stp x26, x27, [x0], #16
290 stp x28, x29, [x0], #16
291 mov x1, sp
292 stp x30, x1, [x0], #16
293
294 add x0, x0, #8
295 str xzr, [x0], #8
296
297 stp q0, q1, [x0], #64
298 stp q2, q3, [x0], #64
299 stp q4, q5, [x0], #64
300 stp q6, q7, [x0], #64
301 stp q8, q9, [x0], #64
302 stp q10, q11, [x0], #64
303 stp q12, q13, [x0], #64
304 stp q14, q15, [x0], #64
305 stp q16, q17, [x0], #64
306 stp q18, q19, [x0], #64
307 stp q20, q21, [x0], #64
308 stp q22, q23, [x0], #64
309 stp q24, q25, [x0], #64
310 stp q26, q27, [x0], #64
311 stp q28, q29, [x0], #64
312 stp q30, q31, [x0], #64
313
314 ret
315 END(_ZN7_Unwind17Registers_aarch64C1Ev)
316
317 .hidden _ZNK7_Unwind17Registers_aarch646jumptoEv
318 ENTRY(_ZNK7_Unwind17Registers_aarch646jumptoEv)
319 ldp x2, x3, [x0, #16]
320 ldp x4, x6, [x0, #32]
321 ldp x6, x7, [x0, #48]
322 ldp x8, x9, [x0, #64]
323 ldp x10, x11, [x0, #80]
324 ldp x12, x13, [x0, #96]
325 ldp x14, x16, [x0, #112]
326 ldp x16, x17, [x0, #128]
327 ldp x18, x19, [x0, #144]
328 ldp x20, x21, [x0, #160]
329 ldp x22, x23, [x0, #176]
330 ldp x24, x26, [x0, #192]
331 ldp x26, x27, [x0, #208]
332 ldp x28, x29, [x0, #224]
333 ldp x30, x1, [x0, #240]
334 mov sp, x1
335
336 ldp x0, x1, [x0, #0]
337 ret
338 END(_ZNK7_Unwind17Registers_aarch646jumptoEv)
339 #endif /* __aarch64__ */
340
341 #if defined(__arm__)
342 .fpu vfpv3
343 .hidden _ZN7_Unwind15Registers_arm32C1Ev
344 ENTRY(_ZN7_Unwind15Registers_arm32C1Ev)
345 stmia r0, {r0-r14}
346 str lr, [r0, #60] /* PC */
347 mrs r1, cpsr
348 str r1, [r0, #64] /* CPSR */
349 mov r1, #0
350 str r1, [r0, #68]
351 RET
352 END(_ZN7_Unwind15Registers_arm32C1Ev)
353
354 .hidden _ZN7_Unwind15Registers_arm328lazyVFP1Ev
355 ENTRY(_ZN7_Unwind15Registers_arm328lazyVFP1Ev)
356 add r0, #72
357 vstmia r0, {d0-d15}
358 RET
359 END(_ZN7_Unwind15Registers_arm328lazyVFP1Ev)
360
361 .hidden _ZN7_Unwind15Registers_arm328lazyVFP3Ev
362 ENTRY(_ZN7_Unwind15Registers_arm328lazyVFP3Ev)
363 add r0, #200
364 vstmia r0, {d16-d31}
365 RET
366 END(_ZN7_Unwind15Registers_arm328lazyVFP3Ev)
367
368 .hidden _ZNK7_Unwind15Registers_arm326jumptoEv
369 ENTRY(_ZNK7_Unwind15Registers_arm326jumptoEv)
370 ldrb r1, [r0, #68]
371 tst r1, #1
372 beq .Lnovfp1
373 add r2, r0, #72
374 vldmia r2, {d0-d15}
375 .Lnovfp1:
376 tst r1, #2
377 beq .Lnovfp3
378 add r2, r0, #200
379 vldmia r2, {d16-d31}
380 .Lnovfp3:
381 ldr r1, [r0, #64]
382 msr cpsr_sxc, r1
383 ldmia r0, {r0-r15}
384 END(_ZNK7_Unwind15Registers_arm326jumptoEv)
385 #endif
386
387 #if defined(__vax__)
388 .hidden _ZN7_Unwind13Registers_vaxC1Ev
389 ENTRY(_ZN7_Unwind13Registers_vaxC1Ev, R0)
390 subl2 $4, %sp
391 movl 4(%ap), %r0
392 movl %r1, 4(%r0)
393 movl %r2, 8(%r0)
394 movl %r3, 12(%r0)
395 movl %r4, 16(%r0)
396 movl %r5, 20(%r0)
397 movl %r6, 24(%r0)
398 movl %r7, 28(%r0)
399 movl %r8, 32(%r0)
400 movl %r9, 36(%r0)
401 movl %r10, 40(%r0)
402 movl %r11, 44(%r0)
403 movl 8(%fp), 48(%r0)
404 movl 12(%fp), 52(%r0)
405 addl3 $36, %sp, 56(%r0)
406 /* Return PC */
407 movl 16(%fp), 60(%r0)
408 /* Load saved value of r0 as r1 */
409 movl 20(%fp), 0(%r0)
410 /* Saved PSW */
411 movl 4(%fp), 64(%r0)
412 ret
413 END(_ZN7_Unwind13Registers_vaxC1Ev)
414
415 .hidden _ZNK7_Unwind13Registers_vax6jumptoEv
416 ENTRY(_ZNK7_Unwind13Registers_vax6jumptoEv, 0)
417 subl2 $4, %sp
418 movl 4(%ap), %r0
419 movl 4(%r0), %r1
420 movl 8(%r0), %r2
421 movl 12(%r0), %r3
422 movl 16(%r0), %r4
423 movl 20(%r0), %r5
424 movl 24(%r0), %r6
425 movl 28(%r0), %r7
426 movl 32(%r0), %r8
427 movl 36(%r0), %r9
428 movl 40(%r0), %r10
429 movl 44(%r0), %r11
430 movl 48(%r0), %r12
431 movl 52(%r0), %r13
432 movl 56(%r0), %r14
433 movl 60(%r0), -(%sp)
434 movl 0(%r0), %r0
435 /* XXX restore PSW */
436 rsb
437 END(_ZNK7_Unwind13Registers_vax6jumptoEv)
438 #endif
439
440 #if defined(__m68k__)
441 ENTRY(_ZN7_Unwind14Registers_M68KC1Ev)
442 move.l 4(%sp), %a0
443 movem.l %d0-%d7/%a0-%a7, (%a0)
444 fmovem %fp0-%fp7, 72(%a0)
445 move.l 0(%sp), %a1
446 move.l %a1, 64(%a0)
447 addq.l #4, 60(%a0)
448 rts
449 END(_ZN7_Unwind14Registers_M68KC1Ev)
450
451 ENTRY(_ZNK7_Unwind14Registers_M68K6jumptoEv)
452 move.l 4(%sp), %a0
453 subq.l #4, 60(%a0)
454 move.l 64(%a0), %a1
455 move.l 60(%a0), %a2
456 move.l %a1, (%a2)
457 fmovem 72(%a0), %fp0-%fp7
458 movem.l (%a0), %d0-%d7/%a0-%a7
459 rts
460 END(_ZNK7_Unwind14Registers_M68K6jumptoEv)
461 #endif
462
463 #if defined(__sh3__)
464 .hidden _ZN7_Unwind13Registers_SH3C1Ev
465 ENTRY(_ZN7_Unwind13Registers_SH3C1Ev)
466 add #64, r4
467 mov.l r8, @-r15
468 sts.l pr, @-r15
469 mov.l @r15+, r8
470 mov.l r8, @r4
471 mov.l @r15+, r8
472
473 mov.l r15, @-r4
474 mov.l r14, @-r4
475 mov.l r13, @-r4
476 mov.l r12, @-r4
477 mov.l r11, @-r4
478 mov.l r10, @-r4
479 mov.l r9, @-r4
480 mov.l r8, @-r4
481 mov.l r7, @-r4
482 mov.l r6, @-r4
483 mov.l r5, @-r4
484 add #-4, r4
485 mov.l r3, @-r4
486 mov.l r2, @-r4
487 mov.l r1, @-r4
488 mov.l r0, @-r4
489 rts
490 mov.l r4, @(16,r4)
491 SET_ENTRY_SIZE(_ZN7_Unwind13Registers_SH3C1Ev)
492
493 .hidden _ZNK7_Unwind13Registers_SH36jumptoEv
494 ENTRY(_ZNK7_Unwind13Registers_SH36jumptoEv)
495 mov r4, r0
496 add #4, r0
497 mov.l @r0+, r1
498 mov.l @r0+, r2
499 mov.l @r0+, r3
500 mov.l @r0+, r4
501 mov.l @r0+, r5
502 mov.l @r0+, r6
503 mov.l @r0+, r7
504 mov.l @r0+, r8
505 mov.l @r0+, r9
506 mov.l @r0+, r10
507 mov.l @r0+, r11
508 mov.l @r0+, r12
509 mov.l @r0+, r13
510 mov.l @(12, r0), r14
511 lds r14, pr
512 mov.l @r0+, r14
513 mov.l @r0+, r15
514 mov.l @r0, r0
515 jmp @r0
516 nop
517 SET_ENTRY_SIZE(_ZNK7_Unwind13Registers_SH36jumptoEv)
518 #endif
519
520 #if defined(__sparc64__)
521 #include <machine/trap.h>
522 .register %g2, #ignore
523 .register %g3, #ignore
524 .register %g6, #ignore
525 .register %g7, #ignore
526 .hidden _ZN7_Unwind17Registers_SPARC64C1Ev
527 ENTRY(_ZN7_Unwind17Registers_SPARC64C1Ev)
528 t ST_FLUSHWIN
529 stx %g0, [%o0 + 0]
530 stx %g1, [%o0 + 8]
531 stx %g2, [%o0 + 16]
532 stx %g3, [%o0 + 24]
533 stx %g4, [%o0 + 32]
534 stx %g5, [%o0 + 40]
535 stx %g6, [%o0 + 48]
536 stx %g7, [%o0 + 56]
537 stx %o0, [%o0 + 64]
538 stx %o1, [%o0 + 72]
539 stx %o2, [%o0 + 80]
540 stx %o3, [%o0 + 88]
541 stx %o4, [%o0 + 96]
542 stx %o5, [%o0 + 104]
543 stx %o6, [%o0 + 112]
544 stx %o7, [%o0 + 120]
545 stx %l0, [%o0 + 128]
546 stx %l1, [%o0 + 136]
547 stx %l2, [%o0 + 144]
548 stx %l3, [%o0 + 152]
549 stx %l4, [%o0 + 160]
550 stx %l5, [%o0 + 168]
551 stx %l6, [%o0 + 176]
552 stx %l7, [%o0 + 184]
553 stx %i0, [%o0 + 192]
554 stx %i1, [%o0 + 200]
555 stx %i2, [%o0 + 208]
556 stx %i3, [%o0 + 216]
557 stx %i4, [%o0 + 224]
558 stx %i5, [%o0 + 232]
559 stx %i6, [%o0 + 240]
560 stx %i7, [%o0 + 248]
561 add %o7, 8, %g1
562 retl
563 stx %g1, [%o0 + 256]
564 END(_ZN7_Unwind17Registers_SPARC64C1Ev)
565
566 .hidden _ZNK7_Unwind17Registers_SPARC646jumptoEv
567 ENTRY(_ZNK7_Unwind17Registers_SPARC646jumptoEv)
568 t ST_FLUSHWIN
569 ldx [%o0 + 0], %g0
570 ldx [%o0 + 8], %g1
571 ldx [%o0 + 16], %g2
572 ldx [%o0 + 24], %g3
573 ldx [%o0 + 32], %g4
574 ldx [%o0 + 40], %g5
575 ldx [%o0 + 48], %g6
576 ldx [%o0 + 56], %g7
577 ldx [%o0 + 72], %o1
578 ldx [%o0 + 80], %o2
579 ldx [%o0 + 88], %o3
580 ldx [%o0 + 96], %o4
581 ldx [%o0 + 104], %o5
582 ldx [%o0 + 112], %g1
583 sub %g1, 2047, %o6
584 ldx [%o0 + 120], %o7
585 ldx [%o0 + 128], %l0
586 ldx [%o0 + 136], %l1
587 ldx [%o0 + 144], %l2
588 ldx [%o0 + 152], %l3
589 ldx [%o0 + 160], %l4
590 ldx [%o0 + 168], %l5
591 ldx [%o0 + 176], %l6
592 ldx [%o0 + 184], %l7
593 ldx [%o0 + 192], %i0
594 ldx [%o0 + 200], %i1
595 ldx [%o0 + 208], %i2
596 ldx [%o0 + 216], %i3
597 ldx [%o0 + 224], %i4
598 ldx [%o0 + 232], %i5
599 ldx [%o0 + 240], %i6
600 ldx [%o0 + 248], %i7
601 ldx [%o0 + 256], %g1
602 jmpl %g1, %g0
603 ldx [%o0 + 64], %o0
604 END(_ZNK7_Unwind17Registers_SPARC646jumptoEv)
605 #elif defined(__sparc__)
606 #include <machine/trap.h>
607
608 .hidden _ZN7_Unwind15Registers_SPARCC1Ev
609 ENTRY(_ZN7_Unwind15Registers_SPARCC1Ev)
610 t ST_FLUSHWIN
611 st %g0, [%o0 + 0]
612 st %g1, [%o0 + 4]
613 st %g2, [%o0 + 8]
614 st %g3, [%o0 + 12]
615 st %g4, [%o0 + 16]
616 st %g5, [%o0 + 20]
617 st %g6, [%o0 + 24]
618 st %g7, [%o0 + 28]
619 st %o0, [%o0 + 32]
620 st %o1, [%o0 + 36]
621 st %o2, [%o0 + 40]
622 st %o3, [%o0 + 44]
623 st %o4, [%o0 + 48]
624 st %o5, [%o0 + 52]
625 st %o6, [%o0 + 56]
626 st %o7, [%o0 + 60]
627 st %l0, [%o0 + 64]
628 st %l1, [%o0 + 68]
629 st %l2, [%o0 + 72]
630 st %l3, [%o0 + 76]
631 st %l4, [%o0 + 80]
632 st %l5, [%o0 + 84]
633 st %l6, [%o0 + 88]
634 st %l7, [%o0 + 92]
635 st %i0, [%o0 + 96]
636 st %i1, [%o0 + 100]
637 st %i2, [%o0 + 104]
638 st %i3, [%o0 + 108]
639 st %i4, [%o0 + 112]
640 st %i5, [%o0 + 116]
641 st %i6, [%o0 + 120]
642 st %i7, [%o0 + 124 ]
643 add %o7, 8, %g1
644 retl
645 st %g1, [%o0 + 128]
646 END(_ZN7_Unwind15Registers_SPARCC1Ev)
647
648 .hidden _ZNK7_Unwind15Registers_SPARC6jumptoEv
649 ENTRY(_ZNK7_Unwind15Registers_SPARC6jumptoEv)
650 t ST_FLUSHWIN
651 ld [%o0 + 0], %g0
652 ld [%o0 + 4], %g1
653 ld [%o0 + 8], %g2
654 ld [%o0 + 12], %g3
655 ld [%o0 + 16], %g4
656 ld [%o0 + 20], %g5
657 ld [%o0 + 24], %g6
658 ld [%o0 + 28], %g7
659 ld [%o0 + 36], %o1
660 ld [%o0 + 40], %o2
661 ld [%o0 + 44], %o3
662 ld [%o0 + 48], %o4
663 ld [%o0 + 52], %o5
664 ld [%o0 + 56], %o6
665 ld [%o0 + 60], %o7
666 ld [%o0 + 64], %l0
667 ld [%o0 + 68], %l1
668 ld [%o0 + 72], %l2
669 ld [%o0 + 76], %l3
670 ld [%o0 + 80], %l4
671 ld [%o0 + 84], %l5
672 ld [%o0 + 88], %l6
673 ld [%o0 + 92], %l7
674 ld [%o0 + 96], %i0
675 ld [%o0 + 100], %i1
676 ld [%o0 + 104], %i2
677 ld [%o0 + 108], %i3
678 ld [%o0 + 112], %i4
679 ld [%o0 + 116], %i5
680 ld [%o0 + 120], %i6
681 ld [%o0 + 124], %i7
682 ld [%o0 + 128], %g1
683 jmpl %g1, %g0
684 ld [%o0 + 32], %o0
685 END(_ZNK7_Unwind15Registers_SPARC6jumptoEv)
686 #endif
687
688 #if defined(__alpha__)
689 .set nomacro
690 .set noat
691 .hidden _ZN7_Unwind15Registers_AlphaC1Ev
692 LEAF_NOPROFILE(_ZN7_Unwind15Registers_AlphaC1Ev, 1)
693 stq $0, 0($16)
694 stq $1, 8($16)
695 stq $2, 16($16)
696 stq $3, 24($16)
697 stq $4, 32($16)
698 stq $5, 40($16)
699 stq $6, 48($16)
700 stq $7, 56($16)
701 stq $8, 64($16)
702 stq $9, 72($16)
703 stq $10, 80($16)
704 stq $11, 88($16)
705 stq $12, 96($16)
706 stq $13, 104($16)
707 stq $14, 112($16)
708 stq $15, 120($16)
709 stq $16, 128($16)
710 stq $17, 136($16)
711 stq $18, 144($16)
712 stq $19, 152($16)
713 stq $20, 160($16)
714 stq $21, 168($16)
715 stq $22, 176($16)
716 stq $23, 184($16)
717 stq $24, 192($16)
718 stq $25, 200($16)
719 stq $26, 208($16)
720 stq $27, 216($16)
721 stq $28, 224($16)
722 stq $29, 232($16)
723 stq $30, 240($16)
724 stq $26, 248($16)
725
726 stt $f0, 256($16)
727 stt $f1, 264($16)
728 stt $f2, 272($16)
729 stt $f3, 280($16)
730 stt $f4, 288($16)
731 stt $f5, 296($16)
732 stt $f6, 304($16)
733 stt $f7, 312($16)
734 stt $f8, 320($16)
735 stt $f9, 328($16)
736 stt $f10, 336($16)
737 stt $f11, 344($16)
738 stt $f12, 352($16)
739 stt $f13, 360($16)
740 stt $f14, 368($16)
741 stt $f15, 376($16)
742 stt $f16, 384($16)
743 stt $f17, 392($16)
744 stt $f18, 400($16)
745 stt $f19, 408($16)
746 stt $f20, 416($16)
747 stt $f21, 424($16)
748 stt $f22, 432($16)
749 stt $f23, 440($16)
750 stt $f24, 448($16)
751 stt $f25, 456($16)
752 stt $f26, 464($16)
753 stt $f27, 472($16)
754 stt $f28, 480($16)
755 stt $f29, 488($16)
756 stt $f30, 496($16)
757 ret $31, ($26), 1
758 END(_ZN7_Unwind15Registers_AlphaC1Ev)
759
760 .set nomacro
761 .set noat
762 .hidden _ZNK7_Unwind15Registers_Alpha6jumptoEv
763 LEAF_NOPROFILE(_ZNK7_Unwind15Registers_Alpha6jumptoEv, 1)
764 ldq $0, 0($16)
765 ldq $1, 8($16)
766 ldq $2, 16($16)
767 ldq $3, 24($16)
768 ldq $4, 32($16)
769 ldq $5, 40($16)
770 ldq $6, 48($16)
771 ldq $7, 56($16)
772 ldq $8, 64($16)
773 ldq $9, 72($16)
774 ldq $10, 80($16)
775 ldq $11, 88($16)
776 ldq $12, 96($16)
777 ldq $13, 104($16)
778 ldq $14, 112($16)
779 ldq $15, 120($16)
780 ldq $17, 136($16)
781 ldq $18, 144($16)
782 ldq $19, 152($16)
783 ldq $20, 160($16)
784 ldq $21, 168($16)
785 ldq $22, 176($16)
786 ldq $23, 184($16)
787 ldq $24, 192($16)
788 ldq $25, 200($16)
789 ldq $27, 216($16)
790 ldq $28, 224($16)
791 ldq $29, 232($16)
792 ldq $30, 240($16)
793 ldq $26, 248($16)
794
795 ldt $f0, 256($16)
796 ldt $f1, 264($16)
797 ldt $f2, 272($16)
798 ldt $f3, 280($16)
799 ldt $f4, 288($16)
800 ldt $f5, 296($16)
801 ldt $f6, 304($16)
802 ldt $f7, 312($16)
803 ldt $f8, 320($16)
804 ldt $f9, 328($16)
805 ldt $f10, 336($16)
806 ldt $f11, 344($16)
807 ldt $f12, 352($16)
808 ldt $f13, 360($16)
809 ldt $f14, 368($16)
810 ldt $f15, 376($16)
811 ldt $f16, 384($16)
812 ldt $f17, 392($16)
813 ldt $f18, 400($16)
814 ldt $f19, 408($16)
815 ldt $f20, 416($16)
816 ldt $f21, 424($16)
817 ldt $f22, 432($16)
818 ldt $f23, 440($16)
819 ldt $f24, 448($16)
820 ldt $f25, 456($16)
821 ldt $f26, 464($16)
822 ldt $f27, 472($16)
823 ldt $f28, 480($16)
824 ldt $f29, 488($16)
825 ldt $f30, 496($16)
826 ldq $16, 128($16)
827 ret $31, ($26), 1
828 END(_ZNK7_Unwind15Registers_Alpha6jumptoEv)
829 #endif
830
831 #if defined(__mips_n64) || defined(__mips_n32)
832 .set noat
833 LEAF(_ZN7_Unwind16Registers_MIPS64C1Ev)
834 #if 0
835 FP_S $f0, 256($4)
836 FP_S $f1, 264($4)
837 FP_S $f2, 272($4)
838 FP_S $f3, 280($4)
839 FP_S $f4, 288($4)
840 FP_S $f5, 296($4)
841 FP_S $f6, 304($4)
842 FP_S $f7, 312($4)
843 FP_S $f8, 320($4)
844 FP_S $f9, 328($4)
845 FP_S $f10, 336($4)
846 FP_S $f11, 344($4)
847 FP_S $f12, 352($4)
848 FP_S $f13, 360($4)
849 FP_S $f14, 368($4)
850 FP_S $f15, 376($4)
851 FP_S $f16, 384($4)
852 FP_S $f17, 392($4)
853 FP_S $f18, 400($4)
854 FP_S $f19, 408($4)
855 FP_S $f20, 416($4)
856 FP_S $f21, 424($4)
857 FP_S $f22, 432($4)
858 FP_S $f23, 440($4)
859 FP_S $f24, 448($4)
860 FP_S $f25, 456($4)
861 FP_S $f26, 464($4)
862 FP_S $f27, 472($4)
863 FP_S $f28, 480($4)
864 FP_S $f29, 488($4)
865 FP_S $f30, 496($4)
866 FP_S $f31, 504($4)
867 #endif
868 sd $31, 0($4)
869 sd $1, 4($4)
870 sd $2, 8($4)
871 sd $3, 12($4)
872 sd $4, 16($4)
873 sd $5, 20($4)
874 sd $6, 24($4)
875 sd $7, 28($4)
876 sd $8, 32($4)
877 sd $9, 36($4)
878 sd $10, 40($4)
879 sd $11, 44($4)
880 sd $12, 48($4)
881 sd $13, 52($4)
882 sd $14, 56($4)
883 sd $15, 60($4)
884 sd $16, 64($4)
885 sd $17, 68($4)
886 sd $18, 72($4)
887 sd $19, 76($4)
888 sd $20, 80($4)
889 sd $21, 84($4)
890 sd $22, 88($4)
891 sd $23, 92($4)
892 sd $24, 96($4)
893 sd $25, 100($4)
894 sd $26, 104($4)
895 sd $27, 108($4)
896 sd $28, 112($4)
897 sd $29, 116($4)
898 sd $30, 120($4)
899 sd $31, 124($4)
900 jr $31
901 nop
902 END(_ZN7_Unwind16Registers_MIPS64C1Ev)
903
904 LEAF(_ZNK7_Unwind16Registers_MIPS646jumptoEv)
905 #if 0
906 FP_L $f0, 256($4)
907 FP_L $f1, 264($4)
908 FP_L $f2, 272($4)
909 FP_L $f3, 280($4)
910 FP_L $f4, 288($4)
911 FP_L $f5, 296($4)
912 FP_L $f6, 304($4)
913 FP_L $f7, 312($4)
914 FP_L $f8, 320($4)
915 FP_L $f9, 328($4)
916 FP_L $f10, 336($4)
917 FP_L $f11, 344($4)
918 FP_L $f12, 352($4)
919 FP_L $f13, 360($4)
920 FP_L $f14, 368($4)
921 FP_L $f15, 376($4)
922 FP_L $f16, 384($4)
923 FP_L $f17, 392($4)
924 FP_L $f18, 400($4)
925 FP_L $f19, 408($4)
926 FP_L $f20, 416($4)
927 FP_L $f21, 424($4)
928 FP_L $f22, 432($4)
929 FP_L $f23, 440($4)
930 FP_L $f24, 448($4)
931 FP_L $f25, 456($4)
932 FP_L $f26, 464($4)
933 FP_L $f27, 472($4)
934 FP_L $f28, 480($4)
935 FP_L $f29, 488($4)
936 FP_L $f30, 496($4)
937 FP_L $f31, 504($4)
938 #endif
939
940 ld $31, 0($4)
941 ld $1, 8($4)
942 ld $2, 16($4)
943 ld $3, 24($4)
944 ld $5, 40($4)
945 ld $6, 48($4)
946 ld $7, 56($4)
947 ld $8, 64($4)
948 ld $9, 72($4)
949 ld $10, 80($4)
950 ld $11, 88($4)
951 ld $12, 96($4)
952 ld $13, 104($4)
953 ld $14, 112($4)
954 ld $15, 120($4)
955 ld $16, 128($4)
956 ld $17, 136($4)
957 ld $18, 144($4)
958 ld $19, 152($4)
959 ld $20, 160($4)
960 ld $21, 168($4)
961 ld $22, 176($4)
962 ld $23, 184($4)
963 ld $24, 192($4)
964 ld $25, 200($4)
965 ld $26, 208($4)
966 ld $27, 216($4)
967 ld $28, 224($4)
968 ld $29, 232($4)
969 ld $30, 240($4)
970 ld $4, 32($4)
971 jr $31
972 nop
973 END(_ZNK7_Unwind16Registers_MIPS646jumptoEv)
974 #elif defined(__mips__)
975 .set noat
976 LEAF(_ZN7_Unwind14Registers_MIPSC1Ev)
977 #if 0
978 #if __mips > 1
979 FP_S $f0, 128($4)
980 FP_S $f1, 136($4)
981 FP_S $f2, 144($4)
982 FP_S $f3, 152($4)
983 FP_S $f4, 160($4)
984 FP_S $f5, 168($4)
985 FP_S $f6, 176($4)
986 FP_S $f7, 184($4)
987 FP_S $f8, 192($4)
988 FP_S $f9, 200($4)
989 FP_S $f10, 208($4)
990 FP_S $f11, 216($4)
991 FP_S $f12, 224($4)
992 FP_S $f13, 232($4)
993 FP_S $f14, 240($4)
994 FP_S $f15, 248($4)
995 FP_S $f16, 256($4)
996 FP_S $f17, 264($4)
997 FP_S $f18, 272($4)
998 FP_S $f19, 280($4)
999 FP_S $f20, 288($4)
1000 FP_S $f21, 296($4)
1001 FP_S $f22, 304($4)
1002 FP_S $f23, 312($4)
1003 FP_S $f24, 320($4)
1004 FP_S $f25, 328($4)
1005 FP_S $f26, 336($4)
1006 FP_S $f27, 344($4)
1007 FP_S $f28, 352($4)
1008 FP_S $f29, 360($4)
1009 FP_S $f30, 368($4)
1010 FP_S $f31, 376($4)
1011 #endif
1012 #endif
1013 sw $31, 0($4)
1014 sw $1, 4($4)
1015 sw $2, 8($4)
1016 sw $3, 12($4)
1017 sw $4, 16($4)
1018 sw $5, 20($4)
1019 sw $6, 24($4)
1020 sw $7, 28($4)
1021 sw $8, 32($4)
1022 sw $9, 36($4)
1023 sw $10, 40($4)
1024 sw $11, 44($4)
1025 sw $12, 48($4)
1026 sw $13, 52($4)
1027 sw $14, 56($4)
1028 sw $15, 60($4)
1029 sw $16, 64($4)
1030 sw $17, 68($4)
1031 sw $18, 72($4)
1032 sw $19, 76($4)
1033 sw $20, 80($4)
1034 sw $21, 84($4)
1035 sw $22, 88($4)
1036 sw $23, 92($4)
1037 sw $24, 96($4)
1038 sw $25, 100($4)
1039 sw $26, 104($4)
1040 sw $27, 108($4)
1041 sw $28, 112($4)
1042 sw $29, 116($4)
1043 sw $30, 120($4)
1044 sw $31, 124($4)
1045 jr $31
1046 nop
1047 END(_ZN7_Unwind14Registers_MIPSC1Ev)
1048
1049 LEAF(_ZNK7_Unwind14Registers_MIPS6jumptoEv)
1050 #if 0
1051 #if __mips > 1
1052 FP_L $f0, 128($4)
1053 FP_L $f1, 136($4)
1054 FP_L $f2, 144($4)
1055 FP_L $f3, 152($4)
1056 FP_L $f4, 160($4)
1057 FP_L $f5, 168($4)
1058 FP_L $f6, 176($4)
1059 FP_L $f7, 184($4)
1060 FP_L $f8, 192($4)
1061 FP_L $f9, 200($4)
1062 FP_L $f10, 208($4)
1063 FP_L $f11, 216($4)
1064 FP_L $f12, 224($4)
1065 FP_L $f13, 232($4)
1066 FP_L $f14, 240($4)
1067 FP_L $f15, 248($4)
1068 FP_L $f16, 256($4)
1069 FP_L $f17, 264($4)
1070 FP_L $f18, 272($4)
1071 FP_L $f19, 280($4)
1072 FP_L $f20, 288($4)
1073 FP_L $f21, 296($4)
1074 FP_L $f22, 304($4)
1075 FP_L $f23, 312($4)
1076 FP_L $f24, 320($4)
1077 FP_L $f25, 328($4)
1078 FP_L $f26, 336($4)
1079 FP_L $f27, 344($4)
1080 FP_L $f28, 352($4)
1081 FP_L $f29, 360($4)
1082 FP_L $f30, 368($4)
1083 FP_L $f31, 376($4)
1084 #endif
1085 #endif
1086
1087 lw $31, 0($4)
1088 lw $1, 4($4)
1089 lw $2, 8($4)
1090 lw $3, 12($4)
1091 lw $5, 20($4)
1092 lw $6, 24($4)
1093 lw $7, 28($4)
1094 lw $8, 32($4)
1095 lw $9, 36($4)
1096 lw $10, 40($4)
1097 lw $11, 44($4)
1098 lw $12, 48($4)
1099 lw $13, 52($4)
1100 lw $14, 56($4)
1101 lw $15, 60($4)
1102 lw $16, 64($4)
1103 lw $17, 68($4)
1104 lw $18, 72($4)
1105 lw $19, 76($4)
1106 lw $20, 80($4)
1107 lw $21, 84($4)
1108 lw $22, 88($4)
1109 lw $23, 92($4)
1110 lw $24, 96($4)
1111 lw $25, 100($4)
1112 lw $26, 104($4)
1113 lw $27, 108($4)
1114 lw $28, 112($4)
1115 lw $29, 116($4)
1116 lw $30, 120($4)
1117 lw $4, 16($4)
1118 jr $31
1119 nop
1120 END(_ZNK7_Unwind14Registers_MIPS6jumptoEv)
1121 #endif
1122
1123 #if defined(__hppa__)
1124 LEAF_ENTRY_NOPROFILE(_ZN7_Unwind14Registers_HPPAC1Ev)
1125 stw %r2, 0(%r26)
1126 stw %r1, 4(%r26)
1127 stw %r2, 8(%r26)
1128 stw %r3, 12(%r26)
1129 stw %r4, 16(%r26)
1130 stw %r5, 20(%r26)
1131 stw %r6, 24(%r26)
1132 stw %r7, 28(%r26)
1133 stw %r8, 32(%r26)
1134 stw %r9, 36(%r26)
1135 stw %r10, 40(%r26)
1136 stw %r11, 44(%r26)
1137 stw %r12, 48(%r26)
1138 stw %r13, 52(%r26)
1139 stw %r14, 56(%r26)
1140 stw %r15, 60(%r26)
1141 stw %r16, 64(%r26)
1142 stw %r17, 68(%r26)
1143 stw %r18, 72(%r26)
1144 stw %r19, 76(%r26)
1145 stw %r20, 80(%r26)
1146 stw %r21, 84(%r26)
1147 stw %r22, 88(%r26)
1148 stw %r23, 92(%r26)
1149 stw %r24, 96(%r26)
1150 stw %r25, 100(%r26)
1151 stw %r26, 104(%r26)
1152 stw %r27, 108(%r26)
1153 stw %r28, 112(%r26)
1154 stw %r29, 116(%r26)
1155 stw %r30, 120(%r26)
1156 stw %r31, 124(%r26)
1157 ldi 128, %r19
1158 addl %r19, %r26, %r19
1159 fstds,ma %fr4, 8(%r19)
1160 fstds,ma %fr5, 8(%r19)
1161 fstds,ma %fr6, 8(%r19)
1162 fstds,ma %fr7, 8(%r19)
1163 fstds,ma %fr8, 8(%r19)
1164 fstds,ma %fr9, 8(%r19)
1165 fstds,ma %fr10, 8(%r19)
1166 fstds,ma %fr11, 8(%r19)
1167 fstds,ma %fr12, 8(%r19)
1168 fstds,ma %fr13, 8(%r19)
1169 fstds,ma %fr14, 8(%r19)
1170 fstds,ma %fr15, 8(%r19)
1171 fstds,ma %fr16, 8(%r19)
1172 fstds,ma %fr17, 8(%r19)
1173 fstds,ma %fr18, 8(%r19)
1174 fstds,ma %fr19, 8(%r19)
1175 fstds,ma %fr20, 8(%r19)
1176 fstds,ma %fr21, 8(%r19)
1177 fstds,ma %fr22, 8(%r19)
1178 fstds,ma %fr23, 8(%r19)
1179 fstds,ma %fr24, 8(%r19)
1180 fstds,ma %fr25, 8(%r19)
1181 fstds,ma %fr19, 8(%r19)
1182 fstds,ma %fr27, 8(%r19)
1183 fstds,ma %fr28, 8(%r19)
1184 fstds,ma %fr29, 8(%r19)
1185 fstds,ma %fr30, 8(%r19)
1186 fstds,ma %fr31, 8(%r19)
1187 ldw 76(%r26), %r19
1188 bv,n %r0(%r2)
1189 EXIT(_ZN7_Unwind14Registers_HPPAC1Ev)
1190
1191 LEAF_ENTRY_NOPROFILE(_ZNK7_Unwind14Registers_HPPA6jumptoEv)
1192 ldi 128, %r19
1193 addl %r19, %r26, %r19
1194 fldds,ma 8(%r19), %fr4
1195 fldds,ma 8(%r19), %fr5
1196 fldds,ma 8(%r19), %fr6
1197 fldds,ma 8(%r19), %fr7
1198 fldds,ma 8(%r19), %fr8
1199 fldds,ma 8(%r19), %fr9
1200 fldds,ma 8(%r19), %fr10
1201 fldds,ma 8(%r19), %fr11
1202 fldds,ma 8(%r19), %fr12
1203 fldds,ma 8(%r19), %fr13
1204 fldds,ma 8(%r19), %fr14
1205 fldds,ma 8(%r19), %fr15
1206 fldds,ma 8(%r19), %fr16
1207 fldds,ma 8(%r19), %fr17
1208 fldds,ma 8(%r19), %fr18
1209 fldds,ma 8(%r19), %fr19
1210 fldds,ma 8(%r19), %fr20
1211 fldds,ma 8(%r19), %fr21
1212 fldds,ma 8(%r19), %fr22
1213 fldds,ma 8(%r19), %fr23
1214 fldds,ma 8(%r19), %fr24
1215 fldds,ma 8(%r19), %fr25
1216 fldds,ma 8(%r19), %fr26
1217 fldds,ma 8(%r19), %fr27
1218 fldds,ma 8(%r19), %fr28
1219 fldds,ma 8(%r19), %fr29
1220 fldds,ma 8(%r19), %fr30
1221 fldds,ma 8(%r19), %fr31
1222 ldw 0(%r26), %r2
1223 ldw 4(%r26), %r1
1224 ldw 12(%r26), %r3
1225 ldw 16(%r26), %r4
1226 ldw 20(%r26), %r5
1227 ldw 24(%r26), %r6
1228 ldw 28(%r26), %r7
1229 ldw 32(%r26), %r8
1230 ldw 36(%r26), %r9
1231 ldw 40(%r26), %r10
1232 ldw 44(%r26), %r11
1233 ldw 48(%r26), %r12
1234 ldw 52(%r26), %r13
1235 ldw 56(%r26), %r14
1236 ldw 60(%r26), %r15
1237 ldw 64(%r26), %r16
1238 ldw 68(%r26), %r17
1239 ldw 72(%r26), %r18
1240 ldw 76(%r26), %r19
1241 ldw 80(%r26), %r20
1242 ldw 84(%r26), %r21
1243 ldw 88(%r26), %r22
1244 ldw 92(%r26), %r23
1245 ldw 96(%r26), %r24
1246 ldw 100(%r26), %r25
1247 ldw 108(%r26), %r27
1248 ldw 112(%r26), %r28
1249 ldw 116(%r26), %r29
1250 ldw 120(%r26), %r30
1251 ldw 124(%r26), %r31
1252 ldw 104(%r26), %r26
1253 bv,n %r0(%r2)
1254 EXIT(_ZNK7_Unwind14Registers_HPPA6jumptoEv)
1255 #endif
1256
1257 #ifdef __or1k__
1258 ENTRY_NP(_ZN7_Unwind14Registers_or1kC1Ev)
1259 l.sw (0*3)(r3), r0
1260 l.sw (1*3)(r3), r1
1261 l.sw (2*3)(r3), r2
1262 l.sw (3*3)(r3), r3
1263 l.sw (4*3)(r3), r4
1264 l.sw (5*3)(r3), r5
1265 l.sw (6*3)(r3), r6
1266 l.sw (7*3)(r3), r7
1267 l.sw (8*3)(r3), r8
1268 l.sw (9*3)(r3), r9
1269 l.sw (10*3)(r3), r10
1270 l.sw (11*3)(r3), r11
1271 l.sw (12*3)(r3), r12
1272 l.sw (13*3)(r3), r13
1273 l.sw (14*3)(r3), r14
1274 l.sw (15*3)(r3), r15
1275 l.sw (16*3)(r3), r16
1276 l.sw (17*3)(r3), r17
1277 l.sw (18*3)(r3), r18
1278 l.sw (19*3)(r3), r19
1279 l.sw (20*3)(r3), r20
1280 l.sw (21*3)(r3), r21
1281 l.sw (22*3)(r3), r22
1282 l.sw (23*3)(r3), r23
1283 l.sw (24*3)(r3), r24
1284 l.sw (25*3)(r3), r25
1285 l.sw (26*3)(r3), r26
1286 l.sw (27*3)(r3), r27
1287 l.sw (28*3)(r3), r28
1288 l.sw (29*3)(r3), r29
1289 l.sw (30*3)(r3), r30
1290 l.sw (31*3)(r3), r31
1291 l.mfspr r4, r0, 20
1292 l.sw (32*4)(r3), r4
1293 l.jr lr
1294 l.nop
1295 END(_ZN7_Unwind14Registers_or1kC1Ev)
1296
1297 ENTRY_NP(_ZNK7_Unwind14Registers_or1k6jumptoEv)
1298 l.lwz r6, (32*4)(r3)
1299 l.mtspr r0, r6, 20
1300 l.lwz r0, (0*4)(r3)
1301 l.lwz r1, (1*4)(r3)
1302 l.lwz r2, (2*4)(r3)
1303 l.lwz r4, (4*4)(r3)
1304 l.lwz r5, (5*4)(r3)
1305 l.lwz r6, (6*4)(r3)
1306 l.lwz r7, (7*4)(r3)
1307 l.lwz r8, (8*4)(r3)
1308 l.lwz r9, (9*4)(r3)
1309 l.lwz r10, (10*4)(r3)
1310 l.lwz r11, (11*4)(r3)
1311 l.lwz r12, (12*4)(r3)
1312 l.lwz r13, (13*4)(r3)
1313 l.lwz r14, (14*4)(r3)
1314 l.lwz r15, (15*4)(r3)
1315 l.lwz r16, (16*4)(r3)
1316 l.lwz r17, (17*4)(r3)
1317 l.lwz r18, (18*4)(r3)
1318 l.lwz r19, (19*4)(r3)
1319 l.lwz r20, (20*4)(r3)
1320 l.lwz r21, (21*4)(r3)
1321 l.lwz r22, (22*4)(r3)
1322 l.lwz r23, (23*4)(r3)
1323 l.lwz r24, (24*4)(r3)
1324 l.lwz r25, (25*4)(r3)
1325 l.lwz r26, (26*4)(r3)
1326 l.lwz r27, (27*4)(r3)
1327 l.lwz r28, (28*4)(r3)
1328 l.lwz r29, (29*4)(r3)
1329 l.lwz r30, (30*4)(r3)
1330 l.lwz r31, (31*4)(r3)
1331
1332 l.lwz r3, (3*4)(r3) /* return r3 */
1333 l.jr lr
1334 END(_ZNK7_Unwind14Registers_or1k6jumptoEv)
1335
1336 #endif
1337