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