build - Rewire secure, remove conflicts from libmd, libcrypt
[dragonfly.git] / lib / libcrypto / asm / sha1-mb-x86_64.s
CommitLineData
57eefc0b
PA
1.text
2
3
4
5.globl sha1_multi_block
6.type sha1_multi_block,@function
7.align 32
8sha1_multi_block:
9 movq OPENSSL_ia32cap_P+4(%rip),%rcx
10 btq $61,%rcx
11 jc _shaext_shortcut
4432df4a
PA
12 testl $268435456,%ecx
13 jnz _avx_shortcut
57eefc0b
PA
14 movq %rsp,%rax
15 pushq %rbx
16 pushq %rbp
17 subq $288,%rsp
18 andq $-256,%rsp
19 movq %rax,272(%rsp)
20.Lbody:
21 leaq K_XX_XX(%rip),%rbp
22 leaq 256(%rsp),%rbx
23
24.Loop_grande:
25 movl %edx,280(%rsp)
26 xorl %edx,%edx
27 movq 0(%rsi),%r8
28 movl 8(%rsi),%ecx
29 cmpl %edx,%ecx
30 cmovgl %ecx,%edx
31 testl %ecx,%ecx
32 movl %ecx,0(%rbx)
33 cmovleq %rbp,%r8
34 movq 16(%rsi),%r9
35 movl 24(%rsi),%ecx
36 cmpl %edx,%ecx
37 cmovgl %ecx,%edx
38 testl %ecx,%ecx
39 movl %ecx,4(%rbx)
40 cmovleq %rbp,%r9
41 movq 32(%rsi),%r10
42 movl 40(%rsi),%ecx
43 cmpl %edx,%ecx
44 cmovgl %ecx,%edx
45 testl %ecx,%ecx
46 movl %ecx,8(%rbx)
47 cmovleq %rbp,%r10
48 movq 48(%rsi),%r11
49 movl 56(%rsi),%ecx
50 cmpl %edx,%ecx
51 cmovgl %ecx,%edx
52 testl %ecx,%ecx
53 movl %ecx,12(%rbx)
54 cmovleq %rbp,%r11
55 testl %edx,%edx
56 jz .Ldone
57
58 movdqu 0(%rdi),%xmm10
59 leaq 128(%rsp),%rax
60 movdqu 32(%rdi),%xmm11
61 movdqu 64(%rdi),%xmm12
62 movdqu 96(%rdi),%xmm13
63 movdqu 128(%rdi),%xmm14
64 movdqa 96(%rbp),%xmm5
65 movdqa -32(%rbp),%xmm15
66 jmp .Loop
67
68.align 32
69.Loop:
70 movd (%r8),%xmm0
71 leaq 64(%r8),%r8
72 movd (%r9),%xmm2
73 leaq 64(%r9),%r9
74 movd (%r10),%xmm3
75 leaq 64(%r10),%r10
76 movd (%r11),%xmm4
77 leaq 64(%r11),%r11
78 punpckldq %xmm3,%xmm0
79 movd -60(%r8),%xmm1
80 punpckldq %xmm4,%xmm2
81 movd -60(%r9),%xmm9
82 punpckldq %xmm2,%xmm0
83 movd -60(%r10),%xmm8
84.byte 102,15,56,0,197
85 movd -60(%r11),%xmm7
86 punpckldq %xmm8,%xmm1
87 movdqa %xmm10,%xmm8
88 paddd %xmm15,%xmm14
89 punpckldq %xmm7,%xmm9
90 movdqa %xmm11,%xmm7
91 movdqa %xmm11,%xmm6
92 pslld $5,%xmm8
93 pandn %xmm13,%xmm7
94 pand %xmm12,%xmm6
95 punpckldq %xmm9,%xmm1
96 movdqa %xmm10,%xmm9
97
98 movdqa %xmm0,0-128(%rax)
99 paddd %xmm0,%xmm14
100 movd -56(%r8),%xmm2
101 psrld $27,%xmm9
102 pxor %xmm7,%xmm6
103 movdqa %xmm11,%xmm7
104
105 por %xmm9,%xmm8
106 movd -56(%r9),%xmm9
107 pslld $30,%xmm7
108 paddd %xmm6,%xmm14
109
110 psrld $2,%xmm11
111 paddd %xmm8,%xmm14
112.byte 102,15,56,0,205
113 movd -56(%r10),%xmm8
114 por %xmm7,%xmm11
115 movd -56(%r11),%xmm7
116 punpckldq %xmm8,%xmm2
117 movdqa %xmm14,%xmm8
118 paddd %xmm15,%xmm13
119 punpckldq %xmm7,%xmm9
120 movdqa %xmm10,%xmm7
121 movdqa %xmm10,%xmm6
122 pslld $5,%xmm8
123 pandn %xmm12,%xmm7
124 pand %xmm11,%xmm6
125 punpckldq %xmm9,%xmm2
126 movdqa %xmm14,%xmm9
127
128 movdqa %xmm1,16-128(%rax)
129 paddd %xmm1,%xmm13
130 movd -52(%r8),%xmm3
131 psrld $27,%xmm9
132 pxor %xmm7,%xmm6
133 movdqa %xmm10,%xmm7
134
135 por %xmm9,%xmm8
136 movd -52(%r9),%xmm9
137 pslld $30,%xmm7
138 paddd %xmm6,%xmm13
139
140 psrld $2,%xmm10
141 paddd %xmm8,%xmm13
142.byte 102,15,56,0,213
143 movd -52(%r10),%xmm8
144 por %xmm7,%xmm10
145 movd -52(%r11),%xmm7
146 punpckldq %xmm8,%xmm3
147 movdqa %xmm13,%xmm8
148 paddd %xmm15,%xmm12
149 punpckldq %xmm7,%xmm9
150 movdqa %xmm14,%xmm7
151 movdqa %xmm14,%xmm6
152 pslld $5,%xmm8
153 pandn %xmm11,%xmm7
154 pand %xmm10,%xmm6
155 punpckldq %xmm9,%xmm3
156 movdqa %xmm13,%xmm9
157
158 movdqa %xmm2,32-128(%rax)
159 paddd %xmm2,%xmm12
160 movd -48(%r8),%xmm4
161 psrld $27,%xmm9
162 pxor %xmm7,%xmm6
163 movdqa %xmm14,%xmm7
164
165 por %xmm9,%xmm8
166 movd -48(%r9),%xmm9
167 pslld $30,%xmm7
168 paddd %xmm6,%xmm12
169
170 psrld $2,%xmm14
171 paddd %xmm8,%xmm12
172.byte 102,15,56,0,221
173 movd -48(%r10),%xmm8
174 por %xmm7,%xmm14
175 movd -48(%r11),%xmm7
176 punpckldq %xmm8,%xmm4
177 movdqa %xmm12,%xmm8
178 paddd %xmm15,%xmm11
179 punpckldq %xmm7,%xmm9
180 movdqa %xmm13,%xmm7
181 movdqa %xmm13,%xmm6
182 pslld $5,%xmm8
183 pandn %xmm10,%xmm7
184 pand %xmm14,%xmm6
185 punpckldq %xmm9,%xmm4
186 movdqa %xmm12,%xmm9
187
188 movdqa %xmm3,48-128(%rax)
189 paddd %xmm3,%xmm11
190 movd -44(%r8),%xmm0
191 psrld $27,%xmm9
192 pxor %xmm7,%xmm6
193 movdqa %xmm13,%xmm7
194
195 por %xmm9,%xmm8
196 movd -44(%r9),%xmm9
197 pslld $30,%xmm7
198 paddd %xmm6,%xmm11
199
200 psrld $2,%xmm13
201 paddd %xmm8,%xmm11
202.byte 102,15,56,0,229
203 movd -44(%r10),%xmm8
204 por %xmm7,%xmm13
205 movd -44(%r11),%xmm7
206 punpckldq %xmm8,%xmm0
207 movdqa %xmm11,%xmm8
208 paddd %xmm15,%xmm10
209 punpckldq %xmm7,%xmm9
210 movdqa %xmm12,%xmm7
211 movdqa %xmm12,%xmm6
212 pslld $5,%xmm8
213 pandn %xmm14,%xmm7
214 pand %xmm13,%xmm6
215 punpckldq %xmm9,%xmm0
216 movdqa %xmm11,%xmm9
217
218 movdqa %xmm4,64-128(%rax)
219 paddd %xmm4,%xmm10
220 movd -40(%r8),%xmm1
221 psrld $27,%xmm9
222 pxor %xmm7,%xmm6
223 movdqa %xmm12,%xmm7
224
225 por %xmm9,%xmm8
226 movd -40(%r9),%xmm9
227 pslld $30,%xmm7
228 paddd %xmm6,%xmm10
229
230 psrld $2,%xmm12
231 paddd %xmm8,%xmm10
232.byte 102,15,56,0,197
233 movd -40(%r10),%xmm8
234 por %xmm7,%xmm12
235 movd -40(%r11),%xmm7
236 punpckldq %xmm8,%xmm1
237 movdqa %xmm10,%xmm8
238 paddd %xmm15,%xmm14
239 punpckldq %xmm7,%xmm9
240 movdqa %xmm11,%xmm7
241 movdqa %xmm11,%xmm6
242 pslld $5,%xmm8
243 pandn %xmm13,%xmm7
244 pand %xmm12,%xmm6
245 punpckldq %xmm9,%xmm1
246 movdqa %xmm10,%xmm9
247
248 movdqa %xmm0,80-128(%rax)
249 paddd %xmm0,%xmm14
250 movd -36(%r8),%xmm2
251 psrld $27,%xmm9
252 pxor %xmm7,%xmm6
253 movdqa %xmm11,%xmm7
254
255 por %xmm9,%xmm8
256 movd -36(%r9),%xmm9
257 pslld $30,%xmm7
258 paddd %xmm6,%xmm14
259
260 psrld $2,%xmm11
261 paddd %xmm8,%xmm14
262.byte 102,15,56,0,205
263 movd -36(%r10),%xmm8
264 por %xmm7,%xmm11
265 movd -36(%r11),%xmm7
266 punpckldq %xmm8,%xmm2
267 movdqa %xmm14,%xmm8
268 paddd %xmm15,%xmm13
269 punpckldq %xmm7,%xmm9
270 movdqa %xmm10,%xmm7
271 movdqa %xmm10,%xmm6
272 pslld $5,%xmm8
273 pandn %xmm12,%xmm7
274 pand %xmm11,%xmm6
275 punpckldq %xmm9,%xmm2
276 movdqa %xmm14,%xmm9
277
278 movdqa %xmm1,96-128(%rax)
279 paddd %xmm1,%xmm13
280 movd -32(%r8),%xmm3
281 psrld $27,%xmm9
282 pxor %xmm7,%xmm6
283 movdqa %xmm10,%xmm7
284
285 por %xmm9,%xmm8
286 movd -32(%r9),%xmm9
287 pslld $30,%xmm7
288 paddd %xmm6,%xmm13
289
290 psrld $2,%xmm10
291 paddd %xmm8,%xmm13
292.byte 102,15,56,0,213
293 movd -32(%r10),%xmm8
294 por %xmm7,%xmm10
295 movd -32(%r11),%xmm7
296 punpckldq %xmm8,%xmm3
297 movdqa %xmm13,%xmm8
298 paddd %xmm15,%xmm12
299 punpckldq %xmm7,%xmm9
300 movdqa %xmm14,%xmm7
301 movdqa %xmm14,%xmm6
302 pslld $5,%xmm8
303 pandn %xmm11,%xmm7
304 pand %xmm10,%xmm6
305 punpckldq %xmm9,%xmm3
306 movdqa %xmm13,%xmm9
307
308 movdqa %xmm2,112-128(%rax)
309 paddd %xmm2,%xmm12
310 movd -28(%r8),%xmm4
311 psrld $27,%xmm9
312 pxor %xmm7,%xmm6
313 movdqa %xmm14,%xmm7
314
315 por %xmm9,%xmm8
316 movd -28(%r9),%xmm9
317 pslld $30,%xmm7
318 paddd %xmm6,%xmm12
319
320 psrld $2,%xmm14
321 paddd %xmm8,%xmm12
322.byte 102,15,56,0,221
323 movd -28(%r10),%xmm8
324 por %xmm7,%xmm14
325 movd -28(%r11),%xmm7
326 punpckldq %xmm8,%xmm4
327 movdqa %xmm12,%xmm8
328 paddd %xmm15,%xmm11
329 punpckldq %xmm7,%xmm9
330 movdqa %xmm13,%xmm7
331 movdqa %xmm13,%xmm6
332 pslld $5,%xmm8
333 pandn %xmm10,%xmm7
334 pand %xmm14,%xmm6
335 punpckldq %xmm9,%xmm4
336 movdqa %xmm12,%xmm9
337
338 movdqa %xmm3,128-128(%rax)
339 paddd %xmm3,%xmm11
340 movd -24(%r8),%xmm0
341 psrld $27,%xmm9
342 pxor %xmm7,%xmm6
343 movdqa %xmm13,%xmm7
344
345 por %xmm9,%xmm8
346 movd -24(%r9),%xmm9
347 pslld $30,%xmm7
348 paddd %xmm6,%xmm11
349
350 psrld $2,%xmm13
351 paddd %xmm8,%xmm11
352.byte 102,15,56,0,229
353 movd -24(%r10),%xmm8
354 por %xmm7,%xmm13
355 movd -24(%r11),%xmm7
356 punpckldq %xmm8,%xmm0
357 movdqa %xmm11,%xmm8
358 paddd %xmm15,%xmm10
359 punpckldq %xmm7,%xmm9
360 movdqa %xmm12,%xmm7
361 movdqa %xmm12,%xmm6
362 pslld $5,%xmm8
363 pandn %xmm14,%xmm7
364 pand %xmm13,%xmm6
365 punpckldq %xmm9,%xmm0
366 movdqa %xmm11,%xmm9
367
368 movdqa %xmm4,144-128(%rax)
369 paddd %xmm4,%xmm10
370 movd -20(%r8),%xmm1
371 psrld $27,%xmm9
372 pxor %xmm7,%xmm6
373 movdqa %xmm12,%xmm7
374
375 por %xmm9,%xmm8
376 movd -20(%r9),%xmm9
377 pslld $30,%xmm7
378 paddd %xmm6,%xmm10
379
380 psrld $2,%xmm12
381 paddd %xmm8,%xmm10
382.byte 102,15,56,0,197
383 movd -20(%r10),%xmm8
384 por %xmm7,%xmm12
385 movd -20(%r11),%xmm7
386 punpckldq %xmm8,%xmm1
387 movdqa %xmm10,%xmm8
388 paddd %xmm15,%xmm14
389 punpckldq %xmm7,%xmm9
390 movdqa %xmm11,%xmm7
391 movdqa %xmm11,%xmm6
392 pslld $5,%xmm8
393 pandn %xmm13,%xmm7
394 pand %xmm12,%xmm6
395 punpckldq %xmm9,%xmm1
396 movdqa %xmm10,%xmm9
397
398 movdqa %xmm0,160-128(%rax)
399 paddd %xmm0,%xmm14
400 movd -16(%r8),%xmm2
401 psrld $27,%xmm9
402 pxor %xmm7,%xmm6
403 movdqa %xmm11,%xmm7
404
405 por %xmm9,%xmm8
406 movd -16(%r9),%xmm9
407 pslld $30,%xmm7
408 paddd %xmm6,%xmm14
409
410 psrld $2,%xmm11
411 paddd %xmm8,%xmm14
412.byte 102,15,56,0,205
413 movd -16(%r10),%xmm8
414 por %xmm7,%xmm11
415 movd -16(%r11),%xmm7
416 punpckldq %xmm8,%xmm2
417 movdqa %xmm14,%xmm8
418 paddd %xmm15,%xmm13
419 punpckldq %xmm7,%xmm9
420 movdqa %xmm10,%xmm7
421 movdqa %xmm10,%xmm6
422 pslld $5,%xmm8
423 pandn %xmm12,%xmm7
424 pand %xmm11,%xmm6
425 punpckldq %xmm9,%xmm2
426 movdqa %xmm14,%xmm9
427
428 movdqa %xmm1,176-128(%rax)
429 paddd %xmm1,%xmm13
430 movd -12(%r8),%xmm3
431 psrld $27,%xmm9
432 pxor %xmm7,%xmm6
433 movdqa %xmm10,%xmm7
434
435 por %xmm9,%xmm8
436 movd -12(%r9),%xmm9
437 pslld $30,%xmm7
438 paddd %xmm6,%xmm13
439
440 psrld $2,%xmm10
441 paddd %xmm8,%xmm13
442.byte 102,15,56,0,213
443 movd -12(%r10),%xmm8
444 por %xmm7,%xmm10
445 movd -12(%r11),%xmm7
446 punpckldq %xmm8,%xmm3
447 movdqa %xmm13,%xmm8
448 paddd %xmm15,%xmm12
449 punpckldq %xmm7,%xmm9
450 movdqa %xmm14,%xmm7
451 movdqa %xmm14,%xmm6
452 pslld $5,%xmm8
453 pandn %xmm11,%xmm7
454 pand %xmm10,%xmm6
455 punpckldq %xmm9,%xmm3
456 movdqa %xmm13,%xmm9
457
458 movdqa %xmm2,192-128(%rax)
459 paddd %xmm2,%xmm12
460 movd -8(%r8),%xmm4
461 psrld $27,%xmm9
462 pxor %xmm7,%xmm6
463 movdqa %xmm14,%xmm7
464
465 por %xmm9,%xmm8
466 movd -8(%r9),%xmm9
467 pslld $30,%xmm7
468 paddd %xmm6,%xmm12
469
470 psrld $2,%xmm14
471 paddd %xmm8,%xmm12
472.byte 102,15,56,0,221
473 movd -8(%r10),%xmm8
474 por %xmm7,%xmm14
475 movd -8(%r11),%xmm7
476 punpckldq %xmm8,%xmm4
477 movdqa %xmm12,%xmm8
478 paddd %xmm15,%xmm11
479 punpckldq %xmm7,%xmm9
480 movdqa %xmm13,%xmm7
481 movdqa %xmm13,%xmm6
482 pslld $5,%xmm8
483 pandn %xmm10,%xmm7
484 pand %xmm14,%xmm6
485 punpckldq %xmm9,%xmm4
486 movdqa %xmm12,%xmm9
487
488 movdqa %xmm3,208-128(%rax)
489 paddd %xmm3,%xmm11
490 movd -4(%r8),%xmm0
491 psrld $27,%xmm9
492 pxor %xmm7,%xmm6
493 movdqa %xmm13,%xmm7
494
495 por %xmm9,%xmm8
496 movd -4(%r9),%xmm9
497 pslld $30,%xmm7
498 paddd %xmm6,%xmm11
499
500 psrld $2,%xmm13
501 paddd %xmm8,%xmm11
502.byte 102,15,56,0,229
503 movd -4(%r10),%xmm8
504 por %xmm7,%xmm13
505 movdqa 0-128(%rax),%xmm1
506 movd -4(%r11),%xmm7
507 punpckldq %xmm8,%xmm0
508 movdqa %xmm11,%xmm8
509 paddd %xmm15,%xmm10
510 punpckldq %xmm7,%xmm9
511 movdqa %xmm12,%xmm7
512 movdqa %xmm12,%xmm6
513 pslld $5,%xmm8
514 prefetcht0 63(%r8)
515 pandn %xmm14,%xmm7
516 pand %xmm13,%xmm6
517 punpckldq %xmm9,%xmm0
518 movdqa %xmm11,%xmm9
519
520 movdqa %xmm4,224-128(%rax)
521 paddd %xmm4,%xmm10
522 psrld $27,%xmm9
523 pxor %xmm7,%xmm6
524 movdqa %xmm12,%xmm7
525 prefetcht0 63(%r9)
526
527 por %xmm9,%xmm8
528 pslld $30,%xmm7
529 paddd %xmm6,%xmm10
530 prefetcht0 63(%r10)
531
532 psrld $2,%xmm12
533 paddd %xmm8,%xmm10
534.byte 102,15,56,0,197
535 prefetcht0 63(%r11)
536 por %xmm7,%xmm12
537 movdqa 16-128(%rax),%xmm2
538 pxor %xmm3,%xmm1
539 movdqa 32-128(%rax),%xmm3
540
541 movdqa %xmm10,%xmm8
542 pxor 128-128(%rax),%xmm1
543 paddd %xmm15,%xmm14
544 movdqa %xmm11,%xmm7
545 pslld $5,%xmm8
546 pxor %xmm3,%xmm1
547 movdqa %xmm11,%xmm6
548 pandn %xmm13,%xmm7
549 movdqa %xmm1,%xmm5
550 pand %xmm12,%xmm6
551 movdqa %xmm10,%xmm9
552 psrld $31,%xmm5
553 paddd %xmm1,%xmm1
554
555 movdqa %xmm0,240-128(%rax)
556 paddd %xmm0,%xmm14
557 psrld $27,%xmm9
558 pxor %xmm7,%xmm6
559
560 movdqa %xmm11,%xmm7
561 por %xmm9,%xmm8
562 pslld $30,%xmm7
563 paddd %xmm6,%xmm14
564
565 psrld $2,%xmm11
566 paddd %xmm8,%xmm14
567 por %xmm5,%xmm1
568 por %xmm7,%xmm11
569 pxor %xmm4,%xmm2
570 movdqa 48-128(%rax),%xmm4
571
572 movdqa %xmm14,%xmm8
573 pxor 144-128(%rax),%xmm2
574 paddd %xmm15,%xmm13
575 movdqa %xmm10,%xmm7
576 pslld $5,%xmm8
577 pxor %xmm4,%xmm2
578 movdqa %xmm10,%xmm6
579 pandn %xmm12,%xmm7
580 movdqa %xmm2,%xmm5
581 pand %xmm11,%xmm6
582 movdqa %xmm14,%xmm9
583 psrld $31,%xmm5
584 paddd %xmm2,%xmm2
585
586 movdqa %xmm1,0-128(%rax)
587 paddd %xmm1,%xmm13
588 psrld $27,%xmm9
589 pxor %xmm7,%xmm6
590
591 movdqa %xmm10,%xmm7
592 por %xmm9,%xmm8
593 pslld $30,%xmm7
594 paddd %xmm6,%xmm13
595
596 psrld $2,%xmm10
597 paddd %xmm8,%xmm13
598 por %xmm5,%xmm2
599 por %xmm7,%xmm10
600 pxor %xmm0,%xmm3
601 movdqa 64-128(%rax),%xmm0
602
603 movdqa %xmm13,%xmm8
604 pxor 160-128(%rax),%xmm3
605 paddd %xmm15,%xmm12
606 movdqa %xmm14,%xmm7
607 pslld $5,%xmm8
608 pxor %xmm0,%xmm3
609 movdqa %xmm14,%xmm6
610 pandn %xmm11,%xmm7
611 movdqa %xmm3,%xmm5
612 pand %xmm10,%xmm6
613 movdqa %xmm13,%xmm9
614 psrld $31,%xmm5
615 paddd %xmm3,%xmm3
616
617 movdqa %xmm2,16-128(%rax)
618 paddd %xmm2,%xmm12
619 psrld $27,%xmm9
620 pxor %xmm7,%xmm6
621
622 movdqa %xmm14,%xmm7
623 por %xmm9,%xmm8
624 pslld $30,%xmm7
625 paddd %xmm6,%xmm12
626
627 psrld $2,%xmm14
628 paddd %xmm8,%xmm12
629 por %xmm5,%xmm3
630 por %xmm7,%xmm14
631 pxor %xmm1,%xmm4
632 movdqa 80-128(%rax),%xmm1
633
634 movdqa %xmm12,%xmm8
635 pxor 176-128(%rax),%xmm4
636 paddd %xmm15,%xmm11
637 movdqa %xmm13,%xmm7
638 pslld $5,%xmm8
639 pxor %xmm1,%xmm4
640 movdqa %xmm13,%xmm6
641 pandn %xmm10,%xmm7
642 movdqa %xmm4,%xmm5
643 pand %xmm14,%xmm6
644 movdqa %xmm12,%xmm9
645 psrld $31,%xmm5
646 paddd %xmm4,%xmm4
647
648 movdqa %xmm3,32-128(%rax)
649 paddd %xmm3,%xmm11
650 psrld $27,%xmm9
651 pxor %xmm7,%xmm6
652
653 movdqa %xmm13,%xmm7
654 por %xmm9,%xmm8
655 pslld $30,%xmm7
656 paddd %xmm6,%xmm11
657
658 psrld $2,%xmm13
659 paddd %xmm8,%xmm11
660 por %xmm5,%xmm4
661 por %xmm7,%xmm13
662 pxor %xmm2,%xmm0
663 movdqa 96-128(%rax),%xmm2
664
665 movdqa %xmm11,%xmm8
666 pxor 192-128(%rax),%xmm0
667 paddd %xmm15,%xmm10
668 movdqa %xmm12,%xmm7
669 pslld $5,%xmm8
670 pxor %xmm2,%xmm0
671 movdqa %xmm12,%xmm6
672 pandn %xmm14,%xmm7
673 movdqa %xmm0,%xmm5
674 pand %xmm13,%xmm6
675 movdqa %xmm11,%xmm9
676 psrld $31,%xmm5
677 paddd %xmm0,%xmm0
678
679 movdqa %xmm4,48-128(%rax)
680 paddd %xmm4,%xmm10
681 psrld $27,%xmm9
682 pxor %xmm7,%xmm6
683
684 movdqa %xmm12,%xmm7
685 por %xmm9,%xmm8
686 pslld $30,%xmm7
687 paddd %xmm6,%xmm10
688
689 psrld $2,%xmm12
690 paddd %xmm8,%xmm10
691 por %xmm5,%xmm0
692 por %xmm7,%xmm12
693 movdqa 0(%rbp),%xmm15
694 pxor %xmm3,%xmm1
695 movdqa 112-128(%rax),%xmm3
696
697 movdqa %xmm10,%xmm8
698 movdqa %xmm13,%xmm6
699 pxor 208-128(%rax),%xmm1
700 paddd %xmm15,%xmm14
701 pslld $5,%xmm8
702 pxor %xmm11,%xmm6
703
704 movdqa %xmm10,%xmm9
705 movdqa %xmm0,64-128(%rax)
706 paddd %xmm0,%xmm14
707 pxor %xmm3,%xmm1
708 psrld $27,%xmm9
709 pxor %xmm12,%xmm6
710 movdqa %xmm11,%xmm7
711
712 pslld $30,%xmm7
713 movdqa %xmm1,%xmm5
714 por %xmm9,%xmm8
715 psrld $31,%xmm5
716 paddd %xmm6,%xmm14
717 paddd %xmm1,%xmm1
718
719 psrld $2,%xmm11
720 paddd %xmm8,%xmm14
721 por %xmm5,%xmm1
722 por %xmm7,%xmm11
723 pxor %xmm4,%xmm2
724 movdqa 128-128(%rax),%xmm4
725
726 movdqa %xmm14,%xmm8
727 movdqa %xmm12,%xmm6
728 pxor 224-128(%rax),%xmm2
729 paddd %xmm15,%xmm13
730 pslld $5,%xmm8
731 pxor %xmm10,%xmm6
732
733 movdqa %xmm14,%xmm9
734 movdqa %xmm1,80-128(%rax)
735 paddd %xmm1,%xmm13
736 pxor %xmm4,%xmm2
737 psrld $27,%xmm9
738 pxor %xmm11,%xmm6
739 movdqa %xmm10,%xmm7
740
741 pslld $30,%xmm7
742 movdqa %xmm2,%xmm5
743 por %xmm9,%xmm8
744 psrld $31,%xmm5
745 paddd %xmm6,%xmm13
746 paddd %xmm2,%xmm2
747
748 psrld $2,%xmm10
749 paddd %xmm8,%xmm13
750 por %xmm5,%xmm2
751 por %xmm7,%xmm10
752 pxor %xmm0,%xmm3
753 movdqa 144-128(%rax),%xmm0
754
755 movdqa %xmm13,%xmm8
756 movdqa %xmm11,%xmm6
757 pxor 240-128(%rax),%xmm3
758 paddd %xmm15,%xmm12
759 pslld $5,%xmm8
760 pxor %xmm14,%xmm6
761
762 movdqa %xmm13,%xmm9
763 movdqa %xmm2,96-128(%rax)
764 paddd %xmm2,%xmm12
765 pxor %xmm0,%xmm3
766 psrld $27,%xmm9
767 pxor %xmm10,%xmm6
768 movdqa %xmm14,%xmm7
769
770 pslld $30,%xmm7
771 movdqa %xmm3,%xmm5
772 por %xmm9,%xmm8
773 psrld $31,%xmm5
774 paddd %xmm6,%xmm12
775 paddd %xmm3,%xmm3
776
777 psrld $2,%xmm14
778 paddd %xmm8,%xmm12
779 por %xmm5,%xmm3
780 por %xmm7,%xmm14
781 pxor %xmm1,%xmm4
782 movdqa 160-128(%rax),%xmm1
783
784 movdqa %xmm12,%xmm8
785 movdqa %xmm10,%xmm6
786 pxor 0-128(%rax),%xmm4
787 paddd %xmm15,%xmm11
788 pslld $5,%xmm8
789 pxor %xmm13,%xmm6
790
791 movdqa %xmm12,%xmm9
792 movdqa %xmm3,112-128(%rax)
793 paddd %xmm3,%xmm11
794 pxor %xmm1,%xmm4
795 psrld $27,%xmm9
796 pxor %xmm14,%xmm6
797 movdqa %xmm13,%xmm7
798
799 pslld $30,%xmm7
800 movdqa %xmm4,%xmm5
801 por %xmm9,%xmm8
802 psrld $31,%xmm5
803 paddd %xmm6,%xmm11
804 paddd %xmm4,%xmm4
805
806 psrld $2,%xmm13
807 paddd %xmm8,%xmm11
808 por %xmm5,%xmm4
809 por %xmm7,%xmm13
810 pxor %xmm2,%xmm0
811 movdqa 176-128(%rax),%xmm2
812
813 movdqa %xmm11,%xmm8
814 movdqa %xmm14,%xmm6
815 pxor 16-128(%rax),%xmm0
816 paddd %xmm15,%xmm10
817 pslld $5,%xmm8
818 pxor %xmm12,%xmm6
819
820 movdqa %xmm11,%xmm9
821 movdqa %xmm4,128-128(%rax)
822 paddd %xmm4,%xmm10
823 pxor %xmm2,%xmm0
824 psrld $27,%xmm9
825 pxor %xmm13,%xmm6
826 movdqa %xmm12,%xmm7
827
828 pslld $30,%xmm7
829 movdqa %xmm0,%xmm5
830 por %xmm9,%xmm8
831 psrld $31,%xmm5
832 paddd %xmm6,%xmm10
833 paddd %xmm0,%xmm0
834
835 psrld $2,%xmm12
836 paddd %xmm8,%xmm10
837 por %xmm5,%xmm0
838 por %xmm7,%xmm12
839 pxor %xmm3,%xmm1
840 movdqa 192-128(%rax),%xmm3
841
842 movdqa %xmm10,%xmm8
843 movdqa %xmm13,%xmm6
844 pxor 32-128(%rax),%xmm1
845 paddd %xmm15,%xmm14
846 pslld $5,%xmm8
847 pxor %xmm11,%xmm6
848
849 movdqa %xmm10,%xmm9
850 movdqa %xmm0,144-128(%rax)
851 paddd %xmm0,%xmm14
852 pxor %xmm3,%xmm1
853 psrld $27,%xmm9
854 pxor %xmm12,%xmm6
855 movdqa %xmm11,%xmm7
856
857 pslld $30,%xmm7
858 movdqa %xmm1,%xmm5
859 por %xmm9,%xmm8
860 psrld $31,%xmm5
861 paddd %xmm6,%xmm14
862 paddd %xmm1,%xmm1
863
864 psrld $2,%xmm11
865 paddd %xmm8,%xmm14
866 por %xmm5,%xmm1
867 por %xmm7,%xmm11
868 pxor %xmm4,%xmm2
869 movdqa 208-128(%rax),%xmm4
870
871 movdqa %xmm14,%xmm8
872 movdqa %xmm12,%xmm6
873 pxor 48-128(%rax),%xmm2
874 paddd %xmm15,%xmm13
875 pslld $5,%xmm8
876 pxor %xmm10,%xmm6
877
878 movdqa %xmm14,%xmm9
879 movdqa %xmm1,160-128(%rax)
880 paddd %xmm1,%xmm13
881 pxor %xmm4,%xmm2
882 psrld $27,%xmm9
883 pxor %xmm11,%xmm6
884 movdqa %xmm10,%xmm7
885
886 pslld $30,%xmm7
887 movdqa %xmm2,%xmm5
888 por %xmm9,%xmm8
889 psrld $31,%xmm5
890 paddd %xmm6,%xmm13
891 paddd %xmm2,%xmm2
892
893 psrld $2,%xmm10
894 paddd %xmm8,%xmm13
895 por %xmm5,%xmm2
896 por %xmm7,%xmm10
897 pxor %xmm0,%xmm3
898 movdqa 224-128(%rax),%xmm0
899
900 movdqa %xmm13,%xmm8
901 movdqa %xmm11,%xmm6
902 pxor 64-128(%rax),%xmm3
903 paddd %xmm15,%xmm12
904 pslld $5,%xmm8
905 pxor %xmm14,%xmm6
906
907 movdqa %xmm13,%xmm9
908 movdqa %xmm2,176-128(%rax)
909 paddd %xmm2,%xmm12
910 pxor %xmm0,%xmm3
911 psrld $27,%xmm9
912 pxor %xmm10,%xmm6
913 movdqa %xmm14,%xmm7
914
915 pslld $30,%xmm7
916 movdqa %xmm3,%xmm5
917 por %xmm9,%xmm8
918 psrld $31,%xmm5
919 paddd %xmm6,%xmm12
920 paddd %xmm3,%xmm3
921
922 psrld $2,%xmm14
923 paddd %xmm8,%xmm12
924 por %xmm5,%xmm3
925 por %xmm7,%xmm14
926 pxor %xmm1,%xmm4
927 movdqa 240-128(%rax),%xmm1
928
929 movdqa %xmm12,%xmm8
930 movdqa %xmm10,%xmm6
931 pxor 80-128(%rax),%xmm4
932 paddd %xmm15,%xmm11
933 pslld $5,%xmm8
934 pxor %xmm13,%xmm6
935
936 movdqa %xmm12,%xmm9
937 movdqa %xmm3,192-128(%rax)
938 paddd %xmm3,%xmm11
939 pxor %xmm1,%xmm4
940 psrld $27,%xmm9
941 pxor %xmm14,%xmm6
942 movdqa %xmm13,%xmm7
943
944 pslld $30,%xmm7
945 movdqa %xmm4,%xmm5
946 por %xmm9,%xmm8
947 psrld $31,%xmm5
948 paddd %xmm6,%xmm11
949 paddd %xmm4,%xmm4
950
951 psrld $2,%xmm13
952 paddd %xmm8,%xmm11
953 por %xmm5,%xmm4
954 por %xmm7,%xmm13
955 pxor %xmm2,%xmm0
956 movdqa 0-128(%rax),%xmm2
957
958 movdqa %xmm11,%xmm8
959 movdqa %xmm14,%xmm6
960 pxor 96-128(%rax),%xmm0
961 paddd %xmm15,%xmm10
962 pslld $5,%xmm8
963 pxor %xmm12,%xmm6
964
965 movdqa %xmm11,%xmm9
966 movdqa %xmm4,208-128(%rax)
967 paddd %xmm4,%xmm10
968 pxor %xmm2,%xmm0
969 psrld $27,%xmm9
970 pxor %xmm13,%xmm6
971 movdqa %xmm12,%xmm7
972
973 pslld $30,%xmm7
974 movdqa %xmm0,%xmm5
975 por %xmm9,%xmm8
976 psrld $31,%xmm5
977 paddd %xmm6,%xmm10
978 paddd %xmm0,%xmm0
979
980 psrld $2,%xmm12
981 paddd %xmm8,%xmm10
982 por %xmm5,%xmm0
983 por %xmm7,%xmm12
984 pxor %xmm3,%xmm1
985 movdqa 16-128(%rax),%xmm3
986
987 movdqa %xmm10,%xmm8
988 movdqa %xmm13,%xmm6
989 pxor 112-128(%rax),%xmm1
990 paddd %xmm15,%xmm14
991 pslld $5,%xmm8
992 pxor %xmm11,%xmm6
993
994 movdqa %xmm10,%xmm9
995 movdqa %xmm0,224-128(%rax)
996 paddd %xmm0,%xmm14
997 pxor %xmm3,%xmm1
998 psrld $27,%xmm9
999 pxor %xmm12,%xmm6
1000 movdqa %xmm11,%xmm7
1001
1002 pslld $30,%xmm7
1003 movdqa %xmm1,%xmm5
1004 por %xmm9,%xmm8
1005 psrld $31,%xmm5
1006 paddd %xmm6,%xmm14
1007 paddd %xmm1,%xmm1
1008
1009 psrld $2,%xmm11
1010 paddd %xmm8,%xmm14
1011 por %xmm5,%xmm1
1012 por %xmm7,%xmm11
1013 pxor %xmm4,%xmm2
1014 movdqa 32-128(%rax),%xmm4
1015
1016 movdqa %xmm14,%xmm8
1017 movdqa %xmm12,%xmm6
1018 pxor 128-128(%rax),%xmm2
1019 paddd %xmm15,%xmm13
1020 pslld $5,%xmm8
1021 pxor %xmm10,%xmm6
1022
1023 movdqa %xmm14,%xmm9
1024 movdqa %xmm1,240-128(%rax)
1025 paddd %xmm1,%xmm13
1026 pxor %xmm4,%xmm2
1027 psrld $27,%xmm9
1028 pxor %xmm11,%xmm6
1029 movdqa %xmm10,%xmm7
1030
1031 pslld $30,%xmm7
1032 movdqa %xmm2,%xmm5
1033 por %xmm9,%xmm8
1034 psrld $31,%xmm5
1035 paddd %xmm6,%xmm13
1036 paddd %xmm2,%xmm2
1037
1038 psrld $2,%xmm10
1039 paddd %xmm8,%xmm13
1040 por %xmm5,%xmm2
1041 por %xmm7,%xmm10
1042 pxor %xmm0,%xmm3
1043 movdqa 48-128(%rax),%xmm0
1044
1045 movdqa %xmm13,%xmm8
1046 movdqa %xmm11,%xmm6
1047 pxor 144-128(%rax),%xmm3
1048 paddd %xmm15,%xmm12
1049 pslld $5,%xmm8
1050 pxor %xmm14,%xmm6
1051
1052 movdqa %xmm13,%xmm9
1053 movdqa %xmm2,0-128(%rax)
1054 paddd %xmm2,%xmm12
1055 pxor %xmm0,%xmm3
1056 psrld $27,%xmm9
1057 pxor %xmm10,%xmm6
1058 movdqa %xmm14,%xmm7
1059
1060 pslld $30,%xmm7
1061 movdqa %xmm3,%xmm5
1062 por %xmm9,%xmm8
1063 psrld $31,%xmm5
1064 paddd %xmm6,%xmm12
1065 paddd %xmm3,%xmm3
1066
1067 psrld $2,%xmm14
1068 paddd %xmm8,%xmm12
1069 por %xmm5,%xmm3
1070 por %xmm7,%xmm14
1071 pxor %xmm1,%xmm4
1072 movdqa 64-128(%rax),%xmm1
1073
1074 movdqa %xmm12,%xmm8
1075 movdqa %xmm10,%xmm6
1076 pxor 160-128(%rax),%xmm4
1077 paddd %xmm15,%xmm11
1078 pslld $5,%xmm8
1079 pxor %xmm13,%xmm6
1080
1081 movdqa %xmm12,%xmm9
1082 movdqa %xmm3,16-128(%rax)
1083 paddd %xmm3,%xmm11
1084 pxor %xmm1,%xmm4
1085 psrld $27,%xmm9
1086 pxor %xmm14,%xmm6
1087 movdqa %xmm13,%xmm7
1088
1089 pslld $30,%xmm7
1090 movdqa %xmm4,%xmm5
1091 por %xmm9,%xmm8
1092 psrld $31,%xmm5
1093 paddd %xmm6,%xmm11
1094 paddd %xmm4,%xmm4
1095
1096 psrld $2,%xmm13
1097 paddd %xmm8,%xmm11
1098 por %xmm5,%xmm4
1099 por %xmm7,%xmm13
1100 pxor %xmm2,%xmm0
1101 movdqa 80-128(%rax),%xmm2
1102
1103 movdqa %xmm11,%xmm8
1104 movdqa %xmm14,%xmm6
1105 pxor 176-128(%rax),%xmm0
1106 paddd %xmm15,%xmm10
1107 pslld $5,%xmm8
1108 pxor %xmm12,%xmm6
1109
1110 movdqa %xmm11,%xmm9
1111 movdqa %xmm4,32-128(%rax)
1112 paddd %xmm4,%xmm10
1113 pxor %xmm2,%xmm0
1114 psrld $27,%xmm9
1115 pxor %xmm13,%xmm6
1116 movdqa %xmm12,%xmm7
1117
1118 pslld $30,%xmm7
1119 movdqa %xmm0,%xmm5
1120 por %xmm9,%xmm8
1121 psrld $31,%xmm5
1122 paddd %xmm6,%xmm10
1123 paddd %xmm0,%xmm0
1124
1125 psrld $2,%xmm12
1126 paddd %xmm8,%xmm10
1127 por %xmm5,%xmm0
1128 por %xmm7,%xmm12
1129 pxor %xmm3,%xmm1
1130 movdqa 96-128(%rax),%xmm3
1131
1132 movdqa %xmm10,%xmm8
1133 movdqa %xmm13,%xmm6
1134 pxor 192-128(%rax),%xmm1
1135 paddd %xmm15,%xmm14
1136 pslld $5,%xmm8
1137 pxor %xmm11,%xmm6
1138
1139 movdqa %xmm10,%xmm9
1140 movdqa %xmm0,48-128(%rax)
1141 paddd %xmm0,%xmm14
1142 pxor %xmm3,%xmm1
1143 psrld $27,%xmm9
1144 pxor %xmm12,%xmm6
1145 movdqa %xmm11,%xmm7
1146
1147 pslld $30,%xmm7
1148 movdqa %xmm1,%xmm5
1149 por %xmm9,%xmm8
1150 psrld $31,%xmm5
1151 paddd %xmm6,%xmm14
1152 paddd %xmm1,%xmm1
1153
1154 psrld $2,%xmm11
1155 paddd %xmm8,%xmm14
1156 por %xmm5,%xmm1
1157 por %xmm7,%xmm11
1158 pxor %xmm4,%xmm2
1159 movdqa 112-128(%rax),%xmm4
1160
1161 movdqa %xmm14,%xmm8
1162 movdqa %xmm12,%xmm6
1163 pxor 208-128(%rax),%xmm2
1164 paddd %xmm15,%xmm13
1165 pslld $5,%xmm8
1166 pxor %xmm10,%xmm6
1167
1168 movdqa %xmm14,%xmm9
1169 movdqa %xmm1,64-128(%rax)
1170 paddd %xmm1,%xmm13
1171 pxor %xmm4,%xmm2
1172 psrld $27,%xmm9
1173 pxor %xmm11,%xmm6
1174 movdqa %xmm10,%xmm7
1175
1176 pslld $30,%xmm7
1177 movdqa %xmm2,%xmm5
1178 por %xmm9,%xmm8
1179 psrld $31,%xmm5
1180 paddd %xmm6,%xmm13
1181 paddd %xmm2,%xmm2
1182
1183 psrld $2,%xmm10
1184 paddd %xmm8,%xmm13
1185 por %xmm5,%xmm2
1186 por %xmm7,%xmm10
1187 pxor %xmm0,%xmm3
1188 movdqa 128-128(%rax),%xmm0
1189
1190 movdqa %xmm13,%xmm8
1191 movdqa %xmm11,%xmm6
1192 pxor 224-128(%rax),%xmm3
1193 paddd %xmm15,%xmm12
1194 pslld $5,%xmm8
1195 pxor %xmm14,%xmm6
1196
1197 movdqa %xmm13,%xmm9
1198 movdqa %xmm2,80-128(%rax)
1199 paddd %xmm2,%xmm12
1200 pxor %xmm0,%xmm3
1201 psrld $27,%xmm9
1202 pxor %xmm10,%xmm6
1203 movdqa %xmm14,%xmm7
1204
1205 pslld $30,%xmm7
1206 movdqa %xmm3,%xmm5
1207 por %xmm9,%xmm8
1208 psrld $31,%xmm5
1209 paddd %xmm6,%xmm12
1210 paddd %xmm3,%xmm3
1211
1212 psrld $2,%xmm14
1213 paddd %xmm8,%xmm12
1214 por %xmm5,%xmm3
1215 por %xmm7,%xmm14
1216 pxor %xmm1,%xmm4
1217 movdqa 144-128(%rax),%xmm1
1218
1219 movdqa %xmm12,%xmm8
1220 movdqa %xmm10,%xmm6
1221 pxor 240-128(%rax),%xmm4
1222 paddd %xmm15,%xmm11
1223 pslld $5,%xmm8
1224 pxor %xmm13,%xmm6
1225
1226 movdqa %xmm12,%xmm9
1227 movdqa %xmm3,96-128(%rax)
1228 paddd %xmm3,%xmm11
1229 pxor %xmm1,%xmm4
1230 psrld $27,%xmm9
1231 pxor %xmm14,%xmm6
1232 movdqa %xmm13,%xmm7
1233
1234 pslld $30,%xmm7
1235 movdqa %xmm4,%xmm5
1236 por %xmm9,%xmm8
1237 psrld $31,%xmm5
1238 paddd %xmm6,%xmm11
1239 paddd %xmm4,%xmm4
1240
1241 psrld $2,%xmm13
1242 paddd %xmm8,%xmm11
1243 por %xmm5,%xmm4
1244 por %xmm7,%xmm13
1245 pxor %xmm2,%xmm0
1246 movdqa 160-128(%rax),%xmm2
1247
1248 movdqa %xmm11,%xmm8
1249 movdqa %xmm14,%xmm6
1250 pxor 0-128(%rax),%xmm0
1251 paddd %xmm15,%xmm10
1252 pslld $5,%xmm8
1253 pxor %xmm12,%xmm6
1254
1255 movdqa %xmm11,%xmm9
1256 movdqa %xmm4,112-128(%rax)
1257 paddd %xmm4,%xmm10
1258 pxor %xmm2,%xmm0
1259 psrld $27,%xmm9
1260 pxor %xmm13,%xmm6
1261 movdqa %xmm12,%xmm7
1262
1263 pslld $30,%xmm7
1264 movdqa %xmm0,%xmm5
1265 por %xmm9,%xmm8
1266 psrld $31,%xmm5
1267 paddd %xmm6,%xmm10
1268 paddd %xmm0,%xmm0
1269
1270 psrld $2,%xmm12
1271 paddd %xmm8,%xmm10
1272 por %xmm5,%xmm0
1273 por %xmm7,%xmm12
1274 movdqa 32(%rbp),%xmm15
1275 pxor %xmm3,%xmm1
1276 movdqa 176-128(%rax),%xmm3
1277
1278 movdqa %xmm10,%xmm8
1279 movdqa %xmm13,%xmm7
1280 pxor 16-128(%rax),%xmm1
1281 pxor %xmm3,%xmm1
1282 paddd %xmm15,%xmm14
1283 pslld $5,%xmm8
1284 movdqa %xmm10,%xmm9
1285 pand %xmm12,%xmm7
1286
1287 movdqa %xmm13,%xmm6
1288 movdqa %xmm1,%xmm5
1289 psrld $27,%xmm9
1290 paddd %xmm7,%xmm14
1291 pxor %xmm12,%xmm6
1292
1293 movdqa %xmm0,128-128(%rax)
1294 paddd %xmm0,%xmm14
1295 por %xmm9,%xmm8
1296 psrld $31,%xmm5
1297 pand %xmm11,%xmm6
1298 movdqa %xmm11,%xmm7
1299
1300 pslld $30,%xmm7
1301 paddd %xmm1,%xmm1
1302 paddd %xmm6,%xmm14
1303
1304 psrld $2,%xmm11
1305 paddd %xmm8,%xmm14
1306 por %xmm5,%xmm1
1307 por %xmm7,%xmm11
1308 pxor %xmm4,%xmm2
1309 movdqa 192-128(%rax),%xmm4
1310
1311 movdqa %xmm14,%xmm8
1312 movdqa %xmm12,%xmm7
1313 pxor 32-128(%rax),%xmm2
1314 pxor %xmm4,%xmm2
1315 paddd %xmm15,%xmm13
1316 pslld $5,%xmm8
1317 movdqa %xmm14,%xmm9
1318 pand %xmm11,%xmm7
1319
1320 movdqa %xmm12,%xmm6
1321 movdqa %xmm2,%xmm5
1322 psrld $27,%xmm9
1323 paddd %xmm7,%xmm13
1324 pxor %xmm11,%xmm6
1325
1326 movdqa %xmm1,144-128(%rax)
1327 paddd %xmm1,%xmm13
1328 por %xmm9,%xmm8
1329 psrld $31,%xmm5
1330 pand %xmm10,%xmm6
1331 movdqa %xmm10,%xmm7
1332
1333 pslld $30,%xmm7
1334 paddd %xmm2,%xmm2
1335 paddd %xmm6,%xmm13
1336
1337 psrld $2,%xmm10
1338 paddd %xmm8,%xmm13
1339 por %xmm5,%xmm2
1340 por %xmm7,%xmm10
1341 pxor %xmm0,%xmm3
1342 movdqa 208-128(%rax),%xmm0
1343
1344 movdqa %xmm13,%xmm8
1345 movdqa %xmm11,%xmm7
1346 pxor 48-128(%rax),%xmm3
1347 pxor %xmm0,%xmm3
1348 paddd %xmm15,%xmm12
1349 pslld $5,%xmm8
1350 movdqa %xmm13,%xmm9
1351 pand %xmm10,%xmm7
1352
1353 movdqa %xmm11,%xmm6
1354 movdqa %xmm3,%xmm5
1355 psrld $27,%xmm9
1356 paddd %xmm7,%xmm12
1357 pxor %xmm10,%xmm6
1358
1359 movdqa %xmm2,160-128(%rax)
1360 paddd %xmm2,%xmm12
1361 por %xmm9,%xmm8
1362 psrld $31,%xmm5
1363 pand %xmm14,%xmm6
1364 movdqa %xmm14,%xmm7
1365
1366 pslld $30,%xmm7
1367 paddd %xmm3,%xmm3
1368 paddd %xmm6,%xmm12
1369
1370 psrld $2,%xmm14
1371 paddd %xmm8,%xmm12
1372 por %xmm5,%xmm3
1373 por %xmm7,%xmm14
1374 pxor %xmm1,%xmm4
1375 movdqa 224-128(%rax),%xmm1
1376
1377 movdqa %xmm12,%xmm8
1378 movdqa %xmm10,%xmm7
1379 pxor 64-128(%rax),%xmm4
1380 pxor %xmm1,%xmm4
1381 paddd %xmm15,%xmm11
1382 pslld $5,%xmm8
1383 movdqa %xmm12,%xmm9
1384 pand %xmm14,%xmm7
1385
1386 movdqa %xmm10,%xmm6
1387 movdqa %xmm4,%xmm5
1388 psrld $27,%xmm9
1389 paddd %xmm7,%xmm11
1390 pxor %xmm14,%xmm6
1391
1392 movdqa %xmm3,176-128(%rax)
1393 paddd %xmm3,%xmm11
1394 por %xmm9,%xmm8
1395 psrld $31,%xmm5
1396 pand %xmm13,%xmm6
1397 movdqa %xmm13,%xmm7
1398
1399 pslld $30,%xmm7
1400 paddd %xmm4,%xmm4
1401 paddd %xmm6,%xmm11
1402
1403 psrld $2,%xmm13
1404 paddd %xmm8,%xmm11
1405 por %xmm5,%xmm4
1406 por %xmm7,%xmm13
1407 pxor %xmm2,%xmm0
1408 movdqa 240-128(%rax),%xmm2
1409
1410 movdqa %xmm11,%xmm8
1411 movdqa %xmm14,%xmm7
1412 pxor 80-128(%rax),%xmm0
1413 pxor %xmm2,%xmm0
1414 paddd %xmm15,%xmm10
1415 pslld $5,%xmm8
1416 movdqa %xmm11,%xmm9
1417 pand %xmm13,%xmm7
1418
1419 movdqa %xmm14,%xmm6
1420 movdqa %xmm0,%xmm5
1421 psrld $27,%xmm9
1422 paddd %xmm7,%xmm10
1423 pxor %xmm13,%xmm6
1424
1425 movdqa %xmm4,192-128(%rax)
1426 paddd %xmm4,%xmm10
1427 por %xmm9,%xmm8
1428 psrld $31,%xmm5
1429 pand %xmm12,%xmm6
1430 movdqa %xmm12,%xmm7
1431
1432 pslld $30,%xmm7
1433 paddd %xmm0,%xmm0
1434 paddd %xmm6,%xmm10
1435
1436 psrld $2,%xmm12
1437 paddd %xmm8,%xmm10
1438 por %xmm5,%xmm0
1439 por %xmm7,%xmm12
1440 pxor %xmm3,%xmm1
1441 movdqa 0-128(%rax),%xmm3
1442
1443 movdqa %xmm10,%xmm8
1444 movdqa %xmm13,%xmm7
1445 pxor 96-128(%rax),%xmm1
1446 pxor %xmm3,%xmm1
1447 paddd %xmm15,%xmm14
1448 pslld $5,%xmm8
1449 movdqa %xmm10,%xmm9
1450 pand %xmm12,%xmm7
1451
1452 movdqa %xmm13,%xmm6
1453 movdqa %xmm1,%xmm5
1454 psrld $27,%xmm9
1455 paddd %xmm7,%xmm14
1456 pxor %xmm12,%xmm6
1457
1458 movdqa %xmm0,208-128(%rax)
1459 paddd %xmm0,%xmm14
1460 por %xmm9,%xmm8
1461 psrld $31,%xmm5
1462 pand %xmm11,%xmm6
1463 movdqa %xmm11,%xmm7
1464
1465 pslld $30,%xmm7
1466 paddd %xmm1,%xmm1
1467 paddd %xmm6,%xmm14
1468
1469 psrld $2,%xmm11
1470 paddd %xmm8,%xmm14
1471 por %xmm5,%xmm1
1472 por %xmm7,%xmm11
1473 pxor %xmm4,%xmm2
1474 movdqa 16-128(%rax),%xmm4
1475
1476 movdqa %xmm14,%xmm8
1477 movdqa %xmm12,%xmm7
1478 pxor 112-128(%rax),%xmm2
1479 pxor %xmm4,%xmm2
1480 paddd %xmm15,%xmm13
1481 pslld $5,%xmm8
1482 movdqa %xmm14,%xmm9
1483 pand %xmm11,%xmm7
1484
1485 movdqa %xmm12,%xmm6
1486 movdqa %xmm2,%xmm5
1487 psrld $27,%xmm9
1488 paddd %xmm7,%xmm13
1489 pxor %xmm11,%xmm6
1490
1491 movdqa %xmm1,224-128(%rax)
1492 paddd %xmm1,%xmm13
1493 por %xmm9,%xmm8
1494 psrld $31,%xmm5
1495 pand %xmm10,%xmm6
1496 movdqa %xmm10,%xmm7
1497
1498 pslld $30,%xmm7
1499 paddd %xmm2,%xmm2
1500 paddd %xmm6,%xmm13
1501
1502 psrld $2,%xmm10
1503 paddd %xmm8,%xmm13
1504 por %xmm5,%xmm2
1505 por %xmm7,%xmm10
1506 pxor %xmm0,%xmm3
1507 movdqa 32-128(%rax),%xmm0
1508
1509 movdqa %xmm13,%xmm8
1510 movdqa %xmm11,%xmm7
1511 pxor 128-128(%rax),%xmm3
1512 pxor %xmm0,%xmm3
1513 paddd %xmm15,%xmm12
1514 pslld $5,%xmm8
1515 movdqa %xmm13,%xmm9
1516 pand %xmm10,%xmm7
1517
1518 movdqa %xmm11,%xmm6
1519 movdqa %xmm3,%xmm5
1520 psrld $27,%xmm9
1521 paddd %xmm7,%xmm12
1522 pxor %xmm10,%xmm6
1523
1524 movdqa %xmm2,240-128(%rax)
1525 paddd %xmm2,%xmm12
1526 por %xmm9,%xmm8
1527 psrld $31,%xmm5
1528 pand %xmm14,%xmm6
1529 movdqa %xmm14,%xmm7
1530
1531 pslld $30,%xmm7
1532 paddd %xmm3,%xmm3
1533 paddd %xmm6,%xmm12
1534
1535 psrld $2,%xmm14
1536 paddd %xmm8,%xmm12
1537 por %xmm5,%xmm3
1538 por %xmm7,%xmm14
1539 pxor %xmm1,%xmm4
1540 movdqa 48-128(%rax),%xmm1
1541
1542 movdqa %xmm12,%xmm8
1543 movdqa %xmm10,%xmm7
1544 pxor 144-128(%rax),%xmm4
1545 pxor %xmm1,%xmm4
1546 paddd %xmm15,%xmm11
1547 pslld $5,%xmm8
1548 movdqa %xmm12,%xmm9
1549 pand %xmm14,%xmm7
1550
1551 movdqa %xmm10,%xmm6
1552 movdqa %xmm4,%xmm5
1553 psrld $27,%xmm9
1554 paddd %xmm7,%xmm11
1555 pxor %xmm14,%xmm6
1556
1557 movdqa %xmm3,0-128(%rax)
1558 paddd %xmm3,%xmm11
1559 por %xmm9,%xmm8
1560 psrld $31,%xmm5
1561 pand %xmm13,%xmm6
1562 movdqa %xmm13,%xmm7
1563
1564 pslld $30,%xmm7
1565 paddd %xmm4,%xmm4
1566 paddd %xmm6,%xmm11
1567
1568 psrld $2,%xmm13
1569 paddd %xmm8,%xmm11
1570 por %xmm5,%xmm4
1571 por %xmm7,%xmm13
1572 pxor %xmm2,%xmm0
1573 movdqa 64-128(%rax),%xmm2
1574
1575 movdqa %xmm11,%xmm8
1576 movdqa %xmm14,%xmm7
1577 pxor 160-128(%rax),%xmm0
1578 pxor %xmm2,%xmm0
1579 paddd %xmm15,%xmm10
1580 pslld $5,%xmm8
1581 movdqa %xmm11,%xmm9
1582 pand %xmm13,%xmm7
1583
1584 movdqa %xmm14,%xmm6
1585 movdqa %xmm0,%xmm5
1586 psrld $27,%xmm9
1587 paddd %xmm7,%xmm10
1588 pxor %xmm13,%xmm6
1589
1590 movdqa %xmm4,16-128(%rax)
1591 paddd %xmm4,%xmm10
1592 por %xmm9,%xmm8
1593 psrld $31,%xmm5
1594 pand %xmm12,%xmm6
1595 movdqa %xmm12,%xmm7
1596
1597 pslld $30,%xmm7
1598 paddd %xmm0,%xmm0
1599 paddd %xmm6,%xmm10
1600
1601 psrld $2,%xmm12
1602 paddd %xmm8,%xmm10
1603 por %xmm5,%xmm0
1604 por %xmm7,%xmm12
1605 pxor %xmm3,%xmm1
1606 movdqa 80-128(%rax),%xmm3
1607
1608 movdqa %xmm10,%xmm8
1609 movdqa %xmm13,%xmm7
1610 pxor 176-128(%rax),%xmm1
1611 pxor %xmm3,%xmm1
1612 paddd %xmm15,%xmm14
1613 pslld $5,%xmm8
1614 movdqa %xmm10,%xmm9
1615 pand %xmm12,%xmm7
1616
1617 movdqa %xmm13,%xmm6
1618 movdqa %xmm1,%xmm5
1619 psrld $27,%xmm9
1620 paddd %xmm7,%xmm14
1621 pxor %xmm12,%xmm6
1622
1623 movdqa %xmm0,32-128(%rax)
1624 paddd %xmm0,%xmm14
1625 por %xmm9,%xmm8
1626 psrld $31,%xmm5
1627 pand %xmm11,%xmm6
1628 movdqa %xmm11,%xmm7
1629
1630 pslld $30,%xmm7
1631 paddd %xmm1,%xmm1
1632 paddd %xmm6,%xmm14
1633
1634 psrld $2,%xmm11
1635 paddd %xmm8,%xmm14
1636 por %xmm5,%xmm1
1637 por %xmm7,%xmm11
1638 pxor %xmm4,%xmm2
1639 movdqa 96-128(%rax),%xmm4
1640
1641 movdqa %xmm14,%xmm8
1642 movdqa %xmm12,%xmm7
1643 pxor 192-128(%rax),%xmm2
1644 pxor %xmm4,%xmm2
1645 paddd %xmm15,%xmm13
1646 pslld $5,%xmm8
1647 movdqa %xmm14,%xmm9
1648 pand %xmm11,%xmm7
1649
1650 movdqa %xmm12,%xmm6
1651 movdqa %xmm2,%xmm5
1652 psrld $27,%xmm9
1653 paddd %xmm7,%xmm13
1654 pxor %xmm11,%xmm6
1655
1656 movdqa %xmm1,48-128(%rax)
1657 paddd %xmm1,%xmm13
1658 por %xmm9,%xmm8
1659 psrld $31,%xmm5
1660 pand %xmm10,%xmm6
1661 movdqa %xmm10,%xmm7
1662
1663 pslld $30,%xmm7
1664 paddd %xmm2,%xmm2
1665 paddd %xmm6,%xmm13
1666
1667 psrld $2,%xmm10
1668 paddd %xmm8,%xmm13
1669 por %xmm5,%xmm2
1670 por %xmm7,%xmm10
1671 pxor %xmm0,%xmm3
1672 movdqa 112-128(%rax),%xmm0
1673
1674 movdqa %xmm13,%xmm8
1675 movdqa %xmm11,%xmm7
1676 pxor 208-128(%rax),%xmm3
1677 pxor %xmm0,%xmm3
1678 paddd %xmm15,%xmm12
1679 pslld $5,%xmm8
1680 movdqa %xmm13,%xmm9
1681 pand %xmm10,%xmm7
1682
1683 movdqa %xmm11,%xmm6
1684 movdqa %xmm3,%xmm5
1685 psrld $27,%xmm9
1686 paddd %xmm7,%xmm12
1687 pxor %xmm10,%xmm6
1688
1689 movdqa %xmm2,64-128(%rax)
1690 paddd %xmm2,%xmm12
1691 por %xmm9,%xmm8
1692 psrld $31,%xmm5
1693 pand %xmm14,%xmm6
1694 movdqa %xmm14,%xmm7
1695
1696 pslld $30,%xmm7
1697 paddd %xmm3,%xmm3
1698 paddd %xmm6,%xmm12
1699
1700 psrld $2,%xmm14
1701 paddd %xmm8,%xmm12
1702 por %xmm5,%xmm3
1703 por %xmm7,%xmm14
1704 pxor %xmm1,%xmm4
1705 movdqa 128-128(%rax),%xmm1
1706
1707 movdqa %xmm12,%xmm8
1708 movdqa %xmm10,%xmm7
1709 pxor 224-128(%rax),%xmm4
1710 pxor %xmm1,%xmm4
1711 paddd %xmm15,%xmm11
1712 pslld $5,%xmm8
1713 movdqa %xmm12,%xmm9
1714 pand %xmm14,%xmm7
1715
1716 movdqa %xmm10,%xmm6
1717 movdqa %xmm4,%xmm5
1718 psrld $27,%xmm9
1719 paddd %xmm7,%xmm11
1720 pxor %xmm14,%xmm6
1721
1722 movdqa %xmm3,80-128(%rax)
1723 paddd %xmm3,%xmm11
1724 por %xmm9,%xmm8
1725 psrld $31,%xmm5
1726 pand %xmm13,%xmm6
1727 movdqa %xmm13,%xmm7
1728
1729 pslld $30,%xmm7
1730 paddd %xmm4,%xmm4
1731 paddd %xmm6,%xmm11
1732
1733 psrld $2,%xmm13
1734 paddd %xmm8,%xmm11
1735 por %xmm5,%xmm4
1736 por %xmm7,%xmm13
1737 pxor %xmm2,%xmm0
1738 movdqa 144-128(%rax),%xmm2
1739
1740 movdqa %xmm11,%xmm8
1741 movdqa %xmm14,%xmm7
1742 pxor 240-128(%rax),%xmm0
1743 pxor %xmm2,%xmm0
1744 paddd %xmm15,%xmm10
1745 pslld $5,%xmm8
1746 movdqa %xmm11,%xmm9
1747 pand %xmm13,%xmm7
1748
1749 movdqa %xmm14,%xmm6
1750 movdqa %xmm0,%xmm5
1751 psrld $27,%xmm9
1752 paddd %xmm7,%xmm10
1753 pxor %xmm13,%xmm6
1754
1755 movdqa %xmm4,96-128(%rax)
1756 paddd %xmm4,%xmm10
1757 por %xmm9,%xmm8
1758 psrld $31,%xmm5
1759 pand %xmm12,%xmm6
1760 movdqa %xmm12,%xmm7
1761
1762 pslld $30,%xmm7
1763 paddd %xmm0,%xmm0
1764 paddd %xmm6,%xmm10
1765
1766 psrld $2,%xmm12
1767 paddd %xmm8,%xmm10
1768 por %xmm5,%xmm0
1769 por %xmm7,%xmm12
1770 pxor %xmm3,%xmm1
1771 movdqa 160-128(%rax),%xmm3
1772
1773 movdqa %xmm10,%xmm8
1774 movdqa %xmm13,%xmm7
1775 pxor 0-128(%rax),%xmm1
1776 pxor %xmm3,%xmm1
1777 paddd %xmm15,%xmm14
1778 pslld $5,%xmm8
1779 movdqa %xmm10,%xmm9
1780 pand %xmm12,%xmm7
1781
1782 movdqa %xmm13,%xmm6
1783 movdqa %xmm1,%xmm5
1784 psrld $27,%xmm9
1785 paddd %xmm7,%xmm14
1786 pxor %xmm12,%xmm6
1787
1788 movdqa %xmm0,112-128(%rax)
1789 paddd %xmm0,%xmm14
1790 por %xmm9,%xmm8
1791 psrld $31,%xmm5
1792 pand %xmm11,%xmm6
1793 movdqa %xmm11,%xmm7
1794
1795 pslld $30,%xmm7
1796 paddd %xmm1,%xmm1
1797 paddd %xmm6,%xmm14
1798
1799 psrld $2,%xmm11
1800 paddd %xmm8,%xmm14
1801 por %xmm5,%xmm1
1802 por %xmm7,%xmm11
1803 pxor %xmm4,%xmm2
1804 movdqa 176-128(%rax),%xmm4
1805
1806 movdqa %xmm14,%xmm8
1807 movdqa %xmm12,%xmm7
1808 pxor 16-128(%rax),%xmm2
1809 pxor %xmm4,%xmm2
1810 paddd %xmm15,%xmm13
1811 pslld $5,%xmm8
1812 movdqa %xmm14,%xmm9
1813 pand %xmm11,%xmm7
1814
1815 movdqa %xmm12,%xmm6
1816 movdqa %xmm2,%xmm5
1817 psrld $27,%xmm9
1818 paddd %xmm7,%xmm13
1819 pxor %xmm11,%xmm6
1820
1821 movdqa %xmm1,128-128(%rax)
1822 paddd %xmm1,%xmm13
1823 por %xmm9,%xmm8
1824 psrld $31,%xmm5
1825 pand %xmm10,%xmm6
1826 movdqa %xmm10,%xmm7
1827
1828 pslld $30,%xmm7
1829 paddd %xmm2,%xmm2
1830 paddd %xmm6,%xmm13
1831
1832 psrld $2,%xmm10
1833 paddd %xmm8,%xmm13
1834 por %xmm5,%xmm2
1835 por %xmm7,%xmm10
1836 pxor %xmm0,%xmm3
1837 movdqa 192-128(%rax),%xmm0
1838
1839 movdqa %xmm13,%xmm8
1840 movdqa %xmm11,%xmm7
1841 pxor 32-128(%rax),%xmm3
1842 pxor %xmm0,%xmm3
1843 paddd %xmm15,%xmm12
1844 pslld $5,%xmm8
1845 movdqa %xmm13,%xmm9
1846 pand %xmm10,%xmm7
1847
1848 movdqa %xmm11,%xmm6
1849 movdqa %xmm3,%xmm5
1850 psrld $27,%xmm9
1851 paddd %xmm7,%xmm12
1852 pxor %xmm10,%xmm6
1853
1854 movdqa %xmm2,144-128(%rax)
1855 paddd %xmm2,%xmm12
1856 por %xmm9,%xmm8
1857 psrld $31,%xmm5
1858 pand %xmm14,%xmm6
1859 movdqa %xmm14,%xmm7
1860
1861 pslld $30,%xmm7
1862 paddd %xmm3,%xmm3
1863 paddd %xmm6,%xmm12
1864
1865 psrld $2,%xmm14
1866 paddd %xmm8,%xmm12
1867 por %xmm5,%xmm3
1868 por %xmm7,%xmm14
1869 pxor %xmm1,%xmm4
1870 movdqa 208-128(%rax),%xmm1
1871
1872 movdqa %xmm12,%xmm8
1873 movdqa %xmm10,%xmm7
1874 pxor 48-128(%rax),%xmm4
1875 pxor %xmm1,%xmm4
1876 paddd %xmm15,%xmm11
1877 pslld $5,%xmm8
1878 movdqa %xmm12,%xmm9
1879 pand %xmm14,%xmm7
1880
1881 movdqa %xmm10,%xmm6
1882 movdqa %xmm4,%xmm5
1883 psrld $27,%xmm9
1884 paddd %xmm7,%xmm11
1885 pxor %xmm14,%xmm6
1886
1887 movdqa %xmm3,160-128(%rax)
1888 paddd %xmm3,%xmm11
1889 por %xmm9,%xmm8
1890 psrld $31,%xmm5
1891 pand %xmm13,%xmm6
1892 movdqa %xmm13,%xmm7
1893
1894 pslld $30,%xmm7
1895 paddd %xmm4,%xmm4
1896 paddd %xmm6,%xmm11
1897
1898 psrld $2,%xmm13
1899 paddd %xmm8,%xmm11
1900 por %xmm5,%xmm4
1901 por %xmm7,%xmm13
1902 pxor %xmm2,%xmm0
1903 movdqa 224-128(%rax),%xmm2
1904
1905 movdqa %xmm11,%xmm8
1906 movdqa %xmm14,%xmm7
1907 pxor 64-128(%rax),%xmm0
1908 pxor %xmm2,%xmm0
1909 paddd %xmm15,%xmm10
1910 pslld $5,%xmm8
1911 movdqa %xmm11,%xmm9
1912 pand %xmm13,%xmm7
1913
1914 movdqa %xmm14,%xmm6
1915 movdqa %xmm0,%xmm5
1916 psrld $27,%xmm9
1917 paddd %xmm7,%xmm10
1918 pxor %xmm13,%xmm6
1919
1920 movdqa %xmm4,176-128(%rax)
1921 paddd %xmm4,%xmm10
1922 por %xmm9,%xmm8
1923 psrld $31,%xmm5
1924 pand %xmm12,%xmm6
1925 movdqa %xmm12,%xmm7
1926
1927 pslld $30,%xmm7
1928 paddd %xmm0,%xmm0
1929 paddd %xmm6,%xmm10
1930
1931 psrld $2,%xmm12
1932 paddd %xmm8,%xmm10
1933 por %xmm5,%xmm0
1934 por %xmm7,%xmm12
1935 movdqa 64(%rbp),%xmm15
1936 pxor %xmm3,%xmm1
1937 movdqa 240-128(%rax),%xmm3
1938
1939 movdqa %xmm10,%xmm8
1940 movdqa %xmm13,%xmm6
1941 pxor 80-128(%rax),%xmm1
1942 paddd %xmm15,%xmm14
1943 pslld $5,%xmm8
1944 pxor %xmm11,%xmm6
1945
1946 movdqa %xmm10,%xmm9
1947 movdqa %xmm0,192-128(%rax)
1948 paddd %xmm0,%xmm14
1949 pxor %xmm3,%xmm1
1950 psrld $27,%xmm9
1951 pxor %xmm12,%xmm6
1952 movdqa %xmm11,%xmm7
1953
1954 pslld $30,%xmm7
1955 movdqa %xmm1,%xmm5
1956 por %xmm9,%xmm8
1957 psrld $31,%xmm5
1958 paddd %xmm6,%xmm14
1959 paddd %xmm1,%xmm1
1960
1961 psrld $2,%xmm11
1962 paddd %xmm8,%xmm14
1963 por %xmm5,%xmm1
1964 por %xmm7,%xmm11
1965 pxor %xmm4,%xmm2
1966 movdqa 0-128(%rax),%xmm4
1967
1968 movdqa %xmm14,%xmm8
1969 movdqa %xmm12,%xmm6
1970 pxor 96-128(%rax),%xmm2
1971 paddd %xmm15,%xmm13
1972 pslld $5,%xmm8
1973 pxor %xmm10,%xmm6
1974
1975 movdqa %xmm14,%xmm9
1976 movdqa %xmm1,208-128(%rax)
1977 paddd %xmm1,%xmm13
1978 pxor %xmm4,%xmm2
1979 psrld $27,%xmm9
1980 pxor %xmm11,%xmm6
1981 movdqa %xmm10,%xmm7
1982
1983 pslld $30,%xmm7
1984 movdqa %xmm2,%xmm5
1985 por %xmm9,%xmm8
1986 psrld $31,%xmm5
1987 paddd %xmm6,%xmm13
1988 paddd %xmm2,%xmm2
1989
1990 psrld $2,%xmm10
1991 paddd %xmm8,%xmm13
1992 por %xmm5,%xmm2
1993 por %xmm7,%xmm10
1994 pxor %xmm0,%xmm3
1995 movdqa 16-128(%rax),%xmm0
1996
1997 movdqa %xmm13,%xmm8
1998 movdqa %xmm11,%xmm6
1999 pxor 112-128(%rax),%xmm3
2000 paddd %xmm15,%xmm12
2001 pslld $5,%xmm8
2002 pxor %xmm14,%xmm6
2003
2004 movdqa %xmm13,%xmm9
2005 movdqa %xmm2,224-128(%rax)
2006 paddd %xmm2,%xmm12
2007 pxor %xmm0,%xmm3
2008 psrld $27,%xmm9
2009 pxor %xmm10,%xmm6
2010 movdqa %xmm14,%xmm7
2011
2012 pslld $30,%xmm7
2013 movdqa %xmm3,%xmm5
2014 por %xmm9,%xmm8
2015 psrld $31,%xmm5
2016 paddd %xmm6,%xmm12
2017 paddd %xmm3,%xmm3
2018
2019 psrld $2,%xmm14
2020 paddd %xmm8,%xmm12
2021 por %xmm5,%xmm3
2022 por %xmm7,%xmm14
2023 pxor %xmm1,%xmm4
2024 movdqa 32-128(%rax),%xmm1
2025
2026 movdqa %xmm12,%xmm8
2027 movdqa %xmm10,%xmm6
2028 pxor 128-128(%rax),%xmm4
2029 paddd %xmm15,%xmm11
2030 pslld $5,%xmm8
2031 pxor %xmm13,%xmm6
2032
2033 movdqa %xmm12,%xmm9
2034 movdqa %xmm3,240-128(%rax)
2035 paddd %xmm3,%xmm11
2036 pxor %xmm1,%xmm4
2037 psrld $27,%xmm9
2038 pxor %xmm14,%xmm6
2039 movdqa %xmm13,%xmm7
2040
2041 pslld $30,%xmm7
2042 movdqa %xmm4,%xmm5
2043 por %xmm9,%xmm8
2044 psrld $31,%xmm5
2045 paddd %xmm6,%xmm11
2046 paddd %xmm4,%xmm4
2047
2048 psrld $2,%xmm13
2049 paddd %xmm8,%xmm11
2050 por %xmm5,%xmm4
2051 por %xmm7,%xmm13
2052 pxor %xmm2,%xmm0
2053 movdqa 48-128(%rax),%xmm2
2054
2055 movdqa %xmm11,%xmm8
2056 movdqa %xmm14,%xmm6
2057 pxor 144-128(%rax),%xmm0
2058 paddd %xmm15,%xmm10
2059 pslld $5,%xmm8
2060 pxor %xmm12,%xmm6
2061
2062 movdqa %xmm11,%xmm9
2063 movdqa %xmm4,0-128(%rax)
2064 paddd %xmm4,%xmm10
2065 pxor %xmm2,%xmm0
2066 psrld $27,%xmm9
2067 pxor %xmm13,%xmm6
2068 movdqa %xmm12,%xmm7
2069
2070 pslld $30,%xmm7
2071 movdqa %xmm0,%xmm5
2072 por %xmm9,%xmm8
2073 psrld $31,%xmm5
2074 paddd %xmm6,%xmm10
2075 paddd %xmm0,%xmm0
2076
2077 psrld $2,%xmm12
2078 paddd %xmm8,%xmm10
2079 por %xmm5,%xmm0
2080 por %xmm7,%xmm12
2081 pxor %xmm3,%xmm1
2082 movdqa 64-128(%rax),%xmm3
2083
2084 movdqa %xmm10,%xmm8
2085 movdqa %xmm13,%xmm6
2086 pxor 160-128(%rax),%xmm1
2087 paddd %xmm15,%xmm14
2088 pslld $5,%xmm8
2089 pxor %xmm11,%xmm6
2090
2091 movdqa %xmm10,%xmm9
2092 movdqa %xmm0,16-128(%rax)
2093 paddd %xmm0,%xmm14
2094 pxor %xmm3,%xmm1
2095 psrld $27,%xmm9
2096 pxor %xmm12,%xmm6
2097 movdqa %xmm11,%xmm7
2098
2099 pslld $30,%xmm7
2100 movdqa %xmm1,%xmm5
2101 por %xmm9,%xmm8
2102 psrld $31,%xmm5
2103 paddd %xmm6,%xmm14
2104 paddd %xmm1,%xmm1
2105
2106 psrld $2,%xmm11
2107 paddd %xmm8,%xmm14
2108 por %xmm5,%xmm1
2109 por %xmm7,%xmm11
2110 pxor %xmm4,%xmm2
2111 movdqa 80-128(%rax),%xmm4
2112
2113 movdqa %xmm14,%xmm8
2114 movdqa %xmm12,%xmm6
2115 pxor 176-128(%rax),%xmm2
2116 paddd %xmm15,%xmm13
2117 pslld $5,%xmm8
2118 pxor %xmm10,%xmm6
2119
2120 movdqa %xmm14,%xmm9
2121 movdqa %xmm1,32-128(%rax)
2122 paddd %xmm1,%xmm13
2123 pxor %xmm4,%xmm2
2124 psrld $27,%xmm9
2125 pxor %xmm11,%xmm6
2126 movdqa %xmm10,%xmm7
2127
2128 pslld $30,%xmm7
2129 movdqa %xmm2,%xmm5
2130 por %xmm9,%xmm8
2131 psrld $31,%xmm5
2132 paddd %xmm6,%xmm13
2133 paddd %xmm2,%xmm2
2134
2135 psrld $2,%xmm10
2136 paddd %xmm8,%xmm13
2137 por %xmm5,%xmm2
2138 por %xmm7,%xmm10
2139 pxor %xmm0,%xmm3
2140 movdqa 96-128(%rax),%xmm0
2141
2142 movdqa %xmm13,%xmm8
2143 movdqa %xmm11,%xmm6
2144 pxor 192-128(%rax),%xmm3
2145 paddd %xmm15,%xmm12
2146 pslld $5,%xmm8
2147 pxor %xmm14,%xmm6
2148
2149 movdqa %xmm13,%xmm9
2150 movdqa %xmm2,48-128(%rax)
2151 paddd %xmm2,%xmm12
2152 pxor %xmm0,%xmm3
2153 psrld $27,%xmm9
2154 pxor %xmm10,%xmm6
2155 movdqa %xmm14,%xmm7
2156
2157 pslld $30,%xmm7
2158 movdqa %xmm3,%xmm5
2159 por %xmm9,%xmm8
2160 psrld $31,%xmm5
2161 paddd %xmm6,%xmm12
2162 paddd %xmm3,%xmm3
2163
2164 psrld $2,%xmm14
2165 paddd %xmm8,%xmm12
2166 por %xmm5,%xmm3
2167 por %xmm7,%xmm14
2168 pxor %xmm1,%xmm4
2169 movdqa 112-128(%rax),%xmm1
2170
2171 movdqa %xmm12,%xmm8
2172 movdqa %xmm10,%xmm6
2173 pxor 208-128(%rax),%xmm4
2174 paddd %xmm15,%xmm11
2175 pslld $5,%xmm8
2176 pxor %xmm13,%xmm6
2177
2178 movdqa %xmm12,%xmm9
2179 movdqa %xmm3,64-128(%rax)
2180 paddd %xmm3,%xmm11
2181 pxor %xmm1,%xmm4
2182 psrld $27,%xmm9
2183 pxor %xmm14,%xmm6
2184 movdqa %xmm13,%xmm7
2185
2186 pslld $30,%xmm7
2187 movdqa %xmm4,%xmm5
2188 por %xmm9,%xmm8
2189 psrld $31,%xmm5
2190 paddd %xmm6,%xmm11
2191 paddd %xmm4,%xmm4
2192
2193 psrld $2,%xmm13
2194 paddd %xmm8,%xmm11
2195 por %xmm5,%xmm4
2196 por %xmm7,%xmm13
2197 pxor %xmm2,%xmm0
2198 movdqa 128-128(%rax),%xmm2
2199
2200 movdqa %xmm11,%xmm8
2201 movdqa %xmm14,%xmm6
2202 pxor 224-128(%rax),%xmm0
2203 paddd %xmm15,%xmm10
2204 pslld $5,%xmm8
2205 pxor %xmm12,%xmm6
2206
2207 movdqa %xmm11,%xmm9
2208 movdqa %xmm4,80-128(%rax)
2209 paddd %xmm4,%xmm10
2210 pxor %xmm2,%xmm0
2211 psrld $27,%xmm9
2212 pxor %xmm13,%xmm6
2213 movdqa %xmm12,%xmm7
2214
2215 pslld $30,%xmm7
2216 movdqa %xmm0,%xmm5
2217 por %xmm9,%xmm8
2218 psrld $31,%xmm5
2219 paddd %xmm6,%xmm10
2220 paddd %xmm0,%xmm0
2221
2222 psrld $2,%xmm12
2223 paddd %xmm8,%xmm10
2224 por %xmm5,%xmm0
2225 por %xmm7,%xmm12
2226 pxor %xmm3,%xmm1
2227 movdqa 144-128(%rax),%xmm3
2228
2229 movdqa %xmm10,%xmm8
2230 movdqa %xmm13,%xmm6
2231 pxor 240-128(%rax),%xmm1
2232 paddd %xmm15,%xmm14
2233 pslld $5,%xmm8
2234 pxor %xmm11,%xmm6
2235
2236 movdqa %xmm10,%xmm9
2237 movdqa %xmm0,96-128(%rax)
2238 paddd %xmm0,%xmm14
2239 pxor %xmm3,%xmm1
2240 psrld $27,%xmm9
2241 pxor %xmm12,%xmm6
2242 movdqa %xmm11,%xmm7
2243
2244 pslld $30,%xmm7
2245 movdqa %xmm1,%xmm5
2246 por %xmm9,%xmm8
2247 psrld $31,%xmm5
2248 paddd %xmm6,%xmm14
2249 paddd %xmm1,%xmm1
2250
2251 psrld $2,%xmm11
2252 paddd %xmm8,%xmm14
2253 por %xmm5,%xmm1
2254 por %xmm7,%xmm11
2255 pxor %xmm4,%xmm2
2256 movdqa 160-128(%rax),%xmm4
2257
2258 movdqa %xmm14,%xmm8
2259 movdqa %xmm12,%xmm6
2260 pxor 0-128(%rax),%xmm2
2261 paddd %xmm15,%xmm13
2262 pslld $5,%xmm8
2263 pxor %xmm10,%xmm6
2264
2265 movdqa %xmm14,%xmm9
2266 movdqa %xmm1,112-128(%rax)
2267 paddd %xmm1,%xmm13
2268 pxor %xmm4,%xmm2
2269 psrld $27,%xmm9
2270 pxor %xmm11,%xmm6
2271 movdqa %xmm10,%xmm7
2272
2273 pslld $30,%xmm7
2274 movdqa %xmm2,%xmm5
2275 por %xmm9,%xmm8
2276 psrld $31,%xmm5
2277 paddd %xmm6,%xmm13
2278 paddd %xmm2,%xmm2
2279
2280 psrld $2,%xmm10
2281 paddd %xmm8,%xmm13
2282 por %xmm5,%xmm2
2283 por %xmm7,%xmm10
2284 pxor %xmm0,%xmm3
2285 movdqa 176-128(%rax),%xmm0
2286
2287 movdqa %xmm13,%xmm8
2288 movdqa %xmm11,%xmm6
2289 pxor 16-128(%rax),%xmm3
2290 paddd %xmm15,%xmm12
2291 pslld $5,%xmm8
2292 pxor %xmm14,%xmm6
2293
2294 movdqa %xmm13,%xmm9
2295 paddd %xmm2,%xmm12
2296 pxor %xmm0,%xmm3
2297 psrld $27,%xmm9
2298 pxor %xmm10,%xmm6
2299 movdqa %xmm14,%xmm7
2300
2301 pslld $30,%xmm7
2302 movdqa %xmm3,%xmm5
2303 por %xmm9,%xmm8
2304 psrld $31,%xmm5
2305 paddd %xmm6,%xmm12
2306 paddd %xmm3,%xmm3
2307
2308 psrld $2,%xmm14
2309 paddd %xmm8,%xmm12
2310 por %xmm5,%xmm3
2311 por %xmm7,%xmm14
2312 pxor %xmm1,%xmm4
2313 movdqa 192-128(%rax),%xmm1
2314
2315 movdqa %xmm12,%xmm8
2316 movdqa %xmm10,%xmm6
2317 pxor 32-128(%rax),%xmm4
2318 paddd %xmm15,%xmm11
2319 pslld $5,%xmm8
2320 pxor %xmm13,%xmm6
2321
2322 movdqa %xmm12,%xmm9
2323 paddd %xmm3,%xmm11
2324 pxor %xmm1,%xmm4
2325 psrld $27,%xmm9
2326 pxor %xmm14,%xmm6
2327 movdqa %xmm13,%xmm7
2328
2329 pslld $30,%xmm7
2330 movdqa %xmm4,%xmm5
2331 por %xmm9,%xmm8
2332 psrld $31,%xmm5
2333 paddd %xmm6,%xmm11
2334 paddd %xmm4,%xmm4
2335
2336 psrld $2,%xmm13
2337 paddd %xmm8,%xmm11
2338 por %xmm5,%xmm4
2339 por %xmm7,%xmm13
2340 pxor %xmm2,%xmm0
2341 movdqa 208-128(%rax),%xmm2
2342
2343 movdqa %xmm11,%xmm8
2344 movdqa %xmm14,%xmm6
2345 pxor 48-128(%rax),%xmm0
2346 paddd %xmm15,%xmm10
2347 pslld $5,%xmm8
2348 pxor %xmm12,%xmm6
2349
2350 movdqa %xmm11,%xmm9
2351 paddd %xmm4,%xmm10
2352 pxor %xmm2,%xmm0
2353 psrld $27,%xmm9
2354 pxor %xmm13,%xmm6
2355 movdqa %xmm12,%xmm7
2356
2357 pslld $30,%xmm7
2358 movdqa %xmm0,%xmm5
2359 por %xmm9,%xmm8
2360 psrld $31,%xmm5
2361 paddd %xmm6,%xmm10
2362 paddd %xmm0,%xmm0
2363
2364 psrld $2,%xmm12
2365 paddd %xmm8,%xmm10
2366 por %xmm5,%xmm0
2367 por %xmm7,%xmm12
2368 pxor %xmm3,%xmm1
2369 movdqa 224-128(%rax),%xmm3
2370
2371 movdqa %xmm10,%xmm8
2372 movdqa %xmm13,%xmm6
2373 pxor 64-128(%rax),%xmm1
2374 paddd %xmm15,%xmm14
2375 pslld $5,%xmm8
2376 pxor %xmm11,%xmm6
2377
2378 movdqa %xmm10,%xmm9
2379 paddd %xmm0,%xmm14
2380 pxor %xmm3,%xmm1
2381 psrld $27,%xmm9
2382 pxor %xmm12,%xmm6
2383 movdqa %xmm11,%xmm7
2384
2385 pslld $30,%xmm7
2386 movdqa %xmm1,%xmm5
2387 por %xmm9,%xmm8
2388 psrld $31,%xmm5
2389 paddd %xmm6,%xmm14
2390 paddd %xmm1,%xmm1
2391
2392 psrld $2,%xmm11
2393 paddd %xmm8,%xmm14
2394 por %xmm5,%xmm1
2395 por %xmm7,%xmm11
2396 pxor %xmm4,%xmm2
2397 movdqa 240-128(%rax),%xmm4
2398
2399 movdqa %xmm14,%xmm8
2400 movdqa %xmm12,%xmm6
2401 pxor 80-128(%rax),%xmm2
2402 paddd %xmm15,%xmm13
2403 pslld $5,%xmm8
2404 pxor %xmm10,%xmm6
2405
2406 movdqa %xmm14,%xmm9
2407 paddd %xmm1,%xmm13
2408 pxor %xmm4,%xmm2
2409 psrld $27,%xmm9
2410 pxor %xmm11,%xmm6
2411 movdqa %xmm10,%xmm7
2412
2413 pslld $30,%xmm7
2414 movdqa %xmm2,%xmm5
2415 por %xmm9,%xmm8
2416 psrld $31,%xmm5
2417 paddd %xmm6,%xmm13
2418 paddd %xmm2,%xmm2
2419
2420 psrld $2,%xmm10
2421 paddd %xmm8,%xmm13
2422 por %xmm5,%xmm2
2423 por %xmm7,%xmm10
2424 pxor %xmm0,%xmm3
2425 movdqa 0-128(%rax),%xmm0
2426
2427 movdqa %xmm13,%xmm8
2428 movdqa %xmm11,%xmm6
2429 pxor 96-128(%rax),%xmm3
2430 paddd %xmm15,%xmm12
2431 pslld $5,%xmm8
2432 pxor %xmm14,%xmm6
2433
2434 movdqa %xmm13,%xmm9
2435 paddd %xmm2,%xmm12
2436 pxor %xmm0,%xmm3
2437 psrld $27,%xmm9
2438 pxor %xmm10,%xmm6
2439 movdqa %xmm14,%xmm7
2440
2441 pslld $30,%xmm7
2442 movdqa %xmm3,%xmm5
2443 por %xmm9,%xmm8
2444 psrld $31,%xmm5
2445 paddd %xmm6,%xmm12
2446 paddd %xmm3,%xmm3
2447
2448 psrld $2,%xmm14
2449 paddd %xmm8,%xmm12
2450 por %xmm5,%xmm3
2451 por %xmm7,%xmm14
2452 pxor %xmm1,%xmm4
2453 movdqa 16-128(%rax),%xmm1
2454
2455 movdqa %xmm12,%xmm8
2456 movdqa %xmm10,%xmm6
2457 pxor 112-128(%rax),%xmm4
2458 paddd %xmm15,%xmm11
2459 pslld $5,%xmm8
2460 pxor %xmm13,%xmm6
2461
2462 movdqa %xmm12,%xmm9
2463 paddd %xmm3,%xmm11
2464 pxor %xmm1,%xmm4
2465 psrld $27,%xmm9
2466 pxor %xmm14,%xmm6
2467 movdqa %xmm13,%xmm7
2468
2469 pslld $30,%xmm7
2470 movdqa %xmm4,%xmm5
2471 por %xmm9,%xmm8
2472 psrld $31,%xmm5
2473 paddd %xmm6,%xmm11
2474 paddd %xmm4,%xmm4
2475
2476 psrld $2,%xmm13
2477 paddd %xmm8,%xmm11
2478 por %xmm5,%xmm4
2479 por %xmm7,%xmm13
2480 movdqa %xmm11,%xmm8
2481 paddd %xmm15,%xmm10
2482 movdqa %xmm14,%xmm6
2483 pslld $5,%xmm8
2484 pxor %xmm12,%xmm6
2485
2486 movdqa %xmm11,%xmm9
2487 paddd %xmm4,%xmm10
2488 psrld $27,%xmm9
2489 movdqa %xmm12,%xmm7
2490 pxor %xmm13,%xmm6
2491
2492 pslld $30,%xmm7
2493 por %xmm9,%xmm8
2494 paddd %xmm6,%xmm10
2495
2496 psrld $2,%xmm12
2497 paddd %xmm8,%xmm10
2498 por %xmm7,%xmm12
2499 movdqa (%rbx),%xmm0
2500 movl $1,%ecx
2501 cmpl 0(%rbx),%ecx
2502 pxor %xmm8,%xmm8
2503 cmovgeq %rbp,%r8
2504 cmpl 4(%rbx),%ecx
2505 movdqa %xmm0,%xmm1
2506 cmovgeq %rbp,%r9
2507 cmpl 8(%rbx),%ecx
2508 pcmpgtd %xmm8,%xmm1
2509 cmovgeq %rbp,%r10
2510 cmpl 12(%rbx),%ecx
2511 paddd %xmm1,%xmm0
2512 cmovgeq %rbp,%r11
2513
2514 movdqu 0(%rdi),%xmm6
2515 pand %xmm1,%xmm10
2516 movdqu 32(%rdi),%xmm7
2517 pand %xmm1,%xmm11
2518 paddd %xmm6,%xmm10
2519 movdqu 64(%rdi),%xmm8
2520 pand %xmm1,%xmm12
2521 paddd %xmm7,%xmm11
2522 movdqu 96(%rdi),%xmm9
2523 pand %xmm1,%xmm13
2524 paddd %xmm8,%xmm12
2525 movdqu 128(%rdi),%xmm5
2526 pand %xmm1,%xmm14
2527 movdqu %xmm10,0(%rdi)
2528 paddd %xmm9,%xmm13
2529 movdqu %xmm11,32(%rdi)
2530 paddd %xmm5,%xmm14
2531 movdqu %xmm12,64(%rdi)
2532 movdqu %xmm13,96(%rdi)
2533 movdqu %xmm14,128(%rdi)
2534
2535 movdqa %xmm0,(%rbx)
2536 movdqa 96(%rbp),%xmm5
2537 movdqa -32(%rbp),%xmm15
2538 decl %edx
2539 jnz .Loop
2540
2541 movl 280(%rsp),%edx
2542 leaq 16(%rdi),%rdi
2543 leaq 64(%rsi),%rsi
2544 decl %edx
2545 jnz .Loop_grande
2546
2547.Ldone:
2548 movq 272(%rsp),%rax
2549 movq -16(%rax),%rbp
2550 movq -8(%rax),%rbx
2551 leaq (%rax),%rsp
2552.Lepilogue:
2553 .byte 0xf3,0xc3
2554.size sha1_multi_block,.-sha1_multi_block
2555.type sha1_multi_block_shaext,@function
2556.align 32
2557sha1_multi_block_shaext:
2558_shaext_shortcut:
2559 movq %rsp,%rax
2560 pushq %rbx
2561 pushq %rbp
2562 subq $288,%rsp
2563 shll $1,%edx
2564 andq $-256,%rsp
2565 leaq 64(%rdi),%rdi
2566 movq %rax,272(%rsp)
2567.Lbody_shaext:
2568 leaq 256(%rsp),%rbx
2569 movdqa K_XX_XX+128(%rip),%xmm3
2570
2571.Loop_grande_shaext:
2572 movl %edx,280(%rsp)
2573 xorl %edx,%edx
2574 movq 0(%rsi),%r8
2575 movl 8(%rsi),%ecx
2576 cmpl %edx,%ecx
2577 cmovgl %ecx,%edx
2578 testl %ecx,%ecx
2579 movl %ecx,0(%rbx)
2580 cmovleq %rsp,%r8
2581 movq 16(%rsi),%r9
2582 movl 24(%rsi),%ecx
2583 cmpl %edx,%ecx
2584 cmovgl %ecx,%edx
2585 testl %ecx,%ecx
2586 movl %ecx,4(%rbx)
2587 cmovleq %rsp,%r9
2588 testl %edx,%edx
2589 jz .Ldone_shaext
2590
2591 movq 0-64(%rdi),%xmm0
2592 movq 32-64(%rdi),%xmm4
2593 movq 64-64(%rdi),%xmm5
2594 movq 96-64(%rdi),%xmm6
2595 movq 128-64(%rdi),%xmm7
2596
2597 punpckldq %xmm4,%xmm0
2598 punpckldq %xmm6,%xmm5
2599
2600 movdqa %xmm0,%xmm8
2601 punpcklqdq %xmm5,%xmm0
2602 punpckhqdq %xmm5,%xmm8
2603
2604 pshufd $63,%xmm7,%xmm1
2605 pshufd $127,%xmm7,%xmm9
2606 pshufd $27,%xmm0,%xmm0
2607 pshufd $27,%xmm8,%xmm8
2608 jmp .Loop_shaext
2609
2610.align 32
2611.Loop_shaext:
2612 movdqu 0(%r8),%xmm4
2613 movdqu 0(%r9),%xmm11
2614 movdqu 16(%r8),%xmm5
2615 movdqu 16(%r9),%xmm12
2616 movdqu 32(%r8),%xmm6
2617.byte 102,15,56,0,227
2618 movdqu 32(%r9),%xmm13
2619.byte 102,68,15,56,0,219
2620 movdqu 48(%r8),%xmm7
2621 leaq 64(%r8),%r8
2622.byte 102,15,56,0,235
2623 movdqu 48(%r9),%xmm14
2624 leaq 64(%r9),%r9
2625.byte 102,68,15,56,0,227
2626
2627 movdqa %xmm1,80(%rsp)
2628 paddd %xmm4,%xmm1
2629 movdqa %xmm9,112(%rsp)
2630 paddd %xmm11,%xmm9
2631 movdqa %xmm0,64(%rsp)
2632 movdqa %xmm0,%xmm2
2633 movdqa %xmm8,96(%rsp)
2634 movdqa %xmm8,%xmm10
2635.byte 15,58,204,193,0
2636.byte 15,56,200,213
2637.byte 69,15,58,204,193,0
2638.byte 69,15,56,200,212
2639.byte 102,15,56,0,243
2640 prefetcht0 127(%r8)
2641.byte 15,56,201,229
2642.byte 102,68,15,56,0,235
2643 prefetcht0 127(%r9)
2644.byte 69,15,56,201,220
2645
2646.byte 102,15,56,0,251
2647 movdqa %xmm0,%xmm1
2648.byte 102,68,15,56,0,243
2649 movdqa %xmm8,%xmm9
2650.byte 15,58,204,194,0
2651.byte 15,56,200,206
2652.byte 69,15,58,204,194,0
2653.byte 69,15,56,200,205
2654 pxor %xmm6,%xmm4
2655.byte 15,56,201,238
2656 pxor %xmm13,%xmm11
2657.byte 69,15,56,201,229
2658 movdqa %xmm0,%xmm2
2659 movdqa %xmm8,%xmm10
2660.byte 15,58,204,193,0
2661.byte 15,56,200,215
2662.byte 69,15,58,204,193,0
2663.byte 69,15,56,200,214
2664.byte 15,56,202,231
2665.byte 69,15,56,202,222
2666 pxor %xmm7,%xmm5
2667.byte 15,56,201,247
2668 pxor %xmm14,%xmm12
2669.byte 69,15,56,201,238
2670 movdqa %xmm0,%xmm1
2671 movdqa %xmm8,%xmm9
2672.byte 15,58,204,194,0
2673.byte 15,56,200,204
2674.byte 69,15,58,204,194,0
2675.byte 69,15,56,200,203
2676.byte 15,56,202,236
2677.byte 69,15,56,202,227
2678 pxor %xmm4,%xmm6
2679.byte 15,56,201,252
2680 pxor %xmm11,%xmm13
2681.byte 69,15,56,201,243
2682 movdqa %xmm0,%xmm2
2683 movdqa %xmm8,%xmm10
2684.byte 15,58,204,193,0
2685.byte 15,56,200,213
2686.byte 69,15,58,204,193,0
2687.byte 69,15,56,200,212
2688.byte 15,56,202,245
2689.byte 69,15,56,202,236
2690 pxor %xmm5,%xmm7
2691.byte 15,56,201,229
2692 pxor %xmm12,%xmm14
2693.byte 69,15,56,201,220
2694 movdqa %xmm0,%xmm1
2695 movdqa %xmm8,%xmm9
2696.byte 15,58,204,194,1
2697.byte 15,56,200,206
2698.byte 69,15,58,204,194,1
2699.byte 69,15,56,200,205
2700.byte 15,56,202,254
2701.byte 69,15,56,202,245
2702 pxor %xmm6,%xmm4
2703.byte 15,56,201,238
2704 pxor %xmm13,%xmm11
2705.byte 69,15,56,201,229
2706 movdqa %xmm0,%xmm2
2707 movdqa %xmm8,%xmm10
2708.byte 15,58,204,193,1
2709.byte 15,56,200,215
2710.byte 69,15,58,204,193,1
2711.byte 69,15,56,200,214
2712.byte 15,56,202,231
2713.byte 69,15,56,202,222
2714 pxor %xmm7,%xmm5
2715.byte 15,56,201,247
2716 pxor %xmm14,%xmm12
2717.byte 69,15,56,201,238
2718 movdqa %xmm0,%xmm1
2719 movdqa %xmm8,%xmm9
2720.byte 15,58,204,194,1
2721.byte 15,56,200,204
2722.byte 69,15,58,204,194,1
2723.byte 69,15,56,200,203
2724.byte 15,56,202,236
2725.byte 69,15,56,202,227
2726 pxor %xmm4,%xmm6
2727.byte 15,56,201,252
2728 pxor %xmm11,%xmm13
2729.byte 69,15,56,201,243
2730 movdqa %xmm0,%xmm2
2731 movdqa %xmm8,%xmm10
2732.byte 15,58,204,193,1
2733.byte 15,56,200,213
2734.byte 69,15,58,204,193,1
2735.byte 69,15,56,200,212
2736.byte 15,56,202,245
2737.byte 69,15,56,202,236
2738 pxor %xmm5,%xmm7
2739.byte 15,56,201,229
2740 pxor %xmm12,%xmm14
2741.byte 69,15,56,201,220
2742 movdqa %xmm0,%xmm1
2743 movdqa %xmm8,%xmm9
2744.byte 15,58,204,194,1
2745.byte 15,56,200,206
2746.byte 69,15,58,204,194,1
2747.byte 69,15,56,200,205
2748.byte 15,56,202,254
2749.byte 69,15,56,202,245
2750 pxor %xmm6,%xmm4
2751.byte 15,56,201,238
2752 pxor %xmm13,%xmm11
2753.byte 69,15,56,201,229
2754 movdqa %xmm0,%xmm2
2755 movdqa %xmm8,%xmm10
2756.byte 15,58,204,193,2
2757.byte 15,56,200,215
2758.byte 69,15,58,204,193,2
2759.byte 69,15,56,200,214
2760.byte 15,56,202,231
2761.byte 69,15,56,202,222
2762 pxor %xmm7,%xmm5
2763.byte 15,56,201,247
2764 pxor %xmm14,%xmm12
2765.byte 69,15,56,201,238
2766 movdqa %xmm0,%xmm1
2767 movdqa %xmm8,%xmm9
2768.byte 15,58,204,194,2
2769.byte 15,56,200,204
2770.byte 69,15,58,204,194,2
2771.byte 69,15,56,200,203
2772.byte 15,56,202,236
2773.byte 69,15,56,202,227
2774 pxor %xmm4,%xmm6
2775.byte 15,56,201,252
2776 pxor %xmm11,%xmm13
2777.byte 69,15,56,201,243
2778 movdqa %xmm0,%xmm2
2779 movdqa %xmm8,%xmm10
2780.byte 15,58,204,193,2
2781.byte 15,56,200,213
2782.byte 69,15,58,204,193,2
2783.byte 69,15,56,200,212
2784.byte 15,56,202,245
2785.byte 69,15,56,202,236
2786 pxor %xmm5,%xmm7
2787.byte 15,56,201,229
2788 pxor %xmm12,%xmm14
2789.byte 69,15,56,201,220
2790 movdqa %xmm0,%xmm1
2791 movdqa %xmm8,%xmm9
2792.byte 15,58,204,194,2
2793.byte 15,56,200,206
2794.byte 69,15,58,204,194,2
2795.byte 69,15,56,200,205
2796.byte 15,56,202,254
2797.byte 69,15,56,202,245
2798 pxor %xmm6,%xmm4
2799.byte 15,56,201,238
2800 pxor %xmm13,%xmm11
2801.byte 69,15,56,201,229
2802 movdqa %xmm0,%xmm2
2803 movdqa %xmm8,%xmm10
2804.byte 15,58,204,193,2
2805.byte 15,56,200,215
2806.byte 69,15,58,204,193,2
2807.byte 69,15,56,200,214
2808.byte 15,56,202,231
2809.byte 69,15,56,202,222
2810 pxor %xmm7,%xmm5
2811.byte 15,56,201,247
2812 pxor %xmm14,%xmm12
2813.byte 69,15,56,201,238
2814 movdqa %xmm0,%xmm1
2815 movdqa %xmm8,%xmm9
2816.byte 15,58,204,194,3
2817.byte 15,56,200,204
2818.byte 69,15,58,204,194,3
2819.byte 69,15,56,200,203
2820.byte 15,56,202,236
2821.byte 69,15,56,202,227
2822 pxor %xmm4,%xmm6
2823.byte 15,56,201,252
2824 pxor %xmm11,%xmm13
2825.byte 69,15,56,201,243
2826 movdqa %xmm0,%xmm2
2827 movdqa %xmm8,%xmm10
2828.byte 15,58,204,193,3
2829.byte 15,56,200,213
2830.byte 69,15,58,204,193,3
2831.byte 69,15,56,200,212
2832.byte 15,56,202,245
2833.byte 69,15,56,202,236
2834 pxor %xmm5,%xmm7
2835 pxor %xmm12,%xmm14
2836
2837 movl $1,%ecx
2838 pxor %xmm4,%xmm4
2839 cmpl 0(%rbx),%ecx
2840 cmovgeq %rsp,%r8
2841
2842 movdqa %xmm0,%xmm1
2843 movdqa %xmm8,%xmm9
2844.byte 15,58,204,194,3
2845.byte 15,56,200,206
2846.byte 69,15,58,204,194,3
2847.byte 69,15,56,200,205
2848.byte 15,56,202,254
2849.byte 69,15,56,202,245
2850
2851 cmpl 4(%rbx),%ecx
2852 cmovgeq %rsp,%r9
2853 movq (%rbx),%xmm6
2854
2855 movdqa %xmm0,%xmm2
2856 movdqa %xmm8,%xmm10
2857.byte 15,58,204,193,3
2858.byte 15,56,200,215
2859.byte 69,15,58,204,193,3
2860.byte 69,15,56,200,214
2861
2862 pshufd $0x00,%xmm6,%xmm11
2863 pshufd $0x55,%xmm6,%xmm12
2864 movdqa %xmm6,%xmm7
2865 pcmpgtd %xmm4,%xmm11
2866 pcmpgtd %xmm4,%xmm12
2867
2868 movdqa %xmm0,%xmm1
2869 movdqa %xmm8,%xmm9
2870.byte 15,58,204,194,3
2871.byte 15,56,200,204
2872.byte 69,15,58,204,194,3
2873.byte 68,15,56,200,204
2874
2875 pcmpgtd %xmm4,%xmm7
2876 pand %xmm11,%xmm0
2877 pand %xmm11,%xmm1
2878 pand %xmm12,%xmm8
2879 pand %xmm12,%xmm9
2880 paddd %xmm7,%xmm6
2881
2882 paddd 64(%rsp),%xmm0
2883 paddd 80(%rsp),%xmm1
2884 paddd 96(%rsp),%xmm8
2885 paddd 112(%rsp),%xmm9
2886
2887 movq %xmm6,(%rbx)
2888 decl %edx
2889 jnz .Loop_shaext
2890
2891 movl 280(%rsp),%edx
2892
2893 pshufd $27,%xmm0,%xmm0
2894 pshufd $27,%xmm8,%xmm8
2895
2896 movdqa %xmm0,%xmm6
2897 punpckldq %xmm8,%xmm0
2898 punpckhdq %xmm8,%xmm6
2899 punpckhdq %xmm9,%xmm1
2900 movq %xmm0,0-64(%rdi)
2901 psrldq $8,%xmm0
2902 movq %xmm6,64-64(%rdi)
2903 psrldq $8,%xmm6
2904 movq %xmm0,32-64(%rdi)
2905 psrldq $8,%xmm1
2906 movq %xmm6,96-64(%rdi)
2907 movq %xmm1,128-64(%rdi)
2908
2909 leaq 8(%rdi),%rdi
2910 leaq 32(%rsi),%rsi
2911 decl %edx
2912 jnz .Loop_grande_shaext
2913
2914.Ldone_shaext:
2915
2916 movq -16(%rax),%rbp
2917 movq -8(%rax),%rbx
2918 leaq (%rax),%rsp
2919.Lepilogue_shaext:
2920 .byte 0xf3,0xc3
2921.size sha1_multi_block_shaext,.-sha1_multi_block_shaext
4432df4a
PA
2922.type sha1_multi_block_avx,@function
2923.align 32
2924sha1_multi_block_avx:
2925_avx_shortcut:
2926 shrq $32,%rcx
2927 cmpl $2,%edx
2928 jb .Lavx
2929 testl $32,%ecx
2930 jnz _avx2_shortcut
2931 jmp .Lavx
2932.align 32
2933.Lavx:
2934 movq %rsp,%rax
2935 pushq %rbx
2936 pushq %rbp
2937 subq $288,%rsp
2938 andq $-256,%rsp
2939 movq %rax,272(%rsp)
2940.Lbody_avx:
2941 leaq K_XX_XX(%rip),%rbp
2942 leaq 256(%rsp),%rbx
2943
2944 vzeroupper
2945.Loop_grande_avx:
2946 movl %edx,280(%rsp)
2947 xorl %edx,%edx
2948 movq 0(%rsi),%r8
2949 movl 8(%rsi),%ecx
2950 cmpl %edx,%ecx
2951 cmovgl %ecx,%edx
2952 testl %ecx,%ecx
2953 movl %ecx,0(%rbx)
2954 cmovleq %rbp,%r8
2955 movq 16(%rsi),%r9
2956 movl 24(%rsi),%ecx
2957 cmpl %edx,%ecx
2958 cmovgl %ecx,%edx
2959 testl %ecx,%ecx
2960 movl %ecx,4(%rbx)
2961 cmovleq %rbp,%r9
2962 movq 32(%rsi),%r10
2963 movl 40(%rsi),%ecx
2964 cmpl %edx,%ecx
2965 cmovgl %ecx,%edx
2966 testl %ecx,%ecx
2967 movl %ecx,8(%rbx)
2968 cmovleq %rbp,%r10
2969 movq 48(%rsi),%r11
2970 movl 56(%rsi),%ecx
2971 cmpl %edx,%ecx
2972 cmovgl %ecx,%edx
2973 testl %ecx,%ecx
2974 movl %ecx,12(%rbx)
2975 cmovleq %rbp,%r11
2976 testl %edx,%edx
2977 jz .Ldone_avx
2978
2979 vmovdqu 0(%rdi),%xmm10
2980 leaq 128(%rsp),%rax
2981 vmovdqu 32(%rdi),%xmm11
2982 vmovdqu 64(%rdi),%xmm12
2983 vmovdqu 96(%rdi),%xmm13
2984 vmovdqu 128(%rdi),%xmm14
2985 vmovdqu 96(%rbp),%xmm5
2986 jmp .Loop_avx
2987
2988.align 32
2989.Loop_avx:
2990 vmovdqa -32(%rbp),%xmm15
2991 vmovd (%r8),%xmm0
2992 leaq 64(%r8),%r8
2993 vmovd (%r9),%xmm2
2994 leaq 64(%r9),%r9
2995 vpinsrd $1,(%r10),%xmm0,%xmm0
2996 leaq 64(%r10),%r10
2997 vpinsrd $1,(%r11),%xmm2,%xmm2
2998 leaq 64(%r11),%r11
2999 vmovd -60(%r8),%xmm1
3000 vpunpckldq %xmm2,%xmm0,%xmm0
3001 vmovd -60(%r9),%xmm9
3002 vpshufb %xmm5,%xmm0,%xmm0
3003 vpinsrd $1,-60(%r10),%xmm1,%xmm1
3004 vpinsrd $1,-60(%r11),%xmm9,%xmm9
3005 vpaddd %xmm15,%xmm14,%xmm14
3006 vpslld $5,%xmm10,%xmm8
3007 vpandn %xmm13,%xmm11,%xmm7
3008 vpand %xmm12,%xmm11,%xmm6
3009
3010 vmovdqa %xmm0,0-128(%rax)
3011 vpaddd %xmm0,%xmm14,%xmm14
3012 vpunpckldq %xmm9,%xmm1,%xmm1
3013 vpsrld $27,%xmm10,%xmm9
3014 vpxor %xmm7,%xmm6,%xmm6
3015 vmovd -56(%r8),%xmm2
3016
3017 vpslld $30,%xmm11,%xmm7
3018 vpor %xmm9,%xmm8,%xmm8
3019 vmovd -56(%r9),%xmm9
3020 vpaddd %xmm6,%xmm14,%xmm14
3021
3022 vpsrld $2,%xmm11,%xmm11
3023 vpaddd %xmm8,%xmm14,%xmm14
3024 vpshufb %xmm5,%xmm1,%xmm1
3025 vpor %xmm7,%xmm11,%xmm11
3026 vpinsrd $1,-56(%r10),%xmm2,%xmm2
3027 vpinsrd $1,-56(%r11),%xmm9,%xmm9
3028 vpaddd %xmm15,%xmm13,%xmm13
3029 vpslld $5,%xmm14,%xmm8
3030 vpandn %xmm12,%xmm10,%xmm7
3031 vpand %xmm11,%xmm10,%xmm6
3032
3033 vmovdqa %xmm1,16-128(%rax)
3034 vpaddd %xmm1,%xmm13,%xmm13
3035 vpunpckldq %xmm9,%xmm2,%xmm2
3036 vpsrld $27,%xmm14,%xmm9
3037 vpxor %xmm7,%xmm6,%xmm6
3038 vmovd -52(%r8),%xmm3
3039
3040 vpslld $30,%xmm10,%xmm7
3041 vpor %xmm9,%xmm8,%xmm8
3042 vmovd -52(%r9),%xmm9
3043 vpaddd %xmm6,%xmm13,%xmm13
3044
3045 vpsrld $2,%xmm10,%xmm10
3046 vpaddd %xmm8,%xmm13,%xmm13
3047 vpshufb %xmm5,%xmm2,%xmm2
3048 vpor %xmm7,%xmm10,%xmm10
3049 vpinsrd $1,-52(%r10),%xmm3,%xmm3
3050 vpinsrd $1,-52(%r11),%xmm9,%xmm9
3051 vpaddd %xmm15,%xmm12,%xmm12
3052 vpslld $5,%xmm13,%xmm8
3053 vpandn %xmm11,%xmm14,%xmm7
3054 vpand %xmm10,%xmm14,%xmm6
3055
3056 vmovdqa %xmm2,32-128(%rax)
3057 vpaddd %xmm2,%xmm12,%xmm12
3058 vpunpckldq %xmm9,%xmm3,%xmm3
3059 vpsrld $27,%xmm13,%xmm9
3060 vpxor %xmm7,%xmm6,%xmm6
3061 vmovd -48(%r8),%xmm4
3062
3063 vpslld $30,%xmm14,%xmm7
3064 vpor %xmm9,%xmm8,%xmm8
3065 vmovd -48(%r9),%xmm9
3066 vpaddd %xmm6,%xmm12,%xmm12
3067
3068 vpsrld $2,%xmm14,%xmm14
3069 vpaddd %xmm8,%xmm12,%xmm12
3070 vpshufb %xmm5,%xmm3,%xmm3
3071 vpor %xmm7,%xmm14,%xmm14
3072 vpinsrd $1,-48(%r10),%xmm4,%xmm4
3073 vpinsrd $1,-48(%r11),%xmm9,%xmm9
3074 vpaddd %xmm15,%xmm11,%xmm11
3075 vpslld $5,%xmm12,%xmm8
3076 vpandn %xmm10,%xmm13,%xmm7
3077 vpand %xmm14,%xmm13,%xmm6
3078
3079 vmovdqa %xmm3,48-128(%rax)
3080 vpaddd %xmm3,%xmm11,%xmm11
3081 vpunpckldq %xmm9,%xmm4,%xmm4
3082 vpsrld $27,%xmm12,%xmm9
3083 vpxor %xmm7,%xmm6,%xmm6
3084 vmovd -44(%r8),%xmm0
3085
3086 vpslld $30,%xmm13,%xmm7
3087 vpor %xmm9,%xmm8,%xmm8
3088 vmovd -44(%r9),%xmm9
3089 vpaddd %xmm6,%xmm11,%xmm11
3090
3091 vpsrld $2,%xmm13,%xmm13
3092 vpaddd %xmm8,%xmm11,%xmm11
3093 vpshufb %xmm5,%xmm4,%xmm4
3094 vpor %xmm7,%xmm13,%xmm13
3095 vpinsrd $1,-44(%r10),%xmm0,%xmm0
3096 vpinsrd $1,-44(%r11),%xmm9,%xmm9
3097 vpaddd %xmm15,%xmm10,%xmm10
3098 vpslld $5,%xmm11,%xmm8
3099 vpandn %xmm14,%xmm12,%xmm7
3100 vpand %xmm13,%xmm12,%xmm6
3101
3102 vmovdqa %xmm4,64-128(%rax)
3103 vpaddd %xmm4,%xmm10,%xmm10
3104 vpunpckldq %xmm9,%xmm0,%xmm0
3105 vpsrld $27,%xmm11,%xmm9
3106 vpxor %xmm7,%xmm6,%xmm6
3107 vmovd -40(%r8),%xmm1
3108
3109 vpslld $30,%xmm12,%xmm7
3110 vpor %xmm9,%xmm8,%xmm8
3111 vmovd -40(%r9),%xmm9
3112 vpaddd %xmm6,%xmm10,%xmm10
3113
3114 vpsrld $2,%xmm12,%xmm12
3115 vpaddd %xmm8,%xmm10,%xmm10
3116 vpshufb %xmm5,%xmm0,%xmm0
3117 vpor %xmm7,%xmm12,%xmm12
3118 vpinsrd $1,-40(%r10),%xmm1,%xmm1
3119 vpinsrd $1,-40(%r11),%xmm9,%xmm9
3120 vpaddd %xmm15,%xmm14,%xmm14
3121 vpslld $5,%xmm10,%xmm8
3122 vpandn %xmm13,%xmm11,%xmm7
3123 vpand %xmm12,%xmm11,%xmm6
3124
3125 vmovdqa %xmm0,80-128(%rax)
3126 vpaddd %xmm0,%xmm14,%xmm14
3127 vpunpckldq %xmm9,%xmm1,%xmm1
3128 vpsrld $27,%xmm10,%xmm9
3129 vpxor %xmm7,%xmm6,%xmm6
3130 vmovd -36(%r8),%xmm2
3131
3132 vpslld $30,%xmm11,%xmm7
3133 vpor %xmm9,%xmm8,%xmm8
3134 vmovd -36(%r9),%xmm9
3135 vpaddd %xmm6,%xmm14,%xmm14
3136
3137 vpsrld $2,%xmm11,%xmm11
3138 vpaddd %xmm8,%xmm14,%xmm14
3139 vpshufb %xmm5,%xmm1,%xmm1
3140 vpor %xmm7,%xmm11,%xmm11
3141 vpinsrd $1,-36(%r10),%xmm2,%xmm2
3142 vpinsrd $1,-36(%r11),%xmm9,%xmm9
3143 vpaddd %xmm15,%xmm13,%xmm13
3144 vpslld $5,%xmm14,%xmm8
3145 vpandn %xmm12,%xmm10,%xmm7
3146 vpand %xmm11,%xmm10,%xmm6
3147
3148 vmovdqa %xmm1,96-128(%rax)
3149 vpaddd %xmm1,%xmm13,%xmm13
3150 vpunpckldq %xmm9,%xmm2,%xmm2
3151 vpsrld $27,%xmm14,%xmm9
3152 vpxor %xmm7,%xmm6,%xmm6
3153 vmovd -32(%r8),%xmm3
3154
3155 vpslld $30,%xmm10,%xmm7
3156 vpor %xmm9,%xmm8,%xmm8
3157 vmovd -32(%r9),%xmm9
3158 vpaddd %xmm6,%xmm13,%xmm13
3159
3160 vpsrld $2,%xmm10,%xmm10
3161 vpaddd %xmm8,%xmm13,%xmm13
3162 vpshufb %xmm5,%xmm2,%xmm2
3163 vpor %xmm7,%xmm10,%xmm10
3164 vpinsrd $1,-32(%r10),%xmm3,%xmm3
3165 vpinsrd $1,-32(%r11),%xmm9,%xmm9
3166 vpaddd %xmm15,%xmm12,%xmm12
3167 vpslld $5,%xmm13,%xmm8
3168 vpandn %xmm11,%xmm14,%xmm7
3169 vpand %xmm10,%xmm14,%xmm6
3170
3171 vmovdqa %xmm2,112-128(%rax)
3172 vpaddd %xmm2,%xmm12,%xmm12
3173 vpunpckldq %xmm9,%xmm3,%xmm3
3174 vpsrld $27,%xmm13,%xmm9
3175 vpxor %xmm7,%xmm6,%xmm6
3176 vmovd -28(%r8),%xmm4
3177
3178 vpslld $30,%xmm14,%xmm7
3179 vpor %xmm9,%xmm8,%xmm8
3180 vmovd -28(%r9),%xmm9
3181 vpaddd %xmm6,%xmm12,%xmm12
3182
3183 vpsrld $2,%xmm14,%xmm14
3184 vpaddd %xmm8,%xmm12,%xmm12
3185 vpshufb %xmm5,%xmm3,%xmm3
3186 vpor %xmm7,%xmm14,%xmm14
3187 vpinsrd $1,-28(%r10),%xmm4,%xmm4
3188 vpinsrd $1,-28(%r11),%xmm9,%xmm9
3189 vpaddd %xmm15,%xmm11,%xmm11
3190 vpslld $5,%xmm12,%xmm8
3191 vpandn %xmm10,%xmm13,%xmm7
3192 vpand %xmm14,%xmm13,%xmm6
3193
3194 vmovdqa %xmm3,128-128(%rax)
3195 vpaddd %xmm3,%xmm11,%xmm11
3196 vpunpckldq %xmm9,%xmm4,%xmm4
3197 vpsrld $27,%xmm12,%xmm9
3198 vpxor %xmm7,%xmm6,%xmm6
3199 vmovd -24(%r8),%xmm0
3200
3201 vpslld $30,%xmm13,%xmm7
3202 vpor %xmm9,%xmm8,%xmm8
3203 vmovd -24(%r9),%xmm9
3204 vpaddd %xmm6,%xmm11,%xmm11
3205
3206 vpsrld $2,%xmm13,%xmm13
3207 vpaddd %xmm8,%xmm11,%xmm11
3208 vpshufb %xmm5,%xmm4,%xmm4
3209 vpor %xmm7,%xmm13,%xmm13
3210 vpinsrd $1,-24(%r10),%xmm0,%xmm0
3211 vpinsrd $1,-24(%r11),%xmm9,%xmm9
3212 vpaddd %xmm15,%xmm10,%xmm10
3213 vpslld $5,%xmm11,%xmm8
3214 vpandn %xmm14,%xmm12,%xmm7
3215 vpand %xmm13,%xmm12,%xmm6
3216
3217 vmovdqa %xmm4,144-128(%rax)
3218 vpaddd %xmm4,%xmm10,%xmm10
3219 vpunpckldq %xmm9,%xmm0,%xmm0
3220 vpsrld $27,%xmm11,%xmm9
3221 vpxor %xmm7,%xmm6,%xmm6
3222 vmovd -20(%r8),%xmm1
3223
3224 vpslld $30,%xmm12,%xmm7
3225 vpor %xmm9,%xmm8,%xmm8
3226 vmovd -20(%r9),%xmm9
3227 vpaddd %xmm6,%xmm10,%xmm10
3228
3229 vpsrld $2,%xmm12,%xmm12
3230 vpaddd %xmm8,%xmm10,%xmm10
3231 vpshufb %xmm5,%xmm0,%xmm0
3232 vpor %xmm7,%xmm12,%xmm12
3233 vpinsrd $1,-20(%r10),%xmm1,%xmm1
3234 vpinsrd $1,-20(%r11),%xmm9,%xmm9
3235 vpaddd %xmm15,%xmm14,%xmm14
3236 vpslld $5,%xmm10,%xmm8
3237 vpandn %xmm13,%xmm11,%xmm7
3238 vpand %xmm12,%xmm11,%xmm6
3239
3240 vmovdqa %xmm0,160-128(%rax)
3241 vpaddd %xmm0,%xmm14,%xmm14
3242 vpunpckldq %xmm9,%xmm1,%xmm1
3243 vpsrld $27,%xmm10,%xmm9
3244 vpxor %xmm7,%xmm6,%xmm6
3245 vmovd -16(%r8),%xmm2
3246
3247 vpslld $30,%xmm11,%xmm7
3248 vpor %xmm9,%xmm8,%xmm8
3249 vmovd -16(%r9),%xmm9
3250 vpaddd %xmm6,%xmm14,%xmm14
3251
3252 vpsrld $2,%xmm11,%xmm11
3253 vpaddd %xmm8,%xmm14,%xmm14
3254 vpshufb %xmm5,%xmm1,%xmm1
3255 vpor %xmm7,%xmm11,%xmm11
3256 vpinsrd $1,-16(%r10),%xmm2,%xmm2
3257 vpinsrd $1,-16(%r11),%xmm9,%xmm9
3258 vpaddd %xmm15,%xmm13,%xmm13
3259 vpslld $5,%xmm14,%xmm8
3260 vpandn %xmm12,%xmm10,%xmm7
3261 vpand %xmm11,%xmm10,%xmm6
3262
3263 vmovdqa %xmm1,176-128(%rax)
3264 vpaddd %xmm1,%xmm13,%xmm13
3265 vpunpckldq %xmm9,%xmm2,%xmm2
3266 vpsrld $27,%xmm14,%xmm9
3267 vpxor %xmm7,%xmm6,%xmm6
3268 vmovd -12(%r8),%xmm3
3269
3270 vpslld $30,%xmm10,%xmm7
3271 vpor %xmm9,%xmm8,%xmm8
3272 vmovd -12(%r9),%xmm9
3273 vpaddd %xmm6,%xmm13,%xmm13
3274
3275 vpsrld $2,%xmm10,%xmm10
3276 vpaddd %xmm8,%xmm13,%xmm13
3277 vpshufb %xmm5,%xmm2,%xmm2
3278 vpor %xmm7,%xmm10,%xmm10
3279 vpinsrd $1,-12(%r10),%xmm3,%xmm3
3280 vpinsrd $1,-12(%r11),%xmm9,%xmm9
3281 vpaddd %xmm15,%xmm12,%xmm12
3282 vpslld $5,%xmm13,%xmm8
3283 vpandn %xmm11,%xmm14,%xmm7
3284 vpand %xmm10,%xmm14,%xmm6
3285
3286 vmovdqa %xmm2,192-128(%rax)
3287 vpaddd %xmm2,%xmm12,%xmm12
3288 vpunpckldq %xmm9,%xmm3,%xmm3
3289 vpsrld $27,%xmm13,%xmm9
3290 vpxor %xmm7,%xmm6,%xmm6
3291 vmovd -8(%r8),%xmm4
3292
3293 vpslld $30,%xmm14,%xmm7
3294 vpor %xmm9,%xmm8,%xmm8
3295 vmovd -8(%r9),%xmm9
3296 vpaddd %xmm6,%xmm12,%xmm12
3297
3298 vpsrld $2,%xmm14,%xmm14
3299 vpaddd %xmm8,%xmm12,%xmm12
3300 vpshufb %xmm5,%xmm3,%xmm3
3301 vpor %xmm7,%xmm14,%xmm14
3302 vpinsrd $1,-8(%r10),%xmm4,%xmm4
3303 vpinsrd $1,-8(%r11),%xmm9,%xmm9
3304 vpaddd %xmm15,%xmm11,%xmm11
3305 vpslld $5,%xmm12,%xmm8
3306 vpandn %xmm10,%xmm13,%xmm7
3307 vpand %xmm14,%xmm13,%xmm6
3308
3309 vmovdqa %xmm3,208-128(%rax)
3310 vpaddd %xmm3,%xmm11,%xmm11
3311 vpunpckldq %xmm9,%xmm4,%xmm4
3312 vpsrld $27,%xmm12,%xmm9
3313 vpxor %xmm7,%xmm6,%xmm6
3314 vmovd -4(%r8),%xmm0
3315
3316 vpslld $30,%xmm13,%xmm7
3317 vpor %xmm9,%xmm8,%xmm8
3318 vmovd -4(%r9),%xmm9
3319 vpaddd %xmm6,%xmm11,%xmm11
3320
3321 vpsrld $2,%xmm13,%xmm13
3322 vpaddd %xmm8,%xmm11,%xmm11
3323 vpshufb %xmm5,%xmm4,%xmm4
3324 vpor %xmm7,%xmm13,%xmm13
3325 vmovdqa 0-128(%rax),%xmm1
3326 vpinsrd $1,-4(%r10),%xmm0,%xmm0
3327 vpinsrd $1,-4(%r11),%xmm9,%xmm9
3328 vpaddd %xmm15,%xmm10,%xmm10
3329 prefetcht0 63(%r8)
3330 vpslld $5,%xmm11,%xmm8
3331 vpandn %xmm14,%xmm12,%xmm7
3332 vpand %xmm13,%xmm12,%xmm6
3333
3334 vmovdqa %xmm4,224-128(%rax)
3335 vpaddd %xmm4,%xmm10,%xmm10
3336 vpunpckldq %xmm9,%xmm0,%xmm0
3337 vpsrld $27,%xmm11,%xmm9
3338 prefetcht0 63(%r9)
3339 vpxor %xmm7,%xmm6,%xmm6
3340
3341 vpslld $30,%xmm12,%xmm7
3342 vpor %xmm9,%xmm8,%xmm8
3343 prefetcht0 63(%r10)
3344 vpaddd %xmm6,%xmm10,%xmm10
3345
3346 vpsrld $2,%xmm12,%xmm12
3347 vpaddd %xmm8,%xmm10,%xmm10
3348 prefetcht0 63(%r11)
3349 vpshufb %xmm5,%xmm0,%xmm0
3350 vpor %xmm7,%xmm12,%xmm12
3351 vmovdqa 16-128(%rax),%xmm2
3352 vpxor %xmm3,%xmm1,%xmm1
3353 vmovdqa 32-128(%rax),%xmm3
3354
3355 vpaddd %xmm15,%xmm14,%xmm14
3356 vpslld $5,%xmm10,%xmm8
3357 vpandn %xmm13,%xmm11,%xmm7
3358
3359 vpand %xmm12,%xmm11,%xmm6
3360
3361 vmovdqa %xmm0,240-128(%rax)
3362 vpaddd %xmm0,%xmm14,%xmm14
3363 vpxor 128-128(%rax),%xmm1,%xmm1
3364 vpsrld $27,%xmm10,%xmm9
3365 vpxor %xmm7,%xmm6,%xmm6
3366 vpxor %xmm3,%xmm1,%xmm1
3367
3368
3369 vpslld $30,%xmm11,%xmm7
3370 vpor %xmm9,%xmm8,%xmm8
3371 vpaddd %xmm6,%xmm14,%xmm14
3372
3373 vpsrld $31,%xmm1,%xmm5
3374 vpaddd %xmm1,%xmm1,%xmm1
3375
3376 vpsrld $2,%xmm11,%xmm11
3377
3378 vpaddd %xmm8,%xmm14,%xmm14
3379 vpor %xmm5,%xmm1,%xmm1
3380 vpor %xmm7,%xmm11,%xmm11
3381 vpxor %xmm4,%xmm2,%xmm2
3382 vmovdqa 48-128(%rax),%xmm4
3383
3384 vpaddd %xmm15,%xmm13,%xmm13
3385 vpslld $5,%xmm14,%xmm8
3386 vpandn %xmm12,%xmm10,%xmm7
3387
3388 vpand %xmm11,%xmm10,%xmm6
3389
3390 vmovdqa %xmm1,0-128(%rax)
3391 vpaddd %xmm1,%xmm13,%xmm13
3392 vpxor 144-128(%rax),%xmm2,%xmm2
3393 vpsrld $27,%xmm14,%xmm9
3394 vpxor %xmm7,%xmm6,%xmm6
3395 vpxor %xmm4,%xmm2,%xmm2
3396
3397
3398 vpslld $30,%xmm10,%xmm7
3399 vpor %xmm9,%xmm8,%xmm8
3400 vpaddd %xmm6,%xmm13,%xmm13
3401
3402 vpsrld $31,%xmm2,%xmm5
3403 vpaddd %xmm2,%xmm2,%xmm2
3404
3405 vpsrld $2,%xmm10,%xmm10
3406
3407 vpaddd %xmm8,%xmm13,%xmm13
3408 vpor %xmm5,%xmm2,%xmm2
3409 vpor %xmm7,%xmm10,%xmm10
3410 vpxor %xmm0,%xmm3,%xmm3
3411 vmovdqa 64-128(%rax),%xmm0
3412
3413 vpaddd %xmm15,%xmm12,%xmm12
3414 vpslld $5,%xmm13,%xmm8
3415 vpandn %xmm11,%xmm14,%xmm7
3416
3417 vpand %xmm10,%xmm14,%xmm6
3418
3419 vmovdqa %xmm2,16-128(%rax)
3420 vpaddd %xmm2,%xmm12,%xmm12
3421 vpxor 160-128(%rax),%xmm3,%xmm3
3422 vpsrld $27,%xmm13,%xmm9
3423 vpxor %xmm7,%xmm6,%xmm6
3424 vpxor %xmm0,%xmm3,%xmm3
3425
3426
3427 vpslld $30,%xmm14,%xmm7
3428 vpor %xmm9,%xmm8,%xmm8
3429 vpaddd %xmm6,%xmm12,%xmm12
3430
3431 vpsrld $31,%xmm3,%xmm5
3432 vpaddd %xmm3,%xmm3,%xmm3
3433
3434 vpsrld $2,%xmm14,%xmm14
3435
3436 vpaddd %xmm8,%xmm12,%xmm12
3437 vpor %xmm5,%xmm3,%xmm3
3438 vpor %xmm7,%xmm14,%xmm14
3439 vpxor %xmm1,%xmm4,%xmm4
3440 vmovdqa 80-128(%rax),%xmm1
3441
3442 vpaddd %xmm15,%xmm11,%xmm11
3443 vpslld $5,%xmm12,%xmm8
3444 vpandn %xmm10,%xmm13,%xmm7
3445
3446 vpand %xmm14,%xmm13,%xmm6
3447
3448 vmovdqa %xmm3,32-128(%rax)
3449 vpaddd %xmm3,%xmm11,%xmm11
3450 vpxor 176-128(%rax),%xmm4,%xmm4
3451 vpsrld $27,%xmm12,%xmm9
3452 vpxor %xmm7,%xmm6,%xmm6
3453 vpxor %xmm1,%xmm4,%xmm4
3454
3455
3456 vpslld $30,%xmm13,%xmm7
3457 vpor %xmm9,%xmm8,%xmm8
3458 vpaddd %xmm6,%xmm11,%xmm11
3459
3460 vpsrld $31,%xmm4,%xmm5
3461 vpaddd %xmm4,%xmm4,%xmm4
3462
3463 vpsrld $2,%xmm13,%xmm13
3464
3465 vpaddd %xmm8,%xmm11,%xmm11
3466 vpor %xmm5,%xmm4,%xmm4
3467 vpor %xmm7,%xmm13,%xmm13
3468 vpxor %xmm2,%xmm0,%xmm0
3469 vmovdqa 96-128(%rax),%xmm2
3470
3471 vpaddd %xmm15,%xmm10,%xmm10
3472 vpslld $5,%xmm11,%xmm8
3473 vpandn %xmm14,%xmm12,%xmm7
3474
3475 vpand %xmm13,%xmm12,%xmm6
3476
3477 vmovdqa %xmm4,48-128(%rax)
3478 vpaddd %xmm4,%xmm10,%xmm10
3479 vpxor 192-128(%rax),%xmm0,%xmm0
3480 vpsrld $27,%xmm11,%xmm9
3481 vpxor %xmm7,%xmm6,%xmm6
3482 vpxor %xmm2,%xmm0,%xmm0
3483
3484
3485 vpslld $30,%xmm12,%xmm7
3486 vpor %xmm9,%xmm8,%xmm8
3487 vpaddd %xmm6,%xmm10,%xmm10
3488
3489 vpsrld $31,%xmm0,%xmm5
3490 vpaddd %xmm0,%xmm0,%xmm0
3491
3492 vpsrld $2,%xmm12,%xmm12
3493
3494 vpaddd %xmm8,%xmm10,%xmm10
3495 vpor %xmm5,%xmm0,%xmm0
3496 vpor %xmm7,%xmm12,%xmm12
3497 vmovdqa 0(%rbp),%xmm15
3498 vpxor %xmm3,%xmm1,%xmm1
3499 vmovdqa 112-128(%rax),%xmm3
3500
3501 vpslld $5,%xmm10,%xmm8
3502 vpaddd %xmm15,%xmm14,%xmm14
3503 vpxor %xmm11,%xmm13,%xmm6
3504 vmovdqa %xmm0,64-128(%rax)
3505 vpaddd %xmm0,%xmm14,%xmm14
3506 vpxor 208-128(%rax),%xmm1,%xmm1
3507 vpsrld $27,%xmm10,%xmm9
3508 vpxor %xmm12,%xmm6,%xmm6
3509 vpxor %xmm3,%xmm1,%xmm1
3510
3511 vpslld $30,%xmm11,%xmm7
3512 vpor %xmm9,%xmm8,%xmm8
3513 vpaddd %xmm6,%xmm14,%xmm14
3514 vpsrld $31,%xmm1,%xmm5
3515 vpaddd %xmm1,%xmm1,%xmm1
3516
3517 vpsrld $2,%xmm11,%xmm11
3518 vpaddd %xmm8,%xmm14,%xmm14
3519 vpor %xmm5,%xmm1,%xmm1
3520 vpor %xmm7,%xmm11,%xmm11
3521 vpxor %xmm4,%xmm2,%xmm2
3522 vmovdqa 128-128(%rax),%xmm4
3523
3524 vpslld $5,%xmm14,%xmm8
3525 vpaddd %xmm15,%xmm13,%xmm13
3526 vpxor %xmm10,%xmm12,%xmm6
3527 vmovdqa %xmm1,80-128(%rax)
3528 vpaddd %xmm1,%xmm13,%xmm13
3529 vpxor 224-128(%rax),%xmm2,%xmm2
3530 vpsrld $27,%xmm14,%xmm9
3531 vpxor %xmm11,%xmm6,%xmm6
3532 vpxor %xmm4,%xmm2,%xmm2
3533
3534 vpslld $30,%xmm10,%xmm7
3535 vpor %xmm9,%xmm8,%xmm8
3536 vpaddd %xmm6,%xmm13,%xmm13
3537 vpsrld $31,%xmm2,%xmm5
3538 vpaddd %xmm2,%xmm2,%xmm2
3539
3540 vpsrld $2,%xmm10,%xmm10
3541 vpaddd %xmm8,%xmm13,%xmm13
3542 vpor %xmm5,%xmm2,%xmm2
3543 vpor %xmm7,%xmm10,%xmm10
3544 vpxor %xmm0,%xmm3,%xmm3
3545 vmovdqa 144-128(%rax),%xmm0
3546
3547 vpslld $5,%xmm13,%xmm8
3548 vpaddd %xmm15,%xmm12,%xmm12
3549 vpxor %xmm14,%xmm11,%xmm6
3550 vmovdqa %xmm2,96-128(%rax)
3551 vpaddd %xmm2,%xmm12,%xmm12
3552 vpxor 240-128(%rax),%xmm3,%xmm3
3553 vpsrld $27,%xmm13,%xmm9
3554 vpxor %xmm10,%xmm6,%xmm6
3555 vpxor %xmm0,%xmm3,%xmm3
3556
3557 vpslld $30,%xmm14,%xmm7
3558 vpor %xmm9,%xmm8,%xmm8
3559 vpaddd %xmm6,%xmm12,%xmm12
3560 vpsrld $31,%xmm3,%xmm5
3561 vpaddd %xmm3,%xmm3,%xmm3
3562
3563 vpsrld $2,%xmm14,%xmm14
3564 vpaddd %xmm8,%xmm12,%xmm12
3565 vpor %xmm5,%xmm3,%xmm3
3566 vpor %xmm7,%xmm14,%xmm14
3567 vpxor %xmm1,%xmm4,%xmm4
3568 vmovdqa 160-128(%rax),%xmm1
3569
3570 vpslld $5,%xmm12,%xmm8
3571 vpaddd %xmm15,%xmm11,%xmm11
3572 vpxor %xmm13,%xmm10,%xmm6
3573 vmovdqa %xmm3,112-128(%rax)
3574 vpaddd %xmm3,%xmm11,%xmm11
3575 vpxor 0-128(%rax),%xmm4,%xmm4
3576 vpsrld $27,%xmm12,%xmm9
3577 vpxor %xmm14,%xmm6,%xmm6
3578 vpxor %xmm1,%xmm4,%xmm4
3579
3580 vpslld $30,%xmm13,%xmm7
3581 vpor %xmm9,%xmm8,%xmm8
3582 vpaddd %xmm6,%xmm11,%xmm11
3583 vpsrld $31,%xmm4,%xmm5
3584 vpaddd %xmm4,%xmm4,%xmm4
3585
3586 vpsrld $2,%xmm13,%xmm13
3587 vpaddd %xmm8,%xmm11,%xmm11
3588 vpor %xmm5,%xmm4,%xmm4
3589 vpor %xmm7,%xmm13,%xmm13
3590 vpxor %xmm2,%xmm0,%xmm0
3591 vmovdqa 176-128(%rax),%xmm2
3592
3593 vpslld $5,%xmm11,%xmm8
3594 vpaddd %xmm15,%xmm10,%xmm10
3595 vpxor %xmm12,%xmm14,%xmm6
3596 vmovdqa %xmm4,128-128(%rax)
3597 vpaddd %xmm4,%xmm10,%xmm10
3598 vpxor 16-128(%rax),%xmm0,%xmm0
3599 vpsrld $27,%xmm11,%xmm9
3600 vpxor %xmm13,%xmm6,%xmm6
3601 vpxor %xmm2,%xmm0,%xmm0
3602
3603 vpslld $30,%xmm12,%xmm7
3604 vpor %xmm9,%xmm8,%xmm8
3605 vpaddd %xmm6,%xmm10,%xmm10
3606 vpsrld $31,%xmm0,%xmm5
3607 vpaddd %xmm0,%xmm0,%xmm0
3608
3609 vpsrld $2,%xmm12,%xmm12
3610 vpaddd %xmm8,%xmm10,%xmm10
3611 vpor %xmm5,%xmm0,%xmm0
3612 vpor %xmm7,%xmm12,%xmm12
3613 vpxor %xmm3,%xmm1,%xmm1
3614 vmovdqa 192-128(%rax),%xmm3
3615
3616 vpslld $5,%xmm10,%xmm8
3617 vpaddd %xmm15,%xmm14,%xmm14
3618 vpxor %xmm11,%xmm13,%xmm6
3619 vmovdqa %xmm0,144-128(%rax)
3620 vpaddd %xmm0,%xmm14,%xmm14
3621 vpxor 32-128(%rax),%xmm1,%xmm1
3622 vpsrld $27,%xmm10,%xmm9
3623 vpxor %xmm12,%xmm6,%xmm6
3624 vpxor %xmm3,%xmm1,%xmm1
3625
3626 vpslld $30,%xmm11,%xmm7
3627 vpor %xmm9,%xmm8,%xmm8
3628 vpaddd %xmm6,%xmm14,%xmm14
3629 vpsrld $31,%xmm1,%xmm5
3630 vpaddd %xmm1,%xmm1,%xmm1
3631
3632 vpsrld $2,%xmm11,%xmm11
3633 vpaddd %xmm8,%xmm14,%xmm14
3634 vpor %xmm5,%xmm1,%xmm1
3635 vpor %xmm7,%xmm11,%xmm11
3636 vpxor %xmm4,%xmm2,%xmm2
3637 vmovdqa 208-128(%rax),%xmm4
3638
3639 vpslld $5,%xmm14,%xmm8
3640 vpaddd %xmm15,%xmm13,%xmm13
3641 vpxor %xmm10,%xmm12,%xmm6
3642 vmovdqa %xmm1,160-128(%rax)
3643 vpaddd %xmm1,%xmm13,%xmm13
3644 vpxor 48-128(%rax),%xmm2,%xmm2
3645 vpsrld $27,%xmm14,%xmm9
3646 vpxor %xmm11,%xmm6,%xmm6
3647 vpxor %xmm4,%xmm2,%xmm2
3648
3649 vpslld $30,%xmm10,%xmm7
3650 vpor %xmm9,%xmm8,%xmm8
3651 vpaddd %xmm6,%xmm13,%xmm13
3652 vpsrld $31,%xmm2,%xmm5
3653 vpaddd %xmm2,%xmm2,%xmm2
3654
3655 vpsrld $2,%xmm10,%xmm10
3656 vpaddd %xmm8,%xmm13,%xmm13
3657 vpor %xmm5,%xmm2,%xmm2
3658 vpor %xmm7,%xmm10,%xmm10
3659 vpxor %xmm0,%xmm3,%xmm3
3660 vmovdqa 224-128(%rax),%xmm0
3661
3662 vpslld $5,%xmm13,%xmm8
3663 vpaddd %xmm15,%xmm12,%xmm12
3664 vpxor %xmm14,%xmm11,%xmm6
3665 vmovdqa %xmm2,176-128(%rax)
3666 vpaddd %xmm2,%xmm12,%xmm12
3667 vpxor 64-128(%rax),%xmm3,%xmm3
3668 vpsrld $27,%xmm13,%xmm9
3669 vpxor %xmm10,%xmm6,%xmm6
3670 vpxor %xmm0,%xmm3,%xmm3
3671
3672 vpslld $30,%xmm14,%xmm7
3673 vpor %xmm9,%xmm8,%xmm8
3674 vpaddd %xmm6,%xmm12,%xmm12
3675 vpsrld $31,%xmm3,%xmm5
3676 vpaddd %xmm3,%xmm3,%xmm3
3677
3678 vpsrld $2,%xmm14,%xmm14
3679 vpaddd %xmm8,%xmm12,%xmm12
3680 vpor %xmm5,%xmm3,%xmm3
3681 vpor %xmm7,%xmm14,%xmm14
3682 vpxor %xmm1,%xmm4,%xmm4
3683 vmovdqa 240-128(%rax),%xmm1
3684
3685 vpslld $5,%xmm12,%xmm8
3686 vpaddd %xmm15,%xmm11,%xmm11
3687 vpxor %xmm13,%xmm10,%xmm6
3688 vmovdqa %xmm3,192-128(%rax)
3689 vpaddd %xmm3,%xmm11,%xmm11
3690 vpxor 80-128(%rax),%xmm4,%xmm4
3691 vpsrld $27,%xmm12,%xmm9
3692 vpxor %xmm14,%xmm6,%xmm6
3693 vpxor %xmm1,%xmm4,%xmm4
3694
3695 vpslld $30,%xmm13,%xmm7
3696 vpor %xmm9,%xmm8,%xmm8
3697 vpaddd %xmm6,%xmm11,%xmm11
3698 vpsrld $31,%xmm4,%xmm5
3699 vpaddd %xmm4,%xmm4,%xmm4
3700
3701 vpsrld $2,%xmm13,%xmm13
3702 vpaddd %xmm8,%xmm11,%xmm11
3703 vpor %xmm5,%xmm4,%xmm4
3704 vpor %xmm7,%xmm13,%xmm13
3705 vpxor %xmm2,%xmm0,%xmm0
3706 vmovdqa 0-128(%rax),%xmm2
3707
3708 vpslld $5,%xmm11,%xmm8
3709 vpaddd %xmm15,%xmm10,%xmm10
3710 vpxor %xmm12,%xmm14,%xmm6
3711 vmovdqa %xmm4,208-128(%rax)
3712 vpaddd %xmm4,%xmm10,%xmm10
3713 vpxor 96-128(%rax),%xmm0,%xmm0
3714 vpsrld $27,%xmm11,%xmm9
3715 vpxor %xmm13,%xmm6,%xmm6
3716 vpxor %xmm2,%xmm0,%xmm0
3717
3718 vpslld $30,%xmm12,%xmm7
3719 vpor %xmm9,%xmm8,%xmm8
3720 vpaddd %xmm6,%xmm10,%xmm10
3721 vpsrld $31,%xmm0,%xmm5
3722 vpaddd %xmm0,%xmm0,%xmm0
3723
3724 vpsrld $2,%xmm12,%xmm12
3725 vpaddd %xmm8,%xmm10,%xmm10
3726 vpor %xmm5,%xmm0,%xmm0
3727 vpor %xmm7,%xmm12,%xmm12
3728 vpxor %xmm3,%xmm1,%xmm1
3729 vmovdqa 16-128(%rax),%xmm3
3730
3731 vpslld $5,%xmm10,%xmm8
3732 vpaddd %xmm15,%xmm14,%xmm14
3733 vpxor %xmm11,%xmm13,%xmm6
3734 vmovdqa %xmm0,224-128(%rax)
3735 vpaddd %xmm0,%xmm14,%xmm14
3736 vpxor 112-128(%rax),%xmm1,%xmm1
3737 vpsrld $27,%xmm10,%xmm9
3738 vpxor %xmm12,%xmm6,%xmm6
3739 vpxor %xmm3,%xmm1,%xmm1
3740
3741 vpslld $30,%xmm11,%xmm7
3742 vpor %xmm9,%xmm8,%xmm8
3743 vpaddd %xmm6,%xmm14,%xmm14
3744 vpsrld $31,%xmm1,%xmm5
3745 vpaddd %xmm1,%xmm1,%xmm1
3746
3747 vpsrld $2,%xmm11,%xmm11
3748 vpaddd %xmm8,%xmm14,%xmm14
3749 vpor %xmm5,%xmm1,%xmm1
3750 vpor %xmm7,%xmm11,%xmm11
3751 vpxor %xmm4,%xmm2,%xmm2
3752 vmovdqa 32-128(%rax),%xmm4
3753
3754 vpslld $5,%xmm14,%xmm8
3755 vpaddd %xmm15,%xmm13,%xmm13
3756 vpxor %xmm10,%xmm12,%xmm6
3757 vmovdqa %xmm1,240-128(%rax)
3758 vpaddd %xmm1,%xmm13,%xmm13
3759 vpxor 128-128(%rax),%xmm2,%xmm2
3760 vpsrld $27,%xmm14,%xmm9
3761 vpxor %xmm11,%xmm6,%xmm6
3762 vpxor %xmm4,%xmm2,%xmm2
3763
3764 vpslld $30,%xmm10,%xmm7
3765 vpor %xmm9,%xmm8,%xmm8
3766 vpaddd %xmm6,%xmm13,%xmm13
3767 vpsrld $31,%xmm2,%xmm5
3768 vpaddd %xmm2,%xmm2,%xmm2
3769
3770 vpsrld $2,%xmm10,%xmm10
3771 vpaddd %xmm8,%xmm13,%xmm13
3772 vpor %xmm5,%xmm2,%xmm2
3773 vpor %xmm7,%xmm10,%xmm10
3774 vpxor %xmm0,%xmm3,%xmm3
3775 vmovdqa 48-128(%rax),%xmm0
3776
3777 vpslld $5,%xmm13,%xmm8
3778 vpaddd %xmm15,%xmm12,%xmm12
3779 vpxor %xmm14,%xmm11,%xmm6
3780 vmovdqa %xmm2,0-128(%rax)
3781 vpaddd %xmm2,%xmm12,%xmm12
3782 vpxor 144-128(%rax),%xmm3,%xmm3
3783 vpsrld $27,%xmm13,%xmm9
3784 vpxor %xmm10,%xmm6,%xmm6
3785 vpxor %xmm0,%xmm3,%xmm3
3786
3787 vpslld $30,%xmm14,%xmm7
3788 vpor %xmm9,%xmm8,%xmm8
3789 vpaddd %xmm6,%xmm12,%xmm12
3790 vpsrld $31,%xmm3,%xmm5
3791 vpaddd %xmm3,%xmm3,%xmm3
3792
3793 vpsrld $2,%xmm14,%xmm14
3794 vpaddd %xmm8,%xmm12,%xmm12
3795 vpor %xmm5,%xmm3,%xmm3
3796 vpor %xmm7,%xmm14,%xmm14
3797 vpxor %xmm1,%xmm4,%xmm4
3798 vmovdqa 64-128(%rax),%xmm1
3799
3800 vpslld $5,%xmm12,%xmm8
3801 vpaddd %xmm15,%xmm11,%xmm11
3802 vpxor %xmm13,%xmm10,%xmm6
3803 vmovdqa %xmm3,16-128(%rax)
3804 vpaddd %xmm3,%xmm11,%xmm11
3805 vpxor 160-128(%rax),%xmm4,%xmm4
3806 vpsrld $27,%xmm12,%xmm9
3807 vpxor %xmm14,%xmm6,%xmm6
3808 vpxor %xmm1,%xmm4,%xmm4
3809
3810 vpslld $30,%xmm13,%xmm7
3811 vpor %xmm9,%xmm8,%xmm8
3812 vpaddd %xmm6,%xmm11,%xmm11
3813 vpsrld $31,%xmm4,%xmm5
3814 vpaddd %xmm4,%xmm4,%xmm4
3815
3816 vpsrld $2,%xmm13,%xmm13
3817 vpaddd %xmm8,%xmm11,%xmm11
3818 vpor %xmm5,%xmm4,%xmm4
3819 vpor %xmm7,%xmm13,%xmm13
3820 vpxor %xmm2,%xmm0,%xmm0
3821 vmovdqa 80-128(%rax),%xmm2
3822
3823 vpslld $5,%xmm11,%xmm8
3824 vpaddd %xmm15,%xmm10,%xmm10
3825 vpxor %xmm12,%xmm14,%xmm6
3826 vmovdqa %xmm4,32-128(%rax)
3827 vpaddd %xmm4,%xmm10,%xmm10
3828 vpxor 176-128(%rax),%xmm0,%xmm0
3829 vpsrld $27,%xmm11,%xmm9
3830 vpxor %xmm13,%xmm6,%xmm6
3831 vpxor %xmm2,%xmm0,%xmm0
3832
3833 vpslld $30,%xmm12,%xmm7
3834 vpor %xmm9,%xmm8,%xmm8
3835 vpaddd %xmm6,%xmm10,%xmm10
3836 vpsrld $31,%xmm0,%xmm5
3837 vpaddd %xmm0,%xmm0,%xmm0
3838
3839 vpsrld $2,%xmm12,%xmm12
3840 vpaddd %xmm8,%xmm10,%xmm10
3841 vpor %xmm5,%xmm0,%xmm0
3842 vpor %xmm7,%xmm12,%xmm12
3843 vpxor %xmm3,%xmm1,%xmm1
3844 vmovdqa 96-128(%rax),%xmm3
3845
3846 vpslld $5,%xmm10,%xmm8
3847 vpaddd %xmm15,%xmm14,%xmm14
3848 vpxor %xmm11,%xmm13,%xmm6
3849 vmovdqa %xmm0,48-128(%rax)
3850 vpaddd %xmm0,%xmm14,%xmm14
3851 vpxor 192-128(%rax),%xmm1,%xmm1
3852 vpsrld $27,%xmm10,%xmm9
3853 vpxor %xmm12,%xmm6,%xmm6
3854 vpxor %xmm3,%xmm1,%xmm1
3855
3856 vpslld $30,%xmm11,%xmm7
3857 vpor %xmm9,%xmm8,%xmm8
3858 vpaddd %xmm6,%xmm14,%xmm14
3859 vpsrld $31,%xmm1,%xmm5
3860 vpaddd %xmm1,%xmm1,%xmm1
3861
3862 vpsrld $2,%xmm11,%xmm11
3863 vpaddd %xmm8,%xmm14,%xmm14
3864 vpor %xmm5,%xmm1,%xmm1
3865 vpor %xmm7,%xmm11,%xmm11
3866 vpxor %xmm4,%xmm2,%xmm2
3867 vmovdqa 112-128(%rax),%xmm4
3868
3869 vpslld $5,%xmm14,%xmm8
3870 vpaddd %xmm15,%xmm13,%xmm13
3871 vpxor %xmm10,%xmm12,%xmm6
3872 vmovdqa %xmm1,64-128(%rax)
3873 vpaddd %xmm1,%xmm13,%xmm13
3874 vpxor 208-128(%rax),%xmm2,%xmm2
3875 vpsrld $27,%xmm14,%xmm9
3876 vpxor %xmm11,%xmm6,%xmm6
3877 vpxor %xmm4,%xmm2,%xmm2
3878
3879 vpslld $30,%xmm10,%xmm7
3880 vpor %xmm9,%xmm8,%xmm8
3881 vpaddd %xmm6,%xmm13,%xmm13
3882 vpsrld $31,%xmm2,%xmm5
3883 vpaddd %xmm2,%xmm2,%xmm2
3884
3885 vpsrld $2,%xmm10,%xmm10
3886 vpaddd %xmm8,%xmm13,%xmm13
3887 vpor %xmm5,%xmm2,%xmm2
3888 vpor %xmm7,%xmm10,%xmm10
3889 vpxor %xmm0,%xmm3,%xmm3
3890 vmovdqa 128-128(%rax),%xmm0
3891
3892 vpslld $5,%xmm13,%xmm8
3893 vpaddd %xmm15,%xmm12,%xmm12
3894 vpxor %xmm14,%xmm11,%xmm6
3895 vmovdqa %xmm2,80-128(%rax)
3896 vpaddd %xmm2,%xmm12,%xmm12
3897 vpxor 224-128(%rax),%xmm3,%xmm3
3898 vpsrld $27,%xmm13,%xmm9
3899 vpxor %xmm10,%xmm6,%xmm6
3900 vpxor %xmm0,%xmm3,%xmm3
3901
3902 vpslld $30,%xmm14,%xmm7
3903 vpor %xmm9,%xmm8,%xmm8
3904 vpaddd %xmm6,%xmm12,%xmm12
3905 vpsrld $31,%xmm3,%xmm5
3906 vpaddd %xmm3,%xmm3,%xmm3
3907
3908 vpsrld $2,%xmm14,%xmm14
3909 vpaddd %xmm8,%xmm12,%xmm12
3910 vpor %xmm5,%xmm3,%xmm3
3911 vpor %xmm7,%xmm14,%xmm14
3912 vpxor %xmm1,%xmm4,%xmm4
3913 vmovdqa 144-128(%rax),%xmm1
3914
3915 vpslld $5,%xmm12,%xmm8
3916 vpaddd %xmm15,%xmm11,%xmm11
3917 vpxor %xmm13,%xmm10,%xmm6
3918 vmovdqa %xmm3,96-128(%rax)
3919 vpaddd %xmm3,%xmm11,%xmm11
3920 vpxor 240-128(%rax),%xmm4,%xmm4
3921 vpsrld $27,%xmm12,%xmm9
3922 vpxor %xmm14,%xmm6,%xmm6
3923 vpxor %xmm1,%xmm4,%xmm4
3924
3925 vpslld $30,%xmm13,%xmm7
3926 vpor %xmm9,%xmm8,%xmm8
3927 vpaddd %xmm6,%xmm11,%xmm11
3928 vpsrld $31,%xmm4,%xmm5
3929 vpaddd %xmm4,%xmm4,%xmm4
3930
3931 vpsrld $2,%xmm13,%xmm13
3932 vpaddd %xmm8,%xmm11,%xmm11
3933 vpor %xmm5,%xmm4,%xmm4
3934 vpor %xmm7,%xmm13,%xmm13
3935 vpxor %xmm2,%xmm0,%xmm0
3936 vmovdqa 160-128(%rax),%xmm2
3937
3938 vpslld $5,%xmm11,%xmm8
3939 vpaddd %xmm15,%xmm10,%xmm10
3940 vpxor %xmm12,%xmm14,%xmm6
3941 vmovdqa %xmm4,112-128(%rax)
3942 vpaddd %xmm4,%xmm10,%xmm10
3943 vpxor 0-128(%rax),%xmm0,%xmm0
3944 vpsrld $27,%xmm11,%xmm9
3945 vpxor %xmm13,%xmm6,%xmm6
3946 vpxor %xmm2,%xmm0,%xmm0
3947
3948 vpslld $30,%xmm12,%xmm7
3949 vpor %xmm9,%xmm8,%xmm8
3950 vpaddd %xmm6,%xmm10,%xmm10
3951 vpsrld $31,%xmm0,%xmm5
3952 vpaddd %xmm0,%xmm0,%xmm0
3953
3954 vpsrld $2,%xmm12,%xmm12
3955 vpaddd %xmm8,%xmm10,%xmm10
3956 vpor %xmm5,%xmm0,%xmm0
3957 vpor %xmm7,%xmm12,%xmm12
3958 vmovdqa 32(%rbp),%xmm15
3959 vpxor %xmm3,%xmm1,%xmm1
3960 vmovdqa 176-128(%rax),%xmm3
3961
3962 vpaddd %xmm15,%xmm14,%xmm14
3963 vpslld $5,%xmm10,%xmm8
3964 vpand %xmm12,%xmm13,%xmm7
3965 vpxor 16-128(%rax),%xmm1,%xmm1
3966
3967 vpaddd %xmm7,%xmm14,%xmm14
3968 vpsrld $27,%xmm10,%xmm9
3969 vpxor %xmm12,%xmm13,%xmm6
3970 vpxor %xmm3,%xmm1,%xmm1
3971
3972 vmovdqu %xmm0,128-128(%rax)
3973 vpaddd %xmm0,%xmm14,%xmm14
3974 vpor %xmm9,%xmm8,%xmm8
3975 vpsrld $31,%xmm1,%xmm5
3976 vpand %xmm11,%xmm6,%xmm6
3977 vpaddd %xmm1,%xmm1,%xmm1
3978
3979 vpslld $30,%xmm11,%xmm7
3980 vpaddd %xmm6,%xmm14,%xmm14
3981
3982 vpsrld $2,%xmm11,%xmm11
3983 vpaddd %xmm8,%xmm14,%xmm14
3984 vpor %xmm5,%xmm1,%xmm1
3985 vpor %xmm7,%xmm11,%xmm11
3986 vpxor %xmm4,%xmm2,%xmm2
3987 vmovdqa 192-128(%rax),%xmm4
3988
3989 vpaddd %xmm15,%xmm13,%xmm13
3990 vpslld $5,%xmm14,%xmm8
3991 vpand %xmm11,%xmm12,%xmm7
3992 vpxor 32-128(%rax),%xmm2,%xmm2
3993
3994 vpaddd %xmm7,%xmm13,%xmm13
3995 vpsrld $27,%xmm14,%xmm9
3996 vpxor %xmm11,%xmm12,%xmm6
3997 vpxor %xmm4,%xmm2,%xmm2
3998
3999 vmovdqu %xmm1,144-128(%rax)
4000 vpaddd %xmm1,%xmm13,%xmm13
4001 vpor %xmm9,%xmm8,%xmm8
4002 vpsrld $31,%xmm2,%xmm5
4003 vpand %xmm10,%xmm6,%xmm6
4004 vpaddd %xmm2,%xmm2,%xmm2
4005
4006 vpslld $30,%xmm10,%xmm7
4007 vpaddd %xmm6,%xmm13,%xmm13
4008
4009 vpsrld $2,%xmm10,%xmm10
4010 vpaddd %xmm8,%xmm13,%xmm13
4011 vpor %xmm5,%xmm2,%xmm2
4012 vpor %xmm7,%xmm10,%xmm10
4013 vpxor %xmm0,%xmm3,%xmm3
4014 vmovdqa 208-128(%rax),%xmm0
4015
4016 vpaddd %xmm15,%xmm12,%xmm12
4017 vpslld $5,%xmm13,%xmm8
4018 vpand %xmm10,%xmm11,%xmm7
4019 vpxor 48-128(%rax),%xmm3,%xmm3
4020
4021 vpaddd %xmm7,%xmm12,%xmm12
4022 vpsrld $27,%xmm13,%xmm9
4023 vpxor %xmm10,%xmm11,%xmm6
4024 vpxor %xmm0,%xmm3,%xmm3
4025
4026 vmovdqu %xmm2,160-128(%rax)
4027 vpaddd %xmm2,%xmm12,%xmm12
4028 vpor %xmm9,%xmm8,%xmm8
4029 vpsrld $31,%xmm3,%xmm5
4030 vpand %xmm14,%xmm6,%xmm6
4031 vpaddd %xmm3,%xmm3,%xmm3
4032
4033 vpslld $30,%xmm14,%xmm7
4034 vpaddd %xmm6,%xmm12,%xmm12
4035
4036 vpsrld $2,%xmm14,%xmm14
4037 vpaddd %xmm8,%xmm12,%xmm12
4038 vpor %xmm5,%xmm3,%xmm3
4039 vpor %xmm7,%xmm14,%xmm14
4040 vpxor %xmm1,%xmm4,%xmm4
4041 vmovdqa 224-128(%rax),%xmm1
4042
4043 vpaddd %xmm15,%xmm11,%xmm11
4044 vpslld $5,%xmm12,%xmm8
4045 vpand %xmm14,%xmm10,%xmm7
4046 vpxor 64-128(%rax),%xmm4,%xmm4
4047
4048 vpaddd %xmm7,%xmm11,%xmm11
4049 vpsrld $27,%xmm12,%xmm9
4050 vpxor %xmm14,%xmm10,%xmm6
4051 vpxor %xmm1,%xmm4,%xmm4
4052
4053 vmovdqu %xmm3,176-128(%rax)
4054 vpaddd %xmm3,%xmm11,%xmm11
4055 vpor %xmm9,%xmm8,%xmm8
4056 vpsrld $31,%xmm4,%xmm5
4057 vpand %xmm13,%xmm6,%xmm6
4058 vpaddd %xmm4,%xmm4,%xmm4
4059
4060 vpslld $30,%xmm13,%xmm7
4061 vpaddd %xmm6,%xmm11,%xmm11
4062
4063 vpsrld $2,%xmm13,%xmm13
4064 vpaddd %xmm8,%xmm11,%xmm11
4065 vpor %xmm5,%xmm4,%xmm4
4066 vpor %xmm7,%xmm13,%xmm13
4067 vpxor %xmm2,%xmm0,%xmm0
4068 vmovdqa 240-128(%rax),%xmm2
4069
4070 vpaddd %xmm15,%xmm10,%xmm10
4071 vpslld $5,%xmm11,%xmm8
4072 vpand %xmm13,%xmm14,%xmm7
4073 vpxor 80-128(%rax),%xmm0,%xmm0
4074
4075 vpaddd %xmm7,%xmm10,%xmm10
4076 vpsrld $27,%xmm11,%xmm9
4077 vpxor %xmm13,%xmm14,%xmm6
4078 vpxor %xmm2,%xmm0,%xmm0
4079
4080 vmovdqu %xmm4,192-128(%rax)
4081 vpaddd %xmm4,%xmm10,%xmm10
4082 vpor %xmm9,%xmm8,%xmm8
4083 vpsrld $31,%xmm0,%xmm5
4084 vpand %xmm12,%xmm6,%xmm6
4085 vpaddd %xmm0,%xmm0,%xmm0
4086
4087 vpslld $30,%xmm12,%xmm7
4088 vpaddd %xmm6,%xmm10,%xmm10
4089
4090 vpsrld $2,%xmm12,%xmm12
4091 vpaddd %xmm8,%xmm10,%xmm10
4092 vpor %xmm5,%xmm0,%xmm0
4093 vpor %xmm7,%xmm12,%xmm12
4094 vpxor %xmm3,%xmm1,%xmm1
4095 vmovdqa 0-128(%rax),%xmm3
4096
4097 vpaddd %xmm15,%xmm14,%xmm14
4098 vpslld $5,%xmm10,%xmm8
4099 vpand %xmm12,%xmm13,%xmm7
4100 vpxor 96-128(%rax),%xmm1,%xmm1
4101
4102 vpaddd %xmm7,%xmm14,%xmm14
4103 vpsrld $27,%xmm10,%xmm9
4104 vpxor %xmm12,%xmm13,%xmm6
4105 vpxor %xmm3,%xmm1,%xmm1
4106
4107 vmovdqu %xmm0,208-128(%rax)
4108 vpaddd %xmm0,%xmm14,%xmm14
4109 vpor %xmm9,%xmm8,%xmm8
4110 vpsrld $31,%xmm1,%xmm5
4111 vpand %xmm11,%xmm6,%xmm6
4112 vpaddd %xmm1,%xmm1,%xmm1
4113
4114 vpslld $30,%xmm11,%xmm7
4115 vpaddd %xmm6,%xmm14,%xmm14
4116
4117 vpsrld $2,%xmm11,%xmm11
4118 vpaddd %xmm8,%xmm14,%xmm14
4119 vpor %xmm5,%xmm1,%xmm1
4120 vpor %xmm7,%xmm11,%xmm11
4121 vpxor %xmm4,%xmm2,%xmm2
4122 vmovdqa 16-128(%rax),%xmm4
4123
4124 vpaddd %xmm15,%xmm13,%xmm13
4125 vpslld $5,%xmm14,%xmm8
4126 vpand %xmm11,%xmm12,%xmm7
4127 vpxor 112-128(%rax),%xmm2,%xmm2
4128
4129 vpaddd %xmm7,%xmm13,%xmm13
4130 vpsrld $27,%xmm14,%xmm9
4131 vpxor %xmm11,%xmm12,%xmm6
4132 vpxor %xmm4,%xmm2,%xmm2
4133
4134 vmovdqu %xmm1,224-128(%rax)
4135 vpaddd %xmm1,%xmm13,%xmm13
4136 vpor %xmm9,%xmm8,%xmm8
4137 vpsrld $31,%xmm2,%xmm5
4138 vpand %xmm10,%xmm6,%xmm6
4139 vpaddd %xmm2,%xmm2,%xmm2
4140
4141 vpslld $30,%xmm10,%xmm7
4142 vpaddd %xmm6,%xmm13,%xmm13
4143
4144 vpsrld $2,%xmm10,%xmm10
4145 vpaddd %xmm8,%xmm13,%xmm13
4146 vpor %xmm5,%xmm2,%xmm2
4147 vpor %xmm7,%xmm10,%xmm10
4148 vpxor %xmm0,%xmm3,%xmm3
4149 vmovdqa 32-128(%rax),%xmm0
4150
4151 vpaddd %xmm15,%xmm12,%xmm12
4152 vpslld $5,%xmm13,%xmm8
4153 vpand %xmm10,%xmm11,%xmm7
4154 vpxor 128-128(%rax),%xmm3,%xmm3
4155
4156 vpaddd %xmm7,%xmm12,%xmm12