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