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