1 .file "snapshot.S" 2#ifdef __AVX__ 3 .sse_check none 4#endif 5 .text 6 .p2align 4,,15 7.globl snapshot 8 .type snapshot, @function 9snapshot: 10.LFB3: 11 movq %rax, rax(%rip) 12 movq %rbx, rbx(%rip) 13 movq %rcx, rcx(%rip) 14 movq %rdx, rdx(%rip) 15 movq %rdi, rdi(%rip) 16 movq %rsi, rsi(%rip) 17 movq %rbp, rbp(%rip) 18 movq %rsp, rsp(%rip) 19 movq %r8, r8(%rip) 20 movq %r9, r9(%rip) 21 movq %r10, r10(%rip) 22 movq %r11, r11(%rip) 23 movq %r12, r12(%rip) 24 movq %r13, r13(%rip) 25 movq %r14, r14(%rip) 26 movq %r15, r15(%rip) 27 movdqu %xmm0, xmm_regs+0(%rip) 28 movdqu %xmm1, xmm_regs+16(%rip) 29 movdqu %xmm2, xmm_regs+32(%rip) 30 movdqu %xmm3, xmm_regs+48(%rip) 31 movdqu %xmm4, xmm_regs+64(%rip) 32 movdqu %xmm5, xmm_regs+80(%rip) 33 movdqu %xmm6, xmm_regs+96(%rip) 34 movdqu %xmm7, xmm_regs+112(%rip) 35 movdqu %xmm8, xmm_regs+128(%rip) 36 movdqu %xmm9, xmm_regs+144(%rip) 37 movdqu %xmm10, xmm_regs+160(%rip) 38 movdqu %xmm11, xmm_regs+176(%rip) 39 movdqu %xmm12, xmm_regs+192(%rip) 40 movdqu %xmm13, xmm_regs+208(%rip) 41 movdqu %xmm14, xmm_regs+224(%rip) 42 movdqu %xmm15, xmm_regs+240(%rip) 43 jmp *callthis(%rip) 44.LFE3: 45 .size snapshot, .-snapshot 46 47 .p2align 4,,15 48.globl snapshot_ret 49 .type snapshot_ret, @function 50snapshot_ret: 51 movq %rdi, rdi(%rip) 52 subq $8, %rsp 53 call *callthis(%rip) 54 addq $8, %rsp 55 movq %rax, rax(%rip) 56 movq %rdx, rdx(%rip) 57 movdqu %xmm0, xmm_regs+0(%rip) 58 movdqu %xmm1, xmm_regs+16(%rip) 59 fstpt x87_regs(%rip) 60 fstpt x87_regs+16(%rip) 61 fldt x87_regs+16(%rip) 62 fldt x87_regs(%rip) 63 ret 64 .size snapshot_ret, .-snapshot_ret 65 66 .comm callthis,8,8 67 .comm rax,8,8 68 .comm rbx,8,8 69 .comm rcx,8,8 70 .comm rdx,8,8 71 .comm rsi,8,8 72 .comm rdi,8,8 73 .comm rsp,8,8 74 .comm rbp,8,8 75 .comm r8,8,8 76 .comm r9,8,8 77 .comm r10,8,8 78 .comm r11,8,8 79 .comm r12,8,8 80 .comm r13,8,8 81 .comm r14,8,8 82 .comm r15,8,8 83 .comm xmm_regs,256,32 84 .comm x87_regs,128,32 85 .comm volatile_var,8,8 86