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