1/* Do not modify. This file is auto-generated from sha1-mb-x86_64.pl. */
2.text
3
4
5
6.globl	sha1_multi_block
7.type	sha1_multi_block,@function
8.align	32
9sha1_multi_block:
10.cfi_startproc
11	movq	OPENSSL_ia32cap_P+4(%rip),%rcx
12	btq	$61,%rcx
13	jc	_shaext_shortcut
14	testl	$268435456,%ecx
15	jnz	_avx_shortcut
16	movq	%rsp,%rax
17.cfi_def_cfa_register	%rax
18	pushq	%rbx
19.cfi_offset	%rbx,-16
20	pushq	%rbp
21.cfi_offset	%rbx,-24
22	subq	$288,%rsp
23	andq	$-256,%rsp
24	movq	%rax,272(%rsp)
25.cfi_escape	0x0f,0x06,0x77,0x90,0x02,0x06,0x23,0x08
26.Lbody:
27	leaq	K_XX_XX(%rip),%rbp
28	leaq	256(%rsp),%rbx
29
30.Loop_grande:
31	movl	%edx,280(%rsp)
32	xorl	%edx,%edx
33
34	movq	0(%rsi),%r8
35
36	movl	8(%rsi),%ecx
37	cmpl	%edx,%ecx
38	cmovgl	%ecx,%edx
39	testl	%ecx,%ecx
40	movl	%ecx,0(%rbx)
41	cmovleq	%rbp,%r8
42
43	movq	16(%rsi),%r9
44
45	movl	24(%rsi),%ecx
46	cmpl	%edx,%ecx
47	cmovgl	%ecx,%edx
48	testl	%ecx,%ecx
49	movl	%ecx,4(%rbx)
50	cmovleq	%rbp,%r9
51
52	movq	32(%rsi),%r10
53
54	movl	40(%rsi),%ecx
55	cmpl	%edx,%ecx
56	cmovgl	%ecx,%edx
57	testl	%ecx,%ecx
58	movl	%ecx,8(%rbx)
59	cmovleq	%rbp,%r10
60
61	movq	48(%rsi),%r11
62
63	movl	56(%rsi),%ecx
64	cmpl	%edx,%ecx
65	cmovgl	%ecx,%edx
66	testl	%ecx,%ecx
67	movl	%ecx,12(%rbx)
68	cmovleq	%rbp,%r11
69	testl	%edx,%edx
70	jz	.Ldone
71
72	movdqu	0(%rdi),%xmm10
73	leaq	128(%rsp),%rax
74	movdqu	32(%rdi),%xmm11
75	movdqu	64(%rdi),%xmm12
76	movdqu	96(%rdi),%xmm13
77	movdqu	128(%rdi),%xmm14
78	movdqa	96(%rbp),%xmm5
79	movdqa	-32(%rbp),%xmm15
80	jmp	.Loop
81
82.align	32
83.Loop:
84	movd	(%r8),%xmm0
85	leaq	64(%r8),%r8
86	movd	(%r9),%xmm2
87	leaq	64(%r9),%r9
88	movd	(%r10),%xmm3
89	leaq	64(%r10),%r10
90	movd	(%r11),%xmm4
91	leaq	64(%r11),%r11
92	punpckldq	%xmm3,%xmm0
93	movd	-60(%r8),%xmm1
94	punpckldq	%xmm4,%xmm2
95	movd	-60(%r9),%xmm9
96	punpckldq	%xmm2,%xmm0
97	movd	-60(%r10),%xmm8
98.byte	102,15,56,0,197
99	movd	-60(%r11),%xmm7
100	punpckldq	%xmm8,%xmm1
101	movdqa	%xmm10,%xmm8
102	paddd	%xmm15,%xmm14
103	punpckldq	%xmm7,%xmm9
104	movdqa	%xmm11,%xmm7
105	movdqa	%xmm11,%xmm6
106	pslld	$5,%xmm8
107	pandn	%xmm13,%xmm7
108	pand	%xmm12,%xmm6
109	punpckldq	%xmm9,%xmm1
110	movdqa	%xmm10,%xmm9
111
112	movdqa	%xmm0,0-128(%rax)
113	paddd	%xmm0,%xmm14
114	movd	-56(%r8),%xmm2
115	psrld	$27,%xmm9
116	pxor	%xmm7,%xmm6
117	movdqa	%xmm11,%xmm7
118
119	por	%xmm9,%xmm8
120	movd	-56(%r9),%xmm9
121	pslld	$30,%xmm7
122	paddd	%xmm6,%xmm14
123
124	psrld	$2,%xmm11
125	paddd	%xmm8,%xmm14
126.byte	102,15,56,0,205
127	movd	-56(%r10),%xmm8
128	por	%xmm7,%xmm11
129	movd	-56(%r11),%xmm7
130	punpckldq	%xmm8,%xmm2
131	movdqa	%xmm14,%xmm8
132	paddd	%xmm15,%xmm13
133	punpckldq	%xmm7,%xmm9
134	movdqa	%xmm10,%xmm7
135	movdqa	%xmm10,%xmm6
136	pslld	$5,%xmm8
137	pandn	%xmm12,%xmm7
138	pand	%xmm11,%xmm6
139	punpckldq	%xmm9,%xmm2
140	movdqa	%xmm14,%xmm9
141
142	movdqa	%xmm1,16-128(%rax)
143	paddd	%xmm1,%xmm13
144	movd	-52(%r8),%xmm3
145	psrld	$27,%xmm9
146	pxor	%xmm7,%xmm6
147	movdqa	%xmm10,%xmm7
148
149	por	%xmm9,%xmm8
150	movd	-52(%r9),%xmm9
151	pslld	$30,%xmm7
152	paddd	%xmm6,%xmm13
153
154	psrld	$2,%xmm10
155	paddd	%xmm8,%xmm13
156.byte	102,15,56,0,213
157	movd	-52(%r10),%xmm8
158	por	%xmm7,%xmm10
159	movd	-52(%r11),%xmm7
160	punpckldq	%xmm8,%xmm3
161	movdqa	%xmm13,%xmm8
162	paddd	%xmm15,%xmm12
163	punpckldq	%xmm7,%xmm9
164	movdqa	%xmm14,%xmm7
165	movdqa	%xmm14,%xmm6
166	pslld	$5,%xmm8
167	pandn	%xmm11,%xmm7
168	pand	%xmm10,%xmm6
169	punpckldq	%xmm9,%xmm3
170	movdqa	%xmm13,%xmm9
171
172	movdqa	%xmm2,32-128(%rax)
173	paddd	%xmm2,%xmm12
174	movd	-48(%r8),%xmm4
175	psrld	$27,%xmm9
176	pxor	%xmm7,%xmm6
177	movdqa	%xmm14,%xmm7
178
179	por	%xmm9,%xmm8
180	movd	-48(%r9),%xmm9
181	pslld	$30,%xmm7
182	paddd	%xmm6,%xmm12
183
184	psrld	$2,%xmm14
185	paddd	%xmm8,%xmm12
186.byte	102,15,56,0,221
187	movd	-48(%r10),%xmm8
188	por	%xmm7,%xmm14
189	movd	-48(%r11),%xmm7
190	punpckldq	%xmm8,%xmm4
191	movdqa	%xmm12,%xmm8
192	paddd	%xmm15,%xmm11
193	punpckldq	%xmm7,%xmm9
194	movdqa	%xmm13,%xmm7
195	movdqa	%xmm13,%xmm6
196	pslld	$5,%xmm8
197	pandn	%xmm10,%xmm7
198	pand	%xmm14,%xmm6
199	punpckldq	%xmm9,%xmm4
200	movdqa	%xmm12,%xmm9
201
202	movdqa	%xmm3,48-128(%rax)
203	paddd	%xmm3,%xmm11
204	movd	-44(%r8),%xmm0
205	psrld	$27,%xmm9
206	pxor	%xmm7,%xmm6
207	movdqa	%xmm13,%xmm7
208
209	por	%xmm9,%xmm8
210	movd	-44(%r9),%xmm9
211	pslld	$30,%xmm7
212	paddd	%xmm6,%xmm11
213
214	psrld	$2,%xmm13
215	paddd	%xmm8,%xmm11
216.byte	102,15,56,0,229
217	movd	-44(%r10),%xmm8
218	por	%xmm7,%xmm13
219	movd	-44(%r11),%xmm7
220	punpckldq	%xmm8,%xmm0
221	movdqa	%xmm11,%xmm8
222	paddd	%xmm15,%xmm10
223	punpckldq	%xmm7,%xmm9
224	movdqa	%xmm12,%xmm7
225	movdqa	%xmm12,%xmm6
226	pslld	$5,%xmm8
227	pandn	%xmm14,%xmm7
228	pand	%xmm13,%xmm6
229	punpckldq	%xmm9,%xmm0
230	movdqa	%xmm11,%xmm9
231
232	movdqa	%xmm4,64-128(%rax)
233	paddd	%xmm4,%xmm10
234	movd	-40(%r8),%xmm1
235	psrld	$27,%xmm9
236	pxor	%xmm7,%xmm6
237	movdqa	%xmm12,%xmm7
238
239	por	%xmm9,%xmm8
240	movd	-40(%r9),%xmm9
241	pslld	$30,%xmm7
242	paddd	%xmm6,%xmm10
243
244	psrld	$2,%xmm12
245	paddd	%xmm8,%xmm10
246.byte	102,15,56,0,197
247	movd	-40(%r10),%xmm8
248	por	%xmm7,%xmm12
249	movd	-40(%r11),%xmm7
250	punpckldq	%xmm8,%xmm1
251	movdqa	%xmm10,%xmm8
252	paddd	%xmm15,%xmm14
253	punpckldq	%xmm7,%xmm9
254	movdqa	%xmm11,%xmm7
255	movdqa	%xmm11,%xmm6
256	pslld	$5,%xmm8
257	pandn	%xmm13,%xmm7
258	pand	%xmm12,%xmm6
259	punpckldq	%xmm9,%xmm1
260	movdqa	%xmm10,%xmm9
261
262	movdqa	%xmm0,80-128(%rax)
263	paddd	%xmm0,%xmm14
264	movd	-36(%r8),%xmm2
265	psrld	$27,%xmm9
266	pxor	%xmm7,%xmm6
267	movdqa	%xmm11,%xmm7
268
269	por	%xmm9,%xmm8
270	movd	-36(%r9),%xmm9
271	pslld	$30,%xmm7
272	paddd	%xmm6,%xmm14
273
274	psrld	$2,%xmm11
275	paddd	%xmm8,%xmm14
276.byte	102,15,56,0,205
277	movd	-36(%r10),%xmm8
278	por	%xmm7,%xmm11
279	movd	-36(%r11),%xmm7
280	punpckldq	%xmm8,%xmm2
281	movdqa	%xmm14,%xmm8
282	paddd	%xmm15,%xmm13
283	punpckldq	%xmm7,%xmm9
284	movdqa	%xmm10,%xmm7
285	movdqa	%xmm10,%xmm6
286	pslld	$5,%xmm8
287	pandn	%xmm12,%xmm7
288	pand	%xmm11,%xmm6
289	punpckldq	%xmm9,%xmm2
290	movdqa	%xmm14,%xmm9
291
292	movdqa	%xmm1,96-128(%rax)
293	paddd	%xmm1,%xmm13
294	movd	-32(%r8),%xmm3
295	psrld	$27,%xmm9
296	pxor	%xmm7,%xmm6
297	movdqa	%xmm10,%xmm7
298
299	por	%xmm9,%xmm8
300	movd	-32(%r9),%xmm9
301	pslld	$30,%xmm7
302	paddd	%xmm6,%xmm13
303
304	psrld	$2,%xmm10
305	paddd	%xmm8,%xmm13
306.byte	102,15,56,0,213
307	movd	-32(%r10),%xmm8
308	por	%xmm7,%xmm10
309	movd	-32(%r11),%xmm7
310	punpckldq	%xmm8,%xmm3
311	movdqa	%xmm13,%xmm8
312	paddd	%xmm15,%xmm12
313	punpckldq	%xmm7,%xmm9
314	movdqa	%xmm14,%xmm7
315	movdqa	%xmm14,%xmm6
316	pslld	$5,%xmm8
317	pandn	%xmm11,%xmm7
318	pand	%xmm10,%xmm6
319	punpckldq	%xmm9,%xmm3
320	movdqa	%xmm13,%xmm9
321
322	movdqa	%xmm2,112-128(%rax)
323	paddd	%xmm2,%xmm12
324	movd	-28(%r8),%xmm4
325	psrld	$27,%xmm9
326	pxor	%xmm7,%xmm6
327	movdqa	%xmm14,%xmm7
328
329	por	%xmm9,%xmm8
330	movd	-28(%r9),%xmm9
331	pslld	$30,%xmm7
332	paddd	%xmm6,%xmm12
333
334	psrld	$2,%xmm14
335	paddd	%xmm8,%xmm12
336.byte	102,15,56,0,221
337	movd	-28(%r10),%xmm8
338	por	%xmm7,%xmm14
339	movd	-28(%r11),%xmm7
340	punpckldq	%xmm8,%xmm4
341	movdqa	%xmm12,%xmm8
342	paddd	%xmm15,%xmm11
343	punpckldq	%xmm7,%xmm9
344	movdqa	%xmm13,%xmm7
345	movdqa	%xmm13,%xmm6
346	pslld	$5,%xmm8
347	pandn	%xmm10,%xmm7
348	pand	%xmm14,%xmm6
349	punpckldq	%xmm9,%xmm4
350	movdqa	%xmm12,%xmm9
351
352	movdqa	%xmm3,128-128(%rax)
353	paddd	%xmm3,%xmm11
354	movd	-24(%r8),%xmm0
355	psrld	$27,%xmm9
356	pxor	%xmm7,%xmm6
357	movdqa	%xmm13,%xmm7
358
359	por	%xmm9,%xmm8
360	movd	-24(%r9),%xmm9
361	pslld	$30,%xmm7
362	paddd	%xmm6,%xmm11
363
364	psrld	$2,%xmm13
365	paddd	%xmm8,%xmm11
366.byte	102,15,56,0,229
367	movd	-24(%r10),%xmm8
368	por	%xmm7,%xmm13
369	movd	-24(%r11),%xmm7
370	punpckldq	%xmm8,%xmm0
371	movdqa	%xmm11,%xmm8
372	paddd	%xmm15,%xmm10
373	punpckldq	%xmm7,%xmm9
374	movdqa	%xmm12,%xmm7
375	movdqa	%xmm12,%xmm6
376	pslld	$5,%xmm8
377	pandn	%xmm14,%xmm7
378	pand	%xmm13,%xmm6
379	punpckldq	%xmm9,%xmm0
380	movdqa	%xmm11,%xmm9
381
382	movdqa	%xmm4,144-128(%rax)
383	paddd	%xmm4,%xmm10
384	movd	-20(%r8),%xmm1
385	psrld	$27,%xmm9
386	pxor	%xmm7,%xmm6
387	movdqa	%xmm12,%xmm7
388
389	por	%xmm9,%xmm8
390	movd	-20(%r9),%xmm9
391	pslld	$30,%xmm7
392	paddd	%xmm6,%xmm10
393
394	psrld	$2,%xmm12
395	paddd	%xmm8,%xmm10
396.byte	102,15,56,0,197
397	movd	-20(%r10),%xmm8
398	por	%xmm7,%xmm12
399	movd	-20(%r11),%xmm7
400	punpckldq	%xmm8,%xmm1
401	movdqa	%xmm10,%xmm8
402	paddd	%xmm15,%xmm14
403	punpckldq	%xmm7,%xmm9
404	movdqa	%xmm11,%xmm7
405	movdqa	%xmm11,%xmm6
406	pslld	$5,%xmm8
407	pandn	%xmm13,%xmm7
408	pand	%xmm12,%xmm6
409	punpckldq	%xmm9,%xmm1
410	movdqa	%xmm10,%xmm9
411
412	movdqa	%xmm0,160-128(%rax)
413	paddd	%xmm0,%xmm14
414	movd	-16(%r8),%xmm2
415	psrld	$27,%xmm9
416	pxor	%xmm7,%xmm6
417	movdqa	%xmm11,%xmm7
418
419	por	%xmm9,%xmm8
420	movd	-16(%r9),%xmm9
421	pslld	$30,%xmm7
422	paddd	%xmm6,%xmm14
423
424	psrld	$2,%xmm11
425	paddd	%xmm8,%xmm14
426.byte	102,15,56,0,205
427	movd	-16(%r10),%xmm8
428	por	%xmm7,%xmm11
429	movd	-16(%r11),%xmm7
430	punpckldq	%xmm8,%xmm2
431	movdqa	%xmm14,%xmm8
432	paddd	%xmm15,%xmm13
433	punpckldq	%xmm7,%xmm9
434	movdqa	%xmm10,%xmm7
435	movdqa	%xmm10,%xmm6
436	pslld	$5,%xmm8
437	pandn	%xmm12,%xmm7
438	pand	%xmm11,%xmm6
439	punpckldq	%xmm9,%xmm2
440	movdqa	%xmm14,%xmm9
441
442	movdqa	%xmm1,176-128(%rax)
443	paddd	%xmm1,%xmm13
444	movd	-12(%r8),%xmm3
445	psrld	$27,%xmm9
446	pxor	%xmm7,%xmm6
447	movdqa	%xmm10,%xmm7
448
449	por	%xmm9,%xmm8
450	movd	-12(%r9),%xmm9
451	pslld	$30,%xmm7
452	paddd	%xmm6,%xmm13
453
454	psrld	$2,%xmm10
455	paddd	%xmm8,%xmm13
456.byte	102,15,56,0,213
457	movd	-12(%r10),%xmm8
458	por	%xmm7,%xmm10
459	movd	-12(%r11),%xmm7
460	punpckldq	%xmm8,%xmm3
461	movdqa	%xmm13,%xmm8
462	paddd	%xmm15,%xmm12
463	punpckldq	%xmm7,%xmm9
464	movdqa	%xmm14,%xmm7
465	movdqa	%xmm14,%xmm6
466	pslld	$5,%xmm8
467	pandn	%xmm11,%xmm7
468	pand	%xmm10,%xmm6
469	punpckldq	%xmm9,%xmm3
470	movdqa	%xmm13,%xmm9
471
472	movdqa	%xmm2,192-128(%rax)
473	paddd	%xmm2,%xmm12
474	movd	-8(%r8),%xmm4
475	psrld	$27,%xmm9
476	pxor	%xmm7,%xmm6
477	movdqa	%xmm14,%xmm7
478
479	por	%xmm9,%xmm8
480	movd	-8(%r9),%xmm9
481	pslld	$30,%xmm7
482	paddd	%xmm6,%xmm12
483
484	psrld	$2,%xmm14
485	paddd	%xmm8,%xmm12
486.byte	102,15,56,0,221
487	movd	-8(%r10),%xmm8
488	por	%xmm7,%xmm14
489	movd	-8(%r11),%xmm7
490	punpckldq	%xmm8,%xmm4
491	movdqa	%xmm12,%xmm8
492	paddd	%xmm15,%xmm11
493	punpckldq	%xmm7,%xmm9
494	movdqa	%xmm13,%xmm7
495	movdqa	%xmm13,%xmm6
496	pslld	$5,%xmm8
497	pandn	%xmm10,%xmm7
498	pand	%xmm14,%xmm6
499	punpckldq	%xmm9,%xmm4
500	movdqa	%xmm12,%xmm9
501
502	movdqa	%xmm3,208-128(%rax)
503	paddd	%xmm3,%xmm11
504	movd	-4(%r8),%xmm0
505	psrld	$27,%xmm9
506	pxor	%xmm7,%xmm6
507	movdqa	%xmm13,%xmm7
508
509	por	%xmm9,%xmm8
510	movd	-4(%r9),%xmm9
511	pslld	$30,%xmm7
512	paddd	%xmm6,%xmm11
513
514	psrld	$2,%xmm13
515	paddd	%xmm8,%xmm11
516.byte	102,15,56,0,229
517	movd	-4(%r10),%xmm8
518	por	%xmm7,%xmm13
519	movdqa	0-128(%rax),%xmm1
520	movd	-4(%r11),%xmm7
521	punpckldq	%xmm8,%xmm0
522	movdqa	%xmm11,%xmm8
523	paddd	%xmm15,%xmm10
524	punpckldq	%xmm7,%xmm9
525	movdqa	%xmm12,%xmm7
526	movdqa	%xmm12,%xmm6
527	pslld	$5,%xmm8
528	prefetcht0	63(%r8)
529	pandn	%xmm14,%xmm7
530	pand	%xmm13,%xmm6
531	punpckldq	%xmm9,%xmm0
532	movdqa	%xmm11,%xmm9
533
534	movdqa	%xmm4,224-128(%rax)
535	paddd	%xmm4,%xmm10
536	psrld	$27,%xmm9
537	pxor	%xmm7,%xmm6
538	movdqa	%xmm12,%xmm7
539	prefetcht0	63(%r9)
540
541	por	%xmm9,%xmm8
542	pslld	$30,%xmm7
543	paddd	%xmm6,%xmm10
544	prefetcht0	63(%r10)
545
546	psrld	$2,%xmm12
547	paddd	%xmm8,%xmm10
548.byte	102,15,56,0,197
549	prefetcht0	63(%r11)
550	por	%xmm7,%xmm12
551	movdqa	16-128(%rax),%xmm2
552	pxor	%xmm3,%xmm1
553	movdqa	32-128(%rax),%xmm3
554
555	movdqa	%xmm10,%xmm8
556	pxor	128-128(%rax),%xmm1
557	paddd	%xmm15,%xmm14
558	movdqa	%xmm11,%xmm7
559	pslld	$5,%xmm8
560	pxor	%xmm3,%xmm1
561	movdqa	%xmm11,%xmm6
562	pandn	%xmm13,%xmm7
563	movdqa	%xmm1,%xmm5
564	pand	%xmm12,%xmm6
565	movdqa	%xmm10,%xmm9
566	psrld	$31,%xmm5
567	paddd	%xmm1,%xmm1
568
569	movdqa	%xmm0,240-128(%rax)
570	paddd	%xmm0,%xmm14
571	psrld	$27,%xmm9
572	pxor	%xmm7,%xmm6
573
574	movdqa	%xmm11,%xmm7
575	por	%xmm9,%xmm8
576	pslld	$30,%xmm7
577	paddd	%xmm6,%xmm14
578
579	psrld	$2,%xmm11
580	paddd	%xmm8,%xmm14
581	por	%xmm5,%xmm1
582	por	%xmm7,%xmm11
583	pxor	%xmm4,%xmm2
584	movdqa	48-128(%rax),%xmm4
585
586	movdqa	%xmm14,%xmm8
587	pxor	144-128(%rax),%xmm2
588	paddd	%xmm15,%xmm13
589	movdqa	%xmm10,%xmm7
590	pslld	$5,%xmm8
591	pxor	%xmm4,%xmm2
592	movdqa	%xmm10,%xmm6
593	pandn	%xmm12,%xmm7
594	movdqa	%xmm2,%xmm5
595	pand	%xmm11,%xmm6
596	movdqa	%xmm14,%xmm9
597	psrld	$31,%xmm5
598	paddd	%xmm2,%xmm2
599
600	movdqa	%xmm1,0-128(%rax)
601	paddd	%xmm1,%xmm13
602	psrld	$27,%xmm9
603	pxor	%xmm7,%xmm6
604
605	movdqa	%xmm10,%xmm7
606	por	%xmm9,%xmm8
607	pslld	$30,%xmm7
608	paddd	%xmm6,%xmm13
609
610	psrld	$2,%xmm10
611	paddd	%xmm8,%xmm13
612	por	%xmm5,%xmm2
613	por	%xmm7,%xmm10
614	pxor	%xmm0,%xmm3
615	movdqa	64-128(%rax),%xmm0
616
617	movdqa	%xmm13,%xmm8
618	pxor	160-128(%rax),%xmm3
619	paddd	%xmm15,%xmm12
620	movdqa	%xmm14,%xmm7
621	pslld	$5,%xmm8
622	pxor	%xmm0,%xmm3
623	movdqa	%xmm14,%xmm6
624	pandn	%xmm11,%xmm7
625	movdqa	%xmm3,%xmm5
626	pand	%xmm10,%xmm6
627	movdqa	%xmm13,%xmm9
628	psrld	$31,%xmm5
629	paddd	%xmm3,%xmm3
630
631	movdqa	%xmm2,16-128(%rax)
632	paddd	%xmm2,%xmm12
633	psrld	$27,%xmm9
634	pxor	%xmm7,%xmm6
635
636	movdqa	%xmm14,%xmm7
637	por	%xmm9,%xmm8
638	pslld	$30,%xmm7
639	paddd	%xmm6,%xmm12
640
641	psrld	$2,%xmm14
642	paddd	%xmm8,%xmm12
643	por	%xmm5,%xmm3
644	por	%xmm7,%xmm14
645	pxor	%xmm1,%xmm4
646	movdqa	80-128(%rax),%xmm1
647
648	movdqa	%xmm12,%xmm8
649	pxor	176-128(%rax),%xmm4
650	paddd	%xmm15,%xmm11
651	movdqa	%xmm13,%xmm7
652	pslld	$5,%xmm8
653	pxor	%xmm1,%xmm4
654	movdqa	%xmm13,%xmm6
655	pandn	%xmm10,%xmm7
656	movdqa	%xmm4,%xmm5
657	pand	%xmm14,%xmm6
658	movdqa	%xmm12,%xmm9
659	psrld	$31,%xmm5
660	paddd	%xmm4,%xmm4
661
662	movdqa	%xmm3,32-128(%rax)
663	paddd	%xmm3,%xmm11
664	psrld	$27,%xmm9
665	pxor	%xmm7,%xmm6
666
667	movdqa	%xmm13,%xmm7
668	por	%xmm9,%xmm8
669	pslld	$30,%xmm7
670	paddd	%xmm6,%xmm11
671
672	psrld	$2,%xmm13
673	paddd	%xmm8,%xmm11
674	por	%xmm5,%xmm4
675	por	%xmm7,%xmm13
676	pxor	%xmm2,%xmm0
677	movdqa	96-128(%rax),%xmm2
678
679	movdqa	%xmm11,%xmm8
680	pxor	192-128(%rax),%xmm0
681	paddd	%xmm15,%xmm10
682	movdqa	%xmm12,%xmm7
683	pslld	$5,%xmm8
684	pxor	%xmm2,%xmm0
685	movdqa	%xmm12,%xmm6
686	pandn	%xmm14,%xmm7
687	movdqa	%xmm0,%xmm5
688	pand	%xmm13,%xmm6
689	movdqa	%xmm11,%xmm9
690	psrld	$31,%xmm5
691	paddd	%xmm0,%xmm0
692
693	movdqa	%xmm4,48-128(%rax)
694	paddd	%xmm4,%xmm10
695	psrld	$27,%xmm9
696	pxor	%xmm7,%xmm6
697
698	movdqa	%xmm12,%xmm7
699	por	%xmm9,%xmm8
700	pslld	$30,%xmm7
701	paddd	%xmm6,%xmm10
702
703	psrld	$2,%xmm12
704	paddd	%xmm8,%xmm10
705	por	%xmm5,%xmm0
706	por	%xmm7,%xmm12
707	movdqa	0(%rbp),%xmm15
708	pxor	%xmm3,%xmm1
709	movdqa	112-128(%rax),%xmm3
710
711	movdqa	%xmm10,%xmm8
712	movdqa	%xmm13,%xmm6
713	pxor	208-128(%rax),%xmm1
714	paddd	%xmm15,%xmm14
715	pslld	$5,%xmm8
716	pxor	%xmm11,%xmm6
717
718	movdqa	%xmm10,%xmm9
719	movdqa	%xmm0,64-128(%rax)
720	paddd	%xmm0,%xmm14
721	pxor	%xmm3,%xmm1
722	psrld	$27,%xmm9
723	pxor	%xmm12,%xmm6
724	movdqa	%xmm11,%xmm7
725
726	pslld	$30,%xmm7
727	movdqa	%xmm1,%xmm5
728	por	%xmm9,%xmm8
729	psrld	$31,%xmm5
730	paddd	%xmm6,%xmm14
731	paddd	%xmm1,%xmm1
732
733	psrld	$2,%xmm11
734	paddd	%xmm8,%xmm14
735	por	%xmm5,%xmm1
736	por	%xmm7,%xmm11
737	pxor	%xmm4,%xmm2
738	movdqa	128-128(%rax),%xmm4
739
740	movdqa	%xmm14,%xmm8
741	movdqa	%xmm12,%xmm6
742	pxor	224-128(%rax),%xmm2
743	paddd	%xmm15,%xmm13
744	pslld	$5,%xmm8
745	pxor	%xmm10,%xmm6
746
747	movdqa	%xmm14,%xmm9
748	movdqa	%xmm1,80-128(%rax)
749	paddd	%xmm1,%xmm13
750	pxor	%xmm4,%xmm2
751	psrld	$27,%xmm9
752	pxor	%xmm11,%xmm6
753	movdqa	%xmm10,%xmm7
754
755	pslld	$30,%xmm7
756	movdqa	%xmm2,%xmm5
757	por	%xmm9,%xmm8
758	psrld	$31,%xmm5
759	paddd	%xmm6,%xmm13
760	paddd	%xmm2,%xmm2
761
762	psrld	$2,%xmm10
763	paddd	%xmm8,%xmm13
764	por	%xmm5,%xmm2
765	por	%xmm7,%xmm10
766	pxor	%xmm0,%xmm3
767	movdqa	144-128(%rax),%xmm0
768
769	movdqa	%xmm13,%xmm8
770	movdqa	%xmm11,%xmm6
771	pxor	240-128(%rax),%xmm3
772	paddd	%xmm15,%xmm12
773	pslld	$5,%xmm8
774	pxor	%xmm14,%xmm6
775
776	movdqa	%xmm13,%xmm9
777	movdqa	%xmm2,96-128(%rax)
778	paddd	%xmm2,%xmm12
779	pxor	%xmm0,%xmm3
780	psrld	$27,%xmm9
781	pxor	%xmm10,%xmm6
782	movdqa	%xmm14,%xmm7
783
784	pslld	$30,%xmm7
785	movdqa	%xmm3,%xmm5
786	por	%xmm9,%xmm8
787	psrld	$31,%xmm5
788	paddd	%xmm6,%xmm12
789	paddd	%xmm3,%xmm3
790
791	psrld	$2,%xmm14
792	paddd	%xmm8,%xmm12
793	por	%xmm5,%xmm3
794	por	%xmm7,%xmm14
795	pxor	%xmm1,%xmm4
796	movdqa	160-128(%rax),%xmm1
797
798	movdqa	%xmm12,%xmm8
799	movdqa	%xmm10,%xmm6
800	pxor	0-128(%rax),%xmm4
801	paddd	%xmm15,%xmm11
802	pslld	$5,%xmm8
803	pxor	%xmm13,%xmm6
804
805	movdqa	%xmm12,%xmm9
806	movdqa	%xmm3,112-128(%rax)
807	paddd	%xmm3,%xmm11
808	pxor	%xmm1,%xmm4
809	psrld	$27,%xmm9
810	pxor	%xmm14,%xmm6
811	movdqa	%xmm13,%xmm7
812
813	pslld	$30,%xmm7
814	movdqa	%xmm4,%xmm5
815	por	%xmm9,%xmm8
816	psrld	$31,%xmm5
817	paddd	%xmm6,%xmm11
818	paddd	%xmm4,%xmm4
819
820	psrld	$2,%xmm13
821	paddd	%xmm8,%xmm11
822	por	%xmm5,%xmm4
823	por	%xmm7,%xmm13
824	pxor	%xmm2,%xmm0
825	movdqa	176-128(%rax),%xmm2
826
827	movdqa	%xmm11,%xmm8
828	movdqa	%xmm14,%xmm6
829	pxor	16-128(%rax),%xmm0
830	paddd	%xmm15,%xmm10
831	pslld	$5,%xmm8
832	pxor	%xmm12,%xmm6
833
834	movdqa	%xmm11,%xmm9
835	movdqa	%xmm4,128-128(%rax)
836	paddd	%xmm4,%xmm10
837	pxor	%xmm2,%xmm0
838	psrld	$27,%xmm9
839	pxor	%xmm13,%xmm6
840	movdqa	%xmm12,%xmm7
841
842	pslld	$30,%xmm7
843	movdqa	%xmm0,%xmm5
844	por	%xmm9,%xmm8
845	psrld	$31,%xmm5
846	paddd	%xmm6,%xmm10
847	paddd	%xmm0,%xmm0
848
849	psrld	$2,%xmm12
850	paddd	%xmm8,%xmm10
851	por	%xmm5,%xmm0
852	por	%xmm7,%xmm12
853	pxor	%xmm3,%xmm1
854	movdqa	192-128(%rax),%xmm3
855
856	movdqa	%xmm10,%xmm8
857	movdqa	%xmm13,%xmm6
858	pxor	32-128(%rax),%xmm1
859	paddd	%xmm15,%xmm14
860	pslld	$5,%xmm8
861	pxor	%xmm11,%xmm6
862
863	movdqa	%xmm10,%xmm9
864	movdqa	%xmm0,144-128(%rax)
865	paddd	%xmm0,%xmm14
866	pxor	%xmm3,%xmm1
867	psrld	$27,%xmm9
868	pxor	%xmm12,%xmm6
869	movdqa	%xmm11,%xmm7
870
871	pslld	$30,%xmm7
872	movdqa	%xmm1,%xmm5
873	por	%xmm9,%xmm8
874	psrld	$31,%xmm5
875	paddd	%xmm6,%xmm14
876	paddd	%xmm1,%xmm1
877
878	psrld	$2,%xmm11
879	paddd	%xmm8,%xmm14
880	por	%xmm5,%xmm1
881	por	%xmm7,%xmm11
882	pxor	%xmm4,%xmm2
883	movdqa	208-128(%rax),%xmm4
884
885	movdqa	%xmm14,%xmm8
886	movdqa	%xmm12,%xmm6
887	pxor	48-128(%rax),%xmm2
888	paddd	%xmm15,%xmm13
889	pslld	$5,%xmm8
890	pxor	%xmm10,%xmm6
891
892	movdqa	%xmm14,%xmm9
893	movdqa	%xmm1,160-128(%rax)
894	paddd	%xmm1,%xmm13
895	pxor	%xmm4,%xmm2
896	psrld	$27,%xmm9
897	pxor	%xmm11,%xmm6
898	movdqa	%xmm10,%xmm7
899
900	pslld	$30,%xmm7
901	movdqa	%xmm2,%xmm5
902	por	%xmm9,%xmm8
903	psrld	$31,%xmm5
904	paddd	%xmm6,%xmm13
905	paddd	%xmm2,%xmm2
906
907	psrld	$2,%xmm10
908	paddd	%xmm8,%xmm13
909	por	%xmm5,%xmm2
910	por	%xmm7,%xmm10
911	pxor	%xmm0,%xmm3
912	movdqa	224-128(%rax),%xmm0
913
914	movdqa	%xmm13,%xmm8
915	movdqa	%xmm11,%xmm6
916	pxor	64-128(%rax),%xmm3
917	paddd	%xmm15,%xmm12
918	pslld	$5,%xmm8
919	pxor	%xmm14,%xmm6
920
921	movdqa	%xmm13,%xmm9
922	movdqa	%xmm2,176-128(%rax)
923	paddd	%xmm2,%xmm12
924	pxor	%xmm0,%xmm3
925	psrld	$27,%xmm9
926	pxor	%xmm10,%xmm6
927	movdqa	%xmm14,%xmm7
928
929	pslld	$30,%xmm7
930	movdqa	%xmm3,%xmm5
931	por	%xmm9,%xmm8
932	psrld	$31,%xmm5
933	paddd	%xmm6,%xmm12
934	paddd	%xmm3,%xmm3
935
936	psrld	$2,%xmm14
937	paddd	%xmm8,%xmm12
938	por	%xmm5,%xmm3
939	por	%xmm7,%xmm14
940	pxor	%xmm1,%xmm4
941	movdqa	240-128(%rax),%xmm1
942
943	movdqa	%xmm12,%xmm8
944	movdqa	%xmm10,%xmm6
945	pxor	80-128(%rax),%xmm4
946	paddd	%xmm15,%xmm11
947	pslld	$5,%xmm8
948	pxor	%xmm13,%xmm6
949
950	movdqa	%xmm12,%xmm9
951	movdqa	%xmm3,192-128(%rax)
952	paddd	%xmm3,%xmm11
953	pxor	%xmm1,%xmm4
954	psrld	$27,%xmm9
955	pxor	%xmm14,%xmm6
956	movdqa	%xmm13,%xmm7
957
958	pslld	$30,%xmm7
959	movdqa	%xmm4,%xmm5
960	por	%xmm9,%xmm8
961	psrld	$31,%xmm5
962	paddd	%xmm6,%xmm11
963	paddd	%xmm4,%xmm4
964
965	psrld	$2,%xmm13
966	paddd	%xmm8,%xmm11
967	por	%xmm5,%xmm4
968	por	%xmm7,%xmm13
969	pxor	%xmm2,%xmm0
970	movdqa	0-128(%rax),%xmm2
971
972	movdqa	%xmm11,%xmm8
973	movdqa	%xmm14,%xmm6
974	pxor	96-128(%rax),%xmm0
975	paddd	%xmm15,%xmm10
976	pslld	$5,%xmm8
977	pxor	%xmm12,%xmm6
978
979	movdqa	%xmm11,%xmm9
980	movdqa	%xmm4,208-128(%rax)
981	paddd	%xmm4,%xmm10
982	pxor	%xmm2,%xmm0
983	psrld	$27,%xmm9
984	pxor	%xmm13,%xmm6
985	movdqa	%xmm12,%xmm7
986
987	pslld	$30,%xmm7
988	movdqa	%xmm0,%xmm5
989	por	%xmm9,%xmm8
990	psrld	$31,%xmm5
991	paddd	%xmm6,%xmm10
992	paddd	%xmm0,%xmm0
993
994	psrld	$2,%xmm12
995	paddd	%xmm8,%xmm10
996	por	%xmm5,%xmm0
997	por	%xmm7,%xmm12
998	pxor	%xmm3,%xmm1
999	movdqa	16-128(%rax),%xmm3
1000
1001	movdqa	%xmm10,%xmm8
1002	movdqa	%xmm13,%xmm6
1003	pxor	112-128(%rax),%xmm1
1004	paddd	%xmm15,%xmm14
1005	pslld	$5,%xmm8
1006	pxor	%xmm11,%xmm6
1007
1008	movdqa	%xmm10,%xmm9
1009	movdqa	%xmm0,224-128(%rax)
1010	paddd	%xmm0,%xmm14
1011	pxor	%xmm3,%xmm1
1012	psrld	$27,%xmm9
1013	pxor	%xmm12,%xmm6
1014	movdqa	%xmm11,%xmm7
1015
1016	pslld	$30,%xmm7
1017	movdqa	%xmm1,%xmm5
1018	por	%xmm9,%xmm8
1019	psrld	$31,%xmm5
1020	paddd	%xmm6,%xmm14
1021	paddd	%xmm1,%xmm1
1022
1023	psrld	$2,%xmm11
1024	paddd	%xmm8,%xmm14
1025	por	%xmm5,%xmm1
1026	por	%xmm7,%xmm11
1027	pxor	%xmm4,%xmm2
1028	movdqa	32-128(%rax),%xmm4
1029
1030	movdqa	%xmm14,%xmm8
1031	movdqa	%xmm12,%xmm6
1032	pxor	128-128(%rax),%xmm2
1033	paddd	%xmm15,%xmm13
1034	pslld	$5,%xmm8
1035	pxor	%xmm10,%xmm6
1036
1037	movdqa	%xmm14,%xmm9
1038	movdqa	%xmm1,240-128(%rax)
1039	paddd	%xmm1,%xmm13
1040	pxor	%xmm4,%xmm2
1041	psrld	$27,%xmm9
1042	pxor	%xmm11,%xmm6
1043	movdqa	%xmm10,%xmm7
1044
1045	pslld	$30,%xmm7
1046	movdqa	%xmm2,%xmm5
1047	por	%xmm9,%xmm8
1048	psrld	$31,%xmm5
1049	paddd	%xmm6,%xmm13
1050	paddd	%xmm2,%xmm2
1051
1052	psrld	$2,%xmm10
1053	paddd	%xmm8,%xmm13
1054	por	%xmm5,%xmm2
1055	por	%xmm7,%xmm10
1056	pxor	%xmm0,%xmm3
1057	movdqa	48-128(%rax),%xmm0
1058
1059	movdqa	%xmm13,%xmm8
1060	movdqa	%xmm11,%xmm6
1061	pxor	144-128(%rax),%xmm3
1062	paddd	%xmm15,%xmm12
1063	pslld	$5,%xmm8
1064	pxor	%xmm14,%xmm6
1065
1066	movdqa	%xmm13,%xmm9
1067	movdqa	%xmm2,0-128(%rax)
1068	paddd	%xmm2,%xmm12
1069	pxor	%xmm0,%xmm3
1070	psrld	$27,%xmm9
1071	pxor	%xmm10,%xmm6
1072	movdqa	%xmm14,%xmm7
1073
1074	pslld	$30,%xmm7
1075	movdqa	%xmm3,%xmm5
1076	por	%xmm9,%xmm8
1077	psrld	$31,%xmm5
1078	paddd	%xmm6,%xmm12
1079	paddd	%xmm3,%xmm3
1080
1081	psrld	$2,%xmm14
1082	paddd	%xmm8,%xmm12
1083	por	%xmm5,%xmm3
1084	por	%xmm7,%xmm14
1085	pxor	%xmm1,%xmm4
1086	movdqa	64-128(%rax),%xmm1
1087
1088	movdqa	%xmm12,%xmm8
1089	movdqa	%xmm10,%xmm6
1090	pxor	160-128(%rax),%xmm4
1091	paddd	%xmm15,%xmm11
1092	pslld	$5,%xmm8
1093	pxor	%xmm13,%xmm6
1094
1095	movdqa	%xmm12,%xmm9
1096	movdqa	%xmm3,16-128(%rax)
1097	paddd	%xmm3,%xmm11
1098	pxor	%xmm1,%xmm4
1099	psrld	$27,%xmm9
1100	pxor	%xmm14,%xmm6
1101	movdqa	%xmm13,%xmm7
1102
1103	pslld	$30,%xmm7
1104	movdqa	%xmm4,%xmm5
1105	por	%xmm9,%xmm8
1106	psrld	$31,%xmm5
1107	paddd	%xmm6,%xmm11
1108	paddd	%xmm4,%xmm4
1109
1110	psrld	$2,%xmm13
1111	paddd	%xmm8,%xmm11
1112	por	%xmm5,%xmm4
1113	por	%xmm7,%xmm13
1114	pxor	%xmm2,%xmm0
1115	movdqa	80-128(%rax),%xmm2
1116
1117	movdqa	%xmm11,%xmm8
1118	movdqa	%xmm14,%xmm6
1119	pxor	176-128(%rax),%xmm0
1120	paddd	%xmm15,%xmm10
1121	pslld	$5,%xmm8
1122	pxor	%xmm12,%xmm6
1123
1124	movdqa	%xmm11,%xmm9
1125	movdqa	%xmm4,32-128(%rax)
1126	paddd	%xmm4,%xmm10
1127	pxor	%xmm2,%xmm0
1128	psrld	$27,%xmm9
1129	pxor	%xmm13,%xmm6
1130	movdqa	%xmm12,%xmm7
1131
1132	pslld	$30,%xmm7
1133	movdqa	%xmm0,%xmm5
1134	por	%xmm9,%xmm8
1135	psrld	$31,%xmm5
1136	paddd	%xmm6,%xmm10
1137	paddd	%xmm0,%xmm0
1138
1139	psrld	$2,%xmm12
1140	paddd	%xmm8,%xmm10
1141	por	%xmm5,%xmm0
1142	por	%xmm7,%xmm12
1143	pxor	%xmm3,%xmm1
1144	movdqa	96-128(%rax),%xmm3
1145
1146	movdqa	%xmm10,%xmm8
1147	movdqa	%xmm13,%xmm6
1148	pxor	192-128(%rax),%xmm1
1149	paddd	%xmm15,%xmm14
1150	pslld	$5,%xmm8
1151	pxor	%xmm11,%xmm6
1152
1153	movdqa	%xmm10,%xmm9
1154	movdqa	%xmm0,48-128(%rax)
1155	paddd	%xmm0,%xmm14
1156	pxor	%xmm3,%xmm1
1157	psrld	$27,%xmm9
1158	pxor	%xmm12,%xmm6
1159	movdqa	%xmm11,%xmm7
1160
1161	pslld	$30,%xmm7
1162	movdqa	%xmm1,%xmm5
1163	por	%xmm9,%xmm8
1164	psrld	$31,%xmm5
1165	paddd	%xmm6,%xmm14
1166	paddd	%xmm1,%xmm1
1167
1168	psrld	$2,%xmm11
1169	paddd	%xmm8,%xmm14
1170	por	%xmm5,%xmm1
1171	por	%xmm7,%xmm11
1172	pxor	%xmm4,%xmm2
1173	movdqa	112-128(%rax),%xmm4
1174
1175	movdqa	%xmm14,%xmm8
1176	movdqa	%xmm12,%xmm6
1177	pxor	208-128(%rax),%xmm2
1178	paddd	%xmm15,%xmm13
1179	pslld	$5,%xmm8
1180	pxor	%xmm10,%xmm6
1181
1182	movdqa	%xmm14,%xmm9
1183	movdqa	%xmm1,64-128(%rax)
1184	paddd	%xmm1,%xmm13
1185	pxor	%xmm4,%xmm2
1186	psrld	$27,%xmm9
1187	pxor	%xmm11,%xmm6
1188	movdqa	%xmm10,%xmm7
1189
1190	pslld	$30,%xmm7
1191	movdqa	%xmm2,%xmm5
1192	por	%xmm9,%xmm8
1193	psrld	$31,%xmm5
1194	paddd	%xmm6,%xmm13
1195	paddd	%xmm2,%xmm2
1196
1197	psrld	$2,%xmm10
1198	paddd	%xmm8,%xmm13
1199	por	%xmm5,%xmm2
1200	por	%xmm7,%xmm10
1201	pxor	%xmm0,%xmm3
1202	movdqa	128-128(%rax),%xmm0
1203
1204	movdqa	%xmm13,%xmm8
1205	movdqa	%xmm11,%xmm6
1206	pxor	224-128(%rax),%xmm3
1207	paddd	%xmm15,%xmm12
1208	pslld	$5,%xmm8
1209	pxor	%xmm14,%xmm6
1210
1211	movdqa	%xmm13,%xmm9
1212	movdqa	%xmm2,80-128(%rax)
1213	paddd	%xmm2,%xmm12
1214	pxor	%xmm0,%xmm3
1215	psrld	$27,%xmm9
1216	pxor	%xmm10,%xmm6
1217	movdqa	%xmm14,%xmm7
1218
1219	pslld	$30,%xmm7
1220	movdqa	%xmm3,%xmm5
1221	por	%xmm9,%xmm8
1222	psrld	$31,%xmm5
1223	paddd	%xmm6,%xmm12
1224	paddd	%xmm3,%xmm3
1225
1226	psrld	$2,%xmm14
1227	paddd	%xmm8,%xmm12
1228	por	%xmm5,%xmm3
1229	por	%xmm7,%xmm14
1230	pxor	%xmm1,%xmm4
1231	movdqa	144-128(%rax),%xmm1
1232
1233	movdqa	%xmm12,%xmm8
1234	movdqa	%xmm10,%xmm6
1235	pxor	240-128(%rax),%xmm4
1236	paddd	%xmm15,%xmm11
1237	pslld	$5,%xmm8
1238	pxor	%xmm13,%xmm6
1239
1240	movdqa	%xmm12,%xmm9
1241	movdqa	%xmm3,96-128(%rax)
1242	paddd	%xmm3,%xmm11
1243	pxor	%xmm1,%xmm4
1244	psrld	$27,%xmm9
1245	pxor	%xmm14,%xmm6
1246	movdqa	%xmm13,%xmm7
1247
1248	pslld	$30,%xmm7
1249	movdqa	%xmm4,%xmm5
1250	por	%xmm9,%xmm8
1251	psrld	$31,%xmm5
1252	paddd	%xmm6,%xmm11
1253	paddd	%xmm4,%xmm4
1254
1255	psrld	$2,%xmm13
1256	paddd	%xmm8,%xmm11
1257	por	%xmm5,%xmm4
1258	por	%xmm7,%xmm13
1259	pxor	%xmm2,%xmm0
1260	movdqa	160-128(%rax),%xmm2
1261
1262	movdqa	%xmm11,%xmm8
1263	movdqa	%xmm14,%xmm6
1264	pxor	0-128(%rax),%xmm0
1265	paddd	%xmm15,%xmm10
1266	pslld	$5,%xmm8
1267	pxor	%xmm12,%xmm6
1268
1269	movdqa	%xmm11,%xmm9
1270	movdqa	%xmm4,112-128(%rax)
1271	paddd	%xmm4,%xmm10
1272	pxor	%xmm2,%xmm0
1273	psrld	$27,%xmm9
1274	pxor	%xmm13,%xmm6
1275	movdqa	%xmm12,%xmm7
1276
1277	pslld	$30,%xmm7
1278	movdqa	%xmm0,%xmm5
1279	por	%xmm9,%xmm8
1280	psrld	$31,%xmm5
1281	paddd	%xmm6,%xmm10
1282	paddd	%xmm0,%xmm0
1283
1284	psrld	$2,%xmm12
1285	paddd	%xmm8,%xmm10
1286	por	%xmm5,%xmm0
1287	por	%xmm7,%xmm12
1288	movdqa	32(%rbp),%xmm15
1289	pxor	%xmm3,%xmm1
1290	movdqa	176-128(%rax),%xmm3
1291
1292	movdqa	%xmm10,%xmm8
1293	movdqa	%xmm13,%xmm7
1294	pxor	16-128(%rax),%xmm1
1295	pxor	%xmm3,%xmm1
1296	paddd	%xmm15,%xmm14
1297	pslld	$5,%xmm8
1298	movdqa	%xmm10,%xmm9
1299	pand	%xmm12,%xmm7
1300
1301	movdqa	%xmm13,%xmm6
1302	movdqa	%xmm1,%xmm5
1303	psrld	$27,%xmm9
1304	paddd	%xmm7,%xmm14
1305	pxor	%xmm12,%xmm6
1306
1307	movdqa	%xmm0,128-128(%rax)
1308	paddd	%xmm0,%xmm14
1309	por	%xmm9,%xmm8
1310	psrld	$31,%xmm5
1311	pand	%xmm11,%xmm6
1312	movdqa	%xmm11,%xmm7
1313
1314	pslld	$30,%xmm7
1315	paddd	%xmm1,%xmm1
1316	paddd	%xmm6,%xmm14
1317
1318	psrld	$2,%xmm11
1319	paddd	%xmm8,%xmm14
1320	por	%xmm5,%xmm1
1321	por	%xmm7,%xmm11
1322	pxor	%xmm4,%xmm2
1323	movdqa	192-128(%rax),%xmm4
1324
1325	movdqa	%xmm14,%xmm8
1326	movdqa	%xmm12,%xmm7
1327	pxor	32-128(%rax),%xmm2
1328	pxor	%xmm4,%xmm2
1329	paddd	%xmm15,%xmm13
1330	pslld	$5,%xmm8
1331	movdqa	%xmm14,%xmm9
1332	pand	%xmm11,%xmm7
1333
1334	movdqa	%xmm12,%xmm6
1335	movdqa	%xmm2,%xmm5
1336	psrld	$27,%xmm9
1337	paddd	%xmm7,%xmm13
1338	pxor	%xmm11,%xmm6
1339
1340	movdqa	%xmm1,144-128(%rax)
1341	paddd	%xmm1,%xmm13
1342	por	%xmm9,%xmm8
1343	psrld	$31,%xmm5
1344	pand	%xmm10,%xmm6
1345	movdqa	%xmm10,%xmm7
1346
1347	pslld	$30,%xmm7
1348	paddd	%xmm2,%xmm2
1349	paddd	%xmm6,%xmm13
1350
1351	psrld	$2,%xmm10
1352	paddd	%xmm8,%xmm13
1353	por	%xmm5,%xmm2
1354	por	%xmm7,%xmm10
1355	pxor	%xmm0,%xmm3
1356	movdqa	208-128(%rax),%xmm0
1357
1358	movdqa	%xmm13,%xmm8
1359	movdqa	%xmm11,%xmm7
1360	pxor	48-128(%rax),%xmm3
1361	pxor	%xmm0,%xmm3
1362	paddd	%xmm15,%xmm12
1363	pslld	$5,%xmm8
1364	movdqa	%xmm13,%xmm9
1365	pand	%xmm10,%xmm7
1366
1367	movdqa	%xmm11,%xmm6
1368	movdqa	%xmm3,%xmm5
1369	psrld	$27,%xmm9
1370	paddd	%xmm7,%xmm12
1371	pxor	%xmm10,%xmm6
1372
1373	movdqa	%xmm2,160-128(%rax)
1374	paddd	%xmm2,%xmm12
1375	por	%xmm9,%xmm8
1376	psrld	$31,%xmm5
1377	pand	%xmm14,%xmm6
1378	movdqa	%xmm14,%xmm7
1379
1380	pslld	$30,%xmm7
1381	paddd	%xmm3,%xmm3
1382	paddd	%xmm6,%xmm12
1383
1384	psrld	$2,%xmm14
1385	paddd	%xmm8,%xmm12
1386	por	%xmm5,%xmm3
1387	por	%xmm7,%xmm14
1388	pxor	%xmm1,%xmm4
1389	movdqa	224-128(%rax),%xmm1
1390
1391	movdqa	%xmm12,%xmm8
1392	movdqa	%xmm10,%xmm7
1393	pxor	64-128(%rax),%xmm4
1394	pxor	%xmm1,%xmm4
1395	paddd	%xmm15,%xmm11
1396	pslld	$5,%xmm8
1397	movdqa	%xmm12,%xmm9
1398	pand	%xmm14,%xmm7
1399
1400	movdqa	%xmm10,%xmm6
1401	movdqa	%xmm4,%xmm5
1402	psrld	$27,%xmm9
1403	paddd	%xmm7,%xmm11
1404	pxor	%xmm14,%xmm6
1405
1406	movdqa	%xmm3,176-128(%rax)
1407	paddd	%xmm3,%xmm11
1408	por	%xmm9,%xmm8
1409	psrld	$31,%xmm5
1410	pand	%xmm13,%xmm6
1411	movdqa	%xmm13,%xmm7
1412
1413	pslld	$30,%xmm7
1414	paddd	%xmm4,%xmm4
1415	paddd	%xmm6,%xmm11
1416
1417	psrld	$2,%xmm13
1418	paddd	%xmm8,%xmm11
1419	por	%xmm5,%xmm4
1420	por	%xmm7,%xmm13
1421	pxor	%xmm2,%xmm0
1422	movdqa	240-128(%rax),%xmm2
1423
1424	movdqa	%xmm11,%xmm8
1425	movdqa	%xmm14,%xmm7
1426	pxor	80-128(%rax),%xmm0
1427	pxor	%xmm2,%xmm0
1428	paddd	%xmm15,%xmm10
1429	pslld	$5,%xmm8
1430	movdqa	%xmm11,%xmm9
1431	pand	%xmm13,%xmm7
1432
1433	movdqa	%xmm14,%xmm6
1434	movdqa	%xmm0,%xmm5
1435	psrld	$27,%xmm9
1436	paddd	%xmm7,%xmm10
1437	pxor	%xmm13,%xmm6
1438
1439	movdqa	%xmm4,192-128(%rax)
1440	paddd	%xmm4,%xmm10
1441	por	%xmm9,%xmm8
1442	psrld	$31,%xmm5
1443	pand	%xmm12,%xmm6
1444	movdqa	%xmm12,%xmm7
1445
1446	pslld	$30,%xmm7
1447	paddd	%xmm0,%xmm0
1448	paddd	%xmm6,%xmm10
1449
1450	psrld	$2,%xmm12
1451	paddd	%xmm8,%xmm10
1452	por	%xmm5,%xmm0
1453	por	%xmm7,%xmm12
1454	pxor	%xmm3,%xmm1
1455	movdqa	0-128(%rax),%xmm3
1456
1457	movdqa	%xmm10,%xmm8
1458	movdqa	%xmm13,%xmm7
1459	pxor	96-128(%rax),%xmm1
1460	pxor	%xmm3,%xmm1
1461	paddd	%xmm15,%xmm14
1462	pslld	$5,%xmm8
1463	movdqa	%xmm10,%xmm9
1464	pand	%xmm12,%xmm7
1465
1466	movdqa	%xmm13,%xmm6
1467	movdqa	%xmm1,%xmm5
1468	psrld	$27,%xmm9
1469	paddd	%xmm7,%xmm14
1470	pxor	%xmm12,%xmm6
1471
1472	movdqa	%xmm0,208-128(%rax)
1473	paddd	%xmm0,%xmm14
1474	por	%xmm9,%xmm8
1475	psrld	$31,%xmm5
1476	pand	%xmm11,%xmm6
1477	movdqa	%xmm11,%xmm7
1478
1479	pslld	$30,%xmm7
1480	paddd	%xmm1,%xmm1
1481	paddd	%xmm6,%xmm14
1482
1483	psrld	$2,%xmm11
1484	paddd	%xmm8,%xmm14
1485	por	%xmm5,%xmm1
1486	por	%xmm7,%xmm11
1487	pxor	%xmm4,%xmm2
1488	movdqa	16-128(%rax),%xmm4
1489
1490	movdqa	%xmm14,%xmm8
1491	movdqa	%xmm12,%xmm7
1492	pxor	112-128(%rax),%xmm2
1493	pxor	%xmm4,%xmm2
1494	paddd	%xmm15,%xmm13
1495	pslld	$5,%xmm8
1496	movdqa	%xmm14,%xmm9
1497	pand	%xmm11,%xmm7
1498
1499	movdqa	%xmm12,%xmm6
1500	movdqa	%xmm2,%xmm5
1501	psrld	$27,%xmm9
1502	paddd	%xmm7,%xmm13
1503	pxor	%xmm11,%xmm6
1504
1505	movdqa	%xmm1,224-128(%rax)
1506	paddd	%xmm1,%xmm13
1507	por	%xmm9,%xmm8
1508	psrld	$31,%xmm5
1509	pand	%xmm10,%xmm6
1510	movdqa	%xmm10,%xmm7
1511
1512	pslld	$30,%xmm7
1513	paddd	%xmm2,%xmm2
1514	paddd	%xmm6,%xmm13
1515
1516	psrld	$2,%xmm10
1517	paddd	%xmm8,%xmm13
1518	por	%xmm5,%xmm2
1519	por	%xmm7,%xmm10
1520	pxor	%xmm0,%xmm3
1521	movdqa	32-128(%rax),%xmm0
1522
1523	movdqa	%xmm13,%xmm8
1524	movdqa	%xmm11,%xmm7
1525	pxor	128-128(%rax),%xmm3
1526	pxor	%xmm0,%xmm3
1527	paddd	%xmm15,%xmm12
1528	pslld	$5,%xmm8
1529	movdqa	%xmm13,%xmm9
1530	pand	%xmm10,%xmm7
1531
1532	movdqa	%xmm11,%xmm6
1533	movdqa	%xmm3,%xmm5
1534	psrld	$27,%xmm9
1535	paddd	%xmm7,%xmm12
1536	pxor	%xmm10,%xmm6
1537
1538	movdqa	%xmm2,240-128(%rax)
1539	paddd	%xmm2,%xmm12
1540	por	%xmm9,%xmm8
1541	psrld	$31,%xmm5
1542	pand	%xmm14,%xmm6
1543	movdqa	%xmm14,%xmm7
1544
1545	pslld	$30,%xmm7
1546	paddd	%xmm3,%xmm3
1547	paddd	%xmm6,%xmm12
1548
1549	psrld	$2,%xmm14
1550	paddd	%xmm8,%xmm12
1551	por	%xmm5,%xmm3
1552	por	%xmm7,%xmm14
1553	pxor	%xmm1,%xmm4
1554	movdqa	48-128(%rax),%xmm1
1555
1556	movdqa	%xmm12,%xmm8
1557	movdqa	%xmm10,%xmm7
1558	pxor	144-128(%rax),%xmm4
1559	pxor	%xmm1,%xmm4
1560	paddd	%xmm15,%xmm11
1561	pslld	$5,%xmm8
1562	movdqa	%xmm12,%xmm9
1563	pand	%xmm14,%xmm7
1564
1565	movdqa	%xmm10,%xmm6
1566	movdqa	%xmm4,%xmm5
1567	psrld	$27,%xmm9
1568	paddd	%xmm7,%xmm11
1569	pxor	%xmm14,%xmm6
1570
1571	movdqa	%xmm3,0-128(%rax)
1572	paddd	%xmm3,%xmm11
1573	por	%xmm9,%xmm8
1574	psrld	$31,%xmm5
1575	pand	%xmm13,%xmm6
1576	movdqa	%xmm13,%xmm7
1577
1578	pslld	$30,%xmm7
1579	paddd	%xmm4,%xmm4
1580	paddd	%xmm6,%xmm11
1581
1582	psrld	$2,%xmm13
1583	paddd	%xmm8,%xmm11
1584	por	%xmm5,%xmm4
1585	por	%xmm7,%xmm13
1586	pxor	%xmm2,%xmm0
1587	movdqa	64-128(%rax),%xmm2
1588
1589	movdqa	%xmm11,%xmm8
1590	movdqa	%xmm14,%xmm7
1591	pxor	160-128(%rax),%xmm0
1592	pxor	%xmm2,%xmm0
1593	paddd	%xmm15,%xmm10
1594	pslld	$5,%xmm8
1595	movdqa	%xmm11,%xmm9
1596	pand	%xmm13,%xmm7
1597
1598	movdqa	%xmm14,%xmm6
1599	movdqa	%xmm0,%xmm5
1600	psrld	$27,%xmm9
1601	paddd	%xmm7,%xmm10
1602	pxor	%xmm13,%xmm6
1603
1604	movdqa	%xmm4,16-128(%rax)
1605	paddd	%xmm4,%xmm10
1606	por	%xmm9,%xmm8
1607	psrld	$31,%xmm5
1608	pand	%xmm12,%xmm6
1609	movdqa	%xmm12,%xmm7
1610
1611	pslld	$30,%xmm7
1612	paddd	%xmm0,%xmm0
1613	paddd	%xmm6,%xmm10
1614
1615	psrld	$2,%xmm12
1616	paddd	%xmm8,%xmm10
1617	por	%xmm5,%xmm0
1618	por	%xmm7,%xmm12
1619	pxor	%xmm3,%xmm1
1620	movdqa	80-128(%rax),%xmm3
1621
1622	movdqa	%xmm10,%xmm8
1623	movdqa	%xmm13,%xmm7
1624	pxor	176-128(%rax),%xmm1
1625	pxor	%xmm3,%xmm1
1626	paddd	%xmm15,%xmm14
1627	pslld	$5,%xmm8
1628	movdqa	%xmm10,%xmm9
1629	pand	%xmm12,%xmm7
1630
1631	movdqa	%xmm13,%xmm6
1632	movdqa	%xmm1,%xmm5
1633	psrld	$27,%xmm9
1634	paddd	%xmm7,%xmm14
1635	pxor	%xmm12,%xmm6
1636
1637	movdqa	%xmm0,32-128(%rax)
1638	paddd	%xmm0,%xmm14
1639	por	%xmm9,%xmm8
1640	psrld	$31,%xmm5
1641	pand	%xmm11,%xmm6
1642	movdqa	%xmm11,%xmm7
1643
1644	pslld	$30,%xmm7
1645	paddd	%xmm1,%xmm1
1646	paddd	%xmm6,%xmm14
1647
1648	psrld	$2,%xmm11
1649	paddd	%xmm8,%xmm14
1650	por	%xmm5,%xmm1
1651	por	%xmm7,%xmm11
1652	pxor	%xmm4,%xmm2
1653	movdqa	96-128(%rax),%xmm4
1654
1655	movdqa	%xmm14,%xmm8
1656	movdqa	%xmm12,%xmm7
1657	pxor	192-128(%rax),%xmm2
1658	pxor	%xmm4,%xmm2
1659	paddd	%xmm15,%xmm13
1660	pslld	$5,%xmm8
1661	movdqa	%xmm14,%xmm9
1662	pand	%xmm11,%xmm7
1663
1664	movdqa	%xmm12,%xmm6
1665	movdqa	%xmm2,%xmm5
1666	psrld	$27,%xmm9
1667	paddd	%xmm7,%xmm13
1668	pxor	%xmm11,%xmm6
1669
1670	movdqa	%xmm1,48-128(%rax)
1671	paddd	%xmm1,%xmm13
1672	por	%xmm9,%xmm8
1673	psrld	$31,%xmm5
1674	pand	%xmm10,%xmm6
1675	movdqa	%xmm10,%xmm7
1676
1677	pslld	$30,%xmm7
1678	paddd	%xmm2,%xmm2
1679	paddd	%xmm6,%xmm13
1680
1681	psrld	$2,%xmm10
1682	paddd	%xmm8,%xmm13
1683	por	%xmm5,%xmm2
1684	por	%xmm7,%xmm10
1685	pxor	%xmm0,%xmm3
1686	movdqa	112-128(%rax),%xmm0
1687
1688	movdqa	%xmm13,%xmm8
1689	movdqa	%xmm11,%xmm7
1690	pxor	208-128(%rax),%xmm3
1691	pxor	%xmm0,%xmm3
1692	paddd	%xmm15,%xmm12
1693	pslld	$5,%xmm8
1694	movdqa	%xmm13,%xmm9
1695	pand	%xmm10,%xmm7
1696
1697	movdqa	%xmm11,%xmm6
1698	movdqa	%xmm3,%xmm5
1699	psrld	$27,%xmm9
1700	paddd	%xmm7,%xmm12
1701	pxor	%xmm10,%xmm6
1702
1703	movdqa	%xmm2,64-128(%rax)
1704	paddd	%xmm2,%xmm12
1705	por	%xmm9,%xmm8
1706	psrld	$31,%xmm5
1707	pand	%xmm14,%xmm6
1708	movdqa	%xmm14,%xmm7
1709
1710	pslld	$30,%xmm7
1711	paddd	%xmm3,%xmm3
1712	paddd	%xmm6,%xmm12
1713
1714	psrld	$2,%xmm14
1715	paddd	%xmm8,%xmm12
1716	por	%xmm5,%xmm3
1717	por	%xmm7,%xmm14
1718	pxor	%xmm1,%xmm4
1719	movdqa	128-128(%rax),%xmm1
1720
1721	movdqa	%xmm12,%xmm8
1722	movdqa	%xmm10,%xmm7
1723	pxor	224-128(%rax),%xmm4
1724	pxor	%xmm1,%xmm4
1725	paddd	%xmm15,%xmm11
1726	pslld	$5,%xmm8
1727	movdqa	%xmm12,%xmm9
1728	pand	%xmm14,%xmm7
1729
1730	movdqa	%xmm10,%xmm6
1731	movdqa	%xmm4,%xmm5
1732	psrld	$27,%xmm9
1733	paddd	%xmm7,%xmm11
1734	pxor	%xmm14,%xmm6
1735
1736	movdqa	%xmm3,80-128(%rax)
1737	paddd	%xmm3,%xmm11
1738	por	%xmm9,%xmm8
1739	psrld	$31,%xmm5
1740	pand	%xmm13,%xmm6
1741	movdqa	%xmm13,%xmm7
1742
1743	pslld	$30,%xmm7
1744	paddd	%xmm4,%xmm4
1745	paddd	%xmm6,%xmm11
1746
1747	psrld	$2,%xmm13
1748	paddd	%xmm8,%xmm11
1749	por	%xmm5,%xmm4
1750	por	%xmm7,%xmm13
1751	pxor	%xmm2,%xmm0
1752	movdqa	144-128(%rax),%xmm2
1753
1754	movdqa	%xmm11,%xmm8
1755	movdqa	%xmm14,%xmm7
1756	pxor	240-128(%rax),%xmm0
1757	pxor	%xmm2,%xmm0
1758	paddd	%xmm15,%xmm10
1759	pslld	$5,%xmm8
1760	movdqa	%xmm11,%xmm9
1761	pand	%xmm13,%xmm7
1762
1763	movdqa	%xmm14,%xmm6
1764	movdqa	%xmm0,%xmm5
1765	psrld	$27,%xmm9
1766	paddd	%xmm7,%xmm10
1767	pxor	%xmm13,%xmm6
1768
1769	movdqa	%xmm4,96-128(%rax)
1770	paddd	%xmm4,%xmm10
1771	por	%xmm9,%xmm8
1772	psrld	$31,%xmm5
1773	pand	%xmm12,%xmm6
1774	movdqa	%xmm12,%xmm7
1775
1776	pslld	$30,%xmm7
1777	paddd	%xmm0,%xmm0
1778	paddd	%xmm6,%xmm10
1779
1780	psrld	$2,%xmm12
1781	paddd	%xmm8,%xmm10
1782	por	%xmm5,%xmm0
1783	por	%xmm7,%xmm12
1784	pxor	%xmm3,%xmm1
1785	movdqa	160-128(%rax),%xmm3
1786
1787	movdqa	%xmm10,%xmm8
1788	movdqa	%xmm13,%xmm7
1789	pxor	0-128(%rax),%xmm1
1790	pxor	%xmm3,%xmm1
1791	paddd	%xmm15,%xmm14
1792	pslld	$5,%xmm8
1793	movdqa	%xmm10,%xmm9
1794	pand	%xmm12,%xmm7
1795
1796	movdqa	%xmm13,%xmm6
1797	movdqa	%xmm1,%xmm5
1798	psrld	$27,%xmm9
1799	paddd	%xmm7,%xmm14
1800	pxor	%xmm12,%xmm6
1801
1802	movdqa	%xmm0,112-128(%rax)
1803	paddd	%xmm0,%xmm14
1804	por	%xmm9,%xmm8
1805	psrld	$31,%xmm5
1806	pand	%xmm11,%xmm6
1807	movdqa	%xmm11,%xmm7
1808
1809	pslld	$30,%xmm7
1810	paddd	%xmm1,%xmm1
1811	paddd	%xmm6,%xmm14
1812
1813	psrld	$2,%xmm11
1814	paddd	%xmm8,%xmm14
1815	por	%xmm5,%xmm1
1816	por	%xmm7,%xmm11
1817	pxor	%xmm4,%xmm2
1818	movdqa	176-128(%rax),%xmm4
1819
1820	movdqa	%xmm14,%xmm8
1821	movdqa	%xmm12,%xmm7
1822	pxor	16-128(%rax),%xmm2
1823	pxor	%xmm4,%xmm2
1824	paddd	%xmm15,%xmm13
1825	pslld	$5,%xmm8
1826	movdqa	%xmm14,%xmm9
1827	pand	%xmm11,%xmm7
1828
1829	movdqa	%xmm12,%xmm6
1830	movdqa	%xmm2,%xmm5
1831	psrld	$27,%xmm9
1832	paddd	%xmm7,%xmm13
1833	pxor	%xmm11,%xmm6
1834
1835	movdqa	%xmm1,128-128(%rax)
1836	paddd	%xmm1,%xmm13
1837	por	%xmm9,%xmm8
1838	psrld	$31,%xmm5
1839	pand	%xmm10,%xmm6
1840	movdqa	%xmm10,%xmm7
1841
1842	pslld	$30,%xmm7
1843	paddd	%xmm2,%xmm2
1844	paddd	%xmm6,%xmm13
1845
1846	psrld	$2,%xmm10
1847	paddd	%xmm8,%xmm13
1848	por	%xmm5,%xmm2
1849	por	%xmm7,%xmm10
1850	pxor	%xmm0,%xmm3
1851	movdqa	192-128(%rax),%xmm0
1852
1853	movdqa	%xmm13,%xmm8
1854	movdqa	%xmm11,%xmm7
1855	pxor	32-128(%rax),%xmm3
1856	pxor	%xmm0,%xmm3
1857	paddd	%xmm15,%xmm12
1858	pslld	$5,%xmm8
1859	movdqa	%xmm13,%xmm9
1860	pand	%xmm10,%xmm7
1861
1862	movdqa	%xmm11,%xmm6
1863	movdqa	%xmm3,%xmm5
1864	psrld	$27,%xmm9
1865	paddd	%xmm7,%xmm12
1866	pxor	%xmm10,%xmm6
1867
1868	movdqa	%xmm2,144-128(%rax)
1869	paddd	%xmm2,%xmm12
1870	por	%xmm9,%xmm8
1871	psrld	$31,%xmm5
1872	pand	%xmm14,%xmm6
1873	movdqa	%xmm14,%xmm7
1874
1875	pslld	$30,%xmm7
1876	paddd	%xmm3,%xmm3
1877	paddd	%xmm6,%xmm12
1878
1879	psrld	$2,%xmm14
1880	paddd	%xmm8,%xmm12
1881	por	%xmm5,%xmm3
1882	por	%xmm7,%xmm14
1883	pxor	%xmm1,%xmm4
1884	movdqa	208-128(%rax),%xmm1
1885
1886	movdqa	%xmm12,%xmm8
1887	movdqa	%xmm10,%xmm7
1888	pxor	48-128(%rax),%xmm4
1889	pxor	%xmm1,%xmm4
1890	paddd	%xmm15,%xmm11
1891	pslld	$5,%xmm8
1892	movdqa	%xmm12,%xmm9
1893	pand	%xmm14,%xmm7
1894
1895	movdqa	%xmm10,%xmm6
1896	movdqa	%xmm4,%xmm5
1897	psrld	$27,%xmm9
1898	paddd	%xmm7,%xmm11
1899	pxor	%xmm14,%xmm6
1900
1901	movdqa	%xmm3,160-128(%rax)
1902	paddd	%xmm3,%xmm11
1903	por	%xmm9,%xmm8
1904	psrld	$31,%xmm5
1905	pand	%xmm13,%xmm6
1906	movdqa	%xmm13,%xmm7
1907
1908	pslld	$30,%xmm7
1909	paddd	%xmm4,%xmm4
1910	paddd	%xmm6,%xmm11
1911
1912	psrld	$2,%xmm13
1913	paddd	%xmm8,%xmm11
1914	por	%xmm5,%xmm4
1915	por	%xmm7,%xmm13
1916	pxor	%xmm2,%xmm0
1917	movdqa	224-128(%rax),%xmm2
1918
1919	movdqa	%xmm11,%xmm8
1920	movdqa	%xmm14,%xmm7
1921	pxor	64-128(%rax),%xmm0
1922	pxor	%xmm2,%xmm0
1923	paddd	%xmm15,%xmm10
1924	pslld	$5,%xmm8
1925	movdqa	%xmm11,%xmm9
1926	pand	%xmm13,%xmm7
1927
1928	movdqa	%xmm14,%xmm6
1929	movdqa	%xmm0,%xmm5
1930	psrld	$27,%xmm9
1931	paddd	%xmm7,%xmm10
1932	pxor	%xmm13,%xmm6
1933
1934	movdqa	%xmm4,176-128(%rax)
1935	paddd	%xmm4,%xmm10
1936	por	%xmm9,%xmm8
1937	psrld	$31,%xmm5
1938	pand	%xmm12,%xmm6
1939	movdqa	%xmm12,%xmm7
1940
1941	pslld	$30,%xmm7
1942	paddd	%xmm0,%xmm0
1943	paddd	%xmm6,%xmm10
1944
1945	psrld	$2,%xmm12
1946	paddd	%xmm8,%xmm10
1947	por	%xmm5,%xmm0
1948	por	%xmm7,%xmm12
1949	movdqa	64(%rbp),%xmm15
1950	pxor	%xmm3,%xmm1
1951	movdqa	240-128(%rax),%xmm3
1952
1953	movdqa	%xmm10,%xmm8
1954	movdqa	%xmm13,%xmm6
1955	pxor	80-128(%rax),%xmm1
1956	paddd	%xmm15,%xmm14
1957	pslld	$5,%xmm8
1958	pxor	%xmm11,%xmm6
1959
1960	movdqa	%xmm10,%xmm9
1961	movdqa	%xmm0,192-128(%rax)
1962	paddd	%xmm0,%xmm14
1963	pxor	%xmm3,%xmm1
1964	psrld	$27,%xmm9
1965	pxor	%xmm12,%xmm6
1966	movdqa	%xmm11,%xmm7
1967
1968	pslld	$30,%xmm7
1969	movdqa	%xmm1,%xmm5
1970	por	%xmm9,%xmm8
1971	psrld	$31,%xmm5
1972	paddd	%xmm6,%xmm14
1973	paddd	%xmm1,%xmm1
1974
1975	psrld	$2,%xmm11
1976	paddd	%xmm8,%xmm14
1977	por	%xmm5,%xmm1
1978	por	%xmm7,%xmm11
1979	pxor	%xmm4,%xmm2
1980	movdqa	0-128(%rax),%xmm4
1981
1982	movdqa	%xmm14,%xmm8
1983	movdqa	%xmm12,%xmm6
1984	pxor	96-128(%rax),%xmm2
1985	paddd	%xmm15,%xmm13
1986	pslld	$5,%xmm8
1987	pxor	%xmm10,%xmm6
1988
1989	movdqa	%xmm14,%xmm9
1990	movdqa	%xmm1,208-128(%rax)
1991	paddd	%xmm1,%xmm13
1992	pxor	%xmm4,%xmm2
1993	psrld	$27,%xmm9
1994	pxor	%xmm11,%xmm6
1995	movdqa	%xmm10,%xmm7
1996
1997	pslld	$30,%xmm7
1998	movdqa	%xmm2,%xmm5
1999	por	%xmm9,%xmm8
2000	psrld	$31,%xmm5
2001	paddd	%xmm6,%xmm13
2002	paddd	%xmm2,%xmm2
2003
2004	psrld	$2,%xmm10
2005	paddd	%xmm8,%xmm13
2006	por	%xmm5,%xmm2
2007	por	%xmm7,%xmm10
2008	pxor	%xmm0,%xmm3
2009	movdqa	16-128(%rax),%xmm0
2010
2011	movdqa	%xmm13,%xmm8
2012	movdqa	%xmm11,%xmm6
2013	pxor	112-128(%rax),%xmm3
2014	paddd	%xmm15,%xmm12
2015	pslld	$5,%xmm8
2016	pxor	%xmm14,%xmm6
2017
2018	movdqa	%xmm13,%xmm9
2019	movdqa	%xmm2,224-128(%rax)
2020	paddd	%xmm2,%xmm12
2021	pxor	%xmm0,%xmm3
2022	psrld	$27,%xmm9
2023	pxor	%xmm10,%xmm6
2024	movdqa	%xmm14,%xmm7
2025
2026	pslld	$30,%xmm7
2027	movdqa	%xmm3,%xmm5
2028	por	%xmm9,%xmm8
2029	psrld	$31,%xmm5
2030	paddd	%xmm6,%xmm12
2031	paddd	%xmm3,%xmm3
2032
2033	psrld	$2,%xmm14
2034	paddd	%xmm8,%xmm12
2035	por	%xmm5,%xmm3
2036	por	%xmm7,%xmm14
2037	pxor	%xmm1,%xmm4
2038	movdqa	32-128(%rax),%xmm1
2039
2040	movdqa	%xmm12,%xmm8
2041	movdqa	%xmm10,%xmm6
2042	pxor	128-128(%rax),%xmm4
2043	paddd	%xmm15,%xmm11
2044	pslld	$5,%xmm8
2045	pxor	%xmm13,%xmm6
2046
2047	movdqa	%xmm12,%xmm9
2048	movdqa	%xmm3,240-128(%rax)
2049	paddd	%xmm3,%xmm11
2050	pxor	%xmm1,%xmm4
2051	psrld	$27,%xmm9
2052	pxor	%xmm14,%xmm6
2053	movdqa	%xmm13,%xmm7
2054
2055	pslld	$30,%xmm7
2056	movdqa	%xmm4,%xmm5
2057	por	%xmm9,%xmm8
2058	psrld	$31,%xmm5
2059	paddd	%xmm6,%xmm11
2060	paddd	%xmm4,%xmm4
2061
2062	psrld	$2,%xmm13
2063	paddd	%xmm8,%xmm11
2064	por	%xmm5,%xmm4
2065	por	%xmm7,%xmm13
2066	pxor	%xmm2,%xmm0
2067	movdqa	48-128(%rax),%xmm2
2068
2069	movdqa	%xmm11,%xmm8
2070	movdqa	%xmm14,%xmm6
2071	pxor	144-128(%rax),%xmm0
2072	paddd	%xmm15,%xmm10
2073	pslld	$5,%xmm8
2074	pxor	%xmm12,%xmm6
2075
2076	movdqa	%xmm11,%xmm9
2077	movdqa	%xmm4,0-128(%rax)
2078	paddd	%xmm4,%xmm10
2079	pxor	%xmm2,%xmm0
2080	psrld	$27,%xmm9
2081	pxor	%xmm13,%xmm6
2082	movdqa	%xmm12,%xmm7
2083
2084	pslld	$30,%xmm7
2085	movdqa	%xmm0,%xmm5
2086	por	%xmm9,%xmm8
2087	psrld	$31,%xmm5
2088	paddd	%xmm6,%xmm10
2089	paddd	%xmm0,%xmm0
2090
2091	psrld	$2,%xmm12
2092	paddd	%xmm8,%xmm10
2093	por	%xmm5,%xmm0
2094	por	%xmm7,%xmm12
2095	pxor	%xmm3,%xmm1
2096	movdqa	64-128(%rax),%xmm3
2097
2098	movdqa	%xmm10,%xmm8
2099	movdqa	%xmm13,%xmm6
2100	pxor	160-128(%rax),%xmm1
2101	paddd	%xmm15,%xmm14
2102	pslld	$5,%xmm8
2103	pxor	%xmm11,%xmm6
2104
2105	movdqa	%xmm10,%xmm9
2106	movdqa	%xmm0,16-128(%rax)
2107	paddd	%xmm0,%xmm14
2108	pxor	%xmm3,%xmm1
2109	psrld	$27,%xmm9
2110	pxor	%xmm12,%xmm6
2111	movdqa	%xmm11,%xmm7
2112
2113	pslld	$30,%xmm7
2114	movdqa	%xmm1,%xmm5
2115	por	%xmm9,%xmm8
2116	psrld	$31,%xmm5
2117	paddd	%xmm6,%xmm14
2118	paddd	%xmm1,%xmm1
2119
2120	psrld	$2,%xmm11
2121	paddd	%xmm8,%xmm14
2122	por	%xmm5,%xmm1
2123	por	%xmm7,%xmm11
2124	pxor	%xmm4,%xmm2
2125	movdqa	80-128(%rax),%xmm4
2126
2127	movdqa	%xmm14,%xmm8
2128	movdqa	%xmm12,%xmm6
2129	pxor	176-128(%rax),%xmm2
2130	paddd	%xmm15,%xmm13
2131	pslld	$5,%xmm8
2132	pxor	%xmm10,%xmm6
2133
2134	movdqa	%xmm14,%xmm9
2135	movdqa	%xmm1,32-128(%rax)
2136	paddd	%xmm1,%xmm13
2137	pxor	%xmm4,%xmm2
2138	psrld	$27,%xmm9
2139	pxor	%xmm11,%xmm6
2140	movdqa	%xmm10,%xmm7
2141
2142	pslld	$30,%xmm7
2143	movdqa	%xmm2,%xmm5
2144	por	%xmm9,%xmm8
2145	psrld	$31,%xmm5
2146	paddd	%xmm6,%xmm13
2147	paddd	%xmm2,%xmm2
2148
2149	psrld	$2,%xmm10
2150	paddd	%xmm8,%xmm13
2151	por	%xmm5,%xmm2
2152	por	%xmm7,%xmm10
2153	pxor	%xmm0,%xmm3
2154	movdqa	96-128(%rax),%xmm0
2155
2156	movdqa	%xmm13,%xmm8
2157	movdqa	%xmm11,%xmm6
2158	pxor	192-128(%rax),%xmm3
2159	paddd	%xmm15,%xmm12
2160	pslld	$5,%xmm8
2161	pxor	%xmm14,%xmm6
2162
2163	movdqa	%xmm13,%xmm9
2164	movdqa	%xmm2,48-128(%rax)
2165	paddd	%xmm2,%xmm12
2166	pxor	%xmm0,%xmm3
2167	psrld	$27,%xmm9
2168	pxor	%xmm10,%xmm6
2169	movdqa	%xmm14,%xmm7
2170
2171	pslld	$30,%xmm7
2172	movdqa	%xmm3,%xmm5
2173	por	%xmm9,%xmm8
2174	psrld	$31,%xmm5
2175	paddd	%xmm6,%xmm12
2176	paddd	%xmm3,%xmm3
2177
2178	psrld	$2,%xmm14
2179	paddd	%xmm8,%xmm12
2180	por	%xmm5,%xmm3
2181	por	%xmm7,%xmm14
2182	pxor	%xmm1,%xmm4
2183	movdqa	112-128(%rax),%xmm1
2184
2185	movdqa	%xmm12,%xmm8
2186	movdqa	%xmm10,%xmm6
2187	pxor	208-128(%rax),%xmm4
2188	paddd	%xmm15,%xmm11
2189	pslld	$5,%xmm8
2190	pxor	%xmm13,%xmm6
2191
2192	movdqa	%xmm12,%xmm9
2193	movdqa	%xmm3,64-128(%rax)
2194	paddd	%xmm3,%xmm11
2195	pxor	%xmm1,%xmm4
2196	psrld	$27,%xmm9
2197	pxor	%xmm14,%xmm6
2198	movdqa	%xmm13,%xmm7
2199
2200	pslld	$30,%xmm7
2201	movdqa	%xmm4,%xmm5
2202	por	%xmm9,%xmm8
2203	psrld	$31,%xmm5
2204	paddd	%xmm6,%xmm11
2205	paddd	%xmm4,%xmm4
2206
2207	psrld	$2,%xmm13
2208	paddd	%xmm8,%xmm11
2209	por	%xmm5,%xmm4
2210	por	%xmm7,%xmm13
2211	pxor	%xmm2,%xmm0
2212	movdqa	128-128(%rax),%xmm2
2213
2214	movdqa	%xmm11,%xmm8
2215	movdqa	%xmm14,%xmm6
2216	pxor	224-128(%rax),%xmm0
2217	paddd	%xmm15,%xmm10
2218	pslld	$5,%xmm8
2219	pxor	%xmm12,%xmm6
2220
2221	movdqa	%xmm11,%xmm9
2222	movdqa	%xmm4,80-128(%rax)
2223	paddd	%xmm4,%xmm10
2224	pxor	%xmm2,%xmm0
2225	psrld	$27,%xmm9
2226	pxor	%xmm13,%xmm6
2227	movdqa	%xmm12,%xmm7
2228
2229	pslld	$30,%xmm7
2230	movdqa	%xmm0,%xmm5
2231	por	%xmm9,%xmm8
2232	psrld	$31,%xmm5
2233	paddd	%xmm6,%xmm10
2234	paddd	%xmm0,%xmm0
2235
2236	psrld	$2,%xmm12
2237	paddd	%xmm8,%xmm10
2238	por	%xmm5,%xmm0
2239	por	%xmm7,%xmm12
2240	pxor	%xmm3,%xmm1
2241	movdqa	144-128(%rax),%xmm3
2242
2243	movdqa	%xmm10,%xmm8
2244	movdqa	%xmm13,%xmm6
2245	pxor	240-128(%rax),%xmm1
2246	paddd	%xmm15,%xmm14
2247	pslld	$5,%xmm8
2248	pxor	%xmm11,%xmm6
2249
2250	movdqa	%xmm10,%xmm9
2251	movdqa	%xmm0,96-128(%rax)
2252	paddd	%xmm0,%xmm14
2253	pxor	%xmm3,%xmm1
2254	psrld	$27,%xmm9
2255	pxor	%xmm12,%xmm6
2256	movdqa	%xmm11,%xmm7
2257
2258	pslld	$30,%xmm7
2259	movdqa	%xmm1,%xmm5
2260	por	%xmm9,%xmm8
2261	psrld	$31,%xmm5
2262	paddd	%xmm6,%xmm14
2263	paddd	%xmm1,%xmm1
2264
2265	psrld	$2,%xmm11
2266	paddd	%xmm8,%xmm14
2267	por	%xmm5,%xmm1
2268	por	%xmm7,%xmm11
2269	pxor	%xmm4,%xmm2
2270	movdqa	160-128(%rax),%xmm4
2271
2272	movdqa	%xmm14,%xmm8
2273	movdqa	%xmm12,%xmm6
2274	pxor	0-128(%rax),%xmm2
2275	paddd	%xmm15,%xmm13
2276	pslld	$5,%xmm8
2277	pxor	%xmm10,%xmm6
2278
2279	movdqa	%xmm14,%xmm9
2280	movdqa	%xmm1,112-128(%rax)
2281	paddd	%xmm1,%xmm13
2282	pxor	%xmm4,%xmm2
2283	psrld	$27,%xmm9
2284	pxor	%xmm11,%xmm6
2285	movdqa	%xmm10,%xmm7
2286
2287	pslld	$30,%xmm7
2288	movdqa	%xmm2,%xmm5
2289	por	%xmm9,%xmm8
2290	psrld	$31,%xmm5
2291	paddd	%xmm6,%xmm13
2292	paddd	%xmm2,%xmm2
2293
2294	psrld	$2,%xmm10
2295	paddd	%xmm8,%xmm13
2296	por	%xmm5,%xmm2
2297	por	%xmm7,%xmm10
2298	pxor	%xmm0,%xmm3
2299	movdqa	176-128(%rax),%xmm0
2300
2301	movdqa	%xmm13,%xmm8
2302	movdqa	%xmm11,%xmm6
2303	pxor	16-128(%rax),%xmm3
2304	paddd	%xmm15,%xmm12
2305	pslld	$5,%xmm8
2306	pxor	%xmm14,%xmm6
2307
2308	movdqa	%xmm13,%xmm9
2309	paddd	%xmm2,%xmm12
2310	pxor	%xmm0,%xmm3
2311	psrld	$27,%xmm9
2312	pxor	%xmm10,%xmm6
2313	movdqa	%xmm14,%xmm7
2314
2315	pslld	$30,%xmm7
2316	movdqa	%xmm3,%xmm5
2317	por	%xmm9,%xmm8
2318	psrld	$31,%xmm5
2319	paddd	%xmm6,%xmm12
2320	paddd	%xmm3,%xmm3
2321
2322	psrld	$2,%xmm14
2323	paddd	%xmm8,%xmm12
2324	por	%xmm5,%xmm3
2325	por	%xmm7,%xmm14
2326	pxor	%xmm1,%xmm4
2327	movdqa	192-128(%rax),%xmm1
2328
2329	movdqa	%xmm12,%xmm8
2330	movdqa	%xmm10,%xmm6
2331	pxor	32-128(%rax),%xmm4
2332	paddd	%xmm15,%xmm11
2333	pslld	$5,%xmm8
2334	pxor	%xmm13,%xmm6
2335
2336	movdqa	%xmm12,%xmm9
2337	paddd	%xmm3,%xmm11
2338	pxor	%xmm1,%xmm4
2339	psrld	$27,%xmm9
2340	pxor	%xmm14,%xmm6
2341	movdqa	%xmm13,%xmm7
2342
2343	pslld	$30,%xmm7
2344	movdqa	%xmm4,%xmm5
2345	por	%xmm9,%xmm8
2346	psrld	$31,%xmm5
2347	paddd	%xmm6,%xmm11
2348	paddd	%xmm4,%xmm4
2349
2350	psrld	$2,%xmm13
2351	paddd	%xmm8,%xmm11
2352	por	%xmm5,%xmm4
2353	por	%xmm7,%xmm13
2354	pxor	%xmm2,%xmm0
2355	movdqa	208-128(%rax),%xmm2
2356
2357	movdqa	%xmm11,%xmm8
2358	movdqa	%xmm14,%xmm6
2359	pxor	48-128(%rax),%xmm0
2360	paddd	%xmm15,%xmm10
2361	pslld	$5,%xmm8
2362	pxor	%xmm12,%xmm6
2363
2364	movdqa	%xmm11,%xmm9
2365	paddd	%xmm4,%xmm10
2366	pxor	%xmm2,%xmm0
2367	psrld	$27,%xmm9
2368	pxor	%xmm13,%xmm6
2369	movdqa	%xmm12,%xmm7
2370
2371	pslld	$30,%xmm7
2372	movdqa	%xmm0,%xmm5
2373	por	%xmm9,%xmm8
2374	psrld	$31,%xmm5
2375	paddd	%xmm6,%xmm10
2376	paddd	%xmm0,%xmm0
2377
2378	psrld	$2,%xmm12
2379	paddd	%xmm8,%xmm10
2380	por	%xmm5,%xmm0
2381	por	%xmm7,%xmm12
2382	pxor	%xmm3,%xmm1
2383	movdqa	224-128(%rax),%xmm3
2384
2385	movdqa	%xmm10,%xmm8
2386	movdqa	%xmm13,%xmm6
2387	pxor	64-128(%rax),%xmm1
2388	paddd	%xmm15,%xmm14
2389	pslld	$5,%xmm8
2390	pxor	%xmm11,%xmm6
2391
2392	movdqa	%xmm10,%xmm9
2393	paddd	%xmm0,%xmm14
2394	pxor	%xmm3,%xmm1
2395	psrld	$27,%xmm9
2396	pxor	%xmm12,%xmm6
2397	movdqa	%xmm11,%xmm7
2398
2399	pslld	$30,%xmm7
2400	movdqa	%xmm1,%xmm5
2401	por	%xmm9,%xmm8
2402	psrld	$31,%xmm5
2403	paddd	%xmm6,%xmm14
2404	paddd	%xmm1,%xmm1
2405
2406	psrld	$2,%xmm11
2407	paddd	%xmm8,%xmm14
2408	por	%xmm5,%xmm1
2409	por	%xmm7,%xmm11
2410	pxor	%xmm4,%xmm2
2411	movdqa	240-128(%rax),%xmm4
2412
2413	movdqa	%xmm14,%xmm8
2414	movdqa	%xmm12,%xmm6
2415	pxor	80-128(%rax),%xmm2
2416	paddd	%xmm15,%xmm13
2417	pslld	$5,%xmm8
2418	pxor	%xmm10,%xmm6
2419
2420	movdqa	%xmm14,%xmm9
2421	paddd	%xmm1,%xmm13
2422	pxor	%xmm4,%xmm2
2423	psrld	$27,%xmm9
2424	pxor	%xmm11,%xmm6
2425	movdqa	%xmm10,%xmm7
2426
2427	pslld	$30,%xmm7
2428	movdqa	%xmm2,%xmm5
2429	por	%xmm9,%xmm8
2430	psrld	$31,%xmm5
2431	paddd	%xmm6,%xmm13
2432	paddd	%xmm2,%xmm2
2433
2434	psrld	$2,%xmm10
2435	paddd	%xmm8,%xmm13
2436	por	%xmm5,%xmm2
2437	por	%xmm7,%xmm10
2438	pxor	%xmm0,%xmm3
2439	movdqa	0-128(%rax),%xmm0
2440
2441	movdqa	%xmm13,%xmm8
2442	movdqa	%xmm11,%xmm6
2443	pxor	96-128(%rax),%xmm3
2444	paddd	%xmm15,%xmm12
2445	pslld	$5,%xmm8
2446	pxor	%xmm14,%xmm6
2447
2448	movdqa	%xmm13,%xmm9
2449	paddd	%xmm2,%xmm12
2450	pxor	%xmm0,%xmm3
2451	psrld	$27,%xmm9
2452	pxor	%xmm10,%xmm6
2453	movdqa	%xmm14,%xmm7
2454
2455	pslld	$30,%xmm7
2456	movdqa	%xmm3,%xmm5
2457	por	%xmm9,%xmm8
2458	psrld	$31,%xmm5
2459	paddd	%xmm6,%xmm12
2460	paddd	%xmm3,%xmm3
2461
2462	psrld	$2,%xmm14
2463	paddd	%xmm8,%xmm12
2464	por	%xmm5,%xmm3
2465	por	%xmm7,%xmm14
2466	pxor	%xmm1,%xmm4
2467	movdqa	16-128(%rax),%xmm1
2468
2469	movdqa	%xmm12,%xmm8
2470	movdqa	%xmm10,%xmm6
2471	pxor	112-128(%rax),%xmm4
2472	paddd	%xmm15,%xmm11
2473	pslld	$5,%xmm8
2474	pxor	%xmm13,%xmm6
2475
2476	movdqa	%xmm12,%xmm9
2477	paddd	%xmm3,%xmm11
2478	pxor	%xmm1,%xmm4
2479	psrld	$27,%xmm9
2480	pxor	%xmm14,%xmm6
2481	movdqa	%xmm13,%xmm7
2482
2483	pslld	$30,%xmm7
2484	movdqa	%xmm4,%xmm5
2485	por	%xmm9,%xmm8
2486	psrld	$31,%xmm5
2487	paddd	%xmm6,%xmm11
2488	paddd	%xmm4,%xmm4
2489
2490	psrld	$2,%xmm13
2491	paddd	%xmm8,%xmm11
2492	por	%xmm5,%xmm4
2493	por	%xmm7,%xmm13
2494	movdqa	%xmm11,%xmm8
2495	paddd	%xmm15,%xmm10
2496	movdqa	%xmm14,%xmm6
2497	pslld	$5,%xmm8
2498	pxor	%xmm12,%xmm6
2499
2500	movdqa	%xmm11,%xmm9
2501	paddd	%xmm4,%xmm10
2502	psrld	$27,%xmm9
2503	movdqa	%xmm12,%xmm7
2504	pxor	%xmm13,%xmm6
2505
2506	pslld	$30,%xmm7
2507	por	%xmm9,%xmm8
2508	paddd	%xmm6,%xmm10
2509
2510	psrld	$2,%xmm12
2511	paddd	%xmm8,%xmm10
2512	por	%xmm7,%xmm12
2513	movdqa	(%rbx),%xmm0
2514	movl	$1,%ecx
2515	cmpl	0(%rbx),%ecx
2516	pxor	%xmm8,%xmm8
2517	cmovgeq	%rbp,%r8
2518	cmpl	4(%rbx),%ecx
2519	movdqa	%xmm0,%xmm1
2520	cmovgeq	%rbp,%r9
2521	cmpl	8(%rbx),%ecx
2522	pcmpgtd	%xmm8,%xmm1
2523	cmovgeq	%rbp,%r10
2524	cmpl	12(%rbx),%ecx
2525	paddd	%xmm1,%xmm0
2526	cmovgeq	%rbp,%r11
2527
2528	movdqu	0(%rdi),%xmm6
2529	pand	%xmm1,%xmm10
2530	movdqu	32(%rdi),%xmm7
2531	pand	%xmm1,%xmm11
2532	paddd	%xmm6,%xmm10
2533	movdqu	64(%rdi),%xmm8
2534	pand	%xmm1,%xmm12
2535	paddd	%xmm7,%xmm11
2536	movdqu	96(%rdi),%xmm9
2537	pand	%xmm1,%xmm13
2538	paddd	%xmm8,%xmm12
2539	movdqu	128(%rdi),%xmm5
2540	pand	%xmm1,%xmm14
2541	movdqu	%xmm10,0(%rdi)
2542	paddd	%xmm9,%xmm13
2543	movdqu	%xmm11,32(%rdi)
2544	paddd	%xmm5,%xmm14
2545	movdqu	%xmm12,64(%rdi)
2546	movdqu	%xmm13,96(%rdi)
2547	movdqu	%xmm14,128(%rdi)
2548
2549	movdqa	%xmm0,(%rbx)
2550	movdqa	96(%rbp),%xmm5
2551	movdqa	-32(%rbp),%xmm15
2552	decl	%edx
2553	jnz	.Loop
2554
2555	movl	280(%rsp),%edx
2556	leaq	16(%rdi),%rdi
2557	leaq	64(%rsi),%rsi
2558	decl	%edx
2559	jnz	.Loop_grande
2560
2561.Ldone:
2562	movq	272(%rsp),%rax
2563.cfi_def_cfa	%rax,8
2564	movq	-16(%rax),%rbp
2565.cfi_restore	%rbp
2566	movq	-8(%rax),%rbx
2567.cfi_restore	%rbx
2568	leaq	(%rax),%rsp
2569.cfi_def_cfa_register	%rsp
2570.Lepilogue:
2571	.byte	0xf3,0xc3
2572.cfi_endproc
2573.size	sha1_multi_block,.-sha1_multi_block
2574.type	sha1_multi_block_shaext,@function
2575.align	32
2576sha1_multi_block_shaext:
2577.cfi_startproc
2578_shaext_shortcut:
2579	movq	%rsp,%rax
2580.cfi_def_cfa_register	%rax
2581	pushq	%rbx
2582.cfi_offset	%rbx,-16
2583	pushq	%rbp
2584.cfi_offset	%rbp,-24
2585	subq	$288,%rsp
2586	shll	$1,%edx
2587	andq	$-256,%rsp
2588	leaq	64(%rdi),%rdi
2589	movq	%rax,272(%rsp)
2590.Lbody_shaext:
2591	leaq	256(%rsp),%rbx
2592	movdqa	K_XX_XX+128(%rip),%xmm3
2593
2594.Loop_grande_shaext:
2595	movl	%edx,280(%rsp)
2596	xorl	%edx,%edx
2597
2598	movq	0(%rsi),%r8
2599
2600	movl	8(%rsi),%ecx
2601	cmpl	%edx,%ecx
2602	cmovgl	%ecx,%edx
2603	testl	%ecx,%ecx
2604	movl	%ecx,0(%rbx)
2605	cmovleq	%rsp,%r8
2606
2607	movq	16(%rsi),%r9
2608
2609	movl	24(%rsi),%ecx
2610	cmpl	%edx,%ecx
2611	cmovgl	%ecx,%edx
2612	testl	%ecx,%ecx
2613	movl	%ecx,4(%rbx)
2614	cmovleq	%rsp,%r9
2615	testl	%edx,%edx
2616	jz	.Ldone_shaext
2617
2618	movq	0-64(%rdi),%xmm0
2619	movq	32-64(%rdi),%xmm4
2620	movq	64-64(%rdi),%xmm5
2621	movq	96-64(%rdi),%xmm6
2622	movq	128-64(%rdi),%xmm7
2623
2624	punpckldq	%xmm4,%xmm0
2625	punpckldq	%xmm6,%xmm5
2626
2627	movdqa	%xmm0,%xmm8
2628	punpcklqdq	%xmm5,%xmm0
2629	punpckhqdq	%xmm5,%xmm8
2630
2631	pshufd	$63,%xmm7,%xmm1
2632	pshufd	$127,%xmm7,%xmm9
2633	pshufd	$27,%xmm0,%xmm0
2634	pshufd	$27,%xmm8,%xmm8
2635	jmp	.Loop_shaext
2636
2637.align	32
2638.Loop_shaext:
2639	movdqu	0(%r8),%xmm4
2640	movdqu	0(%r9),%xmm11
2641	movdqu	16(%r8),%xmm5
2642	movdqu	16(%r9),%xmm12
2643	movdqu	32(%r8),%xmm6
2644.byte	102,15,56,0,227
2645	movdqu	32(%r9),%xmm13
2646.byte	102,68,15,56,0,219
2647	movdqu	48(%r8),%xmm7
2648	leaq	64(%r8),%r8
2649.byte	102,15,56,0,235
2650	movdqu	48(%r9),%xmm14
2651	leaq	64(%r9),%r9
2652.byte	102,68,15,56,0,227
2653
2654	movdqa	%xmm1,80(%rsp)
2655	paddd	%xmm4,%xmm1
2656	movdqa	%xmm9,112(%rsp)
2657	paddd	%xmm11,%xmm9
2658	movdqa	%xmm0,64(%rsp)
2659	movdqa	%xmm0,%xmm2
2660	movdqa	%xmm8,96(%rsp)
2661	movdqa	%xmm8,%xmm10
2662.byte	15,58,204,193,0
2663.byte	15,56,200,213
2664.byte	69,15,58,204,193,0
2665.byte	69,15,56,200,212
2666.byte	102,15,56,0,243
2667	prefetcht0	127(%r8)
2668.byte	15,56,201,229
2669.byte	102,68,15,56,0,235
2670	prefetcht0	127(%r9)
2671.byte	69,15,56,201,220
2672
2673.byte	102,15,56,0,251
2674	movdqa	%xmm0,%xmm1
2675.byte	102,68,15,56,0,243
2676	movdqa	%xmm8,%xmm9
2677.byte	15,58,204,194,0
2678.byte	15,56,200,206
2679.byte	69,15,58,204,194,0
2680.byte	69,15,56,200,205
2681	pxor	%xmm6,%xmm4
2682.byte	15,56,201,238
2683	pxor	%xmm13,%xmm11
2684.byte	69,15,56,201,229
2685	movdqa	%xmm0,%xmm2
2686	movdqa	%xmm8,%xmm10
2687.byte	15,58,204,193,0
2688.byte	15,56,200,215
2689.byte	69,15,58,204,193,0
2690.byte	69,15,56,200,214
2691.byte	15,56,202,231
2692.byte	69,15,56,202,222
2693	pxor	%xmm7,%xmm5
2694.byte	15,56,201,247
2695	pxor	%xmm14,%xmm12
2696.byte	69,15,56,201,238
2697	movdqa	%xmm0,%xmm1
2698	movdqa	%xmm8,%xmm9
2699.byte	15,58,204,194,0
2700.byte	15,56,200,204
2701.byte	69,15,58,204,194,0
2702.byte	69,15,56,200,203
2703.byte	15,56,202,236
2704.byte	69,15,56,202,227
2705	pxor	%xmm4,%xmm6
2706.byte	15,56,201,252
2707	pxor	%xmm11,%xmm13
2708.byte	69,15,56,201,243
2709	movdqa	%xmm0,%xmm2
2710	movdqa	%xmm8,%xmm10
2711.byte	15,58,204,193,0
2712.byte	15,56,200,213
2713.byte	69,15,58,204,193,0
2714.byte	69,15,56,200,212
2715.byte	15,56,202,245
2716.byte	69,15,56,202,236
2717	pxor	%xmm5,%xmm7
2718.byte	15,56,201,229
2719	pxor	%xmm12,%xmm14
2720.byte	69,15,56,201,220
2721	movdqa	%xmm0,%xmm1
2722	movdqa	%xmm8,%xmm9
2723.byte	15,58,204,194,1
2724.byte	15,56,200,206
2725.byte	69,15,58,204,194,1
2726.byte	69,15,56,200,205
2727.byte	15,56,202,254
2728.byte	69,15,56,202,245
2729	pxor	%xmm6,%xmm4
2730.byte	15,56,201,238
2731	pxor	%xmm13,%xmm11
2732.byte	69,15,56,201,229
2733	movdqa	%xmm0,%xmm2
2734	movdqa	%xmm8,%xmm10
2735.byte	15,58,204,193,1
2736.byte	15,56,200,215
2737.byte	69,15,58,204,193,1
2738.byte	69,15,56,200,214
2739.byte	15,56,202,231
2740.byte	69,15,56,202,222
2741	pxor	%xmm7,%xmm5
2742.byte	15,56,201,247
2743	pxor	%xmm14,%xmm12
2744.byte	69,15,56,201,238
2745	movdqa	%xmm0,%xmm1
2746	movdqa	%xmm8,%xmm9
2747.byte	15,58,204,194,1
2748.byte	15,56,200,204
2749.byte	69,15,58,204,194,1
2750.byte	69,15,56,200,203
2751.byte	15,56,202,236
2752.byte	69,15,56,202,227
2753	pxor	%xmm4,%xmm6
2754.byte	15,56,201,252
2755	pxor	%xmm11,%xmm13
2756.byte	69,15,56,201,243
2757	movdqa	%xmm0,%xmm2
2758	movdqa	%xmm8,%xmm10
2759.byte	15,58,204,193,1
2760.byte	15,56,200,213
2761.byte	69,15,58,204,193,1
2762.byte	69,15,56,200,212
2763.byte	15,56,202,245
2764.byte	69,15,56,202,236
2765	pxor	%xmm5,%xmm7
2766.byte	15,56,201,229
2767	pxor	%xmm12,%xmm14
2768.byte	69,15,56,201,220
2769	movdqa	%xmm0,%xmm1
2770	movdqa	%xmm8,%xmm9
2771.byte	15,58,204,194,1
2772.byte	15,56,200,206
2773.byte	69,15,58,204,194,1
2774.byte	69,15,56,200,205
2775.byte	15,56,202,254
2776.byte	69,15,56,202,245
2777	pxor	%xmm6,%xmm4
2778.byte	15,56,201,238
2779	pxor	%xmm13,%xmm11
2780.byte	69,15,56,201,229
2781	movdqa	%xmm0,%xmm2
2782	movdqa	%xmm8,%xmm10
2783.byte	15,58,204,193,2
2784.byte	15,56,200,215
2785.byte	69,15,58,204,193,2
2786.byte	69,15,56,200,214
2787.byte	15,56,202,231
2788.byte	69,15,56,202,222
2789	pxor	%xmm7,%xmm5
2790.byte	15,56,201,247
2791	pxor	%xmm14,%xmm12
2792.byte	69,15,56,201,238
2793	movdqa	%xmm0,%xmm1
2794	movdqa	%xmm8,%xmm9
2795.byte	15,58,204,194,2
2796.byte	15,56,200,204
2797.byte	69,15,58,204,194,2
2798.byte	69,15,56,200,203
2799.byte	15,56,202,236
2800.byte	69,15,56,202,227
2801	pxor	%xmm4,%xmm6
2802.byte	15,56,201,252
2803	pxor	%xmm11,%xmm13
2804.byte	69,15,56,201,243
2805	movdqa	%xmm0,%xmm2
2806	movdqa	%xmm8,%xmm10
2807.byte	15,58,204,193,2
2808.byte	15,56,200,213
2809.byte	69,15,58,204,193,2
2810.byte	69,15,56,200,212
2811.byte	15,56,202,245
2812.byte	69,15,56,202,236
2813	pxor	%xmm5,%xmm7
2814.byte	15,56,201,229
2815	pxor	%xmm12,%xmm14
2816.byte	69,15,56,201,220
2817	movdqa	%xmm0,%xmm1
2818	movdqa	%xmm8,%xmm9
2819.byte	15,58,204,194,2
2820.byte	15,56,200,206
2821.byte	69,15,58,204,194,2
2822.byte	69,15,56,200,205
2823.byte	15,56,202,254
2824.byte	69,15,56,202,245
2825	pxor	%xmm6,%xmm4
2826.byte	15,56,201,238
2827	pxor	%xmm13,%xmm11
2828.byte	69,15,56,201,229
2829	movdqa	%xmm0,%xmm2
2830	movdqa	%xmm8,%xmm10
2831.byte	15,58,204,193,2
2832.byte	15,56,200,215
2833.byte	69,15,58,204,193,2
2834.byte	69,15,56,200,214
2835.byte	15,56,202,231
2836.byte	69,15,56,202,222
2837	pxor	%xmm7,%xmm5
2838.byte	15,56,201,247
2839	pxor	%xmm14,%xmm12
2840.byte	69,15,56,201,238
2841	movdqa	%xmm0,%xmm1
2842	movdqa	%xmm8,%xmm9
2843.byte	15,58,204,194,3
2844.byte	15,56,200,204
2845.byte	69,15,58,204,194,3
2846.byte	69,15,56,200,203
2847.byte	15,56,202,236
2848.byte	69,15,56,202,227
2849	pxor	%xmm4,%xmm6
2850.byte	15,56,201,252
2851	pxor	%xmm11,%xmm13
2852.byte	69,15,56,201,243
2853	movdqa	%xmm0,%xmm2
2854	movdqa	%xmm8,%xmm10
2855.byte	15,58,204,193,3
2856.byte	15,56,200,213
2857.byte	69,15,58,204,193,3
2858.byte	69,15,56,200,212
2859.byte	15,56,202,245
2860.byte	69,15,56,202,236
2861	pxor	%xmm5,%xmm7
2862	pxor	%xmm12,%xmm14
2863
2864	movl	$1,%ecx
2865	pxor	%xmm4,%xmm4
2866	cmpl	0(%rbx),%ecx
2867	cmovgeq	%rsp,%r8
2868
2869	movdqa	%xmm0,%xmm1
2870	movdqa	%xmm8,%xmm9
2871.byte	15,58,204,194,3
2872.byte	15,56,200,206
2873.byte	69,15,58,204,194,3
2874.byte	69,15,56,200,205
2875.byte	15,56,202,254
2876.byte	69,15,56,202,245
2877
2878	cmpl	4(%rbx),%ecx
2879	cmovgeq	%rsp,%r9
2880	movq	(%rbx),%xmm6
2881
2882	movdqa	%xmm0,%xmm2
2883	movdqa	%xmm8,%xmm10
2884.byte	15,58,204,193,3
2885.byte	15,56,200,215
2886.byte	69,15,58,204,193,3
2887.byte	69,15,56,200,214
2888
2889	pshufd	$0x00,%xmm6,%xmm11
2890	pshufd	$0x55,%xmm6,%xmm12
2891	movdqa	%xmm6,%xmm7
2892	pcmpgtd	%xmm4,%xmm11
2893	pcmpgtd	%xmm4,%xmm12
2894
2895	movdqa	%xmm0,%xmm1
2896	movdqa	%xmm8,%xmm9
2897.byte	15,58,204,194,3
2898.byte	15,56,200,204
2899.byte	69,15,58,204,194,3
2900.byte	68,15,56,200,204
2901
2902	pcmpgtd	%xmm4,%xmm7
2903	pand	%xmm11,%xmm0
2904	pand	%xmm11,%xmm1
2905	pand	%xmm12,%xmm8
2906	pand	%xmm12,%xmm9
2907	paddd	%xmm7,%xmm6
2908
2909	paddd	64(%rsp),%xmm0
2910	paddd	80(%rsp),%xmm1
2911	paddd	96(%rsp),%xmm8
2912	paddd	112(%rsp),%xmm9
2913
2914	movq	%xmm6,(%rbx)
2915	decl	%edx
2916	jnz	.Loop_shaext
2917
2918	movl	280(%rsp),%edx
2919
2920	pshufd	$27,%xmm0,%xmm0
2921	pshufd	$27,%xmm8,%xmm8
2922
2923	movdqa	%xmm0,%xmm6
2924	punpckldq	%xmm8,%xmm0
2925	punpckhdq	%xmm8,%xmm6
2926	punpckhdq	%xmm9,%xmm1
2927	movq	%xmm0,0-64(%rdi)
2928	psrldq	$8,%xmm0
2929	movq	%xmm6,64-64(%rdi)
2930	psrldq	$8,%xmm6
2931	movq	%xmm0,32-64(%rdi)
2932	psrldq	$8,%xmm1
2933	movq	%xmm6,96-64(%rdi)
2934	movq	%xmm1,128-64(%rdi)
2935
2936	leaq	8(%rdi),%rdi
2937	leaq	32(%rsi),%rsi
2938	decl	%edx
2939	jnz	.Loop_grande_shaext
2940
2941.Ldone_shaext:
2942
2943	movq	-16(%rax),%rbp
2944.cfi_restore	%rbp
2945	movq	-8(%rax),%rbx
2946.cfi_restore	%rbx
2947	leaq	(%rax),%rsp
2948.cfi_def_cfa_register	%rsp
2949.Lepilogue_shaext:
2950	.byte	0xf3,0xc3
2951.cfi_endproc
2952.size	sha1_multi_block_shaext,.-sha1_multi_block_shaext
2953.type	sha1_multi_block_avx,@function
2954.align	32
2955sha1_multi_block_avx:
2956.cfi_startproc
2957_avx_shortcut:
2958	shrq	$32,%rcx
2959	cmpl	$2,%edx
2960	jb	.Lavx
2961	testl	$32,%ecx
2962	jnz	_avx2_shortcut
2963	jmp	.Lavx
2964.align	32
2965.Lavx:
2966	movq	%rsp,%rax
2967.cfi_def_cfa_register	%rax
2968	pushq	%rbx
2969.cfi_offset	%rbx,-16
2970	pushq	%rbp
2971.cfi_offset	%rbp,-24
2972	subq	$288,%rsp
2973	andq	$-256,%rsp
2974	movq	%rax,272(%rsp)
2975.cfi_escape	0x0f,0x06,0x77,0x90,0x02,0x06,0x23,0x08
2976.Lbody_avx:
2977	leaq	K_XX_XX(%rip),%rbp
2978	leaq	256(%rsp),%rbx
2979
2980	vzeroupper
2981.Loop_grande_avx:
2982	movl	%edx,280(%rsp)
2983	xorl	%edx,%edx
2984
2985	movq	0(%rsi),%r8
2986
2987	movl	8(%rsi),%ecx
2988	cmpl	%edx,%ecx
2989	cmovgl	%ecx,%edx
2990	testl	%ecx,%ecx
2991	movl	%ecx,0(%rbx)
2992	cmovleq	%rbp,%r8
2993
2994	movq	16(%rsi),%r9
2995
2996	movl	24(%rsi),%ecx
2997	cmpl	%edx,%ecx
2998	cmovgl	%ecx,%edx
2999	testl	%ecx,%ecx
3000	movl	%ecx,4(%rbx)
3001	cmovleq	%rbp,%r9
3002
3003	movq	32(%rsi),%r10
3004
3005	movl	40(%rsi),%ecx
3006	cmpl	%edx,%ecx
3007	cmovgl	%ecx,%edx
3008	testl	%ecx,%ecx
3009	movl	%ecx,8(%rbx)
3010	cmovleq	%rbp,%r10
3011
3012	movq	48(%rsi),%r11
3013
3014	movl	56(%rsi),%ecx
3015	cmpl	%edx,%ecx
3016	cmovgl	%ecx,%edx
3017	testl	%ecx,%ecx
3018	movl	%ecx,12(%rbx)
3019	cmovleq	%rbp,%r11
3020	testl	%edx,%edx
3021	jz	.Ldone_avx
3022
3023	vmovdqu	0(%rdi),%xmm10
3024	leaq	128(%rsp),%rax
3025	vmovdqu	32(%rdi),%xmm11
3026	vmovdqu	64(%rdi),%xmm12
3027	vmovdqu	96(%rdi),%xmm13
3028	vmovdqu	128(%rdi),%xmm14
3029	vmovdqu	96(%rbp),%xmm5
3030	jmp	.Loop_avx
3031
3032.align	32
3033.Loop_avx:
3034	vmovdqa	-32(%rbp),%xmm15
3035	vmovd	(%r8),%xmm0
3036	leaq	64(%r8),%r8
3037	vmovd	(%r9),%xmm2
3038	leaq	64(%r9),%r9
3039	vpinsrd	$1,(%r10),%xmm0,%xmm0
3040	leaq	64(%r10),%r10
3041	vpinsrd	$1,(%r11),%xmm2,%xmm2
3042	leaq	64(%r11),%r11
3043	vmovd	-60(%r8),%xmm1
3044	vpunpckldq	%xmm2,%xmm0,%xmm0
3045	vmovd	-60(%r9),%xmm9
3046	vpshufb	%xmm5,%xmm0,%xmm0
3047	vpinsrd	$1,-60(%r10),%xmm1,%xmm1
3048	vpinsrd	$1,-60(%r11),%xmm9,%xmm9
3049	vpaddd	%xmm15,%xmm14,%xmm14
3050	vpslld	$5,%xmm10,%xmm8
3051	vpandn	%xmm13,%xmm11,%xmm7
3052	vpand	%xmm12,%xmm11,%xmm6
3053
3054	vmovdqa	%xmm0,0-128(%rax)
3055	vpaddd	%xmm0,%xmm14,%xmm14
3056	vpunpckldq	%xmm9,%xmm1,%xmm1
3057	vpsrld	$27,%xmm10,%xmm9
3058	vpxor	%xmm7,%xmm6,%xmm6
3059	vmovd	-56(%r8),%xmm2
3060
3061	vpslld	$30,%xmm11,%xmm7
3062	vpor	%xmm9,%xmm8,%xmm8
3063	vmovd	-56(%r9),%xmm9
3064	vpaddd	%xmm6,%xmm14,%xmm14
3065
3066	vpsrld	$2,%xmm11,%xmm11
3067	vpaddd	%xmm8,%xmm14,%xmm14
3068	vpshufb	%xmm5,%xmm1,%xmm1
3069	vpor	%xmm7,%xmm11,%xmm11
3070	vpinsrd	$1,-56(%r10),%xmm2,%xmm2
3071	vpinsrd	$1,-56(%r11),%xmm9,%xmm9
3072	vpaddd	%xmm15,%xmm13,%xmm13
3073	vpslld	$5,%xmm14,%xmm8
3074	vpandn	%xmm12,%xmm10,%xmm7
3075	vpand	%xmm11,%xmm10,%xmm6
3076
3077	vmovdqa	%xmm1,16-128(%rax)
3078	vpaddd	%xmm1,%xmm13,%xmm13
3079	vpunpckldq	%xmm9,%xmm2,%xmm2
3080	vpsrld	$27,%xmm14,%xmm9
3081	vpxor	%xmm7,%xmm6,%xmm6
3082	vmovd	-52(%r8),%xmm3
3083
3084	vpslld	$30,%xmm10,%xmm7
3085	vpor	%xmm9,%xmm8,%xmm8
3086	vmovd	-52(%r9),%xmm9
3087	vpaddd	%xmm6,%xmm13,%xmm13
3088
3089	vpsrld	$2,%xmm10,%xmm10
3090	vpaddd	%xmm8,%xmm13,%xmm13
3091	vpshufb	%xmm5,%xmm2,%xmm2
3092	vpor	%xmm7,%xmm10,%xmm10
3093	vpinsrd	$1,-52(%r10),%xmm3,%xmm3
3094	vpinsrd	$1,-52(%r11),%xmm9,%xmm9
3095	vpaddd	%xmm15,%xmm12,%xmm12
3096	vpslld	$5,%xmm13,%xmm8
3097	vpandn	%xmm11,%xmm14,%xmm7
3098	vpand	%xmm10,%xmm14,%xmm6
3099
3100	vmovdqa	%xmm2,32-128(%rax)
3101	vpaddd	%xmm2,%xmm12,%xmm12
3102	vpunpckldq	%xmm9,%xmm3,%xmm3
3103	vpsrld	$27,%xmm13,%xmm9
3104	vpxor	%xmm7,%xmm6,%xmm6
3105	vmovd	-48(%r8),%xmm4
3106
3107	vpslld	$30,%xmm14,%xmm7
3108	vpor	%xmm9,%xmm8,%xmm8
3109	vmovd	-48(%r9),%xmm9
3110	vpaddd	%xmm6,%xmm12,%xmm12
3111
3112	vpsrld	$2,%xmm14,%xmm14
3113	vpaddd	%xmm8,%xmm12,%xmm12
3114	vpshufb	%xmm5,%xmm3,%xmm3
3115	vpor	%xmm7,%xmm14,%xmm14
3116	vpinsrd	$1,-48(%r10),%xmm4,%xmm4
3117	vpinsrd	$1,-48(%r11),%xmm9,%xmm9
3118	vpaddd	%xmm15,%xmm11,%xmm11
3119	vpslld	$5,%xmm12,%xmm8
3120	vpandn	%xmm10,%xmm13,%xmm7
3121	vpand	%xmm14,%xmm13,%xmm6
3122
3123	vmovdqa	%xmm3,48-128(%rax)
3124	vpaddd	%xmm3,%xmm11,%xmm11
3125	vpunpckldq	%xmm9,%xmm4,%xmm4
3126	vpsrld	$27,%xmm12,%xmm9
3127	vpxor	%xmm7,%xmm6,%xmm6
3128	vmovd	-44(%r8),%xmm0
3129
3130	vpslld	$30,%xmm13,%xmm7
3131	vpor	%xmm9,%xmm8,%xmm8
3132	vmovd	-44(%r9),%xmm9
3133	vpaddd	%xmm6,%xmm11,%xmm11
3134
3135	vpsrld	$2,%xmm13,%xmm13
3136	vpaddd	%xmm8,%xmm11,%xmm11
3137	vpshufb	%xmm5,%xmm4,%xmm4
3138	vpor	%xmm7,%xmm13,%xmm13
3139	vpinsrd	$1,-44(%r10),%xmm0,%xmm0
3140	vpinsrd	$1,-44(%r11),%xmm9,%xmm9
3141	vpaddd	%xmm15,%xmm10,%xmm10
3142	vpslld	$5,%xmm11,%xmm8
3143	vpandn	%xmm14,%xmm12,%xmm7
3144	vpand	%xmm13,%xmm12,%xmm6
3145
3146	vmovdqa	%xmm4,64-128(%rax)
3147	vpaddd	%xmm4,%xmm10,%xmm10
3148	vpunpckldq	%xmm9,%xmm0,%xmm0
3149	vpsrld	$27,%xmm11,%xmm9
3150	vpxor	%xmm7,%xmm6,%xmm6
3151	vmovd	-40(%r8),%xmm1
3152
3153	vpslld	$30,%xmm12,%xmm7
3154	vpor	%xmm9,%xmm8,%xmm8
3155	vmovd	-40(%r9),%xmm9
3156	vpaddd	%xmm6,%xmm10,%xmm10
3157
3158	vpsrld	$2,%xmm12,%xmm12
3159	vpaddd	%xmm8,%xmm10,%xmm10
3160	vpshufb	%xmm5,%xmm0,%xmm0
3161	vpor	%xmm7,%xmm12,%xmm12
3162	vpinsrd	$1,-40(%r10),%xmm1,%xmm1
3163	vpinsrd	$1,-40(%r11),%xmm9,%xmm9
3164	vpaddd	%xmm15,%xmm14,%xmm14
3165	vpslld	$5,%xmm10,%xmm8
3166	vpandn	%xmm13,%xmm11,%xmm7
3167	vpand	%xmm12,%xmm11,%xmm6
3168
3169	vmovdqa	%xmm0,80-128(%rax)
3170	vpaddd	%xmm0,%xmm14,%xmm14
3171	vpunpckldq	%xmm9,%xmm1,%xmm1
3172	vpsrld	$27,%xmm10,%xmm9
3173	vpxor	%xmm7,%xmm6,%xmm6
3174	vmovd	-36(%r8),%xmm2
3175
3176	vpslld	$30,%xmm11,%xmm7
3177	vpor	%xmm9,%xmm8,%xmm8
3178	vmovd	-36(%r9),%xmm9
3179	vpaddd	%xmm6,%xmm14,%xmm14
3180
3181	vpsrld	$2,%xmm11,%xmm11
3182	vpaddd	%xmm8,%xmm14,%xmm14
3183	vpshufb	%xmm5,%xmm1,%xmm1
3184	vpor	%xmm7,%xmm11,%xmm11
3185	vpinsrd	$1,-36(%r10),%xmm2,%xmm2
3186	vpinsrd	$1,-36(%r11),%xmm9,%xmm9
3187	vpaddd	%xmm15,%xmm13,%xmm13
3188	vpslld	$5,%xmm14,%xmm8
3189	vpandn	%xmm12,%xmm10,%xmm7
3190	vpand	%xmm11,%xmm10,%xmm6
3191
3192	vmovdqa	%xmm1,96-128(%rax)
3193	vpaddd	%xmm1,%xmm13,%xmm13
3194	vpunpckldq	%xmm9,%xmm2,%xmm2
3195	vpsrld	$27,%xmm14,%xmm9
3196	vpxor	%xmm7,%xmm6,%xmm6
3197	vmovd	-32(%r8),%xmm3
3198
3199	vpslld	$30,%xmm10,%xmm7
3200	vpor	%xmm9,%xmm8,%xmm8
3201	vmovd	-32(%r9),%xmm9
3202	vpaddd	%xmm6,%xmm13,%xmm13
3203
3204	vpsrld	$2,%xmm10,%xmm10
3205	vpaddd	%xmm8,%xmm13,%xmm13
3206	vpshufb	%xmm5,%xmm2,%xmm2
3207	vpor	%xmm7,%xmm10,%xmm10
3208	vpinsrd	$1,-32(%r10),%xmm3,%xmm3
3209	vpinsrd	$1,-32(%r11),%xmm9,%xmm9
3210	vpaddd	%xmm15,%xmm12,%xmm12
3211	vpslld	$5,%xmm13,%xmm8
3212	vpandn	%xmm11,%xmm14,%xmm7
3213	vpand	%xmm10,%xmm14,%xmm6
3214
3215	vmovdqa	%xmm2,112-128(%rax)
3216	vpaddd	%xmm2,%xmm12,%xmm12
3217	vpunpckldq	%xmm9,%xmm3,%xmm3
3218	vpsrld	$27,%xmm13,%xmm9
3219	vpxor	%xmm7,%xmm6,%xmm6
3220	vmovd	-28(%r8),%xmm4
3221
3222	vpslld	$30,%xmm14,%xmm7
3223	vpor	%xmm9,%xmm8,%xmm8
3224	vmovd	-28(%r9),%xmm9
3225	vpaddd	%xmm6,%xmm12,%xmm12
3226
3227	vpsrld	$2,%xmm14,%xmm14
3228	vpaddd	%xmm8,%xmm12,%xmm12
3229	vpshufb	%xmm5,%xmm3,%xmm3
3230	vpor	%xmm7,%xmm14,%xmm14
3231	vpinsrd	$1,-28(%r10),%xmm4,%xmm4
3232	vpinsrd	$1,-28(%r11),%xmm9,%xmm9
3233	vpaddd	%xmm15,%xmm11,%xmm11
3234	vpslld	$5,%xmm12,%xmm8
3235	vpandn	%xmm10,%xmm13,%xmm7
3236	vpand	%xmm14,%xmm13,%xmm6
3237
3238	vmovdqa	%xmm3,128-128(%rax)
3239	vpaddd	%xmm3,%xmm11,%xmm11
3240	vpunpckldq	%xmm9,%xmm4,%xmm4
3241	vpsrld	$27,%xmm12,%xmm9
3242	vpxor	%xmm7,%xmm6,%xmm6
3243	vmovd	-24(%r8),%xmm0
3244
3245	vpslld	$30,%xmm13,%xmm7
3246	vpor	%xmm9,%xmm8,%xmm8
3247	vmovd	-24(%r9),%xmm9
3248	vpaddd	%xmm6,%xmm11,%xmm11
3249
3250	vpsrld	$2,%xmm13,%xmm13
3251	vpaddd	%xmm8,%xmm11,%xmm11
3252	vpshufb	%xmm5,%xmm4,%xmm4
3253	vpor	%xmm7,%xmm13,%xmm13
3254	vpinsrd	$1,-24(%r10),%xmm0,%xmm0
3255	vpinsrd	$1,-24(%r11),%xmm9,%xmm9
3256	vpaddd	%xmm15,%xmm10,%xmm10
3257	vpslld	$5,%xmm11,%xmm8
3258	vpandn	%xmm14,%xmm12,%xmm7
3259	vpand	%xmm13,%xmm12,%xmm6
3260
3261	vmovdqa	%xmm4,144-128(%rax)
3262	vpaddd	%xmm4,%xmm10,%xmm10
3263	vpunpckldq	%xmm9,%xmm0,%xmm0
3264	vpsrld	$27,%xmm11,%xmm9
3265	vpxor	%xmm7,%xmm6,%xmm6
3266	vmovd	-20(%r8),%xmm1
3267
3268	vpslld	$30,%xmm12,%xmm7
3269	vpor	%xmm9,%xmm8,%xmm8
3270	vmovd	-20(%r9),%xmm9
3271	vpaddd	%xmm6,%xmm10,%xmm10
3272
3273	vpsrld	$2,%xmm12,%xmm12
3274	vpaddd	%xmm8,%xmm10,%xmm10
3275	vpshufb	%xmm5,%xmm0,%xmm0
3276	vpor	%xmm7,%xmm12,%xmm12
3277	vpinsrd	$1,-20(%r10),%xmm1,%xmm1
3278	vpinsrd	$1,-20(%r11),%xmm9,%xmm9
3279	vpaddd	%xmm15,%xmm14,%xmm14
3280	vpslld	$5,%xmm10,%xmm8
3281	vpandn	%xmm13,%xmm11,%xmm7
3282	vpand	%xmm12,%xmm11,%xmm6
3283
3284	vmovdqa	%xmm0,160-128(%rax)
3285	vpaddd	%xmm0,%xmm14,%xmm14
3286	vpunpckldq	%xmm9,%xmm1,%xmm1
3287	vpsrld	$27,%xmm10,%xmm9
3288	vpxor	%xmm7,%xmm6,%xmm6
3289	vmovd	-16(%r8),%xmm2
3290
3291	vpslld	$30,%xmm11,%xmm7
3292	vpor	%xmm9,%xmm8,%xmm8
3293	vmovd	-16(%r9),%xmm9
3294	vpaddd	%xmm6,%xmm14,%xmm14
3295
3296	vpsrld	$2,%xmm11,%xmm11
3297	vpaddd	%xmm8,%xmm14,%xmm14
3298	vpshufb	%xmm5,%xmm1,%xmm1
3299	vpor	%xmm7,%xmm11,%xmm11
3300	vpinsrd	$1,-16(%r10),%xmm2,%xmm2
3301	vpinsrd	$1,-16(%r11),%xmm9,%xmm9
3302	vpaddd	%xmm15,%xmm13,%xmm13
3303	vpslld	$5,%xmm14,%xmm8
3304	vpandn	%xmm12,%xmm10,%xmm7
3305	vpand	%xmm11,%xmm10,%xmm6
3306
3307	vmovdqa	%xmm1,176-128(%rax)
3308	vpaddd	%xmm1,%xmm13,%xmm13
3309	vpunpckldq	%xmm9,%xmm2,%xmm2
3310	vpsrld	$27,%xmm14,%xmm9
3311	vpxor	%xmm7,%xmm6,%xmm6
3312	vmovd	-12(%r8),%xmm3
3313
3314	vpslld	$30,%xmm10,%xmm7
3315	vpor	%xmm9,%xmm8,%xmm8
3316	vmovd	-12(%r9),%xmm9
3317	vpaddd	%xmm6,%xmm13,%xmm13
3318
3319	vpsrld	$2,%xmm10,%xmm10
3320	vpaddd	%xmm8,%xmm13,%xmm13
3321	vpshufb	%xmm5,%xmm2,%xmm2
3322	vpor	%xmm7,%xmm10,%xmm10
3323	vpinsrd	$1,-12(%r10),%xmm3,%xmm3
3324	vpinsrd	$1,-12(%r11),%xmm9,%xmm9
3325	vpaddd	%xmm15,%xmm12,%xmm12
3326	vpslld	$5,%xmm13,%xmm8
3327	vpandn	%xmm11,%xmm14,%xmm7
3328	vpand	%xmm10,%xmm14,%xmm6
3329
3330	vmovdqa	%xmm2,192-128(%rax)
3331	vpaddd	%xmm2,%xmm12,%xmm12
3332	vpunpckldq	%xmm9,%xmm3,%xmm3
3333	vpsrld	$27,%xmm13,%xmm9
3334	vpxor	%xmm7,%xmm6,%xmm6
3335	vmovd	-8(%r8),%xmm4
3336
3337	vpslld	$30,%xmm14,%xmm7
3338	vpor	%xmm9,%xmm8,%xmm8
3339	vmovd	-8(%r9),%xmm9
3340	vpaddd	%xmm6,%xmm12,%xmm12
3341
3342	vpsrld	$2,%xmm14,%xmm14
3343	vpaddd	%xmm8,%xmm12,%xmm12
3344	vpshufb	%xmm5,%xmm3,%xmm3
3345	vpor	%xmm7,%xmm14,%xmm14
3346	vpinsrd	$1,-8(%r10),%xmm4,%xmm4
3347	vpinsrd	$1,-8(%r11),%xmm9,%xmm9
3348	vpaddd	%xmm15,%xmm11,%xmm11
3349	vpslld	$5,%xmm12,%xmm8
3350	vpandn	%xmm10,%xmm13,%xmm7
3351	vpand	%xmm14,%xmm13,%xmm6
3352
3353	vmovdqa	%xmm3,208-128(%rax)
3354	vpaddd	%xmm3,%xmm11,%xmm11
3355	vpunpckldq	%xmm9,%xmm4,%xmm4
3356	vpsrld	$27,%xmm12,%xmm9
3357	vpxor	%xmm7,%xmm6,%xmm6
3358	vmovd	-4(%r8),%xmm0
3359
3360	vpslld	$30,%xmm13,%xmm7
3361	vpor	%xmm9,%xmm8,%xmm8
3362	vmovd	-4(%r9),%xmm9
3363	vpaddd	%xmm6,%xmm11,%xmm11
3364
3365	vpsrld	$2,%xmm13,%xmm13
3366	vpaddd	%xmm8,%xmm11,%xmm11
3367	vpshufb	%xmm5,%xmm4,%xmm4
3368	vpor	%xmm7,%xmm13,%xmm13
3369	vmovdqa	0-128(%rax),%xmm1
3370	vpinsrd	$1,-4(%r10),%xmm0,%xmm0
3371	vpinsrd	$1,-4(%r11),%xmm9,%xmm9
3372	vpaddd	%xmm15,%xmm10,%xmm10
3373	prefetcht0	63(%r8)
3374	vpslld	$5,%xmm11,%xmm8
3375	vpandn	%xmm14,%xmm12,%xmm7
3376	vpand	%xmm13,%xmm12,%xmm6
3377
3378	vmovdqa	%xmm4,224-128(%rax)
3379	vpaddd	%xmm4,%xmm10,%xmm10
3380	vpunpckldq	%xmm9,%xmm0,%xmm0
3381	vpsrld	$27,%xmm11,%xmm9
3382	prefetcht0	63(%r9)
3383	vpxor	%xmm7,%xmm6,%xmm6
3384
3385	vpslld	$30,%xmm12,%xmm7
3386	vpor	%xmm9,%xmm8,%xmm8
3387	prefetcht0	63(%r10)
3388	vpaddd	%xmm6,%xmm10,%xmm10
3389
3390	vpsrld	$2,%xmm12,%xmm12
3391	vpaddd	%xmm8,%xmm10,%xmm10
3392	prefetcht0	63(%r11)
3393	vpshufb	%xmm5,%xmm0,%xmm0
3394	vpor	%xmm7,%xmm12,%xmm12
3395	vmovdqa	16-128(%rax),%xmm2
3396	vpxor	%xmm3,%xmm1,%xmm1
3397	vmovdqa	32-128(%rax),%xmm3
3398
3399	vpaddd	%xmm15,%xmm14,%xmm14
3400	vpslld	$5,%xmm10,%xmm8
3401	vpandn	%xmm13,%xmm11,%xmm7
3402
3403	vpand	%xmm12,%xmm11,%xmm6
3404
3405	vmovdqa	%xmm0,240-128(%rax)
3406	vpaddd	%xmm0,%xmm14,%xmm14
3407	vpxor	128-128(%rax),%xmm1,%xmm1
3408	vpsrld	$27,%xmm10,%xmm9
3409	vpxor	%xmm7,%xmm6,%xmm6
3410	vpxor	%xmm3,%xmm1,%xmm1
3411
3412
3413	vpslld	$30,%xmm11,%xmm7
3414	vpor	%xmm9,%xmm8,%xmm8
3415	vpaddd	%xmm6,%xmm14,%xmm14
3416
3417	vpsrld	$31,%xmm1,%xmm5
3418	vpaddd	%xmm1,%xmm1,%xmm1
3419
3420	vpsrld	$2,%xmm11,%xmm11
3421
3422	vpaddd	%xmm8,%xmm14,%xmm14
3423	vpor	%xmm5,%xmm1,%xmm1
3424	vpor	%xmm7,%xmm11,%xmm11
3425	vpxor	%xmm4,%xmm2,%xmm2
3426	vmovdqa	48-128(%rax),%xmm4
3427
3428	vpaddd	%xmm15,%xmm13,%xmm13
3429	vpslld	$5,%xmm14,%xmm8
3430	vpandn	%xmm12,%xmm10,%xmm7
3431
3432	vpand	%xmm11,%xmm10,%xmm6
3433
3434	vmovdqa	%xmm1,0-128(%rax)
3435	vpaddd	%xmm1,%xmm13,%xmm13
3436	vpxor	144-128(%rax),%xmm2,%xmm2
3437	vpsrld	$27,%xmm14,%xmm9
3438	vpxor	%xmm7,%xmm6,%xmm6
3439	vpxor	%xmm4,%xmm2,%xmm2
3440
3441
3442	vpslld	$30,%xmm10,%xmm7
3443	vpor	%xmm9,%xmm8,%xmm8
3444	vpaddd	%xmm6,%xmm13,%xmm13
3445
3446	vpsrld	$31,%xmm2,%xmm5
3447	vpaddd	%xmm2,%xmm2,%xmm2
3448
3449	vpsrld	$2,%xmm10,%xmm10
3450
3451	vpaddd	%xmm8,%xmm13,%xmm13
3452	vpor	%xmm5,%xmm2,%xmm2
3453	vpor	%xmm7,%xmm10,%xmm10
3454	vpxor	%xmm0,%xmm3,%xmm3
3455	vmovdqa	64-128(%rax),%xmm0
3456
3457	vpaddd	%xmm15,%xmm12,%xmm12
3458	vpslld	$5,%xmm13,%xmm8
3459	vpandn	%xmm11,%xmm14,%xmm7
3460
3461	vpand	%xmm10,%xmm14,%xmm6
3462
3463	vmovdqa	%xmm2,16-128(%rax)
3464	vpaddd	%xmm2,%xmm12,%xmm12
3465	vpxor	160-128(%rax),%xmm3,%xmm3
3466	vpsrld	$27,%xmm13,%xmm9
3467	vpxor	%xmm7,%xmm6,%xmm6
3468	vpxor	%xmm0,%xmm3,%xmm3
3469
3470
3471	vpslld	$30,%xmm14,%xmm7
3472	vpor	%xmm9,%xmm8,%xmm8
3473	vpaddd	%xmm6,%xmm12,%xmm12
3474
3475	vpsrld	$31,%xmm3,%xmm5
3476	vpaddd	%xmm3,%xmm3,%xmm3
3477
3478	vpsrld	$2,%xmm14,%xmm14
3479
3480	vpaddd	%xmm8,%xmm12,%xmm12
3481	vpor	%xmm5,%xmm3,%xmm3
3482	vpor	%xmm7,%xmm14,%xmm14
3483	vpxor	%xmm1,%xmm4,%xmm4
3484	vmovdqa	80-128(%rax),%xmm1
3485
3486	vpaddd	%xmm15,%xmm11,%xmm11
3487	vpslld	$5,%xmm12,%xmm8
3488	vpandn	%xmm10,%xmm13,%xmm7
3489
3490	vpand	%xmm14,%xmm13,%xmm6
3491
3492	vmovdqa	%xmm3,32-128(%rax)
3493	vpaddd	%xmm3,%xmm11,%xmm11
3494	vpxor	176-128(%rax),%xmm4,%xmm4
3495	vpsrld	$27,%xmm12,%xmm9
3496	vpxor	%xmm7,%xmm6,%xmm6
3497	vpxor	%xmm1,%xmm4,%xmm4
3498
3499
3500	vpslld	$30,%xmm13,%xmm7
3501	vpor	%xmm9,%xmm8,%xmm8
3502	vpaddd	%xmm6,%xmm11,%xmm11
3503
3504	vpsrld	$31,%xmm4,%xmm5
3505	vpaddd	%xmm4,%xmm4,%xmm4
3506
3507	vpsrld	$2,%xmm13,%xmm13
3508
3509	vpaddd	%xmm8,%xmm11,%xmm11
3510	vpor	%xmm5,%xmm4,%xmm4
3511	vpor	%xmm7,%xmm13,%xmm13
3512	vpxor	%xmm2,%xmm0,%xmm0
3513	vmovdqa	96-128(%rax),%xmm2
3514
3515	vpaddd	%xmm15,%xmm10,%xmm10
3516	vpslld	$5,%xmm11,%xmm8
3517	vpandn	%xmm14,%xmm12,%xmm7
3518
3519	vpand	%xmm13,%xmm12,%xmm6
3520
3521	vmovdqa	%xmm4,48-128(%rax)
3522	vpaddd	%xmm4,%xmm10,%xmm10
3523	vpxor	192-128(%rax),%xmm0,%xmm0
3524	vpsrld	$27,%xmm11,%xmm9
3525	vpxor	%xmm7,%xmm6,%xmm6
3526	vpxor	%xmm2,%xmm0,%xmm0
3527
3528
3529	vpslld	$30,%xmm12,%xmm7
3530	vpor	%xmm9,%xmm8,%xmm8
3531	vpaddd	%xmm6,%xmm10,%xmm10
3532
3533	vpsrld	$31,%xmm0,%xmm5
3534	vpaddd	%xmm0,%xmm0,%xmm0
3535
3536	vpsrld	$2,%xmm12,%xmm12
3537
3538	vpaddd	%xmm8,%xmm10,%xmm10
3539	vpor	%xmm5,%xmm0,%xmm0
3540	vpor	%xmm7,%xmm12,%xmm12
3541	vmovdqa	0(%rbp),%xmm15
3542	vpxor	%xmm3,%xmm1,%xmm1
3543	vmovdqa	112-128(%rax),%xmm3
3544
3545	vpslld	$5,%xmm10,%xmm8
3546	vpaddd	%xmm15,%xmm14,%xmm14
3547	vpxor	%xmm11,%xmm13,%xmm6
3548	vmovdqa	%xmm0,64-128(%rax)
3549	vpaddd	%xmm0,%xmm14,%xmm14
3550	vpxor	208-128(%rax),%xmm1,%xmm1
3551	vpsrld	$27,%xmm10,%xmm9
3552	vpxor	%xmm12,%xmm6,%xmm6
3553	vpxor	%xmm3,%xmm1,%xmm1
3554
3555	vpslld	$30,%xmm11,%xmm7
3556	vpor	%xmm9,%xmm8,%xmm8
3557	vpaddd	%xmm6,%xmm14,%xmm14
3558	vpsrld	$31,%xmm1,%xmm5
3559	vpaddd	%xmm1,%xmm1,%xmm1
3560
3561	vpsrld	$2,%xmm11,%xmm11
3562	vpaddd	%xmm8,%xmm14,%xmm14
3563	vpor	%xmm5,%xmm1,%xmm1
3564	vpor	%xmm7,%xmm11,%xmm11
3565	vpxor	%xmm4,%xmm2,%xmm2
3566	vmovdqa	128-128(%rax),%xmm4
3567
3568	vpslld	$5,%xmm14,%xmm8
3569	vpaddd	%xmm15,%xmm13,%xmm13
3570	vpxor	%xmm10,%xmm12,%xmm6
3571	vmovdqa	%xmm1,80-128(%rax)
3572	vpaddd	%xmm1,%xmm13,%xmm13
3573	vpxor	224-128(%rax),%xmm2,%xmm2
3574	vpsrld	$27,%xmm14,%xmm9
3575	vpxor	%xmm11,%xmm6,%xmm6
3576	vpxor	%xmm4,%xmm2,%xmm2
3577
3578	vpslld	$30,%xmm10,%xmm7
3579	vpor	%xmm9,%xmm8,%xmm8
3580	vpaddd	%xmm6,%xmm13,%xmm13
3581	vpsrld	$31,%xmm2,%xmm5
3582	vpaddd	%xmm2,%xmm2,%xmm2
3583
3584	vpsrld	$2,%xmm10,%xmm10
3585	vpaddd	%xmm8,%xmm13,%xmm13
3586	vpor	%xmm5,%xmm2,%xmm2
3587	vpor	%xmm7,%xmm10,%xmm10
3588	vpxor	%xmm0,%xmm3,%xmm3
3589	vmovdqa	144-128(%rax),%xmm0
3590
3591	vpslld	$5,%xmm13,%xmm8
3592	vpaddd	%xmm15,%xmm12,%xmm12
3593	vpxor	%xmm14,%xmm11,%xmm6
3594	vmovdqa	%xmm2,96-128(%rax)
3595	vpaddd	%xmm2,%xmm12,%xmm12
3596	vpxor	240-128(%rax),%xmm3,%xmm3
3597	vpsrld	$27,%xmm13,%xmm9
3598	vpxor	%xmm10,%xmm6,%xmm6
3599	vpxor	%xmm0,%xmm3,%xmm3
3600
3601	vpslld	$30,%xmm14,%xmm7
3602	vpor	%xmm9,%xmm8,%xmm8
3603	vpaddd	%xmm6,%xmm12,%xmm12
3604	vpsrld	$31,%xmm3,%xmm5
3605	vpaddd	%xmm3,%xmm3,%xmm3
3606
3607	vpsrld	$2,%xmm14,%xmm14
3608	vpaddd	%xmm8,%xmm12,%xmm12
3609	vpor	%xmm5,%xmm3,%xmm3
3610	vpor	%xmm7,%xmm14,%xmm14
3611	vpxor	%xmm1,%xmm4,%xmm4
3612	vmovdqa	160-128(%rax),%xmm1
3613
3614	vpslld	$5,%xmm12,%xmm8
3615	vpaddd	%xmm15,%xmm11,%xmm11
3616	vpxor	%xmm13,%xmm10,%xmm6
3617	vmovdqa	%xmm3,112-128(%rax)
3618	vpaddd	%xmm3,%xmm11,%xmm11
3619	vpxor	0-128(%rax),%xmm4,%xmm4
3620	vpsrld	$27,%xmm12,%xmm9
3621	vpxor	%xmm14,%xmm6,%xmm6
3622	vpxor	%xmm1,%xmm4,%xmm4
3623
3624	vpslld	$30,%xmm13,%xmm7
3625	vpor	%xmm9,%xmm8,%xmm8
3626	vpaddd	%xmm6,%xmm11,%xmm11
3627	vpsrld	$31,%xmm4,%xmm5
3628	vpaddd	%xmm4,%xmm4,%xmm4
3629
3630	vpsrld	$2,%xmm13,%xmm13
3631	vpaddd	%xmm8,%xmm11,%xmm11
3632	vpor	%xmm5,%xmm4,%xmm4
3633	vpor	%xmm7,%xmm13,%xmm13
3634	vpxor	%xmm2,%xmm0,%xmm0
3635	vmovdqa	176-128(%rax),%xmm2
3636
3637	vpslld	$5,%xmm11,%xmm8
3638	vpaddd	%xmm15,%xmm10,%xmm10
3639	vpxor	%xmm12,%xmm14,%xmm6
3640	vmovdqa	%xmm4,128-128(%rax)
3641	vpaddd	%xmm4,%xmm10,%xmm10
3642	vpxor	16-128(%rax),%xmm0,%xmm0
3643	vpsrld	$27,%xmm11,%xmm9
3644	vpxor	%xmm13,%xmm6,%xmm6
3645	vpxor	%xmm2,%xmm0,%xmm0
3646
3647	vpslld	$30,%xmm12,%xmm7
3648	vpor	%xmm9,%xmm8,%xmm8
3649	vpaddd	%xmm6,%xmm10,%xmm10
3650	vpsrld	$31,%xmm0,%xmm5
3651	vpaddd	%xmm0,%xmm0,%xmm0
3652
3653	vpsrld	$2,%xmm12,%xmm12
3654	vpaddd	%xmm8,%xmm10,%xmm10
3655	vpor	%xmm5,%xmm0,%xmm0
3656	vpor	%xmm7,%xmm12,%xmm12
3657	vpxor	%xmm3,%xmm1,%xmm1
3658	vmovdqa	192-128(%rax),%xmm3
3659
3660	vpslld	$5,%xmm10,%xmm8
3661	vpaddd	%xmm15,%xmm14,%xmm14
3662	vpxor	%xmm11,%xmm13,%xmm6
3663	vmovdqa	%xmm0,144-128(%rax)
3664	vpaddd	%xmm0,%xmm14,%xmm14
3665	vpxor	32-128(%rax),%xmm1,%xmm1
3666	vpsrld	$27,%xmm10,%xmm9
3667	vpxor	%xmm12,%xmm6,%xmm6
3668	vpxor	%xmm3,%xmm1,%xmm1
3669
3670	vpslld	$30,%xmm11,%xmm7
3671	vpor	%xmm9,%xmm8,%xmm8
3672	vpaddd	%xmm6,%xmm14,%xmm14
3673	vpsrld	$31,%xmm1,%xmm5
3674	vpaddd	%xmm1,%xmm1,%xmm1
3675
3676	vpsrld	$2,%xmm11,%xmm11
3677	vpaddd	%xmm8,%xmm14,%xmm14
3678	vpor	%xmm5,%xmm1,%xmm1
3679	vpor	%xmm7,%xmm11,%xmm11
3680	vpxor	%xmm4,%xmm2,%xmm2
3681	vmovdqa	208-128(%rax),%xmm4
3682
3683	vpslld	$5,%xmm14,%xmm8
3684	vpaddd	%xmm15,%xmm13,%xmm13
3685	vpxor	%xmm10,%xmm12,%xmm6
3686	vmovdqa	%xmm1,160-128(%rax)
3687	vpaddd	%xmm1,%xmm13,%xmm13
3688	vpxor	48-128(%rax),%xmm2,%xmm2
3689	vpsrld	$27,%xmm14,%xmm9
3690	vpxor	%xmm11,%xmm6,%xmm6
3691	vpxor	%xmm4,%xmm2,%xmm2
3692
3693	vpslld	$30,%xmm10,%xmm7
3694	vpor	%xmm9,%xmm8,%xmm8
3695	vpaddd	%xmm6,%xmm13,%xmm13
3696	vpsrld	$31,%xmm2,%xmm5
3697	vpaddd	%xmm2,%xmm2,%xmm2
3698
3699	vpsrld	$2,%xmm10,%xmm10
3700	vpaddd	%xmm8,%xmm13,%xmm13
3701	vpor	%xmm5,%xmm2,%xmm2
3702	vpor	%xmm7,%xmm10,%xmm10
3703	vpxor	%xmm0,%xmm3,%xmm3
3704	vmovdqa	224-128(%rax),%xmm0
3705
3706	vpslld	$5,%xmm13,%xmm8
3707	vpaddd	%xmm15,%xmm12,%xmm12
3708	vpxor	%xmm14,%xmm11,%xmm6
3709	vmovdqa	%xmm2,176-128(%rax)
3710	vpaddd	%xmm2,%xmm12,%xmm12
3711	vpxor	64-128(%rax),%xmm3,%xmm3
3712	vpsrld	$27,%xmm13,%xmm9
3713	vpxor	%xmm10,%xmm6,%xmm6
3714	vpxor	%xmm0,%xmm3,%xmm3
3715
3716	vpslld	$30,%xmm14,%xmm7
3717	vpor	%xmm9,%xmm8,%xmm8
3718	vpaddd	%xmm6,%xmm12,%xmm12
3719	vpsrld	$31,%xmm3,%xmm5
3720	vpaddd	%xmm3,%xmm3,%xmm3
3721
3722	vpsrld	$2,%xmm14,%xmm14
3723	vpaddd	%xmm8,%xmm12,%xmm12
3724	vpor	%xmm5,%xmm3,%xmm3
3725	vpor	%xmm7,%xmm14,%xmm14
3726	vpxor	%xmm1,%xmm4,%xmm4
3727	vmovdqa	240-128(%rax),%xmm1
3728
3729	vpslld	$5,%xmm12,%xmm8
3730	vpaddd	%xmm15,%xmm11,%xmm11
3731	vpxor	%xmm13,%xmm10,%xmm6
3732	vmovdqa	%xmm3,192-128(%rax)
3733	vpaddd	%xmm3,%xmm11,%xmm11
3734	vpxor	80-128(%rax),%xmm4,%xmm4
3735	vpsrld	$27,%xmm12,%xmm9
3736	vpxor	%xmm14,%xmm6,%xmm6
3737	vpxor	%xmm1,%xmm4,%xmm4
3738
3739	vpslld	$30,%xmm13,%xmm7
3740	vpor	%xmm9,%xmm8,%xmm8
3741	vpaddd	%xmm6,%xmm11,%xmm11
3742	vpsrld	$31,%xmm4,%xmm5
3743	vpaddd	%xmm4,%xmm4,%xmm4
3744
3745	vpsrld	$2,%xmm13,%xmm13
3746	vpaddd	%xmm8,%xmm11,%xmm11
3747	vpor	%xmm5,%xmm4,%xmm4
3748	vpor	%xmm7,%xmm13,%xmm13
3749	vpxor	%xmm2,%xmm0,%xmm0
3750	vmovdqa	0-128(%rax),%xmm2
3751
3752	vpslld	$5,%xmm11,%xmm8
3753	vpaddd	%xmm15,%xmm10,%xmm10
3754	vpxor	%xmm12,%xmm14,%xmm6
3755	vmovdqa	%xmm4,208-128(%rax)
3756	vpaddd	%xmm4,%xmm10,%xmm10
3757	vpxor	96-128(%rax),%xmm0,%xmm0
3758	vpsrld	$27,%xmm11,%xmm9
3759	vpxor	%xmm13,%xmm6,%xmm6
3760	vpxor	%xmm2,%xmm0,%xmm0
3761
3762	vpslld	$30,%xmm12,%xmm7
3763	vpor	%xmm9,%xmm8,%xmm8
3764	vpaddd	%xmm6,%xmm10,%xmm10
3765	vpsrld	$31,%xmm0,%xmm5
3766	vpaddd	%xmm0,%xmm0,%xmm0
3767
3768	vpsrld	$2,%xmm12,%xmm12
3769	vpaddd	%xmm8,%xmm10,%xmm10
3770	vpor	%xmm5,%xmm0,%xmm0
3771	vpor	%xmm7,%xmm12,%xmm12
3772	vpxor	%xmm3,%xmm1,%xmm1
3773	vmovdqa	16-128(%rax),%xmm3
3774
3775	vpslld	$5,%xmm10,%xmm8
3776	vpaddd	%xmm15,%xmm14,%xmm14
3777	vpxor	%xmm11,%xmm13,%xmm6
3778	vmovdqa	%xmm0,224-128(%rax)
3779	vpaddd	%xmm0,%xmm14,%xmm14
3780	vpxor	112-128(%rax),%xmm1,%xmm1
3781	vpsrld	$27,%xmm10,%xmm9
3782	vpxor	%xmm12,%xmm6,%xmm6
3783	vpxor	%xmm3,%xmm1,%xmm1
3784
3785	vpslld	$30,%xmm11,%xmm7
3786	vpor	%xmm9,%xmm8,%xmm8
3787	vpaddd	%xmm6,%xmm14,%xmm14
3788	vpsrld	$31,%xmm1,%xmm5
3789	vpaddd	%xmm1,%xmm1,%xmm1
3790
3791	vpsrld	$2,%xmm11,%xmm11
3792	vpaddd	%xmm8,%xmm14,%xmm14
3793	vpor	%xmm5,%xmm1,%xmm1
3794	vpor	%xmm7,%xmm11,%xmm11
3795	vpxor	%xmm4,%xmm2,%xmm2
3796	vmovdqa	32-128(%rax),%xmm4
3797
3798	vpslld	$5,%xmm14,%xmm8
3799	vpaddd	%xmm15,%xmm13,%xmm13
3800	vpxor	%xmm10,%xmm12,%xmm6
3801	vmovdqa	%xmm1,240-128(%rax)
3802	vpaddd	%xmm1,%xmm13,%xmm13
3803	vpxor	128-128(%rax),%xmm2,%xmm2
3804	vpsrld	$27,%xmm14,%xmm9
3805	vpxor	%xmm11,%xmm6,%xmm6
3806	vpxor	%xmm4,%xmm2,%xmm2
3807
3808	vpslld	$30,%xmm10,%xmm7
3809	vpor	%xmm9,%xmm8,%xmm8
3810	vpaddd	%xmm6,%xmm13,%xmm13
3811	vpsrld	$31,%xmm2,%xmm5
3812	vpaddd	%xmm2,%xmm2,%xmm2
3813
3814	vpsrld	$2,%xmm10,%xmm10
3815	vpaddd	%xmm8,%xmm13,%xmm13
3816	vpor	%xmm5,%xmm2,%xmm2
3817	vpor	%xmm7,%xmm10,%xmm10
3818	vpxor	%xmm0,%xmm3,%xmm3
3819	vmovdqa	48-128(%rax),%xmm0
3820
3821	vpslld	$5,%xmm13,%xmm8
3822	vpaddd	%xmm15,%xmm12,%xmm12
3823	vpxor	%xmm14,%xmm11,%xmm6
3824	vmovdqa	%xmm2,0-128(%rax)
3825	vpaddd	%xmm2,%xmm12,%xmm12
3826	vpxor	144-128(%rax),%xmm3,%xmm3
3827	vpsrld	$27,%xmm13,%xmm9
3828	vpxor	%xmm10,%xmm6,%xmm6
3829	vpxor	%xmm0,%xmm3,%xmm3
3830
3831	vpslld	$30,%xmm14,%xmm7
3832	vpor	%xmm9,%xmm8,%xmm8
3833	vpaddd	%xmm6,%xmm12,%xmm12
3834	vpsrld	$31,%xmm3,%xmm5
3835	vpaddd	%xmm3,%xmm3,%xmm3
3836
3837	vpsrld	$2,%xmm14,%xmm14
3838	vpaddd	%xmm8,%xmm12,%xmm12
3839	vpor	%xmm5,%xmm3,%xmm3
3840	vpor	%xmm7,%xmm14,%xmm14
3841	vpxor	%xmm1,%xmm4,%xmm4
3842	vmovdqa	64-128(%rax),%xmm1
3843
3844	vpslld	$5,%xmm12,%xmm8
3845	vpaddd	%xmm15,%xmm11,%xmm11
3846	vpxor	%xmm13,%xmm10,%xmm6
3847	vmovdqa	%xmm3,16-128(%rax)
3848	vpaddd	%xmm3,%xmm11,%xmm11
3849	vpxor	160-128(%rax),%xmm4,%xmm4
3850	vpsrld	$27,%xmm12,%xmm9
3851	vpxor	%xmm14,%xmm6,%xmm6
3852	vpxor	%xmm1,%xmm4,%xmm4
3853
3854	vpslld	$30,%xmm13,%xmm7
3855	vpor	%xmm9,%xmm8,%xmm8
3856	vpaddd	%xmm6,%xmm11,%xmm11
3857	vpsrld	$31,%xmm4,%xmm5
3858	vpaddd	%xmm4,%xmm4,%xmm4
3859
3860	vpsrld	$2,%xmm13,%xmm13
3861	vpaddd	%xmm8,%xmm11,%xmm11
3862	vpor	%xmm5,%xmm4,%xmm4
3863	vpor	%xmm7,%xmm13,%xmm13
3864	vpxor	%xmm2,%xmm0,%xmm0
3865	vmovdqa	80-128(%rax),%xmm2
3866
3867	vpslld	$5,%xmm11,%xmm8
3868	vpaddd	%xmm15,%xmm10,%xmm10
3869	vpxor	%xmm12,%xmm14,%xmm6
3870	vmovdqa	%xmm4,32-128(%rax)
3871	vpaddd	%xmm4,%xmm10,%xmm10
3872	vpxor	176-128(%rax),%xmm0,%xmm0
3873	vpsrld	$27,%xmm11,%xmm9
3874	vpxor	%xmm13,%xmm6,%xmm6
3875	vpxor	%xmm2,%xmm0,%xmm0
3876
3877	vpslld	$30,%xmm12,%xmm7
3878	vpor	%xmm9,%xmm8,%xmm8
3879	vpaddd	%xmm6,%xmm10,%xmm10
3880	vpsrld	$31,%xmm0,%xmm5
3881	vpaddd	%xmm0,%xmm0,%xmm0
3882
3883	vpsrld	$2,%xmm12,%xmm12
3884	vpaddd	%xmm8,%xmm10,%xmm10
3885	vpor	%xmm5,%xmm0,%xmm0
3886	vpor	%xmm7,%xmm12,%xmm12
3887	vpxor	%xmm3,%xmm1,%xmm1
3888	vmovdqa	96-128(%rax),%xmm3
3889
3890	vpslld	$5,%xmm10,%xmm8
3891	vpaddd	%xmm15,%xmm14,%xmm14
3892	vpxor	%xmm11,%xmm13,%xmm6
3893	vmovdqa	%xmm0,48-128(%rax)
3894	vpaddd	%xmm0,%xmm14,%xmm14
3895	vpxor	192-128(%rax),%xmm1,%xmm1
3896	vpsrld	$27,%xmm10,%xmm9
3897	vpxor	%xmm12,%xmm6,%xmm6
3898	vpxor	%xmm3,%xmm1,%xmm1
3899
3900	vpslld	$30,%xmm11,%xmm7
3901	vpor	%xmm9,%xmm8,%xmm8
3902	vpaddd	%xmm6,%xmm14,%xmm14
3903	vpsrld	$31,%xmm1,%xmm5
3904	vpaddd	%xmm1,%xmm1,%xmm1
3905
3906	vpsrld	$2,%xmm11,%xmm11
3907	vpaddd	%xmm8,%xmm14,%xmm14
3908	vpor	%xmm5,%xmm1,%xmm1
3909	vpor	%xmm7,%xmm11,%xmm11
3910	vpxor	%xmm4,%xmm2,%xmm2
3911	vmovdqa	112-128(%rax),%xmm4
3912
3913	vpslld	$5,%xmm14,%xmm8
3914	vpaddd	%xmm15,%xmm13,%xmm13
3915	vpxor	%xmm10,%xmm12,%xmm6
3916	vmovdqa	%xmm1,64-128(%rax)
3917	vpaddd	%xmm1,%xmm13,%xmm13
3918	vpxor	208-128(%rax),%xmm2,%xmm2
3919	vpsrld	$27,%xmm14,%xmm9
3920	vpxor	%xmm11,%xmm6,%xmm6
3921	vpxor	%xmm4,%xmm2,%xmm2
3922
3923	vpslld	$30,%xmm10,%xmm7
3924	vpor	%xmm9,%xmm8,%xmm8
3925	vpaddd	%xmm6,%xmm13,%xmm13
3926	vpsrld	$31,%xmm2,%xmm5
3927	vpaddd	%xmm2,%xmm2,%xmm2
3928
3929	vpsrld	$2,%xmm10,%xmm10
3930	vpaddd	%xmm8,%xmm13,%xmm13
3931	vpor	%xmm5,%xmm2,%xmm2
3932	vpor	%xmm7,%xmm10,%xmm10
3933	vpxor	%xmm0,%xmm3,%xmm3
3934	vmovdqa	128-128(%rax),%xmm0
3935
3936	vpslld	$5,%xmm13,%xmm8
3937	vpaddd	%xmm15,%xmm12,%xmm12
3938	vpxor	%xmm14,%xmm11,%xmm6
3939	vmovdqa	%xmm2,80-128(%rax)
3940	vpaddd	%xmm2,%xmm12,%xmm12
3941	vpxor	224-128(%rax),%xmm3,%xmm3
3942	vpsrld	$27,%xmm13,%xmm9
3943	vpxor	%xmm10,%xmm6,%xmm6
3944	vpxor	%xmm0,%xmm3,%xmm3
3945
3946	vpslld	$30,%xmm14,%xmm7
3947	vpor	%xmm9,%xmm8,%xmm8
3948	vpaddd	%xmm6,%xmm12,%xmm12
3949	vpsrld	$31,%xmm3,%xmm5
3950	vpaddd	%xmm3,%xmm3,%xmm3
3951
3952	vpsrld	$2,%xmm14,%xmm14
3953	vpaddd	%xmm8,%xmm12,%xmm12
3954	vpor	%xmm5,%xmm3,%xmm3
3955	vpor	%xmm7,%xmm14,%xmm14
3956	vpxor	%xmm1,%xmm4,%xmm4
3957	vmovdqa	144-128(%rax),%xmm1
3958
3959	vpslld	$5,%xmm12,%xmm8
3960	vpaddd	%xmm15,%xmm11,%xmm11
3961	vpxor	%xmm13,%xmm10,%xmm6
3962	vmovdqa	%xmm3,96-128(%rax)
3963	vpaddd	%xmm3,%xmm11,%xmm11
3964	vpxor	240-128(%rax),%xmm4,%xmm4
3965	vpsrld	$27,%xmm12,%xmm9
3966	vpxor	%xmm14,%xmm6,%xmm6
3967	vpxor	%xmm1,%xmm4,%xmm4
3968
3969	vpslld	$30,%xmm13,%xmm7
3970	vpor	%xmm9,%xmm8,%xmm8
3971	vpaddd	%xmm6,%xmm11,%xmm11
3972	vpsrld	$31,%xmm4,%xmm5
3973	vpaddd	%xmm4,%xmm4,%xmm4
3974
3975	vpsrld	$2,%xmm13,%xmm13
3976	vpaddd	%xmm8,%xmm11,%xmm11
3977	vpor	%xmm5,%xmm4,%xmm4
3978	vpor	%xmm7,%xmm13,%xmm13
3979	vpxor	%xmm2,%xmm0,%xmm0
3980	vmovdqa	160-128(%rax),%xmm2
3981
3982	vpslld	$5,%xmm11,%xmm8
3983	vpaddd	%xmm15,%xmm10,%xmm10
3984	vpxor	%xmm12,%xmm14,%xmm6
3985	vmovdqa	%xmm4,112-128(%rax)
3986	vpaddd	%xmm4,%xmm10,%xmm10
3987	vpxor	0-128(%rax),%xmm0,%xmm0
3988	vpsrld	$27,%xmm11,%xmm9
3989	vpxor	%xmm13,%xmm6,%xmm6
3990	vpxor	%xmm2,%xmm0,%xmm0
3991
3992	vpslld	$30,%xmm12,%xmm7
3993	vpor	%xmm9,%xmm8,%xmm8
3994	vpaddd	%xmm6,%xmm10,%xmm10
3995	vpsrld	$31,%xmm0,%xmm5
3996	vpaddd	%xmm0,%xmm0,%xmm0
3997
3998	vpsrld	$2,%xmm12,%xmm12
3999	vpaddd	%xmm8,%xmm10,%xmm10
4000	vpor	%xmm5,%xmm0,%xmm0
4001	vpor	%xmm7,%xmm12,%xmm12
4002	vmovdqa	32(%rbp),%xmm15
4003	vpxor	%xmm3,%xmm1,%xmm1
4004	vmovdqa	176-128(%rax),%xmm3
4005
4006	vpaddd	%xmm15,%xmm14,%xmm14
4007	vpslld	$5,%xmm10,%xmm8
4008	vpand	%xmm12,%xmm13,%xmm7
4009	vpxor	16-128(%rax),%xmm1,%xmm1
4010
4011	vpaddd	%xmm7,%xmm14,%xmm14
4012	vpsrld	$27,%xmm10,%xmm9
4013	vpxor	%xmm12,%xmm13,%xmm6
4014	vpxor	%xmm3,%xmm1,%xmm1
4015
4016	vmovdqu	%xmm0,128-128(%rax)
4017	vpaddd	%xmm0,%xmm14,%xmm14
4018	vpor	%xmm9,%xmm8,%xmm8
4019	vpsrld	$31,%xmm1,%xmm5
4020	vpand	%xmm11,%xmm6,%xmm6
4021	vpaddd	%xmm1,%xmm1,%xmm1
4022
4023	vpslld	$30,%xmm11,%xmm7
4024	vpaddd	%xmm6,%xmm14,%xmm14
4025
4026	vpsrld	$2,%xmm11,%xmm11
4027	vpaddd	%xmm8,%xmm14,%xmm14
4028	vpor	%xmm5,%xmm1,%xmm1
4029	vpor	%xmm7,%xmm11,%xmm11
4030	vpxor	%xmm4,%xmm2,%xmm2
4031	vmovdqa	192-128(%rax),%xmm4
4032
4033	vpaddd	%xmm15,%xmm13,%xmm13
4034	vpslld	$5,%xmm14,%xmm8
4035	vpand	%xmm11,%xmm12,%xmm7
4036	vpxor	32-128(%rax),%xmm2,%xmm2
4037
4038	vpaddd	%xmm7,%xmm13,%xmm13
4039	vpsrld	$27,%xmm14,%xmm9
4040	vpxor	%xmm11,%xmm12,%xmm6
4041	vpxor	%xmm4,%xmm2,%xmm2
4042
4043	vmovdqu	%xmm1,144-128(%rax)
4044	vpaddd	%xmm1,%xmm13,%xmm13
4045	vpor	%xmm9,%xmm8,%xmm8
4046	vpsrld	$31,%xmm2,%xmm5
4047	vpand	%xmm10,%xmm6,%xmm6
4048	vpaddd	%xmm2,%xmm2,%xmm2
4049
4050	vpslld	$30,%xmm10,%xmm7
4051	vpaddd	%xmm6,%xmm13,%xmm13
4052
4053	vpsrld	$2,%xmm10,%xmm10
4054	vpaddd	%xmm8,%xmm13,%xmm13
4055	vpor	%xmm5,%xmm2,%xmm2
4056	vpor	%xmm7,%xmm10,%xmm10
4057	vpxor	%xmm0,%xmm3,%xmm3
4058	vmovdqa	208-128(%rax),%xmm0
4059
4060	vpaddd	%xmm15,%xmm12,%xmm12
4061	vpslld	$5,%xmm13,%xmm8
4062	vpand	%xmm10,%xmm11,%xmm7
4063	vpxor	48-128(%rax),%xmm3,%xmm3
4064
4065	vpaddd	%xmm7,%xmm12,%xmm12
4066	vpsrld	$27,%xmm13,%xmm9
4067	vpxor	%xmm10,%xmm11,%xmm6
4068	vpxor	%xmm0,%xmm3,%xmm3
4069
4070	vmovdqu	%xmm2,160-128(%rax)
4071	vpaddd	%xmm2,%xmm12,%xmm12
4072	vpor	%xmm9,%xmm8,%xmm8
4073	vpsrld	$31,%xmm3,%xmm5
4074	vpand	%xmm14,%xmm6,%xmm6
4075	vpaddd	%xmm3,%xmm3,%xmm3
4076
4077	vpslld	$30,%xmm14,%xmm7
4078	vpaddd	%xmm6,%xmm12,%xmm12
4079
4080	vpsrld	$2,%xmm14,%xmm14
4081	vpaddd	%xmm8,%xmm12,%xmm12
4082	vpor	%xmm5,%xmm3,%xmm3
4083	vpor	%xmm7,%xmm14,%xmm14
4084	vpxor	%xmm1,%xmm4,%xmm4
4085	vmovdqa	224-128(%rax),%xmm1
4086
4087	vpaddd	%xmm15,%xmm11,%xmm11
4088	vpslld	$5,%xmm12,%xmm8
4089	vpand	%xmm14,%xmm10,%xmm7
4090	vpxor	64-128(%rax),%xmm4,%xmm4
4091
4092	vpaddd	%xmm7,%xmm11,%xmm11
4093	vpsrld	$27,%xmm12,%xmm9
4094	vpxor	%xmm14,%xmm10,%xmm6
4095	vpxor	%xmm1,%xmm4,%xmm4
4096
4097	vmovdqu	%xmm3,176-128(%rax)
4098	vpaddd	%xmm3,%xmm11,%xmm11
4099	vpor	%xmm9,%xmm8,%xmm8
4100	vpsrld	$31,%xmm4,%xmm5
4101	vpand	%xmm13,%xmm6,%xmm6
4102	vpaddd	%xmm4,%xmm4,%xmm4
4103
4104	vpslld	$30,%xmm13,%xmm7
4105	vpaddd	%xmm6,%xmm11,%xmm11
4106
4107	vpsrld	$2,%xmm13,%xmm13
4108	vpaddd	%xmm8,%xmm11,%xmm11
4109	vpor	%xmm5,%xmm4,%xmm4
4110	vpor	%xmm7,%xmm13,%xmm13
4111	vpxor	%xmm2,%xmm0,%xmm0
4112	vmovdqa	240-128(%rax),%xmm2
4113
4114	vpaddd	%xmm15,%xmm10,%xmm10
4115	vpslld	$5,%xmm11,%xmm8
4116	vpand	%xmm13,%xmm14,%xmm7
4117	vpxor	80-128(%rax),%xmm0,%xmm0
4118
4119	vpaddd	%xmm7,%xmm10,%xmm10
4120	vpsrld	$27,%xmm11,%xmm9
4121	vpxor	%xmm13,%xmm14,%xmm6
4122	vpxor	%xmm2,%xmm0,%xmm0
4123
4124	vmovdqu	%xmm4,192-128(%rax)
4125	vpaddd	%xmm4,%xmm10,%xmm10
4126	vpor	%xmm9,%xmm8,%xmm8
4127	vpsrld	$31,%xmm0,%xmm5
4128	vpand	%xmm12,%xmm6,%xmm6
4129	vpaddd	%xmm0,%xmm0,%xmm0
4130
4131	vpslld	$30,%xmm12,%xmm7
4132	vpaddd	%xmm6,%xmm10,%xmm10
4133
4134	vpsrld	$2,%xmm12,%xmm12
4135	vpaddd	%xmm8,%xmm10,%xmm10
4136	vpor	%xmm5,%xmm0,%xmm0
4137	vpor	%xmm7,%xmm12,%xmm12
4138	vpxor	%xmm3,%xmm1,%xmm1
4139	vmovdqa	0-128(%rax),%xmm3
4140
4141	vpaddd	%xmm15,%xmm14,%xmm14
4142	vpslld	$5,%xmm10,%xmm8
4143	vpand	%xmm12,%xmm13,%xmm7
4144	vpxor	96-128(%rax),%xmm1,%xmm1
4145
4146	vpaddd	%xmm7,%xmm14,%xmm14
4147	vpsrld	$27,%xmm10,%xmm9
4148	vpxor	%xmm12,%xmm13,%xmm6
4149	vpxor	%xmm3,%xmm1,%xmm1
4150
4151	vmovdqu	%xmm0,208-128(%rax)
4152	vpaddd	%xmm0,%xmm14,%xmm14
4153	vpor	%xmm9,%xmm8,%xmm8
4154	vpsrld	$31,%xmm1,%xmm5
4155	vpand	%xmm11,%xmm6,%xmm6
4156	vpaddd	%xmm1,%xmm1,%xmm1
4157
4158	vpslld	$30,%xmm11,%xmm7
4159	vpaddd	%xmm6,%xmm14,%xmm14
4160
4161	vpsrld	$2,%xmm11,%xmm11
4162	vpaddd	%xmm8,%xmm14,%xmm14
4163	vpor	%xmm5,%xmm1,%xmm1
4164	vpor	%xmm7,%xmm11,%xmm11
4165	vpxor	%xmm4,%xmm2,%xmm2
4166	vmovdqa	16-128(%rax),%xmm4
4167
4168	vpaddd	%xmm15,%xmm13,%xmm13
4169	vpslld	$5,%xmm14,%xmm8
4170	vpand	%xmm11,%xmm12,%xmm7
4171	vpxor	112-128(%rax),%xmm2,%xmm2
4172
4173	vpaddd	%xmm7,%xmm13,%xmm13
4174	vpsrld	$27,%xmm14,%xmm9
4175	vpxor	%xmm11,%xmm12,%xmm6
4176	vpxor	%xmm4,%xmm2,%xmm2
4177
4178	vmovdqu	%xmm1,224-128(%rax)
4179	vpaddd	%xmm1,%xmm13,%xmm13
4180	vpor	%xmm9,%xmm8,%xmm8
4181	vpsrld	$31,%xmm2,%xmm5
4182	vpand	%xmm10,%xmm6,%xmm6
4183	vpaddd	%xmm2,%xmm2,%xmm2
4184
4185	vpslld	$30,%xmm10,%xmm7
4186	vpaddd	%xmm6,%xmm13,%xmm13
4187
4188	vpsrld	$2,%xmm10,%xmm10
4189	vpaddd	%xmm8,%xmm13,%xmm13
4190	vpor	%xmm5,%xmm2,%xmm2
4191	vpor	%xmm7,%xmm10,%xmm10
4192	vpxor	%xmm0,%xmm3,%xmm3
4193	vmovdqa	32-128(%rax),%xmm0
4194
4195	vpaddd	%xmm15,%xmm12,%xmm12
4196	vpslld	$5,%xmm13,%xmm8
4197	vpand	%xmm10,%xmm11,%xmm7
4198	vpxor	128-128(%rax),%xmm3,%xmm3
4199
4200	vpaddd	%xmm7,%xmm12,%xmm12
4201	vpsrld	$27,%xmm13,%xmm9
4202	vpxor	%xmm10,%xmm11,%xmm6
4203	vpxor	%xmm0,%xmm3,%xmm3
4204
4205	vmovdqu	%xmm2,240-128(%rax)
4206	vpaddd	%xmm2,%xmm12,%xmm12
4207	vpor	%xmm9,%xmm8,%xmm8
4208	vpsrld	$31,%xmm3,%xmm5
4209	vpand	%xmm14,%xmm6,%xmm6
4210	vpaddd	%xmm3,%xmm3,%xmm3
4211
4212	vpslld	$30,%xmm14,%xmm7
4213	vpaddd	%xmm6,%xmm12,%xmm12
4214
4215	vpsrld	$2,%xmm14,%xmm14
4216	vpaddd	%xmm8,%xmm12,%xmm12
4217	vpor	%xmm5,%xmm3,%xmm3
4218	vpor	%xmm7,%xmm14,%xmm14
4219	vpxor	%xmm1,%xmm4,%xmm4
4220	vmovdqa	48-128(%rax),%xmm1
4221
4222	vpaddd	%xmm15,%xmm11,%xmm11
4223	vpslld	$5,%xmm12,%xmm8
4224	vpand	%xmm14,%xmm10,%xmm7
4225	vpxor	144-128(%rax),%xmm4,%xmm4
4226
4227	vpaddd	%xmm7,%xmm11,%xmm11
4228	vpsrld	$27,%xmm12,%xmm9
4229	vpxor	%xmm14,%xmm10,%xmm6
4230	vpxor	%xmm1,%xmm4,%xmm4
4231
4232	vmovdqu	%xmm3,0-128(%rax)
4233	vpaddd	%xmm3,%xmm11,%xmm11
4234	vpor	%xmm9,%xmm8,%xmm8
4235	vpsrld	$31,%xmm4,%xmm5
4236	vpand	%xmm13,%xmm6,%xmm6
4237	vpaddd	%xmm4,%xmm4,%xmm4
4238
4239	vpslld	$30,%xmm13,%xmm7
4240	vpaddd	%xmm6,%xmm11,%xmm11
4241
4242	vpsrld	$2,%xmm13,%xmm13
4243	vpaddd	%xmm8,%xmm11,%xmm11
4244	vpor	%xmm5,%xmm4,%xmm4
4245	vpor	%xmm7,%xmm13,%xmm13
4246	vpxor	%xmm2,%xmm0,%xmm0
4247	vmovdqa	64-128(%rax),%xmm2
4248
4249	vpaddd	%xmm15,%xmm10,%xmm10
4250	vpslld	$5,%xmm11,%xmm8
4251	vpand	%xmm13,%xmm14,%xmm7
4252	vpxor	160-128(%rax),%xmm0,%xmm0
4253
4254	vpaddd	%xmm7,%xmm10,%xmm10
4255	vpsrld	$27,%xmm11,%xmm9
4256	vpxor	%xmm13,%xmm14,%xmm6
4257	vpxor	%xmm2,%xmm0,%xmm0
4258
4259	vmovdqu	%xmm4,16-128(%rax)
4260	vpaddd	%xmm4,%xmm10,%xmm10
4261	vpor	%xmm9,%xmm8,%xmm8
4262	vpsrld	$31,%xmm0,%xmm5
4263	vpand	%xmm12,%xmm6,%xmm6
4264	vpaddd	%xmm0,%xmm0,%xmm0
4265
4266	vpslld	$30,%xmm12,%xmm7
4267	vpaddd	%xmm6,%xmm10,%xmm10
4268
4269	vpsrld	$2,%xmm12,%xmm12
4270	vpaddd	%xmm8,%xmm10,%xmm10
4271	vpor	%xmm5,%xmm0,%xmm0
4272	vpor	%xmm7,%xmm12,%xmm12
4273	vpxor	%xmm3,%xmm1,%xmm1
4274	vmovdqa	80-128(%rax),%xmm3
4275
4276	vpaddd	%xmm15,%xmm14,%xmm14
4277	vpslld	$5,%xmm10,%xmm8
4278	vpand	%xmm12,%xmm13,%xmm7
4279	vpxor	176-128(%rax),%xmm1,%xmm1
4280
4281	vpaddd	%xmm7,%xmm14,%xmm14
4282	vpsrld	$27,%xmm10,%xmm9
4283	vpxor	%xmm12,%xmm13,%xmm6
4284	vpxor	%xmm3,%xmm1,%xmm1
4285
4286	vmovdqu	%xmm0,32-128(%rax)
4287	vpaddd	%xmm0,%xmm14,%xmm14
4288	vpor	%xmm9,%xmm8,%xmm8
4289	vpsrld	$31,%xmm1,%xmm5
4290	vpand	%xmm11,%xmm6,%xmm6
4291	vpaddd	%xmm1,%xmm1,%xmm1
4292
4293	vpslld	$30,%xmm11,%xmm7
4294	vpaddd	%xmm6,%xmm14,%xmm14
4295
4296	vpsrld	$2,%xmm11,%xmm11
4297	vpaddd	%xmm8,%xmm14,%xmm14
4298	vpor	%xmm5,%xmm1,%xmm1
4299	vpor	%xmm7,%xmm11,%xmm11
4300	vpxor	%xmm4,%xmm2,%xmm2
4301	vmovdqa	96-128(%rax),%xmm4
4302
4303	vpaddd	%xmm15,%xmm13,%xmm13
4304	vpslld	$5,%xmm14,%xmm8
4305	vpand	%xmm11,%xmm12,%xmm7
4306	vpxor	192-128(%rax),%xmm2,%xmm2
4307
4308	vpaddd	%xmm7,%xmm13,%xmm13
4309	vpsrld	$27,%xmm14,%xmm9
4310	vpxor	%xmm11,%xmm12,%xmm6
4311	vpxor	%xmm4,%xmm2,%xmm2
4312
4313	vmovdqu	%xmm1,48-128(%rax)
4314	vpaddd	%xmm1,%xmm13,%xmm13
4315	vpor	%xmm9,%xmm8,%xmm8
4316	vpsrld	$31,%xmm2,%xmm5
4317	vpand	%xmm10,%xmm6,%xmm6
4318	vpaddd	%xmm2,%xmm2,%xmm2
4319
4320	vpslld	$30,%xmm10,%xmm7
4321	vpaddd	%xmm6,%xmm13,%xmm13
4322
4323	vpsrld	$2,%xmm10,%xmm10
4324	vpaddd	%xmm8,%xmm13,%xmm13
4325	vpor	%xmm5,%xmm2,%xmm2
4326	vpor	%xmm7,%xmm10,%xmm10
4327	vpxor	%xmm0,%xmm3,%xmm3
4328	vmovdqa	112-128(%rax),%xmm0
4329
4330	vpaddd	%xmm15,%xmm12,%xmm12
4331	vpslld	$5,%xmm13,%xmm8
4332	vpand	%xmm10,%xmm11,%xmm7
4333	vpxor	208-128(%rax),%xmm3,%xmm3
4334
4335	vpaddd	%xmm7,%xmm12,%xmm12
4336	vpsrld	$27,%xmm13,%xmm9
4337	vpxor	%xmm10,%xmm11,%xmm6
4338	vpxor	%xmm0,%xmm3,%xmm3
4339
4340	vmovdqu	%xmm2,64-128(%rax)
4341	vpaddd	%xmm2,%xmm12,%xmm12
4342	vpor	%xmm9,%xmm8,%xmm8
4343	vpsrld	$31,%xmm3,%xmm5
4344	vpand	%xmm14,%xmm6,%xmm6
4345	vpaddd	%xmm3,%xmm3,%xmm3
4346
4347	vpslld	$30,%xmm14,%xmm7
4348	vpaddd	%xmm6,%xmm12,%xmm12
4349
4350	vpsrld	$2,%xmm14,%xmm14
4351	vpaddd	%xmm8,%xmm12,%xmm12
4352	vpor	%xmm5,%xmm3,%xmm3
4353	vpor	%xmm7,%xmm14,%xmm14
4354	vpxor	%xmm1,%xmm4,%xmm4
4355	vmovdqa	128-128(%rax),%xmm1
4356
4357	vpaddd	%xmm15,%xmm11,%xmm11
4358	vpslld	$5,%xmm12,%xmm8
4359	vpand	%xmm14,%xmm10,%xmm7
4360	vpxor	224-128(%rax),%xmm4,%xmm4
4361
4362	vpaddd	%xmm7,%xmm11,%xmm11
4363	vpsrld	$27,%xmm12,%xmm9
4364	vpxor	%xmm14,%xmm10,%xmm6
4365	vpxor	%xmm1,%xmm4,%xmm4
4366
4367	vmovdqu	%xmm3,80-128(%rax)
4368	vpaddd	%xmm3,%xmm11,%xmm11
4369	vpor	%xmm9,%xmm8,%xmm8
4370	vpsrld	$31,%xmm4,%xmm5
4371	vpand	%xmm13,%xmm6,%xmm6
4372	vpaddd	%xmm4,%xmm4,%xmm4
4373
4374	vpslld	$30,%xmm13,%xmm7
4375	vpaddd	%xmm6,%xmm11,%xmm11
4376
4377	vpsrld	$2,%xmm13,%xmm13
4378	vpaddd	%xmm8,%xmm11,%xmm11
4379	vpor	%xmm5,%xmm4,%xmm4
4380	vpor	%xmm7,%xmm13,%xmm13
4381	vpxor	%xmm2,%xmm0,%xmm0
4382	vmovdqa	144-128(%rax),%xmm2
4383
4384	vpaddd	%xmm15,%xmm10,%xmm10
4385	vpslld	$5,%xmm11,%xmm8
4386	vpand	%xmm13,%xmm14,%xmm7
4387	vpxor	240-128(%rax),%xmm0,%xmm0
4388
4389	vpaddd	%xmm7,%xmm10,%xmm10
4390	vpsrld	$27,%xmm11,%xmm9
4391	vpxor	%xmm13,%xmm14,%xmm6
4392	vpxor	%xmm2,%xmm0,%xmm0
4393
4394	vmovdqu	%xmm4,96-128(%rax)
4395	vpaddd	%xmm4,%xmm10,%xmm10
4396	vpor	%xmm9,%xmm8,%xmm8
4397	vpsrld	$31,%xmm0,%xmm5
4398	vpand	%xmm12,%xmm6,%xmm6
4399	vpaddd	%xmm0,%xmm0,%xmm0
4400
4401	vpslld	$30,%xmm12,%xmm7
4402	vpaddd	%xmm6,%xmm10,%xmm10
4403
4404	vpsrld	$2,%xmm12,%xmm12
4405	vpaddd	%xmm8,%xmm10,%xmm10
4406	vpor	%xmm5,%xmm0,%xmm0
4407	vpor	%xmm7,%xmm12,%xmm12
4408	vpxor	%xmm3,%xmm1,%xmm1
4409	vmovdqa	160-128(%rax),%xmm3
4410
4411	vpaddd	%xmm15,%xmm14,%xmm14
4412	vpslld	$5,%xmm10,%xmm8
4413	vpand	%xmm12,%xmm13,%xmm7
4414	vpxor	0-128(%rax),%xmm1,%xmm1
4415
4416	vpaddd	%xmm7,%xmm14,%xmm14
4417	vpsrld	$27,%xmm10,%xmm9
4418	vpxor	%xmm12,%xmm13,%xmm6
4419	vpxor	%xmm3,%xmm1,%xmm1
4420
4421	vmovdqu	%xmm0,112-128(%rax)
4422	vpaddd	%xmm0,%xmm14,%xmm14
4423	vpor	%xmm9,%xmm8,%xmm8
4424	vpsrld	$31,%xmm1,%xmm5
4425	vpand	%xmm11,%xmm6,%xmm6
4426	vpaddd	%xmm1,%xmm1,%xmm1
4427
4428	vpslld	$30,%xmm11,%xmm7
4429	vpaddd	%xmm6,%xmm14,%xmm14
4430
4431	vpsrld	$2,%xmm11,%xmm11
4432	vpaddd	%xmm8,%xmm14,%xmm14
4433	vpor	%xmm5,%xmm1,%xmm1
4434	vpor	%xmm7,%xmm11,%xmm11
4435	vpxor	%xmm4,%xmm2,%xmm2
4436	vmovdqa	176-128(%rax),%xmm4
4437
4438	vpaddd	%xmm15,%xmm13,%xmm13
4439	vpslld	$5,%xmm14,%xmm8
4440	vpand	%xmm11,%xmm12,%xmm7
4441	vpxor	16-128(%rax),%xmm2,%xmm2
4442
4443	vpaddd	%xmm7,%xmm13,%xmm13
4444	vpsrld	$27,%xmm14,%xmm9
4445	vpxor	%xmm11,%xmm12,%xmm6
4446	vpxor	%xmm4,%xmm2,%xmm2
4447
4448	vmovdqu	%xmm1,128-128(%rax)
4449	vpaddd	%xmm1,%xmm13,%xmm13
4450	vpor	%xmm9,%xmm8,%xmm8
4451	vpsrld	$31,%xmm2,%xmm5
4452	vpand	%xmm10,%xmm6,%xmm6
4453	vpaddd	%xmm2,%xmm2,%xmm2
4454
4455	vpslld	$30,%xmm10,%xmm7
4456	vpaddd	%xmm6,%xmm13,%xmm13
4457
4458	vpsrld	$2,%xmm10,%xmm10
4459	vpaddd	%xmm8,%xmm13,%xmm13
4460	vpor	%xmm5,%xmm2,%xmm2
4461	vpor	%xmm7,%xmm10,%xmm10
4462	vpxor	%xmm0,%xmm3,%xmm3
4463	vmovdqa	192-128(%rax),%xmm0
4464
4465	vpaddd	%xmm15,%xmm12,%xmm12
4466	vpslld	$5,%xmm13,%xmm8
4467	vpand	%xmm10,%xmm11,%xmm7
4468	vpxor	32-128(%rax),%xmm3,%xmm3
4469
4470	vpaddd	%xmm7,%xmm12,%xmm12
4471	vpsrld	$27,%xmm13,%xmm9
4472	vpxor	%xmm10,%xmm11,%xmm6
4473	vpxor	%xmm0,%xmm3,%xmm3
4474
4475	vmovdqu	%xmm2,144-128(%rax)
4476	vpaddd	%xmm2,%xmm12,%xmm12
4477	vpor	%xmm9,%xmm8,%xmm8
4478	vpsrld	$31,%xmm3,%xmm5
4479	vpand	%xmm14,%xmm6,%xmm6
4480	vpaddd	%xmm3,%xmm3,%xmm3
4481
4482	vpslld	$30,%xmm14,%xmm7
4483	vpaddd	%xmm6,%xmm12,%xmm12
4484
4485	vpsrld	$2,%xmm14,%xmm14
4486	vpaddd	%xmm8,%xmm12,%xmm12
4487	vpor	%xmm5,%xmm3,%xmm3
4488	vpor	%xmm7,%xmm14,%xmm14
4489	vpxor	%xmm1,%xmm4,%xmm4
4490	vmovdqa	208-128(%rax),%xmm1
4491
4492	vpaddd	%xmm15,%xmm11,%xmm11
4493	vpslld	$5,%xmm12,%xmm8
4494	vpand	%xmm14,%xmm10,%xmm7
4495	vpxor	48-128(%rax),%xmm4,%xmm4
4496
4497	vpaddd	%xmm7,%xmm11,%xmm11
4498	vpsrld	$27,%xmm12,%xmm9
4499	vpxor	%xmm14,%xmm10,%xmm6
4500	vpxor	%xmm1,%xmm4,%xmm4
4501
4502	vmovdqu	%xmm3,160-128(%rax)
4503	vpaddd	%xmm3,%xmm11,%xmm11
4504	vpor	%xmm9,%xmm8,%xmm8
4505	vpsrld	$31,%xmm4,%xmm5
4506	vpand	%xmm13,%xmm6,%xmm6
4507	vpaddd	%xmm4,%xmm4,%xmm4
4508
4509	vpslld	$30,%xmm13,%xmm7
4510	vpaddd	%xmm6,%xmm11,%xmm11
4511
4512	vpsrld	$2,%xmm13,%xmm13
4513	vpaddd	%xmm8,%xmm11,%xmm11
4514	vpor	%xmm5,%xmm4,%xmm4
4515	vpor	%xmm7,%xmm13,%xmm13
4516	vpxor	%xmm2,%xmm0,%xmm0
4517	vmovdqa	224-128(%rax),%xmm2
4518
4519	vpaddd	%xmm15,%xmm10,%xmm10
4520	vpslld	$5,%xmm11,%xmm8
4521	vpand	%xmm13,%xmm14,%xmm7
4522	vpxor	64-128(%rax),%xmm0,%xmm0
4523
4524	vpaddd	%xmm7,%xmm10,%xmm10
4525	vpsrld	$27,%xmm11,%xmm9
4526	vpxor	%xmm13,%xmm14,%xmm6
4527	vpxor	%xmm2,%xmm0,%xmm0
4528
4529	vmovdqu	%xmm4,176-128(%rax)
4530	vpaddd	%xmm4,%xmm10,%xmm10
4531	vpor	%xmm9,%xmm8,%xmm8
4532	vpsrld	$31,%xmm0,%xmm5
4533	vpand	%xmm12,%xmm6,%xmm6
4534	vpaddd	%xmm0,%xmm0,%xmm0
4535
4536	vpslld	$30,%xmm12,%xmm7
4537	vpaddd	%xmm6,%xmm10,%xmm10
4538
4539	vpsrld	$2,%xmm12,%xmm12
4540	vpaddd	%xmm8,%xmm10,%xmm10
4541	vpor	%xmm5,%xmm0,%xmm0
4542	vpor	%xmm7,%xmm12,%xmm12
4543	vmovdqa	64(%rbp),%xmm15
4544	vpxor	%xmm3,%xmm1,%xmm1
4545	vmovdqa	240-128(%rax),%xmm3
4546
4547	vpslld	$5,%xmm10,%xmm8
4548	vpaddd	%xmm15,%xmm14,%xmm14
4549	vpxor	%xmm11,%xmm13,%xmm6
4550	vmovdqa	%xmm0,192-128(%rax)
4551	vpaddd	%xmm0,%xmm14,%xmm14
4552	vpxor	80-128(%rax),%xmm1,%xmm1
4553	vpsrld	$27,%xmm10,%xmm9
4554	vpxor	%xmm12,%xmm6,%xmm6
4555	vpxor	%xmm3,%xmm1,%xmm1
4556
4557	vpslld	$30,%xmm11,%xmm7
4558	vpor	%xmm9,%xmm8,%xmm8
4559	vpaddd	%xmm6,%xmm14,%xmm14
4560	vpsrld	$31,%xmm1,%xmm5
4561	vpaddd	%xmm1,%xmm1,%xmm1
4562
4563	vpsrld	$2,%xmm11,%xmm11
4564	vpaddd	%xmm8,%xmm14,%xmm14
4565	vpor	%xmm5,%xmm1,%xmm1
4566	vpor	%xmm7,%xmm11,%xmm11
4567	vpxor	%xmm4,%xmm2,%xmm2
4568	vmovdqa	0-128(%rax),%xmm4
4569
4570	vpslld	$5,%xmm14,%xmm8
4571	vpaddd	%xmm15,%xmm13,%xmm13
4572	vpxor	%xmm10,%xmm12,%xmm6
4573	vmovdqa	%xmm1,208-128(%rax)
4574	vpaddd	%xmm1,%xmm13,%xmm13
4575	vpxor	96-128(%rax),%xmm2,%xmm2
4576	vpsrld	$27,%xmm14,%xmm9
4577	vpxor	%xmm11,%xmm6,%xmm6
4578	vpxor	%xmm4,%xmm2,%xmm2
4579
4580	vpslld	$30,%xmm10,%xmm7
4581	vpor	%xmm9,%xmm8,%xmm8
4582	vpaddd	%xmm6,%xmm13,%xmm13
4583	vpsrld	$31,%xmm2,%xmm5
4584	vpaddd	%xmm2,%xmm2,%xmm2
4585
4586	vpsrld	$2,%xmm10,%xmm10
4587	vpaddd	%xmm8,%xmm13,%xmm13
4588	vpor	%xmm5,%xmm2,%xmm2
4589	vpor	%xmm7,%xmm10,%xmm10
4590	vpxor	%xmm0,%xmm3,%xmm3
4591	vmovdqa	16-128(%rax),%xmm0
4592
4593	vpslld	$5,%xmm13,%xmm8
4594	vpaddd	%xmm15,%xmm12,%xmm12
4595	vpxor	%xmm14,%xmm11,%xmm6
4596	vmovdqa	%xmm2,224-128(%rax)
4597	vpaddd	%xmm2,%xmm12,%xmm12
4598	vpxor	112-128(%rax),%xmm3,%xmm3
4599	vpsrld	$27,%xmm13,%xmm9
4600	vpxor	%xmm10,%xmm6,%xmm6
4601	vpxor	%xmm0,%xmm3,%xmm3
4602
4603	vpslld	$30,%xmm14,%xmm7
4604	vpor	%xmm9,%xmm8,%xmm8
4605	vpaddd	%xmm6,%xmm12,%xmm12
4606	vpsrld	$31,%xmm3,%xmm5
4607	vpaddd	%xmm3,%xmm3,%xmm3
4608
4609	vpsrld	$2,%xmm14,%xmm14
4610	vpaddd	%xmm8,%xmm12,%xmm12
4611	vpor	%xmm5,%xmm3,%xmm3
4612	vpor	%xmm7,%xmm14,%xmm14
4613	vpxor	%xmm1,%xmm4,%xmm4
4614	vmovdqa	32-128(%rax),%xmm1
4615
4616	vpslld	$5,%xmm12,%xmm8
4617	vpaddd	%xmm15,%xmm11,%xmm11
4618	vpxor	%xmm13,%xmm10,%xmm6
4619	vmovdqa	%xmm3,240-128(%rax)
4620	vpaddd	%xmm3,%xmm11,%xmm11
4621	vpxor	128-128(%rax),%xmm4,%xmm4
4622	vpsrld	$27,%xmm12,%xmm9
4623	vpxor	%xmm14,%xmm6,%xmm6
4624	vpxor	%xmm1,%xmm4,%xmm4
4625
4626	vpslld	$30,%xmm13,%xmm7
4627	vpor	%xmm9,%xmm8,%xmm8
4628	vpaddd	%xmm6,%xmm11,%xmm11
4629	vpsrld	$31,%xmm4,%xmm5
4630	vpaddd	%xmm4,%xmm4,%xmm4
4631
4632	vpsrld	$2,%xmm13,%xmm13
4633	vpaddd	%xmm8,%xmm11,%xmm11
4634	vpor	%xmm5,%xmm4,%xmm4
4635	vpor	%xmm7,%xmm13,%xmm13
4636	vpxor	%xmm2,%xmm0,%xmm0
4637	vmovdqa	48-128(%rax),%xmm2
4638
4639	vpslld	$5,%xmm11,%xmm8
4640	vpaddd	%xmm15,%xmm10,%xmm10
4641	vpxor	%xmm12,%xmm14,%xmm6
4642	vmovdqa	%xmm4,0-128(%rax)
4643	vpaddd	%xmm4,%xmm10,%xmm10
4644	vpxor	144-128(%rax),%xmm0,%xmm0
4645	vpsrld	$27,%xmm11,%xmm9
4646	vpxor	%xmm13,%xmm6,%xmm6
4647	vpxor	%xmm2,%xmm0,%xmm0
4648
4649	vpslld	$30,%xmm12,%xmm7
4650	vpor	%xmm9,%xmm8,%xmm8
4651	vpaddd	%xmm6,%xmm10,%xmm10
4652	vpsrld	$31,%xmm0,%xmm5
4653	vpaddd	%xmm0,%xmm0,%xmm0
4654
4655	vpsrld	$2,%xmm12,%xmm12
4656	vpaddd	%xmm8,%xmm10,%xmm10
4657	vpor	%xmm5,%xmm0,%xmm0
4658	vpor	%xmm7,%xmm12,%xmm12
4659	vpxor	%xmm3,%xmm1,%xmm1
4660	vmovdqa	64-128(%rax),%xmm3
4661
4662	vpslld	$5,%xmm10,%xmm8
4663	vpaddd	%xmm15,%xmm14,%xmm14
4664	vpxor	%xmm11,%xmm13,%xmm6
4665	vmovdqa	%xmm0,16-128(%rax)
4666	vpaddd	%xmm0,%xmm14,%xmm14
4667	vpxor	160-128(%rax),%xmm1,%xmm1
4668	vpsrld	$27,%xmm10,%xmm9
4669	vpxor	%xmm12,%xmm6,%xmm6
4670	vpxor	%xmm3,%xmm1,%xmm1
4671
4672	vpslld	$30,%xmm11,%xmm7
4673	vpor	%xmm9,%xmm8,%xmm8
4674	vpaddd	%xmm6,%xmm14,%xmm14
4675	vpsrld	$31,%xmm1,%xmm5
4676	vpaddd	%xmm1,%xmm1,%xmm1
4677
4678	vpsrld	$2,%xmm11,%xmm11
4679	vpaddd	%xmm8,%xmm14,%xmm14
4680	vpor	%xmm5,%xmm1,%xmm1
4681	vpor	%xmm7,%xmm11,%xmm11
4682	vpxor	%xmm4,%xmm2,%xmm2
4683	vmovdqa	80-128(%rax),%xmm4
4684
4685	vpslld	$5,%xmm14,%xmm8
4686	vpaddd	%xmm15,%xmm13,%xmm13
4687	vpxor	%xmm10,%xmm12,%xmm6
4688	vmovdqa	%xmm1,32-128(%rax)
4689	vpaddd	%xmm1,%xmm13,%xmm13
4690	vpxor	176-128(%rax),%xmm2,%xmm2
4691	vpsrld	$27,%xmm14,%xmm9
4692	vpxor	%xmm11,%xmm6,%xmm6
4693	vpxor	%xmm4,%xmm2,%xmm2
4694
4695	vpslld	$30,%xmm10,%xmm7
4696	vpor	%xmm9,%xmm8,%xmm8
4697	vpaddd	%xmm6,%xmm13,%xmm13
4698	vpsrld	$31,%xmm2,%xmm5
4699	vpaddd	%xmm2,%xmm2,%xmm2
4700
4701	vpsrld	$2,%xmm10,%xmm10
4702	vpaddd	%xmm8,%xmm13,%xmm13
4703	vpor	%xmm5,%xmm2,%xmm2
4704	vpor	%xmm7,%xmm10,%xmm10
4705	vpxor	%xmm0,%xmm3,%xmm3
4706	vmovdqa	96-128(%rax),%xmm0
4707
4708	vpslld	$5,%xmm13,%xmm8
4709	vpaddd	%xmm15,%xmm12,%xmm12
4710	vpxor	%xmm14,%xmm11,%xmm6
4711	vmovdqa	%xmm2,48-128(%rax)
4712	vpaddd	%xmm2,%xmm12,%xmm12
4713	vpxor	192-128(%rax),%xmm3,%xmm3
4714	vpsrld	$27,%xmm13,%xmm9
4715	vpxor	%xmm10,%xmm6,%xmm6
4716	vpxor	%xmm0,%xmm3,%xmm3
4717
4718	vpslld	$30,%xmm14,%xmm7
4719	vpor	%xmm9,%xmm8,%xmm8
4720	vpaddd	%xmm6,%xmm12,%xmm12
4721	vpsrld	$31,%xmm3,%xmm5
4722	vpaddd	%xmm3,%xmm3,%xmm3
4723
4724	vpsrld	$2,%xmm14,%xmm14
4725	vpaddd	%xmm8,%xmm12,%xmm12
4726	vpor	%xmm5,%xmm3,%xmm3
4727	vpor	%xmm7,%xmm14,%xmm14
4728	vpxor	%xmm1,%xmm4,%xmm4
4729	vmovdqa	112-128(%rax),%xmm1
4730
4731	vpslld	$5,%xmm12,%xmm8
4732	vpaddd	%xmm15,%xmm11,%xmm11
4733	vpxor	%xmm13,%xmm10,%xmm6
4734	vmovdqa	%xmm3,64-128(%rax)
4735	vpaddd	%xmm3,%xmm11,%xmm11
4736	vpxor	208-128(%rax),%xmm4,%xmm4
4737	vpsrld	$27,%xmm12,%xmm9
4738	vpxor	%xmm14,%xmm6,%xmm6
4739	vpxor	%xmm1,%xmm4,%xmm4
4740
4741	vpslld	$30,%xmm13,%xmm7
4742	vpor	%xmm9,%xmm8,%xmm8
4743	vpaddd	%xmm6,%xmm11,%xmm11
4744	vpsrld	$31,%xmm4,%xmm5
4745	vpaddd	%xmm4,%xmm4,%xmm4
4746
4747	vpsrld	$2,%xmm13,%xmm13
4748	vpaddd	%xmm8,%xmm11,%xmm11
4749	vpor	%xmm5,%xmm4,%xmm4
4750	vpor	%xmm7,%xmm13,%xmm13
4751	vpxor	%xmm2,%xmm0,%xmm0
4752	vmovdqa	128-128(%rax),%xmm2
4753
4754	vpslld	$5,%xmm11,%xmm8
4755	vpaddd	%xmm15,%xmm10,%xmm10
4756	vpxor	%xmm12,%xmm14,%xmm6
4757	vmovdqa	%xmm4,80-128(%rax)
4758	vpaddd	%xmm4,%xmm10,%xmm10
4759	vpxor	224-128(%rax),%xmm0,%xmm0
4760	vpsrld	$27,%xmm11,%xmm9
4761	vpxor	%xmm13,%xmm6,%xmm6
4762	vpxor	%xmm2,%xmm0,%xmm0
4763
4764	vpslld	$30,%xmm12,%xmm7
4765	vpor	%xmm9,%xmm8,%xmm8
4766	vpaddd	%xmm6,%xmm10,%xmm10
4767	vpsrld	$31,%xmm0,%xmm5
4768	vpaddd	%xmm0,%xmm0,%xmm0
4769
4770	vpsrld	$2,%xmm12,%xmm12
4771	vpaddd	%xmm8,%xmm10,%xmm10
4772	vpor	%xmm5,%xmm0,%xmm0
4773	vpor	%xmm7,%xmm12,%xmm12
4774	vpxor	%xmm3,%xmm1,%xmm1
4775	vmovdqa	144-128(%rax),%xmm3
4776
4777	vpslld	$5,%xmm10,%xmm8
4778	vpaddd	%xmm15,%xmm14,%xmm14
4779	vpxor	%xmm11,%xmm13,%xmm6
4780	vmovdqa	%xmm0,96-128(%rax)
4781	vpaddd	%xmm0,%xmm14,%xmm14
4782	vpxor	240-128(%rax),%xmm1,%xmm1
4783	vpsrld	$27,%xmm10,%xmm9
4784	vpxor	%xmm12,%xmm6,%xmm6
4785	vpxor	%xmm3,%xmm1,%xmm1
4786
4787	vpslld	$30,%xmm11,%xmm7
4788	vpor	%xmm9,%xmm8,%xmm8
4789	vpaddd	%xmm6,%xmm14,%xmm14
4790	vpsrld	$31,%xmm1,%xmm5
4791	vpaddd	%xmm1,%xmm1,%xmm1
4792
4793	vpsrld	$2,%xmm11,%xmm11
4794	vpaddd	%xmm8,%xmm14,%xmm14
4795	vpor	%xmm5,%xmm1,%xmm1
4796	vpor	%xmm7,%xmm11,%xmm11
4797	vpxor	%xmm4,%xmm2,%xmm2
4798	vmovdqa	160-128(%rax),%xmm4
4799
4800	vpslld	$5,%xmm14,%xmm8
4801	vpaddd	%xmm15,%xmm13,%xmm13
4802	vpxor	%xmm10,%xmm12,%xmm6
4803	vmovdqa	%xmm1,112-128(%rax)
4804	vpaddd	%xmm1,%xmm13,%xmm13
4805	vpxor	0-128(%rax),%xmm2,%xmm2
4806	vpsrld	$27,%xmm14,%xmm9
4807	vpxor	%xmm11,%xmm6,%xmm6
4808	vpxor	%xmm4,%xmm2,%xmm2
4809
4810	vpslld	$30,%xmm10,%xmm7
4811	vpor	%xmm9,%xmm8,%xmm8
4812	vpaddd	%xmm6,%xmm13,%xmm13
4813	vpsrld	$31,%xmm2,%xmm5
4814	vpaddd	%xmm2,%xmm2,%xmm2
4815
4816	vpsrld	$2,%xmm10,%xmm10
4817	vpaddd	%xmm8,%xmm13,%xmm13
4818	vpor	%xmm5,%xmm2,%xmm2
4819	vpor	%xmm7,%xmm10,%xmm10
4820	vpxor	%xmm0,%xmm3,%xmm3
4821	vmovdqa	176-128(%rax),%xmm0
4822
4823	vpslld	$5,%xmm13,%xmm8
4824	vpaddd	%xmm15,%xmm12,%xmm12
4825	vpxor	%xmm14,%xmm11,%xmm6
4826	vpaddd	%xmm2,%xmm12,%xmm12
4827	vpxor	16-128(%rax),%xmm3,%xmm3
4828	vpsrld	$27,%xmm13,%xmm9
4829	vpxor	%xmm10,%xmm6,%xmm6
4830	vpxor	%xmm0,%xmm3,%xmm3
4831
4832	vpslld	$30,%xmm14,%xmm7
4833	vpor	%xmm9,%xmm8,%xmm8
4834	vpaddd	%xmm6,%xmm12,%xmm12
4835	vpsrld	$31,%xmm3,%xmm5
4836	vpaddd	%xmm3,%xmm3,%xmm3
4837
4838	vpsrld	$2,%xmm14,%xmm14
4839	vpaddd	%xmm8,%xmm12,%xmm12
4840	vpor	%xmm5,%xmm3,%xmm3
4841	vpor	%xmm7,%xmm14,%xmm14
4842	vpxor	%xmm1,%xmm4,%xmm4
4843	vmovdqa	192-128(%rax),%xmm1
4844
4845	vpslld	$5,%xmm12,%xmm8
4846	vpaddd	%xmm15,%xmm11,%xmm11
4847	vpxor	%xmm13,%xmm10,%xmm6
4848	vpaddd	%xmm3,%xmm11,%xmm11
4849	vpxor	32-128(%rax),%xmm4,%xmm4
4850	vpsrld	$27,%xmm12,%xmm9
4851	vpxor	%xmm14,%xmm6,%xmm6
4852	vpxor	%xmm1,%xmm4,%xmm4
4853
4854	vpslld	$30,%xmm13,%xmm7
4855	vpor	%xmm9,%xmm8,%xmm8
4856	vpaddd	%xmm6,%xmm11,%xmm11
4857	vpsrld	$31,%xmm4,%xmm5
4858	vpaddd	%xmm4,%xmm4,%xmm4
4859
4860	vpsrld	$2,%xmm13,%xmm13
4861	vpaddd	%xmm8,%xmm11,%xmm11
4862	vpor	%xmm5,%xmm4,%xmm4
4863	vpor	%xmm7,%xmm13,%xmm13
4864	vpxor	%xmm2,%xmm0,%xmm0
4865	vmovdqa	208-128(%rax),%xmm2
4866
4867	vpslld	$5,%xmm11,%xmm8
4868	vpaddd	%xmm15,%xmm10,%xmm10
4869	vpxor	%xmm12,%xmm14,%xmm6
4870	vpaddd	%xmm4,%xmm10,%xmm10
4871	vpxor	48-128(%rax),%xmm0,%xmm0
4872	vpsrld	$27,%xmm11,%xmm9
4873	vpxor	%xmm13,%xmm6,%xmm6
4874	vpxor	%xmm2,%xmm0,%xmm0
4875
4876	vpslld	$30,%xmm12,%xmm7
4877	vpor	%xmm9,%xmm8,%xmm8
4878	vpaddd	%xmm6,%xmm10,%xmm10
4879	vpsrld	$31,%xmm0,%xmm5
4880	vpaddd	%xmm0,%xmm0,%xmm0
4881
4882	vpsrld	$2,%xmm12,%xmm12
4883	vpaddd	%xmm8,%xmm10,%xmm10
4884	vpor	%xmm5,%xmm0,%xmm0
4885	vpor	%xmm7,%xmm12,%xmm12
4886	vpxor	%xmm3,%xmm1,%xmm1
4887	vmovdqa	224-128(%rax),%xmm3
4888
4889	vpslld	$5,%xmm10,%xmm8
4890	vpaddd	%xmm15,%xmm14,%xmm14
4891	vpxor	%xmm11,%xmm13,%xmm6
4892	vpaddd	%xmm0,%xmm14,%xmm14
4893	vpxor	64-128(%rax),%xmm1,%xmm1
4894	vpsrld	$27,%xmm10,%xmm9
4895	vpxor	%xmm12,%xmm6,%xmm6
4896	vpxor	%xmm3,%xmm1,%xmm1
4897
4898	vpslld	$30,%xmm11,%xmm7
4899	vpor	%xmm9,%xmm8,%xmm8
4900	vpaddd	%xmm6,%xmm14,%xmm14
4901	vpsrld	$31,%xmm1,%xmm5
4902	vpaddd	%xmm1,%xmm1,%xmm1
4903
4904	vpsrld	$2,%xmm11,%xmm11
4905	vpaddd	%xmm8,%xmm14,%xmm14
4906	vpor	%xmm5,%xmm1,%xmm1
4907	vpor	%xmm7,%xmm11,%xmm11
4908	vpxor	%xmm4,%xmm2,%xmm2
4909	vmovdqa	240-128(%rax),%xmm4
4910
4911	vpslld	$5,%xmm14,%xmm8
4912	vpaddd	%xmm15,%xmm13,%xmm13
4913	vpxor	%xmm10,%xmm12,%xmm6
4914	vpaddd	%xmm1,%xmm13,%xmm13
4915	vpxor	80-128(%rax),%xmm2,%xmm2
4916	vpsrld	$27,%xmm14,%xmm9
4917	vpxor	%xmm11,%xmm6,%xmm6
4918	vpxor	%xmm4,%xmm2,%xmm2
4919
4920	vpslld	$30,%xmm10,%xmm7
4921	vpor	%xmm9,%xmm8,%xmm8
4922	vpaddd	%xmm6,%xmm13,%xmm13
4923	vpsrld	$31,%xmm2,%xmm5
4924	vpaddd	%xmm2,%xmm2,%xmm2
4925
4926	vpsrld	$2,%xmm10,%xmm10
4927	vpaddd	%xmm8,%xmm13,%xmm13
4928	vpor	%xmm5,%xmm2,%xmm2
4929	vpor	%xmm7,%xmm10,%xmm10
4930	vpxor	%xmm0,%xmm3,%xmm3
4931	vmovdqa	0-128(%rax),%xmm0
4932
4933	vpslld	$5,%xmm13,%xmm8
4934	vpaddd	%xmm15,%xmm12,%xmm12
4935	vpxor	%xmm14,%xmm11,%xmm6
4936	vpaddd	%xmm2,%xmm12,%xmm12
4937	vpxor	96-128(%rax),%xmm3,%xmm3
4938	vpsrld	$27,%xmm13,%xmm9
4939	vpxor	%xmm10,%xmm6,%xmm6
4940	vpxor	%xmm0,%xmm3,%xmm3
4941
4942	vpslld	$30,%xmm14,%xmm7
4943	vpor	%xmm9,%xmm8,%xmm8
4944	vpaddd	%xmm6,%xmm12,%xmm12
4945	vpsrld	$31,%xmm3,%xmm5
4946	vpaddd	%xmm3,%xmm3,%xmm3
4947
4948	vpsrld	$2,%xmm14,%xmm14
4949	vpaddd	%xmm8,%xmm12,%xmm12
4950	vpor	%xmm5,%xmm3,%xmm3
4951	vpor	%xmm7,%xmm14,%xmm14
4952	vpxor	%xmm1,%xmm4,%xmm4
4953	vmovdqa	16-128(%rax),%xmm1
4954
4955	vpslld	$5,%xmm12,%xmm8
4956	vpaddd	%xmm15,%xmm11,%xmm11
4957	vpxor	%xmm13,%xmm10,%xmm6
4958	vpaddd	%xmm3,%xmm11,%xmm11
4959	vpxor	112-128(%rax),%xmm4,%xmm4
4960	vpsrld	$27,%xmm12,%xmm9
4961	vpxor	%xmm14,%xmm6,%xmm6
4962	vpxor	%xmm1,%xmm4,%xmm4
4963
4964	vpslld	$30,%xmm13,%xmm7
4965	vpor	%xmm9,%xmm8,%xmm8
4966	vpaddd	%xmm6,%xmm11,%xmm11
4967	vpsrld	$31,%xmm4,%xmm5
4968	vpaddd	%xmm4,%xmm4,%xmm4
4969
4970	vpsrld	$2,%xmm13,%xmm13
4971	vpaddd	%xmm8,%xmm11,%xmm11
4972	vpor	%xmm5,%xmm4,%xmm4
4973	vpor	%xmm7,%xmm13,%xmm13
4974	vpslld	$5,%xmm11,%xmm8
4975	vpaddd	%xmm15,%xmm10,%xmm10
4976	vpxor	%xmm12,%xmm14,%xmm6
4977
4978	vpsrld	$27,%xmm11,%xmm9
4979	vpaddd	%xmm4,%xmm10,%xmm10
4980	vpxor	%xmm13,%xmm6,%xmm6
4981
4982	vpslld	$30,%xmm12,%xmm7
4983	vpor	%xmm9,%xmm8,%xmm8
4984	vpaddd	%xmm6,%xmm10,%xmm10
4985
4986	vpsrld	$2,%xmm12,%xmm12
4987	vpaddd	%xmm8,%xmm10,%xmm10
4988	vpor	%xmm7,%xmm12,%xmm12
4989	movl	$1,%ecx
4990	cmpl	0(%rbx),%ecx
4991	cmovgeq	%rbp,%r8
4992	cmpl	4(%rbx),%ecx
4993	cmovgeq	%rbp,%r9
4994	cmpl	8(%rbx),%ecx
4995	cmovgeq	%rbp,%r10
4996	cmpl	12(%rbx),%ecx
4997	cmovgeq	%rbp,%r11
4998	vmovdqu	(%rbx),%xmm6
4999	vpxor	%xmm8,%xmm8,%xmm8
5000	vmovdqa	%xmm6,%xmm7
5001	vpcmpgtd	%xmm8,%xmm7,%xmm7
5002	vpaddd	%xmm7,%xmm6,%xmm6
5003
5004	vpand	%xmm7,%xmm10,%xmm10
5005	vpand	%xmm7,%xmm11,%xmm11
5006	vpaddd	0(%rdi),%xmm10,%xmm10
5007	vpand	%xmm7,%xmm12,%xmm12
5008	vpaddd	32(%rdi),%xmm11,%xmm11
5009	vpand	%xmm7,%xmm13,%xmm13
5010	vpaddd	64(%rdi),%xmm12,%xmm12
5011	vpand	%xmm7,%xmm14,%xmm14
5012	vpaddd	96(%rdi),%xmm13,%xmm13
5013	vpaddd	128(%rdi),%xmm14,%xmm14
5014	vmovdqu	%xmm10,0(%rdi)
5015	vmovdqu	%xmm11,32(%rdi)
5016	vmovdqu	%xmm12,64(%rdi)
5017	vmovdqu	%xmm13,96(%rdi)
5018	vmovdqu	%xmm14,128(%rdi)
5019
5020	vmovdqu	%xmm6,(%rbx)
5021	vmovdqu	96(%rbp),%xmm5
5022	decl	%edx
5023	jnz	.Loop_avx
5024
5025	movl	280(%rsp),%edx
5026	leaq	16(%rdi),%rdi
5027	leaq	64(%rsi),%rsi
5028	decl	%edx
5029	jnz	.Loop_grande_avx
5030
5031.Ldone_avx:
5032	movq	272(%rsp),%rax
5033.cfi_def_cfa	%rax,8
5034	vzeroupper
5035	movq	-16(%rax),%rbp
5036.cfi_restore	%rbp
5037	movq	-8(%rax),%rbx
5038.cfi_restore	%rbx
5039	leaq	(%rax),%rsp
5040.cfi_def_cfa_register	%rsp
5041.Lepilogue_avx:
5042	.byte	0xf3,0xc3
5043.cfi_endproc
5044.size	sha1_multi_block_avx,.-sha1_multi_block_avx
5045.type	sha1_multi_block_avx2,@function
5046.align	32
5047sha1_multi_block_avx2:
5048.cfi_startproc
5049_avx2_shortcut:
5050	movq	%rsp,%rax
5051.cfi_def_cfa_register	%rax
5052	pushq	%rbx
5053.cfi_offset	%rbx,-16
5054	pushq	%rbp
5055.cfi_offset	%rbp,-24
5056	pushq	%r12
5057.cfi_offset	%r12,-32
5058	pushq	%r13
5059.cfi_offset	%r13,-40
5060	pushq	%r14
5061.cfi_offset	%r14,-48
5062	pushq	%r15
5063.cfi_offset	%r15,-56
5064	subq	$576,%rsp
5065	andq	$-256,%rsp
5066	movq	%rax,544(%rsp)
5067.cfi_escape	0x0f,0x06,0x77,0xa0,0x04,0x06,0x23,0x08
5068.Lbody_avx2:
5069	leaq	K_XX_XX(%rip),%rbp
5070	shrl	$1,%edx
5071
5072	vzeroupper
5073.Loop_grande_avx2:
5074	movl	%edx,552(%rsp)
5075	xorl	%edx,%edx
5076	leaq	512(%rsp),%rbx
5077
5078	movq	0(%rsi),%r12
5079
5080	movl	8(%rsi),%ecx
5081	cmpl	%edx,%ecx
5082	cmovgl	%ecx,%edx
5083	testl	%ecx,%ecx
5084	movl	%ecx,0(%rbx)
5085	cmovleq	%rbp,%r12
5086
5087	movq	16(%rsi),%r13
5088
5089	movl	24(%rsi),%ecx
5090	cmpl	%edx,%ecx
5091	cmovgl	%ecx,%edx
5092	testl	%ecx,%ecx
5093	movl	%ecx,4(%rbx)
5094	cmovleq	%rbp,%r13
5095
5096	movq	32(%rsi),%r14
5097
5098	movl	40(%rsi),%ecx
5099	cmpl	%edx,%ecx
5100	cmovgl	%ecx,%edx
5101	testl	%ecx,%ecx
5102	movl	%ecx,8(%rbx)
5103	cmovleq	%rbp,%r14
5104
5105	movq	48(%rsi),%r15
5106
5107	movl	56(%rsi),%ecx
5108	cmpl	%edx,%ecx
5109	cmovgl	%ecx,%edx
5110	testl	%ecx,%ecx
5111	movl	%ecx,12(%rbx)
5112	cmovleq	%rbp,%r15
5113
5114	movq	64(%rsi),%r8
5115
5116	movl	72(%rsi),%ecx
5117	cmpl	%edx,%ecx
5118	cmovgl	%ecx,%edx
5119	testl	%ecx,%ecx
5120	movl	%ecx,16(%rbx)
5121	cmovleq	%rbp,%r8
5122
5123	movq	80(%rsi),%r9
5124
5125	movl	88(%rsi),%ecx
5126	cmpl	%edx,%ecx
5127	cmovgl	%ecx,%edx
5128	testl	%ecx,%ecx
5129	movl	%ecx,20(%rbx)
5130	cmovleq	%rbp,%r9
5131
5132	movq	96(%rsi),%r10
5133
5134	movl	104(%rsi),%ecx
5135	cmpl	%edx,%ecx
5136	cmovgl	%ecx,%edx
5137	testl	%ecx,%ecx
5138	movl	%ecx,24(%rbx)
5139	cmovleq	%rbp,%r10
5140
5141	movq	112(%rsi),%r11
5142
5143	movl	120(%rsi),%ecx
5144	cmpl	%edx,%ecx
5145	cmovgl	%ecx,%edx
5146	testl	%ecx,%ecx
5147	movl	%ecx,28(%rbx)
5148	cmovleq	%rbp,%r11
5149	vmovdqu	0(%rdi),%ymm0
5150	leaq	128(%rsp),%rax
5151	vmovdqu	32(%rdi),%ymm1
5152	leaq	256+128(%rsp),%rbx
5153	vmovdqu	64(%rdi),%ymm2
5154	vmovdqu	96(%rdi),%ymm3
5155	vmovdqu	128(%rdi),%ymm4
5156	vmovdqu	96(%rbp),%ymm9
5157	jmp	.Loop_avx2
5158
5159.align	32
5160.Loop_avx2:
5161	vmovdqa	-32(%rbp),%ymm15
5162	vmovd	(%r12),%xmm10
5163	leaq	64(%r12),%r12
5164	vmovd	(%r8),%xmm12
5165	leaq	64(%r8),%r8
5166	vmovd	(%r13),%xmm7
5167	leaq	64(%r13),%r13
5168	vmovd	(%r9),%xmm6
5169	leaq	64(%r9),%r9
5170	vpinsrd	$1,(%r14),%xmm10,%xmm10
5171	leaq	64(%r14),%r14
5172	vpinsrd	$1,(%r10),%xmm12,%xmm12
5173	leaq	64(%r10),%r10
5174	vpinsrd	$1,(%r15),%xmm7,%xmm7
5175	leaq	64(%r15),%r15
5176	vpunpckldq	%ymm7,%ymm10,%ymm10
5177	vpinsrd	$1,(%r11),%xmm6,%xmm6
5178	leaq	64(%r11),%r11
5179	vpunpckldq	%ymm6,%ymm12,%ymm12
5180	vmovd	-60(%r12),%xmm11
5181	vinserti128	$1,%xmm12,%ymm10,%ymm10
5182	vmovd	-60(%r8),%xmm8
5183	vpshufb	%ymm9,%ymm10,%ymm10
5184	vmovd	-60(%r13),%xmm7
5185	vmovd	-60(%r9),%xmm6
5186	vpinsrd	$1,-60(%r14),%xmm11,%xmm11
5187	vpinsrd	$1,-60(%r10),%xmm8,%xmm8
5188	vpinsrd	$1,-60(%r15),%xmm7,%xmm7
5189	vpunpckldq	%ymm7,%ymm11,%ymm11
5190	vpinsrd	$1,-60(%r11),%xmm6,%xmm6
5191	vpunpckldq	%ymm6,%ymm8,%ymm8
5192	vpaddd	%ymm15,%ymm4,%ymm4
5193	vpslld	$5,%ymm0,%ymm7
5194	vpandn	%ymm3,%ymm1,%ymm6
5195	vpand	%ymm2,%ymm1,%ymm5
5196
5197	vmovdqa	%ymm10,0-128(%rax)
5198	vpaddd	%ymm10,%ymm4,%ymm4
5199	vinserti128	$1,%xmm8,%ymm11,%ymm11
5200	vpsrld	$27,%ymm0,%ymm8
5201	vpxor	%ymm6,%ymm5,%ymm5
5202	vmovd	-56(%r12),%xmm12
5203
5204	vpslld	$30,%ymm1,%ymm6
5205	vpor	%ymm8,%ymm7,%ymm7
5206	vmovd	-56(%r8),%xmm8
5207	vpaddd	%ymm5,%ymm4,%ymm4
5208
5209	vpsrld	$2,%ymm1,%ymm1
5210	vpaddd	%ymm7,%ymm4,%ymm4
5211	vpshufb	%ymm9,%ymm11,%ymm11
5212	vpor	%ymm6,%ymm1,%ymm1
5213	vmovd	-56(%r13),%xmm7
5214	vmovd	-56(%r9),%xmm6
5215	vpinsrd	$1,-56(%r14),%xmm12,%xmm12
5216	vpinsrd	$1,-56(%r10),%xmm8,%xmm8
5217	vpinsrd	$1,-56(%r15),%xmm7,%xmm7
5218	vpunpckldq	%ymm7,%ymm12,%ymm12
5219	vpinsrd	$1,-56(%r11),%xmm6,%xmm6
5220	vpunpckldq	%ymm6,%ymm8,%ymm8
5221	vpaddd	%ymm15,%ymm3,%ymm3
5222	vpslld	$5,%ymm4,%ymm7
5223	vpandn	%ymm2,%ymm0,%ymm6
5224	vpand	%ymm1,%ymm0,%ymm5
5225
5226	vmovdqa	%ymm11,32-128(%rax)
5227	vpaddd	%ymm11,%ymm3,%ymm3
5228	vinserti128	$1,%xmm8,%ymm12,%ymm12
5229	vpsrld	$27,%ymm4,%ymm8
5230	vpxor	%ymm6,%ymm5,%ymm5
5231	vmovd	-52(%r12),%xmm13
5232
5233	vpslld	$30,%ymm0,%ymm6
5234	vpor	%ymm8,%ymm7,%ymm7
5235	vmovd	-52(%r8),%xmm8
5236	vpaddd	%ymm5,%ymm3,%ymm3
5237
5238	vpsrld	$2,%ymm0,%ymm0
5239	vpaddd	%ymm7,%ymm3,%ymm3
5240	vpshufb	%ymm9,%ymm12,%ymm12
5241	vpor	%ymm6,%ymm0,%ymm0
5242	vmovd	-52(%r13),%xmm7
5243	vmovd	-52(%r9),%xmm6
5244	vpinsrd	$1,-52(%r14),%xmm13,%xmm13
5245	vpinsrd	$1,-52(%r10),%xmm8,%xmm8
5246	vpinsrd	$1,-52(%r15),%xmm7,%xmm7
5247	vpunpckldq	%ymm7,%ymm13,%ymm13
5248	vpinsrd	$1,-52(%r11),%xmm6,%xmm6
5249	vpunpckldq	%ymm6,%ymm8,%ymm8
5250	vpaddd	%ymm15,%ymm2,%ymm2
5251	vpslld	$5,%ymm3,%ymm7
5252	vpandn	%ymm1,%ymm4,%ymm6
5253	vpand	%ymm0,%ymm4,%ymm5
5254
5255	vmovdqa	%ymm12,64-128(%rax)
5256	vpaddd	%ymm12,%ymm2,%ymm2
5257	vinserti128	$1,%xmm8,%ymm13,%ymm13
5258	vpsrld	$27,%ymm3,%ymm8
5259	vpxor	%ymm6,%ymm5,%ymm5
5260	vmovd	-48(%r12),%xmm14
5261
5262	vpslld	$30,%ymm4,%ymm6
5263	vpor	%ymm8,%ymm7,%ymm7
5264	vmovd	-48(%r8),%xmm8
5265	vpaddd	%ymm5,%ymm2,%ymm2
5266
5267	vpsrld	$2,%ymm4,%ymm4
5268	vpaddd	%ymm7,%ymm2,%ymm2
5269	vpshufb	%ymm9,%ymm13,%ymm13
5270	vpor	%ymm6,%ymm4,%ymm4
5271	vmovd	-48(%r13),%xmm7
5272	vmovd	-48(%r9),%xmm6
5273	vpinsrd	$1,-48(%r14),%xmm14,%xmm14
5274	vpinsrd	$1,-48(%r10),%xmm8,%xmm8
5275	vpinsrd	$1,-48(%r15),%xmm7,%xmm7
5276	vpunpckldq	%ymm7,%ymm14,%ymm14
5277	vpinsrd	$1,-48(%r11),%xmm6,%xmm6
5278	vpunpckldq	%ymm6,%ymm8,%ymm8
5279	vpaddd	%ymm15,%ymm1,%ymm1
5280	vpslld	$5,%ymm2,%ymm7
5281	vpandn	%ymm0,%ymm3,%ymm6
5282	vpand	%ymm4,%ymm3,%ymm5
5283
5284	vmovdqa	%ymm13,96-128(%rax)
5285	vpaddd	%ymm13,%ymm1,%ymm1
5286	vinserti128	$1,%xmm8,%ymm14,%ymm14
5287	vpsrld	$27,%ymm2,%ymm8
5288	vpxor	%ymm6,%ymm5,%ymm5
5289	vmovd	-44(%r12),%xmm10
5290
5291	vpslld	$30,%ymm3,%ymm6
5292	vpor	%ymm8,%ymm7,%ymm7
5293	vmovd	-44(%r8),%xmm8
5294	vpaddd	%ymm5,%ymm1,%ymm1
5295
5296	vpsrld	$2,%ymm3,%ymm3
5297	vpaddd	%ymm7,%ymm1,%ymm1
5298	vpshufb	%ymm9,%ymm14,%ymm14
5299	vpor	%ymm6,%ymm3,%ymm3
5300	vmovd	-44(%r13),%xmm7
5301	vmovd	-44(%r9),%xmm6
5302	vpinsrd	$1,-44(%r14),%xmm10,%xmm10
5303	vpinsrd	$1,-44(%r10),%xmm8,%xmm8
5304	vpinsrd	$1,-44(%r15),%xmm7,%xmm7
5305	vpunpckldq	%ymm7,%ymm10,%ymm10
5306	vpinsrd	$1,-44(%r11),%xmm6,%xmm6
5307	vpunpckldq	%ymm6,%ymm8,%ymm8
5308	vpaddd	%ymm15,%ymm0,%ymm0
5309	vpslld	$5,%ymm1,%ymm7
5310	vpandn	%ymm4,%ymm2,%ymm6
5311	vpand	%ymm3,%ymm2,%ymm5
5312
5313	vmovdqa	%ymm14,128-128(%rax)
5314	vpaddd	%ymm14,%ymm0,%ymm0
5315	vinserti128	$1,%xmm8,%ymm10,%ymm10
5316	vpsrld	$27,%ymm1,%ymm8
5317	vpxor	%ymm6,%ymm5,%ymm5
5318	vmovd	-40(%r12),%xmm11
5319
5320	vpslld	$30,%ymm2,%ymm6
5321	vpor	%ymm8,%ymm7,%ymm7
5322	vmovd	-40(%r8),%xmm8
5323	vpaddd	%ymm5,%ymm0,%ymm0
5324
5325	vpsrld	$2,%ymm2,%ymm2
5326	vpaddd	%ymm7,%ymm0,%ymm0
5327	vpshufb	%ymm9,%ymm10,%ymm10
5328	vpor	%ymm6,%ymm2,%ymm2
5329	vmovd	-40(%r13),%xmm7
5330	vmovd	-40(%r9),%xmm6
5331	vpinsrd	$1,-40(%r14),%xmm11,%xmm11
5332	vpinsrd	$1,-40(%r10),%xmm8,%xmm8
5333	vpinsrd	$1,-40(%r15),%xmm7,%xmm7
5334	vpunpckldq	%ymm7,%ymm11,%ymm11
5335	vpinsrd	$1,-40(%r11),%xmm6,%xmm6
5336	vpunpckldq	%ymm6,%ymm8,%ymm8
5337	vpaddd	%ymm15,%ymm4,%ymm4
5338	vpslld	$5,%ymm0,%ymm7
5339	vpandn	%ymm3,%ymm1,%ymm6
5340	vpand	%ymm2,%ymm1,%ymm5
5341
5342	vmovdqa	%ymm10,160-128(%rax)
5343	vpaddd	%ymm10,%ymm4,%ymm4
5344	vinserti128	$1,%xmm8,%ymm11,%ymm11
5345	vpsrld	$27,%ymm0,%ymm8
5346	vpxor	%ymm6,%ymm5,%ymm5
5347	vmovd	-36(%r12),%xmm12
5348
5349	vpslld	$30,%ymm1,%ymm6
5350	vpor	%ymm8,%ymm7,%ymm7
5351	vmovd	-36(%r8),%xmm8
5352	vpaddd	%ymm5,%ymm4,%ymm4
5353
5354	vpsrld	$2,%ymm1,%ymm1
5355	vpaddd	%ymm7,%ymm4,%ymm4
5356	vpshufb	%ymm9,%ymm11,%ymm11
5357	vpor	%ymm6,%ymm1,%ymm1
5358	vmovd	-36(%r13),%xmm7
5359	vmovd	-36(%r9),%xmm6
5360	vpinsrd	$1,-36(%r14),%xmm12,%xmm12
5361	vpinsrd	$1,-36(%r10),%xmm8,%xmm8
5362	vpinsrd	$1,-36(%r15),%xmm7,%xmm7
5363	vpunpckldq	%ymm7,%ymm12,%ymm12
5364	vpinsrd	$1,-36(%r11),%xmm6,%xmm6
5365	vpunpckldq	%ymm6,%ymm8,%ymm8
5366	vpaddd	%ymm15,%ymm3,%ymm3
5367	vpslld	$5,%ymm4,%ymm7
5368	vpandn	%ymm2,%ymm0,%ymm6
5369	vpand	%ymm1,%ymm0,%ymm5
5370
5371	vmovdqa	%ymm11,192-128(%rax)
5372	vpaddd	%ymm11,%ymm3,%ymm3
5373	vinserti128	$1,%xmm8,%ymm12,%ymm12
5374	vpsrld	$27,%ymm4,%ymm8
5375	vpxor	%ymm6,%ymm5,%ymm5
5376	vmovd	-32(%r12),%xmm13
5377
5378	vpslld	$30,%ymm0,%ymm6
5379	vpor	%ymm8,%ymm7,%ymm7
5380	vmovd	-32(%r8),%xmm8
5381	vpaddd	%ymm5,%ymm3,%ymm3
5382
5383	vpsrld	$2,%ymm0,%ymm0
5384	vpaddd	%ymm7,%ymm3,%ymm3
5385	vpshufb	%ymm9,%ymm12,%ymm12
5386	vpor	%ymm6,%ymm0,%ymm0
5387	vmovd	-32(%r13),%xmm7
5388	vmovd	-32(%r9),%xmm6
5389	vpinsrd	$1,-32(%r14),%xmm13,%xmm13
5390	vpinsrd	$1,-32(%r10),%xmm8,%xmm8
5391	vpinsrd	$1,-32(%r15),%xmm7,%xmm7
5392	vpunpckldq	%ymm7,%ymm13,%ymm13
5393	vpinsrd	$1,-32(%r11),%xmm6,%xmm6
5394	vpunpckldq	%ymm6,%ymm8,%ymm8
5395	vpaddd	%ymm15,%ymm2,%ymm2
5396	vpslld	$5,%ymm3,%ymm7
5397	vpandn	%ymm1,%ymm4,%ymm6
5398	vpand	%ymm0,%ymm4,%ymm5
5399
5400	vmovdqa	%ymm12,224-128(%rax)
5401	vpaddd	%ymm12,%ymm2,%ymm2
5402	vinserti128	$1,%xmm8,%ymm13,%ymm13
5403	vpsrld	$27,%ymm3,%ymm8
5404	vpxor	%ymm6,%ymm5,%ymm5
5405	vmovd	-28(%r12),%xmm14
5406
5407	vpslld	$30,%ymm4,%ymm6
5408	vpor	%ymm8,%ymm7,%ymm7
5409	vmovd	-28(%r8),%xmm8
5410	vpaddd	%ymm5,%ymm2,%ymm2
5411
5412	vpsrld	$2,%ymm4,%ymm4
5413	vpaddd	%ymm7,%ymm2,%ymm2
5414	vpshufb	%ymm9,%ymm13,%ymm13
5415	vpor	%ymm6,%ymm4,%ymm4
5416	vmovd	-28(%r13),%xmm7
5417	vmovd	-28(%r9),%xmm6
5418	vpinsrd	$1,-28(%r14),%xmm14,%xmm14
5419	vpinsrd	$1,-28(%r10),%xmm8,%xmm8
5420	vpinsrd	$1,-28(%r15),%xmm7,%xmm7
5421	vpunpckldq	%ymm7,%ymm14,%ymm14
5422	vpinsrd	$1,-28(%r11),%xmm6,%xmm6
5423	vpunpckldq	%ymm6,%ymm8,%ymm8
5424	vpaddd	%ymm15,%ymm1,%ymm1
5425	vpslld	$5,%ymm2,%ymm7
5426	vpandn	%ymm0,%ymm3,%ymm6
5427	vpand	%ymm4,%ymm3,%ymm5
5428
5429	vmovdqa	%ymm13,256-256-128(%rbx)
5430	vpaddd	%ymm13,%ymm1,%ymm1
5431	vinserti128	$1,%xmm8,%ymm14,%ymm14
5432	vpsrld	$27,%ymm2,%ymm8
5433	vpxor	%ymm6,%ymm5,%ymm5
5434	vmovd	-24(%r12),%xmm10
5435
5436	vpslld	$30,%ymm3,%ymm6
5437	vpor	%ymm8,%ymm7,%ymm7
5438	vmovd	-24(%r8),%xmm8
5439	vpaddd	%ymm5,%ymm1,%ymm1
5440
5441	vpsrld	$2,%ymm3,%ymm3
5442	vpaddd	%ymm7,%ymm1,%ymm1
5443	vpshufb	%ymm9,%ymm14,%ymm14
5444	vpor	%ymm6,%ymm3,%ymm3
5445	vmovd	-24(%r13),%xmm7
5446	vmovd	-24(%r9),%xmm6
5447	vpinsrd	$1,-24(%r14),%xmm10,%xmm10
5448	vpinsrd	$1,-24(%r10),%xmm8,%xmm8
5449	vpinsrd	$1,-24(%r15),%xmm7,%xmm7
5450	vpunpckldq	%ymm7,%ymm10,%ymm10
5451	vpinsrd	$1,-24(%r11),%xmm6,%xmm6
5452	vpunpckldq	%ymm6,%ymm8,%ymm8
5453	vpaddd	%ymm15,%ymm0,%ymm0
5454	vpslld	$5,%ymm1,%ymm7
5455	vpandn	%ymm4,%ymm2,%ymm6
5456	vpand	%ymm3,%ymm2,%ymm5
5457
5458	vmovdqa	%ymm14,288-256-128(%rbx)
5459	vpaddd	%ymm14,%ymm0,%ymm0
5460	vinserti128	$1,%xmm8,%ymm10,%ymm10
5461	vpsrld	$27,%ymm1,%ymm8
5462	vpxor	%ymm6,%ymm5,%ymm5
5463	vmovd	-20(%r12),%xmm11
5464
5465	vpslld	$30,%ymm2,%ymm6
5466	vpor	%ymm8,%ymm7,%ymm7
5467	vmovd	-20(%r8),%xmm8
5468	vpaddd	%ymm5,%ymm0,%ymm0
5469
5470	vpsrld	$2,%ymm2,%ymm2
5471	vpaddd	%ymm7,%ymm0,%ymm0
5472	vpshufb	%ymm9,%ymm10,%ymm10
5473	vpor	%ymm6,%ymm2,%ymm2
5474	vmovd	-20(%r13),%xmm7
5475	vmovd	-20(%r9),%xmm6
5476	vpinsrd	$1,-20(%r14),%xmm11,%xmm11
5477	vpinsrd	$1,-20(%r10),%xmm8,%xmm8
5478	vpinsrd	$1,-20(%r15),%xmm7,%xmm7
5479	vpunpckldq	%ymm7,%ymm11,%ymm11
5480	vpinsrd	$1,-20(%r11),%xmm6,%xmm6
5481	vpunpckldq	%ymm6,%ymm8,%ymm8
5482	vpaddd	%ymm15,%ymm4,%ymm4
5483	vpslld	$5,%ymm0,%ymm7
5484	vpandn	%ymm3,%ymm1,%ymm6
5485	vpand	%ymm2,%ymm1,%ymm5
5486
5487	vmovdqa	%ymm10,320-256-128(%rbx)
5488	vpaddd	%ymm10,%ymm4,%ymm4
5489	vinserti128	$1,%xmm8,%ymm11,%ymm11
5490	vpsrld	$27,%ymm0,%ymm8
5491	vpxor	%ymm6,%ymm5,%ymm5
5492	vmovd	-16(%r12),%xmm12
5493
5494	vpslld	$30,%ymm1,%ymm6
5495	vpor	%ymm8,%ymm7,%ymm7
5496	vmovd	-16(%r8),%xmm8
5497	vpaddd	%ymm5,%ymm4,%ymm4
5498
5499	vpsrld	$2,%ymm1,%ymm1
5500	vpaddd	%ymm7,%ymm4,%ymm4
5501	vpshufb	%ymm9,%ymm11,%ymm11
5502	vpor	%ymm6,%ymm1,%ymm1
5503	vmovd	-16(%r13),%xmm7
5504	vmovd	-16(%r9),%xmm6
5505	vpinsrd	$1,-16(%r14),%xmm12,%xmm12
5506	vpinsrd	$1,-16(%r10),%xmm8,%xmm8
5507	vpinsrd	$1,-16(%r15),%xmm7,%xmm7
5508	vpunpckldq	%ymm7,%ymm12,%ymm12
5509	vpinsrd	$1,-16(%r11),%xmm6,%xmm6
5510	vpunpckldq	%ymm6,%ymm8,%ymm8
5511	vpaddd	%ymm15,%ymm3,%ymm3
5512	vpslld	$5,%ymm4,%ymm7
5513	vpandn	%ymm2,%ymm0,%ymm6
5514	vpand	%ymm1,%ymm0,%ymm5
5515
5516	vmovdqa	%ymm11,352-256-128(%rbx)
5517	vpaddd	%ymm11,%ymm3,%ymm3
5518	vinserti128	$1,%xmm8,%ymm12,%ymm12
5519	vpsrld	$27,%ymm4,%ymm8
5520	vpxor	%ymm6,%ymm5,%ymm5
5521	vmovd	-12(%r12),%xmm13
5522
5523	vpslld	$30,%ymm0,%ymm6
5524	vpor	%ymm8,%ymm7,%ymm7
5525	vmovd	-12(%r8),%xmm8
5526	vpaddd	%ymm5,%ymm3,%ymm3
5527
5528	vpsrld	$2,%ymm0,%ymm0
5529	vpaddd	%ymm7,%ymm3,%ymm3
5530	vpshufb	%ymm9,%ymm12,%ymm12
5531	vpor	%ymm6,%ymm0,%ymm0
5532	vmovd	-12(%r13),%xmm7
5533	vmovd	-12(%r9),%xmm6
5534	vpinsrd	$1,-12(%r14),%xmm13,%xmm13
5535	vpinsrd	$1,-12(%r10),%xmm8,%xmm8
5536	vpinsrd	$1,-12(%r15),%xmm7,%xmm7
5537	vpunpckldq	%ymm7,%ymm13,%ymm13
5538	vpinsrd	$1,-12(%r11),%xmm6,%xmm6
5539	vpunpckldq	%ymm6,%ymm8,%ymm8
5540	vpaddd	%ymm15,%ymm2,%ymm2
5541	vpslld	$5,%ymm3,%ymm7
5542	vpandn	%ymm1,%ymm4,%ymm6
5543	vpand	%ymm0,%ymm4,%ymm5
5544
5545	vmovdqa	%ymm12,384-256-128(%rbx)
5546	vpaddd	%ymm12,%ymm2,%ymm2
5547	vinserti128	$1,%xmm8,%ymm13,%ymm13
5548	vpsrld	$27,%ymm3,%ymm8
5549	vpxor	%ymm6,%ymm5,%ymm5
5550	vmovd	-8(%r12),%xmm14
5551
5552	vpslld	$30,%ymm4,%ymm6
5553	vpor	%ymm8,%ymm7,%ymm7
5554	vmovd	-8(%r8),%xmm8
5555	vpaddd	%ymm5,%ymm2,%ymm2
5556
5557	vpsrld	$2,%ymm4,%ymm4
5558	vpaddd	%ymm7,%ymm2,%ymm2
5559	vpshufb	%ymm9,%ymm13,%ymm13
5560	vpor	%ymm6,%ymm4,%ymm4
5561	vmovd	-8(%r13),%xmm7
5562	vmovd	-8(%r9),%xmm6
5563	vpinsrd	$1,-8(%r14),%xmm14,%xmm14
5564	vpinsrd	$1,-8(%r10),%xmm8,%xmm8
5565	vpinsrd	$1,-8(%r15),%xmm7,%xmm7
5566	vpunpckldq	%ymm7,%ymm14,%ymm14
5567	vpinsrd	$1,-8(%r11),%xmm6,%xmm6
5568	vpunpckldq	%ymm6,%ymm8,%ymm8
5569	vpaddd	%ymm15,%ymm1,%ymm1
5570	vpslld	$5,%ymm2,%ymm7
5571	vpandn	%ymm0,%ymm3,%ymm6
5572	vpand	%ymm4,%ymm3,%ymm5
5573
5574	vmovdqa	%ymm13,416-256-128(%rbx)
5575	vpaddd	%ymm13,%ymm1,%ymm1
5576	vinserti128	$1,%xmm8,%ymm14,%ymm14
5577	vpsrld	$27,%ymm2,%ymm8
5578	vpxor	%ymm6,%ymm5,%ymm5
5579	vmovd	-4(%r12),%xmm10
5580
5581	vpslld	$30,%ymm3,%ymm6
5582	vpor	%ymm8,%ymm7,%ymm7
5583	vmovd	-4(%r8),%xmm8
5584	vpaddd	%ymm5,%ymm1,%ymm1
5585
5586	vpsrld	$2,%ymm3,%ymm3
5587	vpaddd	%ymm7,%ymm1,%ymm1
5588	vpshufb	%ymm9,%ymm14,%ymm14
5589	vpor	%ymm6,%ymm3,%ymm3
5590	vmovdqa	0-128(%rax),%ymm11
5591	vmovd	-4(%r13),%xmm7
5592	vmovd	-4(%r9),%xmm6
5593	vpinsrd	$1,-4(%r14),%xmm10,%xmm10
5594	vpinsrd	$1,-4(%r10),%xmm8,%xmm8
5595	vpinsrd	$1,-4(%r15),%xmm7,%xmm7
5596	vpunpckldq	%ymm7,%ymm10,%ymm10
5597	vpinsrd	$1,-4(%r11),%xmm6,%xmm6
5598	vpunpckldq	%ymm6,%ymm8,%ymm8
5599	vpaddd	%ymm15,%ymm0,%ymm0
5600	prefetcht0	63(%r12)
5601	vpslld	$5,%ymm1,%ymm7
5602	vpandn	%ymm4,%ymm2,%ymm6
5603	vpand	%ymm3,%ymm2,%ymm5
5604
5605	vmovdqa	%ymm14,448-256-128(%rbx)
5606	vpaddd	%ymm14,%ymm0,%ymm0
5607	vinserti128	$1,%xmm8,%ymm10,%ymm10
5608	vpsrld	$27,%ymm1,%ymm8
5609	prefetcht0	63(%r13)
5610	vpxor	%ymm6,%ymm5,%ymm5
5611
5612	vpslld	$30,%ymm2,%ymm6
5613	vpor	%ymm8,%ymm7,%ymm7
5614	prefetcht0	63(%r14)
5615	vpaddd	%ymm5,%ymm0,%ymm0
5616
5617	vpsrld	$2,%ymm2,%ymm2
5618	vpaddd	%ymm7,%ymm0,%ymm0
5619	prefetcht0	63(%r15)
5620	vpshufb	%ymm9,%ymm10,%ymm10
5621	vpor	%ymm6,%ymm2,%ymm2
5622	vmovdqa	32-128(%rax),%ymm12
5623	vpxor	%ymm13,%ymm11,%ymm11
5624	vmovdqa	64-128(%rax),%ymm13
5625
5626	vpaddd	%ymm15,%ymm4,%ymm4
5627	vpslld	$5,%ymm0,%ymm7
5628	vpandn	%ymm3,%ymm1,%ymm6
5629	prefetcht0	63(%r8)
5630	vpand	%ymm2,%ymm1,%ymm5
5631
5632	vmovdqa	%ymm10,480-256-128(%rbx)
5633	vpaddd	%ymm10,%ymm4,%ymm4
5634	vpxor	256-256-128(%rbx),%ymm11,%ymm11
5635	vpsrld	$27,%ymm0,%ymm8
5636	vpxor	%ymm6,%ymm5,%ymm5
5637	vpxor	%ymm13,%ymm11,%ymm11
5638	prefetcht0	63(%r9)
5639
5640	vpslld	$30,%ymm1,%ymm6
5641	vpor	%ymm8,%ymm7,%ymm7
5642	vpaddd	%ymm5,%ymm4,%ymm4
5643	prefetcht0	63(%r10)
5644	vpsrld	$31,%ymm11,%ymm9
5645	vpaddd	%ymm11,%ymm11,%ymm11
5646
5647	vpsrld	$2,%ymm1,%ymm1
5648	prefetcht0	63(%r11)
5649	vpaddd	%ymm7,%ymm4,%ymm4
5650	vpor	%ymm9,%ymm11,%ymm11
5651	vpor	%ymm6,%ymm1,%ymm1
5652	vpxor	%ymm14,%ymm12,%ymm12
5653	vmovdqa	96-128(%rax),%ymm14
5654
5655	vpaddd	%ymm15,%ymm3,%ymm3
5656	vpslld	$5,%ymm4,%ymm7
5657	vpandn	%ymm2,%ymm0,%ymm6
5658
5659	vpand	%ymm1,%ymm0,%ymm5
5660
5661	vmovdqa	%ymm11,0-128(%rax)
5662	vpaddd	%ymm11,%ymm3,%ymm3
5663	vpxor	288-256-128(%rbx),%ymm12,%ymm12
5664	vpsrld	$27,%ymm4,%ymm8
5665	vpxor	%ymm6,%ymm5,%ymm5
5666	vpxor	%ymm14,%ymm12,%ymm12
5667
5668
5669	vpslld	$30,%ymm0,%ymm6
5670	vpor	%ymm8,%ymm7,%ymm7
5671	vpaddd	%ymm5,%ymm3,%ymm3
5672
5673	vpsrld	$31,%ymm12,%ymm9
5674	vpaddd	%ymm12,%ymm12,%ymm12
5675
5676	vpsrld	$2,%ymm0,%ymm0
5677
5678	vpaddd	%ymm7,%ymm3,%ymm3
5679	vpor	%ymm9,%ymm12,%ymm12
5680	vpor	%ymm6,%ymm0,%ymm0
5681	vpxor	%ymm10,%ymm13,%ymm13
5682	vmovdqa	128-128(%rax),%ymm10
5683
5684	vpaddd	%ymm15,%ymm2,%ymm2
5685	vpslld	$5,%ymm3,%ymm7
5686	vpandn	%ymm1,%ymm4,%ymm6
5687
5688	vpand	%ymm0,%ymm4,%ymm5
5689
5690	vmovdqa	%ymm12,32-128(%rax)
5691	vpaddd	%ymm12,%ymm2,%ymm2
5692	vpxor	320-256-128(%rbx),%ymm13,%ymm13
5693	vpsrld	$27,%ymm3,%ymm8
5694	vpxor	%ymm6,%ymm5,%ymm5
5695	vpxor	%ymm10,%ymm13,%ymm13
5696
5697
5698	vpslld	$30,%ymm4,%ymm6
5699	vpor	%ymm8,%ymm7,%ymm7
5700	vpaddd	%ymm5,%ymm2,%ymm2
5701
5702	vpsrld	$31,%ymm13,%ymm9
5703	vpaddd	%ymm13,%ymm13,%ymm13
5704
5705	vpsrld	$2,%ymm4,%ymm4
5706
5707	vpaddd	%ymm7,%ymm2,%ymm2
5708	vpor	%ymm9,%ymm13,%ymm13
5709	vpor	%ymm6,%ymm4,%ymm4
5710	vpxor	%ymm11,%ymm14,%ymm14
5711	vmovdqa	160-128(%rax),%ymm11
5712
5713	vpaddd	%ymm15,%ymm1,%ymm1
5714	vpslld	$5,%ymm2,%ymm7
5715	vpandn	%ymm0,%ymm3,%ymm6
5716
5717	vpand	%ymm4,%ymm3,%ymm5
5718
5719	vmovdqa	%ymm13,64-128(%rax)
5720	vpaddd	%ymm13,%ymm1,%ymm1
5721	vpxor	352-256-128(%rbx),%ymm14,%ymm14
5722	vpsrld	$27,%ymm2,%ymm8
5723	vpxor	%ymm6,%ymm5,%ymm5
5724	vpxor	%ymm11,%ymm14,%ymm14
5725
5726
5727	vpslld	$30,%ymm3,%ymm6
5728	vpor	%ymm8,%ymm7,%ymm7
5729	vpaddd	%ymm5,%ymm1,%ymm1
5730
5731	vpsrld	$31,%ymm14,%ymm9
5732	vpaddd	%ymm14,%ymm14,%ymm14
5733
5734	vpsrld	$2,%ymm3,%ymm3
5735
5736	vpaddd	%ymm7,%ymm1,%ymm1
5737	vpor	%ymm9,%ymm14,%ymm14
5738	vpor	%ymm6,%ymm3,%ymm3
5739	vpxor	%ymm12,%ymm10,%ymm10
5740	vmovdqa	192-128(%rax),%ymm12
5741
5742	vpaddd	%ymm15,%ymm0,%ymm0
5743	vpslld	$5,%ymm1,%ymm7
5744	vpandn	%ymm4,%ymm2,%ymm6
5745
5746	vpand	%ymm3,%ymm2,%ymm5
5747
5748	vmovdqa	%ymm14,96-128(%rax)
5749	vpaddd	%ymm14,%ymm0,%ymm0
5750	vpxor	384-256-128(%rbx),%ymm10,%ymm10
5751	vpsrld	$27,%ymm1,%ymm8
5752	vpxor	%ymm6,%ymm5,%ymm5
5753	vpxor	%ymm12,%ymm10,%ymm10
5754
5755
5756	vpslld	$30,%ymm2,%ymm6
5757	vpor	%ymm8,%ymm7,%ymm7
5758	vpaddd	%ymm5,%ymm0,%ymm0
5759
5760	vpsrld	$31,%ymm10,%ymm9
5761	vpaddd	%ymm10,%ymm10,%ymm10
5762
5763	vpsrld	$2,%ymm2,%ymm2
5764
5765	vpaddd	%ymm7,%ymm0,%ymm0
5766	vpor	%ymm9,%ymm10,%ymm10
5767	vpor	%ymm6,%ymm2,%ymm2
5768	vmovdqa	0(%rbp),%ymm15
5769	vpxor	%ymm13,%ymm11,%ymm11
5770	vmovdqa	224-128(%rax),%ymm13
5771
5772	vpslld	$5,%ymm0,%ymm7
5773	vpaddd	%ymm15,%ymm4,%ymm4
5774	vpxor	%ymm1,%ymm3,%ymm5
5775	vmovdqa	%ymm10,128-128(%rax)
5776	vpaddd	%ymm10,%ymm4,%ymm4
5777	vpxor	416-256-128(%rbx),%ymm11,%ymm11
5778	vpsrld	$27,%ymm0,%ymm8
5779	vpxor	%ymm2,%ymm5,%ymm5
5780	vpxor	%ymm13,%ymm11,%ymm11
5781
5782	vpslld	$30,%ymm1,%ymm6
5783	vpor	%ymm8,%ymm7,%ymm7
5784	vpaddd	%ymm5,%ymm4,%ymm4
5785	vpsrld	$31,%ymm11,%ymm9
5786	vpaddd	%ymm11,%ymm11,%ymm11
5787
5788	vpsrld	$2,%ymm1,%ymm1
5789	vpaddd	%ymm7,%ymm4,%ymm4
5790	vpor	%ymm9,%ymm11,%ymm11
5791	vpor	%ymm6,%ymm1,%ymm1
5792	vpxor	%ymm14,%ymm12,%ymm12
5793	vmovdqa	256-256-128(%rbx),%ymm14
5794
5795	vpslld	$5,%ymm4,%ymm7
5796	vpaddd	%ymm15,%ymm3,%ymm3
5797	vpxor	%ymm0,%ymm2,%ymm5
5798	vmovdqa	%ymm11,160-128(%rax)
5799	vpaddd	%ymm11,%ymm3,%ymm3
5800	vpxor	448-256-128(%rbx),%ymm12,%ymm12
5801	vpsrld	$27,%ymm4,%ymm8
5802	vpxor	%ymm1,%ymm5,%ymm5
5803	vpxor	%ymm14,%ymm12,%ymm12
5804
5805	vpslld	$30,%ymm0,%ymm6
5806	vpor	%ymm8,%ymm7,%ymm7
5807	vpaddd	%ymm5,%ymm3,%ymm3
5808	vpsrld	$31,%ymm12,%ymm9
5809	vpaddd	%ymm12,%ymm12,%ymm12
5810
5811	vpsrld	$2,%ymm0,%ymm0
5812	vpaddd	%ymm7,%ymm3,%ymm3
5813	vpor	%ymm9,%ymm12,%ymm12
5814	vpor	%ymm6,%ymm0,%ymm0
5815	vpxor	%ymm10,%ymm13,%ymm13
5816	vmovdqa	288-256-128(%rbx),%ymm10
5817
5818	vpslld	$5,%ymm3,%ymm7
5819	vpaddd	%ymm15,%ymm2,%ymm2
5820	vpxor	%ymm4,%ymm1,%ymm5
5821	vmovdqa	%ymm12,192-128(%rax)
5822	vpaddd	%ymm12,%ymm2,%ymm2
5823	vpxor	480-256-128(%rbx),%ymm13,%ymm13
5824	vpsrld	$27,%ymm3,%ymm8
5825	vpxor	%ymm0,%ymm5,%ymm5
5826	vpxor	%ymm10,%ymm13,%ymm13
5827
5828	vpslld	$30,%ymm4,%ymm6
5829	vpor	%ymm8,%ymm7,%ymm7
5830	vpaddd	%ymm5,%ymm2,%ymm2
5831	vpsrld	$31,%ymm13,%ymm9
5832	vpaddd	%ymm13,%ymm13,%ymm13
5833
5834	vpsrld	$2,%ymm4,%ymm4
5835	vpaddd	%ymm7,%ymm2,%ymm2
5836	vpor	%ymm9,%ymm13,%ymm13
5837	vpor	%ymm6,%ymm4,%ymm4
5838	vpxor	%ymm11,%ymm14,%ymm14
5839	vmovdqa	320-256-128(%rbx),%ymm11
5840
5841	vpslld	$5,%ymm2,%ymm7
5842	vpaddd	%ymm15,%ymm1,%ymm1
5843	vpxor	%ymm3,%ymm0,%ymm5
5844	vmovdqa	%ymm13,224-128(%rax)
5845	vpaddd	%ymm13,%ymm1,%ymm1
5846	vpxor	0-128(%rax),%ymm14,%ymm14
5847	vpsrld	$27,%ymm2,%ymm8
5848	vpxor	%ymm4,%ymm5,%ymm5
5849	vpxor	%ymm11,%ymm14,%ymm14
5850
5851	vpslld	$30,%ymm3,%ymm6
5852	vpor	%ymm8,%ymm7,%ymm7
5853	vpaddd	%ymm5,%ymm1,%ymm1
5854	vpsrld	$31,%ymm14,%ymm9
5855	vpaddd	%ymm14,%ymm14,%ymm14
5856
5857	vpsrld	$2,%ymm3,%ymm3
5858	vpaddd	%ymm7,%ymm1,%ymm1
5859	vpor	%ymm9,%ymm14,%ymm14
5860	vpor	%ymm6,%ymm3,%ymm3
5861	vpxor	%ymm12,%ymm10,%ymm10
5862	vmovdqa	352-256-128(%rbx),%ymm12
5863
5864	vpslld	$5,%ymm1,%ymm7
5865	vpaddd	%ymm15,%ymm0,%ymm0
5866	vpxor	%ymm2,%ymm4,%ymm5
5867	vmovdqa	%ymm14,256-256-128(%rbx)
5868	vpaddd	%ymm14,%ymm0,%ymm0
5869	vpxor	32-128(%rax),%ymm10,%ymm10
5870	vpsrld	$27,%ymm1,%ymm8
5871	vpxor	%ymm3,%ymm5,%ymm5
5872	vpxor	%ymm12,%ymm10,%ymm10
5873
5874	vpslld	$30,%ymm2,%ymm6
5875	vpor	%ymm8,%ymm7,%ymm7
5876	vpaddd	%ymm5,%ymm0,%ymm0
5877	vpsrld	$31,%ymm10,%ymm9
5878	vpaddd	%ymm10,%ymm10,%ymm10
5879
5880	vpsrld	$2,%ymm2,%ymm2
5881	vpaddd	%ymm7,%ymm0,%ymm0
5882	vpor	%ymm9,%ymm10,%ymm10
5883	vpor	%ymm6,%ymm2,%ymm2
5884	vpxor	%ymm13,%ymm11,%ymm11
5885	vmovdqa	384-256-128(%rbx),%ymm13
5886
5887	vpslld	$5,%ymm0,%ymm7
5888	vpaddd	%ymm15,%ymm4,%ymm4
5889	vpxor	%ymm1,%ymm3,%ymm5
5890	vmovdqa	%ymm10,288-256-128(%rbx)
5891	vpaddd	%ymm10,%ymm4,%ymm4
5892	vpxor	64-128(%rax),%ymm11,%ymm11
5893	vpsrld	$27,%ymm0,%ymm8
5894	vpxor	%ymm2,%ymm5,%ymm5
5895	vpxor	%ymm13,%ymm11,%ymm11
5896
5897	vpslld	$30,%ymm1,%ymm6
5898	vpor	%ymm8,%ymm7,%ymm7
5899	vpaddd	%ymm5,%ymm4,%ymm4
5900	vpsrld	$31,%ymm11,%ymm9
5901	vpaddd	%ymm11,%ymm11,%ymm11
5902
5903	vpsrld	$2,%ymm1,%ymm1
5904	vpaddd	%ymm7,%ymm4,%ymm4
5905	vpor	%ymm9,%ymm11,%ymm11
5906	vpor	%ymm6,%ymm1,%ymm1
5907	vpxor	%ymm14,%ymm12,%ymm12
5908	vmovdqa	416-256-128(%rbx),%ymm14
5909
5910	vpslld	$5,%ymm4,%ymm7
5911	vpaddd	%ymm15,%ymm3,%ymm3
5912	vpxor	%ymm0,%ymm2,%ymm5
5913	vmovdqa	%ymm11,320-256-128(%rbx)
5914	vpaddd	%ymm11,%ymm3,%ymm3
5915	vpxor	96-128(%rax),%ymm12,%ymm12
5916	vpsrld	$27,%ymm4,%ymm8
5917	vpxor	%ymm1,%ymm5,%ymm5
5918	vpxor	%ymm14,%ymm12,%ymm12
5919
5920	vpslld	$30,%ymm0,%ymm6
5921	vpor	%ymm8,%ymm7,%ymm7
5922	vpaddd	%ymm5,%ymm3,%ymm3
5923	vpsrld	$31,%ymm12,%ymm9
5924	vpaddd	%ymm12,%ymm12,%ymm12
5925
5926	vpsrld	$2,%ymm0,%ymm0
5927	vpaddd	%ymm7,%ymm3,%ymm3
5928	vpor	%ymm9,%ymm12,%ymm12
5929	vpor	%ymm6,%ymm0,%ymm0
5930	vpxor	%ymm10,%ymm13,%ymm13
5931	vmovdqa	448-256-128(%rbx),%ymm10
5932
5933	vpslld	$5,%ymm3,%ymm7
5934	vpaddd	%ymm15,%ymm2,%ymm2
5935	vpxor	%ymm4,%ymm1,%ymm5
5936	vmovdqa	%ymm12,352-256-128(%rbx)
5937	vpaddd	%ymm12,%ymm2,%ymm2
5938	vpxor	128-128(%rax),%ymm13,%ymm13
5939	vpsrld	$27,%ymm3,%ymm8
5940	vpxor	%ymm0,%ymm5,%ymm5
5941	vpxor	%ymm10,%ymm13,%ymm13
5942
5943	vpslld	$30,%ymm4,%ymm6
5944	vpor	%ymm8,%ymm7,%ymm7
5945	vpaddd	%ymm5,%ymm2,%ymm2
5946	vpsrld	$31,%ymm13,%ymm9
5947	vpaddd	%ymm13,%ymm13,%ymm13
5948
5949	vpsrld	$2,%ymm4,%ymm4
5950	vpaddd	%ymm7,%ymm2,%ymm2
5951	vpor	%ymm9,%ymm13,%ymm13
5952	vpor	%ymm6,%ymm4,%ymm4
5953	vpxor	%ymm11,%ymm14,%ymm14
5954	vmovdqa	480-256-128(%rbx),%ymm11
5955
5956	vpslld	$5,%ymm2,%ymm7
5957	vpaddd	%ymm15,%ymm1,%ymm1
5958	vpxor	%ymm3,%ymm0,%ymm5
5959	vmovdqa	%ymm13,384-256-128(%rbx)
5960	vpaddd	%ymm13,%ymm1,%ymm1
5961	vpxor	160-128(%rax),%ymm14,%ymm14
5962	vpsrld	$27,%ymm2,%ymm8
5963	vpxor	%ymm4,%ymm5,%ymm5
5964	vpxor	%ymm11,%ymm14,%ymm14
5965
5966	vpslld	$30,%ymm3,%ymm6
5967	vpor	%ymm8,%ymm7,%ymm7
5968	vpaddd	%ymm5,%ymm1,%ymm1
5969	vpsrld	$31,%ymm14,%ymm9
5970	vpaddd	%ymm14,%ymm14,%ymm14
5971
5972	vpsrld	$2,%ymm3,%ymm3
5973	vpaddd	%ymm7,%ymm1,%ymm1
5974	vpor	%ymm9,%ymm14,%ymm14
5975	vpor	%ymm6,%ymm3,%ymm3
5976	vpxor	%ymm12,%ymm10,%ymm10
5977	vmovdqa	0-128(%rax),%ymm12
5978
5979	vpslld	$5,%ymm1,%ymm7
5980	vpaddd	%ymm15,%ymm0,%ymm0
5981	vpxor	%ymm2,%ymm4,%ymm5
5982	vmovdqa	%ymm14,416-256-128(%rbx)
5983	vpaddd	%ymm14,%ymm0,%ymm0
5984	vpxor	192-128(%rax),%ymm10,%ymm10
5985	vpsrld	$27,%ymm1,%ymm8
5986	vpxor	%ymm3,%ymm5,%ymm5
5987	vpxor	%ymm12,%ymm10,%ymm10
5988
5989	vpslld	$30,%ymm2,%ymm6
5990	vpor	%ymm8,%ymm7,%ymm7
5991	vpaddd	%ymm5,%ymm0,%ymm0
5992	vpsrld	$31,%ymm10,%ymm9
5993	vpaddd	%ymm10,%ymm10,%ymm10
5994
5995	vpsrld	$2,%ymm2,%ymm2
5996	vpaddd	%ymm7,%ymm0,%ymm0
5997	vpor	%ymm9,%ymm10,%ymm10
5998	vpor	%ymm6,%ymm2,%ymm2
5999	vpxor	%ymm13,%ymm11,%ymm11
6000	vmovdqa	32-128(%rax),%ymm13
6001
6002	vpslld	$5,%ymm0,%ymm7
6003	vpaddd	%ymm15,%ymm4,%ymm4
6004	vpxor	%ymm1,%ymm3,%ymm5
6005	vmovdqa	%ymm10,448-256-128(%rbx)
6006	vpaddd	%ymm10,%ymm4,%ymm4
6007	vpxor	224-128(%rax),%ymm11,%ymm11
6008	vpsrld	$27,%ymm0,%ymm8
6009	vpxor	%ymm2,%ymm5,%ymm5
6010	vpxor	%ymm13,%ymm11,%ymm11
6011
6012	vpslld	$30,%ymm1,%ymm6
6013	vpor	%ymm8,%ymm7,%ymm7
6014	vpaddd	%ymm5,%ymm4,%ymm4
6015	vpsrld	$31,%ymm11,%ymm9
6016	vpaddd	%ymm11,%ymm11,%ymm11
6017
6018	vpsrld	$2,%ymm1,%ymm1
6019	vpaddd	%ymm7,%ymm4,%ymm4
6020	vpor	%ymm9,%ymm11,%ymm11
6021	vpor	%ymm6,%ymm1,%ymm1
6022	vpxor	%ymm14,%ymm12,%ymm12
6023	vmovdqa	64-128(%rax),%ymm14
6024
6025	vpslld	$5,%ymm4,%ymm7
6026	vpaddd	%ymm15,%ymm3,%ymm3
6027	vpxor	%ymm0,%ymm2,%ymm5
6028	vmovdqa	%ymm11,480-256-128(%rbx)
6029	vpaddd	%ymm11,%ymm3,%ymm3
6030	vpxor	256-256-128(%rbx),%ymm12,%ymm12
6031	vpsrld	$27,%ymm4,%ymm8
6032	vpxor	%ymm1,%ymm5,%ymm5
6033	vpxor	%ymm14,%ymm12,%ymm12
6034
6035	vpslld	$30,%ymm0,%ymm6
6036	vpor	%ymm8,%ymm7,%ymm7
6037	vpaddd	%ymm5,%ymm3,%ymm3
6038	vpsrld	$31,%ymm12,%ymm9
6039	vpaddd	%ymm12,%ymm12,%ymm12
6040
6041	vpsrld	$2,%ymm0,%ymm0
6042	vpaddd	%ymm7,%ymm3,%ymm3
6043	vpor	%ymm9,%ymm12,%ymm12
6044	vpor	%ymm6,%ymm0,%ymm0
6045	vpxor	%ymm10,%ymm13,%ymm13
6046	vmovdqa	96-128(%rax),%ymm10
6047
6048	vpslld	$5,%ymm3,%ymm7
6049	vpaddd	%ymm15,%ymm2,%ymm2
6050	vpxor	%ymm4,%ymm1,%ymm5
6051	vmovdqa	%ymm12,0-128(%rax)
6052	vpaddd	%ymm12,%ymm2,%ymm2
6053	vpxor	288-256-128(%rbx),%ymm13,%ymm13
6054	vpsrld	$27,%ymm3,%ymm8
6055	vpxor	%ymm0,%ymm5,%ymm5
6056	vpxor	%ymm10,%ymm13,%ymm13
6057
6058	vpslld	$30,%ymm4,%ymm6
6059	vpor	%ymm8,%ymm7,%ymm7
6060	vpaddd	%ymm5,%ymm2,%ymm2
6061	vpsrld	$31,%ymm13,%ymm9
6062	vpaddd	%ymm13,%ymm13,%ymm13
6063
6064	vpsrld	$2,%ymm4,%ymm4
6065	vpaddd	%ymm7,%ymm2,%ymm2
6066	vpor	%ymm9,%ymm13,%ymm13
6067	vpor	%ymm6,%ymm4,%ymm4
6068	vpxor	%ymm11,%ymm14,%ymm14
6069	vmovdqa	128-128(%rax),%ymm11
6070
6071	vpslld	$5,%ymm2,%ymm7
6072	vpaddd	%ymm15,%ymm1,%ymm1
6073	vpxor	%ymm3,%ymm0,%ymm5
6074	vmovdqa	%ymm13,32-128(%rax)
6075	vpaddd	%ymm13,%ymm1,%ymm1
6076	vpxor	320-256-128(%rbx),%ymm14,%ymm14
6077	vpsrld	$27,%ymm2,%ymm8
6078	vpxor	%ymm4,%ymm5,%ymm5
6079	vpxor	%ymm11,%ymm14,%ymm14
6080
6081	vpslld	$30,%ymm3,%ymm6
6082	vpor	%ymm8,%ymm7,%ymm7
6083	vpaddd	%ymm5,%ymm1,%ymm1
6084	vpsrld	$31,%ymm14,%ymm9
6085	vpaddd	%ymm14,%ymm14,%ymm14
6086
6087	vpsrld	$2,%ymm3,%ymm3
6088	vpaddd	%ymm7,%ymm1,%ymm1
6089	vpor	%ymm9,%ymm14,%ymm14
6090	vpor	%ymm6,%ymm3,%ymm3
6091	vpxor	%ymm12,%ymm10,%ymm10
6092	vmovdqa	160-128(%rax),%ymm12
6093
6094	vpslld	$5,%ymm1,%ymm7
6095	vpaddd	%ymm15,%ymm0,%ymm0
6096	vpxor	%ymm2,%ymm4,%ymm5
6097	vmovdqa	%ymm14,64-128(%rax)
6098	vpaddd	%ymm14,%ymm0,%ymm0
6099	vpxor	352-256-128(%rbx),%ymm10,%ymm10
6100	vpsrld	$27,%ymm1,%ymm8
6101	vpxor	%ymm3,%ymm5,%ymm5
6102	vpxor	%ymm12,%ymm10,%ymm10
6103
6104	vpslld	$30,%ymm2,%ymm6
6105	vpor	%ymm8,%ymm7,%ymm7
6106	vpaddd	%ymm5,%ymm0,%ymm0
6107	vpsrld	$31,%ymm10,%ymm9
6108	vpaddd	%ymm10,%ymm10,%ymm10
6109
6110	vpsrld	$2,%ymm2,%ymm2
6111	vpaddd	%ymm7,%ymm0,%ymm0
6112	vpor	%ymm9,%ymm10,%ymm10
6113	vpor	%ymm6,%ymm2,%ymm2
6114	vpxor	%ymm13,%ymm11,%ymm11
6115	vmovdqa	192-128(%rax),%ymm13
6116
6117	vpslld	$5,%ymm0,%ymm7
6118	vpaddd	%ymm15,%ymm4,%ymm4
6119	vpxor	%ymm1,%ymm3,%ymm5
6120	vmovdqa	%ymm10,96-128(%rax)
6121	vpaddd	%ymm10,%ymm4,%ymm4
6122	vpxor	384-256-128(%rbx),%ymm11,%ymm11
6123	vpsrld	$27,%ymm0,%ymm8
6124	vpxor	%ymm2,%ymm5,%ymm5
6125	vpxor	%ymm13,%ymm11,%ymm11
6126
6127	vpslld	$30,%ymm1,%ymm6
6128	vpor	%ymm8,%ymm7,%ymm7
6129	vpaddd	%ymm5,%ymm4,%ymm4
6130	vpsrld	$31,%ymm11,%ymm9
6131	vpaddd	%ymm11,%ymm11,%ymm11
6132
6133	vpsrld	$2,%ymm1,%ymm1
6134	vpaddd	%ymm7,%ymm4,%ymm4
6135	vpor	%ymm9,%ymm11,%ymm11
6136	vpor	%ymm6,%ymm1,%ymm1
6137	vpxor	%ymm14,%ymm12,%ymm12
6138	vmovdqa	224-128(%rax),%ymm14
6139
6140	vpslld	$5,%ymm4,%ymm7
6141	vpaddd	%ymm15,%ymm3,%ymm3
6142	vpxor	%ymm0,%ymm2,%ymm5
6143	vmovdqa	%ymm11,128-128(%rax)
6144	vpaddd	%ymm11,%ymm3,%ymm3
6145	vpxor	416-256-128(%rbx),%ymm12,%ymm12
6146	vpsrld	$27,%ymm4,%ymm8
6147	vpxor	%ymm1,%ymm5,%ymm5
6148	vpxor	%ymm14,%ymm12,%ymm12
6149
6150	vpslld	$30,%ymm0,%ymm6
6151	vpor	%ymm8,%ymm7,%ymm7
6152	vpaddd	%ymm5,%ymm3,%ymm3
6153	vpsrld	$31,%ymm12,%ymm9
6154	vpaddd	%ymm12,%ymm12,%ymm12
6155
6156	vpsrld	$2,%ymm0,%ymm0
6157	vpaddd	%ymm7,%ymm3,%ymm3
6158	vpor	%ymm9,%ymm12,%ymm12
6159	vpor	%ymm6,%ymm0,%ymm0
6160	vpxor	%ymm10,%ymm13,%ymm13
6161	vmovdqa	256-256-128(%rbx),%ymm10
6162
6163	vpslld	$5,%ymm3,%ymm7
6164	vpaddd	%ymm15,%ymm2,%ymm2
6165	vpxor	%ymm4,%ymm1,%ymm5
6166	vmovdqa	%ymm12,160-128(%rax)
6167	vpaddd	%ymm12,%ymm2,%ymm2
6168	vpxor	448-256-128(%rbx),%ymm13,%ymm13
6169	vpsrld	$27,%ymm3,%ymm8
6170	vpxor	%ymm0,%ymm5,%ymm5
6171	vpxor	%ymm10,%ymm13,%ymm13
6172
6173	vpslld	$30,%ymm4,%ymm6
6174	vpor	%ymm8,%ymm7,%ymm7
6175	vpaddd	%ymm5,%ymm2,%ymm2
6176	vpsrld	$31,%ymm13,%ymm9
6177	vpaddd	%ymm13,%ymm13,%ymm13
6178
6179	vpsrld	$2,%ymm4,%ymm4
6180	vpaddd	%ymm7,%ymm2,%ymm2
6181	vpor	%ymm9,%ymm13,%ymm13
6182	vpor	%ymm6,%ymm4,%ymm4
6183	vpxor	%ymm11,%ymm14,%ymm14
6184	vmovdqa	288-256-128(%rbx),%ymm11
6185
6186	vpslld	$5,%ymm2,%ymm7
6187	vpaddd	%ymm15,%ymm1,%ymm1
6188	vpxor	%ymm3,%ymm0,%ymm5
6189	vmovdqa	%ymm13,192-128(%rax)
6190	vpaddd	%ymm13,%ymm1,%ymm1
6191	vpxor	480-256-128(%rbx),%ymm14,%ymm14
6192	vpsrld	$27,%ymm2,%ymm8
6193	vpxor	%ymm4,%ymm5,%ymm5
6194	vpxor	%ymm11,%ymm14,%ymm14
6195
6196	vpslld	$30,%ymm3,%ymm6
6197	vpor	%ymm8,%ymm7,%ymm7
6198	vpaddd	%ymm5,%ymm1,%ymm1
6199	vpsrld	$31,%ymm14,%ymm9
6200	vpaddd	%ymm14,%ymm14,%ymm14
6201
6202	vpsrld	$2,%ymm3,%ymm3
6203	vpaddd	%ymm7,%ymm1,%ymm1
6204	vpor	%ymm9,%ymm14,%ymm14
6205	vpor	%ymm6,%ymm3,%ymm3
6206	vpxor	%ymm12,%ymm10,%ymm10
6207	vmovdqa	320-256-128(%rbx),%ymm12
6208
6209	vpslld	$5,%ymm1,%ymm7
6210	vpaddd	%ymm15,%ymm0,%ymm0
6211	vpxor	%ymm2,%ymm4,%ymm5
6212	vmovdqa	%ymm14,224-128(%rax)
6213	vpaddd	%ymm14,%ymm0,%ymm0
6214	vpxor	0-128(%rax),%ymm10,%ymm10
6215	vpsrld	$27,%ymm1,%ymm8
6216	vpxor	%ymm3,%ymm5,%ymm5
6217	vpxor	%ymm12,%ymm10,%ymm10
6218
6219	vpslld	$30,%ymm2,%ymm6
6220	vpor	%ymm8,%ymm7,%ymm7
6221	vpaddd	%ymm5,%ymm0,%ymm0
6222	vpsrld	$31,%ymm10,%ymm9
6223	vpaddd	%ymm10,%ymm10,%ymm10
6224
6225	vpsrld	$2,%ymm2,%ymm2
6226	vpaddd	%ymm7,%ymm0,%ymm0
6227	vpor	%ymm9,%ymm10,%ymm10
6228	vpor	%ymm6,%ymm2,%ymm2
6229	vmovdqa	32(%rbp),%ymm15
6230	vpxor	%ymm13,%ymm11,%ymm11
6231	vmovdqa	352-256-128(%rbx),%ymm13
6232
6233	vpaddd	%ymm15,%ymm4,%ymm4
6234	vpslld	$5,%ymm0,%ymm7
6235	vpand	%ymm2,%ymm3,%ymm6
6236	vpxor	32-128(%rax),%ymm11,%ymm11
6237
6238	vpaddd	%ymm6,%ymm4,%ymm4
6239	vpsrld	$27,%ymm0,%ymm8
6240	vpxor	%ymm2,%ymm3,%ymm5
6241	vpxor	%ymm13,%ymm11,%ymm11
6242
6243	vmovdqu	%ymm10,256-256-128(%rbx)
6244	vpaddd	%ymm10,%ymm4,%ymm4
6245	vpor	%ymm8,%ymm7,%ymm7
6246	vpsrld	$31,%ymm11,%ymm9
6247	vpand	%ymm1,%ymm5,%ymm5
6248	vpaddd	%ymm11,%ymm11,%ymm11
6249
6250	vpslld	$30,%ymm1,%ymm6
6251	vpaddd	%ymm5,%ymm4,%ymm4
6252
6253	vpsrld	$2,%ymm1,%ymm1
6254	vpaddd	%ymm7,%ymm4,%ymm4
6255	vpor	%ymm9,%ymm11,%ymm11
6256	vpor	%ymm6,%ymm1,%ymm1
6257	vpxor	%ymm14,%ymm12,%ymm12
6258	vmovdqa	384-256-128(%rbx),%ymm14
6259
6260	vpaddd	%ymm15,%ymm3,%ymm3
6261	vpslld	$5,%ymm4,%ymm7
6262	vpand	%ymm1,%ymm2,%ymm6
6263	vpxor	64-128(%rax),%ymm12,%ymm12
6264
6265	vpaddd	%ymm6,%ymm3,%ymm3
6266	vpsrld	$27,%ymm4,%ymm8
6267	vpxor	%ymm1,%ymm2,%ymm5
6268	vpxor	%ymm14,%ymm12,%ymm12
6269
6270	vmovdqu	%ymm11,288-256-128(%rbx)
6271	vpaddd	%ymm11,%ymm3,%ymm3
6272	vpor	%ymm8,%ymm7,%ymm7
6273	vpsrld	$31,%ymm12,%ymm9
6274	vpand	%ymm0,%ymm5,%ymm5
6275	vpaddd	%ymm12,%ymm12,%ymm12
6276
6277	vpslld	$30,%ymm0,%ymm6
6278	vpaddd	%ymm5,%ymm3,%ymm3
6279
6280	vpsrld	$2,%ymm0,%ymm0
6281	vpaddd	%ymm7,%ymm3,%ymm3
6282	vpor	%ymm9,%ymm12,%ymm12
6283	vpor	%ymm6,%ymm0,%ymm0
6284	vpxor	%ymm10,%ymm13,%ymm13
6285	vmovdqa	416-256-128(%rbx),%ymm10
6286
6287	vpaddd	%ymm15,%ymm2,%ymm2
6288	vpslld	$5,%ymm3,%ymm7
6289	vpand	%ymm0,%ymm1,%ymm6
6290	vpxor	96-128(%rax),%ymm13,%ymm13
6291
6292	vpaddd	%ymm6,%ymm2,%ymm2
6293	vpsrld	$27,%ymm3,%ymm8
6294	vpxor	%ymm0,%ymm1,%ymm5
6295	vpxor	%ymm10,%ymm13,%ymm13
6296
6297	vmovdqu	%ymm12,320-256-128(%rbx)
6298	vpaddd	%ymm12,%ymm2,%ymm2
6299	vpor	%ymm8,%ymm7,%ymm7
6300	vpsrld	$31,%ymm13,%ymm9
6301	vpand	%ymm4,%ymm5,%ymm5
6302	vpaddd	%ymm13,%ymm13,%ymm13
6303
6304	vpslld	$30,%ymm4,%ymm6
6305	vpaddd	%ymm5,%ymm2,%ymm2
6306
6307	vpsrld	$2,%ymm4,%ymm4
6308	vpaddd	%ymm7,%ymm2,%ymm2
6309	vpor	%ymm9,%ymm13,%ymm13
6310	vpor	%ymm6,%ymm4,%ymm4
6311	vpxor	%ymm11,%ymm14,%ymm14
6312	vmovdqa	448-256-128(%rbx),%ymm11
6313
6314	vpaddd	%ymm15,%ymm1,%ymm1
6315	vpslld	$5,%ymm2,%ymm7
6316	vpand	%ymm4,%ymm0,%ymm6
6317	vpxor	128-128(%rax),%ymm14,%ymm14
6318
6319	vpaddd	%ymm6,%ymm1,%ymm1
6320	vpsrld	$27,%ymm2,%ymm8
6321	vpxor	%ymm4,%ymm0,%ymm5
6322	vpxor	%ymm11,%ymm14,%ymm14
6323
6324	vmovdqu	%ymm13,352-256-128(%rbx)
6325	vpaddd	%ymm13,%ymm1,%ymm1
6326	vpor	%ymm8,%ymm7,%ymm7
6327	vpsrld	$31,%ymm14,%ymm9
6328	vpand	%ymm3,%ymm5,%ymm5
6329	vpaddd	%ymm14,%ymm14,%ymm14
6330
6331	vpslld	$30,%ymm3,%ymm6
6332	vpaddd	%ymm5,%ymm1,%ymm1
6333
6334	vpsrld	$2,%ymm3,%ymm3
6335	vpaddd	%ymm7,%ymm1,%ymm1
6336	vpor	%ymm9,%ymm14,%ymm14
6337	vpor	%ymm6,%ymm3,%ymm3
6338	vpxor	%ymm12,%ymm10,%ymm10
6339	vmovdqa	480-256-128(%rbx),%ymm12
6340
6341	vpaddd	%ymm15,%ymm0,%ymm0
6342	vpslld	$5,%ymm1,%ymm7
6343	vpand	%ymm3,%ymm4,%ymm6
6344	vpxor	160-128(%rax),%ymm10,%ymm10
6345
6346	vpaddd	%ymm6,%ymm0,%ymm0
6347	vpsrld	$27,%ymm1,%ymm8
6348	vpxor	%ymm3,%ymm4,%ymm5
6349	vpxor	%ymm12,%ymm10,%ymm10
6350
6351	vmovdqu	%ymm14,384-256-128(%rbx)
6352	vpaddd	%ymm14,%ymm0,%ymm0
6353	vpor	%ymm8,%ymm7,%ymm7
6354	vpsrld	$31,%ymm10,%ymm9
6355	vpand	%ymm2,%ymm5,%ymm5
6356	vpaddd	%ymm10,%ymm10,%ymm10
6357
6358	vpslld	$30,%ymm2,%ymm6
6359	vpaddd	%ymm5,%ymm0,%ymm0
6360
6361	vpsrld	$2,%ymm2,%ymm2
6362	vpaddd	%ymm7,%ymm0,%ymm0
6363	vpor	%ymm9,%ymm10,%ymm10
6364	vpor	%ymm6,%ymm2,%ymm2
6365	vpxor	%ymm13,%ymm11,%ymm11
6366	vmovdqa	0-128(%rax),%ymm13
6367
6368	vpaddd	%ymm15,%ymm4,%ymm4
6369	vpslld	$5,%ymm0,%ymm7
6370	vpand	%ymm2,%ymm3,%ymm6
6371	vpxor	192-128(%rax),%ymm11,%ymm11
6372
6373	vpaddd	%ymm6,%ymm4,%ymm4
6374	vpsrld	$27,%ymm0,%ymm8
6375	vpxor	%ymm2,%ymm3,%ymm5
6376	vpxor	%ymm13,%ymm11,%ymm11
6377
6378	vmovdqu	%ymm10,416-256-128(%rbx)
6379	vpaddd	%ymm10,%ymm4,%ymm4
6380	vpor	%ymm8,%ymm7,%ymm7
6381	vpsrld	$31,%ymm11,%ymm9
6382	vpand	%ymm1,%ymm5,%ymm5
6383	vpaddd	%ymm11,%ymm11,%ymm11
6384
6385	vpslld	$30,%ymm1,%ymm6
6386	vpaddd	%ymm5,%ymm4,%ymm4
6387
6388	vpsrld	$2,%ymm1,%ymm1
6389	vpaddd	%ymm7,%ymm4,%ymm4
6390	vpor	%ymm9,%ymm11,%ymm11
6391	vpor	%ymm6,%ymm1,%ymm1
6392	vpxor	%ymm14,%ymm12,%ymm12
6393	vmovdqa	32-128(%rax),%ymm14
6394
6395	vpaddd	%ymm15,%ymm3,%ymm3
6396	vpslld	$5,%ymm4,%ymm7
6397	vpand	%ymm1,%ymm2,%ymm6
6398	vpxor	224-128(%rax),%ymm12,%ymm12
6399
6400	vpaddd	%ymm6,%ymm3,%ymm3
6401	vpsrld	$27,%ymm4,%ymm8
6402	vpxor	%ymm1,%ymm2,%ymm5
6403	vpxor	%ymm14,%ymm12,%ymm12
6404
6405	vmovdqu	%ymm11,448-256-128(%rbx)
6406	vpaddd	%ymm11,%ymm3,%ymm3
6407	vpor	%ymm8,%ymm7,%ymm7
6408	vpsrld	$31,%ymm12,%ymm9
6409	vpand	%ymm0,%ymm5,%ymm5
6410	vpaddd	%ymm12,%ymm12,%ymm12
6411
6412	vpslld	$30,%ymm0,%ymm6
6413	vpaddd	%ymm5,%ymm3,%ymm3
6414
6415	vpsrld	$2,%ymm0,%ymm0
6416	vpaddd	%ymm7,%ymm3,%ymm3
6417	vpor	%ymm9,%ymm12,%ymm12
6418	vpor	%ymm6,%ymm0,%ymm0
6419	vpxor	%ymm10,%ymm13,%ymm13
6420	vmovdqa	64-128(%rax),%ymm10
6421
6422	vpaddd	%ymm15,%ymm2,%ymm2
6423	vpslld	$5,%ymm3,%ymm7
6424	vpand	%ymm0,%ymm1,%ymm6
6425	vpxor	256-256-128(%rbx),%ymm13,%ymm13
6426
6427	vpaddd	%ymm6,%ymm2,%ymm2
6428	vpsrld	$27,%ymm3,%ymm8
6429	vpxor	%ymm0,%ymm1,%ymm5
6430	vpxor	%ymm10,%ymm13,%ymm13
6431
6432	vmovdqu	%ymm12,480-256-128(%rbx)
6433	vpaddd	%ymm12,%ymm2,%ymm2
6434	vpor	%ymm8,%ymm7,%ymm7
6435	vpsrld	$31,%ymm13,%ymm9
6436	vpand	%ymm4,%ymm5,%ymm5
6437	vpaddd	%ymm13,%ymm13,%ymm13
6438
6439	vpslld	$30,%ymm4,%ymm6
6440	vpaddd	%ymm5,%ymm2,%ymm2
6441
6442	vpsrld	$2,%ymm4,%ymm4
6443	vpaddd	%ymm7,%ymm2,%ymm2
6444	vpor	%ymm9,%ymm13,%ymm13
6445	vpor	%ymm6,%ymm4,%ymm4
6446	vpxor	%ymm11,%ymm14,%ymm14
6447	vmovdqa	96-128(%rax),%ymm11
6448
6449	vpaddd	%ymm15,%ymm1,%ymm1
6450	vpslld	$5,%ymm2,%ymm7
6451	vpand	%ymm4,%ymm0,%ymm6
6452	vpxor	288-256-128(%rbx),%ymm14,%ymm14
6453
6454	vpaddd	%ymm6,%ymm1,%ymm1
6455	vpsrld	$27,%ymm2,%ymm8
6456	vpxor	%ymm4,%ymm0,%ymm5
6457	vpxor	%ymm11,%ymm14,%ymm14
6458
6459	vmovdqu	%ymm13,0-128(%rax)
6460	vpaddd	%ymm13,%ymm1,%ymm1
6461	vpor	%ymm8,%ymm7,%ymm7
6462	vpsrld	$31,%ymm14,%ymm9
6463	vpand	%ymm3,%ymm5,%ymm5
6464	vpaddd	%ymm14,%ymm14,%ymm14
6465
6466	vpslld	$30,%ymm3,%ymm6
6467	vpaddd	%ymm5,%ymm1,%ymm1
6468
6469	vpsrld	$2,%ymm3,%ymm3
6470	vpaddd	%ymm7,%ymm1,%ymm1
6471	vpor	%ymm9,%ymm14,%ymm14
6472	vpor	%ymm6,%ymm3,%ymm3
6473	vpxor	%ymm12,%ymm10,%ymm10
6474	vmovdqa	128-128(%rax),%ymm12
6475
6476	vpaddd	%ymm15,%ymm0,%ymm0
6477	vpslld	$5,%ymm1,%ymm7
6478	vpand	%ymm3,%ymm4,%ymm6
6479	vpxor	320-256-128(%rbx),%ymm10,%ymm10
6480
6481	vpaddd	%ymm6,%ymm0,%ymm0
6482	vpsrld	$27,%ymm1,%ymm8
6483	vpxor	%ymm3,%ymm4,%ymm5
6484	vpxor	%ymm12,%ymm10,%ymm10
6485
6486	vmovdqu	%ymm14,32-128(%rax)
6487	vpaddd	%ymm14,%ymm0,%ymm0
6488	vpor	%ymm8,%ymm7,%ymm7
6489	vpsrld	$31,%ymm10,%ymm9
6490	vpand	%ymm2,%ymm5,%ymm5
6491	vpaddd	%ymm10,%ymm10,%ymm10
6492
6493	vpslld	$30,%ymm2,%ymm6
6494	vpaddd	%ymm5,%ymm0,%ymm0
6495
6496	vpsrld	$2,%ymm2,%ymm2
6497	vpaddd	%ymm7,%ymm0,%ymm0
6498	vpor	%ymm9,%ymm10,%ymm10
6499	vpor	%ymm6,%ymm2,%ymm2
6500	vpxor	%ymm13,%ymm11,%ymm11
6501	vmovdqa	160-128(%rax),%ymm13
6502
6503	vpaddd	%ymm15,%ymm4,%ymm4
6504	vpslld	$5,%ymm0,%ymm7
6505	vpand	%ymm2,%ymm3,%ymm6
6506	vpxor	352-256-128(%rbx),%ymm11,%ymm11
6507
6508	vpaddd	%ymm6,%ymm4,%ymm4
6509	vpsrld	$27,%ymm0,%ymm8
6510	vpxor	%ymm2,%ymm3,%ymm5
6511	vpxor	%ymm13,%ymm11,%ymm11
6512
6513	vmovdqu	%ymm10,64-128(%rax)
6514	vpaddd	%ymm10,%ymm4,%ymm4
6515	vpor	%ymm8,%ymm7,%ymm7
6516	vpsrld	$31,%ymm11,%ymm9
6517	vpand	%ymm1,%ymm5,%ymm5
6518	vpaddd	%ymm11,%ymm11,%ymm11
6519
6520	vpslld	$30,%ymm1,%ymm6
6521	vpaddd	%ymm5,%ymm4,%ymm4
6522
6523	vpsrld	$2,%ymm1,%ymm1
6524	vpaddd	%ymm7,%ymm4,%ymm4
6525	vpor	%ymm9,%ymm11,%ymm11
6526	vpor	%ymm6,%ymm1,%ymm1
6527	vpxor	%ymm14,%ymm12,%ymm12
6528	vmovdqa	192-128(%rax),%ymm14
6529
6530	vpaddd	%ymm15,%ymm3,%ymm3
6531	vpslld	$5,%ymm4,%ymm7
6532	vpand	%ymm1,%ymm2,%ymm6
6533	vpxor	384-256-128(%rbx),%ymm12,%ymm12
6534
6535	vpaddd	%ymm6,%ymm3,%ymm3
6536	vpsrld	$27,%ymm4,%ymm8
6537	vpxor	%ymm1,%ymm2,%ymm5
6538	vpxor	%ymm14,%ymm12,%ymm12
6539
6540	vmovdqu	%ymm11,96-128(%rax)
6541	vpaddd	%ymm11,%ymm3,%ymm3
6542	vpor	%ymm8,%ymm7,%ymm7
6543	vpsrld	$31,%ymm12,%ymm9
6544	vpand	%ymm0,%ymm5,%ymm5
6545	vpaddd	%ymm12,%ymm12,%ymm12
6546
6547	vpslld	$30,%ymm0,%ymm6
6548	vpaddd	%ymm5,%ymm3,%ymm3
6549
6550	vpsrld	$2,%ymm0,%ymm0
6551	vpaddd	%ymm7,%ymm3,%ymm3
6552	vpor	%ymm9,%ymm12,%ymm12
6553	vpor	%ymm6,%ymm0,%ymm0
6554	vpxor	%ymm10,%ymm13,%ymm13
6555	vmovdqa	224-128(%rax),%ymm10
6556
6557	vpaddd	%ymm15,%ymm2,%ymm2
6558	vpslld	$5,%ymm3,%ymm7
6559	vpand	%ymm0,%ymm1,%ymm6
6560	vpxor	416-256-128(%rbx),%ymm13,%ymm13
6561
6562	vpaddd	%ymm6,%ymm2,%ymm2
6563	vpsrld	$27,%ymm3,%ymm8
6564	vpxor	%ymm0,%ymm1,%ymm5
6565	vpxor	%ymm10,%ymm13,%ymm13
6566
6567	vmovdqu	%ymm12,128-128(%rax)
6568	vpaddd	%ymm12,%ymm2,%ymm2
6569	vpor	%ymm8,%ymm7,%ymm7
6570	vpsrld	$31,%ymm13,%ymm9
6571	vpand	%ymm4,%ymm5,%ymm5
6572	vpaddd	%ymm13,%ymm13,%ymm13
6573
6574	vpslld	$30,%ymm4,%ymm6
6575	vpaddd	%ymm5,%ymm2,%ymm2
6576
6577	vpsrld	$2,%ymm4,%ymm4
6578	vpaddd	%ymm7,%ymm2,%ymm2
6579	vpor	%ymm9,%ymm13,%ymm13
6580	vpor	%ymm6,%ymm4,%ymm4
6581	vpxor	%ymm11,%ymm14,%ymm14
6582	vmovdqa	256-256-128(%rbx),%ymm11
6583
6584	vpaddd	%ymm15,%ymm1,%ymm1
6585	vpslld	$5,%ymm2,%ymm7
6586	vpand	%ymm4,%ymm0,%ymm6
6587	vpxor	448-256-128(%rbx),%ymm14,%ymm14
6588
6589	vpaddd	%ymm6,%ymm1,%ymm1
6590	vpsrld	$27,%ymm2,%ymm8
6591	vpxor	%ymm4,%ymm0,%ymm5
6592	vpxor	%ymm11,%ymm14,%ymm14
6593
6594	vmovdqu	%ymm13,160-128(%rax)
6595	vpaddd	%ymm13,%ymm1,%ymm1
6596	vpor	%ymm8,%ymm7,%ymm7
6597	vpsrld	$31,%ymm14,%ymm9
6598	vpand	%ymm3,%ymm5,%ymm5
6599	vpaddd	%ymm14,%ymm14,%ymm14
6600
6601	vpslld	$30,%ymm3,%ymm6
6602	vpaddd	%ymm5,%ymm1,%ymm1
6603
6604	vpsrld	$2,%ymm3,%ymm3
6605	vpaddd	%ymm7,%ymm1,%ymm1
6606	vpor	%ymm9,%ymm14,%ymm14
6607	vpor	%ymm6,%ymm3,%ymm3
6608	vpxor	%ymm12,%ymm10,%ymm10
6609	vmovdqa	288-256-128(%rbx),%ymm12
6610
6611	vpaddd	%ymm15,%ymm0,%ymm0
6612	vpslld	$5,%ymm1,%ymm7
6613	vpand	%ymm3,%ymm4,%ymm6
6614	vpxor	480-256-128(%rbx),%ymm10,%ymm10
6615
6616	vpaddd	%ymm6,%ymm0,%ymm0
6617	vpsrld	$27,%ymm1,%ymm8
6618	vpxor	%ymm3,%ymm4,%ymm5
6619	vpxor	%ymm12,%ymm10,%ymm10
6620
6621	vmovdqu	%ymm14,192-128(%rax)
6622	vpaddd	%ymm14,%ymm0,%ymm0
6623	vpor	%ymm8,%ymm7,%ymm7
6624	vpsrld	$31,%ymm10,%ymm9
6625	vpand	%ymm2,%ymm5,%ymm5
6626	vpaddd	%ymm10,%ymm10,%ymm10
6627
6628	vpslld	$30,%ymm2,%ymm6
6629	vpaddd	%ymm5,%ymm0,%ymm0
6630
6631	vpsrld	$2,%ymm2,%ymm2
6632	vpaddd	%ymm7,%ymm0,%ymm0
6633	vpor	%ymm9,%ymm10,%ymm10
6634	vpor	%ymm6,%ymm2,%ymm2
6635	vpxor	%ymm13,%ymm11,%ymm11
6636	vmovdqa	320-256-128(%rbx),%ymm13
6637
6638	vpaddd	%ymm15,%ymm4,%ymm4
6639	vpslld	$5,%ymm0,%ymm7
6640	vpand	%ymm2,%ymm3,%ymm6
6641	vpxor	0-128(%rax),%ymm11,%ymm11
6642
6643	vpaddd	%ymm6,%ymm4,%ymm4
6644	vpsrld	$27,%ymm0,%ymm8
6645	vpxor	%ymm2,%ymm3,%ymm5
6646	vpxor	%ymm13,%ymm11,%ymm11
6647
6648	vmovdqu	%ymm10,224-128(%rax)
6649	vpaddd	%ymm10,%ymm4,%ymm4
6650	vpor	%ymm8,%ymm7,%ymm7
6651	vpsrld	$31,%ymm11,%ymm9
6652	vpand	%ymm1,%ymm5,%ymm5
6653	vpaddd	%ymm11,%ymm11,%ymm11
6654
6655	vpslld	$30,%ymm1,%ymm6
6656	vpaddd	%ymm5,%ymm4,%ymm4
6657
6658	vpsrld	$2,%ymm1,%ymm1
6659	vpaddd	%ymm7,%ymm4,%ymm4
6660	vpor	%ymm9,%ymm11,%ymm11
6661	vpor	%ymm6,%ymm1,%ymm1
6662	vpxor	%ymm14,%ymm12,%ymm12
6663	vmovdqa	352-256-128(%rbx),%ymm14
6664
6665	vpaddd	%ymm15,%ymm3,%ymm3
6666	vpslld	$5,%ymm4,%ymm7
6667	vpand	%ymm1,%ymm2,%ymm6
6668	vpxor	32-128(%rax),%ymm12,%ymm12
6669
6670	vpaddd	%ymm6,%ymm3,%ymm3
6671	vpsrld	$27,%ymm4,%ymm8
6672	vpxor	%ymm1,%ymm2,%ymm5
6673	vpxor	%ymm14,%ymm12,%ymm12
6674
6675	vmovdqu	%ymm11,256-256-128(%rbx)
6676	vpaddd	%ymm11,%ymm3,%ymm3
6677	vpor	%ymm8,%ymm7,%ymm7
6678	vpsrld	$31,%ymm12,%ymm9
6679	vpand	%ymm0,%ymm5,%ymm5
6680	vpaddd	%ymm12,%ymm12,%ymm12
6681
6682	vpslld	$30,%ymm0,%ymm6
6683	vpaddd	%ymm5,%ymm3,%ymm3
6684
6685	vpsrld	$2,%ymm0,%ymm0
6686	vpaddd	%ymm7,%ymm3,%ymm3
6687	vpor	%ymm9,%ymm12,%ymm12
6688	vpor	%ymm6,%ymm0,%ymm0
6689	vpxor	%ymm10,%ymm13,%ymm13
6690	vmovdqa	384-256-128(%rbx),%ymm10
6691
6692	vpaddd	%ymm15,%ymm2,%ymm2
6693	vpslld	$5,%ymm3,%ymm7
6694	vpand	%ymm0,%ymm1,%ymm6
6695	vpxor	64-128(%rax),%ymm13,%ymm13
6696
6697	vpaddd	%ymm6,%ymm2,%ymm2
6698	vpsrld	$27,%ymm3,%ymm8
6699	vpxor	%ymm0,%ymm1,%ymm5
6700	vpxor	%ymm10,%ymm13,%ymm13
6701
6702	vmovdqu	%ymm12,288-256-128(%rbx)
6703	vpaddd	%ymm12,%ymm2,%ymm2
6704	vpor	%ymm8,%ymm7,%ymm7
6705	vpsrld	$31,%ymm13,%ymm9
6706	vpand	%ymm4,%ymm5,%ymm5
6707	vpaddd	%ymm13,%ymm13,%ymm13
6708
6709	vpslld	$30,%ymm4,%ymm6
6710	vpaddd	%ymm5,%ymm2,%ymm2
6711
6712	vpsrld	$2,%ymm4,%ymm4
6713	vpaddd	%ymm7,%ymm2,%ymm2
6714	vpor	%ymm9,%ymm13,%ymm13
6715	vpor	%ymm6,%ymm4,%ymm4
6716	vpxor	%ymm11,%ymm14,%ymm14
6717	vmovdqa	416-256-128(%rbx),%ymm11
6718
6719	vpaddd	%ymm15,%ymm1,%ymm1
6720	vpslld	$5,%ymm2,%ymm7
6721	vpand	%ymm4,%ymm0,%ymm6
6722	vpxor	96-128(%rax),%ymm14,%ymm14
6723
6724	vpaddd	%ymm6,%ymm1,%ymm1
6725	vpsrld	$27,%ymm2,%ymm8
6726	vpxor	%ymm4,%ymm0,%ymm5
6727	vpxor	%ymm11,%ymm14,%ymm14
6728
6729	vmovdqu	%ymm13,320-256-128(%rbx)
6730	vpaddd	%ymm13,%ymm1,%ymm1
6731	vpor	%ymm8,%ymm7,%ymm7
6732	vpsrld	$31,%ymm14,%ymm9
6733	vpand	%ymm3,%ymm5,%ymm5
6734	vpaddd	%ymm14,%ymm14,%ymm14
6735
6736	vpslld	$30,%ymm3,%ymm6
6737	vpaddd	%ymm5,%ymm1,%ymm1
6738
6739	vpsrld	$2,%ymm3,%ymm3
6740	vpaddd	%ymm7,%ymm1,%ymm1
6741	vpor	%ymm9,%ymm14,%ymm14
6742	vpor	%ymm6,%ymm3,%ymm3
6743	vpxor	%ymm12,%ymm10,%ymm10
6744	vmovdqa	448-256-128(%rbx),%ymm12
6745
6746	vpaddd	%ymm15,%ymm0,%ymm0
6747	vpslld	$5,%ymm1,%ymm7
6748	vpand	%ymm3,%ymm4,%ymm6
6749	vpxor	128-128(%rax),%ymm10,%ymm10
6750
6751	vpaddd	%ymm6,%ymm0,%ymm0
6752	vpsrld	$27,%ymm1,%ymm8
6753	vpxor	%ymm3,%ymm4,%ymm5
6754	vpxor	%ymm12,%ymm10,%ymm10
6755
6756	vmovdqu	%ymm14,352-256-128(%rbx)
6757	vpaddd	%ymm14,%ymm0,%ymm0
6758	vpor	%ymm8,%ymm7,%ymm7
6759	vpsrld	$31,%ymm10,%ymm9
6760	vpand	%ymm2,%ymm5,%ymm5
6761	vpaddd	%ymm10,%ymm10,%ymm10
6762
6763	vpslld	$30,%ymm2,%ymm6
6764	vpaddd	%ymm5,%ymm0,%ymm0
6765
6766	vpsrld	$2,%ymm2,%ymm2
6767	vpaddd	%ymm7,%ymm0,%ymm0
6768	vpor	%ymm9,%ymm10,%ymm10
6769	vpor	%ymm6,%ymm2,%ymm2
6770	vmovdqa	64(%rbp),%ymm15
6771	vpxor	%ymm13,%ymm11,%ymm11
6772	vmovdqa	480-256-128(%rbx),%ymm13
6773
6774	vpslld	$5,%ymm0,%ymm7
6775	vpaddd	%ymm15,%ymm4,%ymm4
6776	vpxor	%ymm1,%ymm3,%ymm5
6777	vmovdqa	%ymm10,384-256-128(%rbx)
6778	vpaddd	%ymm10,%ymm4,%ymm4
6779	vpxor	160-128(%rax),%ymm11,%ymm11
6780	vpsrld	$27,%ymm0,%ymm8
6781	vpxor	%ymm2,%ymm5,%ymm5
6782	vpxor	%ymm13,%ymm11,%ymm11
6783
6784	vpslld	$30,%ymm1,%ymm6
6785	vpor	%ymm8,%ymm7,%ymm7
6786	vpaddd	%ymm5,%ymm4,%ymm4
6787	vpsrld	$31,%ymm11,%ymm9
6788	vpaddd	%ymm11,%ymm11,%ymm11
6789
6790	vpsrld	$2,%ymm1,%ymm1
6791	vpaddd	%ymm7,%ymm4,%ymm4
6792	vpor	%ymm9,%ymm11,%ymm11
6793	vpor	%ymm6,%ymm1,%ymm1
6794	vpxor	%ymm14,%ymm12,%ymm12
6795	vmovdqa	0-128(%rax),%ymm14
6796
6797	vpslld	$5,%ymm4,%ymm7
6798	vpaddd	%ymm15,%ymm3,%ymm3
6799	vpxor	%ymm0,%ymm2,%ymm5
6800	vmovdqa	%ymm11,416-256-128(%rbx)
6801	vpaddd	%ymm11,%ymm3,%ymm3
6802	vpxor	192-128(%rax),%ymm12,%ymm12
6803	vpsrld	$27,%ymm4,%ymm8
6804	vpxor	%ymm1,%ymm5,%ymm5
6805	vpxor	%ymm14,%ymm12,%ymm12
6806
6807	vpslld	$30,%ymm0,%ymm6
6808	vpor	%ymm8,%ymm7,%ymm7
6809	vpaddd	%ymm5,%ymm3,%ymm3
6810	vpsrld	$31,%ymm12,%ymm9
6811	vpaddd	%ymm12,%ymm12,%ymm12
6812
6813	vpsrld	$2,%ymm0,%ymm0
6814	vpaddd	%ymm7,%ymm3,%ymm3
6815	vpor	%ymm9,%ymm12,%ymm12
6816	vpor	%ymm6,%ymm0,%ymm0
6817	vpxor	%ymm10,%ymm13,%ymm13
6818	vmovdqa	32-128(%rax),%ymm10
6819
6820	vpslld	$5,%ymm3,%ymm7
6821	vpaddd	%ymm15,%ymm2,%ymm2
6822	vpxor	%ymm4,%ymm1,%ymm5
6823	vmovdqa	%ymm12,448-256-128(%rbx)
6824	vpaddd	%ymm12,%ymm2,%ymm2
6825	vpxor	224-128(%rax),%ymm13,%ymm13
6826	vpsrld	$27,%ymm3,%ymm8
6827	vpxor	%ymm0,%ymm5,%ymm5
6828	vpxor	%ymm10,%ymm13,%ymm13
6829
6830	vpslld	$30,%ymm4,%ymm6
6831	vpor	%ymm8,%ymm7,%ymm7
6832	vpaddd	%ymm5,%ymm2,%ymm2
6833	vpsrld	$31,%ymm13,%ymm9
6834	vpaddd	%ymm13,%ymm13,%ymm13
6835
6836	vpsrld	$2,%ymm4,%ymm4
6837	vpaddd	%ymm7,%ymm2,%ymm2
6838	vpor	%ymm9,%ymm13,%ymm13
6839	vpor	%ymm6,%ymm4,%ymm4
6840	vpxor	%ymm11,%ymm14,%ymm14
6841	vmovdqa	64-128(%rax),%ymm11
6842
6843	vpslld	$5,%ymm2,%ymm7
6844	vpaddd	%ymm15,%ymm1,%ymm1
6845	vpxor	%ymm3,%ymm0,%ymm5
6846	vmovdqa	%ymm13,480-256-128(%rbx)
6847	vpaddd	%ymm13,%ymm1,%ymm1
6848	vpxor	256-256-128(%rbx),%ymm14,%ymm14
6849	vpsrld	$27,%ymm2,%ymm8
6850	vpxor	%ymm4,%ymm5,%ymm5
6851	vpxor	%ymm11,%ymm14,%ymm14
6852
6853	vpslld	$30,%ymm3,%ymm6
6854	vpor	%ymm8,%ymm7,%ymm7
6855	vpaddd	%ymm5,%ymm1,%ymm1
6856	vpsrld	$31,%ymm14,%ymm9
6857	vpaddd	%ymm14,%ymm14,%ymm14
6858
6859	vpsrld	$2,%ymm3,%ymm3
6860	vpaddd	%ymm7,%ymm1,%ymm1
6861	vpor	%ymm9,%ymm14,%ymm14
6862	vpor	%ymm6,%ymm3,%ymm3
6863	vpxor	%ymm12,%ymm10,%ymm10
6864	vmovdqa	96-128(%rax),%ymm12
6865
6866	vpslld	$5,%ymm1,%ymm7
6867	vpaddd	%ymm15,%ymm0,%ymm0
6868	vpxor	%ymm2,%ymm4,%ymm5
6869	vmovdqa	%ymm14,0-128(%rax)
6870	vpaddd	%ymm14,%ymm0,%ymm0
6871	vpxor	288-256-128(%rbx),%ymm10,%ymm10
6872	vpsrld	$27,%ymm1,%ymm8
6873	vpxor	%ymm3,%ymm5,%ymm5
6874	vpxor	%ymm12,%ymm10,%ymm10
6875
6876	vpslld	$30,%ymm2,%ymm6
6877	vpor	%ymm8,%ymm7,%ymm7
6878	vpaddd	%ymm5,%ymm0,%ymm0
6879	vpsrld	$31,%ymm10,%ymm9
6880	vpaddd	%ymm10,%ymm10,%ymm10
6881
6882	vpsrld	$2,%ymm2,%ymm2
6883	vpaddd	%ymm7,%ymm0,%ymm0
6884	vpor	%ymm9,%ymm10,%ymm10
6885	vpor	%ymm6,%ymm2,%ymm2
6886	vpxor	%ymm13,%ymm11,%ymm11
6887	vmovdqa	128-128(%rax),%ymm13
6888
6889	vpslld	$5,%ymm0,%ymm7
6890	vpaddd	%ymm15,%ymm4,%ymm4
6891	vpxor	%ymm1,%ymm3,%ymm5
6892	vmovdqa	%ymm10,32-128(%rax)
6893	vpaddd	%ymm10,%ymm4,%ymm4
6894	vpxor	320-256-128(%rbx),%ymm11,%ymm11
6895	vpsrld	$27,%ymm0,%ymm8
6896	vpxor	%ymm2,%ymm5,%ymm5
6897	vpxor	%ymm13,%ymm11,%ymm11
6898
6899	vpslld	$30,%ymm1,%ymm6
6900	vpor	%ymm8,%ymm7,%ymm7
6901	vpaddd	%ymm5,%ymm4,%ymm4
6902	vpsrld	$31,%ymm11,%ymm9
6903	vpaddd	%ymm11,%ymm11,%ymm11
6904
6905	vpsrld	$2,%ymm1,%ymm1
6906	vpaddd	%ymm7,%ymm4,%ymm4
6907	vpor	%ymm9,%ymm11,%ymm11
6908	vpor	%ymm6,%ymm1,%ymm1
6909	vpxor	%ymm14,%ymm12,%ymm12
6910	vmovdqa	160-128(%rax),%ymm14
6911
6912	vpslld	$5,%ymm4,%ymm7
6913	vpaddd	%ymm15,%ymm3,%ymm3
6914	vpxor	%ymm0,%ymm2,%ymm5
6915	vmovdqa	%ymm11,64-128(%rax)
6916	vpaddd	%ymm11,%ymm3,%ymm3
6917	vpxor	352-256-128(%rbx),%ymm12,%ymm12
6918	vpsrld	$27,%ymm4,%ymm8
6919	vpxor	%ymm1,%ymm5,%ymm5
6920	vpxor	%ymm14,%ymm12,%ymm12
6921
6922	vpslld	$30,%ymm0,%ymm6
6923	vpor	%ymm8,%ymm7,%ymm7
6924	vpaddd	%ymm5,%ymm3,%ymm3
6925	vpsrld	$31,%ymm12,%ymm9
6926	vpaddd	%ymm12,%ymm12,%ymm12
6927
6928	vpsrld	$2,%ymm0,%ymm0
6929	vpaddd	%ymm7,%ymm3,%ymm3
6930	vpor	%ymm9,%ymm12,%ymm12
6931	vpor	%ymm6,%ymm0,%ymm0
6932	vpxor	%ymm10,%ymm13,%ymm13
6933	vmovdqa	192-128(%rax),%ymm10
6934
6935	vpslld	$5,%ymm3,%ymm7
6936	vpaddd	%ymm15,%ymm2,%ymm2
6937	vpxor	%ymm4,%ymm1,%ymm5
6938	vmovdqa	%ymm12,96-128(%rax)
6939	vpaddd	%ymm12,%ymm2,%ymm2
6940	vpxor	384-256-128(%rbx),%ymm13,%ymm13
6941	vpsrld	$27,%ymm3,%ymm8
6942	vpxor	%ymm0,%ymm5,%ymm5
6943	vpxor	%ymm10,%ymm13,%ymm13
6944
6945	vpslld	$30,%ymm4,%ymm6
6946	vpor	%ymm8,%ymm7,%ymm7
6947	vpaddd	%ymm5,%ymm2,%ymm2
6948	vpsrld	$31,%ymm13,%ymm9
6949	vpaddd	%ymm13,%ymm13,%ymm13
6950
6951	vpsrld	$2,%ymm4,%ymm4
6952	vpaddd	%ymm7,%ymm2,%ymm2
6953	vpor	%ymm9,%ymm13,%ymm13
6954	vpor	%ymm6,%ymm4,%ymm4
6955	vpxor	%ymm11,%ymm14,%ymm14
6956	vmovdqa	224-128(%rax),%ymm11
6957
6958	vpslld	$5,%ymm2,%ymm7
6959	vpaddd	%ymm15,%ymm1,%ymm1
6960	vpxor	%ymm3,%ymm0,%ymm5
6961	vmovdqa	%ymm13,128-128(%rax)
6962	vpaddd	%ymm13,%ymm1,%ymm1
6963	vpxor	416-256-128(%rbx),%ymm14,%ymm14
6964	vpsrld	$27,%ymm2,%ymm8
6965	vpxor	%ymm4,%ymm5,%ymm5
6966	vpxor	%ymm11,%ymm14,%ymm14
6967
6968	vpslld	$30,%ymm3,%ymm6
6969	vpor	%ymm8,%ymm7,%ymm7
6970	vpaddd	%ymm5,%ymm1,%ymm1
6971	vpsrld	$31,%ymm14,%ymm9
6972	vpaddd	%ymm14,%ymm14,%ymm14
6973
6974	vpsrld	$2,%ymm3,%ymm3
6975	vpaddd	%ymm7,%ymm1,%ymm1
6976	vpor	%ymm9,%ymm14,%ymm14
6977	vpor	%ymm6,%ymm3,%ymm3
6978	vpxor	%ymm12,%ymm10,%ymm10
6979	vmovdqa	256-256-128(%rbx),%ymm12
6980
6981	vpslld	$5,%ymm1,%ymm7
6982	vpaddd	%ymm15,%ymm0,%ymm0
6983	vpxor	%ymm2,%ymm4,%ymm5
6984	vmovdqa	%ymm14,160-128(%rax)
6985	vpaddd	%ymm14,%ymm0,%ymm0
6986	vpxor	448-256-128(%rbx),%ymm10,%ymm10
6987	vpsrld	$27,%ymm1,%ymm8
6988	vpxor	%ymm3,%ymm5,%ymm5
6989	vpxor	%ymm12,%ymm10,%ymm10
6990
6991	vpslld	$30,%ymm2,%ymm6
6992	vpor	%ymm8,%ymm7,%ymm7
6993	vpaddd	%ymm5,%ymm0,%ymm0
6994	vpsrld	$31,%ymm10,%ymm9
6995	vpaddd	%ymm10,%ymm10,%ymm10
6996
6997	vpsrld	$2,%ymm2,%ymm2
6998	vpaddd	%ymm7,%ymm0,%ymm0
6999	vpor	%ymm9,%ymm10,%ymm10
7000	vpor	%ymm6,%ymm2,%ymm2
7001	vpxor	%ymm13,%ymm11,%ymm11
7002	vmovdqa	288-256-128(%rbx),%ymm13
7003
7004	vpslld	$5,%ymm0,%ymm7
7005	vpaddd	%ymm15,%ymm4,%ymm4
7006	vpxor	%ymm1,%ymm3,%ymm5
7007	vmovdqa	%ymm10,192-128(%rax)
7008	vpaddd	%ymm10,%ymm4,%ymm4
7009	vpxor	480-256-128(%rbx),%ymm11,%ymm11
7010	vpsrld	$27,%ymm0,%ymm8
7011	vpxor	%ymm2,%ymm5,%ymm5
7012	vpxor	%ymm13,%ymm11,%ymm11
7013
7014	vpslld	$30,%ymm1,%ymm6
7015	vpor	%ymm8,%ymm7,%ymm7
7016	vpaddd	%ymm5,%ymm4,%ymm4
7017	vpsrld	$31,%ymm11,%ymm9
7018	vpaddd	%ymm11,%ymm11,%ymm11
7019
7020	vpsrld	$2,%ymm1,%ymm1
7021	vpaddd	%ymm7,%ymm4,%ymm4
7022	vpor	%ymm9,%ymm11,%ymm11
7023	vpor	%ymm6,%ymm1,%ymm1
7024	vpxor	%ymm14,%ymm12,%ymm12
7025	vmovdqa	320-256-128(%rbx),%ymm14
7026
7027	vpslld	$5,%ymm4,%ymm7
7028	vpaddd	%ymm15,%ymm3,%ymm3
7029	vpxor	%ymm0,%ymm2,%ymm5
7030	vmovdqa	%ymm11,224-128(%rax)
7031	vpaddd	%ymm11,%ymm3,%ymm3
7032	vpxor	0-128(%rax),%ymm12,%ymm12
7033	vpsrld	$27,%ymm4,%ymm8
7034	vpxor	%ymm1,%ymm5,%ymm5
7035	vpxor	%ymm14,%ymm12,%ymm12
7036
7037	vpslld	$30,%ymm0,%ymm6
7038	vpor	%ymm8,%ymm7,%ymm7
7039	vpaddd	%ymm5,%ymm3,%ymm3
7040	vpsrld	$31,%ymm12,%ymm9
7041	vpaddd	%ymm12,%ymm12,%ymm12
7042
7043	vpsrld	$2,%ymm0,%ymm0
7044	vpaddd	%ymm7,%ymm3,%ymm3
7045	vpor	%ymm9,%ymm12,%ymm12
7046	vpor	%ymm6,%ymm0,%ymm0
7047	vpxor	%ymm10,%ymm13,%ymm13
7048	vmovdqa	352-256-128(%rbx),%ymm10
7049
7050	vpslld	$5,%ymm3,%ymm7
7051	vpaddd	%ymm15,%ymm2,%ymm2
7052	vpxor	%ymm4,%ymm1,%ymm5
7053	vpaddd	%ymm12,%ymm2,%ymm2
7054	vpxor	32-128(%rax),%ymm13,%ymm13
7055	vpsrld	$27,%ymm3,%ymm8
7056	vpxor	%ymm0,%ymm5,%ymm5
7057	vpxor	%ymm10,%ymm13,%ymm13
7058
7059	vpslld	$30,%ymm4,%ymm6
7060	vpor	%ymm8,%ymm7,%ymm7
7061	vpaddd	%ymm5,%ymm2,%ymm2
7062	vpsrld	$31,%ymm13,%ymm9
7063	vpaddd	%ymm13,%ymm13,%ymm13
7064
7065	vpsrld	$2,%ymm4,%ymm4
7066	vpaddd	%ymm7,%ymm2,%ymm2
7067	vpor	%ymm9,%ymm13,%ymm13
7068	vpor	%ymm6,%ymm4,%ymm4
7069	vpxor	%ymm11,%ymm14,%ymm14
7070	vmovdqa	384-256-128(%rbx),%ymm11
7071
7072	vpslld	$5,%ymm2,%ymm7
7073	vpaddd	%ymm15,%ymm1,%ymm1
7074	vpxor	%ymm3,%ymm0,%ymm5
7075	vpaddd	%ymm13,%ymm1,%ymm1
7076	vpxor	64-128(%rax),%ymm14,%ymm14
7077	vpsrld	$27,%ymm2,%ymm8
7078	vpxor	%ymm4,%ymm5,%ymm5
7079	vpxor	%ymm11,%ymm14,%ymm14
7080
7081	vpslld	$30,%ymm3,%ymm6
7082	vpor	%ymm8,%ymm7,%ymm7
7083	vpaddd	%ymm5,%ymm1,%ymm1
7084	vpsrld	$31,%ymm14,%ymm9
7085	vpaddd	%ymm14,%ymm14,%ymm14
7086
7087	vpsrld	$2,%ymm3,%ymm3
7088	vpaddd	%ymm7,%ymm1,%ymm1
7089	vpor	%ymm9,%ymm14,%ymm14
7090	vpor	%ymm6,%ymm3,%ymm3
7091	vpxor	%ymm12,%ymm10,%ymm10
7092	vmovdqa	416-256-128(%rbx),%ymm12
7093
7094	vpslld	$5,%ymm1,%ymm7
7095	vpaddd	%ymm15,%ymm0,%ymm0
7096	vpxor	%ymm2,%ymm4,%ymm5
7097	vpaddd	%ymm14,%ymm0,%ymm0
7098	vpxor	96-128(%rax),%ymm10,%ymm10
7099	vpsrld	$27,%ymm1,%ymm8
7100	vpxor	%ymm3,%ymm5,%ymm5
7101	vpxor	%ymm12,%ymm10,%ymm10
7102
7103	vpslld	$30,%ymm2,%ymm6
7104	vpor	%ymm8,%ymm7,%ymm7
7105	vpaddd	%ymm5,%ymm0,%ymm0
7106	vpsrld	$31,%ymm10,%ymm9
7107	vpaddd	%ymm10,%ymm10,%ymm10
7108
7109	vpsrld	$2,%ymm2,%ymm2
7110	vpaddd	%ymm7,%ymm0,%ymm0
7111	vpor	%ymm9,%ymm10,%ymm10
7112	vpor	%ymm6,%ymm2,%ymm2
7113	vpxor	%ymm13,%ymm11,%ymm11
7114	vmovdqa	448-256-128(%rbx),%ymm13
7115
7116	vpslld	$5,%ymm0,%ymm7
7117	vpaddd	%ymm15,%ymm4,%ymm4
7118	vpxor	%ymm1,%ymm3,%ymm5
7119	vpaddd	%ymm10,%ymm4,%ymm4
7120	vpxor	128-128(%rax),%ymm11,%ymm11
7121	vpsrld	$27,%ymm0,%ymm8
7122	vpxor	%ymm2,%ymm5,%ymm5
7123	vpxor	%ymm13,%ymm11,%ymm11
7124
7125	vpslld	$30,%ymm1,%ymm6
7126	vpor	%ymm8,%ymm7,%ymm7
7127	vpaddd	%ymm5,%ymm4,%ymm4
7128	vpsrld	$31,%ymm11,%ymm9
7129	vpaddd	%ymm11,%ymm11,%ymm11
7130
7131	vpsrld	$2,%ymm1,%ymm1
7132	vpaddd	%ymm7,%ymm4,%ymm4
7133	vpor	%ymm9,%ymm11,%ymm11
7134	vpor	%ymm6,%ymm1,%ymm1
7135	vpxor	%ymm14,%ymm12,%ymm12
7136	vmovdqa	480-256-128(%rbx),%ymm14
7137
7138	vpslld	$5,%ymm4,%ymm7
7139	vpaddd	%ymm15,%ymm3,%ymm3
7140	vpxor	%ymm0,%ymm2,%ymm5
7141	vpaddd	%ymm11,%ymm3,%ymm3
7142	vpxor	160-128(%rax),%ymm12,%ymm12
7143	vpsrld	$27,%ymm4,%ymm8
7144	vpxor	%ymm1,%ymm5,%ymm5
7145	vpxor	%ymm14,%ymm12,%ymm12
7146
7147	vpslld	$30,%ymm0,%ymm6
7148	vpor	%ymm8,%ymm7,%ymm7
7149	vpaddd	%ymm5,%ymm3,%ymm3
7150	vpsrld	$31,%ymm12,%ymm9
7151	vpaddd	%ymm12,%ymm12,%ymm12
7152
7153	vpsrld	$2,%ymm0,%ymm0
7154	vpaddd	%ymm7,%ymm3,%ymm3
7155	vpor	%ymm9,%ymm12,%ymm12
7156	vpor	%ymm6,%ymm0,%ymm0
7157	vpxor	%ymm10,%ymm13,%ymm13
7158	vmovdqa	0-128(%rax),%ymm10
7159
7160	vpslld	$5,%ymm3,%ymm7
7161	vpaddd	%ymm15,%ymm2,%ymm2
7162	vpxor	%ymm4,%ymm1,%ymm5
7163	vpaddd	%ymm12,%ymm2,%ymm2
7164	vpxor	192-128(%rax),%ymm13,%ymm13
7165	vpsrld	$27,%ymm3,%ymm8
7166	vpxor	%ymm0,%ymm5,%ymm5
7167	vpxor	%ymm10,%ymm13,%ymm13
7168
7169	vpslld	$30,%ymm4,%ymm6
7170	vpor	%ymm8,%ymm7,%ymm7
7171	vpaddd	%ymm5,%ymm2,%ymm2
7172	vpsrld	$31,%ymm13,%ymm9
7173	vpaddd	%ymm13,%ymm13,%ymm13
7174
7175	vpsrld	$2,%ymm4,%ymm4
7176	vpaddd	%ymm7,%ymm2,%ymm2
7177	vpor	%ymm9,%ymm13,%ymm13
7178	vpor	%ymm6,%ymm4,%ymm4
7179	vpxor	%ymm11,%ymm14,%ymm14
7180	vmovdqa	32-128(%rax),%ymm11
7181
7182	vpslld	$5,%ymm2,%ymm7
7183	vpaddd	%ymm15,%ymm1,%ymm1
7184	vpxor	%ymm3,%ymm0,%ymm5
7185	vpaddd	%ymm13,%ymm1,%ymm1
7186	vpxor	224-128(%rax),%ymm14,%ymm14
7187	vpsrld	$27,%ymm2,%ymm8
7188	vpxor	%ymm4,%ymm5,%ymm5
7189	vpxor	%ymm11,%ymm14,%ymm14
7190
7191	vpslld	$30,%ymm3,%ymm6
7192	vpor	%ymm8,%ymm7,%ymm7
7193	vpaddd	%ymm5,%ymm1,%ymm1
7194	vpsrld	$31,%ymm14,%ymm9
7195	vpaddd	%ymm14,%ymm14,%ymm14
7196
7197	vpsrld	$2,%ymm3,%ymm3
7198	vpaddd	%ymm7,%ymm1,%ymm1
7199	vpor	%ymm9,%ymm14,%ymm14
7200	vpor	%ymm6,%ymm3,%ymm3
7201	vpslld	$5,%ymm1,%ymm7
7202	vpaddd	%ymm15,%ymm0,%ymm0
7203	vpxor	%ymm2,%ymm4,%ymm5
7204
7205	vpsrld	$27,%ymm1,%ymm8
7206	vpaddd	%ymm14,%ymm0,%ymm0
7207	vpxor	%ymm3,%ymm5,%ymm5
7208
7209	vpslld	$30,%ymm2,%ymm6
7210	vpor	%ymm8,%ymm7,%ymm7
7211	vpaddd	%ymm5,%ymm0,%ymm0
7212
7213	vpsrld	$2,%ymm2,%ymm2
7214	vpaddd	%ymm7,%ymm0,%ymm0
7215	vpor	%ymm6,%ymm2,%ymm2
7216	movl	$1,%ecx
7217	leaq	512(%rsp),%rbx
7218	cmpl	0(%rbx),%ecx
7219	cmovgeq	%rbp,%r12
7220	cmpl	4(%rbx),%ecx
7221	cmovgeq	%rbp,%r13
7222	cmpl	8(%rbx),%ecx
7223	cmovgeq	%rbp,%r14
7224	cmpl	12(%rbx),%ecx
7225	cmovgeq	%rbp,%r15
7226	cmpl	16(%rbx),%ecx
7227	cmovgeq	%rbp,%r8
7228	cmpl	20(%rbx),%ecx
7229	cmovgeq	%rbp,%r9
7230	cmpl	24(%rbx),%ecx
7231	cmovgeq	%rbp,%r10
7232	cmpl	28(%rbx),%ecx
7233	cmovgeq	%rbp,%r11
7234	vmovdqu	(%rbx),%ymm5
7235	vpxor	%ymm7,%ymm7,%ymm7
7236	vmovdqa	%ymm5,%ymm6
7237	vpcmpgtd	%ymm7,%ymm6,%ymm6
7238	vpaddd	%ymm6,%ymm5,%ymm5
7239
7240	vpand	%ymm6,%ymm0,%ymm0
7241	vpand	%ymm6,%ymm1,%ymm1
7242	vpaddd	0(%rdi),%ymm0,%ymm0
7243	vpand	%ymm6,%ymm2,%ymm2
7244	vpaddd	32(%rdi),%ymm1,%ymm1
7245	vpand	%ymm6,%ymm3,%ymm3
7246	vpaddd	64(%rdi),%ymm2,%ymm2
7247	vpand	%ymm6,%ymm4,%ymm4
7248	vpaddd	96(%rdi),%ymm3,%ymm3
7249	vpaddd	128(%rdi),%ymm4,%ymm4
7250	vmovdqu	%ymm0,0(%rdi)
7251	vmovdqu	%ymm1,32(%rdi)
7252	vmovdqu	%ymm2,64(%rdi)
7253	vmovdqu	%ymm3,96(%rdi)
7254	vmovdqu	%ymm4,128(%rdi)
7255
7256	vmovdqu	%ymm5,(%rbx)
7257	leaq	256+128(%rsp),%rbx
7258	vmovdqu	96(%rbp),%ymm9
7259	decl	%edx
7260	jnz	.Loop_avx2
7261
7262
7263
7264
7265
7266
7267
7268.Ldone_avx2:
7269	movq	544(%rsp),%rax
7270.cfi_def_cfa	%rax,8
7271	vzeroupper
7272	movq	-48(%rax),%r15
7273.cfi_restore	%r15
7274	movq	-40(%rax),%r14
7275.cfi_restore	%r14
7276	movq	-32(%rax),%r13
7277.cfi_restore	%r13
7278	movq	-24(%rax),%r12
7279.cfi_restore	%r12
7280	movq	-16(%rax),%rbp
7281.cfi_restore	%rbp
7282	movq	-8(%rax),%rbx
7283.cfi_restore	%rbx
7284	leaq	(%rax),%rsp
7285.cfi_def_cfa_register	%rsp
7286.Lepilogue_avx2:
7287	.byte	0xf3,0xc3
7288.cfi_endproc
7289.size	sha1_multi_block_avx2,.-sha1_multi_block_avx2
7290
7291.align	256
7292.long	0x5a827999,0x5a827999,0x5a827999,0x5a827999
7293.long	0x5a827999,0x5a827999,0x5a827999,0x5a827999
7294K_XX_XX:
7295.long	0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
7296.long	0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
7297.long	0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
7298.long	0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
7299.long	0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
7300.long	0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
7301.long	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
7302.long	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
7303.byte	0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0
7304.byte	83,72,65,49,32,109,117,108,116,105,45,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
7305	.section ".note.gnu.property", "a"
7306	.p2align 3
7307	.long 1f - 0f
7308	.long 4f - 1f
7309	.long 5
73100:
7311	# "GNU" encoded with .byte, since .asciz isn't supported
7312	# on Solaris.
7313	.byte 0x47
7314	.byte 0x4e
7315	.byte 0x55
7316	.byte 0
73171:
7318	.p2align 3
7319	.long 0xc0000002
7320	.long 3f - 2f
73212:
7322	.long 3
73233:
7324	.p2align 3
73254:
7326