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