1 /* $FreeBSD$ */
2 /* Do not modify. This file is auto-generated from sha512-x86_64.pl. */
3 .text
4
5
6 .globl sha256_block_data_order
7 .type sha256_block_data_order,@function
8 .align 16
9 sha256_block_data_order:
10 .cfi_startproc
11 leaq OPENSSL_ia32cap_P(%rip),%r11
12 movl 0(%r11),%r9d
13 movl 4(%r11),%r10d
14 movl 8(%r11),%r11d
15 testl $536870912,%r11d
16 jnz _shaext_shortcut
17 andl $296,%r11d
18 cmpl $296,%r11d
19 je .Lavx2_shortcut
20 andl $1073741824,%r9d
21 andl $268435968,%r10d
22 orl %r9d,%r10d
23 cmpl $1342177792,%r10d
24 je .Lavx_shortcut
25 testl $512,%r10d
26 jnz .Lssse3_shortcut
27 movq %rsp,%rax
28 .cfi_def_cfa_register %rax
29 pushq %rbx
30 .cfi_offset %rbx,-16
31 pushq %rbp
32 .cfi_offset %rbp,-24
33 pushq %r12
34 .cfi_offset %r12,-32
35 pushq %r13
36 .cfi_offset %r13,-40
37 pushq %r14
38 .cfi_offset %r14,-48
39 pushq %r15
40 .cfi_offset %r15,-56
41 shlq $4,%rdx
42 subq $64+32,%rsp
43 leaq (%rsi,%rdx,4),%rdx
44 andq $-64,%rsp
45 movq %rdi,64+0(%rsp)
46 movq %rsi,64+8(%rsp)
47 movq %rdx,64+16(%rsp)
48 movq %rax,88(%rsp)
49 .cfi_escape 0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
50 .Lprologue:
51
52 movl 0(%rdi),%eax
53 movl 4(%rdi),%ebx
54 movl 8(%rdi),%ecx
55 movl 12(%rdi),%edx
56 movl 16(%rdi),%r8d
57 movl 20(%rdi),%r9d
58 movl 24(%rdi),%r10d
59 movl 28(%rdi),%r11d
60 jmp .Lloop
61
62 .align 16
63 .Lloop:
64 movl %ebx,%edi
65 leaq K256(%rip),%rbp
66 xorl %ecx,%edi
67 movl 0(%rsi),%r12d
68 movl %r8d,%r13d
69 movl %eax,%r14d
70 bswapl %r12d
71 rorl $14,%r13d
72 movl %r9d,%r15d
73
74 xorl %r8d,%r13d
75 rorl $9,%r14d
76 xorl %r10d,%r15d
77
78 movl %r12d,0(%rsp)
79 xorl %eax,%r14d
80 andl %r8d,%r15d
81
82 rorl $5,%r13d
83 addl %r11d,%r12d
84 xorl %r10d,%r15d
85
86 rorl $11,%r14d
87 xorl %r8d,%r13d
88 addl %r15d,%r12d
89
90 movl %eax,%r15d
91 addl (%rbp),%r12d
92 xorl %eax,%r14d
93
94 xorl %ebx,%r15d
95 rorl $6,%r13d
96 movl %ebx,%r11d
97
98 andl %r15d,%edi
99 rorl $2,%r14d
100 addl %r13d,%r12d
101
102 xorl %edi,%r11d
103 addl %r12d,%edx
104 addl %r12d,%r11d
105
106 leaq 4(%rbp),%rbp
107 addl %r14d,%r11d
108 movl 4(%rsi),%r12d
109 movl %edx,%r13d
110 movl %r11d,%r14d
111 bswapl %r12d
112 rorl $14,%r13d
113 movl %r8d,%edi
114
115 xorl %edx,%r13d
116 rorl $9,%r14d
117 xorl %r9d,%edi
118
119 movl %r12d,4(%rsp)
120 xorl %r11d,%r14d
121 andl %edx,%edi
122
123 rorl $5,%r13d
124 addl %r10d,%r12d
125 xorl %r9d,%edi
126
127 rorl $11,%r14d
128 xorl %edx,%r13d
129 addl %edi,%r12d
130
131 movl %r11d,%edi
132 addl (%rbp),%r12d
133 xorl %r11d,%r14d
134
135 xorl %eax,%edi
136 rorl $6,%r13d
137 movl %eax,%r10d
138
139 andl %edi,%r15d
140 rorl $2,%r14d
141 addl %r13d,%r12d
142
143 xorl %r15d,%r10d
144 addl %r12d,%ecx
145 addl %r12d,%r10d
146
147 leaq 4(%rbp),%rbp
148 addl %r14d,%r10d
149 movl 8(%rsi),%r12d
150 movl %ecx,%r13d
151 movl %r10d,%r14d
152 bswapl %r12d
153 rorl $14,%r13d
154 movl %edx,%r15d
155
156 xorl %ecx,%r13d
157 rorl $9,%r14d
158 xorl %r8d,%r15d
159
160 movl %r12d,8(%rsp)
161 xorl %r10d,%r14d
162 andl %ecx,%r15d
163
164 rorl $5,%r13d
165 addl %r9d,%r12d
166 xorl %r8d,%r15d
167
168 rorl $11,%r14d
169 xorl %ecx,%r13d
170 addl %r15d,%r12d
171
172 movl %r10d,%r15d
173 addl (%rbp),%r12d
174 xorl %r10d,%r14d
175
176 xorl %r11d,%r15d
177 rorl $6,%r13d
178 movl %r11d,%r9d
179
180 andl %r15d,%edi
181 rorl $2,%r14d
182 addl %r13d,%r12d
183
184 xorl %edi,%r9d
185 addl %r12d,%ebx
186 addl %r12d,%r9d
187
188 leaq 4(%rbp),%rbp
189 addl %r14d,%r9d
190 movl 12(%rsi),%r12d
191 movl %ebx,%r13d
192 movl %r9d,%r14d
193 bswapl %r12d
194 rorl $14,%r13d
195 movl %ecx,%edi
196
197 xorl %ebx,%r13d
198 rorl $9,%r14d
199 xorl %edx,%edi
200
201 movl %r12d,12(%rsp)
202 xorl %r9d,%r14d
203 andl %ebx,%edi
204
205 rorl $5,%r13d
206 addl %r8d,%r12d
207 xorl %edx,%edi
208
209 rorl $11,%r14d
210 xorl %ebx,%r13d
211 addl %edi,%r12d
212
213 movl %r9d,%edi
214 addl (%rbp),%r12d
215 xorl %r9d,%r14d
216
217 xorl %r10d,%edi
218 rorl $6,%r13d
219 movl %r10d,%r8d
220
221 andl %edi,%r15d
222 rorl $2,%r14d
223 addl %r13d,%r12d
224
225 xorl %r15d,%r8d
226 addl %r12d,%eax
227 addl %r12d,%r8d
228
229 leaq 20(%rbp),%rbp
230 addl %r14d,%r8d
231 movl 16(%rsi),%r12d
232 movl %eax,%r13d
233 movl %r8d,%r14d
234 bswapl %r12d
235 rorl $14,%r13d
236 movl %ebx,%r15d
237
238 xorl %eax,%r13d
239 rorl $9,%r14d
240 xorl %ecx,%r15d
241
242 movl %r12d,16(%rsp)
243 xorl %r8d,%r14d
244 andl %eax,%r15d
245
246 rorl $5,%r13d
247 addl %edx,%r12d
248 xorl %ecx,%r15d
249
250 rorl $11,%r14d
251 xorl %eax,%r13d
252 addl %r15d,%r12d
253
254 movl %r8d,%r15d
255 addl (%rbp),%r12d
256 xorl %r8d,%r14d
257
258 xorl %r9d,%r15d
259 rorl $6,%r13d
260 movl %r9d,%edx
261
262 andl %r15d,%edi
263 rorl $2,%r14d
264 addl %r13d,%r12d
265
266 xorl %edi,%edx
267 addl %r12d,%r11d
268 addl %r12d,%edx
269
270 leaq 4(%rbp),%rbp
271 addl %r14d,%edx
272 movl 20(%rsi),%r12d
273 movl %r11d,%r13d
274 movl %edx,%r14d
275 bswapl %r12d
276 rorl $14,%r13d
277 movl %eax,%edi
278
279 xorl %r11d,%r13d
280 rorl $9,%r14d
281 xorl %ebx,%edi
282
283 movl %r12d,20(%rsp)
284 xorl %edx,%r14d
285 andl %r11d,%edi
286
287 rorl $5,%r13d
288 addl %ecx,%r12d
289 xorl %ebx,%edi
290
291 rorl $11,%r14d
292 xorl %r11d,%r13d
293 addl %edi,%r12d
294
295 movl %edx,%edi
296 addl (%rbp),%r12d
297 xorl %edx,%r14d
298
299 xorl %r8d,%edi
300 rorl $6,%r13d
301 movl %r8d,%ecx
302
303 andl %edi,%r15d
304 rorl $2,%r14d
305 addl %r13d,%r12d
306
307 xorl %r15d,%ecx
308 addl %r12d,%r10d
309 addl %r12d,%ecx
310
311 leaq 4(%rbp),%rbp
312 addl %r14d,%ecx
313 movl 24(%rsi),%r12d
314 movl %r10d,%r13d
315 movl %ecx,%r14d
316 bswapl %r12d
317 rorl $14,%r13d
318 movl %r11d,%r15d
319
320 xorl %r10d,%r13d
321 rorl $9,%r14d
322 xorl %eax,%r15d
323
324 movl %r12d,24(%rsp)
325 xorl %ecx,%r14d
326 andl %r10d,%r15d
327
328 rorl $5,%r13d
329 addl %ebx,%r12d
330 xorl %eax,%r15d
331
332 rorl $11,%r14d
333 xorl %r10d,%r13d
334 addl %r15d,%r12d
335
336 movl %ecx,%r15d
337 addl (%rbp),%r12d
338 xorl %ecx,%r14d
339
340 xorl %edx,%r15d
341 rorl $6,%r13d
342 movl %edx,%ebx
343
344 andl %r15d,%edi
345 rorl $2,%r14d
346 addl %r13d,%r12d
347
348 xorl %edi,%ebx
349 addl %r12d,%r9d
350 addl %r12d,%ebx
351
352 leaq 4(%rbp),%rbp
353 addl %r14d,%ebx
354 movl 28(%rsi),%r12d
355 movl %r9d,%r13d
356 movl %ebx,%r14d
357 bswapl %r12d
358 rorl $14,%r13d
359 movl %r10d,%edi
360
361 xorl %r9d,%r13d
362 rorl $9,%r14d
363 xorl %r11d,%edi
364
365 movl %r12d,28(%rsp)
366 xorl %ebx,%r14d
367 andl %r9d,%edi
368
369 rorl $5,%r13d
370 addl %eax,%r12d
371 xorl %r11d,%edi
372
373 rorl $11,%r14d
374 xorl %r9d,%r13d
375 addl %edi,%r12d
376
377 movl %ebx,%edi
378 addl (%rbp),%r12d
379 xorl %ebx,%r14d
380
381 xorl %ecx,%edi
382 rorl $6,%r13d
383 movl %ecx,%eax
384
385 andl %edi,%r15d
386 rorl $2,%r14d
387 addl %r13d,%r12d
388
389 xorl %r15d,%eax
390 addl %r12d,%r8d
391 addl %r12d,%eax
392
393 leaq 20(%rbp),%rbp
394 addl %r14d,%eax
395 movl 32(%rsi),%r12d
396 movl %r8d,%r13d
397 movl %eax,%r14d
398 bswapl %r12d
399 rorl $14,%r13d
400 movl %r9d,%r15d
401
402 xorl %r8d,%r13d
403 rorl $9,%r14d
404 xorl %r10d,%r15d
405
406 movl %r12d,32(%rsp)
407 xorl %eax,%r14d
408 andl %r8d,%r15d
409
410 rorl $5,%r13d
411 addl %r11d,%r12d
412 xorl %r10d,%r15d
413
414 rorl $11,%r14d
415 xorl %r8d,%r13d
416 addl %r15d,%r12d
417
418 movl %eax,%r15d
419 addl (%rbp),%r12d
420 xorl %eax,%r14d
421
422 xorl %ebx,%r15d
423 rorl $6,%r13d
424 movl %ebx,%r11d
425
426 andl %r15d,%edi
427 rorl $2,%r14d
428 addl %r13d,%r12d
429
430 xorl %edi,%r11d
431 addl %r12d,%edx
432 addl %r12d,%r11d
433
434 leaq 4(%rbp),%rbp
435 addl %r14d,%r11d
436 movl 36(%rsi),%r12d
437 movl %edx,%r13d
438 movl %r11d,%r14d
439 bswapl %r12d
440 rorl $14,%r13d
441 movl %r8d,%edi
442
443 xorl %edx,%r13d
444 rorl $9,%r14d
445 xorl %r9d,%edi
446
447 movl %r12d,36(%rsp)
448 xorl %r11d,%r14d
449 andl %edx,%edi
450
451 rorl $5,%r13d
452 addl %r10d,%r12d
453 xorl %r9d,%edi
454
455 rorl $11,%r14d
456 xorl %edx,%r13d
457 addl %edi,%r12d
458
459 movl %r11d,%edi
460 addl (%rbp),%r12d
461 xorl %r11d,%r14d
462
463 xorl %eax,%edi
464 rorl $6,%r13d
465 movl %eax,%r10d
466
467 andl %edi,%r15d
468 rorl $2,%r14d
469 addl %r13d,%r12d
470
471 xorl %r15d,%r10d
472 addl %r12d,%ecx
473 addl %r12d,%r10d
474
475 leaq 4(%rbp),%rbp
476 addl %r14d,%r10d
477 movl 40(%rsi),%r12d
478 movl %ecx,%r13d
479 movl %r10d,%r14d
480 bswapl %r12d
481 rorl $14,%r13d
482 movl %edx,%r15d
483
484 xorl %ecx,%r13d
485 rorl $9,%r14d
486 xorl %r8d,%r15d
487
488 movl %r12d,40(%rsp)
489 xorl %r10d,%r14d
490 andl %ecx,%r15d
491
492 rorl $5,%r13d
493 addl %r9d,%r12d
494 xorl %r8d,%r15d
495
496 rorl $11,%r14d
497 xorl %ecx,%r13d
498 addl %r15d,%r12d
499
500 movl %r10d,%r15d
501 addl (%rbp),%r12d
502 xorl %r10d,%r14d
503
504 xorl %r11d,%r15d
505 rorl $6,%r13d
506 movl %r11d,%r9d
507
508 andl %r15d,%edi
509 rorl $2,%r14d
510 addl %r13d,%r12d
511
512 xorl %edi,%r9d
513 addl %r12d,%ebx
514 addl %r12d,%r9d
515
516 leaq 4(%rbp),%rbp
517 addl %r14d,%r9d
518 movl 44(%rsi),%r12d
519 movl %ebx,%r13d
520 movl %r9d,%r14d
521 bswapl %r12d
522 rorl $14,%r13d
523 movl %ecx,%edi
524
525 xorl %ebx,%r13d
526 rorl $9,%r14d
527 xorl %edx,%edi
528
529 movl %r12d,44(%rsp)
530 xorl %r9d,%r14d
531 andl %ebx,%edi
532
533 rorl $5,%r13d
534 addl %r8d,%r12d
535 xorl %edx,%edi
536
537 rorl $11,%r14d
538 xorl %ebx,%r13d
539 addl %edi,%r12d
540
541 movl %r9d,%edi
542 addl (%rbp),%r12d
543 xorl %r9d,%r14d
544
545 xorl %r10d,%edi
546 rorl $6,%r13d
547 movl %r10d,%r8d
548
549 andl %edi,%r15d
550 rorl $2,%r14d
551 addl %r13d,%r12d
552
553 xorl %r15d,%r8d
554 addl %r12d,%eax
555 addl %r12d,%r8d
556
557 leaq 20(%rbp),%rbp
558 addl %r14d,%r8d
559 movl 48(%rsi),%r12d
560 movl %eax,%r13d
561 movl %r8d,%r14d
562 bswapl %r12d
563 rorl $14,%r13d
564 movl %ebx,%r15d
565
566 xorl %eax,%r13d
567 rorl $9,%r14d
568 xorl %ecx,%r15d
569
570 movl %r12d,48(%rsp)
571 xorl %r8d,%r14d
572 andl %eax,%r15d
573
574 rorl $5,%r13d
575 addl %edx,%r12d
576 xorl %ecx,%r15d
577
578 rorl $11,%r14d
579 xorl %eax,%r13d
580 addl %r15d,%r12d
581
582 movl %r8d,%r15d
583 addl (%rbp),%r12d
584 xorl %r8d,%r14d
585
586 xorl %r9d,%r15d
587 rorl $6,%r13d
588 movl %r9d,%edx
589
590 andl %r15d,%edi
591 rorl $2,%r14d
592 addl %r13d,%r12d
593
594 xorl %edi,%edx
595 addl %r12d,%r11d
596 addl %r12d,%edx
597
598 leaq 4(%rbp),%rbp
599 addl %r14d,%edx
600 movl 52(%rsi),%r12d
601 movl %r11d,%r13d
602 movl %edx,%r14d
603 bswapl %r12d
604 rorl $14,%r13d
605 movl %eax,%edi
606
607 xorl %r11d,%r13d
608 rorl $9,%r14d
609 xorl %ebx,%edi
610
611 movl %r12d,52(%rsp)
612 xorl %edx,%r14d
613 andl %r11d,%edi
614
615 rorl $5,%r13d
616 addl %ecx,%r12d
617 xorl %ebx,%edi
618
619 rorl $11,%r14d
620 xorl %r11d,%r13d
621 addl %edi,%r12d
622
623 movl %edx,%edi
624 addl (%rbp),%r12d
625 xorl %edx,%r14d
626
627 xorl %r8d,%edi
628 rorl $6,%r13d
629 movl %r8d,%ecx
630
631 andl %edi,%r15d
632 rorl $2,%r14d
633 addl %r13d,%r12d
634
635 xorl %r15d,%ecx
636 addl %r12d,%r10d
637 addl %r12d,%ecx
638
639 leaq 4(%rbp),%rbp
640 addl %r14d,%ecx
641 movl 56(%rsi),%r12d
642 movl %r10d,%r13d
643 movl %ecx,%r14d
644 bswapl %r12d
645 rorl $14,%r13d
646 movl %r11d,%r15d
647
648 xorl %r10d,%r13d
649 rorl $9,%r14d
650 xorl %eax,%r15d
651
652 movl %r12d,56(%rsp)
653 xorl %ecx,%r14d
654 andl %r10d,%r15d
655
656 rorl $5,%r13d
657 addl %ebx,%r12d
658 xorl %eax,%r15d
659
660 rorl $11,%r14d
661 xorl %r10d,%r13d
662 addl %r15d,%r12d
663
664 movl %ecx,%r15d
665 addl (%rbp),%r12d
666 xorl %ecx,%r14d
667
668 xorl %edx,%r15d
669 rorl $6,%r13d
670 movl %edx,%ebx
671
672 andl %r15d,%edi
673 rorl $2,%r14d
674 addl %r13d,%r12d
675
676 xorl %edi,%ebx
677 addl %r12d,%r9d
678 addl %r12d,%ebx
679
680 leaq 4(%rbp),%rbp
681 addl %r14d,%ebx
682 movl 60(%rsi),%r12d
683 movl %r9d,%r13d
684 movl %ebx,%r14d
685 bswapl %r12d
686 rorl $14,%r13d
687 movl %r10d,%edi
688
689 xorl %r9d,%r13d
690 rorl $9,%r14d
691 xorl %r11d,%edi
692
693 movl %r12d,60(%rsp)
694 xorl %ebx,%r14d
695 andl %r9d,%edi
696
697 rorl $5,%r13d
698 addl %eax,%r12d
699 xorl %r11d,%edi
700
701 rorl $11,%r14d
702 xorl %r9d,%r13d
703 addl %edi,%r12d
704
705 movl %ebx,%edi
706 addl (%rbp),%r12d
707 xorl %ebx,%r14d
708
709 xorl %ecx,%edi
710 rorl $6,%r13d
711 movl %ecx,%eax
712
713 andl %edi,%r15d
714 rorl $2,%r14d
715 addl %r13d,%r12d
716
717 xorl %r15d,%eax
718 addl %r12d,%r8d
719 addl %r12d,%eax
720
721 leaq 20(%rbp),%rbp
722 jmp .Lrounds_16_xx
723 .align 16
724 .Lrounds_16_xx:
725 movl 4(%rsp),%r13d
726 movl 56(%rsp),%r15d
727
728 movl %r13d,%r12d
729 rorl $11,%r13d
730 addl %r14d,%eax
731 movl %r15d,%r14d
732 rorl $2,%r15d
733
734 xorl %r12d,%r13d
735 shrl $3,%r12d
736 rorl $7,%r13d
737 xorl %r14d,%r15d
738 shrl $10,%r14d
739
740 rorl $17,%r15d
741 xorl %r13d,%r12d
742 xorl %r14d,%r15d
743 addl 36(%rsp),%r12d
744
745 addl 0(%rsp),%r12d
746 movl %r8d,%r13d
747 addl %r15d,%r12d
748 movl %eax,%r14d
749 rorl $14,%r13d
750 movl %r9d,%r15d
751
752 xorl %r8d,%r13d
753 rorl $9,%r14d
754 xorl %r10d,%r15d
755
756 movl %r12d,0(%rsp)
757 xorl %eax,%r14d
758 andl %r8d,%r15d
759
760 rorl $5,%r13d
761 addl %r11d,%r12d
762 xorl %r10d,%r15d
763
764 rorl $11,%r14d
765 xorl %r8d,%r13d
766 addl %r15d,%r12d
767
768 movl %eax,%r15d
769 addl (%rbp),%r12d
770 xorl %eax,%r14d
771
772 xorl %ebx,%r15d
773 rorl $6,%r13d
774 movl %ebx,%r11d
775
776 andl %r15d,%edi
777 rorl $2,%r14d
778 addl %r13d,%r12d
779
780 xorl %edi,%r11d
781 addl %r12d,%edx
782 addl %r12d,%r11d
783
784 leaq 4(%rbp),%rbp
785 movl 8(%rsp),%r13d
786 movl 60(%rsp),%edi
787
788 movl %r13d,%r12d
789 rorl $11,%r13d
790 addl %r14d,%r11d
791 movl %edi,%r14d
792 rorl $2,%edi
793
794 xorl %r12d,%r13d
795 shrl $3,%r12d
796 rorl $7,%r13d
797 xorl %r14d,%edi
798 shrl $10,%r14d
799
800 rorl $17,%edi
801 xorl %r13d,%r12d
802 xorl %r14d,%edi
803 addl 40(%rsp),%r12d
804
805 addl 4(%rsp),%r12d
806 movl %edx,%r13d
807 addl %edi,%r12d
808 movl %r11d,%r14d
809 rorl $14,%r13d
810 movl %r8d,%edi
811
812 xorl %edx,%r13d
813 rorl $9,%r14d
814 xorl %r9d,%edi
815
816 movl %r12d,4(%rsp)
817 xorl %r11d,%r14d
818 andl %edx,%edi
819
820 rorl $5,%r13d
821 addl %r10d,%r12d
822 xorl %r9d,%edi
823
824 rorl $11,%r14d
825 xorl %edx,%r13d
826 addl %edi,%r12d
827
828 movl %r11d,%edi
829 addl (%rbp),%r12d
830 xorl %r11d,%r14d
831
832 xorl %eax,%edi
833 rorl $6,%r13d
834 movl %eax,%r10d
835
836 andl %edi,%r15d
837 rorl $2,%r14d
838 addl %r13d,%r12d
839
840 xorl %r15d,%r10d
841 addl %r12d,%ecx
842 addl %r12d,%r10d
843
844 leaq 4(%rbp),%rbp
845 movl 12(%rsp),%r13d
846 movl 0(%rsp),%r15d
847
848 movl %r13d,%r12d
849 rorl $11,%r13d
850 addl %r14d,%r10d
851 movl %r15d,%r14d
852 rorl $2,%r15d
853
854 xorl %r12d,%r13d
855 shrl $3,%r12d
856 rorl $7,%r13d
857 xorl %r14d,%r15d
858 shrl $10,%r14d
859
860 rorl $17,%r15d
861 xorl %r13d,%r12d
862 xorl %r14d,%r15d
863 addl 44(%rsp),%r12d
864
865 addl 8(%rsp),%r12d
866 movl %ecx,%r13d
867 addl %r15d,%r12d
868 movl %r10d,%r14d
869 rorl $14,%r13d
870 movl %edx,%r15d
871
872 xorl %ecx,%r13d
873 rorl $9,%r14d
874 xorl %r8d,%r15d
875
876 movl %r12d,8(%rsp)
877 xorl %r10d,%r14d
878 andl %ecx,%r15d
879
880 rorl $5,%r13d
881 addl %r9d,%r12d
882 xorl %r8d,%r15d
883
884 rorl $11,%r14d
885 xorl %ecx,%r13d
886 addl %r15d,%r12d
887
888 movl %r10d,%r15d
889 addl (%rbp),%r12d
890 xorl %r10d,%r14d
891
892 xorl %r11d,%r15d
893 rorl $6,%r13d
894 movl %r11d,%r9d
895
896 andl %r15d,%edi
897 rorl $2,%r14d
898 addl %r13d,%r12d
899
900 xorl %edi,%r9d
901 addl %r12d,%ebx
902 addl %r12d,%r9d
903
904 leaq 4(%rbp),%rbp
905 movl 16(%rsp),%r13d
906 movl 4(%rsp),%edi
907
908 movl %r13d,%r12d
909 rorl $11,%r13d
910 addl %r14d,%r9d
911 movl %edi,%r14d
912 rorl $2,%edi
913
914 xorl %r12d,%r13d
915 shrl $3,%r12d
916 rorl $7,%r13d
917 xorl %r14d,%edi
918 shrl $10,%r14d
919
920 rorl $17,%edi
921 xorl %r13d,%r12d
922 xorl %r14d,%edi
923 addl 48(%rsp),%r12d
924
925 addl 12(%rsp),%r12d
926 movl %ebx,%r13d
927 addl %edi,%r12d
928 movl %r9d,%r14d
929 rorl $14,%r13d
930 movl %ecx,%edi
931
932 xorl %ebx,%r13d
933 rorl $9,%r14d
934 xorl %edx,%edi
935
936 movl %r12d,12(%rsp)
937 xorl %r9d,%r14d
938 andl %ebx,%edi
939
940 rorl $5,%r13d
941 addl %r8d,%r12d
942 xorl %edx,%edi
943
944 rorl $11,%r14d
945 xorl %ebx,%r13d
946 addl %edi,%r12d
947
948 movl %r9d,%edi
949 addl (%rbp),%r12d
950 xorl %r9d,%r14d
951
952 xorl %r10d,%edi
953 rorl $6,%r13d
954 movl %r10d,%r8d
955
956 andl %edi,%r15d
957 rorl $2,%r14d
958 addl %r13d,%r12d
959
960 xorl %r15d,%r8d
961 addl %r12d,%eax
962 addl %r12d,%r8d
963
964 leaq 20(%rbp),%rbp
965 movl 20(%rsp),%r13d
966 movl 8(%rsp),%r15d
967
968 movl %r13d,%r12d
969 rorl $11,%r13d
970 addl %r14d,%r8d
971 movl %r15d,%r14d
972 rorl $2,%r15d
973
974 xorl %r12d,%r13d
975 shrl $3,%r12d
976 rorl $7,%r13d
977 xorl %r14d,%r15d
978 shrl $10,%r14d
979
980 rorl $17,%r15d
981 xorl %r13d,%r12d
982 xorl %r14d,%r15d
983 addl 52(%rsp),%r12d
984
985 addl 16(%rsp),%r12d
986 movl %eax,%r13d
987 addl %r15d,%r12d
988 movl %r8d,%r14d
989 rorl $14,%r13d
990 movl %ebx,%r15d
991
992 xorl %eax,%r13d
993 rorl $9,%r14d
994 xorl %ecx,%r15d
995
996 movl %r12d,16(%rsp)
997 xorl %r8d,%r14d
998 andl %eax,%r15d
999
1000 rorl $5,%r13d
1001 addl %edx,%r12d
1002 xorl %ecx,%r15d
1003
1004 rorl $11,%r14d
1005 xorl %eax,%r13d
1006 addl %r15d,%r12d
1007
1008 movl %r8d,%r15d
1009 addl (%rbp),%r12d
1010 xorl %r8d,%r14d
1011
1012 xorl %r9d,%r15d
1013 rorl $6,%r13d
1014 movl %r9d,%edx
1015
1016 andl %r15d,%edi
1017 rorl $2,%r14d
1018 addl %r13d,%r12d
1019
1020 xorl %edi,%edx
1021 addl %r12d,%r11d
1022 addl %r12d,%edx
1023
1024 leaq 4(%rbp),%rbp
1025 movl 24(%rsp),%r13d
1026 movl 12(%rsp),%edi
1027
1028 movl %r13d,%r12d
1029 rorl $11,%r13d
1030 addl %r14d,%edx
1031 movl %edi,%r14d
1032 rorl $2,%edi
1033
1034 xorl %r12d,%r13d
1035 shrl $3,%r12d
1036 rorl $7,%r13d
1037 xorl %r14d,%edi
1038 shrl $10,%r14d
1039
1040 rorl $17,%edi
1041 xorl %r13d,%r12d
1042 xorl %r14d,%edi
1043 addl 56(%rsp),%r12d
1044
1045 addl 20(%rsp),%r12d
1046 movl %r11d,%r13d
1047 addl %edi,%r12d
1048 movl %edx,%r14d
1049 rorl $14,%r13d
1050 movl %eax,%edi
1051
1052 xorl %r11d,%r13d
1053 rorl $9,%r14d
1054 xorl %ebx,%edi
1055
1056 movl %r12d,20(%rsp)
1057 xorl %edx,%r14d
1058 andl %r11d,%edi
1059
1060 rorl $5,%r13d
1061 addl %ecx,%r12d
1062 xorl %ebx,%edi
1063
1064 rorl $11,%r14d
1065 xorl %r11d,%r13d
1066 addl %edi,%r12d
1067
1068 movl %edx,%edi
1069 addl (%rbp),%r12d
1070 xorl %edx,%r14d
1071
1072 xorl %r8d,%edi
1073 rorl $6,%r13d
1074 movl %r8d,%ecx
1075
1076 andl %edi,%r15d
1077 rorl $2,%r14d
1078 addl %r13d,%r12d
1079
1080 xorl %r15d,%ecx
1081 addl %r12d,%r10d
1082 addl %r12d,%ecx
1083
1084 leaq 4(%rbp),%rbp
1085 movl 28(%rsp),%r13d
1086 movl 16(%rsp),%r15d
1087
1088 movl %r13d,%r12d
1089 rorl $11,%r13d
1090 addl %r14d,%ecx
1091 movl %r15d,%r14d
1092 rorl $2,%r15d
1093
1094 xorl %r12d,%r13d
1095 shrl $3,%r12d
1096 rorl $7,%r13d
1097 xorl %r14d,%r15d
1098 shrl $10,%r14d
1099
1100 rorl $17,%r15d
1101 xorl %r13d,%r12d
1102 xorl %r14d,%r15d
1103 addl 60(%rsp),%r12d
1104
1105 addl 24(%rsp),%r12d
1106 movl %r10d,%r13d
1107 addl %r15d,%r12d
1108 movl %ecx,%r14d
1109 rorl $14,%r13d
1110 movl %r11d,%r15d
1111
1112 xorl %r10d,%r13d
1113 rorl $9,%r14d
1114 xorl %eax,%r15d
1115
1116 movl %r12d,24(%rsp)
1117 xorl %ecx,%r14d
1118 andl %r10d,%r15d
1119
1120 rorl $5,%r13d
1121 addl %ebx,%r12d
1122 xorl %eax,%r15d
1123
1124 rorl $11,%r14d
1125 xorl %r10d,%r13d
1126 addl %r15d,%r12d
1127
1128 movl %ecx,%r15d
1129 addl (%rbp),%r12d
1130 xorl %ecx,%r14d
1131
1132 xorl %edx,%r15d
1133 rorl $6,%r13d
1134 movl %edx,%ebx
1135
1136 andl %r15d,%edi
1137 rorl $2,%r14d
1138 addl %r13d,%r12d
1139
1140 xorl %edi,%ebx
1141 addl %r12d,%r9d
1142 addl %r12d,%ebx
1143
1144 leaq 4(%rbp),%rbp
1145 movl 32(%rsp),%r13d
1146 movl 20(%rsp),%edi
1147
1148 movl %r13d,%r12d
1149 rorl $11,%r13d
1150 addl %r14d,%ebx
1151 movl %edi,%r14d
1152 rorl $2,%edi
1153
1154 xorl %r12d,%r13d
1155 shrl $3,%r12d
1156 rorl $7,%r13d
1157 xorl %r14d,%edi
1158 shrl $10,%r14d
1159
1160 rorl $17,%edi
1161 xorl %r13d,%r12d
1162 xorl %r14d,%edi
1163 addl 0(%rsp),%r12d
1164
1165 addl 28(%rsp),%r12d
1166 movl %r9d,%r13d
1167 addl %edi,%r12d
1168 movl %ebx,%r14d
1169 rorl $14,%r13d
1170 movl %r10d,%edi
1171
1172 xorl %r9d,%r13d
1173 rorl $9,%r14d
1174 xorl %r11d,%edi
1175
1176 movl %r12d,28(%rsp)
1177 xorl %ebx,%r14d
1178 andl %r9d,%edi
1179
1180 rorl $5,%r13d
1181 addl %eax,%r12d
1182 xorl %r11d,%edi
1183
1184 rorl $11,%r14d
1185 xorl %r9d,%r13d
1186 addl %edi,%r12d
1187
1188 movl %ebx,%edi
1189 addl (%rbp),%r12d
1190 xorl %ebx,%r14d
1191
1192 xorl %ecx,%edi
1193 rorl $6,%r13d
1194 movl %ecx,%eax
1195
1196 andl %edi,%r15d
1197 rorl $2,%r14d
1198 addl %r13d,%r12d
1199
1200 xorl %r15d,%eax
1201 addl %r12d,%r8d
1202 addl %r12d,%eax
1203
1204 leaq 20(%rbp),%rbp
1205 movl 36(%rsp),%r13d
1206 movl 24(%rsp),%r15d
1207
1208 movl %r13d,%r12d
1209 rorl $11,%r13d
1210 addl %r14d,%eax
1211 movl %r15d,%r14d
1212 rorl $2,%r15d
1213
1214 xorl %r12d,%r13d
1215 shrl $3,%r12d
1216 rorl $7,%r13d
1217 xorl %r14d,%r15d
1218 shrl $10,%r14d
1219
1220 rorl $17,%r15d
1221 xorl %r13d,%r12d
1222 xorl %r14d,%r15d
1223 addl 4(%rsp),%r12d
1224
1225 addl 32(%rsp),%r12d
1226 movl %r8d,%r13d
1227 addl %r15d,%r12d
1228 movl %eax,%r14d
1229 rorl $14,%r13d
1230 movl %r9d,%r15d
1231
1232 xorl %r8d,%r13d
1233 rorl $9,%r14d
1234 xorl %r10d,%r15d
1235
1236 movl %r12d,32(%rsp)
1237 xorl %eax,%r14d
1238 andl %r8d,%r15d
1239
1240 rorl $5,%r13d
1241 addl %r11d,%r12d
1242 xorl %r10d,%r15d
1243
1244 rorl $11,%r14d
1245 xorl %r8d,%r13d
1246 addl %r15d,%r12d
1247
1248 movl %eax,%r15d
1249 addl (%rbp),%r12d
1250 xorl %eax,%r14d
1251
1252 xorl %ebx,%r15d
1253 rorl $6,%r13d
1254 movl %ebx,%r11d
1255
1256 andl %r15d,%edi
1257 rorl $2,%r14d
1258 addl %r13d,%r12d
1259
1260 xorl %edi,%r11d
1261 addl %r12d,%edx
1262 addl %r12d,%r11d
1263
1264 leaq 4(%rbp),%rbp
1265 movl 40(%rsp),%r13d
1266 movl 28(%rsp),%edi
1267
1268 movl %r13d,%r12d
1269 rorl $11,%r13d
1270 addl %r14d,%r11d
1271 movl %edi,%r14d
1272 rorl $2,%edi
1273
1274 xorl %r12d,%r13d
1275 shrl $3,%r12d
1276 rorl $7,%r13d
1277 xorl %r14d,%edi
1278 shrl $10,%r14d
1279
1280 rorl $17,%edi
1281 xorl %r13d,%r12d
1282 xorl %r14d,%edi
1283 addl 8(%rsp),%r12d
1284
1285 addl 36(%rsp),%r12d
1286 movl %edx,%r13d
1287 addl %edi,%r12d
1288 movl %r11d,%r14d
1289 rorl $14,%r13d
1290 movl %r8d,%edi
1291
1292 xorl %edx,%r13d
1293 rorl $9,%r14d
1294 xorl %r9d,%edi
1295
1296 movl %r12d,36(%rsp)
1297 xorl %r11d,%r14d
1298 andl %edx,%edi
1299
1300 rorl $5,%r13d
1301 addl %r10d,%r12d
1302 xorl %r9d,%edi
1303
1304 rorl $11,%r14d
1305 xorl %edx,%r13d
1306 addl %edi,%r12d
1307
1308 movl %r11d,%edi
1309 addl (%rbp),%r12d
1310 xorl %r11d,%r14d
1311
1312 xorl %eax,%edi
1313 rorl $6,%r13d
1314 movl %eax,%r10d
1315
1316 andl %edi,%r15d
1317 rorl $2,%r14d
1318 addl %r13d,%r12d
1319
1320 xorl %r15d,%r10d
1321 addl %r12d,%ecx
1322 addl %r12d,%r10d
1323
1324 leaq 4(%rbp),%rbp
1325 movl 44(%rsp),%r13d
1326 movl 32(%rsp),%r15d
1327
1328 movl %r13d,%r12d
1329 rorl $11,%r13d
1330 addl %r14d,%r10d
1331 movl %r15d,%r14d
1332 rorl $2,%r15d
1333
1334 xorl %r12d,%r13d
1335 shrl $3,%r12d
1336 rorl $7,%r13d
1337 xorl %r14d,%r15d
1338 shrl $10,%r14d
1339
1340 rorl $17,%r15d
1341 xorl %r13d,%r12d
1342 xorl %r14d,%r15d
1343 addl 12(%rsp),%r12d
1344
1345 addl 40(%rsp),%r12d
1346 movl %ecx,%r13d
1347 addl %r15d,%r12d
1348 movl %r10d,%r14d
1349 rorl $14,%r13d
1350 movl %edx,%r15d
1351
1352 xorl %ecx,%r13d
1353 rorl $9,%r14d
1354 xorl %r8d,%r15d
1355
1356 movl %r12d,40(%rsp)
1357 xorl %r10d,%r14d
1358 andl %ecx,%r15d
1359
1360 rorl $5,%r13d
1361 addl %r9d,%r12d
1362 xorl %r8d,%r15d
1363
1364 rorl $11,%r14d
1365 xorl %ecx,%r13d
1366 addl %r15d,%r12d
1367
1368 movl %r10d,%r15d
1369 addl (%rbp),%r12d
1370 xorl %r10d,%r14d
1371
1372 xorl %r11d,%r15d
1373 rorl $6,%r13d
1374 movl %r11d,%r9d
1375
1376 andl %r15d,%edi
1377 rorl $2,%r14d
1378 addl %r13d,%r12d
1379
1380 xorl %edi,%r9d
1381 addl %r12d,%ebx
1382 addl %r12d,%r9d
1383
1384 leaq 4(%rbp),%rbp
1385 movl 48(%rsp),%r13d
1386 movl 36(%rsp),%edi
1387
1388 movl %r13d,%r12d
1389 rorl $11,%r13d
1390 addl %r14d,%r9d
1391 movl %edi,%r14d
1392 rorl $2,%edi
1393
1394 xorl %r12d,%r13d
1395 shrl $3,%r12d
1396 rorl $7,%r13d
1397 xorl %r14d,%edi
1398 shrl $10,%r14d
1399
1400 rorl $17,%edi
1401 xorl %r13d,%r12d
1402 xorl %r14d,%edi
1403 addl 16(%rsp),%r12d
1404
1405 addl 44(%rsp),%r12d
1406 movl %ebx,%r13d
1407 addl %edi,%r12d
1408 movl %r9d,%r14d
1409 rorl $14,%r13d
1410 movl %ecx,%edi
1411
1412 xorl %ebx,%r13d
1413 rorl $9,%r14d
1414 xorl %edx,%edi
1415
1416 movl %r12d,44(%rsp)
1417 xorl %r9d,%r14d
1418 andl %ebx,%edi
1419
1420 rorl $5,%r13d
1421 addl %r8d,%r12d
1422 xorl %edx,%edi
1423
1424 rorl $11,%r14d
1425 xorl %ebx,%r13d
1426 addl %edi,%r12d
1427
1428 movl %r9d,%edi
1429 addl (%rbp),%r12d
1430 xorl %r9d,%r14d
1431
1432 xorl %r10d,%edi
1433 rorl $6,%r13d
1434 movl %r10d,%r8d
1435
1436 andl %edi,%r15d
1437 rorl $2,%r14d
1438 addl %r13d,%r12d
1439
1440 xorl %r15d,%r8d
1441 addl %r12d,%eax
1442 addl %r12d,%r8d
1443
1444 leaq 20(%rbp),%rbp
1445 movl 52(%rsp),%r13d
1446 movl 40(%rsp),%r15d
1447
1448 movl %r13d,%r12d
1449 rorl $11,%r13d
1450 addl %r14d,%r8d
1451 movl %r15d,%r14d
1452 rorl $2,%r15d
1453
1454 xorl %r12d,%r13d
1455 shrl $3,%r12d
1456 rorl $7,%r13d
1457 xorl %r14d,%r15d
1458 shrl $10,%r14d
1459
1460 rorl $17,%r15d
1461 xorl %r13d,%r12d
1462 xorl %r14d,%r15d
1463 addl 20(%rsp),%r12d
1464
1465 addl 48(%rsp),%r12d
1466 movl %eax,%r13d
1467 addl %r15d,%r12d
1468 movl %r8d,%r14d
1469 rorl $14,%r13d
1470 movl %ebx,%r15d
1471
1472 xorl %eax,%r13d
1473 rorl $9,%r14d
1474 xorl %ecx,%r15d
1475
1476 movl %r12d,48(%rsp)
1477 xorl %r8d,%r14d
1478 andl %eax,%r15d
1479
1480 rorl $5,%r13d
1481 addl %edx,%r12d
1482 xorl %ecx,%r15d
1483
1484 rorl $11,%r14d
1485 xorl %eax,%r13d
1486 addl %r15d,%r12d
1487
1488 movl %r8d,%r15d
1489 addl (%rbp),%r12d
1490 xorl %r8d,%r14d
1491
1492 xorl %r9d,%r15d
1493 rorl $6,%r13d
1494 movl %r9d,%edx
1495
1496 andl %r15d,%edi
1497 rorl $2,%r14d
1498 addl %r13d,%r12d
1499
1500 xorl %edi,%edx
1501 addl %r12d,%r11d
1502 addl %r12d,%edx
1503
1504 leaq 4(%rbp),%rbp
1505 movl 56(%rsp),%r13d
1506 movl 44(%rsp),%edi
1507
1508 movl %r13d,%r12d
1509 rorl $11,%r13d
1510 addl %r14d,%edx
1511 movl %edi,%r14d
1512 rorl $2,%edi
1513
1514 xorl %r12d,%r13d
1515 shrl $3,%r12d
1516 rorl $7,%r13d
1517 xorl %r14d,%edi
1518 shrl $10,%r14d
1519
1520 rorl $17,%edi
1521 xorl %r13d,%r12d
1522 xorl %r14d,%edi
1523 addl 24(%rsp),%r12d
1524
1525 addl 52(%rsp),%r12d
1526 movl %r11d,%r13d
1527 addl %edi,%r12d
1528 movl %edx,%r14d
1529 rorl $14,%r13d
1530 movl %eax,%edi
1531
1532 xorl %r11d,%r13d
1533 rorl $9,%r14d
1534 xorl %ebx,%edi
1535
1536 movl %r12d,52(%rsp)
1537 xorl %edx,%r14d
1538 andl %r11d,%edi
1539
1540 rorl $5,%r13d
1541 addl %ecx,%r12d
1542 xorl %ebx,%edi
1543
1544 rorl $11,%r14d
1545 xorl %r11d,%r13d
1546 addl %edi,%r12d
1547
1548 movl %edx,%edi
1549 addl (%rbp),%r12d
1550 xorl %edx,%r14d
1551
1552 xorl %r8d,%edi
1553 rorl $6,%r13d
1554 movl %r8d,%ecx
1555
1556 andl %edi,%r15d
1557 rorl $2,%r14d
1558 addl %r13d,%r12d
1559
1560 xorl %r15d,%ecx
1561 addl %r12d,%r10d
1562 addl %r12d,%ecx
1563
1564 leaq 4(%rbp),%rbp
1565 movl 60(%rsp),%r13d
1566 movl 48(%rsp),%r15d
1567
1568 movl %r13d,%r12d
1569 rorl $11,%r13d
1570 addl %r14d,%ecx
1571 movl %r15d,%r14d
1572 rorl $2,%r15d
1573
1574 xorl %r12d,%r13d
1575 shrl $3,%r12d
1576 rorl $7,%r13d
1577 xorl %r14d,%r15d
1578 shrl $10,%r14d
1579
1580 rorl $17,%r15d
1581 xorl %r13d,%r12d
1582 xorl %r14d,%r15d
1583 addl 28(%rsp),%r12d
1584
1585 addl 56(%rsp),%r12d
1586 movl %r10d,%r13d
1587 addl %r15d,%r12d
1588 movl %ecx,%r14d
1589 rorl $14,%r13d
1590 movl %r11d,%r15d
1591
1592 xorl %r10d,%r13d
1593 rorl $9,%r14d
1594 xorl %eax,%r15d
1595
1596 movl %r12d,56(%rsp)
1597 xorl %ecx,%r14d
1598 andl %r10d,%r15d
1599
1600 rorl $5,%r13d
1601 addl %ebx,%r12d
1602 xorl %eax,%r15d
1603
1604 rorl $11,%r14d
1605 xorl %r10d,%r13d
1606 addl %r15d,%r12d
1607
1608 movl %ecx,%r15d
1609 addl (%rbp),%r12d
1610 xorl %ecx,%r14d
1611
1612 xorl %edx,%r15d
1613 rorl $6,%r13d
1614 movl %edx,%ebx
1615
1616 andl %r15d,%edi
1617 rorl $2,%r14d
1618 addl %r13d,%r12d
1619
1620 xorl %edi,%ebx
1621 addl %r12d,%r9d
1622 addl %r12d,%ebx
1623
1624 leaq 4(%rbp),%rbp
1625 movl 0(%rsp),%r13d
1626 movl 52(%rsp),%edi
1627
1628 movl %r13d,%r12d
1629 rorl $11,%r13d
1630 addl %r14d,%ebx
1631 movl %edi,%r14d
1632 rorl $2,%edi
1633
1634 xorl %r12d,%r13d
1635 shrl $3,%r12d
1636 rorl $7,%r13d
1637 xorl %r14d,%edi
1638 shrl $10,%r14d
1639
1640 rorl $17,%edi
1641 xorl %r13d,%r12d
1642 xorl %r14d,%edi
1643 addl 32(%rsp),%r12d
1644
1645 addl 60(%rsp),%r12d
1646 movl %r9d,%r13d
1647 addl %edi,%r12d
1648 movl %ebx,%r14d
1649 rorl $14,%r13d
1650 movl %r10d,%edi
1651
1652 xorl %r9d,%r13d
1653 rorl $9,%r14d
1654 xorl %r11d,%edi
1655
1656 movl %r12d,60(%rsp)
1657 xorl %ebx,%r14d
1658 andl %r9d,%edi
1659
1660 rorl $5,%r13d
1661 addl %eax,%r12d
1662 xorl %r11d,%edi
1663
1664 rorl $11,%r14d
1665 xorl %r9d,%r13d
1666 addl %edi,%r12d
1667
1668 movl %ebx,%edi
1669 addl (%rbp),%r12d
1670 xorl %ebx,%r14d
1671
1672 xorl %ecx,%edi
1673 rorl $6,%r13d
1674 movl %ecx,%eax
1675
1676 andl %edi,%r15d
1677 rorl $2,%r14d
1678 addl %r13d,%r12d
1679
1680 xorl %r15d,%eax
1681 addl %r12d,%r8d
1682 addl %r12d,%eax
1683
1684 leaq 20(%rbp),%rbp
1685 cmpb $0,3(%rbp)
1686 jnz .Lrounds_16_xx
1687
1688 movq 64+0(%rsp),%rdi
1689 addl %r14d,%eax
1690 leaq 64(%rsi),%rsi
1691
1692 addl 0(%rdi),%eax
1693 addl 4(%rdi),%ebx
1694 addl 8(%rdi),%ecx
1695 addl 12(%rdi),%edx
1696 addl 16(%rdi),%r8d
1697 addl 20(%rdi),%r9d
1698 addl 24(%rdi),%r10d
1699 addl 28(%rdi),%r11d
1700
1701 cmpq 64+16(%rsp),%rsi
1702
1703 movl %eax,0(%rdi)
1704 movl %ebx,4(%rdi)
1705 movl %ecx,8(%rdi)
1706 movl %edx,12(%rdi)
1707 movl %r8d,16(%rdi)
1708 movl %r9d,20(%rdi)
1709 movl %r10d,24(%rdi)
1710 movl %r11d,28(%rdi)
1711 jb .Lloop
1712
1713 movq 88(%rsp),%rsi
1714 .cfi_def_cfa %rsi,8
1715 movq -48(%rsi),%r15
1716 .cfi_restore %r15
1717 movq -40(%rsi),%r14
1718 .cfi_restore %r14
1719 movq -32(%rsi),%r13
1720 .cfi_restore %r13
1721 movq -24(%rsi),%r12
1722 .cfi_restore %r12
1723 movq -16(%rsi),%rbp
1724 .cfi_restore %rbp
1725 movq -8(%rsi),%rbx
1726 .cfi_restore %rbx
1727 leaq (%rsi),%rsp
1728 .cfi_def_cfa_register %rsp
1729 .Lepilogue:
1730 .byte 0xf3,0xc3
1731 .cfi_endproc
1732 .size sha256_block_data_order,.-sha256_block_data_order
1733 .align 64
1734 .type K256,@object
1735 K256:
1736 .long 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
1737 .long 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
1738 .long 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
1739 .long 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
1740 .long 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
1741 .long 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
1742 .long 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
1743 .long 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
1744 .long 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
1745 .long 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
1746 .long 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
1747 .long 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
1748 .long 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
1749 .long 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
1750 .long 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
1751 .long 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
1752 .long 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
1753 .long 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
1754 .long 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
1755 .long 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
1756 .long 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
1757 .long 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
1758 .long 0xd192e819,0xd6990624,0xf40e3585,0x106aa070
1759 .long 0xd192e819,0xd6990624,0xf40e3585,0x106aa070
1760 .long 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
1761 .long 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
1762 .long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
1763 .long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
1764 .long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
1765 .long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
1766 .long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
1767 .long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
1768
1769 .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
1770 .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
1771 .long 0x03020100,0x0b0a0908,0xffffffff,0xffffffff
1772 .long 0x03020100,0x0b0a0908,0xffffffff,0xffffffff
1773 .long 0xffffffff,0xffffffff,0x03020100,0x0b0a0908
1774 .long 0xffffffff,0xffffffff,0x03020100,0x0b0a0908
1775 .byte 83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
1776 .type sha256_block_data_order_shaext,@function
1777 .align 64
1778 sha256_block_data_order_shaext:
1779 _shaext_shortcut:
1780 .cfi_startproc
1781 leaq K256+128(%rip),%rcx
1782 movdqu (%rdi),%xmm1
1783 movdqu 16(%rdi),%xmm2
1784 movdqa 512-128(%rcx),%xmm7
1785
1786 pshufd $0x1b,%xmm1,%xmm0
1787 pshufd $0xb1,%xmm1,%xmm1
1788 pshufd $0x1b,%xmm2,%xmm2
1789 movdqa %xmm7,%xmm8
1790 .byte 102,15,58,15,202,8
1791 punpcklqdq %xmm0,%xmm2
1792 jmp .Loop_shaext
1793
1794 .align 16
1795 .Loop_shaext:
1796 movdqu (%rsi),%xmm3
1797 movdqu 16(%rsi),%xmm4
1798 movdqu 32(%rsi),%xmm5
1799 .byte 102,15,56,0,223
1800 movdqu 48(%rsi),%xmm6
1801
1802 movdqa 0-128(%rcx),%xmm0
1803 paddd %xmm3,%xmm0
1804 .byte 102,15,56,0,231
1805 movdqa %xmm2,%xmm10
1806 .byte 15,56,203,209
1807 pshufd $0x0e,%xmm0,%xmm0
1808 nop
1809 movdqa %xmm1,%xmm9
1810 .byte 15,56,203,202
1811
1812 movdqa 32-128(%rcx),%xmm0
1813 paddd %xmm4,%xmm0
1814 .byte 102,15,56,0,239
1815 .byte 15,56,203,209
1816 pshufd $0x0e,%xmm0,%xmm0
1817 leaq 64(%rsi),%rsi
1818 .byte 15,56,204,220
1819 .byte 15,56,203,202
1820
1821 movdqa 64-128(%rcx),%xmm0
1822 paddd %xmm5,%xmm0
1823 .byte 102,15,56,0,247
1824 .byte 15,56,203,209
1825 pshufd $0x0e,%xmm0,%xmm0
1826 movdqa %xmm6,%xmm7
1827 .byte 102,15,58,15,253,4
1828 nop
1829 paddd %xmm7,%xmm3
1830 .byte 15,56,204,229
1831 .byte 15,56,203,202
1832
1833 movdqa 96-128(%rcx),%xmm0
1834 paddd %xmm6,%xmm0
1835 .byte 15,56,205,222
1836 .byte 15,56,203,209
1837 pshufd $0x0e,%xmm0,%xmm0
1838 movdqa %xmm3,%xmm7
1839 .byte 102,15,58,15,254,4
1840 nop
1841 paddd %xmm7,%xmm4
1842 .byte 15,56,204,238
1843 .byte 15,56,203,202
1844 movdqa 128-128(%rcx),%xmm0
1845 paddd %xmm3,%xmm0
1846 .byte 15,56,205,227
1847 .byte 15,56,203,209
1848 pshufd $0x0e,%xmm0,%xmm0
1849 movdqa %xmm4,%xmm7
1850 .byte 102,15,58,15,251,4
1851 nop
1852 paddd %xmm7,%xmm5
1853 .byte 15,56,204,243
1854 .byte 15,56,203,202
1855 movdqa 160-128(%rcx),%xmm0
1856 paddd %xmm4,%xmm0
1857 .byte 15,56,205,236
1858 .byte 15,56,203,209
1859 pshufd $0x0e,%xmm0,%xmm0
1860 movdqa %xmm5,%xmm7
1861 .byte 102,15,58,15,252,4
1862 nop
1863 paddd %xmm7,%xmm6
1864 .byte 15,56,204,220
1865 .byte 15,56,203,202
1866 movdqa 192-128(%rcx),%xmm0
1867 paddd %xmm5,%xmm0
1868 .byte 15,56,205,245
1869 .byte 15,56,203,209
1870 pshufd $0x0e,%xmm0,%xmm0
1871 movdqa %xmm6,%xmm7
1872 .byte 102,15,58,15,253,4
1873 nop
1874 paddd %xmm7,%xmm3
1875 .byte 15,56,204,229
1876 .byte 15,56,203,202
1877 movdqa 224-128(%rcx),%xmm0
1878 paddd %xmm6,%xmm0
1879 .byte 15,56,205,222
1880 .byte 15,56,203,209
1881 pshufd $0x0e,%xmm0,%xmm0
1882 movdqa %xmm3,%xmm7
1883 .byte 102,15,58,15,254,4
1884 nop
1885 paddd %xmm7,%xmm4
1886 .byte 15,56,204,238
1887 .byte 15,56,203,202
1888 movdqa 256-128(%rcx),%xmm0
1889 paddd %xmm3,%xmm0
1890 .byte 15,56,205,227
1891 .byte 15,56,203,209
1892 pshufd $0x0e,%xmm0,%xmm0
1893 movdqa %xmm4,%xmm7
1894 .byte 102,15,58,15,251,4
1895 nop
1896 paddd %xmm7,%xmm5
1897 .byte 15,56,204,243
1898 .byte 15,56,203,202
1899 movdqa 288-128(%rcx),%xmm0
1900 paddd %xmm4,%xmm0
1901 .byte 15,56,205,236
1902 .byte 15,56,203,209
1903 pshufd $0x0e,%xmm0,%xmm0
1904 movdqa %xmm5,%xmm7
1905 .byte 102,15,58,15,252,4
1906 nop
1907 paddd %xmm7,%xmm6
1908 .byte 15,56,204,220
1909 .byte 15,56,203,202
1910 movdqa 320-128(%rcx),%xmm0
1911 paddd %xmm5,%xmm0
1912 .byte 15,56,205,245
1913 .byte 15,56,203,209
1914 pshufd $0x0e,%xmm0,%xmm0
1915 movdqa %xmm6,%xmm7
1916 .byte 102,15,58,15,253,4
1917 nop
1918 paddd %xmm7,%xmm3
1919 .byte 15,56,204,229
1920 .byte 15,56,203,202
1921 movdqa 352-128(%rcx),%xmm0
1922 paddd %xmm6,%xmm0
1923 .byte 15,56,205,222
1924 .byte 15,56,203,209
1925 pshufd $0x0e,%xmm0,%xmm0
1926 movdqa %xmm3,%xmm7
1927 .byte 102,15,58,15,254,4
1928 nop
1929 paddd %xmm7,%xmm4
1930 .byte 15,56,204,238
1931 .byte 15,56,203,202
1932 movdqa 384-128(%rcx),%xmm0
1933 paddd %xmm3,%xmm0
1934 .byte 15,56,205,227
1935 .byte 15,56,203,209
1936 pshufd $0x0e,%xmm0,%xmm0
1937 movdqa %xmm4,%xmm7
1938 .byte 102,15,58,15,251,4
1939 nop
1940 paddd %xmm7,%xmm5
1941 .byte 15,56,204,243
1942 .byte 15,56,203,202
1943 movdqa 416-128(%rcx),%xmm0
1944 paddd %xmm4,%xmm0
1945 .byte 15,56,205,236
1946 .byte 15,56,203,209
1947 pshufd $0x0e,%xmm0,%xmm0
1948 movdqa %xmm5,%xmm7
1949 .byte 102,15,58,15,252,4
1950 .byte 15,56,203,202
1951 paddd %xmm7,%xmm6
1952
1953 movdqa 448-128(%rcx),%xmm0
1954 paddd %xmm5,%xmm0
1955 .byte 15,56,203,209
1956 pshufd $0x0e,%xmm0,%xmm0
1957 .byte 15,56,205,245
1958 movdqa %xmm8,%xmm7
1959 .byte 15,56,203,202
1960
1961 movdqa 480-128(%rcx),%xmm0
1962 paddd %xmm6,%xmm0
1963 nop
1964 .byte 15,56,203,209
1965 pshufd $0x0e,%xmm0,%xmm0
1966 decq %rdx
1967 nop
1968 .byte 15,56,203,202
1969
1970 paddd %xmm10,%xmm2
1971 paddd %xmm9,%xmm1
1972 jnz .Loop_shaext
1973
1974 pshufd $0xb1,%xmm2,%xmm2
1975 pshufd $0x1b,%xmm1,%xmm7
1976 pshufd $0xb1,%xmm1,%xmm1
1977 punpckhqdq %xmm2,%xmm1
1978 .byte 102,15,58,15,215,8
1979
1980 movdqu %xmm1,(%rdi)
1981 movdqu %xmm2,16(%rdi)
1982 .byte 0xf3,0xc3
1983 .cfi_endproc
1984 .size sha256_block_data_order_shaext,.-sha256_block_data_order_shaext
1985 .type sha256_block_data_order_ssse3,@function
1986 .align 64
1987 sha256_block_data_order_ssse3:
1988 .cfi_startproc
1989 .Lssse3_shortcut:
1990 movq %rsp,%rax
1991 .cfi_def_cfa_register %rax
1992 pushq %rbx
1993 .cfi_offset %rbx,-16
1994 pushq %rbp
1995 .cfi_offset %rbp,-24
1996 pushq %r12
1997 .cfi_offset %r12,-32
1998 pushq %r13
1999 .cfi_offset %r13,-40
2000 pushq %r14
2001 .cfi_offset %r14,-48
2002 pushq %r15
2003 .cfi_offset %r15,-56
2004 shlq $4,%rdx
2005 subq $96,%rsp
2006 leaq (%rsi,%rdx,4),%rdx
2007 andq $-64,%rsp
2008 movq %rdi,64+0(%rsp)
2009 movq %rsi,64+8(%rsp)
2010 movq %rdx,64+16(%rsp)
2011 movq %rax,88(%rsp)
2012 .cfi_escape 0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
2013 .Lprologue_ssse3:
2014
2015 movl 0(%rdi),%eax
2016 movl 4(%rdi),%ebx
2017 movl 8(%rdi),%ecx
2018 movl 12(%rdi),%edx
2019 movl 16(%rdi),%r8d
2020 movl 20(%rdi),%r9d
2021 movl 24(%rdi),%r10d
2022 movl 28(%rdi),%r11d
2023
2024
2025 jmp .Lloop_ssse3
2026 .align 16
2027 .Lloop_ssse3:
2028 movdqa K256+512(%rip),%xmm7
2029 movdqu 0(%rsi),%xmm0
2030 movdqu 16(%rsi),%xmm1
2031 movdqu 32(%rsi),%xmm2
2032 .byte 102,15,56,0,199
2033 movdqu 48(%rsi),%xmm3
2034 leaq K256(%rip),%rbp
2035 .byte 102,15,56,0,207
2036 movdqa 0(%rbp),%xmm4
2037 movdqa 32(%rbp),%xmm5
2038 .byte 102,15,56,0,215
2039 paddd %xmm0,%xmm4
2040 movdqa 64(%rbp),%xmm6
2041 .byte 102,15,56,0,223
2042 movdqa 96(%rbp),%xmm7
2043 paddd %xmm1,%xmm5
2044 paddd %xmm2,%xmm6
2045 paddd %xmm3,%xmm7
2046 movdqa %xmm4,0(%rsp)
2047 movl %eax,%r14d
2048 movdqa %xmm5,16(%rsp)
2049 movl %ebx,%edi
2050 movdqa %xmm6,32(%rsp)
2051 xorl %ecx,%edi
2052 movdqa %xmm7,48(%rsp)
2053 movl %r8d,%r13d
2054 jmp .Lssse3_00_47
2055
2056 .align 16
2057 .Lssse3_00_47:
2058 subq $-128,%rbp
2059 rorl $14,%r13d
2060 movdqa %xmm1,%xmm4
2061 movl %r14d,%eax
2062 movl %r9d,%r12d
2063 movdqa %xmm3,%xmm7
2064 rorl $9,%r14d
2065 xorl %r8d,%r13d
2066 xorl %r10d,%r12d
2067 rorl $5,%r13d
2068 xorl %eax,%r14d
2069 .byte 102,15,58,15,224,4
2070 andl %r8d,%r12d
2071 xorl %r8d,%r13d
2072 .byte 102,15,58,15,250,4
2073 addl 0(%rsp),%r11d
2074 movl %eax,%r15d
2075 xorl %r10d,%r12d
2076 rorl $11,%r14d
2077 movdqa %xmm4,%xmm5
2078 xorl %ebx,%r15d
2079 addl %r12d,%r11d
2080 movdqa %xmm4,%xmm6
2081 rorl $6,%r13d
2082 andl %r15d,%edi
2083 psrld $3,%xmm4
2084 xorl %eax,%r14d
2085 addl %r13d,%r11d
2086 xorl %ebx,%edi
2087 paddd %xmm7,%xmm0
2088 rorl $2,%r14d
2089 addl %r11d,%edx
2090 psrld $7,%xmm6
2091 addl %edi,%r11d
2092 movl %edx,%r13d
2093 pshufd $250,%xmm3,%xmm7
2094 addl %r11d,%r14d
2095 rorl $14,%r13d
2096 pslld $14,%xmm5
2097 movl %r14d,%r11d
2098 movl %r8d,%r12d
2099 pxor %xmm6,%xmm4
2100 rorl $9,%r14d
2101 xorl %edx,%r13d
2102 xorl %r9d,%r12d
2103 rorl $5,%r13d
2104 psrld $11,%xmm6
2105 xorl %r11d,%r14d
2106 pxor %xmm5,%xmm4
2107 andl %edx,%r12d
2108 xorl %edx,%r13d
2109 pslld $11,%xmm5
2110 addl 4(%rsp),%r10d
2111 movl %r11d,%edi
2112 pxor %xmm6,%xmm4
2113 xorl %r9d,%r12d
2114 rorl $11,%r14d
2115 movdqa %xmm7,%xmm6
2116 xorl %eax,%edi
2117 addl %r12d,%r10d
2118 pxor %xmm5,%xmm4
2119 rorl $6,%r13d
2120 andl %edi,%r15d
2121 xorl %r11d,%r14d
2122 psrld $10,%xmm7
2123 addl %r13d,%r10d
2124 xorl %eax,%r15d
2125 paddd %xmm4,%xmm0
2126 rorl $2,%r14d
2127 addl %r10d,%ecx
2128 psrlq $17,%xmm6
2129 addl %r15d,%r10d
2130 movl %ecx,%r13d
2131 addl %r10d,%r14d
2132 pxor %xmm6,%xmm7
2133 rorl $14,%r13d
2134 movl %r14d,%r10d
2135 movl %edx,%r12d
2136 rorl $9,%r14d
2137 psrlq $2,%xmm6
2138 xorl %ecx,%r13d
2139 xorl %r8d,%r12d
2140 pxor %xmm6,%xmm7
2141 rorl $5,%r13d
2142 xorl %r10d,%r14d
2143 andl %ecx,%r12d
2144 pshufd $128,%xmm7,%xmm7
2145 xorl %ecx,%r13d
2146 addl 8(%rsp),%r9d
2147 movl %r10d,%r15d
2148 psrldq $8,%xmm7
2149 xorl %r8d,%r12d
2150 rorl $11,%r14d
2151 xorl %r11d,%r15d
2152 addl %r12d,%r9d
2153 rorl $6,%r13d
2154 paddd %xmm7,%xmm0
2155 andl %r15d,%edi
2156 xorl %r10d,%r14d
2157 addl %r13d,%r9d
2158 pshufd $80,%xmm0,%xmm7
2159 xorl %r11d,%edi
2160 rorl $2,%r14d
2161 addl %r9d,%ebx
2162 movdqa %xmm7,%xmm6
2163 addl %edi,%r9d
2164 movl %ebx,%r13d
2165 psrld $10,%xmm7
2166 addl %r9d,%r14d
2167 rorl $14,%r13d
2168 psrlq $17,%xmm6
2169 movl %r14d,%r9d
2170 movl %ecx,%r12d
2171 pxor %xmm6,%xmm7
2172 rorl $9,%r14d
2173 xorl %ebx,%r13d
2174 xorl %edx,%r12d
2175 rorl $5,%r13d
2176 xorl %r9d,%r14d
2177 psrlq $2,%xmm6
2178 andl %ebx,%r12d
2179 xorl %ebx,%r13d
2180 addl 12(%rsp),%r8d
2181 pxor %xmm6,%xmm7
2182 movl %r9d,%edi
2183 xorl %edx,%r12d
2184 rorl $11,%r14d
2185 pshufd $8,%xmm7,%xmm7
2186 xorl %r10d,%edi
2187 addl %r12d,%r8d
2188 movdqa 0(%rbp),%xmm6
2189 rorl $6,%r13d
2190 andl %edi,%r15d
2191 pslldq $8,%xmm7
2192 xorl %r9d,%r14d
2193 addl %r13d,%r8d
2194 xorl %r10d,%r15d
2195 paddd %xmm7,%xmm0
2196 rorl $2,%r14d
2197 addl %r8d,%eax
2198 addl %r15d,%r8d
2199 paddd %xmm0,%xmm6
2200 movl %eax,%r13d
2201 addl %r8d,%r14d
2202 movdqa %xmm6,0(%rsp)
2203 rorl $14,%r13d
2204 movdqa %xmm2,%xmm4
2205 movl %r14d,%r8d
2206 movl %ebx,%r12d
2207 movdqa %xmm0,%xmm7
2208 rorl $9,%r14d
2209 xorl %eax,%r13d
2210 xorl %ecx,%r12d
2211 rorl $5,%r13d
2212 xorl %r8d,%r14d
2213 .byte 102,15,58,15,225,4
2214 andl %eax,%r12d
2215 xorl %eax,%r13d
2216 .byte 102,15,58,15,251,4
2217 addl 16(%rsp),%edx
2218 movl %r8d,%r15d
2219 xorl %ecx,%r12d
2220 rorl $11,%r14d
2221 movdqa %xmm4,%xmm5
2222 xorl %r9d,%r15d
2223 addl %r12d,%edx
2224 movdqa %xmm4,%xmm6
2225 rorl $6,%r13d
2226 andl %r15d,%edi
2227 psrld $3,%xmm4
2228 xorl %r8d,%r14d
2229 addl %r13d,%edx
2230 xorl %r9d,%edi
2231 paddd %xmm7,%xmm1
2232 rorl $2,%r14d
2233 addl %edx,%r11d
2234 psrld $7,%xmm6
2235 addl %edi,%edx
2236 movl %r11d,%r13d
2237 pshufd $250,%xmm0,%xmm7
2238 addl %edx,%r14d
2239 rorl $14,%r13d
2240 pslld $14,%xmm5
2241 movl %r14d,%edx
2242 movl %eax,%r12d
2243 pxor %xmm6,%xmm4
2244 rorl $9,%r14d
2245 xorl %r11d,%r13d
2246 xorl %ebx,%r12d
2247 rorl $5,%r13d
2248 psrld $11,%xmm6
2249 xorl %edx,%r14d
2250 pxor %xmm5,%xmm4
2251 andl %r11d,%r12d
2252 xorl %r11d,%r13d
2253 pslld $11,%xmm5
2254 addl 20(%rsp),%ecx
2255 movl %edx,%edi
2256 pxor %xmm6,%xmm4
2257 xorl %ebx,%r12d
2258 rorl $11,%r14d
2259 movdqa %xmm7,%xmm6
2260 xorl %r8d,%edi
2261 addl %r12d,%ecx
2262 pxor %xmm5,%xmm4
2263 rorl $6,%r13d
2264 andl %edi,%r15d
2265 xorl %edx,%r14d
2266 psrld $10,%xmm7
2267 addl %r13d,%ecx
2268 xorl %r8d,%r15d
2269 paddd %xmm4,%xmm1
2270 rorl $2,%r14d
2271 addl %ecx,%r10d
2272 psrlq $17,%xmm6
2273 addl %r15d,%ecx
2274 movl %r10d,%r13d
2275 addl %ecx,%r14d
2276 pxor %xmm6,%xmm7
2277 rorl $14,%r13d
2278 movl %r14d,%ecx
2279 movl %r11d,%r12d
2280 rorl $9,%r14d
2281 psrlq $2,%xmm6
2282 xorl %r10d,%r13d
2283 xorl %eax,%r12d
2284 pxor %xmm6,%xmm7
2285 rorl $5,%r13d
2286 xorl %ecx,%r14d
2287 andl %r10d,%r12d
2288 pshufd $128,%xmm7,%xmm7
2289 xorl %r10d,%r13d
2290 addl 24(%rsp),%ebx
2291 movl %ecx,%r15d
2292 psrldq $8,%xmm7
2293 xorl %eax,%r12d
2294 rorl $11,%r14d
2295 xorl %edx,%r15d
2296 addl %r12d,%ebx
2297 rorl $6,%r13d
2298 paddd %xmm7,%xmm1
2299 andl %r15d,%edi
2300 xorl %ecx,%r14d
2301 addl %r13d,%ebx
2302 pshufd $80,%xmm1,%xmm7
2303 xorl %edx,%edi
2304 rorl $2,%r14d
2305 addl %ebx,%r9d
2306 movdqa %xmm7,%xmm6
2307 addl %edi,%ebx
2308 movl %r9d,%r13d
2309 psrld $10,%xmm7
2310 addl %ebx,%r14d
2311 rorl $14,%r13d
2312 psrlq $17,%xmm6
2313 movl %r14d,%ebx
2314 movl %r10d,%r12d
2315 pxor %xmm6,%xmm7
2316 rorl $9,%r14d
2317 xorl %r9d,%r13d
2318 xorl %r11d,%r12d
2319 rorl $5,%r13d
2320 xorl %ebx,%r14d
2321 psrlq $2,%xmm6
2322 andl %r9d,%r12d
2323 xorl %r9d,%r13d
2324 addl 28(%rsp),%eax
2325 pxor %xmm6,%xmm7
2326 movl %ebx,%edi
2327 xorl %r11d,%r12d
2328 rorl $11,%r14d
2329 pshufd $8,%xmm7,%xmm7
2330 xorl %ecx,%edi
2331 addl %r12d,%eax
2332 movdqa 32(%rbp),%xmm6
2333 rorl $6,%r13d
2334 andl %edi,%r15d
2335 pslldq $8,%xmm7
2336 xorl %ebx,%r14d
2337 addl %r13d,%eax
2338 xorl %ecx,%r15d
2339 paddd %xmm7,%xmm1
2340 rorl $2,%r14d
2341 addl %eax,%r8d
2342 addl %r15d,%eax
2343 paddd %xmm1,%xmm6
2344 movl %r8d,%r13d
2345 addl %eax,%r14d
2346 movdqa %xmm6,16(%rsp)
2347 rorl $14,%r13d
2348 movdqa %xmm3,%xmm4
2349 movl %r14d,%eax
2350 movl %r9d,%r12d
2351 movdqa %xmm1,%xmm7
2352 rorl $9,%r14d
2353 xorl %r8d,%r13d
2354 xorl %r10d,%r12d
2355 rorl $5,%r13d
2356 xorl %eax,%r14d
2357 .byte 102,15,58,15,226,4
2358 andl %r8d,%r12d
2359 xorl %r8d,%r13d
2360 .byte 102,15,58,15,248,4
2361 addl 32(%rsp),%r11d
2362 movl %eax,%r15d
2363 xorl %r10d,%r12d
2364 rorl $11,%r14d
2365 movdqa %xmm4,%xmm5
2366 xorl %ebx,%r15d
2367 addl %r12d,%r11d
2368 movdqa %xmm4,%xmm6
2369 rorl $6,%r13d
2370 andl %r15d,%edi
2371 psrld $3,%xmm4
2372 xorl %eax,%r14d
2373 addl %r13d,%r11d
2374 xorl %ebx,%edi
2375 paddd %xmm7,%xmm2
2376 rorl $2,%r14d
2377 addl %r11d,%edx
2378 psrld $7,%xmm6
2379 addl %edi,%r11d
2380 movl %edx,%r13d
2381 pshufd $250,%xmm1,%xmm7
2382 addl %r11d,%r14d
2383 rorl $14,%r13d
2384 pslld $14,%xmm5
2385 movl %r14d,%r11d
2386 movl %r8d,%r12d
2387 pxor %xmm6,%xmm4
2388 rorl $9,%r14d
2389 xorl %edx,%r13d
2390 xorl %r9d,%r12d
2391 rorl $5,%r13d
2392 psrld $11,%xmm6
2393 xorl %r11d,%r14d
2394 pxor %xmm5,%xmm4
2395 andl %edx,%r12d
2396 xorl %edx,%r13d
2397 pslld $11,%xmm5
2398 addl 36(%rsp),%r10d
2399 movl %r11d,%edi
2400 pxor %xmm6,%xmm4
2401 xorl %r9d,%r12d
2402 rorl $11,%r14d
2403 movdqa %xmm7,%xmm6
2404 xorl %eax,%edi
2405 addl %r12d,%r10d
2406 pxor %xmm5,%xmm4
2407 rorl $6,%r13d
2408 andl %edi,%r15d
2409 xorl %r11d,%r14d
2410 psrld $10,%xmm7
2411 addl %r13d,%r10d
2412 xorl %eax,%r15d
2413 paddd %xmm4,%xmm2
2414 rorl $2,%r14d
2415 addl %r10d,%ecx
2416 psrlq $17,%xmm6
2417 addl %r15d,%r10d
2418 movl %ecx,%r13d
2419 addl %r10d,%r14d
2420 pxor %xmm6,%xmm7
2421 rorl $14,%r13d
2422 movl %r14d,%r10d
2423 movl %edx,%r12d
2424 rorl $9,%r14d
2425 psrlq $2,%xmm6
2426 xorl %ecx,%r13d
2427 xorl %r8d,%r12d
2428 pxor %xmm6,%xmm7
2429 rorl $5,%r13d
2430 xorl %r10d,%r14d
2431 andl %ecx,%r12d
2432 pshufd $128,%xmm7,%xmm7
2433 xorl %ecx,%r13d
2434 addl 40(%rsp),%r9d
2435 movl %r10d,%r15d
2436 psrldq $8,%xmm7
2437 xorl %r8d,%r12d
2438 rorl $11,%r14d
2439 xorl %r11d,%r15d
2440 addl %r12d,%r9d
2441 rorl $6,%r13d
2442 paddd %xmm7,%xmm2
2443 andl %r15d,%edi
2444 xorl %r10d,%r14d
2445 addl %r13d,%r9d
2446 pshufd $80,%xmm2,%xmm7
2447 xorl %r11d,%edi
2448 rorl $2,%r14d
2449 addl %r9d,%ebx
2450 movdqa %xmm7,%xmm6
2451 addl %edi,%r9d
2452 movl %ebx,%r13d
2453 psrld $10,%xmm7
2454 addl %r9d,%r14d
2455 rorl $14,%r13d
2456 psrlq $17,%xmm6
2457 movl %r14d,%r9d
2458 movl %ecx,%r12d
2459 pxor %xmm6,%xmm7
2460 rorl $9,%r14d
2461 xorl %ebx,%r13d
2462 xorl %edx,%r12d
2463 rorl $5,%r13d
2464 xorl %r9d,%r14d
2465 psrlq $2,%xmm6
2466 andl %ebx,%r12d
2467 xorl %ebx,%r13d
2468 addl 44(%rsp),%r8d
2469 pxor %xmm6,%xmm7
2470 movl %r9d,%edi
2471 xorl %edx,%r12d
2472 rorl $11,%r14d
2473 pshufd $8,%xmm7,%xmm7
2474 xorl %r10d,%edi
2475 addl %r12d,%r8d
2476 movdqa 64(%rbp),%xmm6
2477 rorl $6,%r13d
2478 andl %edi,%r15d
2479 pslldq $8,%xmm7
2480 xorl %r9d,%r14d
2481 addl %r13d,%r8d
2482 xorl %r10d,%r15d
2483 paddd %xmm7,%xmm2
2484 rorl $2,%r14d
2485 addl %r8d,%eax
2486 addl %r15d,%r8d
2487 paddd %xmm2,%xmm6
2488 movl %eax,%r13d
2489 addl %r8d,%r14d
2490 movdqa %xmm6,32(%rsp)
2491 rorl $14,%r13d
2492 movdqa %xmm0,%xmm4
2493 movl %r14d,%r8d
2494 movl %ebx,%r12d
2495 movdqa %xmm2,%xmm7
2496 rorl $9,%r14d
2497 xorl %eax,%r13d
2498 xorl %ecx,%r12d
2499 rorl $5,%r13d
2500 xorl %r8d,%r14d
2501 .byte 102,15,58,15,227,4
2502 andl %eax,%r12d
2503 xorl %eax,%r13d
2504 .byte 102,15,58,15,249,4
2505 addl 48(%rsp),%edx
2506 movl %r8d,%r15d
2507 xorl %ecx,%r12d
2508 rorl $11,%r14d
2509 movdqa %xmm4,%xmm5
2510 xorl %r9d,%r15d
2511 addl %r12d,%edx
2512 movdqa %xmm4,%xmm6
2513 rorl $6,%r13d
2514 andl %r15d,%edi
2515 psrld $3,%xmm4
2516 xorl %r8d,%r14d
2517 addl %r13d,%edx
2518 xorl %r9d,%edi
2519 paddd %xmm7,%xmm3
2520 rorl $2,%r14d
2521 addl %edx,%r11d
2522 psrld $7,%xmm6
2523 addl %edi,%edx
2524 movl %r11d,%r13d
2525 pshufd $250,%xmm2,%xmm7
2526 addl %edx,%r14d
2527 rorl $14,%r13d
2528 pslld $14,%xmm5
2529 movl %r14d,%edx
2530 movl %eax,%r12d
2531 pxor %xmm6,%xmm4
2532 rorl $9,%r14d
2533 xorl %r11d,%r13d
2534 xorl %ebx,%r12d
2535 rorl $5,%r13d
2536 psrld $11,%xmm6
2537 xorl %edx,%r14d
2538 pxor %xmm5,%xmm4
2539 andl %r11d,%r12d
2540 xorl %r11d,%r13d
2541 pslld $11,%xmm5
2542 addl 52(%rsp),%ecx
2543 movl %edx,%edi
2544 pxor %xmm6,%xmm4
2545 xorl %ebx,%r12d
2546 rorl $11,%r14d
2547 movdqa %xmm7,%xmm6
2548 xorl %r8d,%edi
2549 addl %r12d,%ecx
2550 pxor %xmm5,%xmm4
2551 rorl $6,%r13d
2552 andl %edi,%r15d
2553 xorl %edx,%r14d
2554 psrld $10,%xmm7
2555 addl %r13d,%ecx
2556 xorl %r8d,%r15d
2557 paddd %xmm4,%xmm3
2558 rorl $2,%r14d
2559 addl %ecx,%r10d
2560 psrlq $17,%xmm6
2561 addl %r15d,%ecx
2562 movl %r10d,%r13d
2563 addl %ecx,%r14d
2564 pxor %xmm6,%xmm7
2565 rorl $14,%r13d
2566 movl %r14d,%ecx
2567 movl %r11d,%r12d
2568 rorl $9,%r14d
2569 psrlq $2,%xmm6
2570 xorl %r10d,%r13d
2571 xorl %eax,%r12d
2572 pxor %xmm6,%xmm7
2573 rorl $5,%r13d
2574 xorl %ecx,%r14d
2575 andl %r10d,%r12d
2576 pshufd $128,%xmm7,%xmm7
2577 xorl %r10d,%r13d
2578 addl 56(%rsp),%ebx
2579 movl %ecx,%r15d
2580 psrldq $8,%xmm7
2581 xorl %eax,%r12d
2582 rorl $11,%r14d
2583 xorl %edx,%r15d
2584 addl %r12d,%ebx
2585 rorl $6,%r13d
2586 paddd %xmm7,%xmm3
2587 andl %r15d,%edi
2588 xorl %ecx,%r14d
2589 addl %r13d,%ebx
2590 pshufd $80,%xmm3,%xmm7
2591 xorl %edx,%edi
2592 rorl $2,%r14d
2593 addl %ebx,%r9d
2594 movdqa %xmm7,%xmm6
2595 addl %edi,%ebx
2596 movl %r9d,%r13d
2597 psrld $10,%xmm7
2598 addl %ebx,%r14d
2599 rorl $14,%r13d
2600 psrlq $17,%xmm6
2601 movl %r14d,%ebx
2602 movl %r10d,%r12d
2603 pxor %xmm6,%xmm7
2604 rorl $9,%r14d
2605 xorl %r9d,%r13d
2606 xorl %r11d,%r12d
2607 rorl $5,%r13d
2608 xorl %ebx,%r14d
2609 psrlq $2,%xmm6
2610 andl %r9d,%r12d
2611 xorl %r9d,%r13d
2612 addl 60(%rsp),%eax
2613 pxor %xmm6,%xmm7
2614 movl %ebx,%edi
2615 xorl %r11d,%r12d
2616 rorl $11,%r14d
2617 pshufd $8,%xmm7,%xmm7
2618 xorl %ecx,%edi
2619 addl %r12d,%eax
2620 movdqa 96(%rbp),%xmm6
2621 rorl $6,%r13d
2622 andl %edi,%r15d
2623 pslldq $8,%xmm7
2624 xorl %ebx,%r14d
2625 addl %r13d,%eax
2626 xorl %ecx,%r15d
2627 paddd %xmm7,%xmm3
2628 rorl $2,%r14d
2629 addl %eax,%r8d
2630 addl %r15d,%eax
2631 paddd %xmm3,%xmm6
2632 movl %r8d,%r13d
2633 addl %eax,%r14d
2634 movdqa %xmm6,48(%rsp)
2635 cmpb $0,131(%rbp)
2636 jne .Lssse3_00_47
2637 rorl $14,%r13d
2638 movl %r14d,%eax
2639 movl %r9d,%r12d
2640 rorl $9,%r14d
2641 xorl %r8d,%r13d
2642 xorl %r10d,%r12d
2643 rorl $5,%r13d
2644 xorl %eax,%r14d
2645 andl %r8d,%r12d
2646 xorl %r8d,%r13d
2647 addl 0(%rsp),%r11d
2648 movl %eax,%r15d
2649 xorl %r10d,%r12d
2650 rorl $11,%r14d
2651 xorl %ebx,%r15d
2652 addl %r12d,%r11d
2653 rorl $6,%r13d
2654 andl %r15d,%edi
2655 xorl %eax,%r14d
2656 addl %r13d,%r11d
2657 xorl %ebx,%edi
2658 rorl $2,%r14d
2659 addl %r11d,%edx
2660 addl %edi,%r11d
2661 movl %edx,%r13d
2662 addl %r11d,%r14d
2663 rorl $14,%r13d
2664 movl %r14d,%r11d
2665 movl %r8d,%r12d
2666 rorl $9,%r14d
2667 xorl %edx,%r13d
2668 xorl %r9d,%r12d
2669 rorl $5,%r13d
2670 xorl %r11d,%r14d
2671 andl %edx,%r12d
2672 xorl %edx,%r13d
2673 addl 4(%rsp),%r10d
2674 movl %r11d,%edi
2675 xorl %r9d,%r12d
2676 rorl $11,%r14d
2677 xorl %eax,%edi
2678 addl %r12d,%r10d
2679 rorl $6,%r13d
2680 andl %edi,%r15d
2681 xorl %r11d,%r14d
2682 addl %r13d,%r10d
2683 xorl %eax,%r15d
2684 rorl $2,%r14d
2685 addl %r10d,%ecx
2686 addl %r15d,%r10d
2687 movl %ecx,%r13d
2688 addl %r10d,%r14d
2689 rorl $14,%r13d
2690 movl %r14d,%r10d
2691 movl %edx,%r12d
2692 rorl $9,%r14d
2693 xorl %ecx,%r13d
2694 xorl %r8d,%r12d
2695 rorl $5,%r13d
2696 xorl %r10d,%r14d
2697 andl %ecx,%r12d
2698 xorl %ecx,%r13d
2699 addl 8(%rsp),%r9d
2700 movl %r10d,%r15d
2701 xorl %r8d,%r12d
2702 rorl $11,%r14d
2703 xorl %r11d,%r15d
2704 addl %r12d,%r9d
2705 rorl $6,%r13d
2706 andl %r15d,%edi
2707 xorl %r10d,%r14d
2708 addl %r13d,%r9d
2709 xorl %r11d,%edi
2710 rorl $2,%r14d
2711 addl %r9d,%ebx
2712 addl %edi,%r9d
2713 movl %ebx,%r13d
2714 addl %r9d,%r14d
2715 rorl $14,%r13d
2716 movl %r14d,%r9d
2717 movl %ecx,%r12d
2718 rorl $9,%r14d
2719 xorl %ebx,%r13d
2720 xorl %edx,%r12d
2721 rorl $5,%r13d
2722 xorl %r9d,%r14d
2723 andl %ebx,%r12d
2724 xorl %ebx,%r13d
2725 addl 12(%rsp),%r8d
2726 movl %r9d,%edi
2727 xorl %edx,%r12d
2728 rorl $11,%r14d
2729 xorl %r10d,%edi
2730 addl %r12d,%r8d
2731 rorl $6,%r13d
2732 andl %edi,%r15d
2733 xorl %r9d,%r14d
2734 addl %r13d,%r8d
2735 xorl %r10d,%r15d
2736 rorl $2,%r14d
2737 addl %r8d,%eax
2738 addl %r15d,%r8d
2739 movl %eax,%r13d
2740 addl %r8d,%r14d
2741 rorl $14,%r13d
2742 movl %r14d,%r8d
2743 movl %ebx,%r12d
2744 rorl $9,%r14d
2745 xorl %eax,%r13d
2746 xorl %ecx,%r12d
2747 rorl $5,%r13d
2748 xorl %r8d,%r14d
2749 andl %eax,%r12d
2750 xorl %eax,%r13d
2751 addl 16(%rsp),%edx
2752 movl %r8d,%r15d
2753 xorl %ecx,%r12d
2754 rorl $11,%r14d
2755 xorl %r9d,%r15d
2756 addl %r12d,%edx
2757 rorl $6,%r13d
2758 andl %r15d,%edi
2759 xorl %r8d,%r14d
2760 addl %r13d,%edx
2761 xorl %r9d,%edi
2762 rorl $2,%r14d
2763 addl %edx,%r11d
2764 addl %edi,%edx
2765 movl %r11d,%r13d
2766 addl %edx,%r14d
2767 rorl $14,%r13d
2768 movl %r14d,%edx
2769 movl %eax,%r12d
2770 rorl $9,%r14d
2771 xorl %r11d,%r13d
2772 xorl %ebx,%r12d
2773 rorl $5,%r13d
2774 xorl %edx,%r14d
2775 andl %r11d,%r12d
2776 xorl %r11d,%r13d
2777 addl 20(%rsp),%ecx
2778 movl %edx,%edi
2779 xorl %ebx,%r12d
2780 rorl $11,%r14d
2781 xorl %r8d,%edi
2782 addl %r12d,%ecx
2783 rorl $6,%r13d
2784 andl %edi,%r15d
2785 xorl %edx,%r14d
2786 addl %r13d,%ecx
2787 xorl %r8d,%r15d
2788 rorl $2,%r14d
2789 addl %ecx,%r10d
2790 addl %r15d,%ecx
2791 movl %r10d,%r13d
2792 addl %ecx,%r14d
2793 rorl $14,%r13d
2794 movl %r14d,%ecx
2795 movl %r11d,%r12d
2796 rorl $9,%r14d
2797 xorl %r10d,%r13d
2798 xorl %eax,%r12d
2799 rorl $5,%r13d
2800 xorl %ecx,%r14d
2801 andl %r10d,%r12d
2802 xorl %r10d,%r13d
2803 addl 24(%rsp),%ebx
2804 movl %ecx,%r15d
2805 xorl %eax,%r12d
2806 rorl $11,%r14d
2807 xorl %edx,%r15d
2808 addl %r12d,%ebx
2809 rorl $6,%r13d
2810 andl %r15d,%edi
2811 xorl %ecx,%r14d
2812 addl %r13d,%ebx
2813 xorl %edx,%edi
2814 rorl $2,%r14d
2815 addl %ebx,%r9d
2816 addl %edi,%ebx
2817 movl %r9d,%r13d
2818 addl %ebx,%r14d
2819 rorl $14,%r13d
2820 movl %r14d,%ebx
2821 movl %r10d,%r12d
2822 rorl $9,%r14d
2823 xorl %r9d,%r13d
2824 xorl %r11d,%r12d
2825 rorl $5,%r13d
2826 xorl %ebx,%r14d
2827 andl %r9d,%r12d
2828 xorl %r9d,%r13d
2829 addl 28(%rsp),%eax
2830 movl %ebx,%edi
2831 xorl %r11d,%r12d
2832 rorl $11,%r14d
2833 xorl %ecx,%edi
2834 addl %r12d,%eax
2835 rorl $6,%r13d
2836 andl %edi,%r15d
2837 xorl %ebx,%r14d
2838 addl %r13d,%eax
2839 xorl %ecx,%r15d
2840 rorl $2,%r14d
2841 addl %eax,%r8d
2842 addl %r15d,%eax
2843 movl %r8d,%r13d
2844 addl %eax,%r14d
2845 rorl $14,%r13d
2846 movl %r14d,%eax
2847 movl %r9d,%r12d
2848 rorl $9,%r14d
2849 xorl %r8d,%r13d
2850 xorl %r10d,%r12d
2851 rorl $5,%r13d
2852 xorl %eax,%r14d
2853 andl %r8d,%r12d
2854 xorl %r8d,%r13d
2855 addl 32(%rsp),%r11d
2856 movl %eax,%r15d
2857 xorl %r10d,%r12d
2858 rorl $11,%r14d
2859 xorl %ebx,%r15d
2860 addl %r12d,%r11d
2861 rorl $6,%r13d
2862 andl %r15d,%edi
2863 xorl %eax,%r14d
2864 addl %r13d,%r11d
2865 xorl %ebx,%edi
2866 rorl $2,%r14d
2867 addl %r11d,%edx
2868 addl %edi,%r11d
2869 movl %edx,%r13d
2870 addl %r11d,%r14d
2871 rorl $14,%r13d
2872 movl %r14d,%r11d
2873 movl %r8d,%r12d
2874 rorl $9,%r14d
2875 xorl %edx,%r13d
2876 xorl %r9d,%r12d
2877 rorl $5,%r13d
2878 xorl %r11d,%r14d
2879 andl %edx,%r12d
2880 xorl %edx,%r13d
2881 addl 36(%rsp),%r10d
2882 movl %r11d,%edi
2883 xorl %r9d,%r12d
2884 rorl $11,%r14d
2885 xorl %eax,%edi
2886 addl %r12d,%r10d
2887 rorl $6,%r13d
2888 andl %edi,%r15d
2889 xorl %r11d,%r14d
2890 addl %r13d,%r10d
2891 xorl %eax,%r15d
2892 rorl $2,%r14d
2893 addl %r10d,%ecx
2894 addl %r15d,%r10d
2895 movl %ecx,%r13d
2896 addl %r10d,%r14d
2897 rorl $14,%r13d
2898 movl %r14d,%r10d
2899 movl %edx,%r12d
2900 rorl $9,%r14d
2901 xorl %ecx,%r13d
2902 xorl %r8d,%r12d
2903 rorl $5,%r13d
2904 xorl %r10d,%r14d
2905 andl %ecx,%r12d
2906 xorl %ecx,%r13d
2907 addl 40(%rsp),%r9d
2908 movl %r10d,%r15d
2909 xorl %r8d,%r12d
2910 rorl $11,%r14d
2911 xorl %r11d,%r15d
2912 addl %r12d,%r9d
2913 rorl $6,%r13d
2914 andl %r15d,%edi
2915 xorl %r10d,%r14d
2916 addl %r13d,%r9d
2917 xorl %r11d,%edi
2918 rorl $2,%r14d
2919 addl %r9d,%ebx
2920 addl %edi,%r9d
2921 movl %ebx,%r13d
2922 addl %r9d,%r14d
2923 rorl $14,%r13d
2924 movl %r14d,%r9d
2925 movl %ecx,%r12d
2926 rorl $9,%r14d
2927 xorl %ebx,%r13d
2928 xorl %edx,%r12d
2929 rorl $5,%r13d
2930 xorl %r9d,%r14d
2931 andl %ebx,%r12d
2932 xorl %ebx,%r13d
2933 addl 44(%rsp),%r8d
2934 movl %r9d,%edi
2935 xorl %edx,%r12d
2936 rorl $11,%r14d
2937 xorl %r10d,%edi
2938 addl %r12d,%r8d
2939 rorl $6,%r13d
2940 andl %edi,%r15d
2941 xorl %r9d,%r14d
2942 addl %r13d,%r8d
2943 xorl %r10d,%r15d
2944 rorl $2,%r14d
2945 addl %r8d,%eax
2946 addl %r15d,%r8d
2947 movl %eax,%r13d
2948 addl %r8d,%r14d
2949 rorl $14,%r13d
2950 movl %r14d,%r8d
2951 movl %ebx,%r12d
2952 rorl $9,%r14d
2953 xorl %eax,%r13d
2954 xorl %ecx,%r12d
2955 rorl $5,%r13d
2956 xorl %r8d,%r14d
2957 andl %eax,%r12d
2958 xorl %eax,%r13d
2959 addl 48(%rsp),%edx
2960 movl %r8d,%r15d
2961 xorl %ecx,%r12d
2962 rorl $11,%r14d
2963 xorl %r9d,%r15d
2964 addl %r12d,%edx
2965 rorl $6,%r13d
2966 andl %r15d,%edi
2967 xorl %r8d,%r14d
2968 addl %r13d,%edx
2969 xorl %r9d,%edi
2970 rorl $2,%r14d
2971 addl %edx,%r11d
2972 addl %edi,%edx
2973 movl %r11d,%r13d
2974 addl %edx,%r14d
2975 rorl $14,%r13d
2976 movl %r14d,%edx
2977 movl %eax,%r12d
2978 rorl $9,%r14d
2979 xorl %r11d,%r13d
2980 xorl %ebx,%r12d
2981 rorl $5,%r13d
2982 xorl %edx,%r14d
2983 andl %r11d,%r12d
2984 xorl %r11d,%r13d
2985 addl 52(%rsp),%ecx
2986 movl %edx,%edi
2987 xorl %ebx,%r12d
2988 rorl $11,%r14d
2989 xorl %r8d,%edi
2990 addl %r12d,%ecx
2991 rorl $6,%r13d
2992 andl %edi,%r15d
2993 xorl %edx,%r14d
2994 addl %r13d,%ecx
2995 xorl %r8d,%r15d
2996 rorl $2,%r14d
2997 addl %ecx,%r10d
2998 addl %r15d,%ecx
2999 movl %r10d,%r13d
3000 addl %ecx,%r14d
3001 rorl $14,%r13d
3002 movl %r14d,%ecx
3003 movl %r11d,%r12d
3004 rorl $9,%r14d
3005 xorl %r10d,%r13d
3006 xorl %eax,%r12d
3007 rorl $5,%r13d
3008 xorl %ecx,%r14d
3009 andl %r10d,%r12d
3010 xorl %r10d,%r13d
3011 addl 56(%rsp),%ebx
3012 movl %ecx,%r15d
3013 xorl %eax,%r12d
3014 rorl $11,%r14d
3015 xorl %edx,%r15d
3016 addl %r12d,%ebx
3017 rorl $6,%r13d
3018 andl %r15d,%edi
3019 xorl %ecx,%r14d
3020 addl %r13d,%ebx
3021 xorl %edx,%edi
3022 rorl $2,%r14d
3023 addl %ebx,%r9d
3024 addl %edi,%ebx
3025 movl %r9d,%r13d
3026 addl %ebx,%r14d
3027 rorl $14,%r13d
3028 movl %r14d,%ebx
3029 movl %r10d,%r12d
3030 rorl $9,%r14d
3031 xorl %r9d,%r13d
3032 xorl %r11d,%r12d
3033 rorl $5,%r13d
3034 xorl %ebx,%r14d
3035 andl %r9d,%r12d
3036 xorl %r9d,%r13d
3037 addl 60(%rsp),%eax
3038 movl %ebx,%edi
3039 xorl %r11d,%r12d
3040 rorl $11,%r14d
3041 xorl %ecx,%edi
3042 addl %r12d,%eax
3043 rorl $6,%r13d
3044 andl %edi,%r15d
3045 xorl %ebx,%r14d
3046 addl %r13d,%eax
3047 xorl %ecx,%r15d
3048 rorl $2,%r14d
3049 addl %eax,%r8d
3050 addl %r15d,%eax
3051 movl %r8d,%r13d
3052 addl %eax,%r14d
3053 movq 64+0(%rsp),%rdi
3054 movl %r14d,%eax
3055
3056 addl 0(%rdi),%eax
3057 leaq 64(%rsi),%rsi
3058 addl 4(%rdi),%ebx
3059 addl 8(%rdi),%ecx
3060 addl 12(%rdi),%edx
3061 addl 16(%rdi),%r8d
3062 addl 20(%rdi),%r9d
3063 addl 24(%rdi),%r10d
3064 addl 28(%rdi),%r11d
3065
3066 cmpq 64+16(%rsp),%rsi
3067
3068 movl %eax,0(%rdi)
3069 movl %ebx,4(%rdi)
3070 movl %ecx,8(%rdi)
3071 movl %edx,12(%rdi)
3072 movl %r8d,16(%rdi)
3073 movl %r9d,20(%rdi)
3074 movl %r10d,24(%rdi)
3075 movl %r11d,28(%rdi)
3076 jb .Lloop_ssse3
3077
3078 movq 88(%rsp),%rsi
3079 .cfi_def_cfa %rsi,8
3080 movq -48(%rsi),%r15
3081 .cfi_restore %r15
3082 movq -40(%rsi),%r14
3083 .cfi_restore %r14
3084 movq -32(%rsi),%r13
3085 .cfi_restore %r13
3086 movq -24(%rsi),%r12
3087 .cfi_restore %r12
3088 movq -16(%rsi),%rbp
3089 .cfi_restore %rbp
3090 movq -8(%rsi),%rbx
3091 .cfi_restore %rbx
3092 leaq (%rsi),%rsp
3093 .cfi_def_cfa_register %rsp
3094 .Lepilogue_ssse3:
3095 .byte 0xf3,0xc3
3096 .cfi_endproc
3097 .size sha256_block_data_order_ssse3,.-sha256_block_data_order_ssse3
3098 .type sha256_block_data_order_avx,@function
3099 .align 64
3100 sha256_block_data_order_avx:
3101 .cfi_startproc
3102 .Lavx_shortcut:
3103 movq %rsp,%rax
3104 .cfi_def_cfa_register %rax
3105 pushq %rbx
3106 .cfi_offset %rbx,-16
3107 pushq %rbp
3108 .cfi_offset %rbp,-24
3109 pushq %r12
3110 .cfi_offset %r12,-32
3111 pushq %r13
3112 .cfi_offset %r13,-40
3113 pushq %r14
3114 .cfi_offset %r14,-48
3115 pushq %r15
3116 .cfi_offset %r15,-56
3117 shlq $4,%rdx
3118 subq $96,%rsp
3119 leaq (%rsi,%rdx,4),%rdx
3120 andq $-64,%rsp
3121 movq %rdi,64+0(%rsp)
3122 movq %rsi,64+8(%rsp)
3123 movq %rdx,64+16(%rsp)
3124 movq %rax,88(%rsp)
3125 .cfi_escape 0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
3126 .Lprologue_avx:
3127
3128 vzeroupper
3129 movl 0(%rdi),%eax
3130 movl 4(%rdi),%ebx
3131 movl 8(%rdi),%ecx
3132 movl 12(%rdi),%edx
3133 movl 16(%rdi),%r8d
3134 movl 20(%rdi),%r9d
3135 movl 24(%rdi),%r10d
3136 movl 28(%rdi),%r11d
3137 vmovdqa K256+512+32(%rip),%xmm8
3138 vmovdqa K256+512+64(%rip),%xmm9
3139 jmp .Lloop_avx
3140 .align 16
3141 .Lloop_avx:
3142 vmovdqa K256+512(%rip),%xmm7
3143 vmovdqu 0(%rsi),%xmm0
3144 vmovdqu 16(%rsi),%xmm1
3145 vmovdqu 32(%rsi),%xmm2
3146 vmovdqu 48(%rsi),%xmm3
3147 vpshufb %xmm7,%xmm0,%xmm0
3148 leaq K256(%rip),%rbp
3149 vpshufb %xmm7,%xmm1,%xmm1
3150 vpshufb %xmm7,%xmm2,%xmm2
3151 vpaddd 0(%rbp),%xmm0,%xmm4
3152 vpshufb %xmm7,%xmm3,%xmm3
3153 vpaddd 32(%rbp),%xmm1,%xmm5
3154 vpaddd 64(%rbp),%xmm2,%xmm6
3155 vpaddd 96(%rbp),%xmm3,%xmm7
3156 vmovdqa %xmm4,0(%rsp)
3157 movl %eax,%r14d
3158 vmovdqa %xmm5,16(%rsp)
3159 movl %ebx,%edi
3160 vmovdqa %xmm6,32(%rsp)
3161 xorl %ecx,%edi
3162 vmovdqa %xmm7,48(%rsp)
3163 movl %r8d,%r13d
3164 jmp .Lavx_00_47
3165
3166 .align 16
3167 .Lavx_00_47:
3168 subq $-128,%rbp
3169 vpalignr $4,%xmm0,%xmm1,%xmm4
3170 shrdl $14,%r13d,%r13d
3171 movl %r14d,%eax
3172 movl %r9d,%r12d
3173 vpalignr $4,%xmm2,%xmm3,%xmm7
3174 shrdl $9,%r14d,%r14d
3175 xorl %r8d,%r13d
3176 xorl %r10d,%r12d
3177 vpsrld $7,%xmm4,%xmm6
3178 shrdl $5,%r13d,%r13d
3179 xorl %eax,%r14d
3180 andl %r8d,%r12d
3181 vpaddd %xmm7,%xmm0,%xmm0
3182 xorl %r8d,%r13d
3183 addl 0(%rsp),%r11d
3184 movl %eax,%r15d
3185 vpsrld $3,%xmm4,%xmm7
3186 xorl %r10d,%r12d
3187 shrdl $11,%r14d,%r14d
3188 xorl %ebx,%r15d
3189 vpslld $14,%xmm4,%xmm5
3190 addl %r12d,%r11d
3191 shrdl $6,%r13d,%r13d
3192 andl %r15d,%edi
3193 vpxor %xmm6,%xmm7,%xmm4
3194 xorl %eax,%r14d
3195 addl %r13d,%r11d
3196 xorl %ebx,%edi
3197 vpshufd $250,%xmm3,%xmm7
3198 shrdl $2,%r14d,%r14d
3199 addl %r11d,%edx
3200 addl %edi,%r11d
3201 vpsrld $11,%xmm6,%xmm6
3202 movl %edx,%r13d
3203 addl %r11d,%r14d
3204 shrdl $14,%r13d,%r13d
3205 vpxor %xmm5,%xmm4,%xmm4
3206 movl %r14d,%r11d
3207 movl %r8d,%r12d
3208 shrdl $9,%r14d,%r14d
3209 vpslld $11,%xmm5,%xmm5
3210 xorl %edx,%r13d
3211 xorl %r9d,%r12d
3212 shrdl $5,%r13d,%r13d
3213 vpxor %xmm6,%xmm4,%xmm4
3214 xorl %r11d,%r14d
3215 andl %edx,%r12d
3216 xorl %edx,%r13d
3217 vpsrld $10,%xmm7,%xmm6
3218 addl 4(%rsp),%r10d
3219 movl %r11d,%edi
3220 xorl %r9d,%r12d
3221 vpxor %xmm5,%xmm4,%xmm4
3222 shrdl $11,%r14d,%r14d
3223 xorl %eax,%edi
3224 addl %r12d,%r10d
3225 vpsrlq $17,%xmm7,%xmm7
3226 shrdl $6,%r13d,%r13d
3227 andl %edi,%r15d
3228 xorl %r11d,%r14d
3229 vpaddd %xmm4,%xmm0,%xmm0
3230 addl %r13d,%r10d
3231 xorl %eax,%r15d
3232 shrdl $2,%r14d,%r14d
3233 vpxor %xmm7,%xmm6,%xmm6
3234 addl %r10d,%ecx
3235 addl %r15d,%r10d
3236 movl %ecx,%r13d
3237 vpsrlq $2,%xmm7,%xmm7
3238 addl %r10d,%r14d
3239 shrdl $14,%r13d,%r13d
3240 movl %r14d,%r10d
3241 vpxor %xmm7,%xmm6,%xmm6
3242 movl %edx,%r12d
3243 shrdl $9,%r14d,%r14d
3244 xorl %ecx,%r13d
3245 vpshufb %xmm8,%xmm6,%xmm6
3246 xorl %r8d,%r12d
3247 shrdl $5,%r13d,%r13d
3248 xorl %r10d,%r14d
3249 vpaddd %xmm6,%xmm0,%xmm0
3250 andl %ecx,%r12d
3251 xorl %ecx,%r13d
3252 addl 8(%rsp),%r9d
3253 vpshufd $80,%xmm0,%xmm7
3254 movl %r10d,%r15d
3255 xorl %r8d,%r12d
3256 shrdl $11,%r14d,%r14d
3257 vpsrld $10,%xmm7,%xmm6
3258 xorl %r11d,%r15d
3259 addl %r12d,%r9d
3260 shrdl $6,%r13d,%r13d
3261 vpsrlq $17,%xmm7,%xmm7
3262 andl %r15d,%edi
3263 xorl %r10d,%r14d
3264 addl %r13d,%r9d
3265 vpxor %xmm7,%xmm6,%xmm6
3266 xorl %r11d,%edi
3267 shrdl $2,%r14d,%r14d
3268 addl %r9d,%ebx
3269 vpsrlq $2,%xmm7,%xmm7
3270 addl %edi,%r9d
3271 movl %ebx,%r13d
3272 addl %r9d,%r14d
3273 vpxor %xmm7,%xmm6,%xmm6
3274 shrdl $14,%r13d,%r13d
3275 movl %r14d,%r9d
3276 movl %ecx,%r12d
3277 vpshufb %xmm9,%xmm6,%xmm6
3278 shrdl $9,%r14d,%r14d
3279 xorl %ebx,%r13d
3280 xorl %edx,%r12d
3281 vpaddd %xmm6,%xmm0,%xmm0
3282 shrdl $5,%r13d,%r13d
3283 xorl %r9d,%r14d
3284 andl %ebx,%r12d
3285 vpaddd 0(%rbp),%xmm0,%xmm6
3286 xorl %ebx,%r13d
3287 addl 12(%rsp),%r8d
3288 movl %r9d,%edi
3289 xorl %edx,%r12d
3290 shrdl $11,%r14d,%r14d
3291 xorl %r10d,%edi
3292 addl %r12d,%r8d
3293 shrdl $6,%r13d,%r13d
3294 andl %edi,%r15d
3295 xorl %r9d,%r14d
3296 addl %r13d,%r8d
3297 xorl %r10d,%r15d
3298 shrdl $2,%r14d,%r14d
3299 addl %r8d,%eax
3300 addl %r15d,%r8d
3301 movl %eax,%r13d
3302 addl %r8d,%r14d
3303 vmovdqa %xmm6,0(%rsp)
3304 vpalignr $4,%xmm1,%xmm2,%xmm4
3305 shrdl $14,%r13d,%r13d
3306 movl %r14d,%r8d
3307 movl %ebx,%r12d
3308 vpalignr $4,%xmm3,%xmm0,%xmm7
3309 shrdl $9,%r14d,%r14d
3310 xorl %eax,%r13d
3311 xorl %ecx,%r12d
3312 vpsrld $7,%xmm4,%xmm6
3313 shrdl $5,%r13d,%r13d
3314 xorl %r8d,%r14d
3315 andl %eax,%r12d
3316 vpaddd %xmm7,%xmm1,%xmm1
3317 xorl %eax,%r13d
3318 addl 16(%rsp),%edx
3319 movl %r8d,%r15d
3320 vpsrld $3,%xmm4,%xmm7
3321 xorl %ecx,%r12d
3322 shrdl $11,%r14d,%r14d
3323 xorl %r9d,%r15d
3324 vpslld $14,%xmm4,%xmm5
3325 addl %r12d,%edx
3326 shrdl $6,%r13d,%r13d
3327 andl %r15d,%edi
3328 vpxor %xmm6,%xmm7,%xmm4
3329 xorl %r8d,%r14d
3330 addl %r13d,%edx
3331 xorl %r9d,%edi
3332 vpshufd $250,%xmm0,%xmm7
3333 shrdl $2,%r14d,%r14d
3334 addl %edx,%r11d
3335 addl %edi,%edx
3336 vpsrld $11,%xmm6,%xmm6
3337 movl %r11d,%r13d
3338 addl %edx,%r14d
3339 shrdl $14,%r13d,%r13d
3340 vpxor %xmm5,%xmm4,%xmm4
3341 movl %r14d,%edx
3342 movl %eax,%r12d
3343 shrdl $9,%r14d,%r14d
3344 vpslld $11,%xmm5,%xmm5
3345 xorl %r11d,%r13d
3346 xorl %ebx,%r12d
3347 shrdl $5,%r13d,%r13d
3348 vpxor %xmm6,%xmm4,%xmm4
3349 xorl %edx,%r14d
3350 andl %r11d,%r12d
3351 xorl %r11d,%r13d
3352 vpsrld $10,%xmm7,%xmm6
3353 addl 20(%rsp),%ecx
3354 movl %edx,%edi
3355 xorl %ebx,%r12d
3356 vpxor %xmm5,%xmm4,%xmm4
3357 shrdl $11,%r14d,%r14d
3358 xorl %r8d,%edi
3359 addl %r12d,%ecx
3360 vpsrlq $17,%xmm7,%xmm7
3361 shrdl $6,%r13d,%r13d
3362 andl %edi,%r15d
3363 xorl %edx,%r14d
3364 vpaddd %xmm4,%xmm1,%xmm1
3365 addl %r13d,%ecx
3366 xorl %r8d,%r15d
3367 shrdl $2,%r14d,%r14d
3368 vpxor %xmm7,%xmm6,%xmm6
3369 addl %ecx,%r10d
3370 addl %r15d,%ecx
3371 movl %r10d,%r13d
3372 vpsrlq $2,%xmm7,%xmm7
3373 addl %ecx,%r14d
3374 shrdl $14,%r13d,%r13d
3375 movl %r14d,%ecx
3376 vpxor %xmm7,%xmm6,%xmm6
3377 movl %r11d,%r12d
3378 shrdl $9,%r14d,%r14d
3379 xorl %r10d,%r13d
3380 vpshufb %xmm8,%xmm6,%xmm6
3381 xorl %eax,%r12d
3382 shrdl $5,%r13d,%r13d
3383 xorl %ecx,%r14d
3384 vpaddd %xmm6,%xmm1,%xmm1
3385 andl %r10d,%r12d
3386 xorl %r10d,%r13d
3387 addl 24(%rsp),%ebx
3388 vpshufd $80,%xmm1,%xmm7
3389 movl %ecx,%r15d
3390 xorl %eax,%r12d
3391 shrdl $11,%r14d,%r14d
3392 vpsrld $10,%xmm7,%xmm6
3393 xorl %edx,%r15d
3394 addl %r12d,%ebx
3395 shrdl $6,%r13d,%r13d
3396 vpsrlq $17,%xmm7,%xmm7
3397 andl %r15d,%edi
3398 xorl %ecx,%r14d
3399 addl %r13d,%ebx
3400 vpxor %xmm7,%xmm6,%xmm6
3401 xorl %edx,%edi
3402 shrdl $2,%r14d,%r14d
3403 addl %ebx,%r9d
3404 vpsrlq $2,%xmm7,%xmm7
3405 addl %edi,%ebx
3406 movl %r9d,%r13d
3407 addl %ebx,%r14d
3408 vpxor %xmm7,%xmm6,%xmm6
3409 shrdl $14,%r13d,%r13d
3410 movl %r14d,%ebx
3411 movl %r10d,%r12d
3412 vpshufb %xmm9,%xmm6,%xmm6
3413 shrdl $9,%r14d,%r14d
3414 xorl %r9d,%r13d
3415 xorl %r11d,%r12d
3416 vpaddd %xmm6,%xmm1,%xmm1
3417 shrdl $5,%r13d,%r13d
3418 xorl %ebx,%r14d
3419 andl %r9d,%r12d
3420 vpaddd 32(%rbp),%xmm1,%xmm6
3421 xorl %r9d,%r13d
3422 addl 28(%rsp),%eax
3423 movl %ebx,%edi
3424 xorl %r11d,%r12d
3425 shrdl $11,%r14d,%r14d
3426 xorl %ecx,%edi
3427 addl %r12d,%eax
3428 shrdl $6,%r13d,%r13d
3429 andl %edi,%r15d
3430 xorl %ebx,%r14d
3431 addl %r13d,%eax
3432 xorl %ecx,%r15d
3433 shrdl $2,%r14d,%r14d
3434 addl %eax,%r8d
3435 addl %r15d,%eax
3436 movl %r8d,%r13d
3437 addl %eax,%r14d
3438 vmovdqa %xmm6,16(%rsp)
3439 vpalignr $4,%xmm2,%xmm3,%xmm4
3440 shrdl $14,%r13d,%r13d
3441 movl %r14d,%eax
3442 movl %r9d,%r12d
3443 vpalignr $4,%xmm0,%xmm1,%xmm7
3444 shrdl $9,%r14d,%r14d
3445 xorl %r8d,%r13d
3446 xorl %r10d,%r12d
3447 vpsrld $7,%xmm4,%xmm6
3448 shrdl $5,%r13d,%r13d
3449 xorl %eax,%r14d
3450 andl %r8d,%r12d
3451 vpaddd %xmm7,%xmm2,%xmm2
3452 xorl %r8d,%r13d
3453 addl 32(%rsp),%r11d
3454 movl %eax,%r15d
3455 vpsrld $3,%xmm4,%xmm7
3456 xorl %r10d,%r12d
3457 shrdl $11,%r14d,%r14d
3458 xorl %ebx,%r15d
3459 vpslld $14,%xmm4,%xmm5
3460 addl %r12d,%r11d
3461 shrdl $6,%r13d,%r13d
3462 andl %r15d,%edi
3463 vpxor %xmm6,%xmm7,%xmm4
3464 xorl %eax,%r14d
3465 addl %r13d,%r11d
3466 xorl %ebx,%edi
3467 vpshufd $250,%xmm1,%xmm7
3468 shrdl $2,%r14d,%r14d
3469 addl %r11d,%edx
3470 addl %edi,%r11d
3471 vpsrld $11,%xmm6,%xmm6
3472 movl %edx,%r13d
3473 addl %r11d,%r14d
3474 shrdl $14,%r13d,%r13d
3475 vpxor %xmm5,%xmm4,%xmm4
3476 movl %r14d,%r11d
3477 movl %r8d,%r12d
3478 shrdl $9,%r14d,%r14d
3479 vpslld $11,%xmm5,%xmm5
3480 xorl %edx,%r13d
3481 xorl %r9d,%r12d
3482 shrdl $5,%r13d,%r13d
3483 vpxor %xmm6,%xmm4,%xmm4
3484 xorl %r11d,%r14d
3485 andl %edx,%r12d
3486 xorl %edx,%r13d
3487 vpsrld $10,%xmm7,%xmm6
3488 addl 36(%rsp),%r10d
3489 movl %r11d,%edi
3490 xorl %r9d,%r12d
3491 vpxor %xmm5,%xmm4,%xmm4
3492 shrdl $11,%r14d,%r14d
3493 xorl %eax,%edi
3494 addl %r12d,%r10d
3495 vpsrlq $17,%xmm7,%xmm7
3496 shrdl $6,%r13d,%r13d
3497 andl %edi,%r15d
3498 xorl %r11d,%r14d
3499 vpaddd %xmm4,%xmm2,%xmm2
3500 addl %r13d,%r10d
3501 xorl %eax,%r15d
3502 shrdl $2,%r14d,%r14d
3503 vpxor %xmm7,%xmm6,%xmm6
3504 addl %r10d,%ecx
3505 addl %r15d,%r10d
3506 movl %ecx,%r13d
3507 vpsrlq $2,%xmm7,%xmm7
3508 addl %r10d,%r14d
3509 shrdl $14,%r13d,%r13d
3510 movl %r14d,%r10d
3511 vpxor %xmm7,%xmm6,%xmm6
3512 movl %edx,%r12d
3513 shrdl $9,%r14d,%r14d
3514 xorl %ecx,%r13d
3515 vpshufb %xmm8,%xmm6,%xmm6
3516 xorl %r8d,%r12d
3517 shrdl $5,%r13d,%r13d
3518 xorl %r10d,%r14d
3519 vpaddd %xmm6,%xmm2,%xmm2
3520 andl %ecx,%r12d
3521 xorl %ecx,%r13d
3522 addl 40(%rsp),%r9d
3523 vpshufd $80,%xmm2,%xmm7
3524 movl %r10d,%r15d
3525 xorl %r8d,%r12d
3526 shrdl $11,%r14d,%r14d
3527 vpsrld $10,%xmm7,%xmm6
3528 xorl %r11d,%r15d
3529 addl %r12d,%r9d
3530 shrdl $6,%r13d,%r13d
3531 vpsrlq $17,%xmm7,%xmm7
3532 andl %r15d,%edi
3533 xorl %r10d,%r14d
3534 addl %r13d,%r9d
3535 vpxor %xmm7,%xmm6,%xmm6
3536 xorl %r11d,%edi
3537 shrdl $2,%r14d,%r14d
3538 addl %r9d,%ebx
3539 vpsrlq $2,%xmm7,%xmm7
3540 addl %edi,%r9d
3541 movl %ebx,%r13d
3542 addl %r9d,%r14d
3543 vpxor %xmm7,%xmm6,%xmm6
3544 shrdl $14,%r13d,%r13d
3545 movl %r14d,%r9d
3546 movl %ecx,%r12d
3547 vpshufb %xmm9,%xmm6,%xmm6
3548 shrdl $9,%r14d,%r14d
3549 xorl %ebx,%r13d
3550 xorl %edx,%r12d
3551 vpaddd %xmm6,%xmm2,%xmm2
3552 shrdl $5,%r13d,%r13d
3553 xorl %r9d,%r14d
3554 andl %ebx,%r12d
3555 vpaddd 64(%rbp),%xmm2,%xmm6
3556 xorl %ebx,%r13d
3557 addl 44(%rsp),%r8d
3558 movl %r9d,%edi
3559 xorl %edx,%r12d
3560 shrdl $11,%r14d,%r14d
3561 xorl %r10d,%edi
3562 addl %r12d,%r8d
3563 shrdl $6,%r13d,%r13d
3564 andl %edi,%r15d
3565 xorl %r9d,%r14d
3566 addl %r13d,%r8d
3567 xorl %r10d,%r15d
3568 shrdl $2,%r14d,%r14d
3569 addl %r8d,%eax
3570 addl %r15d,%r8d
3571 movl %eax,%r13d
3572 addl %r8d,%r14d
3573 vmovdqa %xmm6,32(%rsp)
3574 vpalignr $4,%xmm3,%xmm0,%xmm4
3575 shrdl $14,%r13d,%r13d
3576 movl %r14d,%r8d
3577 movl %ebx,%r12d
3578 vpalignr $4,%xmm1,%xmm2,%xmm7
3579 shrdl $9,%r14d,%r14d
3580 xorl %eax,%r13d
3581 xorl %ecx,%r12d
3582 vpsrld $7,%xmm4,%xmm6
3583 shrdl $5,%r13d,%r13d
3584 xorl %r8d,%r14d
3585 andl %eax,%r12d
3586 vpaddd %xmm7,%xmm3,%xmm3
3587 xorl %eax,%r13d
3588 addl 48(%rsp),%edx
3589 movl %r8d,%r15d
3590 vpsrld $3,%xmm4,%xmm7
3591 xorl %ecx,%r12d
3592 shrdl $11,%r14d,%r14d
3593 xorl %r9d,%r15d
3594 vpslld $14,%xmm4,%xmm5
3595 addl %r12d,%edx
3596 shrdl $6,%r13d,%r13d
3597 andl %r15d,%edi
3598 vpxor %xmm6,%xmm7,%xmm4
3599 xorl %r8d,%r14d
3600 addl %r13d,%edx
3601 xorl %r9d,%edi
3602 vpshufd $250,%xmm2,%xmm7
3603 shrdl $2,%r14d,%r14d
3604 addl %edx,%r11d
3605 addl %edi,%edx
3606 vpsrld $11,%xmm6,%xmm6
3607 movl %r11d,%r13d
3608 addl %edx,%r14d
3609 shrdl $14,%r13d,%r13d
3610 vpxor %xmm5,%xmm4,%xmm4
3611 movl %r14d,%edx
3612 movl %eax,%r12d
3613 shrdl $9,%r14d,%r14d
3614 vpslld $11,%xmm5,%xmm5
3615 xorl %r11d,%r13d
3616 xorl %ebx,%r12d
3617 shrdl $5,%r13d,%r13d
3618 vpxor %xmm6,%xmm4,%xmm4
3619 xorl %edx,%r14d
3620 andl %r11d,%r12d
3621 xorl %r11d,%r13d
3622 vpsrld $10,%xmm7,%xmm6
3623 addl 52(%rsp),%ecx
3624 movl %edx,%edi
3625 xorl %ebx,%r12d
3626 vpxor %xmm5,%xmm4,%xmm4
3627 shrdl $11,%r14d,%r14d
3628 xorl %r8d,%edi
3629 addl %r12d,%ecx
3630 vpsrlq $17,%xmm7,%xmm7
3631 shrdl $6,%r13d,%r13d
3632 andl %edi,%r15d
3633 xorl %edx,%r14d
3634 vpaddd %xmm4,%xmm3,%xmm3
3635 addl %r13d,%ecx
3636 xorl %r8d,%r15d
3637 shrdl $2,%r14d,%r14d
3638 vpxor %xmm7,%xmm6,%xmm6
3639 addl %ecx,%r10d
3640 addl %r15d,%ecx
3641 movl %r10d,%r13d
3642 vpsrlq $2,%xmm7,%xmm7
3643 addl %ecx,%r14d
3644 shrdl $14,%r13d,%r13d
3645 movl %r14d,%ecx
3646 vpxor %xmm7,%xmm6,%xmm6
3647 movl %r11d,%r12d
3648 shrdl $9,%r14d,%r14d
3649 xorl %r10d,%r13d
3650 vpshufb %xmm8,%xmm6,%xmm6
3651 xorl %eax,%r12d
3652 shrdl $5,%r13d,%r13d
3653 xorl %ecx,%r14d
3654 vpaddd %xmm6,%xmm3,%xmm3
3655 andl %r10d,%r12d
3656 xorl %r10d,%r13d
3657 addl 56(%rsp),%ebx
3658 vpshufd $80,%xmm3,%xmm7
3659 movl %ecx,%r15d
3660 xorl %eax,%r12d
3661 shrdl $11,%r14d,%r14d
3662 vpsrld $10,%xmm7,%xmm6
3663 xorl %edx,%r15d
3664 addl %r12d,%ebx
3665 shrdl $6,%r13d,%r13d
3666 vpsrlq $17,%xmm7,%xmm7
3667 andl %r15d,%edi
3668 xorl %ecx,%r14d
3669 addl %r13d,%ebx
3670 vpxor %xmm7,%xmm6,%xmm6
3671 xorl %edx,%edi
3672 shrdl $2,%r14d,%r14d
3673 addl %ebx,%r9d
3674 vpsrlq $2,%xmm7,%xmm7
3675 addl %edi,%ebx
3676 movl %r9d,%r13d
3677 addl %ebx,%r14d
3678 vpxor %xmm7,%xmm6,%xmm6
3679 shrdl $14,%r13d,%r13d
3680 movl %r14d,%ebx
3681 movl %r10d,%r12d
3682 vpshufb %xmm9,%xmm6,%xmm6
3683 shrdl $9,%r14d,%r14d
3684 xorl %r9d,%r13d
3685 xorl %r11d,%r12d
3686 vpaddd %xmm6,%xmm3,%xmm3
3687 shrdl $5,%r13d,%r13d
3688 xorl %ebx,%r14d
3689 andl %r9d,%r12d
3690 vpaddd 96(%rbp),%xmm3,%xmm6
3691 xorl %r9d,%r13d
3692 addl 60(%rsp),%eax
3693 movl %ebx,%edi
3694 xorl %r11d,%r12d
3695 shrdl $11,%r14d,%r14d
3696 xorl %ecx,%edi
3697 addl %r12d,%eax
3698 shrdl $6,%r13d,%r13d
3699 andl %edi,%r15d
3700 xorl %ebx,%r14d
3701 addl %r13d,%eax
3702 xorl %ecx,%r15d
3703 shrdl $2,%r14d,%r14d
3704 addl %eax,%r8d
3705 addl %r15d,%eax
3706 movl %r8d,%r13d
3707 addl %eax,%r14d
3708 vmovdqa %xmm6,48(%rsp)
3709 cmpb $0,131(%rbp)
3710 jne .Lavx_00_47
3711 shrdl $14,%r13d,%r13d
3712 movl %r14d,%eax
3713 movl %r9d,%r12d
3714 shrdl $9,%r14d,%r14d
3715 xorl %r8d,%r13d
3716 xorl %r10d,%r12d
3717 shrdl $5,%r13d,%r13d
3718 xorl %eax,%r14d
3719 andl %r8d,%r12d
3720 xorl %r8d,%r13d
3721 addl 0(%rsp),%r11d
3722 movl %eax,%r15d
3723 xorl %r10d,%r12d
3724 shrdl $11,%r14d,%r14d
3725 xorl %ebx,%r15d
3726 addl %r12d,%r11d
3727 shrdl $6,%r13d,%r13d
3728 andl %r15d,%edi
3729 xorl %eax,%r14d
3730 addl %r13d,%r11d
3731 xorl %ebx,%edi
3732 shrdl $2,%r14d,%r14d
3733 addl %r11d,%edx
3734 addl %edi,%r11d
3735 movl %edx,%r13d
3736 addl %r11d,%r14d
3737 shrdl $14,%r13d,%r13d
3738 movl %r14d,%r11d
3739 movl %r8d,%r12d
3740 shrdl $9,%r14d,%r14d
3741 xorl %edx,%r13d
3742 xorl %r9d,%r12d
3743 shrdl $5,%r13d,%r13d
3744 xorl %r11d,%r14d
3745 andl %edx,%r12d
3746 xorl %edx,%r13d
3747 addl 4(%rsp),%r10d
3748 movl %r11d,%edi
3749 xorl %r9d,%r12d
3750 shrdl $11,%r14d,%r14d
3751 xorl %eax,%edi
3752 addl %r12d,%r10d
3753 shrdl $6,%r13d,%r13d
3754 andl %edi,%r15d
3755 xorl %r11d,%r14d
3756 addl %r13d,%r10d
3757 xorl %eax,%r15d
3758 shrdl $2,%r14d,%r14d
3759 addl %r10d,%ecx
3760 addl %r15d,%r10d
3761 movl %ecx,%r13d
3762 addl %r10d,%r14d
3763 shrdl $14,%r13d,%r13d
3764 movl %r14d,%r10d
3765 movl %edx,%r12d
3766 shrdl $9,%r14d,%r14d
3767 xorl %ecx,%r13d
3768 xorl %r8d,%r12d
3769 shrdl $5,%r13d,%r13d
3770 xorl %r10d,%r14d
3771 andl %ecx,%r12d
3772 xorl %ecx,%r13d
3773 addl 8(%rsp),%r9d
3774 movl %r10d,%r15d
3775 xorl %r8d,%r12d
3776 shrdl $11,%r14d,%r14d
3777 xorl %r11d,%r15d
3778 addl %r12d,%r9d
3779 shrdl $6,%r13d,%r13d
3780 andl %r15d,%edi
3781 xorl %r10d,%r14d
3782 addl %r13d,%r9d
3783 xorl %r11d,%edi
3784 shrdl $2,%r14d,%r14d
3785 addl %r9d,%ebx
3786 addl %edi,%r9d
3787 movl %ebx,%r13d
3788 addl %r9d,%r14d
3789 shrdl $14,%r13d,%r13d
3790 movl %r14d,%r9d
3791 movl %ecx,%r12d
3792 shrdl $9,%r14d,%r14d
3793 xorl %ebx,%r13d
3794 xorl %edx,%r12d
3795 shrdl $5,%r13d,%r13d
3796 xorl %r9d,%r14d
3797 andl %ebx,%r12d
3798 xorl %ebx,%r13d
3799 addl 12(%rsp),%r8d
3800 movl %r9d,%edi
3801 xorl %edx,%r12d
3802 shrdl $11,%r14d,%r14d
3803 xorl %r10d,%edi
3804 addl %r12d,%r8d
3805 shrdl $6,%r13d,%r13d
3806 andl %edi,%r15d
3807 xorl %r9d,%r14d
3808 addl %r13d,%r8d
3809 xorl %r10d,%r15d
3810 shrdl $2,%r14d,%r14d
3811 addl %r8d,%eax
3812 addl %r15d,%r8d
3813 movl %eax,%r13d
3814 addl %r8d,%r14d
3815 shrdl $14,%r13d,%r13d
3816 movl %r14d,%r8d
3817 movl %ebx,%r12d
3818 shrdl $9,%r14d,%r14d
3819 xorl %eax,%r13d
3820 xorl %ecx,%r12d
3821 shrdl $5,%r13d,%r13d
3822 xorl %r8d,%r14d
3823 andl %eax,%r12d
3824 xorl %eax,%r13d
3825 addl 16(%rsp),%edx
3826 movl %r8d,%r15d
3827 xorl %ecx,%r12d
3828 shrdl $11,%r14d,%r14d
3829 xorl %r9d,%r15d
3830 addl %r12d,%edx
3831 shrdl $6,%r13d,%r13d
3832 andl %r15d,%edi
3833 xorl %r8d,%r14d
3834 addl %r13d,%edx
3835 xorl %r9d,%edi
3836 shrdl $2,%r14d,%r14d
3837 addl %edx,%r11d
3838 addl %edi,%edx
3839 movl %r11d,%r13d
3840 addl %edx,%r14d
3841 shrdl $14,%r13d,%r13d
3842 movl %r14d,%edx
3843 movl %eax,%r12d
3844 shrdl $9,%r14d,%r14d
3845 xorl %r11d,%r13d
3846 xorl %ebx,%r12d
3847 shrdl $5,%r13d,%r13d
3848 xorl %edx,%r14d
3849 andl %r11d,%r12d
3850 xorl %r11d,%r13d
3851 addl 20(%rsp),%ecx
3852 movl %edx,%edi
3853 xorl %ebx,%r12d
3854 shrdl $11,%r14d,%r14d
3855 xorl %r8d,%edi
3856 addl %r12d,%ecx
3857 shrdl $6,%r13d,%r13d
3858 andl %edi,%r15d
3859 xorl %edx,%r14d
3860 addl %r13d,%ecx
3861 xorl %r8d,%r15d
3862 shrdl $2,%r14d,%r14d
3863 addl %ecx,%r10d
3864 addl %r15d,%ecx
3865 movl %r10d,%r13d
3866 addl %ecx,%r14d
3867 shrdl $14,%r13d,%r13d
3868 movl %r14d,%ecx
3869 movl %r11d,%r12d
3870 shrdl $9,%r14d,%r14d
3871 xorl %r10d,%r13d
3872 xorl %eax,%r12d
3873 shrdl $5,%r13d,%r13d
3874 xorl %ecx,%r14d
3875 andl %r10d,%r12d
3876 xorl %r10d,%r13d
3877 addl 24(%rsp),%ebx
3878 movl %ecx,%r15d
3879 xorl %eax,%r12d
3880 shrdl $11,%r14d,%r14d
3881 xorl %edx,%r15d
3882 addl %r12d,%ebx
3883 shrdl $6,%r13d,%r13d
3884 andl %r15d,%edi
3885 xorl %ecx,%r14d
3886 addl %r13d,%ebx
3887 xorl %edx,%edi
3888 shrdl $2,%r14d,%r14d
3889 addl %ebx,%r9d
3890 addl %edi,%ebx
3891 movl %r9d,%r13d
3892 addl %ebx,%r14d
3893 shrdl $14,%r13d,%r13d
3894 movl %r14d,%ebx
3895 movl %r10d,%r12d
3896 shrdl $9,%r14d,%r14d
3897 xorl %r9d,%r13d
3898 xorl %r11d,%r12d
3899 shrdl $5,%r13d,%r13d
3900 xorl %ebx,%r14d
3901 andl %r9d,%r12d
3902 xorl %r9d,%r13d
3903 addl 28(%rsp),%eax
3904 movl %ebx,%edi
3905 xorl %r11d,%r12d
3906 shrdl $11,%r14d,%r14d
3907 xorl %ecx,%edi
3908 addl %r12d,%eax
3909 shrdl $6,%r13d,%r13d
3910 andl %edi,%r15d
3911 xorl %ebx,%r14d
3912 addl %r13d,%eax
3913 xorl %ecx,%r15d
3914 shrdl $2,%r14d,%r14d
3915 addl %eax,%r8d
3916 addl %r15d,%eax
3917 movl %r8d,%r13d
3918 addl %eax,%r14d
3919 shrdl $14,%r13d,%r13d
3920 movl %r14d,%eax
3921 movl %r9d,%r12d
3922 shrdl $9,%r14d,%r14d
3923 xorl %r8d,%r13d
3924 xorl %r10d,%r12d
3925 shrdl $5,%r13d,%r13d
3926 xorl %eax,%r14d
3927 andl %r8d,%r12d
3928 xorl %r8d,%r13d
3929 addl 32(%rsp),%r11d
3930 movl %eax,%r15d
3931 xorl %r10d,%r12d
3932 shrdl $11,%r14d,%r14d
3933 xorl %ebx,%r15d
3934 addl %r12d,%r11d
3935 shrdl $6,%r13d,%r13d
3936 andl %r15d,%edi
3937 xorl %eax,%r14d
3938 addl %r13d,%r11d
3939 xorl %ebx,%edi
3940 shrdl $2,%r14d,%r14d
3941 addl %r11d,%edx
3942 addl %edi,%r11d
3943 movl %edx,%r13d
3944 addl %r11d,%r14d
3945 shrdl $14,%r13d,%r13d
3946 movl %r14d,%r11d
3947 movl %r8d,%r12d
3948 shrdl $9,%r14d,%r14d
3949 xorl %edx,%r13d
3950 xorl %r9d,%r12d
3951 shrdl $5,%r13d,%r13d
3952 xorl %r11d,%r14d
3953 andl %edx,%r12d
3954 xorl %edx,%r13d
3955 addl 36(%rsp),%r10d
3956 movl %r11d,%edi
3957 xorl %r9d,%r12d
3958 shrdl $11,%r14d,%r14d
3959 xorl %eax,%edi
3960 addl %r12d,%r10d
3961 shrdl $6,%r13d,%r13d
3962 andl %edi,%r15d
3963 xorl %r11d,%r14d
3964 addl %r13d,%r10d
3965 xorl %eax,%r15d
3966 shrdl $2,%r14d,%r14d
3967 addl %r10d,%ecx
3968 addl %r15d,%r10d
3969 movl %ecx,%r13d
3970 addl %r10d,%r14d
3971 shrdl $14,%r13d,%r13d
3972 movl %r14d,%r10d
3973 movl %edx,%r12d
3974 shrdl $9,%r14d,%r14d
3975 xorl %ecx,%r13d
3976 xorl %r8d,%r12d
3977 shrdl $5,%r13d,%r13d
3978 xorl %r10d,%r14d
3979 andl %ecx,%r12d
3980 xorl %ecx,%r13d
3981 addl 40(%rsp),%r9d
3982 movl %r10d,%r15d
3983 xorl %r8d,%r12d
3984 shrdl $11,%r14d,%r14d
3985 xorl %r11d,%r15d
3986 addl %r12d,%r9d
3987 shrdl $6,%r13d,%r13d
3988 andl %r15d,%edi
3989 xorl %r10d,%r14d
3990 addl %r13d,%r9d
3991 xorl %r11d,%edi
3992 shrdl $2,%r14d,%r14d
3993 addl %r9d,%ebx
3994 addl %edi,%r9d
3995 movl %ebx,%r13d
3996 addl %r9d,%r14d
3997 shrdl $14,%r13d,%r13d
3998 movl %r14d,%r9d
3999 movl %ecx,%r12d
4000 shrdl $9,%r14d,%r14d
4001 xorl %ebx,%r13d
4002 xorl %edx,%r12d
4003 shrdl $5,%r13d,%r13d
4004 xorl %r9d,%r14d
4005 andl %ebx,%r12d
4006 xorl %ebx,%r13d
4007 addl 44(%rsp),%r8d
4008 movl %r9d,%edi
4009 xorl %edx,%r12d
4010 shrdl $11,%r14d,%r14d
4011 xorl %r10d,%edi
4012 addl %r12d,%r8d
4013 shrdl $6,%r13d,%r13d
4014 andl %edi,%r15d
4015 xorl %r9d,%r14d
4016 addl %r13d,%r8d
4017 xorl %r10d,%r15d
4018 shrdl $2,%r14d,%r14d
4019 addl %r8d,%eax
4020 addl %r15d,%r8d
4021 movl %eax,%r13d
4022 addl %r8d,%r14d
4023 shrdl $14,%r13d,%r13d
4024 movl %r14d,%r8d
4025 movl %ebx,%r12d
4026 shrdl $9,%r14d,%r14d
4027 xorl %eax,%r13d
4028 xorl %ecx,%r12d
4029 shrdl $5,%r13d,%r13d
4030 xorl %r8d,%r14d
4031 andl %eax,%r12d
4032 xorl %eax,%r13d
4033 addl 48(%rsp),%edx
4034 movl %r8d,%r15d
4035 xorl %ecx,%r12d
4036 shrdl $11,%r14d,%r14d
4037 xorl %r9d,%r15d
4038 addl %r12d,%edx
4039 shrdl $6,%r13d,%r13d
4040 andl %r15d,%edi
4041 xorl %r8d,%r14d
4042 addl %r13d,%edx
4043 xorl %r9d,%edi
4044 shrdl $2,%r14d,%r14d
4045 addl %edx,%r11d
4046 addl %edi,%edx
4047 movl %r11d,%r13d
4048 addl %edx,%r14d
4049 shrdl $14,%r13d,%r13d
4050 movl %r14d,%edx
4051 movl %eax,%r12d
4052 shrdl $9,%r14d,%r14d
4053 xorl %r11d,%r13d
4054 xorl %ebx,%r12d
4055 shrdl $5,%r13d,%r13d
4056 xorl %edx,%r14d
4057 andl %r11d,%r12d
4058 xorl %r11d,%r13d
4059 addl 52(%rsp),%ecx
4060 movl %edx,%edi
4061 xorl %ebx,%r12d
4062 shrdl $11,%r14d,%r14d
4063 xorl %r8d,%edi
4064 addl %r12d,%ecx
4065 shrdl $6,%r13d,%r13d
4066 andl %edi,%r15d
4067 xorl %edx,%r14d
4068 addl %r13d,%ecx
4069 xorl %r8d,%r15d
4070 shrdl $2,%r14d,%r14d
4071 addl %ecx,%r10d
4072 addl %r15d,%ecx
4073 movl %r10d,%r13d
4074 addl %ecx,%r14d
4075 shrdl $14,%r13d,%r13d
4076 movl %r14d,%ecx
4077 movl %r11d,%r12d
4078 shrdl $9,%r14d,%r14d
4079 xorl %r10d,%r13d
4080 xorl %eax,%r12d
4081 shrdl $5,%r13d,%r13d
4082 xorl %ecx,%r14d
4083 andl %r10d,%r12d
4084 xorl %r10d,%r13d
4085 addl 56(%rsp),%ebx
4086 movl %ecx,%r15d
4087 xorl %eax,%r12d
4088 shrdl $11,%r14d,%r14d
4089 xorl %edx,%r15d
4090 addl %r12d,%ebx
4091 shrdl $6,%r13d,%r13d
4092 andl %r15d,%edi
4093 xorl %ecx,%r14d
4094 addl %r13d,%ebx
4095 xorl %edx,%edi
4096 shrdl $2,%r14d,%r14d
4097 addl %ebx,%r9d
4098 addl %edi,%ebx
4099 movl %r9d,%r13d
4100 addl %ebx,%r14d
4101 shrdl $14,%r13d,%r13d
4102 movl %r14d,%ebx
4103 movl %r10d,%r12d
4104 shrdl $9,%r14d,%r14d
4105 xorl %r9d,%r13d
4106 xorl %r11d,%r12d
4107 shrdl $5,%r13d,%r13d
4108 xorl %ebx,%r14d
4109 andl %r9d,%r12d
4110 xorl %r9d,%r13d
4111 addl 60(%rsp),%eax
4112 movl %ebx,%edi
4113 xorl %r11d,%r12d
4114 shrdl $11,%r14d,%r14d
4115 xorl %ecx,%edi
4116 addl %r12d,%eax
4117 shrdl $6,%r13d,%r13d
4118 andl %edi,%r15d
4119 xorl %ebx,%r14d
4120 addl %r13d,%eax
4121 xorl %ecx,%r15d
4122 shrdl $2,%r14d,%r14d
4123 addl %eax,%r8d
4124 addl %r15d,%eax
4125 movl %r8d,%r13d
4126 addl %eax,%r14d
4127 movq 64+0(%rsp),%rdi
4128 movl %r14d,%eax
4129
4130 addl 0(%rdi),%eax
4131 leaq 64(%rsi),%rsi
4132 addl 4(%rdi),%ebx
4133 addl 8(%rdi),%ecx
4134 addl 12(%rdi),%edx
4135 addl 16(%rdi),%r8d
4136 addl 20(%rdi),%r9d
4137 addl 24(%rdi),%r10d
4138 addl 28(%rdi),%r11d
4139
4140 cmpq 64+16(%rsp),%rsi
4141
4142 movl %eax,0(%rdi)
4143 movl %ebx,4(%rdi)
4144 movl %ecx,8(%rdi)
4145 movl %edx,12(%rdi)
4146 movl %r8d,16(%rdi)
4147 movl %r9d,20(%rdi)
4148 movl %r10d,24(%rdi)
4149 movl %r11d,28(%rdi)
4150 jb .Lloop_avx
4151
4152 movq 88(%rsp),%rsi
4153 .cfi_def_cfa %rsi,8
4154 vzeroupper
4155 movq -48(%rsi),%r15
4156 .cfi_restore %r15
4157 movq -40(%rsi),%r14
4158 .cfi_restore %r14
4159 movq -32(%rsi),%r13
4160 .cfi_restore %r13
4161 movq -24(%rsi),%r12
4162 .cfi_restore %r12
4163 movq -16(%rsi),%rbp
4164 .cfi_restore %rbp
4165 movq -8(%rsi),%rbx
4166 .cfi_restore %rbx
4167 leaq (%rsi),%rsp
4168 .cfi_def_cfa_register %rsp
4169 .Lepilogue_avx:
4170 .byte 0xf3,0xc3
4171 .cfi_endproc
4172 .size sha256_block_data_order_avx,.-sha256_block_data_order_avx
4173 .type sha256_block_data_order_avx2,@function
4174 .align 64
4175 sha256_block_data_order_avx2:
4176 .cfi_startproc
4177 .Lavx2_shortcut:
4178 movq %rsp,%rax
4179 .cfi_def_cfa_register %rax
4180 pushq %rbx
4181 .cfi_offset %rbx,-16
4182 pushq %rbp
4183 .cfi_offset %rbp,-24
4184 pushq %r12
4185 .cfi_offset %r12,-32
4186 pushq %r13
4187 .cfi_offset %r13,-40
4188 pushq %r14
4189 .cfi_offset %r14,-48
4190 pushq %r15
4191 .cfi_offset %r15,-56
4192 subq $544,%rsp
4193 shlq $4,%rdx
4194 andq $-1024,%rsp
4195 leaq (%rsi,%rdx,4),%rdx
4196 addq $448,%rsp
4197 movq %rdi,64+0(%rsp)
4198 movq %rsi,64+8(%rsp)
4199 movq %rdx,64+16(%rsp)
4200 movq %rax,88(%rsp)
4201 .cfi_escape 0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
4202 .Lprologue_avx2:
4203
4204 vzeroupper
4205 subq $-64,%rsi
4206 movl 0(%rdi),%eax
4207 movq %rsi,%r12
4208 movl 4(%rdi),%ebx
4209 cmpq %rdx,%rsi
4210 movl 8(%rdi),%ecx
4211 cmoveq %rsp,%r12
4212 movl 12(%rdi),%edx
4213 movl 16(%rdi),%r8d
4214 movl 20(%rdi),%r9d
4215 movl 24(%rdi),%r10d
4216 movl 28(%rdi),%r11d
4217 vmovdqa K256+512+32(%rip),%ymm8
4218 vmovdqa K256+512+64(%rip),%ymm9
4219 jmp .Loop_avx2
4220 .align 16
4221 .Loop_avx2:
4222 vmovdqa K256+512(%rip),%ymm7
4223 vmovdqu -64+0(%rsi),%xmm0
4224 vmovdqu -64+16(%rsi),%xmm1
4225 vmovdqu -64+32(%rsi),%xmm2
4226 vmovdqu -64+48(%rsi),%xmm3
4227
4228 vinserti128 $1,(%r12),%ymm0,%ymm0
4229 vinserti128 $1,16(%r12),%ymm1,%ymm1
4230 vpshufb %ymm7,%ymm0,%ymm0
4231 vinserti128 $1,32(%r12),%ymm2,%ymm2
4232 vpshufb %ymm7,%ymm1,%ymm1
4233 vinserti128 $1,48(%r12),%ymm3,%ymm3
4234
4235 leaq K256(%rip),%rbp
4236 vpshufb %ymm7,%ymm2,%ymm2
4237 vpaddd 0(%rbp),%ymm0,%ymm4
4238 vpshufb %ymm7,%ymm3,%ymm3
4239 vpaddd 32(%rbp),%ymm1,%ymm5
4240 vpaddd 64(%rbp),%ymm2,%ymm6
4241 vpaddd 96(%rbp),%ymm3,%ymm7
4242 vmovdqa %ymm4,0(%rsp)
4243 xorl %r14d,%r14d
4244 vmovdqa %ymm5,32(%rsp)
4245
4246 movq 88(%rsp),%rdi
4247 .cfi_def_cfa %rdi,8
4248 leaq -64(%rsp),%rsp
4249
4250
4251
4252 movq %rdi,-8(%rsp)
4253 .cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08
4254 movl %ebx,%edi
4255 vmovdqa %ymm6,0(%rsp)
4256 xorl %ecx,%edi
4257 vmovdqa %ymm7,32(%rsp)
4258 movl %r9d,%r12d
4259 subq $-32*4,%rbp
4260 jmp .Lavx2_00_47
4261
4262 .align 16
4263 .Lavx2_00_47:
4264 leaq -64(%rsp),%rsp
4265 .cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08
4266
4267 pushq 64-8(%rsp)
4268 .cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08
4269 leaq 8(%rsp),%rsp
4270 .cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08
4271 vpalignr $4,%ymm0,%ymm1,%ymm4
4272 addl 0+128(%rsp),%r11d
4273 andl %r8d,%r12d
4274 rorxl $25,%r8d,%r13d
4275 vpalignr $4,%ymm2,%ymm3,%ymm7
4276 rorxl $11,%r8d,%r15d
4277 leal (%rax,%r14,1),%eax
4278 leal (%r11,%r12,1),%r11d
4279 vpsrld $7,%ymm4,%ymm6
4280 andnl %r10d,%r8d,%r12d
4281 xorl %r15d,%r13d
4282 rorxl $6,%r8d,%r14d
4283 vpaddd %ymm7,%ymm0,%ymm0
4284 leal (%r11,%r12,1),%r11d
4285 xorl %r14d,%r13d
4286 movl %eax,%r15d
4287 vpsrld $3,%ymm4,%ymm7
4288 rorxl $22,%eax,%r12d
4289 leal (%r11,%r13,1),%r11d
4290 xorl %ebx,%r15d
4291 vpslld $14,%ymm4,%ymm5
4292 rorxl $13,%eax,%r14d
4293 rorxl $2,%eax,%r13d
4294 leal (%rdx,%r11,1),%edx
4295 vpxor %ymm6,%ymm7,%ymm4
4296 andl %r15d,%edi
4297 xorl %r12d,%r14d
4298 xorl %ebx,%edi
4299 vpshufd $250,%ymm3,%ymm7
4300 xorl %r13d,%r14d
4301 leal (%r11,%rdi,1),%r11d
4302 movl %r8d,%r12d
4303 vpsrld $11,%ymm6,%ymm6
4304 addl 4+128(%rsp),%r10d
4305 andl %edx,%r12d
4306 rorxl $25,%edx,%r13d
4307 vpxor %ymm5,%ymm4,%ymm4
4308 rorxl $11,%edx,%edi
4309 leal (%r11,%r14,1),%r11d
4310 leal (%r10,%r12,1),%r10d
4311 vpslld $11,%ymm5,%ymm5
4312 andnl %r9d,%edx,%r12d
4313 xorl %edi,%r13d
4314 rorxl $6,%edx,%r14d
4315 vpxor %ymm6,%ymm4,%ymm4
4316 leal (%r10,%r12,1),%r10d
4317 xorl %r14d,%r13d
4318 movl %r11d,%edi
4319 vpsrld $10,%ymm7,%ymm6
4320 rorxl $22,%r11d,%r12d
4321 leal (%r10,%r13,1),%r10d
4322 xorl %eax,%edi
4323 vpxor %ymm5,%ymm4,%ymm4
4324 rorxl $13,%r11d,%r14d
4325 rorxl $2,%r11d,%r13d
4326 leal (%rcx,%r10,1),%ecx
4327 vpsrlq $17,%ymm7,%ymm7
4328 andl %edi,%r15d
4329 xorl %r12d,%r14d
4330 xorl %eax,%r15d
4331 vpaddd %ymm4,%ymm0,%ymm0
4332 xorl %r13d,%r14d
4333 leal (%r10,%r15,1),%r10d
4334 movl %edx,%r12d
4335 vpxor %ymm7,%ymm6,%ymm6
4336 addl 8+128(%rsp),%r9d
4337 andl %ecx,%r12d
4338 rorxl $25,%ecx,%r13d
4339 vpsrlq $2,%ymm7,%ymm7
4340 rorxl $11,%ecx,%r15d
4341 leal (%r10,%r14,1),%r10d
4342 leal (%r9,%r12,1),%r9d
4343 vpxor %ymm7,%ymm6,%ymm6
4344 andnl %r8d,%ecx,%r12d
4345 xorl %r15d,%r13d
4346 rorxl $6,%ecx,%r14d
4347 vpshufb %ymm8,%ymm6,%ymm6
4348 leal (%r9,%r12,1),%r9d
4349 xorl %r14d,%r13d
4350 movl %r10d,%r15d
4351 vpaddd %ymm6,%ymm0,%ymm0
4352 rorxl $22,%r10d,%r12d
4353 leal (%r9,%r13,1),%r9d
4354 xorl %r11d,%r15d
4355 vpshufd $80,%ymm0,%ymm7
4356 rorxl $13,%r10d,%r14d
4357 rorxl $2,%r10d,%r13d
4358 leal (%rbx,%r9,1),%ebx
4359 vpsrld $10,%ymm7,%ymm6
4360 andl %r15d,%edi
4361 xorl %r12d,%r14d
4362 xorl %r11d,%edi
4363 vpsrlq $17,%ymm7,%ymm7
4364 xorl %r13d,%r14d
4365 leal (%r9,%rdi,1),%r9d
4366 movl %ecx,%r12d
4367 vpxor %ymm7,%ymm6,%ymm6
4368 addl 12+128(%rsp),%r8d
4369 andl %ebx,%r12d
4370 rorxl $25,%ebx,%r13d
4371 vpsrlq $2,%ymm7,%ymm7
4372 rorxl $11,%ebx,%edi
4373 leal (%r9,%r14,1),%r9d
4374 leal (%r8,%r12,1),%r8d
4375 vpxor %ymm7,%ymm6,%ymm6
4376 andnl %edx,%ebx,%r12d
4377 xorl %edi,%r13d
4378 rorxl $6,%ebx,%r14d
4379 vpshufb %ymm9,%ymm6,%ymm6
4380 leal (%r8,%r12,1),%r8d
4381 xorl %r14d,%r13d
4382 movl %r9d,%edi
4383 vpaddd %ymm6,%ymm0,%ymm0
4384 rorxl $22,%r9d,%r12d
4385 leal (%r8,%r13,1),%r8d
4386 xorl %r10d,%edi
4387 vpaddd 0(%rbp),%ymm0,%ymm6
4388 rorxl $13,%r9d,%r14d
4389 rorxl $2,%r9d,%r13d
4390 leal (%rax,%r8,1),%eax
4391 andl %edi,%r15d
4392 xorl %r12d,%r14d
4393 xorl %r10d,%r15d
4394 xorl %r13d,%r14d
4395 leal (%r8,%r15,1),%r8d
4396 movl %ebx,%r12d
4397 vmovdqa %ymm6,0(%rsp)
4398 vpalignr $4,%ymm1,%ymm2,%ymm4
4399 addl 32+128(%rsp),%edx
4400 andl %eax,%r12d
4401 rorxl $25,%eax,%r13d
4402 vpalignr $4,%ymm3,%ymm0,%ymm7
4403 rorxl $11,%eax,%r15d
4404 leal (%r8,%r14,1),%r8d
4405 leal (%rdx,%r12,1),%edx
4406 vpsrld $7,%ymm4,%ymm6
4407 andnl %ecx,%eax,%r12d
4408 xorl %r15d,%r13d
4409 rorxl $6,%eax,%r14d
4410 vpaddd %ymm7,%ymm1,%ymm1
4411 leal (%rdx,%r12,1),%edx
4412 xorl %r14d,%r13d
4413 movl %r8d,%r15d
4414 vpsrld $3,%ymm4,%ymm7
4415 rorxl $22,%r8d,%r12d
4416 leal (%rdx,%r13,1),%edx
4417 xorl %r9d,%r15d
4418 vpslld $14,%ymm4,%ymm5
4419 rorxl $13,%r8d,%r14d
4420 rorxl $2,%r8d,%r13d
4421 leal (%r11,%rdx,1),%r11d
4422 vpxor %ymm6,%ymm7,%ymm4
4423 andl %r15d,%edi
4424 xorl %r12d,%r14d
4425 xorl %r9d,%edi
4426 vpshufd $250,%ymm0,%ymm7
4427 xorl %r13d,%r14d
4428 leal (%rdx,%rdi,1),%edx
4429 movl %eax,%r12d
4430 vpsrld $11,%ymm6,%ymm6
4431 addl 36+128(%rsp),%ecx
4432 andl %r11d,%r12d
4433 rorxl $25,%r11d,%r13d
4434 vpxor %ymm5,%ymm4,%ymm4
4435 rorxl $11,%r11d,%edi
4436 leal (%rdx,%r14,1),%edx
4437 leal (%rcx,%r12,1),%ecx
4438 vpslld $11,%ymm5,%ymm5
4439 andnl %ebx,%r11d,%r12d
4440 xorl %edi,%r13d
4441 rorxl $6,%r11d,%r14d
4442 vpxor %ymm6,%ymm4,%ymm4
4443 leal (%rcx,%r12,1),%ecx
4444 xorl %r14d,%r13d
4445 movl %edx,%edi
4446 vpsrld $10,%ymm7,%ymm6
4447 rorxl $22,%edx,%r12d
4448 leal (%rcx,%r13,1),%ecx
4449 xorl %r8d,%edi
4450 vpxor %ymm5,%ymm4,%ymm4
4451 rorxl $13,%edx,%r14d
4452 rorxl $2,%edx,%r13d
4453 leal (%r10,%rcx,1),%r10d
4454 vpsrlq $17,%ymm7,%ymm7
4455 andl %edi,%r15d
4456 xorl %r12d,%r14d
4457 xorl %r8d,%r15d
4458 vpaddd %ymm4,%ymm1,%ymm1
4459 xorl %r13d,%r14d
4460 leal (%rcx,%r15,1),%ecx
4461 movl %r11d,%r12d
4462 vpxor %ymm7,%ymm6,%ymm6
4463 addl 40+128(%rsp),%ebx
4464 andl %r10d,%r12d
4465 rorxl $25,%r10d,%r13d
4466 vpsrlq $2,%ymm7,%ymm7
4467 rorxl $11,%r10d,%r15d
4468 leal (%rcx,%r14,1),%ecx
4469 leal (%rbx,%r12,1),%ebx
4470 vpxor %ymm7,%ymm6,%ymm6
4471 andnl %eax,%r10d,%r12d
4472 xorl %r15d,%r13d
4473 rorxl $6,%r10d,%r14d
4474 vpshufb %ymm8,%ymm6,%ymm6
4475 leal (%rbx,%r12,1),%ebx
4476 xorl %r14d,%r13d
4477 movl %ecx,%r15d
4478 vpaddd %ymm6,%ymm1,%ymm1
4479 rorxl $22,%ecx,%r12d
4480 leal (%rbx,%r13,1),%ebx
4481 xorl %edx,%r15d
4482 vpshufd $80,%ymm1,%ymm7
4483 rorxl $13,%ecx,%r14d
4484 rorxl $2,%ecx,%r13d
4485 leal (%r9,%rbx,1),%r9d
4486 vpsrld $10,%ymm7,%ymm6
4487 andl %r15d,%edi
4488 xorl %r12d,%r14d
4489 xorl %edx,%edi
4490 vpsrlq $17,%ymm7,%ymm7
4491 xorl %r13d,%r14d
4492 leal (%rbx,%rdi,1),%ebx
4493 movl %r10d,%r12d
4494 vpxor %ymm7,%ymm6,%ymm6
4495 addl 44+128(%rsp),%eax
4496 andl %r9d,%r12d
4497 rorxl $25,%r9d,%r13d
4498 vpsrlq $2,%ymm7,%ymm7
4499 rorxl $11,%r9d,%edi
4500 leal (%rbx,%r14,1),%ebx
4501 leal (%rax,%r12,1),%eax
4502 vpxor %ymm7,%ymm6,%ymm6
4503 andnl %r11d,%r9d,%r12d
4504 xorl %edi,%r13d
4505 rorxl $6,%r9d,%r14d
4506 vpshufb %ymm9,%ymm6,%ymm6
4507 leal (%rax,%r12,1),%eax
4508 xorl %r14d,%r13d
4509 movl %ebx,%edi
4510 vpaddd %ymm6,%ymm1,%ymm1
4511 rorxl $22,%ebx,%r12d
4512 leal (%rax,%r13,1),%eax
4513 xorl %ecx,%edi
4514 vpaddd 32(%rbp),%ymm1,%ymm6
4515 rorxl $13,%ebx,%r14d
4516 rorxl $2,%ebx,%r13d
4517 leal (%r8,%rax,1),%r8d
4518 andl %edi,%r15d
4519 xorl %r12d,%r14d
4520 xorl %ecx,%r15d
4521 xorl %r13d,%r14d
4522 leal (%rax,%r15,1),%eax
4523 movl %r9d,%r12d
4524 vmovdqa %ymm6,32(%rsp)
4525 leaq -64(%rsp),%rsp
4526 .cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08
4527
4528 pushq 64-8(%rsp)
4529 .cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08
4530 leaq 8(%rsp),%rsp
4531 .cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08
4532 vpalignr $4,%ymm2,%ymm3,%ymm4
4533 addl 0+128(%rsp),%r11d
4534 andl %r8d,%r12d
4535 rorxl $25,%r8d,%r13d
4536 vpalignr $4,%ymm0,%ymm1,%ymm7
4537 rorxl $11,%r8d,%r15d
4538 leal (%rax,%r14,1),%eax
4539 leal (%r11,%r12,1),%r11d
4540 vpsrld $7,%ymm4,%ymm6
4541 andnl %r10d,%r8d,%r12d
4542 xorl %r15d,%r13d
4543 rorxl $6,%r8d,%r14d
4544 vpaddd %ymm7,%ymm2,%ymm2
4545 leal (%r11,%r12,1),%r11d
4546 xorl %r14d,%r13d
4547 movl %eax,%r15d
4548 vpsrld $3,%ymm4,%ymm7
4549 rorxl $22,%eax,%r12d
4550 leal (%r11,%r13,1),%r11d
4551 xorl %ebx,%r15d
4552 vpslld $14,%ymm4,%ymm5
4553 rorxl $13,%eax,%r14d
4554 rorxl $2,%eax,%r13d
4555 leal (%rdx,%r11,1),%edx
4556 vpxor %ymm6,%ymm7,%ymm4
4557 andl %r15d,%edi
4558 xorl %r12d,%r14d
4559 xorl %ebx,%edi
4560 vpshufd $250,%ymm1,%ymm7
4561 xorl %r13d,%r14d
4562 leal (%r11,%rdi,1),%r11d
4563 movl %r8d,%r12d
4564 vpsrld $11,%ymm6,%ymm6
4565 addl 4+128(%rsp),%r10d
4566 andl %edx,%r12d
4567 rorxl $25,%edx,%r13d
4568 vpxor %ymm5,%ymm4,%ymm4
4569 rorxl $11,%edx,%edi
4570 leal (%r11,%r14,1),%r11d
4571 leal (%r10,%r12,1),%r10d
4572 vpslld $11,%ymm5,%ymm5
4573 andnl %r9d,%edx,%r12d
4574 xorl %edi,%r13d
4575 rorxl $6,%edx,%r14d
4576 vpxor %ymm6,%ymm4,%ymm4
4577 leal (%r10,%r12,1),%r10d
4578 xorl %r14d,%r13d
4579 movl %r11d,%edi
4580 vpsrld $10,%ymm7,%ymm6
4581 rorxl $22,%r11d,%r12d
4582 leal (%r10,%r13,1),%r10d
4583 xorl %eax,%edi
4584 vpxor %ymm5,%ymm4,%ymm4
4585 rorxl $13,%r11d,%r14d
4586 rorxl $2,%r11d,%r13d
4587 leal (%rcx,%r10,1),%ecx
4588 vpsrlq $17,%ymm7,%ymm7
4589 andl %edi,%r15d
4590 xorl %r12d,%r14d
4591 xorl %eax,%r15d
4592 vpaddd %ymm4,%ymm2,%ymm2
4593 xorl %r13d,%r14d
4594 leal (%r10,%r15,1),%r10d
4595 movl %edx,%r12d
4596 vpxor %ymm7,%ymm6,%ymm6
4597 addl 8+128(%rsp),%r9d
4598 andl %ecx,%r12d
4599 rorxl $25,%ecx,%r13d
4600 vpsrlq $2,%ymm7,%ymm7
4601 rorxl $11,%ecx,%r15d
4602 leal (%r10,%r14,1),%r10d
4603 leal (%r9,%r12,1),%r9d
4604 vpxor %ymm7,%ymm6,%ymm6
4605 andnl %r8d,%ecx,%r12d
4606 xorl %r15d,%r13d
4607 rorxl $6,%ecx,%r14d
4608 vpshufb %ymm8,%ymm6,%ymm6
4609 leal (%r9,%r12,1),%r9d
4610 xorl %r14d,%r13d
4611 movl %r10d,%r15d
4612 vpaddd %ymm6,%ymm2,%ymm2
4613 rorxl $22,%r10d,%r12d
4614 leal (%r9,%r13,1),%r9d
4615 xorl %r11d,%r15d
4616 vpshufd $80,%ymm2,%ymm7
4617 rorxl $13,%r10d,%r14d
4618 rorxl $2,%r10d,%r13d
4619 leal (%rbx,%r9,1),%ebx
4620 vpsrld $10,%ymm7,%ymm6
4621 andl %r15d,%edi
4622 xorl %r12d,%r14d
4623 xorl %r11d,%edi
4624 vpsrlq $17,%ymm7,%ymm7
4625 xorl %r13d,%r14d
4626 leal (%r9,%rdi,1),%r9d
4627 movl %ecx,%r12d
4628 vpxor %ymm7,%ymm6,%ymm6
4629 addl 12+128(%rsp),%r8d
4630 andl %ebx,%r12d
4631 rorxl $25,%ebx,%r13d
4632 vpsrlq $2,%ymm7,%ymm7
4633 rorxl $11,%ebx,%edi
4634 leal (%r9,%r14,1),%r9d
4635 leal (%r8,%r12,1),%r8d
4636 vpxor %ymm7,%ymm6,%ymm6
4637 andnl %edx,%ebx,%r12d
4638 xorl %edi,%r13d
4639 rorxl $6,%ebx,%r14d
4640 vpshufb %ymm9,%ymm6,%ymm6
4641 leal (%r8,%r12,1),%r8d
4642 xorl %r14d,%r13d
4643 movl %r9d,%edi
4644 vpaddd %ymm6,%ymm2,%ymm2
4645 rorxl $22,%r9d,%r12d
4646 leal (%r8,%r13,1),%r8d
4647 xorl %r10d,%edi
4648 vpaddd 64(%rbp),%ymm2,%ymm6
4649 rorxl $13,%r9d,%r14d
4650 rorxl $2,%r9d,%r13d
4651 leal (%rax,%r8,1),%eax
4652 andl %edi,%r15d
4653 xorl %r12d,%r14d
4654 xorl %r10d,%r15d
4655 xorl %r13d,%r14d
4656 leal (%r8,%r15,1),%r8d
4657 movl %ebx,%r12d
4658 vmovdqa %ymm6,0(%rsp)
4659 vpalignr $4,%ymm3,%ymm0,%ymm4
4660 addl 32+128(%rsp),%edx
4661 andl %eax,%r12d
4662 rorxl $25,%eax,%r13d
4663 vpalignr $4,%ymm1,%ymm2,%ymm7
4664 rorxl $11,%eax,%r15d
4665 leal (%r8,%r14,1),%r8d
4666 leal (%rdx,%r12,1),%edx
4667 vpsrld $7,%ymm4,%ymm6
4668 andnl %ecx,%eax,%r12d
4669 xorl %r15d,%r13d
4670 rorxl $6,%eax,%r14d
4671 vpaddd %ymm7,%ymm3,%ymm3
4672 leal (%rdx,%r12,1),%edx
4673 xorl %r14d,%r13d
4674 movl %r8d,%r15d
4675 vpsrld $3,%ymm4,%ymm7
4676 rorxl $22,%r8d,%r12d
4677 leal (%rdx,%r13,1),%edx
4678 xorl %r9d,%r15d
4679 vpslld $14,%ymm4,%ymm5
4680 rorxl $13,%r8d,%r14d
4681 rorxl $2,%r8d,%r13d
4682 leal (%r11,%rdx,1),%r11d
4683 vpxor %ymm6,%ymm7,%ymm4
4684 andl %r15d,%edi
4685 xorl %r12d,%r14d
4686 xorl %r9d,%edi
4687 vpshufd $250,%ymm2,%ymm7
4688 xorl %r13d,%r14d
4689 leal (%rdx,%rdi,1),%edx
4690 movl %eax,%r12d
4691 vpsrld $11,%ymm6,%ymm6
4692 addl 36+128(%rsp),%ecx
4693 andl %r11d,%r12d
4694 rorxl $25,%r11d,%r13d
4695 vpxor %ymm5,%ymm4,%ymm4
4696 rorxl $11,%r11d,%edi
4697 leal (%rdx,%r14,1),%edx
4698 leal (%rcx,%r12,1),%ecx
4699 vpslld $11,%ymm5,%ymm5
4700 andnl %ebx,%r11d,%r12d
4701 xorl %edi,%r13d
4702 rorxl $6,%r11d,%r14d
4703 vpxor %ymm6,%ymm4,%ymm4
4704 leal (%rcx,%r12,1),%ecx
4705 xorl %r14d,%r13d
4706 movl %edx,%edi
4707 vpsrld $10,%ymm7,%ymm6
4708 rorxl $22,%edx,%r12d
4709 leal (%rcx,%r13,1),%ecx
4710 xorl %r8d,%edi
4711 vpxor %ymm5,%ymm4,%ymm4
4712 rorxl $13,%edx,%r14d
4713 rorxl $2,%edx,%r13d
4714 leal (%r10,%rcx,1),%r10d
4715 vpsrlq $17,%ymm7,%ymm7
4716 andl %edi,%r15d
4717 xorl %r12d,%r14d
4718 xorl %r8d,%r15d
4719 vpaddd %ymm4,%ymm3,%ymm3
4720 xorl %r13d,%r14d
4721 leal (%rcx,%r15,1),%ecx
4722 movl %r11d,%r12d
4723 vpxor %ymm7,%ymm6,%ymm6
4724 addl 40+128(%rsp),%ebx
4725 andl %r10d,%r12d
4726 rorxl $25,%r10d,%r13d
4727 vpsrlq $2,%ymm7,%ymm7
4728 rorxl $11,%r10d,%r15d
4729 leal (%rcx,%r14,1),%ecx
4730 leal (%rbx,%r12,1),%ebx
4731 vpxor %ymm7,%ymm6,%ymm6
4732 andnl %eax,%r10d,%r12d
4733 xorl %r15d,%r13d
4734 rorxl $6,%r10d,%r14d
4735 vpshufb %ymm8,%ymm6,%ymm6
4736 leal (%rbx,%r12,1),%ebx
4737 xorl %r14d,%r13d
4738 movl %ecx,%r15d
4739 vpaddd %ymm6,%ymm3,%ymm3
4740 rorxl $22,%ecx,%r12d
4741 leal (%rbx,%r13,1),%ebx
4742 xorl %edx,%r15d
4743 vpshufd $80,%ymm3,%ymm7
4744 rorxl $13,%ecx,%r14d
4745 rorxl $2,%ecx,%r13d
4746 leal (%r9,%rbx,1),%r9d
4747 vpsrld $10,%ymm7,%ymm6
4748 andl %r15d,%edi
4749 xorl %r12d,%r14d
4750 xorl %edx,%edi
4751 vpsrlq $17,%ymm7,%ymm7
4752 xorl %r13d,%r14d
4753 leal (%rbx,%rdi,1),%ebx
4754 movl %r10d,%r12d
4755 vpxor %ymm7,%ymm6,%ymm6
4756 addl 44+128(%rsp),%eax
4757 andl %r9d,%r12d
4758 rorxl $25,%r9d,%r13d
4759 vpsrlq $2,%ymm7,%ymm7
4760 rorxl $11,%r9d,%edi
4761 leal (%rbx,%r14,1),%ebx
4762 leal (%rax,%r12,1),%eax
4763 vpxor %ymm7,%ymm6,%ymm6
4764 andnl %r11d,%r9d,%r12d
4765 xorl %edi,%r13d
4766 rorxl $6,%r9d,%r14d
4767 vpshufb %ymm9,%ymm6,%ymm6
4768 leal (%rax,%r12,1),%eax
4769 xorl %r14d,%r13d
4770 movl %ebx,%edi
4771 vpaddd %ymm6,%ymm3,%ymm3
4772 rorxl $22,%ebx,%r12d
4773 leal (%rax,%r13,1),%eax
4774 xorl %ecx,%edi
4775 vpaddd 96(%rbp),%ymm3,%ymm6
4776 rorxl $13,%ebx,%r14d
4777 rorxl $2,%ebx,%r13d
4778 leal (%r8,%rax,1),%r8d
4779 andl %edi,%r15d
4780 xorl %r12d,%r14d
4781 xorl %ecx,%r15d
4782 xorl %r13d,%r14d
4783 leal (%rax,%r15,1),%eax
4784 movl %r9d,%r12d
4785 vmovdqa %ymm6,32(%rsp)
4786 leaq 128(%rbp),%rbp
4787 cmpb $0,3(%rbp)
4788 jne .Lavx2_00_47
4789 addl 0+64(%rsp),%r11d
4790 andl %r8d,%r12d
4791 rorxl $25,%r8d,%r13d
4792 rorxl $11,%r8d,%r15d
4793 leal (%rax,%r14,1),%eax
4794 leal (%r11,%r12,1),%r11d
4795 andnl %r10d,%r8d,%r12d
4796 xorl %r15d,%r13d
4797 rorxl $6,%r8d,%r14d
4798 leal (%r11,%r12,1),%r11d
4799 xorl %r14d,%r13d
4800 movl %eax,%r15d
4801 rorxl $22,%eax,%r12d
4802 leal (%r11,%r13,1),%r11d
4803 xorl %ebx,%r15d
4804 rorxl $13,%eax,%r14d
4805 rorxl $2,%eax,%r13d
4806 leal (%rdx,%r11,1),%edx
4807 andl %r15d,%edi
4808 xorl %r12d,%r14d
4809 xorl %ebx,%edi
4810 xorl %r13d,%r14d
4811 leal (%r11,%rdi,1),%r11d
4812 movl %r8d,%r12d
4813 addl 4+64(%rsp),%r10d
4814 andl %edx,%r12d
4815 rorxl $25,%edx,%r13d
4816 rorxl $11,%edx,%edi
4817 leal (%r11,%r14,1),%r11d
4818 leal (%r10,%r12,1),%r10d
4819 andnl %r9d,%edx,%r12d
4820 xorl %edi,%r13d
4821 rorxl $6,%edx,%r14d
4822 leal (%r10,%r12,1),%r10d
4823 xorl %r14d,%r13d
4824 movl %r11d,%edi
4825 rorxl $22,%r11d,%r12d
4826 leal (%r10,%r13,1),%r10d
4827 xorl %eax,%edi
4828 rorxl $13,%r11d,%r14d
4829 rorxl $2,%r11d,%r13d
4830 leal (%rcx,%r10,1),%ecx
4831 andl %edi,%r15d
4832 xorl %r12d,%r14d
4833 xorl %eax,%r15d
4834 xorl %r13d,%r14d
4835 leal (%r10,%r15,1),%r10d
4836 movl %edx,%r12d
4837 addl 8+64(%rsp),%r9d
4838 andl %ecx,%r12d
4839 rorxl $25,%ecx,%r13d
4840 rorxl $11,%ecx,%r15d
4841 leal (%r10,%r14,1),%r10d
4842 leal (%r9,%r12,1),%r9d
4843 andnl %r8d,%ecx,%r12d
4844 xorl %r15d,%r13d
4845 rorxl $6,%ecx,%r14d
4846 leal (%r9,%r12,1),%r9d
4847 xorl %r14d,%r13d
4848 movl %r10d,%r15d
4849 rorxl $22,%r10d,%r12d
4850 leal (%r9,%r13,1),%r9d
4851 xorl %r11d,%r15d
4852 rorxl $13,%r10d,%r14d
4853 rorxl $2,%r10d,%r13d
4854 leal (%rbx,%r9,1),%ebx
4855 andl %r15d,%edi
4856 xorl %r12d,%r14d
4857 xorl %r11d,%edi
4858 xorl %r13d,%r14d
4859 leal (%r9,%rdi,1),%r9d
4860 movl %ecx,%r12d
4861 addl 12+64(%rsp),%r8d
4862 andl %ebx,%r12d
4863 rorxl $25,%ebx,%r13d
4864 rorxl $11,%ebx,%edi
4865 leal (%r9,%r14,1),%r9d
4866 leal (%r8,%r12,1),%r8d
4867 andnl %edx,%ebx,%r12d
4868 xorl %edi,%r13d
4869 rorxl $6,%ebx,%r14d
4870 leal (%r8,%r12,1),%r8d
4871 xorl %r14d,%r13d
4872 movl %r9d,%edi
4873 rorxl $22,%r9d,%r12d
4874 leal (%r8,%r13,1),%r8d
4875 xorl %r10d,%edi
4876 rorxl $13,%r9d,%r14d
4877 rorxl $2,%r9d,%r13d
4878 leal (%rax,%r8,1),%eax
4879 andl %edi,%r15d
4880 xorl %r12d,%r14d
4881 xorl %r10d,%r15d
4882 xorl %r13d,%r14d
4883 leal (%r8,%r15,1),%r8d
4884 movl %ebx,%r12d
4885 addl 32+64(%rsp),%edx
4886 andl %eax,%r12d
4887 rorxl $25,%eax,%r13d
4888 rorxl $11,%eax,%r15d
4889 leal (%r8,%r14,1),%r8d
4890 leal (%rdx,%r12,1),%edx
4891 andnl %ecx,%eax,%r12d
4892 xorl %r15d,%r13d
4893 rorxl $6,%eax,%r14d
4894 leal (%rdx,%r12,1),%edx
4895 xorl %r14d,%r13d
4896 movl %r8d,%r15d
4897 rorxl $22,%r8d,%r12d
4898 leal (%rdx,%r13,1),%edx
4899 xorl %r9d,%r15d
4900 rorxl $13,%r8d,%r14d
4901 rorxl $2,%r8d,%r13d
4902 leal (%r11,%rdx,1),%r11d
4903 andl %r15d,%edi
4904 xorl %r12d,%r14d
4905 xorl %r9d,%edi
4906 xorl %r13d,%r14d
4907 leal (%rdx,%rdi,1),%edx
4908 movl %eax,%r12d
4909 addl 36+64(%rsp),%ecx
4910 andl %r11d,%r12d
4911 rorxl $25,%r11d,%r13d
4912 rorxl $11,%r11d,%edi
4913 leal (%rdx,%r14,1),%edx
4914 leal (%rcx,%r12,1),%ecx
4915 andnl %ebx,%r11d,%r12d
4916 xorl %edi,%r13d
4917 rorxl $6,%r11d,%r14d
4918 leal (%rcx,%r12,1),%ecx
4919 xorl %r14d,%r13d
4920 movl %edx,%edi
4921 rorxl $22,%edx,%r12d
4922 leal (%rcx,%r13,1),%ecx
4923 xorl %r8d,%edi
4924 rorxl $13,%edx,%r14d
4925 rorxl $2,%edx,%r13d
4926 leal (%r10,%rcx,1),%r10d
4927 andl %edi,%r15d
4928 xorl %r12d,%r14d
4929 xorl %r8d,%r15d
4930 xorl %r13d,%r14d
4931 leal (%rcx,%r15,1),%ecx
4932 movl %r11d,%r12d
4933 addl 40+64(%rsp),%ebx
4934 andl %r10d,%r12d
4935 rorxl $25,%r10d,%r13d
4936 rorxl $11,%r10d,%r15d
4937 leal (%rcx,%r14,1),%ecx
4938 leal (%rbx,%r12,1),%ebx
4939 andnl %eax,%r10d,%r12d
4940 xorl %r15d,%r13d
4941 rorxl $6,%r10d,%r14d
4942 leal (%rbx,%r12,1),%ebx
4943 xorl %r14d,%r13d
4944 movl %ecx,%r15d
4945 rorxl $22,%ecx,%r12d
4946 leal (%rbx,%r13,1),%ebx
4947 xorl %edx,%r15d
4948 rorxl $13,%ecx,%r14d
4949 rorxl $2,%ecx,%r13d
4950 leal (%r9,%rbx,1),%r9d
4951 andl %r15d,%edi
4952 xorl %r12d,%r14d
4953 xorl %edx,%edi
4954 xorl %r13d,%r14d
4955 leal (%rbx,%rdi,1),%ebx
4956 movl %r10d,%r12d
4957 addl 44+64(%rsp),%eax
4958 andl %r9d,%r12d
4959 rorxl $25,%r9d,%r13d
4960 rorxl $11,%r9d,%edi
4961 leal (%rbx,%r14,1),%ebx
4962 leal (%rax,%r12,1),%eax
4963 andnl %r11d,%r9d,%r12d
4964 xorl %edi,%r13d
4965 rorxl $6,%r9d,%r14d
4966 leal (%rax,%r12,1),%eax
4967 xorl %r14d,%r13d
4968 movl %ebx,%edi
4969 rorxl $22,%ebx,%r12d
4970 leal (%rax,%r13,1),%eax
4971 xorl %ecx,%edi
4972 rorxl $13,%ebx,%r14d
4973 rorxl $2,%ebx,%r13d
4974 leal (%r8,%rax,1),%r8d
4975 andl %edi,%r15d
4976 xorl %r12d,%r14d
4977 xorl %ecx,%r15d
4978 xorl %r13d,%r14d
4979 leal (%rax,%r15,1),%eax
4980 movl %r9d,%r12d
4981 addl 0(%rsp),%r11d
4982 andl %r8d,%r12d
4983 rorxl $25,%r8d,%r13d
4984 rorxl $11,%r8d,%r15d
4985 leal (%rax,%r14,1),%eax
4986 leal (%r11,%r12,1),%r11d
4987 andnl %r10d,%r8d,%r12d
4988 xorl %r15d,%r13d
4989 rorxl $6,%r8d,%r14d
4990 leal (%r11,%r12,1),%r11d
4991 xorl %r14d,%r13d
4992 movl %eax,%r15d
4993 rorxl $22,%eax,%r12d
4994 leal (%r11,%r13,1),%r11d
4995 xorl %ebx,%r15d
4996 rorxl $13,%eax,%r14d
4997 rorxl $2,%eax,%r13d
4998 leal (%rdx,%r11,1),%edx
4999 andl %r15d,%edi
5000 xorl %r12d,%r14d
5001 xorl %ebx,%edi
5002 xorl %r13d,%r14d
5003 leal (%r11,%rdi,1),%r11d
5004 movl %r8d,%r12d
5005 addl 4(%rsp),%r10d
5006 andl %edx,%r12d
5007 rorxl $25,%edx,%r13d
5008 rorxl $11,%edx,%edi
5009 leal (%r11,%r14,1),%r11d
5010 leal (%r10,%r12,1),%r10d
5011 andnl %r9d,%edx,%r12d
5012 xorl %edi,%r13d
5013 rorxl $6,%edx,%r14d
5014 leal (%r10,%r12,1),%r10d
5015 xorl %r14d,%r13d
5016 movl %r11d,%edi
5017 rorxl $22,%r11d,%r12d
5018 leal (%r10,%r13,1),%r10d
5019 xorl %eax,%edi
5020 rorxl $13,%r11d,%r14d
5021 rorxl $2,%r11d,%r13d
5022 leal (%rcx,%r10,1),%ecx
5023 andl %edi,%r15d
5024 xorl %r12d,%r14d
5025 xorl %eax,%r15d
5026 xorl %r13d,%r14d
5027 leal (%r10,%r15,1),%r10d
5028 movl %edx,%r12d
5029 addl 8(%rsp),%r9d
5030 andl %ecx,%r12d
5031 rorxl $25,%ecx,%r13d
5032 rorxl $11,%ecx,%r15d
5033 leal (%r10,%r14,1),%r10d
5034 leal (%r9,%r12,1),%r9d
5035 andnl %r8d,%ecx,%r12d
5036 xorl %r15d,%r13d
5037 rorxl $6,%ecx,%r14d
5038 leal (%r9,%r12,1),%r9d
5039 xorl %r14d,%r13d
5040 movl %r10d,%r15d
5041 rorxl $22,%r10d,%r12d
5042 leal (%r9,%r13,1),%r9d
5043 xorl %r11d,%r15d
5044 rorxl $13,%r10d,%r14d
5045 rorxl $2,%r10d,%r13d
5046 leal (%rbx,%r9,1),%ebx
5047 andl %r15d,%edi
5048 xorl %r12d,%r14d
5049 xorl %r11d,%edi
5050 xorl %r13d,%r14d
5051 leal (%r9,%rdi,1),%r9d
5052 movl %ecx,%r12d
5053 addl 12(%rsp),%r8d
5054 andl %ebx,%r12d
5055 rorxl $25,%ebx,%r13d
5056 rorxl $11,%ebx,%edi
5057 leal (%r9,%r14,1),%r9d
5058 leal (%r8,%r12,1),%r8d
5059 andnl %edx,%ebx,%r12d
5060 xorl %edi,%r13d
5061 rorxl $6,%ebx,%r14d
5062 leal (%r8,%r12,1),%r8d
5063 xorl %r14d,%r13d
5064 movl %r9d,%edi
5065 rorxl $22,%r9d,%r12d
5066 leal (%r8,%r13,1),%r8d
5067 xorl %r10d,%edi
5068 rorxl $13,%r9d,%r14d
5069 rorxl $2,%r9d,%r13d
5070 leal (%rax,%r8,1),%eax
5071 andl %edi,%r15d
5072 xorl %r12d,%r14d
5073 xorl %r10d,%r15d
5074 xorl %r13d,%r14d
5075 leal (%r8,%r15,1),%r8d
5076 movl %ebx,%r12d
5077 addl 32(%rsp),%edx
5078 andl %eax,%r12d
5079 rorxl $25,%eax,%r13d
5080 rorxl $11,%eax,%r15d
5081 leal (%r8,%r14,1),%r8d
5082 leal (%rdx,%r12,1),%edx
5083 andnl %ecx,%eax,%r12d
5084 xorl %r15d,%r13d
5085 rorxl $6,%eax,%r14d
5086 leal (%rdx,%r12,1),%edx
5087 xorl %r14d,%r13d
5088 movl %r8d,%r15d
5089 rorxl $22,%r8d,%r12d
5090 leal (%rdx,%r13,1),%edx
5091 xorl %r9d,%r15d
5092 rorxl $13,%r8d,%r14d
5093 rorxl $2,%r8d,%r13d
5094 leal (%r11,%rdx,1),%r11d
5095 andl %r15d,%edi
5096 xorl %r12d,%r14d
5097 xorl %r9d,%edi
5098 xorl %r13d,%r14d
5099 leal (%rdx,%rdi,1),%edx
5100 movl %eax,%r12d
5101 addl 36(%rsp),%ecx
5102 andl %r11d,%r12d
5103 rorxl $25,%r11d,%r13d
5104 rorxl $11,%r11d,%edi
5105 leal (%rdx,%r14,1),%edx
5106 leal (%rcx,%r12,1),%ecx
5107 andnl %ebx,%r11d,%r12d
5108 xorl %edi,%r13d
5109 rorxl $6,%r11d,%r14d
5110 leal (%rcx,%r12,1),%ecx
5111 xorl %r14d,%r13d
5112 movl %edx,%edi
5113 rorxl $22,%edx,%r12d
5114 leal (%rcx,%r13,1),%ecx
5115 xorl %r8d,%edi
5116 rorxl $13,%edx,%r14d
5117 rorxl $2,%edx,%r13d
5118 leal (%r10,%rcx,1),%r10d
5119 andl %edi,%r15d
5120 xorl %r12d,%r14d
5121 xorl %r8d,%r15d
5122 xorl %r13d,%r14d
5123 leal (%rcx,%r15,1),%ecx
5124 movl %r11d,%r12d
5125 addl 40(%rsp),%ebx
5126 andl %r10d,%r12d
5127 rorxl $25,%r10d,%r13d
5128 rorxl $11,%r10d,%r15d
5129 leal (%rcx,%r14,1),%ecx
5130 leal (%rbx,%r12,1),%ebx
5131 andnl %eax,%r10d,%r12d
5132 xorl %r15d,%r13d
5133 rorxl $6,%r10d,%r14d
5134 leal (%rbx,%r12,1),%ebx
5135 xorl %r14d,%r13d
5136 movl %ecx,%r15d
5137 rorxl $22,%ecx,%r12d
5138 leal (%rbx,%r13,1),%ebx
5139 xorl %edx,%r15d
5140 rorxl $13,%ecx,%r14d
5141 rorxl $2,%ecx,%r13d
5142 leal (%r9,%rbx,1),%r9d
5143 andl %r15d,%edi
5144 xorl %r12d,%r14d
5145 xorl %edx,%edi
5146 xorl %r13d,%r14d
5147 leal (%rbx,%rdi,1),%ebx
5148 movl %r10d,%r12d
5149 addl 44(%rsp),%eax
5150 andl %r9d,%r12d
5151 rorxl $25,%r9d,%r13d
5152 rorxl $11,%r9d,%edi
5153 leal (%rbx,%r14,1),%ebx
5154 leal (%rax,%r12,1),%eax
5155 andnl %r11d,%r9d,%r12d
5156 xorl %edi,%r13d
5157 rorxl $6,%r9d,%r14d
5158 leal (%rax,%r12,1),%eax
5159 xorl %r14d,%r13d
5160 movl %ebx,%edi
5161 rorxl $22,%ebx,%r12d
5162 leal (%rax,%r13,1),%eax
5163 xorl %ecx,%edi
5164 rorxl $13,%ebx,%r14d
5165 rorxl $2,%ebx,%r13d
5166 leal (%r8,%rax,1),%r8d
5167 andl %edi,%r15d
5168 xorl %r12d,%r14d
5169 xorl %ecx,%r15d
5170 xorl %r13d,%r14d
5171 leal (%rax,%r15,1),%eax
5172 movl %r9d,%r12d
5173 movq 512(%rsp),%rdi
5174 addl %r14d,%eax
5175
5176 leaq 448(%rsp),%rbp
5177
5178 addl 0(%rdi),%eax
5179 addl 4(%rdi),%ebx
5180 addl 8(%rdi),%ecx
5181 addl 12(%rdi),%edx
5182 addl 16(%rdi),%r8d
5183 addl 20(%rdi),%r9d
5184 addl 24(%rdi),%r10d
5185 addl 28(%rdi),%r11d
5186
5187 movl %eax,0(%rdi)
5188 movl %ebx,4(%rdi)
5189 movl %ecx,8(%rdi)
5190 movl %edx,12(%rdi)
5191 movl %r8d,16(%rdi)
5192 movl %r9d,20(%rdi)
5193 movl %r10d,24(%rdi)
5194 movl %r11d,28(%rdi)
5195
5196 cmpq 80(%rbp),%rsi
5197 je .Ldone_avx2
5198
5199 xorl %r14d,%r14d
5200 movl %ebx,%edi
5201 xorl %ecx,%edi
5202 movl %r9d,%r12d
5203 jmp .Lower_avx2
5204 .align 16
5205 .Lower_avx2:
5206 addl 0+16(%rbp),%r11d
5207 andl %r8d,%r12d
5208 rorxl $25,%r8d,%r13d
5209 rorxl $11,%r8d,%r15d
5210 leal (%rax,%r14,1),%eax
5211 leal (%r11,%r12,1),%r11d
5212 andnl %r10d,%r8d,%r12d
5213 xorl %r15d,%r13d
5214 rorxl $6,%r8d,%r14d
5215 leal (%r11,%r12,1),%r11d
5216 xorl %r14d,%r13d
5217 movl %eax,%r15d
5218 rorxl $22,%eax,%r12d
5219 leal (%r11,%r13,1),%r11d
5220 xorl %ebx,%r15d
5221 rorxl $13,%eax,%r14d
5222 rorxl $2,%eax,%r13d
5223 leal (%rdx,%r11,1),%edx
5224 andl %r15d,%edi
5225 xorl %r12d,%r14d
5226 xorl %ebx,%edi
5227 xorl %r13d,%r14d
5228 leal (%r11,%rdi,1),%r11d
5229 movl %r8d,%r12d
5230 addl 4+16(%rbp),%r10d
5231 andl %edx,%r12d
5232 rorxl $25,%edx,%r13d
5233 rorxl $11,%edx,%edi
5234 leal (%r11,%r14,1),%r11d
5235 leal (%r10,%r12,1),%r10d
5236 andnl %r9d,%edx,%r12d
5237 xorl %edi,%r13d
5238 rorxl $6,%edx,%r14d
5239 leal (%r10,%r12,1),%r10d
5240 xorl %r14d,%r13d
5241 movl %r11d,%edi
5242 rorxl $22,%r11d,%r12d
5243 leal (%r10,%r13,1),%r10d
5244 xorl %eax,%edi
5245 rorxl $13,%r11d,%r14d
5246 rorxl $2,%r11d,%r13d
5247 leal (%rcx,%r10,1),%ecx
5248 andl %edi,%r15d
5249 xorl %r12d,%r14d
5250 xorl %eax,%r15d
5251 xorl %r13d,%r14d
5252 leal (%r10,%r15,1),%r10d
5253 movl %edx,%r12d
5254 addl 8+16(%rbp),%r9d
5255 andl %ecx,%r12d
5256 rorxl $25,%ecx,%r13d
5257 rorxl $11,%ecx,%r15d
5258 leal (%r10,%r14,1),%r10d
5259 leal (%r9,%r12,1),%r9d
5260 andnl %r8d,%ecx,%r12d
5261 xorl %r15d,%r13d
5262 rorxl $6,%ecx,%r14d
5263 leal (%r9,%r12,1),%r9d
5264 xorl %r14d,%r13d
5265 movl %r10d,%r15d
5266 rorxl $22,%r10d,%r12d
5267 leal (%r9,%r13,1),%r9d
5268 xorl %r11d,%r15d
5269 rorxl $13,%r10d,%r14d
5270 rorxl $2,%r10d,%r13d
5271 leal (%rbx,%r9,1),%ebx
5272 andl %r15d,%edi
5273 xorl %r12d,%r14d
5274 xorl %r11d,%edi
5275 xorl %r13d,%r14d
5276 leal (%r9,%rdi,1),%r9d
5277 movl %ecx,%r12d
5278 addl 12+16(%rbp),%r8d
5279 andl %ebx,%r12d
5280 rorxl $25,%ebx,%r13d
5281 rorxl $11,%ebx,%edi
5282 leal (%r9,%r14,1),%r9d
5283 leal (%r8,%r12,1),%r8d
5284 andnl %edx,%ebx,%r12d
5285 xorl %edi,%r13d
5286 rorxl $6,%ebx,%r14d
5287 leal (%r8,%r12,1),%r8d
5288 xorl %r14d,%r13d
5289 movl %r9d,%edi
5290 rorxl $22,%r9d,%r12d
5291 leal (%r8,%r13,1),%r8d
5292 xorl %r10d,%edi
5293 rorxl $13,%r9d,%r14d
5294 rorxl $2,%r9d,%r13d
5295 leal (%rax,%r8,1),%eax
5296 andl %edi,%r15d
5297 xorl %r12d,%r14d
5298 xorl %r10d,%r15d
5299 xorl %r13d,%r14d
5300 leal (%r8,%r15,1),%r8d
5301 movl %ebx,%r12d
5302 addl 32+16(%rbp),%edx
5303 andl %eax,%r12d
5304 rorxl $25,%eax,%r13d
5305 rorxl $11,%eax,%r15d
5306 leal (%r8,%r14,1),%r8d
5307 leal (%rdx,%r12,1),%edx
5308 andnl %ecx,%eax,%r12d
5309 xorl %r15d,%r13d
5310 rorxl $6,%eax,%r14d
5311 leal (%rdx,%r12,1),%edx
5312 xorl %r14d,%r13d
5313 movl %r8d,%r15d
5314 rorxl $22,%r8d,%r12d
5315 leal (%rdx,%r13,1),%edx
5316 xorl %r9d,%r15d
5317 rorxl $13,%r8d,%r14d
5318 rorxl $2,%r8d,%r13d
5319 leal (%r11,%rdx,1),%r11d
5320 andl %r15d,%edi
5321 xorl %r12d,%r14d
5322 xorl %r9d,%edi
5323 xorl %r13d,%r14d
5324 leal (%rdx,%rdi,1),%edx
5325 movl %eax,%r12d
5326 addl 36+16(%rbp),%ecx
5327 andl %r11d,%r12d
5328 rorxl $25,%r11d,%r13d
5329 rorxl $11,%r11d,%edi
5330 leal (%rdx,%r14,1),%edx
5331 leal (%rcx,%r12,1),%ecx
5332 andnl %ebx,%r11d,%r12d
5333 xorl %edi,%r13d
5334 rorxl $6,%r11d,%r14d
5335 leal (%rcx,%r12,1),%ecx
5336 xorl %r14d,%r13d
5337 movl %edx,%edi
5338 rorxl $22,%edx,%r12d
5339 leal (%rcx,%r13,1),%ecx
5340 xorl %r8d,%edi
5341 rorxl $13,%edx,%r14d
5342 rorxl $2,%edx,%r13d
5343 leal (%r10,%rcx,1),%r10d
5344 andl %edi,%r15d
5345 xorl %r12d,%r14d
5346 xorl %r8d,%r15d
5347 xorl %r13d,%r14d
5348 leal (%rcx,%r15,1),%ecx
5349 movl %r11d,%r12d
5350 addl 40+16(%rbp),%ebx
5351 andl %r10d,%r12d
5352 rorxl $25,%r10d,%r13d
5353 rorxl $11,%r10d,%r15d
5354 leal (%rcx,%r14,1),%ecx
5355 leal (%rbx,%r12,1),%ebx
5356 andnl %eax,%r10d,%r12d
5357 xorl %r15d,%r13d
5358 rorxl $6,%r10d,%r14d
5359 leal (%rbx,%r12,1),%ebx
5360 xorl %r14d,%r13d
5361 movl %ecx,%r15d
5362 rorxl $22,%ecx,%r12d
5363 leal (%rbx,%r13,1),%ebx
5364 xorl %edx,%r15d
5365 rorxl $13,%ecx,%r14d
5366 rorxl $2,%ecx,%r13d
5367 leal (%r9,%rbx,1),%r9d
5368 andl %r15d,%edi
5369 xorl %r12d,%r14d
5370 xorl %edx,%edi
5371 xorl %r13d,%r14d
5372 leal (%rbx,%rdi,1),%ebx
5373 movl %r10d,%r12d
5374 addl 44+16(%rbp),%eax
5375 andl %r9d,%r12d
5376 rorxl $25,%r9d,%r13d
5377 rorxl $11,%r9d,%edi
5378 leal (%rbx,%r14,1),%ebx
5379 leal (%rax,%r12,1),%eax
5380 andnl %r11d,%r9d,%r12d
5381 xorl %edi,%r13d
5382 rorxl $6,%r9d,%r14d
5383 leal (%rax,%r12,1),%eax
5384 xorl %r14d,%r13d
5385 movl %ebx,%edi
5386 rorxl $22,%ebx,%r12d
5387 leal (%rax,%r13,1),%eax
5388 xorl %ecx,%edi
5389 rorxl $13,%ebx,%r14d
5390 rorxl $2,%ebx,%r13d
5391 leal (%r8,%rax,1),%r8d
5392 andl %edi,%r15d
5393 xorl %r12d,%r14d
5394 xorl %ecx,%r15d
5395 xorl %r13d,%r14d
5396 leal (%rax,%r15,1),%eax
5397 movl %r9d,%r12d
5398 leaq -64(%rbp),%rbp
5399 cmpq %rsp,%rbp
5400 jae .Lower_avx2
5401
5402 movq 512(%rsp),%rdi
5403 addl %r14d,%eax
5404
5405 leaq 448(%rsp),%rsp
5406
5407 .cfi_escape 0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
5408
5409 addl 0(%rdi),%eax
5410 addl 4(%rdi),%ebx
5411 addl 8(%rdi),%ecx
5412 addl 12(%rdi),%edx
5413 addl 16(%rdi),%r8d
5414 addl 20(%rdi),%r9d
5415 leaq 128(%rsi),%rsi
5416 addl 24(%rdi),%r10d
5417 movq %rsi,%r12
5418 addl 28(%rdi),%r11d
5419 cmpq 64+16(%rsp),%rsi
5420
5421 movl %eax,0(%rdi)
5422 cmoveq %rsp,%r12
5423 movl %ebx,4(%rdi)
5424 movl %ecx,8(%rdi)
5425 movl %edx,12(%rdi)
5426 movl %r8d,16(%rdi)
5427 movl %r9d,20(%rdi)
5428 movl %r10d,24(%rdi)
5429 movl %r11d,28(%rdi)
5430
5431 jbe .Loop_avx2
5432 leaq (%rsp),%rbp
5433
5434
5435 .cfi_escape 0x0f,0x06,0x76,0xd8,0x00,0x06,0x23,0x08
5436
5437 .Ldone_avx2:
5438 movq 88(%rbp),%rsi
5439 .cfi_def_cfa %rsi,8
5440 vzeroupper
5441 movq -48(%rsi),%r15
5442 .cfi_restore %r15
5443 movq -40(%rsi),%r14
5444 .cfi_restore %r14
5445 movq -32(%rsi),%r13
5446 .cfi_restore %r13
5447 movq -24(%rsi),%r12
5448 .cfi_restore %r12
5449 movq -16(%rsi),%rbp
5450 .cfi_restore %rbp
5451 movq -8(%rsi),%rbx
5452 .cfi_restore %rbx
5453 leaq (%rsi),%rsp
5454 .cfi_def_cfa_register %rsp
5455 .Lepilogue_avx2:
5456 .byte 0xf3,0xc3
5457 .cfi_endproc
5458 .size sha256_block_data_order_avx2,.-sha256_block_data_order_avx2
Cache object: a2eb1c2839569da224286faa6545e55a
|