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