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