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