• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# This file is generated from a similarly-named Perl script in the BoringSSL
2# source tree. Do not edit by hand.
3
4#if defined(__has_feature)
5#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM)
6#define OPENSSL_NO_ASM
7#endif
8#endif
9
10#if defined(__x86_64__) && !defined(OPENSSL_NO_ASM)
11#include "ring_core_generated/prefix_symbols_asm.h"
12.text
13
14.extern	OPENSSL_ia32cap_P
15.hidden OPENSSL_ia32cap_P
16.globl	sha512_block_data_order
17.hidden sha512_block_data_order
18.type	sha512_block_data_order,@function
19.align	16
20sha512_block_data_order:
21.cfi_startproc
22	leaq	OPENSSL_ia32cap_P(%rip),%r11
23	movl	0(%r11),%r9d
24	movl	4(%r11),%r10d
25	movl	8(%r11),%r11d
26	andl	$1073741824,%r9d
27	andl	$268435968,%r10d
28	orl	%r9d,%r10d
29	cmpl	$1342177792,%r10d
30	je	.Lavx_shortcut
31	movq	%rsp,%rax
32.cfi_def_cfa_register	%rax
33	pushq	%rbx
34.cfi_offset	%rbx,-16
35	pushq	%rbp
36.cfi_offset	%rbp,-24
37	pushq	%r12
38.cfi_offset	%r12,-32
39	pushq	%r13
40.cfi_offset	%r13,-40
41	pushq	%r14
42.cfi_offset	%r14,-48
43	pushq	%r15
44.cfi_offset	%r15,-56
45	shlq	$4,%rdx
46	subq	$128+32,%rsp
47	leaq	(%rsi,%rdx,8),%rdx
48	andq	$-64,%rsp
49	movq	%rdi,128+0(%rsp)
50	movq	%rsi,128+8(%rsp)
51	movq	%rdx,128+16(%rsp)
52	movq	%rax,152(%rsp)
53.cfi_escape	0x0f,0x06,0x77,0x98,0x01,0x06,0x23,0x08
54.Lprologue:
55
56	movq	0(%rdi),%rax
57	movq	8(%rdi),%rbx
58	movq	16(%rdi),%rcx
59	movq	24(%rdi),%rdx
60	movq	32(%rdi),%r8
61	movq	40(%rdi),%r9
62	movq	48(%rdi),%r10
63	movq	56(%rdi),%r11
64	jmp	.Lloop
65
66.align	16
67.Lloop:
68	movq	%rbx,%rdi
69	leaq	K512(%rip),%rbp
70	xorq	%rcx,%rdi
71	movq	0(%rsi),%r12
72	movq	%r8,%r13
73	movq	%rax,%r14
74	bswapq	%r12
75	rorq	$23,%r13
76	movq	%r9,%r15
77
78	xorq	%r8,%r13
79	rorq	$5,%r14
80	xorq	%r10,%r15
81
82	movq	%r12,0(%rsp)
83	xorq	%rax,%r14
84	andq	%r8,%r15
85
86	rorq	$4,%r13
87	addq	%r11,%r12
88	xorq	%r10,%r15
89
90	rorq	$6,%r14
91	xorq	%r8,%r13
92	addq	%r15,%r12
93
94	movq	%rax,%r15
95	addq	(%rbp),%r12
96	xorq	%rax,%r14
97
98	xorq	%rbx,%r15
99	rorq	$14,%r13
100	movq	%rbx,%r11
101
102	andq	%r15,%rdi
103	rorq	$28,%r14
104	addq	%r13,%r12
105
106	xorq	%rdi,%r11
107	addq	%r12,%rdx
108	addq	%r12,%r11
109
110	leaq	8(%rbp),%rbp
111	addq	%r14,%r11
112	movq	8(%rsi),%r12
113	movq	%rdx,%r13
114	movq	%r11,%r14
115	bswapq	%r12
116	rorq	$23,%r13
117	movq	%r8,%rdi
118
119	xorq	%rdx,%r13
120	rorq	$5,%r14
121	xorq	%r9,%rdi
122
123	movq	%r12,8(%rsp)
124	xorq	%r11,%r14
125	andq	%rdx,%rdi
126
127	rorq	$4,%r13
128	addq	%r10,%r12
129	xorq	%r9,%rdi
130
131	rorq	$6,%r14
132	xorq	%rdx,%r13
133	addq	%rdi,%r12
134
135	movq	%r11,%rdi
136	addq	(%rbp),%r12
137	xorq	%r11,%r14
138
139	xorq	%rax,%rdi
140	rorq	$14,%r13
141	movq	%rax,%r10
142
143	andq	%rdi,%r15
144	rorq	$28,%r14
145	addq	%r13,%r12
146
147	xorq	%r15,%r10
148	addq	%r12,%rcx
149	addq	%r12,%r10
150
151	leaq	24(%rbp),%rbp
152	addq	%r14,%r10
153	movq	16(%rsi),%r12
154	movq	%rcx,%r13
155	movq	%r10,%r14
156	bswapq	%r12
157	rorq	$23,%r13
158	movq	%rdx,%r15
159
160	xorq	%rcx,%r13
161	rorq	$5,%r14
162	xorq	%r8,%r15
163
164	movq	%r12,16(%rsp)
165	xorq	%r10,%r14
166	andq	%rcx,%r15
167
168	rorq	$4,%r13
169	addq	%r9,%r12
170	xorq	%r8,%r15
171
172	rorq	$6,%r14
173	xorq	%rcx,%r13
174	addq	%r15,%r12
175
176	movq	%r10,%r15
177	addq	(%rbp),%r12
178	xorq	%r10,%r14
179
180	xorq	%r11,%r15
181	rorq	$14,%r13
182	movq	%r11,%r9
183
184	andq	%r15,%rdi
185	rorq	$28,%r14
186	addq	%r13,%r12
187
188	xorq	%rdi,%r9
189	addq	%r12,%rbx
190	addq	%r12,%r9
191
192	leaq	8(%rbp),%rbp
193	addq	%r14,%r9
194	movq	24(%rsi),%r12
195	movq	%rbx,%r13
196	movq	%r9,%r14
197	bswapq	%r12
198	rorq	$23,%r13
199	movq	%rcx,%rdi
200
201	xorq	%rbx,%r13
202	rorq	$5,%r14
203	xorq	%rdx,%rdi
204
205	movq	%r12,24(%rsp)
206	xorq	%r9,%r14
207	andq	%rbx,%rdi
208
209	rorq	$4,%r13
210	addq	%r8,%r12
211	xorq	%rdx,%rdi
212
213	rorq	$6,%r14
214	xorq	%rbx,%r13
215	addq	%rdi,%r12
216
217	movq	%r9,%rdi
218	addq	(%rbp),%r12
219	xorq	%r9,%r14
220
221	xorq	%r10,%rdi
222	rorq	$14,%r13
223	movq	%r10,%r8
224
225	andq	%rdi,%r15
226	rorq	$28,%r14
227	addq	%r13,%r12
228
229	xorq	%r15,%r8
230	addq	%r12,%rax
231	addq	%r12,%r8
232
233	leaq	24(%rbp),%rbp
234	addq	%r14,%r8
235	movq	32(%rsi),%r12
236	movq	%rax,%r13
237	movq	%r8,%r14
238	bswapq	%r12
239	rorq	$23,%r13
240	movq	%rbx,%r15
241
242	xorq	%rax,%r13
243	rorq	$5,%r14
244	xorq	%rcx,%r15
245
246	movq	%r12,32(%rsp)
247	xorq	%r8,%r14
248	andq	%rax,%r15
249
250	rorq	$4,%r13
251	addq	%rdx,%r12
252	xorq	%rcx,%r15
253
254	rorq	$6,%r14
255	xorq	%rax,%r13
256	addq	%r15,%r12
257
258	movq	%r8,%r15
259	addq	(%rbp),%r12
260	xorq	%r8,%r14
261
262	xorq	%r9,%r15
263	rorq	$14,%r13
264	movq	%r9,%rdx
265
266	andq	%r15,%rdi
267	rorq	$28,%r14
268	addq	%r13,%r12
269
270	xorq	%rdi,%rdx
271	addq	%r12,%r11
272	addq	%r12,%rdx
273
274	leaq	8(%rbp),%rbp
275	addq	%r14,%rdx
276	movq	40(%rsi),%r12
277	movq	%r11,%r13
278	movq	%rdx,%r14
279	bswapq	%r12
280	rorq	$23,%r13
281	movq	%rax,%rdi
282
283	xorq	%r11,%r13
284	rorq	$5,%r14
285	xorq	%rbx,%rdi
286
287	movq	%r12,40(%rsp)
288	xorq	%rdx,%r14
289	andq	%r11,%rdi
290
291	rorq	$4,%r13
292	addq	%rcx,%r12
293	xorq	%rbx,%rdi
294
295	rorq	$6,%r14
296	xorq	%r11,%r13
297	addq	%rdi,%r12
298
299	movq	%rdx,%rdi
300	addq	(%rbp),%r12
301	xorq	%rdx,%r14
302
303	xorq	%r8,%rdi
304	rorq	$14,%r13
305	movq	%r8,%rcx
306
307	andq	%rdi,%r15
308	rorq	$28,%r14
309	addq	%r13,%r12
310
311	xorq	%r15,%rcx
312	addq	%r12,%r10
313	addq	%r12,%rcx
314
315	leaq	24(%rbp),%rbp
316	addq	%r14,%rcx
317	movq	48(%rsi),%r12
318	movq	%r10,%r13
319	movq	%rcx,%r14
320	bswapq	%r12
321	rorq	$23,%r13
322	movq	%r11,%r15
323
324	xorq	%r10,%r13
325	rorq	$5,%r14
326	xorq	%rax,%r15
327
328	movq	%r12,48(%rsp)
329	xorq	%rcx,%r14
330	andq	%r10,%r15
331
332	rorq	$4,%r13
333	addq	%rbx,%r12
334	xorq	%rax,%r15
335
336	rorq	$6,%r14
337	xorq	%r10,%r13
338	addq	%r15,%r12
339
340	movq	%rcx,%r15
341	addq	(%rbp),%r12
342	xorq	%rcx,%r14
343
344	xorq	%rdx,%r15
345	rorq	$14,%r13
346	movq	%rdx,%rbx
347
348	andq	%r15,%rdi
349	rorq	$28,%r14
350	addq	%r13,%r12
351
352	xorq	%rdi,%rbx
353	addq	%r12,%r9
354	addq	%r12,%rbx
355
356	leaq	8(%rbp),%rbp
357	addq	%r14,%rbx
358	movq	56(%rsi),%r12
359	movq	%r9,%r13
360	movq	%rbx,%r14
361	bswapq	%r12
362	rorq	$23,%r13
363	movq	%r10,%rdi
364
365	xorq	%r9,%r13
366	rorq	$5,%r14
367	xorq	%r11,%rdi
368
369	movq	%r12,56(%rsp)
370	xorq	%rbx,%r14
371	andq	%r9,%rdi
372
373	rorq	$4,%r13
374	addq	%rax,%r12
375	xorq	%r11,%rdi
376
377	rorq	$6,%r14
378	xorq	%r9,%r13
379	addq	%rdi,%r12
380
381	movq	%rbx,%rdi
382	addq	(%rbp),%r12
383	xorq	%rbx,%r14
384
385	xorq	%rcx,%rdi
386	rorq	$14,%r13
387	movq	%rcx,%rax
388
389	andq	%rdi,%r15
390	rorq	$28,%r14
391	addq	%r13,%r12
392
393	xorq	%r15,%rax
394	addq	%r12,%r8
395	addq	%r12,%rax
396
397	leaq	24(%rbp),%rbp
398	addq	%r14,%rax
399	movq	64(%rsi),%r12
400	movq	%r8,%r13
401	movq	%rax,%r14
402	bswapq	%r12
403	rorq	$23,%r13
404	movq	%r9,%r15
405
406	xorq	%r8,%r13
407	rorq	$5,%r14
408	xorq	%r10,%r15
409
410	movq	%r12,64(%rsp)
411	xorq	%rax,%r14
412	andq	%r8,%r15
413
414	rorq	$4,%r13
415	addq	%r11,%r12
416	xorq	%r10,%r15
417
418	rorq	$6,%r14
419	xorq	%r8,%r13
420	addq	%r15,%r12
421
422	movq	%rax,%r15
423	addq	(%rbp),%r12
424	xorq	%rax,%r14
425
426	xorq	%rbx,%r15
427	rorq	$14,%r13
428	movq	%rbx,%r11
429
430	andq	%r15,%rdi
431	rorq	$28,%r14
432	addq	%r13,%r12
433
434	xorq	%rdi,%r11
435	addq	%r12,%rdx
436	addq	%r12,%r11
437
438	leaq	8(%rbp),%rbp
439	addq	%r14,%r11
440	movq	72(%rsi),%r12
441	movq	%rdx,%r13
442	movq	%r11,%r14
443	bswapq	%r12
444	rorq	$23,%r13
445	movq	%r8,%rdi
446
447	xorq	%rdx,%r13
448	rorq	$5,%r14
449	xorq	%r9,%rdi
450
451	movq	%r12,72(%rsp)
452	xorq	%r11,%r14
453	andq	%rdx,%rdi
454
455	rorq	$4,%r13
456	addq	%r10,%r12
457	xorq	%r9,%rdi
458
459	rorq	$6,%r14
460	xorq	%rdx,%r13
461	addq	%rdi,%r12
462
463	movq	%r11,%rdi
464	addq	(%rbp),%r12
465	xorq	%r11,%r14
466
467	xorq	%rax,%rdi
468	rorq	$14,%r13
469	movq	%rax,%r10
470
471	andq	%rdi,%r15
472	rorq	$28,%r14
473	addq	%r13,%r12
474
475	xorq	%r15,%r10
476	addq	%r12,%rcx
477	addq	%r12,%r10
478
479	leaq	24(%rbp),%rbp
480	addq	%r14,%r10
481	movq	80(%rsi),%r12
482	movq	%rcx,%r13
483	movq	%r10,%r14
484	bswapq	%r12
485	rorq	$23,%r13
486	movq	%rdx,%r15
487
488	xorq	%rcx,%r13
489	rorq	$5,%r14
490	xorq	%r8,%r15
491
492	movq	%r12,80(%rsp)
493	xorq	%r10,%r14
494	andq	%rcx,%r15
495
496	rorq	$4,%r13
497	addq	%r9,%r12
498	xorq	%r8,%r15
499
500	rorq	$6,%r14
501	xorq	%rcx,%r13
502	addq	%r15,%r12
503
504	movq	%r10,%r15
505	addq	(%rbp),%r12
506	xorq	%r10,%r14
507
508	xorq	%r11,%r15
509	rorq	$14,%r13
510	movq	%r11,%r9
511
512	andq	%r15,%rdi
513	rorq	$28,%r14
514	addq	%r13,%r12
515
516	xorq	%rdi,%r9
517	addq	%r12,%rbx
518	addq	%r12,%r9
519
520	leaq	8(%rbp),%rbp
521	addq	%r14,%r9
522	movq	88(%rsi),%r12
523	movq	%rbx,%r13
524	movq	%r9,%r14
525	bswapq	%r12
526	rorq	$23,%r13
527	movq	%rcx,%rdi
528
529	xorq	%rbx,%r13
530	rorq	$5,%r14
531	xorq	%rdx,%rdi
532
533	movq	%r12,88(%rsp)
534	xorq	%r9,%r14
535	andq	%rbx,%rdi
536
537	rorq	$4,%r13
538	addq	%r8,%r12
539	xorq	%rdx,%rdi
540
541	rorq	$6,%r14
542	xorq	%rbx,%r13
543	addq	%rdi,%r12
544
545	movq	%r9,%rdi
546	addq	(%rbp),%r12
547	xorq	%r9,%r14
548
549	xorq	%r10,%rdi
550	rorq	$14,%r13
551	movq	%r10,%r8
552
553	andq	%rdi,%r15
554	rorq	$28,%r14
555	addq	%r13,%r12
556
557	xorq	%r15,%r8
558	addq	%r12,%rax
559	addq	%r12,%r8
560
561	leaq	24(%rbp),%rbp
562	addq	%r14,%r8
563	movq	96(%rsi),%r12
564	movq	%rax,%r13
565	movq	%r8,%r14
566	bswapq	%r12
567	rorq	$23,%r13
568	movq	%rbx,%r15
569
570	xorq	%rax,%r13
571	rorq	$5,%r14
572	xorq	%rcx,%r15
573
574	movq	%r12,96(%rsp)
575	xorq	%r8,%r14
576	andq	%rax,%r15
577
578	rorq	$4,%r13
579	addq	%rdx,%r12
580	xorq	%rcx,%r15
581
582	rorq	$6,%r14
583	xorq	%rax,%r13
584	addq	%r15,%r12
585
586	movq	%r8,%r15
587	addq	(%rbp),%r12
588	xorq	%r8,%r14
589
590	xorq	%r9,%r15
591	rorq	$14,%r13
592	movq	%r9,%rdx
593
594	andq	%r15,%rdi
595	rorq	$28,%r14
596	addq	%r13,%r12
597
598	xorq	%rdi,%rdx
599	addq	%r12,%r11
600	addq	%r12,%rdx
601
602	leaq	8(%rbp),%rbp
603	addq	%r14,%rdx
604	movq	104(%rsi),%r12
605	movq	%r11,%r13
606	movq	%rdx,%r14
607	bswapq	%r12
608	rorq	$23,%r13
609	movq	%rax,%rdi
610
611	xorq	%r11,%r13
612	rorq	$5,%r14
613	xorq	%rbx,%rdi
614
615	movq	%r12,104(%rsp)
616	xorq	%rdx,%r14
617	andq	%r11,%rdi
618
619	rorq	$4,%r13
620	addq	%rcx,%r12
621	xorq	%rbx,%rdi
622
623	rorq	$6,%r14
624	xorq	%r11,%r13
625	addq	%rdi,%r12
626
627	movq	%rdx,%rdi
628	addq	(%rbp),%r12
629	xorq	%rdx,%r14
630
631	xorq	%r8,%rdi
632	rorq	$14,%r13
633	movq	%r8,%rcx
634
635	andq	%rdi,%r15
636	rorq	$28,%r14
637	addq	%r13,%r12
638
639	xorq	%r15,%rcx
640	addq	%r12,%r10
641	addq	%r12,%rcx
642
643	leaq	24(%rbp),%rbp
644	addq	%r14,%rcx
645	movq	112(%rsi),%r12
646	movq	%r10,%r13
647	movq	%rcx,%r14
648	bswapq	%r12
649	rorq	$23,%r13
650	movq	%r11,%r15
651
652	xorq	%r10,%r13
653	rorq	$5,%r14
654	xorq	%rax,%r15
655
656	movq	%r12,112(%rsp)
657	xorq	%rcx,%r14
658	andq	%r10,%r15
659
660	rorq	$4,%r13
661	addq	%rbx,%r12
662	xorq	%rax,%r15
663
664	rorq	$6,%r14
665	xorq	%r10,%r13
666	addq	%r15,%r12
667
668	movq	%rcx,%r15
669	addq	(%rbp),%r12
670	xorq	%rcx,%r14
671
672	xorq	%rdx,%r15
673	rorq	$14,%r13
674	movq	%rdx,%rbx
675
676	andq	%r15,%rdi
677	rorq	$28,%r14
678	addq	%r13,%r12
679
680	xorq	%rdi,%rbx
681	addq	%r12,%r9
682	addq	%r12,%rbx
683
684	leaq	8(%rbp),%rbp
685	addq	%r14,%rbx
686	movq	120(%rsi),%r12
687	movq	%r9,%r13
688	movq	%rbx,%r14
689	bswapq	%r12
690	rorq	$23,%r13
691	movq	%r10,%rdi
692
693	xorq	%r9,%r13
694	rorq	$5,%r14
695	xorq	%r11,%rdi
696
697	movq	%r12,120(%rsp)
698	xorq	%rbx,%r14
699	andq	%r9,%rdi
700
701	rorq	$4,%r13
702	addq	%rax,%r12
703	xorq	%r11,%rdi
704
705	rorq	$6,%r14
706	xorq	%r9,%r13
707	addq	%rdi,%r12
708
709	movq	%rbx,%rdi
710	addq	(%rbp),%r12
711	xorq	%rbx,%r14
712
713	xorq	%rcx,%rdi
714	rorq	$14,%r13
715	movq	%rcx,%rax
716
717	andq	%rdi,%r15
718	rorq	$28,%r14
719	addq	%r13,%r12
720
721	xorq	%r15,%rax
722	addq	%r12,%r8
723	addq	%r12,%rax
724
725	leaq	24(%rbp),%rbp
726	jmp	.Lrounds_16_xx
727.align	16
728.Lrounds_16_xx:
729	movq	8(%rsp),%r13
730	movq	112(%rsp),%r15
731
732	movq	%r13,%r12
733	rorq	$7,%r13
734	addq	%r14,%rax
735	movq	%r15,%r14
736	rorq	$42,%r15
737
738	xorq	%r12,%r13
739	shrq	$7,%r12
740	rorq	$1,%r13
741	xorq	%r14,%r15
742	shrq	$6,%r14
743
744	rorq	$19,%r15
745	xorq	%r13,%r12
746	xorq	%r14,%r15
747	addq	72(%rsp),%r12
748
749	addq	0(%rsp),%r12
750	movq	%r8,%r13
751	addq	%r15,%r12
752	movq	%rax,%r14
753	rorq	$23,%r13
754	movq	%r9,%r15
755
756	xorq	%r8,%r13
757	rorq	$5,%r14
758	xorq	%r10,%r15
759
760	movq	%r12,0(%rsp)
761	xorq	%rax,%r14
762	andq	%r8,%r15
763
764	rorq	$4,%r13
765	addq	%r11,%r12
766	xorq	%r10,%r15
767
768	rorq	$6,%r14
769	xorq	%r8,%r13
770	addq	%r15,%r12
771
772	movq	%rax,%r15
773	addq	(%rbp),%r12
774	xorq	%rax,%r14
775
776	xorq	%rbx,%r15
777	rorq	$14,%r13
778	movq	%rbx,%r11
779
780	andq	%r15,%rdi
781	rorq	$28,%r14
782	addq	%r13,%r12
783
784	xorq	%rdi,%r11
785	addq	%r12,%rdx
786	addq	%r12,%r11
787
788	leaq	8(%rbp),%rbp
789	movq	16(%rsp),%r13
790	movq	120(%rsp),%rdi
791
792	movq	%r13,%r12
793	rorq	$7,%r13
794	addq	%r14,%r11
795	movq	%rdi,%r14
796	rorq	$42,%rdi
797
798	xorq	%r12,%r13
799	shrq	$7,%r12
800	rorq	$1,%r13
801	xorq	%r14,%rdi
802	shrq	$6,%r14
803
804	rorq	$19,%rdi
805	xorq	%r13,%r12
806	xorq	%r14,%rdi
807	addq	80(%rsp),%r12
808
809	addq	8(%rsp),%r12
810	movq	%rdx,%r13
811	addq	%rdi,%r12
812	movq	%r11,%r14
813	rorq	$23,%r13
814	movq	%r8,%rdi
815
816	xorq	%rdx,%r13
817	rorq	$5,%r14
818	xorq	%r9,%rdi
819
820	movq	%r12,8(%rsp)
821	xorq	%r11,%r14
822	andq	%rdx,%rdi
823
824	rorq	$4,%r13
825	addq	%r10,%r12
826	xorq	%r9,%rdi
827
828	rorq	$6,%r14
829	xorq	%rdx,%r13
830	addq	%rdi,%r12
831
832	movq	%r11,%rdi
833	addq	(%rbp),%r12
834	xorq	%r11,%r14
835
836	xorq	%rax,%rdi
837	rorq	$14,%r13
838	movq	%rax,%r10
839
840	andq	%rdi,%r15
841	rorq	$28,%r14
842	addq	%r13,%r12
843
844	xorq	%r15,%r10
845	addq	%r12,%rcx
846	addq	%r12,%r10
847
848	leaq	24(%rbp),%rbp
849	movq	24(%rsp),%r13
850	movq	0(%rsp),%r15
851
852	movq	%r13,%r12
853	rorq	$7,%r13
854	addq	%r14,%r10
855	movq	%r15,%r14
856	rorq	$42,%r15
857
858	xorq	%r12,%r13
859	shrq	$7,%r12
860	rorq	$1,%r13
861	xorq	%r14,%r15
862	shrq	$6,%r14
863
864	rorq	$19,%r15
865	xorq	%r13,%r12
866	xorq	%r14,%r15
867	addq	88(%rsp),%r12
868
869	addq	16(%rsp),%r12
870	movq	%rcx,%r13
871	addq	%r15,%r12
872	movq	%r10,%r14
873	rorq	$23,%r13
874	movq	%rdx,%r15
875
876	xorq	%rcx,%r13
877	rorq	$5,%r14
878	xorq	%r8,%r15
879
880	movq	%r12,16(%rsp)
881	xorq	%r10,%r14
882	andq	%rcx,%r15
883
884	rorq	$4,%r13
885	addq	%r9,%r12
886	xorq	%r8,%r15
887
888	rorq	$6,%r14
889	xorq	%rcx,%r13
890	addq	%r15,%r12
891
892	movq	%r10,%r15
893	addq	(%rbp),%r12
894	xorq	%r10,%r14
895
896	xorq	%r11,%r15
897	rorq	$14,%r13
898	movq	%r11,%r9
899
900	andq	%r15,%rdi
901	rorq	$28,%r14
902	addq	%r13,%r12
903
904	xorq	%rdi,%r9
905	addq	%r12,%rbx
906	addq	%r12,%r9
907
908	leaq	8(%rbp),%rbp
909	movq	32(%rsp),%r13
910	movq	8(%rsp),%rdi
911
912	movq	%r13,%r12
913	rorq	$7,%r13
914	addq	%r14,%r9
915	movq	%rdi,%r14
916	rorq	$42,%rdi
917
918	xorq	%r12,%r13
919	shrq	$7,%r12
920	rorq	$1,%r13
921	xorq	%r14,%rdi
922	shrq	$6,%r14
923
924	rorq	$19,%rdi
925	xorq	%r13,%r12
926	xorq	%r14,%rdi
927	addq	96(%rsp),%r12
928
929	addq	24(%rsp),%r12
930	movq	%rbx,%r13
931	addq	%rdi,%r12
932	movq	%r9,%r14
933	rorq	$23,%r13
934	movq	%rcx,%rdi
935
936	xorq	%rbx,%r13
937	rorq	$5,%r14
938	xorq	%rdx,%rdi
939
940	movq	%r12,24(%rsp)
941	xorq	%r9,%r14
942	andq	%rbx,%rdi
943
944	rorq	$4,%r13
945	addq	%r8,%r12
946	xorq	%rdx,%rdi
947
948	rorq	$6,%r14
949	xorq	%rbx,%r13
950	addq	%rdi,%r12
951
952	movq	%r9,%rdi
953	addq	(%rbp),%r12
954	xorq	%r9,%r14
955
956	xorq	%r10,%rdi
957	rorq	$14,%r13
958	movq	%r10,%r8
959
960	andq	%rdi,%r15
961	rorq	$28,%r14
962	addq	%r13,%r12
963
964	xorq	%r15,%r8
965	addq	%r12,%rax
966	addq	%r12,%r8
967
968	leaq	24(%rbp),%rbp
969	movq	40(%rsp),%r13
970	movq	16(%rsp),%r15
971
972	movq	%r13,%r12
973	rorq	$7,%r13
974	addq	%r14,%r8
975	movq	%r15,%r14
976	rorq	$42,%r15
977
978	xorq	%r12,%r13
979	shrq	$7,%r12
980	rorq	$1,%r13
981	xorq	%r14,%r15
982	shrq	$6,%r14
983
984	rorq	$19,%r15
985	xorq	%r13,%r12
986	xorq	%r14,%r15
987	addq	104(%rsp),%r12
988
989	addq	32(%rsp),%r12
990	movq	%rax,%r13
991	addq	%r15,%r12
992	movq	%r8,%r14
993	rorq	$23,%r13
994	movq	%rbx,%r15
995
996	xorq	%rax,%r13
997	rorq	$5,%r14
998	xorq	%rcx,%r15
999
1000	movq	%r12,32(%rsp)
1001	xorq	%r8,%r14
1002	andq	%rax,%r15
1003
1004	rorq	$4,%r13
1005	addq	%rdx,%r12
1006	xorq	%rcx,%r15
1007
1008	rorq	$6,%r14
1009	xorq	%rax,%r13
1010	addq	%r15,%r12
1011
1012	movq	%r8,%r15
1013	addq	(%rbp),%r12
1014	xorq	%r8,%r14
1015
1016	xorq	%r9,%r15
1017	rorq	$14,%r13
1018	movq	%r9,%rdx
1019
1020	andq	%r15,%rdi
1021	rorq	$28,%r14
1022	addq	%r13,%r12
1023
1024	xorq	%rdi,%rdx
1025	addq	%r12,%r11
1026	addq	%r12,%rdx
1027
1028	leaq	8(%rbp),%rbp
1029	movq	48(%rsp),%r13
1030	movq	24(%rsp),%rdi
1031
1032	movq	%r13,%r12
1033	rorq	$7,%r13
1034	addq	%r14,%rdx
1035	movq	%rdi,%r14
1036	rorq	$42,%rdi
1037
1038	xorq	%r12,%r13
1039	shrq	$7,%r12
1040	rorq	$1,%r13
1041	xorq	%r14,%rdi
1042	shrq	$6,%r14
1043
1044	rorq	$19,%rdi
1045	xorq	%r13,%r12
1046	xorq	%r14,%rdi
1047	addq	112(%rsp),%r12
1048
1049	addq	40(%rsp),%r12
1050	movq	%r11,%r13
1051	addq	%rdi,%r12
1052	movq	%rdx,%r14
1053	rorq	$23,%r13
1054	movq	%rax,%rdi
1055
1056	xorq	%r11,%r13
1057	rorq	$5,%r14
1058	xorq	%rbx,%rdi
1059
1060	movq	%r12,40(%rsp)
1061	xorq	%rdx,%r14
1062	andq	%r11,%rdi
1063
1064	rorq	$4,%r13
1065	addq	%rcx,%r12
1066	xorq	%rbx,%rdi
1067
1068	rorq	$6,%r14
1069	xorq	%r11,%r13
1070	addq	%rdi,%r12
1071
1072	movq	%rdx,%rdi
1073	addq	(%rbp),%r12
1074	xorq	%rdx,%r14
1075
1076	xorq	%r8,%rdi
1077	rorq	$14,%r13
1078	movq	%r8,%rcx
1079
1080	andq	%rdi,%r15
1081	rorq	$28,%r14
1082	addq	%r13,%r12
1083
1084	xorq	%r15,%rcx
1085	addq	%r12,%r10
1086	addq	%r12,%rcx
1087
1088	leaq	24(%rbp),%rbp
1089	movq	56(%rsp),%r13
1090	movq	32(%rsp),%r15
1091
1092	movq	%r13,%r12
1093	rorq	$7,%r13
1094	addq	%r14,%rcx
1095	movq	%r15,%r14
1096	rorq	$42,%r15
1097
1098	xorq	%r12,%r13
1099	shrq	$7,%r12
1100	rorq	$1,%r13
1101	xorq	%r14,%r15
1102	shrq	$6,%r14
1103
1104	rorq	$19,%r15
1105	xorq	%r13,%r12
1106	xorq	%r14,%r15
1107	addq	120(%rsp),%r12
1108
1109	addq	48(%rsp),%r12
1110	movq	%r10,%r13
1111	addq	%r15,%r12
1112	movq	%rcx,%r14
1113	rorq	$23,%r13
1114	movq	%r11,%r15
1115
1116	xorq	%r10,%r13
1117	rorq	$5,%r14
1118	xorq	%rax,%r15
1119
1120	movq	%r12,48(%rsp)
1121	xorq	%rcx,%r14
1122	andq	%r10,%r15
1123
1124	rorq	$4,%r13
1125	addq	%rbx,%r12
1126	xorq	%rax,%r15
1127
1128	rorq	$6,%r14
1129	xorq	%r10,%r13
1130	addq	%r15,%r12
1131
1132	movq	%rcx,%r15
1133	addq	(%rbp),%r12
1134	xorq	%rcx,%r14
1135
1136	xorq	%rdx,%r15
1137	rorq	$14,%r13
1138	movq	%rdx,%rbx
1139
1140	andq	%r15,%rdi
1141	rorq	$28,%r14
1142	addq	%r13,%r12
1143
1144	xorq	%rdi,%rbx
1145	addq	%r12,%r9
1146	addq	%r12,%rbx
1147
1148	leaq	8(%rbp),%rbp
1149	movq	64(%rsp),%r13
1150	movq	40(%rsp),%rdi
1151
1152	movq	%r13,%r12
1153	rorq	$7,%r13
1154	addq	%r14,%rbx
1155	movq	%rdi,%r14
1156	rorq	$42,%rdi
1157
1158	xorq	%r12,%r13
1159	shrq	$7,%r12
1160	rorq	$1,%r13
1161	xorq	%r14,%rdi
1162	shrq	$6,%r14
1163
1164	rorq	$19,%rdi
1165	xorq	%r13,%r12
1166	xorq	%r14,%rdi
1167	addq	0(%rsp),%r12
1168
1169	addq	56(%rsp),%r12
1170	movq	%r9,%r13
1171	addq	%rdi,%r12
1172	movq	%rbx,%r14
1173	rorq	$23,%r13
1174	movq	%r10,%rdi
1175
1176	xorq	%r9,%r13
1177	rorq	$5,%r14
1178	xorq	%r11,%rdi
1179
1180	movq	%r12,56(%rsp)
1181	xorq	%rbx,%r14
1182	andq	%r9,%rdi
1183
1184	rorq	$4,%r13
1185	addq	%rax,%r12
1186	xorq	%r11,%rdi
1187
1188	rorq	$6,%r14
1189	xorq	%r9,%r13
1190	addq	%rdi,%r12
1191
1192	movq	%rbx,%rdi
1193	addq	(%rbp),%r12
1194	xorq	%rbx,%r14
1195
1196	xorq	%rcx,%rdi
1197	rorq	$14,%r13
1198	movq	%rcx,%rax
1199
1200	andq	%rdi,%r15
1201	rorq	$28,%r14
1202	addq	%r13,%r12
1203
1204	xorq	%r15,%rax
1205	addq	%r12,%r8
1206	addq	%r12,%rax
1207
1208	leaq	24(%rbp),%rbp
1209	movq	72(%rsp),%r13
1210	movq	48(%rsp),%r15
1211
1212	movq	%r13,%r12
1213	rorq	$7,%r13
1214	addq	%r14,%rax
1215	movq	%r15,%r14
1216	rorq	$42,%r15
1217
1218	xorq	%r12,%r13
1219	shrq	$7,%r12
1220	rorq	$1,%r13
1221	xorq	%r14,%r15
1222	shrq	$6,%r14
1223
1224	rorq	$19,%r15
1225	xorq	%r13,%r12
1226	xorq	%r14,%r15
1227	addq	8(%rsp),%r12
1228
1229	addq	64(%rsp),%r12
1230	movq	%r8,%r13
1231	addq	%r15,%r12
1232	movq	%rax,%r14
1233	rorq	$23,%r13
1234	movq	%r9,%r15
1235
1236	xorq	%r8,%r13
1237	rorq	$5,%r14
1238	xorq	%r10,%r15
1239
1240	movq	%r12,64(%rsp)
1241	xorq	%rax,%r14
1242	andq	%r8,%r15
1243
1244	rorq	$4,%r13
1245	addq	%r11,%r12
1246	xorq	%r10,%r15
1247
1248	rorq	$6,%r14
1249	xorq	%r8,%r13
1250	addq	%r15,%r12
1251
1252	movq	%rax,%r15
1253	addq	(%rbp),%r12
1254	xorq	%rax,%r14
1255
1256	xorq	%rbx,%r15
1257	rorq	$14,%r13
1258	movq	%rbx,%r11
1259
1260	andq	%r15,%rdi
1261	rorq	$28,%r14
1262	addq	%r13,%r12
1263
1264	xorq	%rdi,%r11
1265	addq	%r12,%rdx
1266	addq	%r12,%r11
1267
1268	leaq	8(%rbp),%rbp
1269	movq	80(%rsp),%r13
1270	movq	56(%rsp),%rdi
1271
1272	movq	%r13,%r12
1273	rorq	$7,%r13
1274	addq	%r14,%r11
1275	movq	%rdi,%r14
1276	rorq	$42,%rdi
1277
1278	xorq	%r12,%r13
1279	shrq	$7,%r12
1280	rorq	$1,%r13
1281	xorq	%r14,%rdi
1282	shrq	$6,%r14
1283
1284	rorq	$19,%rdi
1285	xorq	%r13,%r12
1286	xorq	%r14,%rdi
1287	addq	16(%rsp),%r12
1288
1289	addq	72(%rsp),%r12
1290	movq	%rdx,%r13
1291	addq	%rdi,%r12
1292	movq	%r11,%r14
1293	rorq	$23,%r13
1294	movq	%r8,%rdi
1295
1296	xorq	%rdx,%r13
1297	rorq	$5,%r14
1298	xorq	%r9,%rdi
1299
1300	movq	%r12,72(%rsp)
1301	xorq	%r11,%r14
1302	andq	%rdx,%rdi
1303
1304	rorq	$4,%r13
1305	addq	%r10,%r12
1306	xorq	%r9,%rdi
1307
1308	rorq	$6,%r14
1309	xorq	%rdx,%r13
1310	addq	%rdi,%r12
1311
1312	movq	%r11,%rdi
1313	addq	(%rbp),%r12
1314	xorq	%r11,%r14
1315
1316	xorq	%rax,%rdi
1317	rorq	$14,%r13
1318	movq	%rax,%r10
1319
1320	andq	%rdi,%r15
1321	rorq	$28,%r14
1322	addq	%r13,%r12
1323
1324	xorq	%r15,%r10
1325	addq	%r12,%rcx
1326	addq	%r12,%r10
1327
1328	leaq	24(%rbp),%rbp
1329	movq	88(%rsp),%r13
1330	movq	64(%rsp),%r15
1331
1332	movq	%r13,%r12
1333	rorq	$7,%r13
1334	addq	%r14,%r10
1335	movq	%r15,%r14
1336	rorq	$42,%r15
1337
1338	xorq	%r12,%r13
1339	shrq	$7,%r12
1340	rorq	$1,%r13
1341	xorq	%r14,%r15
1342	shrq	$6,%r14
1343
1344	rorq	$19,%r15
1345	xorq	%r13,%r12
1346	xorq	%r14,%r15
1347	addq	24(%rsp),%r12
1348
1349	addq	80(%rsp),%r12
1350	movq	%rcx,%r13
1351	addq	%r15,%r12
1352	movq	%r10,%r14
1353	rorq	$23,%r13
1354	movq	%rdx,%r15
1355
1356	xorq	%rcx,%r13
1357	rorq	$5,%r14
1358	xorq	%r8,%r15
1359
1360	movq	%r12,80(%rsp)
1361	xorq	%r10,%r14
1362	andq	%rcx,%r15
1363
1364	rorq	$4,%r13
1365	addq	%r9,%r12
1366	xorq	%r8,%r15
1367
1368	rorq	$6,%r14
1369	xorq	%rcx,%r13
1370	addq	%r15,%r12
1371
1372	movq	%r10,%r15
1373	addq	(%rbp),%r12
1374	xorq	%r10,%r14
1375
1376	xorq	%r11,%r15
1377	rorq	$14,%r13
1378	movq	%r11,%r9
1379
1380	andq	%r15,%rdi
1381	rorq	$28,%r14
1382	addq	%r13,%r12
1383
1384	xorq	%rdi,%r9
1385	addq	%r12,%rbx
1386	addq	%r12,%r9
1387
1388	leaq	8(%rbp),%rbp
1389	movq	96(%rsp),%r13
1390	movq	72(%rsp),%rdi
1391
1392	movq	%r13,%r12
1393	rorq	$7,%r13
1394	addq	%r14,%r9
1395	movq	%rdi,%r14
1396	rorq	$42,%rdi
1397
1398	xorq	%r12,%r13
1399	shrq	$7,%r12
1400	rorq	$1,%r13
1401	xorq	%r14,%rdi
1402	shrq	$6,%r14
1403
1404	rorq	$19,%rdi
1405	xorq	%r13,%r12
1406	xorq	%r14,%rdi
1407	addq	32(%rsp),%r12
1408
1409	addq	88(%rsp),%r12
1410	movq	%rbx,%r13
1411	addq	%rdi,%r12
1412	movq	%r9,%r14
1413	rorq	$23,%r13
1414	movq	%rcx,%rdi
1415
1416	xorq	%rbx,%r13
1417	rorq	$5,%r14
1418	xorq	%rdx,%rdi
1419
1420	movq	%r12,88(%rsp)
1421	xorq	%r9,%r14
1422	andq	%rbx,%rdi
1423
1424	rorq	$4,%r13
1425	addq	%r8,%r12
1426	xorq	%rdx,%rdi
1427
1428	rorq	$6,%r14
1429	xorq	%rbx,%r13
1430	addq	%rdi,%r12
1431
1432	movq	%r9,%rdi
1433	addq	(%rbp),%r12
1434	xorq	%r9,%r14
1435
1436	xorq	%r10,%rdi
1437	rorq	$14,%r13
1438	movq	%r10,%r8
1439
1440	andq	%rdi,%r15
1441	rorq	$28,%r14
1442	addq	%r13,%r12
1443
1444	xorq	%r15,%r8
1445	addq	%r12,%rax
1446	addq	%r12,%r8
1447
1448	leaq	24(%rbp),%rbp
1449	movq	104(%rsp),%r13
1450	movq	80(%rsp),%r15
1451
1452	movq	%r13,%r12
1453	rorq	$7,%r13
1454	addq	%r14,%r8
1455	movq	%r15,%r14
1456	rorq	$42,%r15
1457
1458	xorq	%r12,%r13
1459	shrq	$7,%r12
1460	rorq	$1,%r13
1461	xorq	%r14,%r15
1462	shrq	$6,%r14
1463
1464	rorq	$19,%r15
1465	xorq	%r13,%r12
1466	xorq	%r14,%r15
1467	addq	40(%rsp),%r12
1468
1469	addq	96(%rsp),%r12
1470	movq	%rax,%r13
1471	addq	%r15,%r12
1472	movq	%r8,%r14
1473	rorq	$23,%r13
1474	movq	%rbx,%r15
1475
1476	xorq	%rax,%r13
1477	rorq	$5,%r14
1478	xorq	%rcx,%r15
1479
1480	movq	%r12,96(%rsp)
1481	xorq	%r8,%r14
1482	andq	%rax,%r15
1483
1484	rorq	$4,%r13
1485	addq	%rdx,%r12
1486	xorq	%rcx,%r15
1487
1488	rorq	$6,%r14
1489	xorq	%rax,%r13
1490	addq	%r15,%r12
1491
1492	movq	%r8,%r15
1493	addq	(%rbp),%r12
1494	xorq	%r8,%r14
1495
1496	xorq	%r9,%r15
1497	rorq	$14,%r13
1498	movq	%r9,%rdx
1499
1500	andq	%r15,%rdi
1501	rorq	$28,%r14
1502	addq	%r13,%r12
1503
1504	xorq	%rdi,%rdx
1505	addq	%r12,%r11
1506	addq	%r12,%rdx
1507
1508	leaq	8(%rbp),%rbp
1509	movq	112(%rsp),%r13
1510	movq	88(%rsp),%rdi
1511
1512	movq	%r13,%r12
1513	rorq	$7,%r13
1514	addq	%r14,%rdx
1515	movq	%rdi,%r14
1516	rorq	$42,%rdi
1517
1518	xorq	%r12,%r13
1519	shrq	$7,%r12
1520	rorq	$1,%r13
1521	xorq	%r14,%rdi
1522	shrq	$6,%r14
1523
1524	rorq	$19,%rdi
1525	xorq	%r13,%r12
1526	xorq	%r14,%rdi
1527	addq	48(%rsp),%r12
1528
1529	addq	104(%rsp),%r12
1530	movq	%r11,%r13
1531	addq	%rdi,%r12
1532	movq	%rdx,%r14
1533	rorq	$23,%r13
1534	movq	%rax,%rdi
1535
1536	xorq	%r11,%r13
1537	rorq	$5,%r14
1538	xorq	%rbx,%rdi
1539
1540	movq	%r12,104(%rsp)
1541	xorq	%rdx,%r14
1542	andq	%r11,%rdi
1543
1544	rorq	$4,%r13
1545	addq	%rcx,%r12
1546	xorq	%rbx,%rdi
1547
1548	rorq	$6,%r14
1549	xorq	%r11,%r13
1550	addq	%rdi,%r12
1551
1552	movq	%rdx,%rdi
1553	addq	(%rbp),%r12
1554	xorq	%rdx,%r14
1555
1556	xorq	%r8,%rdi
1557	rorq	$14,%r13
1558	movq	%r8,%rcx
1559
1560	andq	%rdi,%r15
1561	rorq	$28,%r14
1562	addq	%r13,%r12
1563
1564	xorq	%r15,%rcx
1565	addq	%r12,%r10
1566	addq	%r12,%rcx
1567
1568	leaq	24(%rbp),%rbp
1569	movq	120(%rsp),%r13
1570	movq	96(%rsp),%r15
1571
1572	movq	%r13,%r12
1573	rorq	$7,%r13
1574	addq	%r14,%rcx
1575	movq	%r15,%r14
1576	rorq	$42,%r15
1577
1578	xorq	%r12,%r13
1579	shrq	$7,%r12
1580	rorq	$1,%r13
1581	xorq	%r14,%r15
1582	shrq	$6,%r14
1583
1584	rorq	$19,%r15
1585	xorq	%r13,%r12
1586	xorq	%r14,%r15
1587	addq	56(%rsp),%r12
1588
1589	addq	112(%rsp),%r12
1590	movq	%r10,%r13
1591	addq	%r15,%r12
1592	movq	%rcx,%r14
1593	rorq	$23,%r13
1594	movq	%r11,%r15
1595
1596	xorq	%r10,%r13
1597	rorq	$5,%r14
1598	xorq	%rax,%r15
1599
1600	movq	%r12,112(%rsp)
1601	xorq	%rcx,%r14
1602	andq	%r10,%r15
1603
1604	rorq	$4,%r13
1605	addq	%rbx,%r12
1606	xorq	%rax,%r15
1607
1608	rorq	$6,%r14
1609	xorq	%r10,%r13
1610	addq	%r15,%r12
1611
1612	movq	%rcx,%r15
1613	addq	(%rbp),%r12
1614	xorq	%rcx,%r14
1615
1616	xorq	%rdx,%r15
1617	rorq	$14,%r13
1618	movq	%rdx,%rbx
1619
1620	andq	%r15,%rdi
1621	rorq	$28,%r14
1622	addq	%r13,%r12
1623
1624	xorq	%rdi,%rbx
1625	addq	%r12,%r9
1626	addq	%r12,%rbx
1627
1628	leaq	8(%rbp),%rbp
1629	movq	0(%rsp),%r13
1630	movq	104(%rsp),%rdi
1631
1632	movq	%r13,%r12
1633	rorq	$7,%r13
1634	addq	%r14,%rbx
1635	movq	%rdi,%r14
1636	rorq	$42,%rdi
1637
1638	xorq	%r12,%r13
1639	shrq	$7,%r12
1640	rorq	$1,%r13
1641	xorq	%r14,%rdi
1642	shrq	$6,%r14
1643
1644	rorq	$19,%rdi
1645	xorq	%r13,%r12
1646	xorq	%r14,%rdi
1647	addq	64(%rsp),%r12
1648
1649	addq	120(%rsp),%r12
1650	movq	%r9,%r13
1651	addq	%rdi,%r12
1652	movq	%rbx,%r14
1653	rorq	$23,%r13
1654	movq	%r10,%rdi
1655
1656	xorq	%r9,%r13
1657	rorq	$5,%r14
1658	xorq	%r11,%rdi
1659
1660	movq	%r12,120(%rsp)
1661	xorq	%rbx,%r14
1662	andq	%r9,%rdi
1663
1664	rorq	$4,%r13
1665	addq	%rax,%r12
1666	xorq	%r11,%rdi
1667
1668	rorq	$6,%r14
1669	xorq	%r9,%r13
1670	addq	%rdi,%r12
1671
1672	movq	%rbx,%rdi
1673	addq	(%rbp),%r12
1674	xorq	%rbx,%r14
1675
1676	xorq	%rcx,%rdi
1677	rorq	$14,%r13
1678	movq	%rcx,%rax
1679
1680	andq	%rdi,%r15
1681	rorq	$28,%r14
1682	addq	%r13,%r12
1683
1684	xorq	%r15,%rax
1685	addq	%r12,%r8
1686	addq	%r12,%rax
1687
1688	leaq	24(%rbp),%rbp
1689	cmpb	$0,7(%rbp)
1690	jnz	.Lrounds_16_xx
1691
1692	movq	128+0(%rsp),%rdi
1693	addq	%r14,%rax
1694	leaq	128(%rsi),%rsi
1695
1696	addq	0(%rdi),%rax
1697	addq	8(%rdi),%rbx
1698	addq	16(%rdi),%rcx
1699	addq	24(%rdi),%rdx
1700	addq	32(%rdi),%r8
1701	addq	40(%rdi),%r9
1702	addq	48(%rdi),%r10
1703	addq	56(%rdi),%r11
1704
1705	cmpq	128+16(%rsp),%rsi
1706
1707	movq	%rax,0(%rdi)
1708	movq	%rbx,8(%rdi)
1709	movq	%rcx,16(%rdi)
1710	movq	%rdx,24(%rdi)
1711	movq	%r8,32(%rdi)
1712	movq	%r9,40(%rdi)
1713	movq	%r10,48(%rdi)
1714	movq	%r11,56(%rdi)
1715	jb	.Lloop
1716
1717	movq	152(%rsp),%rsi
1718.cfi_def_cfa	%rsi,8
1719	movq	-48(%rsi),%r15
1720.cfi_restore	%r15
1721	movq	-40(%rsi),%r14
1722.cfi_restore	%r14
1723	movq	-32(%rsi),%r13
1724.cfi_restore	%r13
1725	movq	-24(%rsi),%r12
1726.cfi_restore	%r12
1727	movq	-16(%rsi),%rbp
1728.cfi_restore	%rbp
1729	movq	-8(%rsi),%rbx
1730.cfi_restore	%rbx
1731	leaq	(%rsi),%rsp
1732.cfi_def_cfa_register	%rsp
1733.Lepilogue:
1734	.byte	0xf3,0xc3
1735.cfi_endproc
1736.size	sha512_block_data_order,.-sha512_block_data_order
1737.align	64
1738.type	K512,@object
1739K512:
1740.quad	0x428a2f98d728ae22,0x7137449123ef65cd
1741.quad	0x428a2f98d728ae22,0x7137449123ef65cd
1742.quad	0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc
1743.quad	0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc
1744.quad	0x3956c25bf348b538,0x59f111f1b605d019
1745.quad	0x3956c25bf348b538,0x59f111f1b605d019
1746.quad	0x923f82a4af194f9b,0xab1c5ed5da6d8118
1747.quad	0x923f82a4af194f9b,0xab1c5ed5da6d8118
1748.quad	0xd807aa98a3030242,0x12835b0145706fbe
1749.quad	0xd807aa98a3030242,0x12835b0145706fbe
1750.quad	0x243185be4ee4b28c,0x550c7dc3d5ffb4e2
1751.quad	0x243185be4ee4b28c,0x550c7dc3d5ffb4e2
1752.quad	0x72be5d74f27b896f,0x80deb1fe3b1696b1
1753.quad	0x72be5d74f27b896f,0x80deb1fe3b1696b1
1754.quad	0x9bdc06a725c71235,0xc19bf174cf692694
1755.quad	0x9bdc06a725c71235,0xc19bf174cf692694
1756.quad	0xe49b69c19ef14ad2,0xefbe4786384f25e3
1757.quad	0xe49b69c19ef14ad2,0xefbe4786384f25e3
1758.quad	0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65
1759.quad	0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65
1760.quad	0x2de92c6f592b0275,0x4a7484aa6ea6e483
1761.quad	0x2de92c6f592b0275,0x4a7484aa6ea6e483
1762.quad	0x5cb0a9dcbd41fbd4,0x76f988da831153b5
1763.quad	0x5cb0a9dcbd41fbd4,0x76f988da831153b5
1764.quad	0x983e5152ee66dfab,0xa831c66d2db43210
1765.quad	0x983e5152ee66dfab,0xa831c66d2db43210
1766.quad	0xb00327c898fb213f,0xbf597fc7beef0ee4
1767.quad	0xb00327c898fb213f,0xbf597fc7beef0ee4
1768.quad	0xc6e00bf33da88fc2,0xd5a79147930aa725
1769.quad	0xc6e00bf33da88fc2,0xd5a79147930aa725
1770.quad	0x06ca6351e003826f,0x142929670a0e6e70
1771.quad	0x06ca6351e003826f,0x142929670a0e6e70
1772.quad	0x27b70a8546d22ffc,0x2e1b21385c26c926
1773.quad	0x27b70a8546d22ffc,0x2e1b21385c26c926
1774.quad	0x4d2c6dfc5ac42aed,0x53380d139d95b3df
1775.quad	0x4d2c6dfc5ac42aed,0x53380d139d95b3df
1776.quad	0x650a73548baf63de,0x766a0abb3c77b2a8
1777.quad	0x650a73548baf63de,0x766a0abb3c77b2a8
1778.quad	0x81c2c92e47edaee6,0x92722c851482353b
1779.quad	0x81c2c92e47edaee6,0x92722c851482353b
1780.quad	0xa2bfe8a14cf10364,0xa81a664bbc423001
1781.quad	0xa2bfe8a14cf10364,0xa81a664bbc423001
1782.quad	0xc24b8b70d0f89791,0xc76c51a30654be30
1783.quad	0xc24b8b70d0f89791,0xc76c51a30654be30
1784.quad	0xd192e819d6ef5218,0xd69906245565a910
1785.quad	0xd192e819d6ef5218,0xd69906245565a910
1786.quad	0xf40e35855771202a,0x106aa07032bbd1b8
1787.quad	0xf40e35855771202a,0x106aa07032bbd1b8
1788.quad	0x19a4c116b8d2d0c8,0x1e376c085141ab53
1789.quad	0x19a4c116b8d2d0c8,0x1e376c085141ab53
1790.quad	0x2748774cdf8eeb99,0x34b0bcb5e19b48a8
1791.quad	0x2748774cdf8eeb99,0x34b0bcb5e19b48a8
1792.quad	0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb
1793.quad	0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb
1794.quad	0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3
1795.quad	0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3
1796.quad	0x748f82ee5defb2fc,0x78a5636f43172f60
1797.quad	0x748f82ee5defb2fc,0x78a5636f43172f60
1798.quad	0x84c87814a1f0ab72,0x8cc702081a6439ec
1799.quad	0x84c87814a1f0ab72,0x8cc702081a6439ec
1800.quad	0x90befffa23631e28,0xa4506cebde82bde9
1801.quad	0x90befffa23631e28,0xa4506cebde82bde9
1802.quad	0xbef9a3f7b2c67915,0xc67178f2e372532b
1803.quad	0xbef9a3f7b2c67915,0xc67178f2e372532b
1804.quad	0xca273eceea26619c,0xd186b8c721c0c207
1805.quad	0xca273eceea26619c,0xd186b8c721c0c207
1806.quad	0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178
1807.quad	0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178
1808.quad	0x06f067aa72176fba,0x0a637dc5a2c898a6
1809.quad	0x06f067aa72176fba,0x0a637dc5a2c898a6
1810.quad	0x113f9804bef90dae,0x1b710b35131c471b
1811.quad	0x113f9804bef90dae,0x1b710b35131c471b
1812.quad	0x28db77f523047d84,0x32caab7b40c72493
1813.quad	0x28db77f523047d84,0x32caab7b40c72493
1814.quad	0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
1815.quad	0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
1816.quad	0x4cc5d4becb3e42b6,0x597f299cfc657e2a
1817.quad	0x4cc5d4becb3e42b6,0x597f299cfc657e2a
1818.quad	0x5fcb6fab3ad6faec,0x6c44198c4a475817
1819.quad	0x5fcb6fab3ad6faec,0x6c44198c4a475817
1820
1821.quad	0x0001020304050607,0x08090a0b0c0d0e0f
1822.quad	0x0001020304050607,0x08090a0b0c0d0e0f
1823.byte	83,72,65,53,49,50,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
1824.type	sha512_block_data_order_avx,@function
1825.align	64
1826sha512_block_data_order_avx:
1827.cfi_startproc
1828.Lavx_shortcut:
1829	movq	%rsp,%rax
1830.cfi_def_cfa_register	%rax
1831	pushq	%rbx
1832.cfi_offset	%rbx,-16
1833	pushq	%rbp
1834.cfi_offset	%rbp,-24
1835	pushq	%r12
1836.cfi_offset	%r12,-32
1837	pushq	%r13
1838.cfi_offset	%r13,-40
1839	pushq	%r14
1840.cfi_offset	%r14,-48
1841	pushq	%r15
1842.cfi_offset	%r15,-56
1843	shlq	$4,%rdx
1844	subq	$160,%rsp
1845	leaq	(%rsi,%rdx,8),%rdx
1846	andq	$-64,%rsp
1847	movq	%rdi,128+0(%rsp)
1848	movq	%rsi,128+8(%rsp)
1849	movq	%rdx,128+16(%rsp)
1850	movq	%rax,152(%rsp)
1851.cfi_escape	0x0f,0x06,0x77,0x98,0x01,0x06,0x23,0x08
1852.Lprologue_avx:
1853
1854	vzeroupper
1855	movq	0(%rdi),%rax
1856	movq	8(%rdi),%rbx
1857	movq	16(%rdi),%rcx
1858	movq	24(%rdi),%rdx
1859	movq	32(%rdi),%r8
1860	movq	40(%rdi),%r9
1861	movq	48(%rdi),%r10
1862	movq	56(%rdi),%r11
1863	jmp	.Lloop_avx
1864.align	16
1865.Lloop_avx:
1866	vmovdqa	K512+1280(%rip),%xmm11
1867	vmovdqu	0(%rsi),%xmm0
1868	leaq	K512+128(%rip),%rbp
1869	vmovdqu	16(%rsi),%xmm1
1870	vmovdqu	32(%rsi),%xmm2
1871	vpshufb	%xmm11,%xmm0,%xmm0
1872	vmovdqu	48(%rsi),%xmm3
1873	vpshufb	%xmm11,%xmm1,%xmm1
1874	vmovdqu	64(%rsi),%xmm4
1875	vpshufb	%xmm11,%xmm2,%xmm2
1876	vmovdqu	80(%rsi),%xmm5
1877	vpshufb	%xmm11,%xmm3,%xmm3
1878	vmovdqu	96(%rsi),%xmm6
1879	vpshufb	%xmm11,%xmm4,%xmm4
1880	vmovdqu	112(%rsi),%xmm7
1881	vpshufb	%xmm11,%xmm5,%xmm5
1882	vpaddq	-128(%rbp),%xmm0,%xmm8
1883	vpshufb	%xmm11,%xmm6,%xmm6
1884	vpaddq	-96(%rbp),%xmm1,%xmm9
1885	vpshufb	%xmm11,%xmm7,%xmm7
1886	vpaddq	-64(%rbp),%xmm2,%xmm10
1887	vpaddq	-32(%rbp),%xmm3,%xmm11
1888	vmovdqa	%xmm8,0(%rsp)
1889	vpaddq	0(%rbp),%xmm4,%xmm8
1890	vmovdqa	%xmm9,16(%rsp)
1891	vpaddq	32(%rbp),%xmm5,%xmm9
1892	vmovdqa	%xmm10,32(%rsp)
1893	vpaddq	64(%rbp),%xmm6,%xmm10
1894	vmovdqa	%xmm11,48(%rsp)
1895	vpaddq	96(%rbp),%xmm7,%xmm11
1896	vmovdqa	%xmm8,64(%rsp)
1897	movq	%rax,%r14
1898	vmovdqa	%xmm9,80(%rsp)
1899	movq	%rbx,%rdi
1900	vmovdqa	%xmm10,96(%rsp)
1901	xorq	%rcx,%rdi
1902	vmovdqa	%xmm11,112(%rsp)
1903	movq	%r8,%r13
1904	jmp	.Lavx_00_47
1905
1906.align	16
1907.Lavx_00_47:
1908	addq	$256,%rbp
1909	vpalignr	$8,%xmm0,%xmm1,%xmm8
1910	shrdq	$23,%r13,%r13
1911	movq	%r14,%rax
1912	vpalignr	$8,%xmm4,%xmm5,%xmm11
1913	movq	%r9,%r12
1914	shrdq	$5,%r14,%r14
1915	vpsrlq	$1,%xmm8,%xmm10
1916	xorq	%r8,%r13
1917	xorq	%r10,%r12
1918	vpaddq	%xmm11,%xmm0,%xmm0
1919	shrdq	$4,%r13,%r13
1920	xorq	%rax,%r14
1921	vpsrlq	$7,%xmm8,%xmm11
1922	andq	%r8,%r12
1923	xorq	%r8,%r13
1924	vpsllq	$56,%xmm8,%xmm9
1925	addq	0(%rsp),%r11
1926	movq	%rax,%r15
1927	vpxor	%xmm10,%xmm11,%xmm8
1928	xorq	%r10,%r12
1929	shrdq	$6,%r14,%r14
1930	vpsrlq	$7,%xmm10,%xmm10
1931	xorq	%rbx,%r15
1932	addq	%r12,%r11
1933	vpxor	%xmm9,%xmm8,%xmm8
1934	shrdq	$14,%r13,%r13
1935	andq	%r15,%rdi
1936	vpsllq	$7,%xmm9,%xmm9
1937	xorq	%rax,%r14
1938	addq	%r13,%r11
1939	vpxor	%xmm10,%xmm8,%xmm8
1940	xorq	%rbx,%rdi
1941	shrdq	$28,%r14,%r14
1942	vpsrlq	$6,%xmm7,%xmm11
1943	addq	%r11,%rdx
1944	addq	%rdi,%r11
1945	vpxor	%xmm9,%xmm8,%xmm8
1946	movq	%rdx,%r13
1947	addq	%r11,%r14
1948	vpsllq	$3,%xmm7,%xmm10
1949	shrdq	$23,%r13,%r13
1950	movq	%r14,%r11
1951	vpaddq	%xmm8,%xmm0,%xmm0
1952	movq	%r8,%r12
1953	shrdq	$5,%r14,%r14
1954	vpsrlq	$19,%xmm7,%xmm9
1955	xorq	%rdx,%r13
1956	xorq	%r9,%r12
1957	vpxor	%xmm10,%xmm11,%xmm11
1958	shrdq	$4,%r13,%r13
1959	xorq	%r11,%r14
1960	vpsllq	$42,%xmm10,%xmm10
1961	andq	%rdx,%r12
1962	xorq	%rdx,%r13
1963	vpxor	%xmm9,%xmm11,%xmm11
1964	addq	8(%rsp),%r10
1965	movq	%r11,%rdi
1966	vpsrlq	$42,%xmm9,%xmm9
1967	xorq	%r9,%r12
1968	shrdq	$6,%r14,%r14
1969	vpxor	%xmm10,%xmm11,%xmm11
1970	xorq	%rax,%rdi
1971	addq	%r12,%r10
1972	vpxor	%xmm9,%xmm11,%xmm11
1973	shrdq	$14,%r13,%r13
1974	andq	%rdi,%r15
1975	vpaddq	%xmm11,%xmm0,%xmm0
1976	xorq	%r11,%r14
1977	addq	%r13,%r10
1978	vpaddq	-128(%rbp),%xmm0,%xmm10
1979	xorq	%rax,%r15
1980	shrdq	$28,%r14,%r14
1981	addq	%r10,%rcx
1982	addq	%r15,%r10
1983	movq	%rcx,%r13
1984	addq	%r10,%r14
1985	vmovdqa	%xmm10,0(%rsp)
1986	vpalignr	$8,%xmm1,%xmm2,%xmm8
1987	shrdq	$23,%r13,%r13
1988	movq	%r14,%r10
1989	vpalignr	$8,%xmm5,%xmm6,%xmm11
1990	movq	%rdx,%r12
1991	shrdq	$5,%r14,%r14
1992	vpsrlq	$1,%xmm8,%xmm10
1993	xorq	%rcx,%r13
1994	xorq	%r8,%r12
1995	vpaddq	%xmm11,%xmm1,%xmm1
1996	shrdq	$4,%r13,%r13
1997	xorq	%r10,%r14
1998	vpsrlq	$7,%xmm8,%xmm11
1999	andq	%rcx,%r12
2000	xorq	%rcx,%r13
2001	vpsllq	$56,%xmm8,%xmm9
2002	addq	16(%rsp),%r9
2003	movq	%r10,%r15
2004	vpxor	%xmm10,%xmm11,%xmm8
2005	xorq	%r8,%r12
2006	shrdq	$6,%r14,%r14
2007	vpsrlq	$7,%xmm10,%xmm10
2008	xorq	%r11,%r15
2009	addq	%r12,%r9
2010	vpxor	%xmm9,%xmm8,%xmm8
2011	shrdq	$14,%r13,%r13
2012	andq	%r15,%rdi
2013	vpsllq	$7,%xmm9,%xmm9
2014	xorq	%r10,%r14
2015	addq	%r13,%r9
2016	vpxor	%xmm10,%xmm8,%xmm8
2017	xorq	%r11,%rdi
2018	shrdq	$28,%r14,%r14
2019	vpsrlq	$6,%xmm0,%xmm11
2020	addq	%r9,%rbx
2021	addq	%rdi,%r9
2022	vpxor	%xmm9,%xmm8,%xmm8
2023	movq	%rbx,%r13
2024	addq	%r9,%r14
2025	vpsllq	$3,%xmm0,%xmm10
2026	shrdq	$23,%r13,%r13
2027	movq	%r14,%r9
2028	vpaddq	%xmm8,%xmm1,%xmm1
2029	movq	%rcx,%r12
2030	shrdq	$5,%r14,%r14
2031	vpsrlq	$19,%xmm0,%xmm9
2032	xorq	%rbx,%r13
2033	xorq	%rdx,%r12
2034	vpxor	%xmm10,%xmm11,%xmm11
2035	shrdq	$4,%r13,%r13
2036	xorq	%r9,%r14
2037	vpsllq	$42,%xmm10,%xmm10
2038	andq	%rbx,%r12
2039	xorq	%rbx,%r13
2040	vpxor	%xmm9,%xmm11,%xmm11
2041	addq	24(%rsp),%r8
2042	movq	%r9,%rdi
2043	vpsrlq	$42,%xmm9,%xmm9
2044	xorq	%rdx,%r12
2045	shrdq	$6,%r14,%r14
2046	vpxor	%xmm10,%xmm11,%xmm11
2047	xorq	%r10,%rdi
2048	addq	%r12,%r8
2049	vpxor	%xmm9,%xmm11,%xmm11
2050	shrdq	$14,%r13,%r13
2051	andq	%rdi,%r15
2052	vpaddq	%xmm11,%xmm1,%xmm1
2053	xorq	%r9,%r14
2054	addq	%r13,%r8
2055	vpaddq	-96(%rbp),%xmm1,%xmm10
2056	xorq	%r10,%r15
2057	shrdq	$28,%r14,%r14
2058	addq	%r8,%rax
2059	addq	%r15,%r8
2060	movq	%rax,%r13
2061	addq	%r8,%r14
2062	vmovdqa	%xmm10,16(%rsp)
2063	vpalignr	$8,%xmm2,%xmm3,%xmm8
2064	shrdq	$23,%r13,%r13
2065	movq	%r14,%r8
2066	vpalignr	$8,%xmm6,%xmm7,%xmm11
2067	movq	%rbx,%r12
2068	shrdq	$5,%r14,%r14
2069	vpsrlq	$1,%xmm8,%xmm10
2070	xorq	%rax,%r13
2071	xorq	%rcx,%r12
2072	vpaddq	%xmm11,%xmm2,%xmm2
2073	shrdq	$4,%r13,%r13
2074	xorq	%r8,%r14
2075	vpsrlq	$7,%xmm8,%xmm11
2076	andq	%rax,%r12
2077	xorq	%rax,%r13
2078	vpsllq	$56,%xmm8,%xmm9
2079	addq	32(%rsp),%rdx
2080	movq	%r8,%r15
2081	vpxor	%xmm10,%xmm11,%xmm8
2082	xorq	%rcx,%r12
2083	shrdq	$6,%r14,%r14
2084	vpsrlq	$7,%xmm10,%xmm10
2085	xorq	%r9,%r15
2086	addq	%r12,%rdx
2087	vpxor	%xmm9,%xmm8,%xmm8
2088	shrdq	$14,%r13,%r13
2089	andq	%r15,%rdi
2090	vpsllq	$7,%xmm9,%xmm9
2091	xorq	%r8,%r14
2092	addq	%r13,%rdx
2093	vpxor	%xmm10,%xmm8,%xmm8
2094	xorq	%r9,%rdi
2095	shrdq	$28,%r14,%r14
2096	vpsrlq	$6,%xmm1,%xmm11
2097	addq	%rdx,%r11
2098	addq	%rdi,%rdx
2099	vpxor	%xmm9,%xmm8,%xmm8
2100	movq	%r11,%r13
2101	addq	%rdx,%r14
2102	vpsllq	$3,%xmm1,%xmm10
2103	shrdq	$23,%r13,%r13
2104	movq	%r14,%rdx
2105	vpaddq	%xmm8,%xmm2,%xmm2
2106	movq	%rax,%r12
2107	shrdq	$5,%r14,%r14
2108	vpsrlq	$19,%xmm1,%xmm9
2109	xorq	%r11,%r13
2110	xorq	%rbx,%r12
2111	vpxor	%xmm10,%xmm11,%xmm11
2112	shrdq	$4,%r13,%r13
2113	xorq	%rdx,%r14
2114	vpsllq	$42,%xmm10,%xmm10
2115	andq	%r11,%r12
2116	xorq	%r11,%r13
2117	vpxor	%xmm9,%xmm11,%xmm11
2118	addq	40(%rsp),%rcx
2119	movq	%rdx,%rdi
2120	vpsrlq	$42,%xmm9,%xmm9
2121	xorq	%rbx,%r12
2122	shrdq	$6,%r14,%r14
2123	vpxor	%xmm10,%xmm11,%xmm11
2124	xorq	%r8,%rdi
2125	addq	%r12,%rcx
2126	vpxor	%xmm9,%xmm11,%xmm11
2127	shrdq	$14,%r13,%r13
2128	andq	%rdi,%r15
2129	vpaddq	%xmm11,%xmm2,%xmm2
2130	xorq	%rdx,%r14
2131	addq	%r13,%rcx
2132	vpaddq	-64(%rbp),%xmm2,%xmm10
2133	xorq	%r8,%r15
2134	shrdq	$28,%r14,%r14
2135	addq	%rcx,%r10
2136	addq	%r15,%rcx
2137	movq	%r10,%r13
2138	addq	%rcx,%r14
2139	vmovdqa	%xmm10,32(%rsp)
2140	vpalignr	$8,%xmm3,%xmm4,%xmm8
2141	shrdq	$23,%r13,%r13
2142	movq	%r14,%rcx
2143	vpalignr	$8,%xmm7,%xmm0,%xmm11
2144	movq	%r11,%r12
2145	shrdq	$5,%r14,%r14
2146	vpsrlq	$1,%xmm8,%xmm10
2147	xorq	%r10,%r13
2148	xorq	%rax,%r12
2149	vpaddq	%xmm11,%xmm3,%xmm3
2150	shrdq	$4,%r13,%r13
2151	xorq	%rcx,%r14
2152	vpsrlq	$7,%xmm8,%xmm11
2153	andq	%r10,%r12
2154	xorq	%r10,%r13
2155	vpsllq	$56,%xmm8,%xmm9
2156	addq	48(%rsp),%rbx
2157	movq	%rcx,%r15
2158	vpxor	%xmm10,%xmm11,%xmm8
2159	xorq	%rax,%r12
2160	shrdq	$6,%r14,%r14
2161	vpsrlq	$7,%xmm10,%xmm10
2162	xorq	%rdx,%r15
2163	addq	%r12,%rbx
2164	vpxor	%xmm9,%xmm8,%xmm8
2165	shrdq	$14,%r13,%r13
2166	andq	%r15,%rdi
2167	vpsllq	$7,%xmm9,%xmm9
2168	xorq	%rcx,%r14
2169	addq	%r13,%rbx
2170	vpxor	%xmm10,%xmm8,%xmm8
2171	xorq	%rdx,%rdi
2172	shrdq	$28,%r14,%r14
2173	vpsrlq	$6,%xmm2,%xmm11
2174	addq	%rbx,%r9
2175	addq	%rdi,%rbx
2176	vpxor	%xmm9,%xmm8,%xmm8
2177	movq	%r9,%r13
2178	addq	%rbx,%r14
2179	vpsllq	$3,%xmm2,%xmm10
2180	shrdq	$23,%r13,%r13
2181	movq	%r14,%rbx
2182	vpaddq	%xmm8,%xmm3,%xmm3
2183	movq	%r10,%r12
2184	shrdq	$5,%r14,%r14
2185	vpsrlq	$19,%xmm2,%xmm9
2186	xorq	%r9,%r13
2187	xorq	%r11,%r12
2188	vpxor	%xmm10,%xmm11,%xmm11
2189	shrdq	$4,%r13,%r13
2190	xorq	%rbx,%r14
2191	vpsllq	$42,%xmm10,%xmm10
2192	andq	%r9,%r12
2193	xorq	%r9,%r13
2194	vpxor	%xmm9,%xmm11,%xmm11
2195	addq	56(%rsp),%rax
2196	movq	%rbx,%rdi
2197	vpsrlq	$42,%xmm9,%xmm9
2198	xorq	%r11,%r12
2199	shrdq	$6,%r14,%r14
2200	vpxor	%xmm10,%xmm11,%xmm11
2201	xorq	%rcx,%rdi
2202	addq	%r12,%rax
2203	vpxor	%xmm9,%xmm11,%xmm11
2204	shrdq	$14,%r13,%r13
2205	andq	%rdi,%r15
2206	vpaddq	%xmm11,%xmm3,%xmm3
2207	xorq	%rbx,%r14
2208	addq	%r13,%rax
2209	vpaddq	-32(%rbp),%xmm3,%xmm10
2210	xorq	%rcx,%r15
2211	shrdq	$28,%r14,%r14
2212	addq	%rax,%r8
2213	addq	%r15,%rax
2214	movq	%r8,%r13
2215	addq	%rax,%r14
2216	vmovdqa	%xmm10,48(%rsp)
2217	vpalignr	$8,%xmm4,%xmm5,%xmm8
2218	shrdq	$23,%r13,%r13
2219	movq	%r14,%rax
2220	vpalignr	$8,%xmm0,%xmm1,%xmm11
2221	movq	%r9,%r12
2222	shrdq	$5,%r14,%r14
2223	vpsrlq	$1,%xmm8,%xmm10
2224	xorq	%r8,%r13
2225	xorq	%r10,%r12
2226	vpaddq	%xmm11,%xmm4,%xmm4
2227	shrdq	$4,%r13,%r13
2228	xorq	%rax,%r14
2229	vpsrlq	$7,%xmm8,%xmm11
2230	andq	%r8,%r12
2231	xorq	%r8,%r13
2232	vpsllq	$56,%xmm8,%xmm9
2233	addq	64(%rsp),%r11
2234	movq	%rax,%r15
2235	vpxor	%xmm10,%xmm11,%xmm8
2236	xorq	%r10,%r12
2237	shrdq	$6,%r14,%r14
2238	vpsrlq	$7,%xmm10,%xmm10
2239	xorq	%rbx,%r15
2240	addq	%r12,%r11
2241	vpxor	%xmm9,%xmm8,%xmm8
2242	shrdq	$14,%r13,%r13
2243	andq	%r15,%rdi
2244	vpsllq	$7,%xmm9,%xmm9
2245	xorq	%rax,%r14
2246	addq	%r13,%r11
2247	vpxor	%xmm10,%xmm8,%xmm8
2248	xorq	%rbx,%rdi
2249	shrdq	$28,%r14,%r14
2250	vpsrlq	$6,%xmm3,%xmm11
2251	addq	%r11,%rdx
2252	addq	%rdi,%r11
2253	vpxor	%xmm9,%xmm8,%xmm8
2254	movq	%rdx,%r13
2255	addq	%r11,%r14
2256	vpsllq	$3,%xmm3,%xmm10
2257	shrdq	$23,%r13,%r13
2258	movq	%r14,%r11
2259	vpaddq	%xmm8,%xmm4,%xmm4
2260	movq	%r8,%r12
2261	shrdq	$5,%r14,%r14
2262	vpsrlq	$19,%xmm3,%xmm9
2263	xorq	%rdx,%r13
2264	xorq	%r9,%r12
2265	vpxor	%xmm10,%xmm11,%xmm11
2266	shrdq	$4,%r13,%r13
2267	xorq	%r11,%r14
2268	vpsllq	$42,%xmm10,%xmm10
2269	andq	%rdx,%r12
2270	xorq	%rdx,%r13
2271	vpxor	%xmm9,%xmm11,%xmm11
2272	addq	72(%rsp),%r10
2273	movq	%r11,%rdi
2274	vpsrlq	$42,%xmm9,%xmm9
2275	xorq	%r9,%r12
2276	shrdq	$6,%r14,%r14
2277	vpxor	%xmm10,%xmm11,%xmm11
2278	xorq	%rax,%rdi
2279	addq	%r12,%r10
2280	vpxor	%xmm9,%xmm11,%xmm11
2281	shrdq	$14,%r13,%r13
2282	andq	%rdi,%r15
2283	vpaddq	%xmm11,%xmm4,%xmm4
2284	xorq	%r11,%r14
2285	addq	%r13,%r10
2286	vpaddq	0(%rbp),%xmm4,%xmm10
2287	xorq	%rax,%r15
2288	shrdq	$28,%r14,%r14
2289	addq	%r10,%rcx
2290	addq	%r15,%r10
2291	movq	%rcx,%r13
2292	addq	%r10,%r14
2293	vmovdqa	%xmm10,64(%rsp)
2294	vpalignr	$8,%xmm5,%xmm6,%xmm8
2295	shrdq	$23,%r13,%r13
2296	movq	%r14,%r10
2297	vpalignr	$8,%xmm1,%xmm2,%xmm11
2298	movq	%rdx,%r12
2299	shrdq	$5,%r14,%r14
2300	vpsrlq	$1,%xmm8,%xmm10
2301	xorq	%rcx,%r13
2302	xorq	%r8,%r12
2303	vpaddq	%xmm11,%xmm5,%xmm5
2304	shrdq	$4,%r13,%r13
2305	xorq	%r10,%r14
2306	vpsrlq	$7,%xmm8,%xmm11
2307	andq	%rcx,%r12
2308	xorq	%rcx,%r13
2309	vpsllq	$56,%xmm8,%xmm9
2310	addq	80(%rsp),%r9
2311	movq	%r10,%r15
2312	vpxor	%xmm10,%xmm11,%xmm8
2313	xorq	%r8,%r12
2314	shrdq	$6,%r14,%r14
2315	vpsrlq	$7,%xmm10,%xmm10
2316	xorq	%r11,%r15
2317	addq	%r12,%r9
2318	vpxor	%xmm9,%xmm8,%xmm8
2319	shrdq	$14,%r13,%r13
2320	andq	%r15,%rdi
2321	vpsllq	$7,%xmm9,%xmm9
2322	xorq	%r10,%r14
2323	addq	%r13,%r9
2324	vpxor	%xmm10,%xmm8,%xmm8
2325	xorq	%r11,%rdi
2326	shrdq	$28,%r14,%r14
2327	vpsrlq	$6,%xmm4,%xmm11
2328	addq	%r9,%rbx
2329	addq	%rdi,%r9
2330	vpxor	%xmm9,%xmm8,%xmm8
2331	movq	%rbx,%r13
2332	addq	%r9,%r14
2333	vpsllq	$3,%xmm4,%xmm10
2334	shrdq	$23,%r13,%r13
2335	movq	%r14,%r9
2336	vpaddq	%xmm8,%xmm5,%xmm5
2337	movq	%rcx,%r12
2338	shrdq	$5,%r14,%r14
2339	vpsrlq	$19,%xmm4,%xmm9
2340	xorq	%rbx,%r13
2341	xorq	%rdx,%r12
2342	vpxor	%xmm10,%xmm11,%xmm11
2343	shrdq	$4,%r13,%r13
2344	xorq	%r9,%r14
2345	vpsllq	$42,%xmm10,%xmm10
2346	andq	%rbx,%r12
2347	xorq	%rbx,%r13
2348	vpxor	%xmm9,%xmm11,%xmm11
2349	addq	88(%rsp),%r8
2350	movq	%r9,%rdi
2351	vpsrlq	$42,%xmm9,%xmm9
2352	xorq	%rdx,%r12
2353	shrdq	$6,%r14,%r14
2354	vpxor	%xmm10,%xmm11,%xmm11
2355	xorq	%r10,%rdi
2356	addq	%r12,%r8
2357	vpxor	%xmm9,%xmm11,%xmm11
2358	shrdq	$14,%r13,%r13
2359	andq	%rdi,%r15
2360	vpaddq	%xmm11,%xmm5,%xmm5
2361	xorq	%r9,%r14
2362	addq	%r13,%r8
2363	vpaddq	32(%rbp),%xmm5,%xmm10
2364	xorq	%r10,%r15
2365	shrdq	$28,%r14,%r14
2366	addq	%r8,%rax
2367	addq	%r15,%r8
2368	movq	%rax,%r13
2369	addq	%r8,%r14
2370	vmovdqa	%xmm10,80(%rsp)
2371	vpalignr	$8,%xmm6,%xmm7,%xmm8
2372	shrdq	$23,%r13,%r13
2373	movq	%r14,%r8
2374	vpalignr	$8,%xmm2,%xmm3,%xmm11
2375	movq	%rbx,%r12
2376	shrdq	$5,%r14,%r14
2377	vpsrlq	$1,%xmm8,%xmm10
2378	xorq	%rax,%r13
2379	xorq	%rcx,%r12
2380	vpaddq	%xmm11,%xmm6,%xmm6
2381	shrdq	$4,%r13,%r13
2382	xorq	%r8,%r14
2383	vpsrlq	$7,%xmm8,%xmm11
2384	andq	%rax,%r12
2385	xorq	%rax,%r13
2386	vpsllq	$56,%xmm8,%xmm9
2387	addq	96(%rsp),%rdx
2388	movq	%r8,%r15
2389	vpxor	%xmm10,%xmm11,%xmm8
2390	xorq	%rcx,%r12
2391	shrdq	$6,%r14,%r14
2392	vpsrlq	$7,%xmm10,%xmm10
2393	xorq	%r9,%r15
2394	addq	%r12,%rdx
2395	vpxor	%xmm9,%xmm8,%xmm8
2396	shrdq	$14,%r13,%r13
2397	andq	%r15,%rdi
2398	vpsllq	$7,%xmm9,%xmm9
2399	xorq	%r8,%r14
2400	addq	%r13,%rdx
2401	vpxor	%xmm10,%xmm8,%xmm8
2402	xorq	%r9,%rdi
2403	shrdq	$28,%r14,%r14
2404	vpsrlq	$6,%xmm5,%xmm11
2405	addq	%rdx,%r11
2406	addq	%rdi,%rdx
2407	vpxor	%xmm9,%xmm8,%xmm8
2408	movq	%r11,%r13
2409	addq	%rdx,%r14
2410	vpsllq	$3,%xmm5,%xmm10
2411	shrdq	$23,%r13,%r13
2412	movq	%r14,%rdx
2413	vpaddq	%xmm8,%xmm6,%xmm6
2414	movq	%rax,%r12
2415	shrdq	$5,%r14,%r14
2416	vpsrlq	$19,%xmm5,%xmm9
2417	xorq	%r11,%r13
2418	xorq	%rbx,%r12
2419	vpxor	%xmm10,%xmm11,%xmm11
2420	shrdq	$4,%r13,%r13
2421	xorq	%rdx,%r14
2422	vpsllq	$42,%xmm10,%xmm10
2423	andq	%r11,%r12
2424	xorq	%r11,%r13
2425	vpxor	%xmm9,%xmm11,%xmm11
2426	addq	104(%rsp),%rcx
2427	movq	%rdx,%rdi
2428	vpsrlq	$42,%xmm9,%xmm9
2429	xorq	%rbx,%r12
2430	shrdq	$6,%r14,%r14
2431	vpxor	%xmm10,%xmm11,%xmm11
2432	xorq	%r8,%rdi
2433	addq	%r12,%rcx
2434	vpxor	%xmm9,%xmm11,%xmm11
2435	shrdq	$14,%r13,%r13
2436	andq	%rdi,%r15
2437	vpaddq	%xmm11,%xmm6,%xmm6
2438	xorq	%rdx,%r14
2439	addq	%r13,%rcx
2440	vpaddq	64(%rbp),%xmm6,%xmm10
2441	xorq	%r8,%r15
2442	shrdq	$28,%r14,%r14
2443	addq	%rcx,%r10
2444	addq	%r15,%rcx
2445	movq	%r10,%r13
2446	addq	%rcx,%r14
2447	vmovdqa	%xmm10,96(%rsp)
2448	vpalignr	$8,%xmm7,%xmm0,%xmm8
2449	shrdq	$23,%r13,%r13
2450	movq	%r14,%rcx
2451	vpalignr	$8,%xmm3,%xmm4,%xmm11
2452	movq	%r11,%r12
2453	shrdq	$5,%r14,%r14
2454	vpsrlq	$1,%xmm8,%xmm10
2455	xorq	%r10,%r13
2456	xorq	%rax,%r12
2457	vpaddq	%xmm11,%xmm7,%xmm7
2458	shrdq	$4,%r13,%r13
2459	xorq	%rcx,%r14
2460	vpsrlq	$7,%xmm8,%xmm11
2461	andq	%r10,%r12
2462	xorq	%r10,%r13
2463	vpsllq	$56,%xmm8,%xmm9
2464	addq	112(%rsp),%rbx
2465	movq	%rcx,%r15
2466	vpxor	%xmm10,%xmm11,%xmm8
2467	xorq	%rax,%r12
2468	shrdq	$6,%r14,%r14
2469	vpsrlq	$7,%xmm10,%xmm10
2470	xorq	%rdx,%r15
2471	addq	%r12,%rbx
2472	vpxor	%xmm9,%xmm8,%xmm8
2473	shrdq	$14,%r13,%r13
2474	andq	%r15,%rdi
2475	vpsllq	$7,%xmm9,%xmm9
2476	xorq	%rcx,%r14
2477	addq	%r13,%rbx
2478	vpxor	%xmm10,%xmm8,%xmm8
2479	xorq	%rdx,%rdi
2480	shrdq	$28,%r14,%r14
2481	vpsrlq	$6,%xmm6,%xmm11
2482	addq	%rbx,%r9
2483	addq	%rdi,%rbx
2484	vpxor	%xmm9,%xmm8,%xmm8
2485	movq	%r9,%r13
2486	addq	%rbx,%r14
2487	vpsllq	$3,%xmm6,%xmm10
2488	shrdq	$23,%r13,%r13
2489	movq	%r14,%rbx
2490	vpaddq	%xmm8,%xmm7,%xmm7
2491	movq	%r10,%r12
2492	shrdq	$5,%r14,%r14
2493	vpsrlq	$19,%xmm6,%xmm9
2494	xorq	%r9,%r13
2495	xorq	%r11,%r12
2496	vpxor	%xmm10,%xmm11,%xmm11
2497	shrdq	$4,%r13,%r13
2498	xorq	%rbx,%r14
2499	vpsllq	$42,%xmm10,%xmm10
2500	andq	%r9,%r12
2501	xorq	%r9,%r13
2502	vpxor	%xmm9,%xmm11,%xmm11
2503	addq	120(%rsp),%rax
2504	movq	%rbx,%rdi
2505	vpsrlq	$42,%xmm9,%xmm9
2506	xorq	%r11,%r12
2507	shrdq	$6,%r14,%r14
2508	vpxor	%xmm10,%xmm11,%xmm11
2509	xorq	%rcx,%rdi
2510	addq	%r12,%rax
2511	vpxor	%xmm9,%xmm11,%xmm11
2512	shrdq	$14,%r13,%r13
2513	andq	%rdi,%r15
2514	vpaddq	%xmm11,%xmm7,%xmm7
2515	xorq	%rbx,%r14
2516	addq	%r13,%rax
2517	vpaddq	96(%rbp),%xmm7,%xmm10
2518	xorq	%rcx,%r15
2519	shrdq	$28,%r14,%r14
2520	addq	%rax,%r8
2521	addq	%r15,%rax
2522	movq	%r8,%r13
2523	addq	%rax,%r14
2524	vmovdqa	%xmm10,112(%rsp)
2525	cmpb	$0,135(%rbp)
2526	jne	.Lavx_00_47
2527	shrdq	$23,%r13,%r13
2528	movq	%r14,%rax
2529	movq	%r9,%r12
2530	shrdq	$5,%r14,%r14
2531	xorq	%r8,%r13
2532	xorq	%r10,%r12
2533	shrdq	$4,%r13,%r13
2534	xorq	%rax,%r14
2535	andq	%r8,%r12
2536	xorq	%r8,%r13
2537	addq	0(%rsp),%r11
2538	movq	%rax,%r15
2539	xorq	%r10,%r12
2540	shrdq	$6,%r14,%r14
2541	xorq	%rbx,%r15
2542	addq	%r12,%r11
2543	shrdq	$14,%r13,%r13
2544	andq	%r15,%rdi
2545	xorq	%rax,%r14
2546	addq	%r13,%r11
2547	xorq	%rbx,%rdi
2548	shrdq	$28,%r14,%r14
2549	addq	%r11,%rdx
2550	addq	%rdi,%r11
2551	movq	%rdx,%r13
2552	addq	%r11,%r14
2553	shrdq	$23,%r13,%r13
2554	movq	%r14,%r11
2555	movq	%r8,%r12
2556	shrdq	$5,%r14,%r14
2557	xorq	%rdx,%r13
2558	xorq	%r9,%r12
2559	shrdq	$4,%r13,%r13
2560	xorq	%r11,%r14
2561	andq	%rdx,%r12
2562	xorq	%rdx,%r13
2563	addq	8(%rsp),%r10
2564	movq	%r11,%rdi
2565	xorq	%r9,%r12
2566	shrdq	$6,%r14,%r14
2567	xorq	%rax,%rdi
2568	addq	%r12,%r10
2569	shrdq	$14,%r13,%r13
2570	andq	%rdi,%r15
2571	xorq	%r11,%r14
2572	addq	%r13,%r10
2573	xorq	%rax,%r15
2574	shrdq	$28,%r14,%r14
2575	addq	%r10,%rcx
2576	addq	%r15,%r10
2577	movq	%rcx,%r13
2578	addq	%r10,%r14
2579	shrdq	$23,%r13,%r13
2580	movq	%r14,%r10
2581	movq	%rdx,%r12
2582	shrdq	$5,%r14,%r14
2583	xorq	%rcx,%r13
2584	xorq	%r8,%r12
2585	shrdq	$4,%r13,%r13
2586	xorq	%r10,%r14
2587	andq	%rcx,%r12
2588	xorq	%rcx,%r13
2589	addq	16(%rsp),%r9
2590	movq	%r10,%r15
2591	xorq	%r8,%r12
2592	shrdq	$6,%r14,%r14
2593	xorq	%r11,%r15
2594	addq	%r12,%r9
2595	shrdq	$14,%r13,%r13
2596	andq	%r15,%rdi
2597	xorq	%r10,%r14
2598	addq	%r13,%r9
2599	xorq	%r11,%rdi
2600	shrdq	$28,%r14,%r14
2601	addq	%r9,%rbx
2602	addq	%rdi,%r9
2603	movq	%rbx,%r13
2604	addq	%r9,%r14
2605	shrdq	$23,%r13,%r13
2606	movq	%r14,%r9
2607	movq	%rcx,%r12
2608	shrdq	$5,%r14,%r14
2609	xorq	%rbx,%r13
2610	xorq	%rdx,%r12
2611	shrdq	$4,%r13,%r13
2612	xorq	%r9,%r14
2613	andq	%rbx,%r12
2614	xorq	%rbx,%r13
2615	addq	24(%rsp),%r8
2616	movq	%r9,%rdi
2617	xorq	%rdx,%r12
2618	shrdq	$6,%r14,%r14
2619	xorq	%r10,%rdi
2620	addq	%r12,%r8
2621	shrdq	$14,%r13,%r13
2622	andq	%rdi,%r15
2623	xorq	%r9,%r14
2624	addq	%r13,%r8
2625	xorq	%r10,%r15
2626	shrdq	$28,%r14,%r14
2627	addq	%r8,%rax
2628	addq	%r15,%r8
2629	movq	%rax,%r13
2630	addq	%r8,%r14
2631	shrdq	$23,%r13,%r13
2632	movq	%r14,%r8
2633	movq	%rbx,%r12
2634	shrdq	$5,%r14,%r14
2635	xorq	%rax,%r13
2636	xorq	%rcx,%r12
2637	shrdq	$4,%r13,%r13
2638	xorq	%r8,%r14
2639	andq	%rax,%r12
2640	xorq	%rax,%r13
2641	addq	32(%rsp),%rdx
2642	movq	%r8,%r15
2643	xorq	%rcx,%r12
2644	shrdq	$6,%r14,%r14
2645	xorq	%r9,%r15
2646	addq	%r12,%rdx
2647	shrdq	$14,%r13,%r13
2648	andq	%r15,%rdi
2649	xorq	%r8,%r14
2650	addq	%r13,%rdx
2651	xorq	%r9,%rdi
2652	shrdq	$28,%r14,%r14
2653	addq	%rdx,%r11
2654	addq	%rdi,%rdx
2655	movq	%r11,%r13
2656	addq	%rdx,%r14
2657	shrdq	$23,%r13,%r13
2658	movq	%r14,%rdx
2659	movq	%rax,%r12
2660	shrdq	$5,%r14,%r14
2661	xorq	%r11,%r13
2662	xorq	%rbx,%r12
2663	shrdq	$4,%r13,%r13
2664	xorq	%rdx,%r14
2665	andq	%r11,%r12
2666	xorq	%r11,%r13
2667	addq	40(%rsp),%rcx
2668	movq	%rdx,%rdi
2669	xorq	%rbx,%r12
2670	shrdq	$6,%r14,%r14
2671	xorq	%r8,%rdi
2672	addq	%r12,%rcx
2673	shrdq	$14,%r13,%r13
2674	andq	%rdi,%r15
2675	xorq	%rdx,%r14
2676	addq	%r13,%rcx
2677	xorq	%r8,%r15
2678	shrdq	$28,%r14,%r14
2679	addq	%rcx,%r10
2680	addq	%r15,%rcx
2681	movq	%r10,%r13
2682	addq	%rcx,%r14
2683	shrdq	$23,%r13,%r13
2684	movq	%r14,%rcx
2685	movq	%r11,%r12
2686	shrdq	$5,%r14,%r14
2687	xorq	%r10,%r13
2688	xorq	%rax,%r12
2689	shrdq	$4,%r13,%r13
2690	xorq	%rcx,%r14
2691	andq	%r10,%r12
2692	xorq	%r10,%r13
2693	addq	48(%rsp),%rbx
2694	movq	%rcx,%r15
2695	xorq	%rax,%r12
2696	shrdq	$6,%r14,%r14
2697	xorq	%rdx,%r15
2698	addq	%r12,%rbx
2699	shrdq	$14,%r13,%r13
2700	andq	%r15,%rdi
2701	xorq	%rcx,%r14
2702	addq	%r13,%rbx
2703	xorq	%rdx,%rdi
2704	shrdq	$28,%r14,%r14
2705	addq	%rbx,%r9
2706	addq	%rdi,%rbx
2707	movq	%r9,%r13
2708	addq	%rbx,%r14
2709	shrdq	$23,%r13,%r13
2710	movq	%r14,%rbx
2711	movq	%r10,%r12
2712	shrdq	$5,%r14,%r14
2713	xorq	%r9,%r13
2714	xorq	%r11,%r12
2715	shrdq	$4,%r13,%r13
2716	xorq	%rbx,%r14
2717	andq	%r9,%r12
2718	xorq	%r9,%r13
2719	addq	56(%rsp),%rax
2720	movq	%rbx,%rdi
2721	xorq	%r11,%r12
2722	shrdq	$6,%r14,%r14
2723	xorq	%rcx,%rdi
2724	addq	%r12,%rax
2725	shrdq	$14,%r13,%r13
2726	andq	%rdi,%r15
2727	xorq	%rbx,%r14
2728	addq	%r13,%rax
2729	xorq	%rcx,%r15
2730	shrdq	$28,%r14,%r14
2731	addq	%rax,%r8
2732	addq	%r15,%rax
2733	movq	%r8,%r13
2734	addq	%rax,%r14
2735	shrdq	$23,%r13,%r13
2736	movq	%r14,%rax
2737	movq	%r9,%r12
2738	shrdq	$5,%r14,%r14
2739	xorq	%r8,%r13
2740	xorq	%r10,%r12
2741	shrdq	$4,%r13,%r13
2742	xorq	%rax,%r14
2743	andq	%r8,%r12
2744	xorq	%r8,%r13
2745	addq	64(%rsp),%r11
2746	movq	%rax,%r15
2747	xorq	%r10,%r12
2748	shrdq	$6,%r14,%r14
2749	xorq	%rbx,%r15
2750	addq	%r12,%r11
2751	shrdq	$14,%r13,%r13
2752	andq	%r15,%rdi
2753	xorq	%rax,%r14
2754	addq	%r13,%r11
2755	xorq	%rbx,%rdi
2756	shrdq	$28,%r14,%r14
2757	addq	%r11,%rdx
2758	addq	%rdi,%r11
2759	movq	%rdx,%r13
2760	addq	%r11,%r14
2761	shrdq	$23,%r13,%r13
2762	movq	%r14,%r11
2763	movq	%r8,%r12
2764	shrdq	$5,%r14,%r14
2765	xorq	%rdx,%r13
2766	xorq	%r9,%r12
2767	shrdq	$4,%r13,%r13
2768	xorq	%r11,%r14
2769	andq	%rdx,%r12
2770	xorq	%rdx,%r13
2771	addq	72(%rsp),%r10
2772	movq	%r11,%rdi
2773	xorq	%r9,%r12
2774	shrdq	$6,%r14,%r14
2775	xorq	%rax,%rdi
2776	addq	%r12,%r10
2777	shrdq	$14,%r13,%r13
2778	andq	%rdi,%r15
2779	xorq	%r11,%r14
2780	addq	%r13,%r10
2781	xorq	%rax,%r15
2782	shrdq	$28,%r14,%r14
2783	addq	%r10,%rcx
2784	addq	%r15,%r10
2785	movq	%rcx,%r13
2786	addq	%r10,%r14
2787	shrdq	$23,%r13,%r13
2788	movq	%r14,%r10
2789	movq	%rdx,%r12
2790	shrdq	$5,%r14,%r14
2791	xorq	%rcx,%r13
2792	xorq	%r8,%r12
2793	shrdq	$4,%r13,%r13
2794	xorq	%r10,%r14
2795	andq	%rcx,%r12
2796	xorq	%rcx,%r13
2797	addq	80(%rsp),%r9
2798	movq	%r10,%r15
2799	xorq	%r8,%r12
2800	shrdq	$6,%r14,%r14
2801	xorq	%r11,%r15
2802	addq	%r12,%r9
2803	shrdq	$14,%r13,%r13
2804	andq	%r15,%rdi
2805	xorq	%r10,%r14
2806	addq	%r13,%r9
2807	xorq	%r11,%rdi
2808	shrdq	$28,%r14,%r14
2809	addq	%r9,%rbx
2810	addq	%rdi,%r9
2811	movq	%rbx,%r13
2812	addq	%r9,%r14
2813	shrdq	$23,%r13,%r13
2814	movq	%r14,%r9
2815	movq	%rcx,%r12
2816	shrdq	$5,%r14,%r14
2817	xorq	%rbx,%r13
2818	xorq	%rdx,%r12
2819	shrdq	$4,%r13,%r13
2820	xorq	%r9,%r14
2821	andq	%rbx,%r12
2822	xorq	%rbx,%r13
2823	addq	88(%rsp),%r8
2824	movq	%r9,%rdi
2825	xorq	%rdx,%r12
2826	shrdq	$6,%r14,%r14
2827	xorq	%r10,%rdi
2828	addq	%r12,%r8
2829	shrdq	$14,%r13,%r13
2830	andq	%rdi,%r15
2831	xorq	%r9,%r14
2832	addq	%r13,%r8
2833	xorq	%r10,%r15
2834	shrdq	$28,%r14,%r14
2835	addq	%r8,%rax
2836	addq	%r15,%r8
2837	movq	%rax,%r13
2838	addq	%r8,%r14
2839	shrdq	$23,%r13,%r13
2840	movq	%r14,%r8
2841	movq	%rbx,%r12
2842	shrdq	$5,%r14,%r14
2843	xorq	%rax,%r13
2844	xorq	%rcx,%r12
2845	shrdq	$4,%r13,%r13
2846	xorq	%r8,%r14
2847	andq	%rax,%r12
2848	xorq	%rax,%r13
2849	addq	96(%rsp),%rdx
2850	movq	%r8,%r15
2851	xorq	%rcx,%r12
2852	shrdq	$6,%r14,%r14
2853	xorq	%r9,%r15
2854	addq	%r12,%rdx
2855	shrdq	$14,%r13,%r13
2856	andq	%r15,%rdi
2857	xorq	%r8,%r14
2858	addq	%r13,%rdx
2859	xorq	%r9,%rdi
2860	shrdq	$28,%r14,%r14
2861	addq	%rdx,%r11
2862	addq	%rdi,%rdx
2863	movq	%r11,%r13
2864	addq	%rdx,%r14
2865	shrdq	$23,%r13,%r13
2866	movq	%r14,%rdx
2867	movq	%rax,%r12
2868	shrdq	$5,%r14,%r14
2869	xorq	%r11,%r13
2870	xorq	%rbx,%r12
2871	shrdq	$4,%r13,%r13
2872	xorq	%rdx,%r14
2873	andq	%r11,%r12
2874	xorq	%r11,%r13
2875	addq	104(%rsp),%rcx
2876	movq	%rdx,%rdi
2877	xorq	%rbx,%r12
2878	shrdq	$6,%r14,%r14
2879	xorq	%r8,%rdi
2880	addq	%r12,%rcx
2881	shrdq	$14,%r13,%r13
2882	andq	%rdi,%r15
2883	xorq	%rdx,%r14
2884	addq	%r13,%rcx
2885	xorq	%r8,%r15
2886	shrdq	$28,%r14,%r14
2887	addq	%rcx,%r10
2888	addq	%r15,%rcx
2889	movq	%r10,%r13
2890	addq	%rcx,%r14
2891	shrdq	$23,%r13,%r13
2892	movq	%r14,%rcx
2893	movq	%r11,%r12
2894	shrdq	$5,%r14,%r14
2895	xorq	%r10,%r13
2896	xorq	%rax,%r12
2897	shrdq	$4,%r13,%r13
2898	xorq	%rcx,%r14
2899	andq	%r10,%r12
2900	xorq	%r10,%r13
2901	addq	112(%rsp),%rbx
2902	movq	%rcx,%r15
2903	xorq	%rax,%r12
2904	shrdq	$6,%r14,%r14
2905	xorq	%rdx,%r15
2906	addq	%r12,%rbx
2907	shrdq	$14,%r13,%r13
2908	andq	%r15,%rdi
2909	xorq	%rcx,%r14
2910	addq	%r13,%rbx
2911	xorq	%rdx,%rdi
2912	shrdq	$28,%r14,%r14
2913	addq	%rbx,%r9
2914	addq	%rdi,%rbx
2915	movq	%r9,%r13
2916	addq	%rbx,%r14
2917	shrdq	$23,%r13,%r13
2918	movq	%r14,%rbx
2919	movq	%r10,%r12
2920	shrdq	$5,%r14,%r14
2921	xorq	%r9,%r13
2922	xorq	%r11,%r12
2923	shrdq	$4,%r13,%r13
2924	xorq	%rbx,%r14
2925	andq	%r9,%r12
2926	xorq	%r9,%r13
2927	addq	120(%rsp),%rax
2928	movq	%rbx,%rdi
2929	xorq	%r11,%r12
2930	shrdq	$6,%r14,%r14
2931	xorq	%rcx,%rdi
2932	addq	%r12,%rax
2933	shrdq	$14,%r13,%r13
2934	andq	%rdi,%r15
2935	xorq	%rbx,%r14
2936	addq	%r13,%rax
2937	xorq	%rcx,%r15
2938	shrdq	$28,%r14,%r14
2939	addq	%rax,%r8
2940	addq	%r15,%rax
2941	movq	%r8,%r13
2942	addq	%rax,%r14
2943	movq	128+0(%rsp),%rdi
2944	movq	%r14,%rax
2945
2946	addq	0(%rdi),%rax
2947	leaq	128(%rsi),%rsi
2948	addq	8(%rdi),%rbx
2949	addq	16(%rdi),%rcx
2950	addq	24(%rdi),%rdx
2951	addq	32(%rdi),%r8
2952	addq	40(%rdi),%r9
2953	addq	48(%rdi),%r10
2954	addq	56(%rdi),%r11
2955
2956	cmpq	128+16(%rsp),%rsi
2957
2958	movq	%rax,0(%rdi)
2959	movq	%rbx,8(%rdi)
2960	movq	%rcx,16(%rdi)
2961	movq	%rdx,24(%rdi)
2962	movq	%r8,32(%rdi)
2963	movq	%r9,40(%rdi)
2964	movq	%r10,48(%rdi)
2965	movq	%r11,56(%rdi)
2966	jb	.Lloop_avx
2967
2968	movq	152(%rsp),%rsi
2969.cfi_def_cfa	%rsi,8
2970	vzeroupper
2971	movq	-48(%rsi),%r15
2972.cfi_restore	%r15
2973	movq	-40(%rsi),%r14
2974.cfi_restore	%r14
2975	movq	-32(%rsi),%r13
2976.cfi_restore	%r13
2977	movq	-24(%rsi),%r12
2978.cfi_restore	%r12
2979	movq	-16(%rsi),%rbp
2980.cfi_restore	%rbp
2981	movq	-8(%rsi),%rbx
2982.cfi_restore	%rbx
2983	leaq	(%rsi),%rsp
2984.cfi_def_cfa_register	%rsp
2985.Lepilogue_avx:
2986	.byte	0xf3,0xc3
2987.cfi_endproc
2988.size	sha512_block_data_order_avx,.-sha512_block_data_order_avx
2989#endif
2990.section	.note.GNU-stack,"",@progbits
2991