unwind_registers.S revision 1.20 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, #0x000]
276 stp x2, x3, [x0, #0x010]
277 stp x4, x5, [x0, #0x020]
278 stp x6, x7, [x0, #0x030]
279 stp x8, x9, [x0, #0x040]
280 stp x10,x11, [x0, #0x050]
281 stp x12,x13, [x0, #0x060]
282 stp x14,x15, [x0, #0x070]
283 stp x16,x17, [x0, #0x080]
284 stp x18,x19, [x0, #0x090]
285 stp x20,x21, [x0, #0x0A0]
286 stp x22,x23, [x0, #0x0B0]
287 stp x24,x25, [x0, #0x0C0]
288 stp x26,x27, [x0, #0x0D0]
289 stp x28,x29, [x0, #0x0E0]
290 mov x1,sp
291 stp x30,x1, [x0, #0x0F0]
292
293 stp q0, q1, [x0, #0x100]
294 stp q2, q3, [x0, #0x120]
295 stp q4, q5, [x0, #0x140]
296 stp q6, q7, [x0, #0x160]
297 stp q8, q9, [x0, #0x180]
298 stp q10, q11, [x0, #0x1a0]
299 stp q12, q13, [x0, #0x1c0]
300 stp q14, q15, [x0, #0x1e0]
301 stp q16, q17, [x0, #0x200]
302 stp q18, q19, [x0, #0x220]
303 stp q20, q21, [x0, #0x240]
304 stp q22, q23, [x0, #0x260]
305 stp q24, q25, [x0, #0x280]
306 stp q26, q27, [x0, #0x2a0]
307 stp q28, q29, [x0, #0x2c0]
308 stp q30, q31, [x0, #0x2e0]
309
310 ret
311 END(_ZN7_Unwind17Registers_aarch64C1Ev)
312
313 .hidden _ZNK7_Unwind17Registers_aarch646jumptoEv
314 ENTRY(_ZNK7_Unwind17Registers_aarch646jumptoEv)
315 ldp x2, x3, [x0, #0x010]
316 ldp x4, x5, [x0, #0x020]
317 ldp x6, x7, [x0, #0x030]
318 ldp x8, x9, [x0, #0x040]
319 ldp x10, x11, [x0, #0x050]
320 ldp x12, x13, [x0, #0x060]
321 ldp x14, x15, [x0, #0x070]
322 ldp x16, x17, [x0, #0x080]
323 ldp x18, x19, [x0, #0x090]
324 ldp x20, x21, [x0, #0x0A0]
325 ldp x22, x23, [x0, #0x0B0]
326 ldp x24, x25, [x0, #0x0C0]
327 ldp x26, x27, [x0, #0x0D0]
328 ldp x28, x29, [x0, #0x0E0]
329 ldp x30, x1, [x0, #0x0F0]
330 mov sp, x1
331
332 ldp q0, q1, [x0, #0x100]
333 ldp q2, q3, [x0, #0x120]
334 ldp q4, q5, [x0, #0x140]
335 ldp q6, q7, [x0, #0x160]
336 ldp q8, q9, [x0, #0x180]
337 ldp q10, q11, [x0, #0x1a0]
338 ldp q12, q13, [x0, #0x1c0]
339 ldp q14, q15, [x0, #0x1e0]
340 ldp q16, q17, [x0, #0x200]
341 ldp q18, q19, [x0, #0x220]
342 ldp q20, q21, [x0, #0x240]
343 ldp q22, q23, [x0, #0x260]
344 ldp q24, q25, [x0, #0x280]
345 ldp q26, q27, [x0, #0x2a0]
346 ldp q28, q29, [x0, #0x2c0]
347 ldp q30, q31, [x0, #0x2e0]
348
349 ldp x0, x1, [x0, #0x000]
350 ret
351 END(_ZNK7_Unwind17Registers_aarch646jumptoEv)
352 #endif /* __aarch64__ */
353
354 #if defined(__arm__)
355 .fpu vfpv3
356 .hidden _ZN7_Unwind15Registers_arm32C1Ev
357 ARM_ENTRY(_ZN7_Unwind15Registers_arm32C1Ev)
358 stmia r0, {r0-r14}
359 str lr, [r0, #60] /* PC */
360 mrs r1, cpsr
361 str r1, [r0, #64] /* CPSR */
362 mov r1, #0
363 str r1, [r0, #68] /* flags */
364 RET
365 END(_ZN7_Unwind15Registers_arm32C1Ev)
366
367 .hidden _ZN7_Unwind15Registers_arm329lazyVFPv2Ev
368 ARM_ENTRY(_ZN7_Unwind15Registers_arm329lazyVFPv2Ev)
369 add r0, #72
370 vstmia r0, {d0-d15}
371 RET
372 END(_ZN7_Unwind15Registers_arm329lazyVFPv2Ev)
373
374 .hidden _ZN7_Unwind15Registers_arm329lazyVFPv3Ev
375 ARM_ENTRY(_ZN7_Unwind15Registers_arm329lazyVFPv3Ev)
376 add r0, #200
377 vstmia r0, {d16-d31}
378 RET
379 END(_ZN7_Unwind15Registers_arm329lazyVFPv3Ev)
380
381 .hidden _ZNK7_Unwind15Registers_arm326jumptoEv
382 ARM_ENTRY(_ZNK7_Unwind15Registers_arm326jumptoEv)
383 ldr r1, [r0, #68] /* flags */
384 tst r1, #1
385 beq .Lnovfpv2
386 add r2, r0, #72
387 vldmia r2, {d0-d15}
388 .Lnovfpv2:
389 tst r1, #2
390 beq .Lnovfpv3
391 add r2, r0, #200
392 vldmia r2, {d16-d31}
393 .Lnovfpv3:
394 ldr r1, [r0, #64]
395 msr cpsr_sxc, r1
396 ldmia r0, {r0-r15}
397 END(_ZNK7_Unwind15Registers_arm326jumptoEv)
398 #endif
399
400 #if defined(__vax__)
401 .hidden _ZN7_Unwind13Registers_vaxC1Ev
402 ENTRY(_ZN7_Unwind13Registers_vaxC1Ev, R0)
403 subl2 $4, %sp
404 movl 4(%ap), %r0
405 movl %r1, 4(%r0)
406 movl %r2, 8(%r0)
407 movl %r3, 12(%r0)
408 movl %r4, 16(%r0)
409 movl %r5, 20(%r0)
410 movl %r6, 24(%r0)
411 movl %r7, 28(%r0)
412 movl %r8, 32(%r0)
413 movl %r9, 36(%r0)
414 movl %r10, 40(%r0)
415 movl %r11, 44(%r0)
416 movl 8(%fp), 48(%r0)
417 movl 12(%fp), 52(%r0)
418 addl3 $36, %sp, 56(%r0)
419 /* Return PC */
420 movl 16(%fp), 60(%r0)
421 /* Load saved value of r0 as r1 */
422 movl 20(%fp), 0(%r0)
423 /* Saved PSW */
424 movl 4(%fp), 64(%r0)
425 ret
426 END(_ZN7_Unwind13Registers_vaxC1Ev)
427
428 .hidden _ZNK7_Unwind13Registers_vax6jumptoEv
429 ENTRY(_ZNK7_Unwind13Registers_vax6jumptoEv, 0)
430 subl2 $4, %sp
431 movl 4(%ap), %r0
432 movl 4(%r0), %r1
433 movl 8(%r0), %r2
434 movl 12(%r0), %r3
435 movl 16(%r0), %r4
436 movl 20(%r0), %r5
437 movl 24(%r0), %r6
438 movl 28(%r0), %r7
439 movl 32(%r0), %r8
440 movl 36(%r0), %r9
441 movl 40(%r0), %r10
442 movl 44(%r0), %r11
443 movl 48(%r0), %r12
444 movl 52(%r0), %r13
445 movl 56(%r0), %r14
446 movl 60(%r0), -(%sp)
447 movl 0(%r0), %r0
448 /* XXX restore PSW */
449 rsb
450 END(_ZNK7_Unwind13Registers_vax6jumptoEv)
451 #endif
452
453 #if defined(__m68k__)
454 ENTRY(_ZN7_Unwind14Registers_M68KC1Ev)
455 move.l 4(%sp), %a0
456 movem.l %d0-%d7/%a0-%a7, (%a0)
457 fmovem %fp0-%fp7, 72(%a0)
458 move.l 0(%sp), %a1
459 move.l %a1, 64(%a0)
460 addq.l #4, 60(%a0)
461 rts
462 END(_ZN7_Unwind14Registers_M68KC1Ev)
463
464 ENTRY(_ZNK7_Unwind14Registers_M68K6jumptoEv)
465 move.l 4(%sp), %a0
466 subq.l #4, 60(%a0)
467 move.l 64(%a0), %a1
468 move.l 60(%a0), %a2
469 move.l %a1, (%a2)
470 fmovem 72(%a0), %fp0-%fp7
471 movem.l (%a0), %d0-%d7/%a0-%a7
472 rts
473 END(_ZNK7_Unwind14Registers_M68K6jumptoEv)
474 #endif
475
476 #if defined(__sh3__)
477 .hidden _ZN7_Unwind13Registers_SH3C1Ev
478 ENTRY(_ZN7_Unwind13Registers_SH3C1Ev)
479 add #64, r4
480 mov.l r8, @-r15
481 sts.l pr, @-r15
482 mov.l @r15+, r8
483 mov.l r8, @r4
484 mov.l @r15+, r8
485
486 mov.l r15, @-r4
487 mov.l r14, @-r4
488 mov.l r13, @-r4
489 mov.l r12, @-r4
490 mov.l r11, @-r4
491 mov.l r10, @-r4
492 mov.l r9, @-r4
493 mov.l r8, @-r4
494 mov.l r7, @-r4
495 mov.l r6, @-r4
496 mov.l r5, @-r4
497 add #-4, r4
498 mov.l r3, @-r4
499 mov.l r2, @-r4
500 mov.l r1, @-r4
501 mov.l r0, @-r4
502 rts
503 mov.l r4, @(16,r4)
504 SET_ENTRY_SIZE(_ZN7_Unwind13Registers_SH3C1Ev)
505
506 .hidden _ZNK7_Unwind13Registers_SH36jumptoEv
507 ENTRY(_ZNK7_Unwind13Registers_SH36jumptoEv)
508 mov r4, r0
509 add #4, r0
510 mov.l @r0+, r1
511 mov.l @r0+, r2
512 mov.l @r0+, r3
513 mov.l @r0+, r4
514 mov.l @r0+, r5
515 mov.l @r0+, r6
516 mov.l @r0+, r7
517 mov.l @r0+, r8
518 mov.l @r0+, r9
519 mov.l @r0+, r10
520 mov.l @r0+, r11
521 mov.l @r0+, r12
522 mov.l @r0+, r13
523 mov.l @(12, r0), r14
524 lds r14, pr
525 mov.l @r0+, r14
526 mov.l @r0+, r15
527 mov.l @r0, r0
528 jmp @r0
529 nop
530 SET_ENTRY_SIZE(_ZNK7_Unwind13Registers_SH36jumptoEv)
531 #endif
532
533 #if defined(__sparc64__)
534 #include <machine/trap.h>
535 .register %g2, #ignore
536 .register %g3, #ignore
537 .register %g6, #ignore
538 .register %g7, #ignore
539 .hidden _ZN7_Unwind17Registers_SPARC64C1Ev
540 ENTRY(_ZN7_Unwind17Registers_SPARC64C1Ev)
541 t ST_FLUSHWIN
542 stx %g0, [%o0 + 0]
543 stx %g1, [%o0 + 8]
544 stx %g2, [%o0 + 16]
545 stx %g3, [%o0 + 24]
546 stx %g4, [%o0 + 32]
547 stx %g5, [%o0 + 40]
548 stx %g6, [%o0 + 48]
549 stx %g7, [%o0 + 56]
550 stx %o0, [%o0 + 64]
551 stx %o1, [%o0 + 72]
552 stx %o2, [%o0 + 80]
553 stx %o3, [%o0 + 88]
554 stx %o4, [%o0 + 96]
555 stx %o5, [%o0 + 104]
556 stx %o6, [%o0 + 112]
557 stx %o7, [%o0 + 120]
558 stx %l0, [%o0 + 128]
559 stx %l1, [%o0 + 136]
560 stx %l2, [%o0 + 144]
561 stx %l3, [%o0 + 152]
562 stx %l4, [%o0 + 160]
563 stx %l5, [%o0 + 168]
564 stx %l6, [%o0 + 176]
565 stx %l7, [%o0 + 184]
566 stx %i0, [%o0 + 192]
567 stx %i1, [%o0 + 200]
568 stx %i2, [%o0 + 208]
569 stx %i3, [%o0 + 216]
570 stx %i4, [%o0 + 224]
571 stx %i5, [%o0 + 232]
572 stx %i6, [%o0 + 240]
573 stx %i7, [%o0 + 248]
574 add %o7, 8, %g1
575 retl
576 stx %g1, [%o0 + 256]
577 END(_ZN7_Unwind17Registers_SPARC64C1Ev)
578
579 .hidden _ZNK7_Unwind17Registers_SPARC646jumptoEv
580 ENTRY(_ZNK7_Unwind17Registers_SPARC646jumptoEv)
581 t ST_FLUSHWIN
582 ldx [%o0 + 0], %g0
583 ldx [%o0 + 8], %g1
584 ldx [%o0 + 16], %g2
585 ldx [%o0 + 24], %g3
586 ldx [%o0 + 32], %g4
587 ldx [%o0 + 40], %g5
588 ldx [%o0 + 48], %g6
589 ldx [%o0 + 56], %g7
590 ldx [%o0 + 72], %o1
591 ldx [%o0 + 80], %o2
592 ldx [%o0 + 88], %o3
593 ldx [%o0 + 96], %o4
594 ldx [%o0 + 104], %o5
595 ldx [%o0 + 112], %g1
596 sub %g1, 2047, %o6
597 ldx [%o0 + 120], %o7
598 ldx [%o0 + 128], %l0
599 ldx [%o0 + 136], %l1
600 ldx [%o0 + 144], %l2
601 ldx [%o0 + 152], %l3
602 ldx [%o0 + 160], %l4
603 ldx [%o0 + 168], %l5
604 ldx [%o0 + 176], %l6
605 ldx [%o0 + 184], %l7
606 ldx [%o0 + 192], %i0
607 ldx [%o0 + 200], %i1
608 ldx [%o0 + 208], %i2
609 ldx [%o0 + 216], %i3
610 ldx [%o0 + 224], %i4
611 ldx [%o0 + 232], %i5
612 ldx [%o0 + 240], %i6
613 ldx [%o0 + 248], %i7
614 ldx [%o0 + 256], %g1
615 jmpl %g1, %g0
616 ldx [%o0 + 64], %o0
617 END(_ZNK7_Unwind17Registers_SPARC646jumptoEv)
618 #elif defined(__sparc__)
619 #include <machine/trap.h>
620
621 .hidden _ZN7_Unwind15Registers_SPARCC1Ev
622 ENTRY(_ZN7_Unwind15Registers_SPARCC1Ev)
623 t ST_FLUSHWIN
624 st %g0, [%o0 + 0]
625 st %g1, [%o0 + 4]
626 st %g2, [%o0 + 8]
627 st %g3, [%o0 + 12]
628 st %g4, [%o0 + 16]
629 st %g5, [%o0 + 20]
630 st %g6, [%o0 + 24]
631 st %g7, [%o0 + 28]
632 st %o0, [%o0 + 32]
633 st %o1, [%o0 + 36]
634 st %o2, [%o0 + 40]
635 st %o3, [%o0 + 44]
636 st %o4, [%o0 + 48]
637 st %o5, [%o0 + 52]
638 st %o6, [%o0 + 56]
639 st %o7, [%o0 + 60]
640 st %l0, [%o0 + 64]
641 st %l1, [%o0 + 68]
642 st %l2, [%o0 + 72]
643 st %l3, [%o0 + 76]
644 st %l4, [%o0 + 80]
645 st %l5, [%o0 + 84]
646 st %l6, [%o0 + 88]
647 st %l7, [%o0 + 92]
648 st %i0, [%o0 + 96]
649 st %i1, [%o0 + 100]
650 st %i2, [%o0 + 104]
651 st %i3, [%o0 + 108]
652 st %i4, [%o0 + 112]
653 st %i5, [%o0 + 116]
654 st %i6, [%o0 + 120]
655 st %i7, [%o0 + 124 ]
656 add %o7, 8, %g1
657 retl
658 st %g1, [%o0 + 128]
659 END(_ZN7_Unwind15Registers_SPARCC1Ev)
660
661 .hidden _ZNK7_Unwind15Registers_SPARC6jumptoEv
662 ENTRY(_ZNK7_Unwind15Registers_SPARC6jumptoEv)
663 t ST_FLUSHWIN
664 ld [%o0 + 0], %g0
665 ld [%o0 + 4], %g1
666 ld [%o0 + 8], %g2
667 ld [%o0 + 12], %g3
668 ld [%o0 + 16], %g4
669 ld [%o0 + 20], %g5
670 ld [%o0 + 24], %g6
671 ld [%o0 + 28], %g7
672 ld [%o0 + 36], %o1
673 ld [%o0 + 40], %o2
674 ld [%o0 + 44], %o3
675 ld [%o0 + 48], %o4
676 ld [%o0 + 52], %o5
677 ld [%o0 + 56], %o6
678 ld [%o0 + 60], %o7
679 ld [%o0 + 64], %l0
680 ld [%o0 + 68], %l1
681 ld [%o0 + 72], %l2
682 ld [%o0 + 76], %l3
683 ld [%o0 + 80], %l4
684 ld [%o0 + 84], %l5
685 ld [%o0 + 88], %l6
686 ld [%o0 + 92], %l7
687 ld [%o0 + 96], %i0
688 ld [%o0 + 100], %i1
689 ld [%o0 + 104], %i2
690 ld [%o0 + 108], %i3
691 ld [%o0 + 112], %i4
692 ld [%o0 + 116], %i5
693 ld [%o0 + 120], %i6
694 ld [%o0 + 124], %i7
695 ld [%o0 + 128], %g1
696 jmpl %g1, %g0
697 ld [%o0 + 32], %o0
698 END(_ZNK7_Unwind15Registers_SPARC6jumptoEv)
699 #endif
700
701 #if defined(__alpha__)
702 .set nomacro
703 .set noat
704 .hidden _ZN7_Unwind15Registers_AlphaC1Ev
705 LEAF_NOPROFILE(_ZN7_Unwind15Registers_AlphaC1Ev, 1)
706 stq $0, 0($16)
707 stq $1, 8($16)
708 stq $2, 16($16)
709 stq $3, 24($16)
710 stq $4, 32($16)
711 stq $5, 40($16)
712 stq $6, 48($16)
713 stq $7, 56($16)
714 stq $8, 64($16)
715 stq $9, 72($16)
716 stq $10, 80($16)
717 stq $11, 88($16)
718 stq $12, 96($16)
719 stq $13, 104($16)
720 stq $14, 112($16)
721 stq $15, 120($16)
722 stq $16, 128($16)
723 stq $17, 136($16)
724 stq $18, 144($16)
725 stq $19, 152($16)
726 stq $20, 160($16)
727 stq $21, 168($16)
728 stq $22, 176($16)
729 stq $23, 184($16)
730 stq $24, 192($16)
731 stq $25, 200($16)
732 stq $26, 208($16)
733 stq $27, 216($16)
734 stq $28, 224($16)
735 stq $29, 232($16)
736 stq $30, 240($16)
737 stq $26, 248($16)
738
739 stt $f0, 256($16)
740 stt $f1, 264($16)
741 stt $f2, 272($16)
742 stt $f3, 280($16)
743 stt $f4, 288($16)
744 stt $f5, 296($16)
745 stt $f6, 304($16)
746 stt $f7, 312($16)
747 stt $f8, 320($16)
748 stt $f9, 328($16)
749 stt $f10, 336($16)
750 stt $f11, 344($16)
751 stt $f12, 352($16)
752 stt $f13, 360($16)
753 stt $f14, 368($16)
754 stt $f15, 376($16)
755 stt $f16, 384($16)
756 stt $f17, 392($16)
757 stt $f18, 400($16)
758 stt $f19, 408($16)
759 stt $f20, 416($16)
760 stt $f21, 424($16)
761 stt $f22, 432($16)
762 stt $f23, 440($16)
763 stt $f24, 448($16)
764 stt $f25, 456($16)
765 stt $f26, 464($16)
766 stt $f27, 472($16)
767 stt $f28, 480($16)
768 stt $f29, 488($16)
769 stt $f30, 496($16)
770 ret $31, ($26), 1
771 END(_ZN7_Unwind15Registers_AlphaC1Ev)
772
773 .set nomacro
774 .set noat
775 .hidden _ZNK7_Unwind15Registers_Alpha6jumptoEv
776 LEAF_NOPROFILE(_ZNK7_Unwind15Registers_Alpha6jumptoEv, 1)
777 ldq $0, 0($16)
778 ldq $1, 8($16)
779 ldq $2, 16($16)
780 ldq $3, 24($16)
781 ldq $4, 32($16)
782 ldq $5, 40($16)
783 ldq $6, 48($16)
784 ldq $7, 56($16)
785 ldq $8, 64($16)
786 ldq $9, 72($16)
787 ldq $10, 80($16)
788 ldq $11, 88($16)
789 ldq $12, 96($16)
790 ldq $13, 104($16)
791 ldq $14, 112($16)
792 ldq $15, 120($16)
793 ldq $17, 136($16)
794 ldq $18, 144($16)
795 ldq $19, 152($16)
796 ldq $20, 160($16)
797 ldq $21, 168($16)
798 ldq $22, 176($16)
799 ldq $23, 184($16)
800 ldq $24, 192($16)
801 ldq $25, 200($16)
802 ldq $27, 216($16)
803 ldq $28, 224($16)
804 ldq $29, 232($16)
805 ldq $30, 240($16)
806 ldq $26, 248($16)
807
808 ldt $f0, 256($16)
809 ldt $f1, 264($16)
810 ldt $f2, 272($16)
811 ldt $f3, 280($16)
812 ldt $f4, 288($16)
813 ldt $f5, 296($16)
814 ldt $f6, 304($16)
815 ldt $f7, 312($16)
816 ldt $f8, 320($16)
817 ldt $f9, 328($16)
818 ldt $f10, 336($16)
819 ldt $f11, 344($16)
820 ldt $f12, 352($16)
821 ldt $f13, 360($16)
822 ldt $f14, 368($16)
823 ldt $f15, 376($16)
824 ldt $f16, 384($16)
825 ldt $f17, 392($16)
826 ldt $f18, 400($16)
827 ldt $f19, 408($16)
828 ldt $f20, 416($16)
829 ldt $f21, 424($16)
830 ldt $f22, 432($16)
831 ldt $f23, 440($16)
832 ldt $f24, 448($16)
833 ldt $f25, 456($16)
834 ldt $f26, 464($16)
835 ldt $f27, 472($16)
836 ldt $f28, 480($16)
837 ldt $f29, 488($16)
838 ldt $f30, 496($16)
839 ldq $16, 128($16)
840 ret $31, ($26), 1
841 END(_ZNK7_Unwind15Registers_Alpha6jumptoEv)
842 #endif
843
844 #if defined(__mips_n64) || defined(__mips_n32)
845 .set noat
846 LEAF(_ZN7_Unwind16Registers_MIPS64C1Ev)
847 #if 0
848 FP_S $f0, 256($4)
849 FP_S $f1, 264($4)
850 FP_S $f2, 272($4)
851 FP_S $f3, 280($4)
852 FP_S $f4, 288($4)
853 FP_S $f5, 296($4)
854 FP_S $f6, 304($4)
855 FP_S $f7, 312($4)
856 FP_S $f8, 320($4)
857 FP_S $f9, 328($4)
858 FP_S $f10, 336($4)
859 FP_S $f11, 344($4)
860 FP_S $f12, 352($4)
861 FP_S $f13, 360($4)
862 FP_S $f14, 368($4)
863 FP_S $f15, 376($4)
864 FP_S $f16, 384($4)
865 FP_S $f17, 392($4)
866 FP_S $f18, 400($4)
867 FP_S $f19, 408($4)
868 FP_S $f20, 416($4)
869 FP_S $f21, 424($4)
870 FP_S $f22, 432($4)
871 FP_S $f23, 440($4)
872 FP_S $f24, 448($4)
873 FP_S $f25, 456($4)
874 FP_S $f26, 464($4)
875 FP_S $f27, 472($4)
876 FP_S $f28, 480($4)
877 FP_S $f29, 488($4)
878 FP_S $f30, 496($4)
879 FP_S $f31, 504($4)
880 #endif
881 sd $31, 0($4)
882 sd $1, 4($4)
883 sd $2, 8($4)
884 sd $3, 12($4)
885 sd $4, 16($4)
886 sd $5, 20($4)
887 sd $6, 24($4)
888 sd $7, 28($4)
889 sd $8, 32($4)
890 sd $9, 36($4)
891 sd $10, 40($4)
892 sd $11, 44($4)
893 sd $12, 48($4)
894 sd $13, 52($4)
895 sd $14, 56($4)
896 sd $15, 60($4)
897 sd $16, 64($4)
898 sd $17, 68($4)
899 sd $18, 72($4)
900 sd $19, 76($4)
901 sd $20, 80($4)
902 sd $21, 84($4)
903 sd $22, 88($4)
904 sd $23, 92($4)
905 sd $24, 96($4)
906 sd $25, 100($4)
907 sd $26, 104($4)
908 sd $27, 108($4)
909 sd $28, 112($4)
910 sd $29, 116($4)
911 sd $30, 120($4)
912 sd $31, 124($4)
913 jr $31
914 nop
915 END(_ZN7_Unwind16Registers_MIPS64C1Ev)
916
917 LEAF(_ZNK7_Unwind16Registers_MIPS646jumptoEv)
918 #if 0
919 FP_L $f0, 256($4)
920 FP_L $f1, 264($4)
921 FP_L $f2, 272($4)
922 FP_L $f3, 280($4)
923 FP_L $f4, 288($4)
924 FP_L $f5, 296($4)
925 FP_L $f6, 304($4)
926 FP_L $f7, 312($4)
927 FP_L $f8, 320($4)
928 FP_L $f9, 328($4)
929 FP_L $f10, 336($4)
930 FP_L $f11, 344($4)
931 FP_L $f12, 352($4)
932 FP_L $f13, 360($4)
933 FP_L $f14, 368($4)
934 FP_L $f15, 376($4)
935 FP_L $f16, 384($4)
936 FP_L $f17, 392($4)
937 FP_L $f18, 400($4)
938 FP_L $f19, 408($4)
939 FP_L $f20, 416($4)
940 FP_L $f21, 424($4)
941 FP_L $f22, 432($4)
942 FP_L $f23, 440($4)
943 FP_L $f24, 448($4)
944 FP_L $f25, 456($4)
945 FP_L $f26, 464($4)
946 FP_L $f27, 472($4)
947 FP_L $f28, 480($4)
948 FP_L $f29, 488($4)
949 FP_L $f30, 496($4)
950 FP_L $f31, 504($4)
951 #endif
952
953 ld $31, 0($4)
954 ld $1, 8($4)
955 ld $2, 16($4)
956 ld $3, 24($4)
957 ld $5, 40($4)
958 ld $6, 48($4)
959 ld $7, 56($4)
960 ld $8, 64($4)
961 ld $9, 72($4)
962 ld $10, 80($4)
963 ld $11, 88($4)
964 ld $12, 96($4)
965 ld $13, 104($4)
966 ld $14, 112($4)
967 ld $15, 120($4)
968 ld $16, 128($4)
969 ld $17, 136($4)
970 ld $18, 144($4)
971 ld $19, 152($4)
972 ld $20, 160($4)
973 ld $21, 168($4)
974 ld $22, 176($4)
975 ld $23, 184($4)
976 ld $24, 192($4)
977 ld $25, 200($4)
978 ld $26, 208($4)
979 ld $27, 216($4)
980 ld $28, 224($4)
981 ld $29, 232($4)
982 ld $30, 240($4)
983 ld $4, 32($4)
984 jr $31
985 nop
986 END(_ZNK7_Unwind16Registers_MIPS646jumptoEv)
987 #elif defined(__mips__)
988 .set noat
989 LEAF(_ZN7_Unwind14Registers_MIPSC1Ev)
990 #if 0
991 #if __mips > 1
992 FP_S $f0, 128($4)
993 FP_S $f1, 136($4)
994 FP_S $f2, 144($4)
995 FP_S $f3, 152($4)
996 FP_S $f4, 160($4)
997 FP_S $f5, 168($4)
998 FP_S $f6, 176($4)
999 FP_S $f7, 184($4)
1000 FP_S $f8, 192($4)
1001 FP_S $f9, 200($4)
1002 FP_S $f10, 208($4)
1003 FP_S $f11, 216($4)
1004 FP_S $f12, 224($4)
1005 FP_S $f13, 232($4)
1006 FP_S $f14, 240($4)
1007 FP_S $f15, 248($4)
1008 FP_S $f16, 256($4)
1009 FP_S $f17, 264($4)
1010 FP_S $f18, 272($4)
1011 FP_S $f19, 280($4)
1012 FP_S $f20, 288($4)
1013 FP_S $f21, 296($4)
1014 FP_S $f22, 304($4)
1015 FP_S $f23, 312($4)
1016 FP_S $f24, 320($4)
1017 FP_S $f25, 328($4)
1018 FP_S $f26, 336($4)
1019 FP_S $f27, 344($4)
1020 FP_S $f28, 352($4)
1021 FP_S $f29, 360($4)
1022 FP_S $f30, 368($4)
1023 FP_S $f31, 376($4)
1024 #endif
1025 #endif
1026 sw $31, 0($4)
1027 sw $1, 4($4)
1028 sw $2, 8($4)
1029 sw $3, 12($4)
1030 sw $4, 16($4)
1031 sw $5, 20($4)
1032 sw $6, 24($4)
1033 sw $7, 28($4)
1034 sw $8, 32($4)
1035 sw $9, 36($4)
1036 sw $10, 40($4)
1037 sw $11, 44($4)
1038 sw $12, 48($4)
1039 sw $13, 52($4)
1040 sw $14, 56($4)
1041 sw $15, 60($4)
1042 sw $16, 64($4)
1043 sw $17, 68($4)
1044 sw $18, 72($4)
1045 sw $19, 76($4)
1046 sw $20, 80($4)
1047 sw $21, 84($4)
1048 sw $22, 88($4)
1049 sw $23, 92($4)
1050 sw $24, 96($4)
1051 sw $25, 100($4)
1052 sw $26, 104($4)
1053 sw $27, 108($4)
1054 sw $28, 112($4)
1055 sw $29, 116($4)
1056 sw $30, 120($4)
1057 sw $31, 124($4)
1058 jr $31
1059 nop
1060 END(_ZN7_Unwind14Registers_MIPSC1Ev)
1061
1062 LEAF(_ZNK7_Unwind14Registers_MIPS6jumptoEv)
1063 #if 0
1064 #if __mips > 1
1065 FP_L $f0, 128($4)
1066 FP_L $f1, 136($4)
1067 FP_L $f2, 144($4)
1068 FP_L $f3, 152($4)
1069 FP_L $f4, 160($4)
1070 FP_L $f5, 168($4)
1071 FP_L $f6, 176($4)
1072 FP_L $f7, 184($4)
1073 FP_L $f8, 192($4)
1074 FP_L $f9, 200($4)
1075 FP_L $f10, 208($4)
1076 FP_L $f11, 216($4)
1077 FP_L $f12, 224($4)
1078 FP_L $f13, 232($4)
1079 FP_L $f14, 240($4)
1080 FP_L $f15, 248($4)
1081 FP_L $f16, 256($4)
1082 FP_L $f17, 264($4)
1083 FP_L $f18, 272($4)
1084 FP_L $f19, 280($4)
1085 FP_L $f20, 288($4)
1086 FP_L $f21, 296($4)
1087 FP_L $f22, 304($4)
1088 FP_L $f23, 312($4)
1089 FP_L $f24, 320($4)
1090 FP_L $f25, 328($4)
1091 FP_L $f26, 336($4)
1092 FP_L $f27, 344($4)
1093 FP_L $f28, 352($4)
1094 FP_L $f29, 360($4)
1095 FP_L $f30, 368($4)
1096 FP_L $f31, 376($4)
1097 #endif
1098 #endif
1099
1100 lw $31, 0($4)
1101 lw $1, 4($4)
1102 lw $2, 8($4)
1103 lw $3, 12($4)
1104 lw $5, 20($4)
1105 lw $6, 24($4)
1106 lw $7, 28($4)
1107 lw $8, 32($4)
1108 lw $9, 36($4)
1109 lw $10, 40($4)
1110 lw $11, 44($4)
1111 lw $12, 48($4)
1112 lw $13, 52($4)
1113 lw $14, 56($4)
1114 lw $15, 60($4)
1115 lw $16, 64($4)
1116 lw $17, 68($4)
1117 lw $18, 72($4)
1118 lw $19, 76($4)
1119 lw $20, 80($4)
1120 lw $21, 84($4)
1121 lw $22, 88($4)
1122 lw $23, 92($4)
1123 lw $24, 96($4)
1124 lw $25, 100($4)
1125 lw $26, 104($4)
1126 lw $27, 108($4)
1127 lw $28, 112($4)
1128 lw $29, 116($4)
1129 lw $30, 120($4)
1130 lw $4, 16($4)
1131 jr $31
1132 nop
1133 END(_ZNK7_Unwind14Registers_MIPS6jumptoEv)
1134 #endif
1135
1136 #if defined(__hppa__)
1137 LEAF_ENTRY_NOPROFILE(_ZN7_Unwind14Registers_HPPAC1Ev)
1138 stw %r2, 0(%r26)
1139 stw %r1, 4(%r26)
1140 stw %r2, 8(%r26)
1141 stw %r3, 12(%r26)
1142 stw %r4, 16(%r26)
1143 stw %r5, 20(%r26)
1144 stw %r6, 24(%r26)
1145 stw %r7, 28(%r26)
1146 stw %r8, 32(%r26)
1147 stw %r9, 36(%r26)
1148 stw %r10, 40(%r26)
1149 stw %r11, 44(%r26)
1150 stw %r12, 48(%r26)
1151 stw %r13, 52(%r26)
1152 stw %r14, 56(%r26)
1153 stw %r15, 60(%r26)
1154 stw %r16, 64(%r26)
1155 stw %r17, 68(%r26)
1156 stw %r18, 72(%r26)
1157 stw %r19, 76(%r26)
1158 stw %r20, 80(%r26)
1159 stw %r21, 84(%r26)
1160 stw %r22, 88(%r26)
1161 stw %r23, 92(%r26)
1162 stw %r24, 96(%r26)
1163 stw %r25, 100(%r26)
1164 stw %r26, 104(%r26)
1165 stw %r27, 108(%r26)
1166 stw %r28, 112(%r26)
1167 stw %r29, 116(%r26)
1168 stw %r30, 120(%r26)
1169 stw %r31, 124(%r26)
1170 ldi 128, %r19
1171 addl %r19, %r26, %r19
1172 fstds,ma %fr4, 8(%r19)
1173 fstds,ma %fr5, 8(%r19)
1174 fstds,ma %fr6, 8(%r19)
1175 fstds,ma %fr7, 8(%r19)
1176 fstds,ma %fr8, 8(%r19)
1177 fstds,ma %fr9, 8(%r19)
1178 fstds,ma %fr10, 8(%r19)
1179 fstds,ma %fr11, 8(%r19)
1180 fstds,ma %fr12, 8(%r19)
1181 fstds,ma %fr13, 8(%r19)
1182 fstds,ma %fr14, 8(%r19)
1183 fstds,ma %fr15, 8(%r19)
1184 fstds,ma %fr16, 8(%r19)
1185 fstds,ma %fr17, 8(%r19)
1186 fstds,ma %fr18, 8(%r19)
1187 fstds,ma %fr19, 8(%r19)
1188 fstds,ma %fr20, 8(%r19)
1189 fstds,ma %fr21, 8(%r19)
1190 fstds,ma %fr22, 8(%r19)
1191 fstds,ma %fr23, 8(%r19)
1192 fstds,ma %fr24, 8(%r19)
1193 fstds,ma %fr25, 8(%r19)
1194 fstds,ma %fr19, 8(%r19)
1195 fstds,ma %fr27, 8(%r19)
1196 fstds,ma %fr28, 8(%r19)
1197 fstds,ma %fr29, 8(%r19)
1198 fstds,ma %fr30, 8(%r19)
1199 fstds,ma %fr31, 8(%r19)
1200 ldw 76(%r26), %r19
1201 bv,n %r0(%r2)
1202 EXIT(_ZN7_Unwind14Registers_HPPAC1Ev)
1203
1204 LEAF_ENTRY_NOPROFILE(_ZNK7_Unwind14Registers_HPPA6jumptoEv)
1205 ldi 128, %r19
1206 addl %r19, %r26, %r19
1207 fldds,ma 8(%r19), %fr4
1208 fldds,ma 8(%r19), %fr5
1209 fldds,ma 8(%r19), %fr6
1210 fldds,ma 8(%r19), %fr7
1211 fldds,ma 8(%r19), %fr8
1212 fldds,ma 8(%r19), %fr9
1213 fldds,ma 8(%r19), %fr10
1214 fldds,ma 8(%r19), %fr11
1215 fldds,ma 8(%r19), %fr12
1216 fldds,ma 8(%r19), %fr13
1217 fldds,ma 8(%r19), %fr14
1218 fldds,ma 8(%r19), %fr15
1219 fldds,ma 8(%r19), %fr16
1220 fldds,ma 8(%r19), %fr17
1221 fldds,ma 8(%r19), %fr18
1222 fldds,ma 8(%r19), %fr19
1223 fldds,ma 8(%r19), %fr20
1224 fldds,ma 8(%r19), %fr21
1225 fldds,ma 8(%r19), %fr22
1226 fldds,ma 8(%r19), %fr23
1227 fldds,ma 8(%r19), %fr24
1228 fldds,ma 8(%r19), %fr25
1229 fldds,ma 8(%r19), %fr26
1230 fldds,ma 8(%r19), %fr27
1231 fldds,ma 8(%r19), %fr28
1232 fldds,ma 8(%r19), %fr29
1233 fldds,ma 8(%r19), %fr30
1234 fldds,ma 8(%r19), %fr31
1235 ldw 0(%r26), %r2
1236 ldw 4(%r26), %r1
1237 ldw 12(%r26), %r3
1238 ldw 16(%r26), %r4
1239 ldw 20(%r26), %r5
1240 ldw 24(%r26), %r6
1241 ldw 28(%r26), %r7
1242 ldw 32(%r26), %r8
1243 ldw 36(%r26), %r9
1244 ldw 40(%r26), %r10
1245 ldw 44(%r26), %r11
1246 ldw 48(%r26), %r12
1247 ldw 52(%r26), %r13
1248 ldw 56(%r26), %r14
1249 ldw 60(%r26), %r15
1250 ldw 64(%r26), %r16
1251 ldw 68(%r26), %r17
1252 ldw 72(%r26), %r18
1253 ldw 76(%r26), %r19
1254 ldw 80(%r26), %r20
1255 ldw 84(%r26), %r21
1256 ldw 88(%r26), %r22
1257 ldw 92(%r26), %r23
1258 ldw 96(%r26), %r24
1259 ldw 100(%r26), %r25
1260 ldw 108(%r26), %r27
1261 ldw 112(%r26), %r28
1262 ldw 116(%r26), %r29
1263 ldw 120(%r26), %r30
1264 ldw 124(%r26), %r31
1265 ldw 104(%r26), %r26
1266 bv,n %r0(%r2)
1267 EXIT(_ZNK7_Unwind14Registers_HPPA6jumptoEv)
1268 #endif
1269
1270 #ifdef __or1k__
1271 ENTRY_NP(_ZN7_Unwind14Registers_or1kC1Ev)
1272 l.sw (0*3)(r3), r0
1273 l.sw (1*3)(r3), r1
1274 l.sw (2*3)(r3), r2
1275 l.sw (3*3)(r3), r3
1276 l.sw (4*3)(r3), r4
1277 l.sw (5*3)(r3), r5
1278 l.sw (6*3)(r3), r6
1279 l.sw (7*3)(r3), r7
1280 l.sw (8*3)(r3), r8
1281 l.sw (9*3)(r3), r9
1282 l.sw (10*3)(r3), r10
1283 l.sw (11*3)(r3), r11
1284 l.sw (12*3)(r3), r12
1285 l.sw (13*3)(r3), r13
1286 l.sw (14*3)(r3), r14
1287 l.sw (15*3)(r3), r15
1288 l.sw (16*3)(r3), r16
1289 l.sw (17*3)(r3), r17
1290 l.sw (18*3)(r3), r18
1291 l.sw (19*3)(r3), r19
1292 l.sw (20*3)(r3), r20
1293 l.sw (21*3)(r3), r21
1294 l.sw (22*3)(r3), r22
1295 l.sw (23*3)(r3), r23
1296 l.sw (24*3)(r3), r24
1297 l.sw (25*3)(r3), r25
1298 l.sw (26*3)(r3), r26
1299 l.sw (27*3)(r3), r27
1300 l.sw (28*3)(r3), r28
1301 l.sw (29*3)(r3), r29
1302 l.sw (30*3)(r3), r30
1303 l.sw (31*3)(r3), r31
1304 l.mfspr r4, r0, 20
1305 l.sw (32*4)(r3), r4
1306 l.jr lr
1307 l.nop
1308 END(_ZN7_Unwind14Registers_or1kC1Ev)
1309
1310 ENTRY_NP(_ZNK7_Unwind14Registers_or1k6jumptoEv)
1311 l.lwz r6, (32*4)(r3)
1312 l.mtspr r0, r6, 20
1313 l.lwz r0, (0*4)(r3)
1314 l.lwz r1, (1*4)(r3)
1315 l.lwz r2, (2*4)(r3)
1316 l.lwz r4, (4*4)(r3)
1317 l.lwz r5, (5*4)(r3)
1318 l.lwz r6, (6*4)(r3)
1319 l.lwz r7, (7*4)(r3)
1320 l.lwz r8, (8*4)(r3)
1321 l.lwz r9, (9*4)(r3)
1322 l.lwz r10, (10*4)(r3)
1323 l.lwz r11, (11*4)(r3)
1324 l.lwz r12, (12*4)(r3)
1325 l.lwz r13, (13*4)(r3)
1326 l.lwz r14, (14*4)(r3)
1327 l.lwz r15, (15*4)(r3)
1328 l.lwz r16, (16*4)(r3)
1329 l.lwz r17, (17*4)(r3)
1330 l.lwz r18, (18*4)(r3)
1331 l.lwz r19, (19*4)(r3)
1332 l.lwz r20, (20*4)(r3)
1333 l.lwz r21, (21*4)(r3)
1334 l.lwz r22, (22*4)(r3)
1335 l.lwz r23, (23*4)(r3)
1336 l.lwz r24, (24*4)(r3)
1337 l.lwz r25, (25*4)(r3)
1338 l.lwz r26, (26*4)(r3)
1339 l.lwz r27, (27*4)(r3)
1340 l.lwz r28, (28*4)(r3)
1341 l.lwz r29, (29*4)(r3)
1342 l.lwz r30, (30*4)(r3)
1343 l.lwz r31, (31*4)(r3)
1344
1345 l.lwz r3, (3*4)(r3) /* return r3 */
1346 l.jr lr
1347 END(_ZNK7_Unwind14Registers_or1k6jumptoEv)
1348
1349 #endif
1350