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