1# This file is generated from a similarly-named Perl script in the BoringSSL
2# source tree. Do not edit by hand.
3
4#if defined(__has_feature)
5#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM)
6#define OPENSSL_NO_ASM
7#endif
8#endif
9
10#if defined(__x86_64__) && !defined(OPENSSL_NO_ASM)
11#if defined(BORINGSSL_PREFIX)
12#include <boringssl_prefix_symbols_asm.h>
13#endif
14.text
15
16.extern OPENSSL_ia32cap_P
17.hidden OPENSSL_ia32cap_P
18.globl sha512_block_data_order
19.hidden sha512_block_data_order
20.type sha512_block_data_order,@function
21.align 16
22sha512_block_data_order:
23.cfi_startproc
24 leaq OPENSSL_ia32cap_P(%rip),%r11
25 movl 0(%r11),%r9d
26 movl 4(%r11),%r10d
27 movl 8(%r11),%r11d
28 andl $1073741824,%r9d
29 andl $268435968,%r10d
30 orl %r9d,%r10d
31 cmpl $1342177792,%r10d
32 je .Lavx_shortcut
33 movq %rsp,%rax
34.cfi_def_cfa_register %rax
35 pushq %rbx
36.cfi_offset %rbx,-16
37 pushq %rbp
38.cfi_offset %rbp,-24
39 pushq %r12
40.cfi_offset %r12,-32
41 pushq %r13
42.cfi_offset %r13,-40
43 pushq %r14
44.cfi_offset %r14,-48
45 pushq %r15
46.cfi_offset %r15,-56
47 shlq $4,%rdx
48 subq $128+32,%rsp
49 leaq (%rsi,%rdx,8),%rdx
50 andq $-64,%rsp
51 movq %rdi,128+0(%rsp)
52 movq %rsi,128+8(%rsp)
53 movq %rdx,128+16(%rsp)
54 movq %rax,152(%rsp)
55.cfi_escape 0x0f,0x06,0x77,0x98,0x01,0x06,0x23,0x08
56.Lprologue:
57
58 movq 0(%rdi),%rax
59 movq 8(%rdi),%rbx
60 movq 16(%rdi),%rcx
61 movq 24(%rdi),%rdx
62 movq 32(%rdi),%r8
63 movq 40(%rdi),%r9
64 movq 48(%rdi),%r10
65 movq 56(%rdi),%r11
66 jmp .Lloop
67
68.align 16
69.Lloop:
70 movq %rbx,%rdi
71 leaq K512(%rip),%rbp
72 xorq %rcx,%rdi
73 movq 0(%rsi),%r12
74 movq %r8,%r13
75 movq %rax,%r14
76 bswapq %r12
77 rorq $23,%r13
78 movq %r9,%r15
79
80 xorq %r8,%r13
81 rorq $5,%r14
82 xorq %r10,%r15
83
84 movq %r12,0(%rsp)
85 xorq %rax,%r14
86 andq %r8,%r15
87
88 rorq $4,%r13
89 addq %r11,%r12
90 xorq %r10,%r15
91
92 rorq $6,%r14
93 xorq %r8,%r13
94 addq %r15,%r12
95
96 movq %rax,%r15
97 addq (%rbp),%r12
98 xorq %rax,%r14
99
100 xorq %rbx,%r15
101 rorq $14,%r13
102 movq %rbx,%r11
103
104 andq %r15,%rdi
105 rorq $28,%r14
106 addq %r13,%r12
107
108 xorq %rdi,%r11
109 addq %r12,%rdx
110 addq %r12,%r11
111
112 leaq 8(%rbp),%rbp
113 addq %r14,%r11
114 movq 8(%rsi),%r12
115 movq %rdx,%r13
116 movq %r11,%r14
117 bswapq %r12
118 rorq $23,%r13
119 movq %r8,%rdi
120
121 xorq %rdx,%r13
122 rorq $5,%r14
123 xorq %r9,%rdi
124
125 movq %r12,8(%rsp)
126 xorq %r11,%r14
127 andq %rdx,%rdi
128
129 rorq $4,%r13
130 addq %r10,%r12
131 xorq %r9,%rdi
132
133 rorq $6,%r14
134 xorq %rdx,%r13
135 addq %rdi,%r12
136
137 movq %r11,%rdi
138 addq (%rbp),%r12
139 xorq %r11,%r14
140
141 xorq %rax,%rdi
142 rorq $14,%r13
143 movq %rax,%r10
144
145 andq %rdi,%r15
146 rorq $28,%r14
147 addq %r13,%r12
148
149 xorq %r15,%r10
150 addq %r12,%rcx
151 addq %r12,%r10
152
153 leaq 24(%rbp),%rbp
154 addq %r14,%r10
155 movq 16(%rsi),%r12
156 movq %rcx,%r13
157 movq %r10,%r14
158 bswapq %r12
159 rorq $23,%r13
160 movq %rdx,%r15
161
162 xorq %rcx,%r13
163 rorq $5,%r14
164 xorq %r8,%r15
165
166 movq %r12,16(%rsp)
167 xorq %r10,%r14
168 andq %rcx,%r15
169
170 rorq $4,%r13
171 addq %r9,%r12
172 xorq %r8,%r15
173
174 rorq $6,%r14
175 xorq %rcx,%r13
176 addq %r15,%r12
177
178 movq %r10,%r15
179 addq (%rbp),%r12
180 xorq %r10,%r14
181
182 xorq %r11,%r15
183 rorq $14,%r13
184 movq %r11,%r9
185
186 andq %r15,%rdi
187 rorq $28,%r14
188 addq %r13,%r12
189
190 xorq %rdi,%r9
191 addq %r12,%rbx
192 addq %r12,%r9
193
194 leaq 8(%rbp),%rbp
195 addq %r14,%r9
196 movq 24(%rsi),%r12
197 movq %rbx,%r13
198 movq %r9,%r14
199 bswapq %r12
200 rorq $23,%r13
201 movq %rcx,%rdi
202
203 xorq %rbx,%r13
204 rorq $5,%r14
205 xorq %rdx,%rdi
206
207 movq %r12,24(%rsp)
208 xorq %r9,%r14
209 andq %rbx,%rdi
210
211 rorq $4,%r13
212 addq %r8,%r12
213 xorq %rdx,%rdi
214
215 rorq $6,%r14
216 xorq %rbx,%r13
217 addq %rdi,%r12
218
219 movq %r9,%rdi
220 addq (%rbp),%r12
221 xorq %r9,%r14
222
223 xorq %r10,%rdi
224 rorq $14,%r13
225 movq %r10,%r8
226
227 andq %rdi,%r15
228 rorq $28,%r14
229 addq %r13,%r12
230
231 xorq %r15,%r8
232 addq %r12,%rax
233 addq %r12,%r8
234
235 leaq 24(%rbp),%rbp
236 addq %r14,%r8
237 movq 32(%rsi),%r12
238 movq %rax,%r13
239 movq %r8,%r14
240 bswapq %r12
241 rorq $23,%r13
242 movq %rbx,%r15
243
244 xorq %rax,%r13
245 rorq $5,%r14
246 xorq %rcx,%r15
247
248 movq %r12,32(%rsp)
249 xorq %r8,%r14
250 andq %rax,%r15
251
252 rorq $4,%r13
253 addq %rdx,%r12
254 xorq %rcx,%r15
255
256 rorq $6,%r14
257 xorq %rax,%r13
258 addq %r15,%r12
259
260 movq %r8,%r15
261 addq (%rbp),%r12
262 xorq %r8,%r14
263
264 xorq %r9,%r15
265 rorq $14,%r13
266 movq %r9,%rdx
267
268 andq %r15,%rdi
269 rorq $28,%r14
270 addq %r13,%r12
271
272 xorq %rdi,%rdx
273 addq %r12,%r11
274 addq %r12,%rdx
275
276 leaq 8(%rbp),%rbp
277 addq %r14,%rdx
278 movq 40(%rsi),%r12
279 movq %r11,%r13
280 movq %rdx,%r14
281 bswapq %r12
282 rorq $23,%r13
283 movq %rax,%rdi
284
285 xorq %r11,%r13
286 rorq $5,%r14
287 xorq %rbx,%rdi
288
289 movq %r12,40(%rsp)
290 xorq %rdx,%r14
291 andq %r11,%rdi
292
293 rorq $4,%r13
294 addq %rcx,%r12
295 xorq %rbx,%rdi
296
297 rorq $6,%r14
298 xorq %r11,%r13
299 addq %rdi,%r12
300
301 movq %rdx,%rdi
302 addq (%rbp),%r12
303 xorq %rdx,%r14
304
305 xorq %r8,%rdi
306 rorq $14,%r13
307 movq %r8,%rcx
308
309 andq %rdi,%r15
310 rorq $28,%r14
311 addq %r13,%r12
312
313 xorq %r15,%rcx
314 addq %r12,%r10
315 addq %r12,%rcx
316
317 leaq 24(%rbp),%rbp
318 addq %r14,%rcx
319 movq 48(%rsi),%r12
320 movq %r10,%r13
321 movq %rcx,%r14
322 bswapq %r12
323 rorq $23,%r13
324 movq %r11,%r15
325
326 xorq %r10,%r13
327 rorq $5,%r14
328 xorq %rax,%r15
329
330 movq %r12,48(%rsp)
331 xorq %rcx,%r14
332 andq %r10,%r15
333
334 rorq $4,%r13
335 addq %rbx,%r12
336 xorq %rax,%r15
337
338 rorq $6,%r14
339 xorq %r10,%r13
340 addq %r15,%r12
341
342 movq %rcx,%r15
343 addq (%rbp),%r12
344 xorq %rcx,%r14
345
346 xorq %rdx,%r15
347 rorq $14,%r13
348 movq %rdx,%rbx
349
350 andq %r15,%rdi
351 rorq $28,%r14
352 addq %r13,%r12
353
354 xorq %rdi,%rbx
355 addq %r12,%r9
356 addq %r12,%rbx
357
358 leaq 8(%rbp),%rbp
359 addq %r14,%rbx
360 movq 56(%rsi),%r12
361 movq %r9,%r13
362 movq %rbx,%r14
363 bswapq %r12
364 rorq $23,%r13
365 movq %r10,%rdi
366
367 xorq %r9,%r13
368 rorq $5,%r14
369 xorq %r11,%rdi
370
371 movq %r12,56(%rsp)
372 xorq %rbx,%r14
373 andq %r9,%rdi
374
375 rorq $4,%r13
376 addq %rax,%r12
377 xorq %r11,%rdi
378
379 rorq $6,%r14
380 xorq %r9,%r13
381 addq %rdi,%r12
382
383 movq %rbx,%rdi
384 addq (%rbp),%r12
385 xorq %rbx,%r14
386
387 xorq %rcx,%rdi
388 rorq $14,%r13
389 movq %rcx,%rax
390
391 andq %rdi,%r15
392 rorq $28,%r14
393 addq %r13,%r12
394
395 xorq %r15,%rax
396 addq %r12,%r8
397 addq %r12,%rax
398
399 leaq 24(%rbp),%rbp
400 addq %r14,%rax
401 movq 64(%rsi),%r12
402 movq %r8,%r13
403 movq %rax,%r14
404 bswapq %r12
405 rorq $23,%r13
406 movq %r9,%r15
407
408 xorq %r8,%r13
409 rorq $5,%r14
410 xorq %r10,%r15
411
412 movq %r12,64(%rsp)
413 xorq %rax,%r14
414 andq %r8,%r15
415
416 rorq $4,%r13
417 addq %r11,%r12
418 xorq %r10,%r15
419
420 rorq $6,%r14
421 xorq %r8,%r13
422 addq %r15,%r12
423
424 movq %rax,%r15
425 addq (%rbp),%r12
426 xorq %rax,%r14
427
428 xorq %rbx,%r15
429 rorq $14,%r13
430 movq %rbx,%r11
431
432 andq %r15,%rdi
433 rorq $28,%r14
434 addq %r13,%r12
435
436 xorq %rdi,%r11
437 addq %r12,%rdx
438 addq %r12,%r11
439
440 leaq 8(%rbp),%rbp
441 addq %r14,%r11
442 movq 72(%rsi),%r12
443 movq %rdx,%r13
444 movq %r11,%r14
445 bswapq %r12
446 rorq $23,%r13
447 movq %r8,%rdi
448
449 xorq %rdx,%r13
450 rorq $5,%r14
451 xorq %r9,%rdi
452
453 movq %r12,72(%rsp)
454 xorq %r11,%r14
455 andq %rdx,%rdi
456
457 rorq $4,%r13
458 addq %r10,%r12
459 xorq %r9,%rdi
460
461 rorq $6,%r14
462 xorq %rdx,%r13
463 addq %rdi,%r12
464
465 movq %r11,%rdi
466 addq (%rbp),%r12
467 xorq %r11,%r14
468
469 xorq %rax,%rdi
470 rorq $14,%r13
471 movq %rax,%r10
472
473 andq %rdi,%r15
474 rorq $28,%r14
475 addq %r13,%r12
476
477 xorq %r15,%r10
478 addq %r12,%rcx
479 addq %r12,%r10
480
481 leaq 24(%rbp),%rbp
482 addq %r14,%r10
483 movq 80(%rsi),%r12
484 movq %rcx,%r13
485 movq %r10,%r14
486 bswapq %r12
487 rorq $23,%r13
488 movq %rdx,%r15
489
490 xorq %rcx,%r13
491 rorq $5,%r14
492 xorq %r8,%r15
493
494 movq %r12,80(%rsp)
495 xorq %r10,%r14
496 andq %rcx,%r15
497
498 rorq $4,%r13
499 addq %r9,%r12
500 xorq %r8,%r15
501
502 rorq $6,%r14
503 xorq %rcx,%r13
504 addq %r15,%r12
505
506 movq %r10,%r15
507 addq (%rbp),%r12
508 xorq %r10,%r14
509
510 xorq %r11,%r15
511 rorq $14,%r13
512 movq %r11,%r9
513
514 andq %r15,%rdi
515 rorq $28,%r14
516 addq %r13,%r12
517
518 xorq %rdi,%r9
519 addq %r12,%rbx
520 addq %r12,%r9
521
522 leaq 8(%rbp),%rbp
523 addq %r14,%r9
524 movq 88(%rsi),%r12
525 movq %rbx,%r13
526 movq %r9,%r14
527 bswapq %r12
528 rorq $23,%r13
529 movq %rcx,%rdi
530
531 xorq %rbx,%r13
532 rorq $5,%r14
533 xorq %rdx,%rdi
534
535 movq %r12,88(%rsp)
536 xorq %r9,%r14
537 andq %rbx,%rdi
538
539 rorq $4,%r13
540 addq %r8,%r12
541 xorq %rdx,%rdi
542
543 rorq $6,%r14
544 xorq %rbx,%r13
545 addq %rdi,%r12
546
547 movq %r9,%rdi
548 addq (%rbp),%r12
549 xorq %r9,%r14
550
551 xorq %r10,%rdi
552 rorq $14,%r13
553 movq %r10,%r8
554
555 andq %rdi,%r15
556 rorq $28,%r14
557 addq %r13,%r12
558
559 xorq %r15,%r8
560 addq %r12,%rax
561 addq %r12,%r8
562
563 leaq 24(%rbp),%rbp
564 addq %r14,%r8
565 movq 96(%rsi),%r12
566 movq %rax,%r13
567 movq %r8,%r14
568 bswapq %r12
569 rorq $23,%r13
570 movq %rbx,%r15
571
572 xorq %rax,%r13
573 rorq $5,%r14
574 xorq %rcx,%r15
575
576 movq %r12,96(%rsp)
577 xorq %r8,%r14
578 andq %rax,%r15
579
580 rorq $4,%r13
581 addq %rdx,%r12
582 xorq %rcx,%r15
583
584 rorq $6,%r14
585 xorq %rax,%r13
586 addq %r15,%r12
587
588 movq %r8,%r15
589 addq (%rbp),%r12
590 xorq %r8,%r14
591
592 xorq %r9,%r15
593 rorq $14,%r13
594 movq %r9,%rdx
595
596 andq %r15,%rdi
597 rorq $28,%r14
598 addq %r13,%r12
599
600 xorq %rdi,%rdx
601 addq %r12,%r11
602 addq %r12,%rdx
603
604 leaq 8(%rbp),%rbp
605 addq %r14,%rdx
606 movq 104(%rsi),%r12
607 movq %r11,%r13
608 movq %rdx,%r14
609 bswapq %r12
610 rorq $23,%r13
611 movq %rax,%rdi
612
613 xorq %r11,%r13
614 rorq $5,%r14
615 xorq %rbx,%rdi
616
617 movq %r12,104(%rsp)
618 xorq %rdx,%r14
619 andq %r11,%rdi
620
621 rorq $4,%r13
622 addq %rcx,%r12
623 xorq %rbx,%rdi
624
625 rorq $6,%r14
626 xorq %r11,%r13
627 addq %rdi,%r12
628
629 movq %rdx,%rdi
630 addq (%rbp),%r12
631 xorq %rdx,%r14
632
633 xorq %r8,%rdi
634 rorq $14,%r13
635 movq %r8,%rcx
636
637 andq %rdi,%r15
638 rorq $28,%r14
639 addq %r13,%r12
640
641 xorq %r15,%rcx
642 addq %r12,%r10
643 addq %r12,%rcx
644
645 leaq 24(%rbp),%rbp
646 addq %r14,%rcx
647 movq 112(%rsi),%r12
648 movq %r10,%r13
649 movq %rcx,%r14
650 bswapq %r12
651 rorq $23,%r13
652 movq %r11,%r15
653
654 xorq %r10,%r13
655 rorq $5,%r14
656 xorq %rax,%r15
657
658 movq %r12,112(%rsp)
659 xorq %rcx,%r14
660 andq %r10,%r15
661
662 rorq $4,%r13
663 addq %rbx,%r12
664 xorq %rax,%r15
665
666 rorq $6,%r14
667 xorq %r10,%r13
668 addq %r15,%r12
669
670 movq %rcx,%r15
671 addq (%rbp),%r12
672 xorq %rcx,%r14
673
674 xorq %rdx,%r15
675 rorq $14,%r13
676 movq %rdx,%rbx
677
678 andq %r15,%rdi
679 rorq $28,%r14
680 addq %r13,%r12
681
682 xorq %rdi,%rbx
683 addq %r12,%r9
684 addq %r12,%rbx
685
686 leaq 8(%rbp),%rbp
687 addq %r14,%rbx
688 movq 120(%rsi),%r12
689 movq %r9,%r13
690 movq %rbx,%r14
691 bswapq %r12
692 rorq $23,%r13
693 movq %r10,%rdi
694
695 xorq %r9,%r13
696 rorq $5,%r14
697 xorq %r11,%rdi
698
699 movq %r12,120(%rsp)
700 xorq %rbx,%r14
701 andq %r9,%rdi
702
703 rorq $4,%r13
704 addq %rax,%r12
705 xorq %r11,%rdi
706
707 rorq $6,%r14
708 xorq %r9,%r13
709 addq %rdi,%r12
710
711 movq %rbx,%rdi
712 addq (%rbp),%r12
713 xorq %rbx,%r14
714
715 xorq %rcx,%rdi
716 rorq $14,%r13
717 movq %rcx,%rax
718
719 andq %rdi,%r15
720 rorq $28,%r14
721 addq %r13,%r12
722
723 xorq %r15,%rax
724 addq %r12,%r8
725 addq %r12,%rax
726
727 leaq 24(%rbp),%rbp
728 jmp .Lrounds_16_xx
729.align 16
730.Lrounds_16_xx:
731 movq 8(%rsp),%r13
732 movq 112(%rsp),%r15
733
734 movq %r13,%r12
735 rorq $7,%r13
736 addq %r14,%rax
737 movq %r15,%r14
738 rorq $42,%r15
739
740 xorq %r12,%r13
741 shrq $7,%r12
742 rorq $1,%r13
743 xorq %r14,%r15
744 shrq $6,%r14
745
746 rorq $19,%r15
747 xorq %r13,%r12
748 xorq %r14,%r15
749 addq 72(%rsp),%r12
750
751 addq 0(%rsp),%r12
752 movq %r8,%r13
753 addq %r15,%r12
754 movq %rax,%r14
755 rorq $23,%r13
756 movq %r9,%r15
757
758 xorq %r8,%r13
759 rorq $5,%r14
760 xorq %r10,%r15
761
762 movq %r12,0(%rsp)
763 xorq %rax,%r14
764 andq %r8,%r15
765
766 rorq $4,%r13
767 addq %r11,%r12
768 xorq %r10,%r15
769
770 rorq $6,%r14
771 xorq %r8,%r13
772 addq %r15,%r12
773
774 movq %rax,%r15
775 addq (%rbp),%r12
776 xorq %rax,%r14
777
778 xorq %rbx,%r15
779 rorq $14,%r13
780 movq %rbx,%r11
781
782 andq %r15,%rdi
783 rorq $28,%r14
784 addq %r13,%r12
785
786 xorq %rdi,%r11
787 addq %r12,%rdx
788 addq %r12,%r11
789
790 leaq 8(%rbp),%rbp
791 movq 16(%rsp),%r13
792 movq 120(%rsp),%rdi
793
794 movq %r13,%r12
795 rorq $7,%r13
796 addq %r14,%r11
797 movq %rdi,%r14
798 rorq $42,%rdi
799
800 xorq %r12,%r13
801 shrq $7,%r12
802 rorq $1,%r13
803 xorq %r14,%rdi
804 shrq $6,%r14
805
806 rorq $19,%rdi
807 xorq %r13,%r12
808 xorq %r14,%rdi
809 addq 80(%rsp),%r12
810
811 addq 8(%rsp),%r12
812 movq %rdx,%r13
813 addq %rdi,%r12
814 movq %r11,%r14
815 rorq $23,%r13
816 movq %r8,%rdi
817
818 xorq %rdx,%r13
819 rorq $5,%r14
820 xorq %r9,%rdi
821
822 movq %r12,8(%rsp)
823 xorq %r11,%r14
824 andq %rdx,%rdi
825
826 rorq $4,%r13
827 addq %r10,%r12
828 xorq %r9,%rdi
829
830 rorq $6,%r14
831 xorq %rdx,%r13
832 addq %rdi,%r12
833
834 movq %r11,%rdi
835 addq (%rbp),%r12
836 xorq %r11,%r14
837
838 xorq %rax,%rdi
839 rorq $14,%r13
840 movq %rax,%r10
841
842 andq %rdi,%r15
843 rorq $28,%r14
844 addq %r13,%r12
845
846 xorq %r15,%r10
847 addq %r12,%rcx
848 addq %r12,%r10
849
850 leaq 24(%rbp),%rbp
851 movq 24(%rsp),%r13
852 movq 0(%rsp),%r15
853
854 movq %r13,%r12
855 rorq $7,%r13
856 addq %r14,%r10
857 movq %r15,%r14
858 rorq $42,%r15
859
860 xorq %r12,%r13
861 shrq $7,%r12
862 rorq $1,%r13
863 xorq %r14,%r15
864 shrq $6,%r14
865
866 rorq $19,%r15
867 xorq %r13,%r12
868 xorq %r14,%r15
869 addq 88(%rsp),%r12
870
871 addq 16(%rsp),%r12
872 movq %rcx,%r13
873 addq %r15,%r12
874 movq %r10,%r14
875 rorq $23,%r13
876 movq %rdx,%r15
877
878 xorq %rcx,%r13
879 rorq $5,%r14
880 xorq %r8,%r15
881
882 movq %r12,16(%rsp)
883 xorq %r10,%r14
884 andq %rcx,%r15
885
886 rorq $4,%r13
887 addq %r9,%r12
888 xorq %r8,%r15
889
890 rorq $6,%r14
891 xorq %rcx,%r13
892 addq %r15,%r12
893
894 movq %r10,%r15
895 addq (%rbp),%r12
896 xorq %r10,%r14
897
898 xorq %r11,%r15
899 rorq $14,%r13
900 movq %r11,%r9
901
902 andq %r15,%rdi
903 rorq $28,%r14
904 addq %r13,%r12
905
906 xorq %rdi,%r9
907 addq %r12,%rbx
908 addq %r12,%r9
909
910 leaq 8(%rbp),%rbp
911 movq 32(%rsp),%r13
912 movq 8(%rsp),%rdi
913
914 movq %r13,%r12
915 rorq $7,%r13
916 addq %r14,%r9
917 movq %rdi,%r14
918 rorq $42,%rdi
919
920 xorq %r12,%r13
921 shrq $7,%r12
922 rorq $1,%r13
923 xorq %r14,%rdi
924 shrq $6,%r14
925
926 rorq $19,%rdi
927 xorq %r13,%r12
928 xorq %r14,%rdi
929 addq 96(%rsp),%r12
930
931 addq 24(%rsp),%r12
932 movq %rbx,%r13
933 addq %rdi,%r12
934 movq %r9,%r14
935 rorq $23,%r13
936 movq %rcx,%rdi
937
938 xorq %rbx,%r13
939 rorq $5,%r14
940 xorq %rdx,%rdi
941
942 movq %r12,24(%rsp)
943 xorq %r9,%r14
944 andq %rbx,%rdi
945
946 rorq $4,%r13
947 addq %r8,%r12
948 xorq %rdx,%rdi
949
950 rorq $6,%r14
951 xorq %rbx,%r13
952 addq %rdi,%r12
953
954 movq %r9,%rdi
955 addq (%rbp),%r12
956 xorq %r9,%r14
957
958 xorq %r10,%rdi
959 rorq $14,%r13
960 movq %r10,%r8
961
962 andq %rdi,%r15
963 rorq $28,%r14
964 addq %r13,%r12
965
966 xorq %r15,%r8
967 addq %r12,%rax
968 addq %r12,%r8
969
970 leaq 24(%rbp),%rbp
971 movq 40(%rsp),%r13
972 movq 16(%rsp),%r15
973
974 movq %r13,%r12
975 rorq $7,%r13
976 addq %r14,%r8
977 movq %r15,%r14
978 rorq $42,%r15
979
980 xorq %r12,%r13
981 shrq $7,%r12
982 rorq $1,%r13
983 xorq %r14,%r15
984 shrq $6,%r14
985
986 rorq $19,%r15
987 xorq %r13,%r12
988 xorq %r14,%r15
989 addq 104(%rsp),%r12
990
991 addq 32(%rsp),%r12
992 movq %rax,%r13
993 addq %r15,%r12
994 movq %r8,%r14
995 rorq $23,%r13
996 movq %rbx,%r15
997
998 xorq %rax,%r13
999 rorq $5,%r14
1000 xorq %rcx,%r15
1001
1002 movq %r12,32(%rsp)
1003 xorq %r8,%r14
1004 andq %rax,%r15
1005
1006 rorq $4,%r13
1007 addq %rdx,%r12
1008 xorq %rcx,%r15
1009
1010 rorq $6,%r14
1011 xorq %rax,%r13
1012 addq %r15,%r12
1013
1014 movq %r8,%r15
1015 addq (%rbp),%r12
1016 xorq %r8,%r14
1017
1018 xorq %r9,%r15
1019 rorq $14,%r13
1020 movq %r9,%rdx
1021
1022 andq %r15,%rdi
1023 rorq $28,%r14
1024 addq %r13,%r12
1025
1026 xorq %rdi,%rdx
1027 addq %r12,%r11
1028 addq %r12,%rdx
1029
1030 leaq 8(%rbp),%rbp
1031 movq 48(%rsp),%r13
1032 movq 24(%rsp),%rdi
1033
1034 movq %r13,%r12
1035 rorq $7,%r13
1036 addq %r14,%rdx
1037 movq %rdi,%r14
1038 rorq $42,%rdi
1039
1040 xorq %r12,%r13
1041 shrq $7,%r12
1042 rorq $1,%r13
1043 xorq %r14,%rdi
1044 shrq $6,%r14
1045
1046 rorq $19,%rdi
1047 xorq %r13,%r12
1048 xorq %r14,%rdi
1049 addq 112(%rsp),%r12
1050
1051 addq 40(%rsp),%r12
1052 movq %r11,%r13
1053 addq %rdi,%r12
1054 movq %rdx,%r14
1055 rorq $23,%r13
1056 movq %rax,%rdi
1057
1058 xorq %r11,%r13
1059 rorq $5,%r14
1060 xorq %rbx,%rdi
1061
1062 movq %r12,40(%rsp)
1063 xorq %rdx,%r14
1064 andq %r11,%rdi
1065
1066 rorq $4,%r13
1067 addq %rcx,%r12
1068 xorq %rbx,%rdi
1069
1070 rorq $6,%r14
1071 xorq %r11,%r13
1072 addq %rdi,%r12
1073
1074 movq %rdx,%rdi
1075 addq (%rbp),%r12
1076 xorq %rdx,%r14
1077
1078 xorq %r8,%rdi
1079 rorq $14,%r13
1080 movq %r8,%rcx
1081
1082 andq %rdi,%r15
1083 rorq $28,%r14
1084 addq %r13,%r12
1085
1086 xorq %r15,%rcx
1087 addq %r12,%r10
1088 addq %r12,%rcx
1089
1090 leaq 24(%rbp),%rbp
1091 movq 56(%rsp),%r13
1092 movq 32(%rsp),%r15
1093
1094 movq %r13,%r12
1095 rorq $7,%r13
1096 addq %r14,%rcx
1097 movq %r15,%r14
1098 rorq $42,%r15
1099
1100 xorq %r12,%r13
1101 shrq $7,%r12
1102 rorq $1,%r13
1103 xorq %r14,%r15
1104 shrq $6,%r14
1105
1106 rorq $19,%r15
1107 xorq %r13,%r12
1108 xorq %r14,%r15
1109 addq 120(%rsp),%r12
1110
1111 addq 48(%rsp),%r12
1112 movq %r10,%r13
1113 addq %r15,%r12
1114 movq %rcx,%r14
1115 rorq $23,%r13
1116 movq %r11,%r15
1117
1118 xorq %r10,%r13
1119 rorq $5,%r14
1120 xorq %rax,%r15
1121
1122 movq %r12,48(%rsp)
1123 xorq %rcx,%r14
1124 andq %r10,%r15
1125
1126 rorq $4,%r13
1127 addq %rbx,%r12
1128 xorq %rax,%r15
1129
1130 rorq $6,%r14
1131 xorq %r10,%r13
1132 addq %r15,%r12
1133
1134 movq %rcx,%r15
1135 addq (%rbp),%r12
1136 xorq %rcx,%r14
1137
1138 xorq %rdx,%r15
1139 rorq $14,%r13
1140 movq %rdx,%rbx
1141
1142 andq %r15,%rdi
1143 rorq $28,%r14
1144 addq %r13,%r12
1145
1146 xorq %rdi,%rbx
1147 addq %r12,%r9
1148 addq %r12,%rbx
1149
1150 leaq 8(%rbp),%rbp
1151 movq 64(%rsp),%r13
1152 movq 40(%rsp),%rdi
1153
1154 movq %r13,%r12
1155 rorq $7,%r13
1156 addq %r14,%rbx
1157 movq %rdi,%r14
1158 rorq $42,%rdi
1159
1160 xorq %r12,%r13
1161 shrq $7,%r12
1162 rorq $1,%r13
1163 xorq %r14,%rdi
1164 shrq $6,%r14
1165
1166 rorq $19,%rdi
1167 xorq %r13,%r12
1168 xorq %r14,%rdi
1169 addq 0(%rsp),%r12
1170
1171 addq 56(%rsp),%r12
1172 movq %r9,%r13
1173 addq %rdi,%r12
1174 movq %rbx,%r14
1175 rorq $23,%r13
1176 movq %r10,%rdi
1177
1178 xorq %r9,%r13
1179 rorq $5,%r14
1180 xorq %r11,%rdi
1181
1182 movq %r12,56(%rsp)
1183 xorq %rbx,%r14
1184 andq %r9,%rdi
1185
1186 rorq $4,%r13
1187 addq %rax,%r12
1188 xorq %r11,%rdi
1189
1190 rorq $6,%r14
1191 xorq %r9,%r13
1192 addq %rdi,%r12
1193
1194 movq %rbx,%rdi
1195 addq (%rbp),%r12
1196 xorq %rbx,%r14
1197
1198 xorq %rcx,%rdi
1199 rorq $14,%r13
1200 movq %rcx,%rax
1201
1202 andq %rdi,%r15
1203 rorq $28,%r14
1204 addq %r13,%r12
1205
1206 xorq %r15,%rax
1207 addq %r12,%r8
1208 addq %r12,%rax
1209
1210 leaq 24(%rbp),%rbp
1211 movq 72(%rsp),%r13
1212 movq 48(%rsp),%r15
1213
1214 movq %r13,%r12
1215 rorq $7,%r13
1216 addq %r14,%rax
1217 movq %r15,%r14
1218 rorq $42,%r15
1219
1220 xorq %r12,%r13
1221 shrq $7,%r12
1222 rorq $1,%r13
1223 xorq %r14,%r15
1224 shrq $6,%r14
1225
1226 rorq $19,%r15
1227 xorq %r13,%r12
1228 xorq %r14,%r15
1229 addq 8(%rsp),%r12
1230
1231 addq 64(%rsp),%r12
1232 movq %r8,%r13
1233 addq %r15,%r12
1234 movq %rax,%r14
1235 rorq $23,%r13
1236 movq %r9,%r15
1237
1238 xorq %r8,%r13
1239 rorq $5,%r14
1240 xorq %r10,%r15
1241
1242 movq %r12,64(%rsp)
1243 xorq %rax,%r14
1244 andq %r8,%r15
1245
1246 rorq $4,%r13
1247 addq %r11,%r12
1248 xorq %r10,%r15
1249
1250 rorq $6,%r14
1251 xorq %r8,%r13
1252 addq %r15,%r12
1253
1254 movq %rax,%r15
1255 addq (%rbp),%r12
1256 xorq %rax,%r14
1257
1258 xorq %rbx,%r15
1259 rorq $14,%r13
1260 movq %rbx,%r11
1261
1262 andq %r15,%rdi
1263 rorq $28,%r14
1264 addq %r13,%r12
1265
1266 xorq %rdi,%r11
1267 addq %r12,%rdx
1268 addq %r12,%r11
1269
1270 leaq 8(%rbp),%rbp
1271 movq 80(%rsp),%r13
1272 movq 56(%rsp),%rdi
1273
1274 movq %r13,%r12
1275 rorq $7,%r13
1276 addq %r14,%r11
1277 movq %rdi,%r14
1278 rorq $42,%rdi
1279
1280 xorq %r12,%r13
1281 shrq $7,%r12
1282 rorq $1,%r13
1283 xorq %r14,%rdi
1284 shrq $6,%r14
1285
1286 rorq $19,%rdi
1287 xorq %r13,%r12
1288 xorq %r14,%rdi
1289 addq 16(%rsp),%r12
1290
1291 addq 72(%rsp),%r12
1292 movq %rdx,%r13
1293 addq %rdi,%r12
1294 movq %r11,%r14
1295 rorq $23,%r13
1296 movq %r8,%rdi
1297
1298 xorq %rdx,%r13
1299 rorq $5,%r14
1300 xorq %r9,%rdi
1301
1302 movq %r12,72(%rsp)
1303 xorq %r11,%r14
1304 andq %rdx,%rdi
1305
1306 rorq $4,%r13
1307 addq %r10,%r12
1308 xorq %r9,%rdi
1309
1310 rorq $6,%r14
1311 xorq %rdx,%r13
1312 addq %rdi,%r12
1313
1314 movq %r11,%rdi
1315 addq (%rbp),%r12
1316 xorq %r11,%r14
1317
1318 xorq %rax,%rdi
1319 rorq $14,%r13
1320 movq %rax,%r10
1321
1322 andq %rdi,%r15
1323 rorq $28,%r14
1324 addq %r13,%r12
1325
1326 xorq %r15,%r10
1327 addq %r12,%rcx
1328 addq %r12,%r10
1329
1330 leaq 24(%rbp),%rbp
1331 movq 88(%rsp),%r13
1332 movq 64(%rsp),%r15
1333
1334 movq %r13,%r12
1335 rorq $7,%r13
1336 addq %r14,%r10
1337 movq %r15,%r14
1338 rorq $42,%r15
1339
1340 xorq %r12,%r13
1341 shrq $7,%r12
1342 rorq $1,%r13
1343 xorq %r14,%r15
1344 shrq $6,%r14
1345
1346 rorq $19,%r15
1347 xorq %r13,%r12
1348 xorq %r14,%r15
1349 addq 24(%rsp),%r12
1350
1351 addq 80(%rsp),%r12
1352 movq %rcx,%r13
1353 addq %r15,%r12
1354 movq %r10,%r14
1355 rorq $23,%r13
1356 movq %rdx,%r15
1357
1358 xorq %rcx,%r13
1359 rorq $5,%r14
1360 xorq %r8,%r15
1361
1362 movq %r12,80(%rsp)
1363 xorq %r10,%r14
1364 andq %rcx,%r15
1365
1366 rorq $4,%r13
1367 addq %r9,%r12
1368 xorq %r8,%r15
1369
1370 rorq $6,%r14
1371 xorq %rcx,%r13
1372 addq %r15,%r12
1373
1374 movq %r10,%r15
1375 addq (%rbp),%r12
1376 xorq %r10,%r14
1377
1378 xorq %r11,%r15
1379 rorq $14,%r13
1380 movq %r11,%r9
1381
1382 andq %r15,%rdi
1383 rorq $28,%r14
1384 addq %r13,%r12
1385
1386 xorq %rdi,%r9
1387 addq %r12,%rbx
1388 addq %r12,%r9
1389
1390 leaq 8(%rbp),%rbp
1391 movq 96(%rsp),%r13
1392 movq 72(%rsp),%rdi
1393
1394 movq %r13,%r12
1395 rorq $7,%r13
1396 addq %r14,%r9
1397 movq %rdi,%r14
1398 rorq $42,%rdi
1399
1400 xorq %r12,%r13
1401 shrq $7,%r12
1402 rorq $1,%r13
1403 xorq %r14,%rdi
1404 shrq $6,%r14
1405
1406 rorq $19,%rdi
1407 xorq %r13,%r12
1408 xorq %r14,%rdi
1409 addq 32(%rsp),%r12
1410
1411 addq 88(%rsp),%r12
1412 movq %rbx,%r13
1413 addq %rdi,%r12
1414 movq %r9,%r14
1415 rorq $23,%r13
1416 movq %rcx,%rdi
1417
1418 xorq %rbx,%r13
1419 rorq $5,%r14
1420 xorq %rdx,%rdi
1421
1422 movq %r12,88(%rsp)
1423 xorq %r9,%r14
1424 andq %rbx,%rdi
1425
1426 rorq $4,%r13
1427 addq %r8,%r12
1428 xorq %rdx,%rdi
1429
1430 rorq $6,%r14
1431 xorq %rbx,%r13
1432 addq %rdi,%r12
1433
1434 movq %r9,%rdi
1435 addq (%rbp),%r12
1436 xorq %r9,%r14
1437
1438 xorq %r10,%rdi
1439 rorq $14,%r13
1440 movq %r10,%r8
1441
1442 andq %rdi,%r15
1443 rorq $28,%r14
1444 addq %r13,%r12
1445
1446 xorq %r15,%r8
1447 addq %r12,%rax
1448 addq %r12,%r8
1449
1450 leaq 24(%rbp),%rbp
1451 movq 104(%rsp),%r13
1452 movq 80(%rsp),%r15
1453
1454 movq %r13,%r12
1455 rorq $7,%r13
1456 addq %r14,%r8
1457 movq %r15,%r14
1458 rorq $42,%r15
1459
1460 xorq %r12,%r13
1461 shrq $7,%r12
1462 rorq $1,%r13
1463 xorq %r14,%r15
1464 shrq $6,%r14
1465
1466 rorq $19,%r15
1467 xorq %r13,%r12
1468 xorq %r14,%r15
1469 addq 40(%rsp),%r12
1470
1471 addq 96(%rsp),%r12
1472 movq %rax,%r13
1473 addq %r15,%r12
1474 movq %r8,%r14
1475 rorq $23,%r13
1476 movq %rbx,%r15
1477
1478 xorq %rax,%r13
1479 rorq $5,%r14
1480 xorq %rcx,%r15
1481
1482 movq %r12,96(%rsp)
1483 xorq %r8,%r14
1484 andq %rax,%r15
1485
1486 rorq $4,%r13
1487 addq %rdx,%r12
1488 xorq %rcx,%r15
1489
1490 rorq $6,%r14
1491 xorq %rax,%r13
1492 addq %r15,%r12
1493
1494 movq %r8,%r15
1495 addq (%rbp),%r12
1496 xorq %r8,%r14
1497
1498 xorq %r9,%r15
1499 rorq $14,%r13
1500 movq %r9,%rdx
1501
1502 andq %r15,%rdi
1503 rorq $28,%r14
1504 addq %r13,%r12
1505
1506 xorq %rdi,%rdx
1507 addq %r12,%r11
1508 addq %r12,%rdx
1509
1510 leaq 8(%rbp),%rbp
1511 movq 112(%rsp),%r13
1512 movq 88(%rsp),%rdi
1513
1514 movq %r13,%r12
1515 rorq $7,%r13
1516 addq %r14,%rdx
1517 movq %rdi,%r14
1518 rorq $42,%rdi
1519
1520 xorq %r12,%r13
1521 shrq $7,%r12
1522 rorq $1,%r13
1523 xorq %r14,%rdi
1524 shrq $6,%r14
1525
1526 rorq $19,%rdi
1527 xorq %r13,%r12
1528 xorq %r14,%rdi
1529 addq 48(%rsp),%r12
1530
1531 addq 104(%rsp),%r12
1532 movq %r11,%r13
1533 addq %rdi,%r12
1534 movq %rdx,%r14
1535 rorq $23,%r13
1536 movq %rax,%rdi
1537
1538 xorq %r11,%r13
1539 rorq $5,%r14
1540 xorq %rbx,%rdi
1541
1542 movq %r12,104(%rsp)
1543 xorq %rdx,%r14
1544 andq %r11,%rdi
1545
1546 rorq $4,%r13
1547 addq %rcx,%r12
1548 xorq %rbx,%rdi
1549
1550 rorq $6,%r14
1551 xorq %r11,%r13
1552 addq %rdi,%r12
1553
1554 movq %rdx,%rdi
1555 addq (%rbp),%r12
1556 xorq %rdx,%r14
1557
1558 xorq %r8,%rdi
1559 rorq $14,%r13
1560 movq %r8,%rcx
1561
1562 andq %rdi,%r15
1563 rorq $28,%r14
1564 addq %r13,%r12
1565
1566 xorq %r15,%rcx
1567 addq %r12,%r10
1568 addq %r12,%rcx
1569
1570 leaq 24(%rbp),%rbp
1571 movq 120(%rsp),%r13
1572 movq 96(%rsp),%r15
1573
1574 movq %r13,%r12
1575 rorq $7,%r13
1576 addq %r14,%rcx
1577 movq %r15,%r14
1578 rorq $42,%r15
1579
1580 xorq %r12,%r13
1581 shrq $7,%r12
1582 rorq $1,%r13
1583 xorq %r14,%r15
1584 shrq $6,%r14
1585
1586 rorq $19,%r15
1587 xorq %r13,%r12
1588 xorq %r14,%r15
1589 addq 56(%rsp),%r12
1590
1591 addq 112(%rsp),%r12
1592 movq %r10,%r13
1593 addq %r15,%r12
1594 movq %rcx,%r14
1595 rorq $23,%r13
1596 movq %r11,%r15
1597
1598 xorq %r10,%r13
1599 rorq $5,%r14
1600 xorq %rax,%r15
1601
1602 movq %r12,112(%rsp)
1603 xorq %rcx,%r14
1604 andq %r10,%r15
1605
1606 rorq $4,%r13
1607 addq %rbx,%r12
1608 xorq %rax,%r15
1609
1610 rorq $6,%r14
1611 xorq %r10,%r13
1612 addq %r15,%r12
1613
1614 movq %rcx,%r15
1615 addq (%rbp),%r12
1616 xorq %rcx,%r14
1617
1618 xorq %rdx,%r15
1619 rorq $14,%r13
1620 movq %rdx,%rbx
1621
1622 andq %r15,%rdi
1623 rorq $28,%r14
1624 addq %r13,%r12
1625
1626 xorq %rdi,%rbx
1627 addq %r12,%r9
1628 addq %r12,%rbx
1629
1630 leaq 8(%rbp),%rbp
1631 movq 0(%rsp),%r13
1632 movq 104(%rsp),%rdi
1633
1634 movq %r13,%r12
1635 rorq $7,%r13
1636 addq %r14,%rbx
1637 movq %rdi,%r14
1638 rorq $42,%rdi
1639
1640 xorq %r12,%r13
1641 shrq $7,%r12
1642 rorq $1,%r13
1643 xorq %r14,%rdi
1644 shrq $6,%r14
1645
1646 rorq $19,%rdi
1647 xorq %r13,%r12
1648 xorq %r14,%rdi
1649 addq 64(%rsp),%r12
1650
1651 addq 120(%rsp),%r12
1652 movq %r9,%r13
1653 addq %rdi,%r12
1654 movq %rbx,%r14
1655 rorq $23,%r13
1656 movq %r10,%rdi
1657
1658 xorq %r9,%r13
1659 rorq $5,%r14
1660 xorq %r11,%rdi
1661
1662 movq %r12,120(%rsp)
1663 xorq %rbx,%r14
1664 andq %r9,%rdi
1665
1666 rorq $4,%r13
1667 addq %rax,%r12
1668 xorq %r11,%rdi
1669
1670 rorq $6,%r14
1671 xorq %r9,%r13
1672 addq %rdi,%r12
1673
1674 movq %rbx,%rdi
1675 addq (%rbp),%r12
1676 xorq %rbx,%r14
1677
1678 xorq %rcx,%rdi
1679 rorq $14,%r13
1680 movq %rcx,%rax
1681
1682 andq %rdi,%r15
1683 rorq $28,%r14
1684 addq %r13,%r12
1685
1686 xorq %r15,%rax
1687 addq %r12,%r8
1688 addq %r12,%rax
1689
1690 leaq 24(%rbp),%rbp
1691 cmpb $0,7(%rbp)
1692 jnz .Lrounds_16_xx
1693
1694 movq 128+0(%rsp),%rdi
1695 addq %r14,%rax
1696 leaq 128(%rsi),%rsi
1697
1698 addq 0(%rdi),%rax
1699 addq 8(%rdi),%rbx
1700 addq 16(%rdi),%rcx
1701 addq 24(%rdi),%rdx
1702 addq 32(%rdi),%r8
1703 addq 40(%rdi),%r9
1704 addq 48(%rdi),%r10
1705 addq 56(%rdi),%r11
1706
1707 cmpq 128+16(%rsp),%rsi
1708
1709 movq %rax,0(%rdi)
1710 movq %rbx,8(%rdi)
1711 movq %rcx,16(%rdi)
1712 movq %rdx,24(%rdi)
1713 movq %r8,32(%rdi)
1714 movq %r9,40(%rdi)
1715 movq %r10,48(%rdi)
1716 movq %r11,56(%rdi)
1717 jb .Lloop
1718
1719 movq 152(%rsp),%rsi
1720.cfi_def_cfa %rsi,8
1721 movq -48(%rsi),%r15
1722.cfi_restore %r15
1723 movq -40(%rsi),%r14
1724.cfi_restore %r14
1725 movq -32(%rsi),%r13
1726.cfi_restore %r13
1727 movq -24(%rsi),%r12
1728.cfi_restore %r12
1729 movq -16(%rsi),%rbp
1730.cfi_restore %rbp
1731 movq -8(%rsi),%rbx
1732.cfi_restore %rbx
1733 leaq (%rsi),%rsp
1734.cfi_def_cfa_register %rsp
1735.Lepilogue:
1736 .byte 0xf3,0xc3
1737.cfi_endproc
1738.size sha512_block_data_order,.-sha512_block_data_order
1739.align 64
1740.type K512,@object
1741K512:
1742.quad 0x428a2f98d728ae22,0x7137449123ef65cd
1743.quad 0x428a2f98d728ae22,0x7137449123ef65cd
1744.quad 0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc
1745.quad 0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc
1746.quad 0x3956c25bf348b538,0x59f111f1b605d019
1747.quad 0x3956c25bf348b538,0x59f111f1b605d019
1748.quad 0x923f82a4af194f9b,0xab1c5ed5da6d8118
1749.quad 0x923f82a4af194f9b,0xab1c5ed5da6d8118
1750.quad 0xd807aa98a3030242,0x12835b0145706fbe
1751.quad 0xd807aa98a3030242,0x12835b0145706fbe
1752.quad 0x243185be4ee4b28c,0x550c7dc3d5ffb4e2
1753.quad 0x243185be4ee4b28c,0x550c7dc3d5ffb4e2
1754.quad 0x72be5d74f27b896f,0x80deb1fe3b1696b1
1755.quad 0x72be5d74f27b896f,0x80deb1fe3b1696b1
1756.quad 0x9bdc06a725c71235,0xc19bf174cf692694
1757.quad 0x9bdc06a725c71235,0xc19bf174cf692694
1758.quad 0xe49b69c19ef14ad2,0xefbe4786384f25e3
1759.quad 0xe49b69c19ef14ad2,0xefbe4786384f25e3
1760.quad 0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65
1761.quad 0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65
1762.quad 0x2de92c6f592b0275,0x4a7484aa6ea6e483
1763.quad 0x2de92c6f592b0275,0x4a7484aa6ea6e483
1764.quad 0x5cb0a9dcbd41fbd4,0x76f988da831153b5
1765.quad 0x5cb0a9dcbd41fbd4,0x76f988da831153b5
1766.quad 0x983e5152ee66dfab,0xa831c66d2db43210
1767.quad 0x983e5152ee66dfab,0xa831c66d2db43210
1768.quad 0xb00327c898fb213f,0xbf597fc7beef0ee4
1769.quad 0xb00327c898fb213f,0xbf597fc7beef0ee4
1770.quad 0xc6e00bf33da88fc2,0xd5a79147930aa725
1771.quad 0xc6e00bf33da88fc2,0xd5a79147930aa725
1772.quad 0x06ca6351e003826f,0x142929670a0e6e70
1773.quad 0x06ca6351e003826f,0x142929670a0e6e70
1774.quad 0x27b70a8546d22ffc,0x2e1b21385c26c926
1775.quad 0x27b70a8546d22ffc,0x2e1b21385c26c926
1776.quad 0x4d2c6dfc5ac42aed,0x53380d139d95b3df
1777.quad 0x4d2c6dfc5ac42aed,0x53380d139d95b3df
1778.quad 0x650a73548baf63de,0x766a0abb3c77b2a8
1779.quad 0x650a73548baf63de,0x766a0abb3c77b2a8
1780.quad 0x81c2c92e47edaee6,0x92722c851482353b
1781.quad 0x81c2c92e47edaee6,0x92722c851482353b
1782.quad 0xa2bfe8a14cf10364,0xa81a664bbc423001
1783.quad 0xa2bfe8a14cf10364,0xa81a664bbc423001
1784.quad 0xc24b8b70d0f89791,0xc76c51a30654be30
1785.quad 0xc24b8b70d0f89791,0xc76c51a30654be30
1786.quad 0xd192e819d6ef5218,0xd69906245565a910
1787.quad 0xd192e819d6ef5218,0xd69906245565a910
1788.quad 0xf40e35855771202a,0x106aa07032bbd1b8
1789.quad 0xf40e35855771202a,0x106aa07032bbd1b8
1790.quad 0x19a4c116b8d2d0c8,0x1e376c085141ab53
1791.quad 0x19a4c116b8d2d0c8,0x1e376c085141ab53
1792.quad 0x2748774cdf8eeb99,0x34b0bcb5e19b48a8
1793.quad 0x2748774cdf8eeb99,0x34b0bcb5e19b48a8
1794.quad 0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb
1795.quad 0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb
1796.quad 0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3
1797.quad 0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3
1798.quad 0x748f82ee5defb2fc,0x78a5636f43172f60
1799.quad 0x748f82ee5defb2fc,0x78a5636f43172f60
1800.quad 0x84c87814a1f0ab72,0x8cc702081a6439ec
1801.quad 0x84c87814a1f0ab72,0x8cc702081a6439ec
1802.quad 0x90befffa23631e28,0xa4506cebde82bde9
1803.quad 0x90befffa23631e28,0xa4506cebde82bde9
1804.quad 0xbef9a3f7b2c67915,0xc67178f2e372532b
1805.quad 0xbef9a3f7b2c67915,0xc67178f2e372532b
1806.quad 0xca273eceea26619c,0xd186b8c721c0c207
1807.quad 0xca273eceea26619c,0xd186b8c721c0c207
1808.quad 0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178
1809.quad 0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178
1810.quad 0x06f067aa72176fba,0x0a637dc5a2c898a6
1811.quad 0x06f067aa72176fba,0x0a637dc5a2c898a6
1812.quad 0x113f9804bef90dae,0x1b710b35131c471b
1813.quad 0x113f9804bef90dae,0x1b710b35131c471b
1814.quad 0x28db77f523047d84,0x32caab7b40c72493
1815.quad 0x28db77f523047d84,0x32caab7b40c72493
1816.quad 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
1817.quad 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
1818.quad 0x4cc5d4becb3e42b6,0x597f299cfc657e2a
1819.quad 0x4cc5d4becb3e42b6,0x597f299cfc657e2a
1820.quad 0x5fcb6fab3ad6faec,0x6c44198c4a475817
1821.quad 0x5fcb6fab3ad6faec,0x6c44198c4a475817
1822
1823.quad 0x0001020304050607,0x08090a0b0c0d0e0f
1824.quad 0x0001020304050607,0x08090a0b0c0d0e0f
1825.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
1826.type sha512_block_data_order_avx,@function
1827.align 64
1828sha512_block_data_order_avx:
1829.cfi_startproc
1830.Lavx_shortcut:
1831 movq %rsp,%rax
1832.cfi_def_cfa_register %rax
1833 pushq %rbx
1834.cfi_offset %rbx,-16
1835 pushq %rbp
1836.cfi_offset %rbp,-24
1837 pushq %r12
1838.cfi_offset %r12,-32
1839 pushq %r13
1840.cfi_offset %r13,-40
1841 pushq %r14
1842.cfi_offset %r14,-48
1843 pushq %r15
1844.cfi_offset %r15,-56
1845 shlq $4,%rdx
1846 subq $160,%rsp
1847 leaq (%rsi,%rdx,8),%rdx
1848 andq $-64,%rsp
1849 movq %rdi,128+0(%rsp)
1850 movq %rsi,128+8(%rsp)
1851 movq %rdx,128+16(%rsp)
1852 movq %rax,152(%rsp)
1853.cfi_escape 0x0f,0x06,0x77,0x98,0x01,0x06,0x23,0x08
1854.Lprologue_avx:
1855
1856 vzeroupper
1857 movq 0(%rdi),%rax
1858 movq 8(%rdi),%rbx
1859 movq 16(%rdi),%rcx
1860 movq 24(%rdi),%rdx
1861 movq 32(%rdi),%r8
1862 movq 40(%rdi),%r9
1863 movq 48(%rdi),%r10
1864 movq 56(%rdi),%r11
1865 jmp .Lloop_avx
1866.align 16
1867.Lloop_avx:
1868 vmovdqa K512+1280(%rip),%xmm11
1869 vmovdqu 0(%rsi),%xmm0
1870 leaq K512+128(%rip),%rbp
1871 vmovdqu 16(%rsi),%xmm1
1872 vmovdqu 32(%rsi),%xmm2
1873 vpshufb %xmm11,%xmm0,%xmm0
1874 vmovdqu 48(%rsi),%xmm3
1875 vpshufb %xmm11,%xmm1,%xmm1
1876 vmovdqu 64(%rsi),%xmm4
1877 vpshufb %xmm11,%xmm2,%xmm2
1878 vmovdqu 80(%rsi),%xmm5
1879 vpshufb %xmm11,%xmm3,%xmm3
1880 vmovdqu 96(%rsi),%xmm6
1881 vpshufb %xmm11,%xmm4,%xmm4
1882 vmovdqu 112(%rsi),%xmm7
1883 vpshufb %xmm11,%xmm5,%xmm5
1884 vpaddq -128(%rbp),%xmm0,%xmm8
1885 vpshufb %xmm11,%xmm6,%xmm6
1886 vpaddq -96(%rbp),%xmm1,%xmm9
1887 vpshufb %xmm11,%xmm7,%xmm7
1888 vpaddq -64(%rbp),%xmm2,%xmm10
1889 vpaddq -32(%rbp),%xmm3,%xmm11
1890 vmovdqa %xmm8,0(%rsp)
1891 vpaddq 0(%rbp),%xmm4,%xmm8
1892 vmovdqa %xmm9,16(%rsp)
1893 vpaddq 32(%rbp),%xmm5,%xmm9
1894 vmovdqa %xmm10,32(%rsp)
1895 vpaddq 64(%rbp),%xmm6,%xmm10
1896 vmovdqa %xmm11,48(%rsp)
1897 vpaddq 96(%rbp),%xmm7,%xmm11
1898 vmovdqa %xmm8,64(%rsp)
1899 movq %rax,%r14
1900 vmovdqa %xmm9,80(%rsp)
1901 movq %rbx,%rdi
1902 vmovdqa %xmm10,96(%rsp)
1903 xorq %rcx,%rdi
1904 vmovdqa %xmm11,112(%rsp)
1905 movq %r8,%r13
1906 jmp .Lavx_00_47
1907
1908.align 16
1909.Lavx_00_47:
1910 addq $256,%rbp
1911 vpalignr $8,%xmm0,%xmm1,%xmm8
1912 shrdq $23,%r13,%r13
1913 movq %r14,%rax
1914 vpalignr $8,%xmm4,%xmm5,%xmm11
1915 movq %r9,%r12
1916 shrdq $5,%r14,%r14
1917 vpsrlq $1,%xmm8,%xmm10
1918 xorq %r8,%r13
1919 xorq %r10,%r12
1920 vpaddq %xmm11,%xmm0,%xmm0
1921 shrdq $4,%r13,%r13
1922 xorq %rax,%r14
1923 vpsrlq $7,%xmm8,%xmm11
1924 andq %r8,%r12
1925 xorq %r8,%r13
1926 vpsllq $56,%xmm8,%xmm9
1927 addq 0(%rsp),%r11
1928 movq %rax,%r15
1929 vpxor %xmm10,%xmm11,%xmm8
1930 xorq %r10,%r12
1931 shrdq $6,%r14,%r14
1932 vpsrlq $7,%xmm10,%xmm10
1933 xorq %rbx,%r15
1934 addq %r12,%r11
1935 vpxor %xmm9,%xmm8,%xmm8
1936 shrdq $14,%r13,%r13
1937 andq %r15,%rdi
1938 vpsllq $7,%xmm9,%xmm9
1939 xorq %rax,%r14
1940 addq %r13,%r11
1941 vpxor %xmm10,%xmm8,%xmm8
1942 xorq %rbx,%rdi
1943 shrdq $28,%r14,%r14
1944 vpsrlq $6,%xmm7,%xmm11
1945 addq %r11,%rdx
1946 addq %rdi,%r11
1947 vpxor %xmm9,%xmm8,%xmm8
1948 movq %rdx,%r13
1949 addq %r11,%r14
1950 vpsllq $3,%xmm7,%xmm10
1951 shrdq $23,%r13,%r13
1952 movq %r14,%r11
1953 vpaddq %xmm8,%xmm0,%xmm0
1954 movq %r8,%r12
1955 shrdq $5,%r14,%r14
1956 vpsrlq $19,%xmm7,%xmm9
1957 xorq %rdx,%r13
1958 xorq %r9,%r12
1959 vpxor %xmm10,%xmm11,%xmm11
1960 shrdq $4,%r13,%r13
1961 xorq %r11,%r14
1962 vpsllq $42,%xmm10,%xmm10
1963 andq %rdx,%r12
1964 xorq %rdx,%r13
1965 vpxor %xmm9,%xmm11,%xmm11
1966 addq 8(%rsp),%r10
1967 movq %r11,%rdi
1968 vpsrlq $42,%xmm9,%xmm9
1969 xorq %r9,%r12
1970 shrdq $6,%r14,%r14
1971 vpxor %xmm10,%xmm11,%xmm11
1972 xorq %rax,%rdi
1973 addq %r12,%r10
1974 vpxor %xmm9,%xmm11,%xmm11
1975 shrdq $14,%r13,%r13
1976 andq %rdi,%r15
1977 vpaddq %xmm11,%xmm0,%xmm0
1978 xorq %r11,%r14
1979 addq %r13,%r10
1980 vpaddq -128(%rbp),%xmm0,%xmm10
1981 xorq %rax,%r15
1982 shrdq $28,%r14,%r14
1983 addq %r10,%rcx
1984 addq %r15,%r10
1985 movq %rcx,%r13
1986 addq %r10,%r14
1987 vmovdqa %xmm10,0(%rsp)
1988 vpalignr $8,%xmm1,%xmm2,%xmm8
1989 shrdq $23,%r13,%r13
1990 movq %r14,%r10
1991 vpalignr $8,%xmm5,%xmm6,%xmm11
1992 movq %rdx,%r12
1993 shrdq $5,%r14,%r14
1994 vpsrlq $1,%xmm8,%xmm10
1995 xorq %rcx,%r13
1996 xorq %r8,%r12
1997 vpaddq %xmm11,%xmm1,%xmm1
1998 shrdq $4,%r13,%r13
1999 xorq %r10,%r14
2000 vpsrlq $7,%xmm8,%xmm11
2001 andq %rcx,%r12
2002 xorq %rcx,%r13
2003 vpsllq $56,%xmm8,%xmm9
2004 addq 16(%rsp),%r9
2005 movq %r10,%r15
2006 vpxor %xmm10,%xmm11,%xmm8
2007 xorq %r8,%r12
2008 shrdq $6,%r14,%r14
2009 vpsrlq $7,%xmm10,%xmm10
2010 xorq %r11,%r15
2011 addq %r12,%r9
2012 vpxor %xmm9,%xmm8,%xmm8
2013 shrdq $14,%r13,%r13
2014 andq %r15,%rdi
2015 vpsllq $7,%xmm9,%xmm9
2016 xorq %r10,%r14
2017 addq %r13,%r9
2018 vpxor %xmm10,%xmm8,%xmm8
2019 xorq %r11,%rdi
2020 shrdq $28,%r14,%r14
2021 vpsrlq $6,%xmm0,%xmm11
2022 addq %r9,%rbx
2023 addq %rdi,%r9
2024 vpxor %xmm9,%xmm8,%xmm8
2025 movq %rbx,%r13
2026 addq %r9,%r14
2027 vpsllq $3,%xmm0,%xmm10
2028 shrdq $23,%r13,%r13
2029 movq %r14,%r9
2030 vpaddq %xmm8,%xmm1,%xmm1
2031 movq %rcx,%r12
2032 shrdq $5,%r14,%r14
2033 vpsrlq $19,%xmm0,%xmm9
2034 xorq %rbx,%r13
2035 xorq %rdx,%r12
2036 vpxor %xmm10,%xmm11,%xmm11
2037 shrdq $4,%r13,%r13
2038 xorq %r9,%r14
2039 vpsllq $42,%xmm10,%xmm10
2040 andq %rbx,%r12
2041 xorq %rbx,%r13
2042 vpxor %xmm9,%xmm11,%xmm11
2043 addq 24(%rsp),%r8
2044 movq %r9,%rdi
2045 vpsrlq $42,%xmm9,%xmm9
2046 xorq %rdx,%r12
2047 shrdq $6,%r14,%r14
2048 vpxor %xmm10,%xmm11,%xmm11
2049 xorq %r10,%rdi
2050 addq %r12,%r8
2051 vpxor %xmm9,%xmm11,%xmm11
2052 shrdq $14,%r13,%r13
2053 andq %rdi,%r15
2054 vpaddq %xmm11,%xmm1,%xmm1
2055 xorq %r9,%r14
2056 addq %r13,%r8
2057 vpaddq -96(%rbp),%xmm1,%xmm10
2058 xorq %r10,%r15
2059 shrdq $28,%r14,%r14
2060 addq %r8,%rax
2061 addq %r15,%r8
2062 movq %rax,%r13
2063 addq %r8,%r14
2064 vmovdqa %xmm10,16(%rsp)
2065 vpalignr $8,%xmm2,%xmm3,%xmm8
2066 shrdq $23,%r13,%r13
2067 movq %r14,%r8
2068 vpalignr $8,%xmm6,%xmm7,%xmm11
2069 movq %rbx,%r12
2070 shrdq $5,%r14,%r14
2071 vpsrlq $1,%xmm8,%xmm10
2072 xorq %rax,%r13
2073 xorq %rcx,%r12
2074 vpaddq %xmm11,%xmm2,%xmm2
2075 shrdq $4,%r13,%r13
2076 xorq %r8,%r14
2077 vpsrlq $7,%xmm8,%xmm11
2078 andq %rax,%r12
2079 xorq %rax,%r13
2080 vpsllq $56,%xmm8,%xmm9
2081 addq 32(%rsp),%rdx
2082 movq %r8,%r15
2083 vpxor %xmm10,%xmm11,%xmm8
2084 xorq %rcx,%r12
2085 shrdq $6,%r14,%r14
2086 vpsrlq $7,%xmm10,%xmm10
2087 xorq %r9,%r15
2088 addq %r12,%rdx
2089 vpxor %xmm9,%xmm8,%xmm8
2090 shrdq $14,%r13,%r13
2091 andq %r15,%rdi
2092 vpsllq $7,%xmm9,%xmm9
2093 xorq %r8,%r14
2094 addq %r13,%rdx
2095 vpxor %xmm10,%xmm8,%xmm8
2096 xorq %r9,%rdi
2097 shrdq $28,%r14,%r14
2098 vpsrlq $6,%xmm1,%xmm11
2099 addq %rdx,%r11
2100 addq %rdi,%rdx
2101 vpxor %xmm9,%xmm8,%xmm8
2102 movq %r11,%r13
2103 addq %rdx,%r14
2104 vpsllq $3,%xmm1,%xmm10
2105 shrdq $23,%r13,%r13
2106 movq %r14,%rdx
2107 vpaddq %xmm8,%xmm2,%xmm2
2108 movq %rax,%r12
2109 shrdq $5,%r14,%r14
2110 vpsrlq $19,%xmm1,%xmm9
2111 xorq %r11,%r13
2112 xorq %rbx,%r12
2113 vpxor %xmm10,%xmm11,%xmm11
2114 shrdq $4,%r13,%r13
2115 xorq %rdx,%r14
2116 vpsllq $42,%xmm10,%xmm10
2117 andq %r11,%r12
2118 xorq %r11,%r13
2119 vpxor %xmm9,%xmm11,%xmm11
2120 addq 40(%rsp),%rcx
2121 movq %rdx,%rdi
2122 vpsrlq $42,%xmm9,%xmm9
2123 xorq %rbx,%r12
2124 shrdq $6,%r14,%r14
2125 vpxor %xmm10,%xmm11,%xmm11
2126 xorq %r8,%rdi
2127 addq %r12,%rcx
2128 vpxor %xmm9,%xmm11,%xmm11
2129 shrdq $14,%r13,%r13
2130 andq %rdi,%r15
2131 vpaddq %xmm11,%xmm2,%xmm2
2132 xorq %rdx,%r14
2133 addq %r13,%rcx
2134 vpaddq -64(%rbp),%xmm2,%xmm10
2135 xorq %r8,%r15
2136 shrdq $28,%r14,%r14
2137 addq %rcx,%r10
2138 addq %r15,%rcx
2139 movq %r10,%r13
2140 addq %rcx,%r14
2141 vmovdqa %xmm10,32(%rsp)
2142 vpalignr $8,%xmm3,%xmm4,%xmm8
2143 shrdq $23,%r13,%r13
2144 movq %r14,%rcx
2145 vpalignr $8,%xmm7,%xmm0,%xmm11
2146 movq %r11,%r12
2147 shrdq $5,%r14,%r14
2148 vpsrlq $1,%xmm8,%xmm10
2149 xorq %r10,%r13
2150 xorq %rax,%r12
2151 vpaddq %xmm11,%xmm3,%xmm3
2152 shrdq $4,%r13,%r13
2153 xorq %rcx,%r14
2154 vpsrlq $7,%xmm8,%xmm11
2155 andq %r10,%r12
2156 xorq %r10,%r13
2157 vpsllq $56,%xmm8,%xmm9
2158 addq 48(%rsp),%rbx
2159 movq %rcx,%r15
2160 vpxor %xmm10,%xmm11,%xmm8
2161 xorq %rax,%r12
2162 shrdq $6,%r14,%r14
2163 vpsrlq $7,%xmm10,%xmm10
2164 xorq %rdx,%r15
2165 addq %r12,%rbx
2166 vpxor %xmm9,%xmm8,%xmm8
2167 shrdq $14,%r13,%r13
2168 andq %r15,%rdi
2169 vpsllq $7,%xmm9,%xmm9
2170 xorq %rcx,%r14
2171 addq %r13,%rbx
2172 vpxor %xmm10,%xmm8,%xmm8
2173 xorq %rdx,%rdi
2174 shrdq $28,%r14,%r14
2175 vpsrlq $6,%xmm2,%xmm11
2176 addq %rbx,%r9
2177 addq %rdi,%rbx
2178 vpxor %xmm9,%xmm8,%xmm8
2179 movq %r9,%r13
2180 addq %rbx,%r14
2181 vpsllq $3,%xmm2,%xmm10
2182 shrdq $23,%r13,%r13
2183 movq %r14,%rbx
2184 vpaddq %xmm8,%xmm3,%xmm3
2185 movq %r10,%r12
2186 shrdq $5,%r14,%r14
2187 vpsrlq $19,%xmm2,%xmm9
2188 xorq %r9,%r13
2189 xorq %r11,%r12
2190 vpxor %xmm10,%xmm11,%xmm11
2191 shrdq $4,%r13,%r13
2192 xorq %rbx,%r14
2193 vpsllq $42,%xmm10,%xmm10
2194 andq %r9,%r12
2195 xorq %r9,%r13
2196 vpxor %xmm9,%xmm11,%xmm11
2197 addq 56(%rsp),%rax
2198 movq %rbx,%rdi
2199 vpsrlq $42,%xmm9,%xmm9
2200 xorq %r11,%r12
2201 shrdq $6,%r14,%r14
2202 vpxor %xmm10,%xmm11,%xmm11
2203 xorq %rcx,%rdi
2204 addq %r12,%rax
2205 vpxor %xmm9,%xmm11,%xmm11
2206 shrdq $14,%r13,%r13
2207 andq %rdi,%r15
2208 vpaddq %xmm11,%xmm3,%xmm3
2209 xorq %rbx,%r14
2210 addq %r13,%rax
2211 vpaddq -32(%rbp),%xmm3,%xmm10
2212 xorq %rcx,%r15
2213 shrdq $28,%r14,%r14
2214 addq %rax,%r8
2215 addq %r15,%rax
2216 movq %r8,%r13
2217 addq %rax,%r14
2218 vmovdqa %xmm10,48(%rsp)
2219 vpalignr $8,%xmm4,%xmm5,%xmm8
2220 shrdq $23,%r13,%r13
2221 movq %r14,%rax
2222 vpalignr $8,%xmm0,%xmm1,%xmm11
2223 movq %r9,%r12
2224 shrdq $5,%r14,%r14
2225 vpsrlq $1,%xmm8,%xmm10
2226 xorq %r8,%r13
2227 xorq %r10,%r12
2228 vpaddq %xmm11,%xmm4,%xmm4
2229 shrdq $4,%r13,%r13
2230 xorq %rax,%r14
2231 vpsrlq $7,%xmm8,%xmm11
2232 andq %r8,%r12
2233 xorq %r8,%r13
2234 vpsllq $56,%xmm8,%xmm9
2235 addq 64(%rsp),%r11
2236 movq %rax,%r15
2237 vpxor %xmm10,%xmm11,%xmm8
2238 xorq %r10,%r12
2239 shrdq $6,%r14,%r14
2240 vpsrlq $7,%xmm10,%xmm10
2241 xorq %rbx,%r15
2242 addq %r12,%r11
2243 vpxor %xmm9,%xmm8,%xmm8
2244 shrdq $14,%r13,%r13
2245 andq %r15,%rdi
2246 vpsllq $7,%xmm9,%xmm9
2247 xorq %rax,%r14
2248 addq %r13,%r11
2249 vpxor %xmm10,%xmm8,%xmm8
2250 xorq %rbx,%rdi
2251 shrdq $28,%r14,%r14
2252 vpsrlq $6,%xmm3,%xmm11
2253 addq %r11,%rdx
2254 addq %rdi,%r11
2255 vpxor %xmm9,%xmm8,%xmm8
2256 movq %rdx,%r13
2257 addq %r11,%r14
2258 vpsllq $3,%xmm3,%xmm10
2259 shrdq $23,%r13,%r13
2260 movq %r14,%r11
2261 vpaddq %xmm8,%xmm4,%xmm4
2262 movq %r8,%r12
2263 shrdq $5,%r14,%r14
2264 vpsrlq $19,%xmm3,%xmm9
2265 xorq %rdx,%r13
2266 xorq %r9,%r12
2267 vpxor %xmm10,%xmm11,%xmm11
2268 shrdq $4,%r13,%r13
2269 xorq %r11,%r14
2270 vpsllq $42,%xmm10,%xmm10
2271 andq %rdx,%r12
2272 xorq %rdx,%r13
2273 vpxor %xmm9,%xmm11,%xmm11
2274 addq 72(%rsp),%r10
2275 movq %r11,%rdi
2276 vpsrlq $42,%xmm9,%xmm9
2277 xorq %r9,%r12
2278 shrdq $6,%r14,%r14
2279 vpxor %xmm10,%xmm11,%xmm11
2280 xorq %rax,%rdi
2281 addq %r12,%r10
2282 vpxor %xmm9,%xmm11,%xmm11
2283 shrdq $14,%r13,%r13
2284 andq %rdi,%r15
2285 vpaddq %xmm11,%xmm4,%xmm4
2286 xorq %r11,%r14
2287 addq %r13,%r10
2288 vpaddq 0(%rbp),%xmm4,%xmm10
2289 xorq %rax,%r15
2290 shrdq $28,%r14,%r14
2291 addq %r10,%rcx
2292 addq %r15,%r10
2293 movq %rcx,%r13
2294 addq %r10,%r14
2295 vmovdqa %xmm10,64(%rsp)
2296 vpalignr $8,%xmm5,%xmm6,%xmm8
2297 shrdq $23,%r13,%r13
2298 movq %r14,%r10
2299 vpalignr $8,%xmm1,%xmm2,%xmm11
2300 movq %rdx,%r12
2301 shrdq $5,%r14,%r14
2302 vpsrlq $1,%xmm8,%xmm10
2303 xorq %rcx,%r13
2304 xorq %r8,%r12
2305 vpaddq %xmm11,%xmm5,%xmm5
2306 shrdq $4,%r13,%r13
2307 xorq %r10,%r14
2308 vpsrlq $7,%xmm8,%xmm11
2309 andq %rcx,%r12
2310 xorq %rcx,%r13
2311 vpsllq $56,%xmm8,%xmm9
2312 addq 80(%rsp),%r9
2313 movq %r10,%r15
2314 vpxor %xmm10,%xmm11,%xmm8
2315 xorq %r8,%r12
2316 shrdq $6,%r14,%r14
2317 vpsrlq $7,%xmm10,%xmm10
2318 xorq %r11,%r15
2319 addq %r12,%r9
2320 vpxor %xmm9,%xmm8,%xmm8
2321 shrdq $14,%r13,%r13
2322 andq %r15,%rdi
2323 vpsllq $7,%xmm9,%xmm9
2324 xorq %r10,%r14
2325 addq %r13,%r9
2326 vpxor %xmm10,%xmm8,%xmm8
2327 xorq %r11,%rdi
2328 shrdq $28,%r14,%r14
2329 vpsrlq $6,%xmm4,%xmm11
2330 addq %r9,%rbx
2331 addq %rdi,%r9
2332 vpxor %xmm9,%xmm8,%xmm8
2333 movq %rbx,%r13
2334 addq %r9,%r14
2335 vpsllq $3,%xmm4,%xmm10
2336 shrdq $23,%r13,%r13
2337 movq %r14,%r9
2338 vpaddq %xmm8,%xmm5,%xmm5
2339 movq %rcx,%r12
2340 shrdq $5,%r14,%r14
2341 vpsrlq $19,%xmm4,%xmm9
2342 xorq %rbx,%r13
2343 xorq %rdx,%r12
2344 vpxor %xmm10,%xmm11,%xmm11
2345 shrdq $4,%r13,%r13
2346 xorq %r9,%r14
2347 vpsllq $42,%xmm10,%xmm10
2348 andq %rbx,%r12
2349 xorq %rbx,%r13
2350 vpxor %xmm9,%xmm11,%xmm11
2351 addq 88(%rsp),%r8
2352 movq %r9,%rdi
2353 vpsrlq $42,%xmm9,%xmm9
2354 xorq %rdx,%r12
2355 shrdq $6,%r14,%r14
2356 vpxor %xmm10,%xmm11,%xmm11
2357 xorq %r10,%rdi
2358 addq %r12,%r8
2359 vpxor %xmm9,%xmm11,%xmm11
2360 shrdq $14,%r13,%r13
2361 andq %rdi,%r15
2362 vpaddq %xmm11,%xmm5,%xmm5
2363 xorq %r9,%r14
2364 addq %r13,%r8
2365 vpaddq 32(%rbp),%xmm5,%xmm10
2366 xorq %r10,%r15
2367 shrdq $28,%r14,%r14
2368 addq %r8,%rax
2369 addq %r15,%r8
2370 movq %rax,%r13
2371 addq %r8,%r14
2372 vmovdqa %xmm10,80(%rsp)
2373 vpalignr $8,%xmm6,%xmm7,%xmm8
2374 shrdq $23,%r13,%r13
2375 movq %r14,%r8
2376 vpalignr $8,%xmm2,%xmm3,%xmm11
2377 movq %rbx,%r12
2378 shrdq $5,%r14,%r14
2379 vpsrlq $1,%xmm8,%xmm10
2380 xorq %rax,%r13
2381 xorq %rcx,%r12
2382 vpaddq %xmm11,%xmm6,%xmm6
2383 shrdq $4,%r13,%r13
2384 xorq %r8,%r14
2385 vpsrlq $7,%xmm8,%xmm11
2386 andq %rax,%r12
2387 xorq %rax,%r13
2388 vpsllq $56,%xmm8,%xmm9
2389 addq 96(%rsp),%rdx
2390 movq %r8,%r15
2391 vpxor %xmm10,%xmm11,%xmm8
2392 xorq %rcx,%r12
2393 shrdq $6,%r14,%r14
2394 vpsrlq $7,%xmm10,%xmm10
2395 xorq %r9,%r15
2396 addq %r12,%rdx
2397 vpxor %xmm9,%xmm8,%xmm8
2398 shrdq $14,%r13,%r13
2399 andq %r15,%rdi
2400 vpsllq $7,%xmm9,%xmm9
2401 xorq %r8,%r14
2402 addq %r13,%rdx
2403 vpxor %xmm10,%xmm8,%xmm8
2404 xorq %r9,%rdi
2405 shrdq $28,%r14,%r14
2406 vpsrlq $6,%xmm5,%xmm11
2407 addq %rdx,%r11
2408 addq %rdi,%rdx
2409 vpxor %xmm9,%xmm8,%xmm8
2410 movq %r11,%r13
2411 addq %rdx,%r14
2412 vpsllq $3,%xmm5,%xmm10
2413 shrdq $23,%r13,%r13
2414 movq %r14,%rdx
2415 vpaddq %xmm8,%xmm6,%xmm6
2416 movq %rax,%r12
2417 shrdq $5,%r14,%r14
2418 vpsrlq $19,%xmm5,%xmm9
2419 xorq %r11,%r13
2420 xorq %rbx,%r12
2421 vpxor %xmm10,%xmm11,%xmm11
2422 shrdq $4,%r13,%r13
2423 xorq %rdx,%r14
2424 vpsllq $42,%xmm10,%xmm10
2425 andq %r11,%r12
2426 xorq %r11,%r13
2427 vpxor %xmm9,%xmm11,%xmm11
2428 addq 104(%rsp),%rcx
2429 movq %rdx,%rdi
2430 vpsrlq $42,%xmm9,%xmm9
2431 xorq %rbx,%r12
2432 shrdq $6,%r14,%r14
2433 vpxor %xmm10,%xmm11,%xmm11
2434 xorq %r8,%rdi
2435 addq %r12,%rcx
2436 vpxor %xmm9,%xmm11,%xmm11
2437 shrdq $14,%r13,%r13
2438 andq %rdi,%r15
2439 vpaddq %xmm11,%xmm6,%xmm6
2440 xorq %rdx,%r14
2441 addq %r13,%rcx
2442 vpaddq 64(%rbp),%xmm6,%xmm10
2443 xorq %r8,%r15
2444 shrdq $28,%r14,%r14
2445 addq %rcx,%r10
2446 addq %r15,%rcx
2447 movq %r10,%r13
2448 addq %rcx,%r14
2449 vmovdqa %xmm10,96(%rsp)
2450 vpalignr $8,%xmm7,%xmm0,%xmm8
2451 shrdq $23,%r13,%r13
2452 movq %r14,%rcx
2453 vpalignr $8,%xmm3,%xmm4,%xmm11
2454 movq %r11,%r12
2455 shrdq $5,%r14,%r14
2456 vpsrlq $1,%xmm8,%xmm10
2457 xorq %r10,%r13
2458 xorq %rax,%r12
2459 vpaddq %xmm11,%xmm7,%xmm7
2460 shrdq $4,%r13,%r13
2461 xorq %rcx,%r14
2462 vpsrlq $7,%xmm8,%xmm11
2463 andq %r10,%r12
2464 xorq %r10,%r13
2465 vpsllq $56,%xmm8,%xmm9
2466 addq 112(%rsp),%rbx
2467 movq %rcx,%r15
2468 vpxor %xmm10,%xmm11,%xmm8
2469 xorq %rax,%r12
2470 shrdq $6,%r14,%r14
2471 vpsrlq $7,%xmm10,%xmm10
2472 xorq %rdx,%r15
2473 addq %r12,%rbx
2474 vpxor %xmm9,%xmm8,%xmm8
2475 shrdq $14,%r13,%r13
2476 andq %r15,%rdi
2477 vpsllq $7,%xmm9,%xmm9
2478 xorq %rcx,%r14
2479 addq %r13,%rbx
2480 vpxor %xmm10,%xmm8,%xmm8
2481 xorq %rdx,%rdi
2482 shrdq $28,%r14,%r14
2483 vpsrlq $6,%xmm6,%xmm11
2484 addq %rbx,%r9
2485 addq %rdi,%rbx
2486 vpxor %xmm9,%xmm8,%xmm8
2487 movq %r9,%r13
2488 addq %rbx,%r14
2489 vpsllq $3,%xmm6,%xmm10
2490 shrdq $23,%r13,%r13
2491 movq %r14,%rbx
2492 vpaddq %xmm8,%xmm7,%xmm7
2493 movq %r10,%r12
2494 shrdq $5,%r14,%r14
2495 vpsrlq $19,%xmm6,%xmm9
2496 xorq %r9,%r13
2497 xorq %r11,%r12
2498 vpxor %xmm10,%xmm11,%xmm11
2499 shrdq $4,%r13,%r13
2500 xorq %rbx,%r14
2501 vpsllq $42,%xmm10,%xmm10
2502 andq %r9,%r12
2503 xorq %r9,%r13
2504 vpxor %xmm9,%xmm11,%xmm11
2505 addq 120(%rsp),%rax
2506 movq %rbx,%rdi
2507 vpsrlq $42,%xmm9,%xmm9
2508 xorq %r11,%r12
2509 shrdq $6,%r14,%r14
2510 vpxor %xmm10,%xmm11,%xmm11
2511 xorq %rcx,%rdi
2512 addq %r12,%rax
2513 vpxor %xmm9,%xmm11,%xmm11
2514 shrdq $14,%r13,%r13
2515 andq %rdi,%r15
2516 vpaddq %xmm11,%xmm7,%xmm7
2517 xorq %rbx,%r14
2518 addq %r13,%rax
2519 vpaddq 96(%rbp),%xmm7,%xmm10
2520 xorq %rcx,%r15
2521 shrdq $28,%r14,%r14
2522 addq %rax,%r8
2523 addq %r15,%rax
2524 movq %r8,%r13
2525 addq %rax,%r14
2526 vmovdqa %xmm10,112(%rsp)
2527 cmpb $0,135(%rbp)
2528 jne .Lavx_00_47
2529 shrdq $23,%r13,%r13
2530 movq %r14,%rax
2531 movq %r9,%r12
2532 shrdq $5,%r14,%r14
2533 xorq %r8,%r13
2534 xorq %r10,%r12
2535 shrdq $4,%r13,%r13
2536 xorq %rax,%r14
2537 andq %r8,%r12
2538 xorq %r8,%r13
2539 addq 0(%rsp),%r11
2540 movq %rax,%r15
2541 xorq %r10,%r12
2542 shrdq $6,%r14,%r14
2543 xorq %rbx,%r15
2544 addq %r12,%r11
2545 shrdq $14,%r13,%r13
2546 andq %r15,%rdi
2547 xorq %rax,%r14
2548 addq %r13,%r11
2549 xorq %rbx,%rdi
2550 shrdq $28,%r14,%r14
2551 addq %r11,%rdx
2552 addq %rdi,%r11
2553 movq %rdx,%r13
2554 addq %r11,%r14
2555 shrdq $23,%r13,%r13
2556 movq %r14,%r11
2557 movq %r8,%r12
2558 shrdq $5,%r14,%r14
2559 xorq %rdx,%r13
2560 xorq %r9,%r12
2561 shrdq $4,%r13,%r13
2562 xorq %r11,%r14
2563 andq %rdx,%r12
2564 xorq %rdx,%r13
2565 addq 8(%rsp),%r10
2566 movq %r11,%rdi
2567 xorq %r9,%r12
2568 shrdq $6,%r14,%r14
2569 xorq %rax,%rdi
2570 addq %r12,%r10
2571 shrdq $14,%r13,%r13
2572 andq %rdi,%r15
2573 xorq %r11,%r14
2574 addq %r13,%r10
2575 xorq %rax,%r15
2576 shrdq $28,%r14,%r14
2577 addq %r10,%rcx
2578 addq %r15,%r10
2579 movq %rcx,%r13
2580 addq %r10,%r14
2581 shrdq $23,%r13,%r13
2582 movq %r14,%r10
2583 movq %rdx,%r12
2584 shrdq $5,%r14,%r14
2585 xorq %rcx,%r13
2586 xorq %r8,%r12
2587 shrdq $4,%r13,%r13
2588 xorq %r10,%r14
2589 andq %rcx,%r12
2590 xorq %rcx,%r13
2591 addq 16(%rsp),%r9
2592 movq %r10,%r15
2593 xorq %r8,%r12
2594 shrdq $6,%r14,%r14
2595 xorq %r11,%r15
2596 addq %r12,%r9
2597 shrdq $14,%r13,%r13
2598 andq %r15,%rdi
2599 xorq %r10,%r14
2600 addq %r13,%r9
2601 xorq %r11,%rdi
2602 shrdq $28,%r14,%r14
2603 addq %r9,%rbx
2604 addq %rdi,%r9
2605 movq %rbx,%r13
2606 addq %r9,%r14
2607 shrdq $23,%r13,%r13
2608 movq %r14,%r9
2609 movq %rcx,%r12
2610 shrdq $5,%r14,%r14
2611 xorq %rbx,%r13
2612 xorq %rdx,%r12
2613 shrdq $4,%r13,%r13
2614 xorq %r9,%r14
2615 andq %rbx,%r12
2616 xorq %rbx,%r13
2617 addq 24(%rsp),%r8
2618 movq %r9,%rdi
2619 xorq %rdx,%r12
2620 shrdq $6,%r14,%r14
2621 xorq %r10,%rdi
2622 addq %r12,%r8
2623 shrdq $14,%r13,%r13
2624 andq %rdi,%r15
2625 xorq %r9,%r14
2626 addq %r13,%r8
2627 xorq %r10,%r15
2628 shrdq $28,%r14,%r14
2629 addq %r8,%rax
2630 addq %r15,%r8
2631 movq %rax,%r13
2632 addq %r8,%r14
2633 shrdq $23,%r13,%r13
2634 movq %r14,%r8
2635 movq %rbx,%r12
2636 shrdq $5,%r14,%r14
2637 xorq %rax,%r13
2638 xorq %rcx,%r12
2639 shrdq $4,%r13,%r13
2640 xorq %r8,%r14
2641 andq %rax,%r12
2642 xorq %rax,%r13
2643 addq 32(%rsp),%rdx
2644 movq %r8,%r15
2645 xorq %rcx,%r12
2646 shrdq $6,%r14,%r14
2647 xorq %r9,%r15
2648 addq %r12,%rdx
2649 shrdq $14,%r13,%r13
2650 andq %r15,%rdi
2651 xorq %r8,%r14
2652 addq %r13,%rdx
2653 xorq %r9,%rdi
2654 shrdq $28,%r14,%r14
2655 addq %rdx,%r11
2656 addq %rdi,%rdx
2657 movq %r11,%r13
2658 addq %rdx,%r14
2659 shrdq $23,%r13,%r13
2660 movq %r14,%rdx
2661 movq %rax,%r12
2662 shrdq $5,%r14,%r14
2663 xorq %r11,%r13
2664 xorq %rbx,%r12
2665 shrdq $4,%r13,%r13
2666 xorq %rdx,%r14
2667 andq %r11,%r12
2668 xorq %r11,%r13
2669 addq 40(%rsp),%rcx
2670 movq %rdx,%rdi
2671 xorq %rbx,%r12
2672 shrdq $6,%r14,%r14
2673 xorq %r8,%rdi
2674 addq %r12,%rcx
2675 shrdq $14,%r13,%r13
2676 andq %rdi,%r15
2677 xorq %rdx,%r14
2678 addq %r13,%rcx
2679 xorq %r8,%r15
2680 shrdq $28,%r14,%r14
2681 addq %rcx,%r10
2682 addq %r15,%rcx
2683 movq %r10,%r13
2684 addq %rcx,%r14
2685 shrdq $23,%r13,%r13
2686 movq %r14,%rcx
2687 movq %r11,%r12
2688 shrdq $5,%r14,%r14
2689 xorq %r10,%r13
2690 xorq %rax,%r12
2691 shrdq $4,%r13,%r13
2692 xorq %rcx,%r14
2693 andq %r10,%r12
2694 xorq %r10,%r13
2695 addq 48(%rsp),%rbx
2696 movq %rcx,%r15
2697 xorq %rax,%r12
2698 shrdq $6,%r14,%r14
2699 xorq %rdx,%r15
2700 addq %r12,%rbx
2701 shrdq $14,%r13,%r13
2702 andq %r15,%rdi
2703 xorq %rcx,%r14
2704 addq %r13,%rbx
2705 xorq %rdx,%rdi
2706 shrdq $28,%r14,%r14
2707 addq %rbx,%r9
2708 addq %rdi,%rbx
2709 movq %r9,%r13
2710 addq %rbx,%r14
2711 shrdq $23,%r13,%r13
2712 movq %r14,%rbx
2713 movq %r10,%r12
2714 shrdq $5,%r14,%r14
2715 xorq %r9,%r13
2716 xorq %r11,%r12
2717 shrdq $4,%r13,%r13
2718 xorq %rbx,%r14
2719 andq %r9,%r12
2720 xorq %r9,%r13
2721 addq 56(%rsp),%rax
2722 movq %rbx,%rdi
2723 xorq %r11,%r12
2724 shrdq $6,%r14,%r14
2725 xorq %rcx,%rdi
2726 addq %r12,%rax
2727 shrdq $14,%r13,%r13
2728 andq %rdi,%r15
2729 xorq %rbx,%r14
2730 addq %r13,%rax
2731 xorq %rcx,%r15
2732 shrdq $28,%r14,%r14
2733 addq %rax,%r8
2734 addq %r15,%rax
2735 movq %r8,%r13
2736 addq %rax,%r14
2737 shrdq $23,%r13,%r13
2738 movq %r14,%rax
2739 movq %r9,%r12
2740 shrdq $5,%r14,%r14
2741 xorq %r8,%r13
2742 xorq %r10,%r12
2743 shrdq $4,%r13,%r13
2744 xorq %rax,%r14
2745 andq %r8,%r12
2746 xorq %r8,%r13
2747 addq 64(%rsp),%r11
2748 movq %rax,%r15
2749 xorq %r10,%r12
2750 shrdq $6,%r14,%r14
2751 xorq %rbx,%r15
2752 addq %r12,%r11
2753 shrdq $14,%r13,%r13
2754 andq %r15,%rdi
2755 xorq %rax,%r14
2756 addq %r13,%r11
2757 xorq %rbx,%rdi
2758 shrdq $28,%r14,%r14
2759 addq %r11,%rdx
2760 addq %rdi,%r11
2761 movq %rdx,%r13
2762 addq %r11,%r14
2763 shrdq $23,%r13,%r13
2764 movq %r14,%r11
2765 movq %r8,%r12
2766 shrdq $5,%r14,%r14
2767 xorq %rdx,%r13
2768 xorq %r9,%r12
2769 shrdq $4,%r13,%r13
2770 xorq %r11,%r14
2771 andq %rdx,%r12
2772 xorq %rdx,%r13
2773 addq 72(%rsp),%r10
2774 movq %r11,%rdi
2775 xorq %r9,%r12
2776 shrdq $6,%r14,%r14
2777 xorq %rax,%rdi
2778 addq %r12,%r10
2779 shrdq $14,%r13,%r13
2780 andq %rdi,%r15
2781 xorq %r11,%r14
2782 addq %r13,%r10
2783 xorq %rax,%r15
2784 shrdq $28,%r14,%r14
2785 addq %r10,%rcx
2786 addq %r15,%r10
2787 movq %rcx,%r13
2788 addq %r10,%r14
2789 shrdq $23,%r13,%r13
2790 movq %r14,%r10
2791 movq %rdx,%r12
2792 shrdq $5,%r14,%r14
2793 xorq %rcx,%r13
2794 xorq %r8,%r12
2795 shrdq $4,%r13,%r13
2796 xorq %r10,%r14
2797 andq %rcx,%r12
2798 xorq %rcx,%r13
2799 addq 80(%rsp),%r9
2800 movq %r10,%r15
2801 xorq %r8,%r12
2802 shrdq $6,%r14,%r14
2803 xorq %r11,%r15
2804 addq %r12,%r9
2805 shrdq $14,%r13,%r13
2806 andq %r15,%rdi
2807 xorq %r10,%r14
2808 addq %r13,%r9
2809 xorq %r11,%rdi
2810 shrdq $28,%r14,%r14
2811 addq %r9,%rbx
2812 addq %rdi,%r9
2813 movq %rbx,%r13
2814 addq %r9,%r14
2815 shrdq $23,%r13,%r13
2816 movq %r14,%r9
2817 movq %rcx,%r12
2818 shrdq $5,%r14,%r14
2819 xorq %rbx,%r13
2820 xorq %rdx,%r12
2821 shrdq $4,%r13,%r13
2822 xorq %r9,%r14
2823 andq %rbx,%r12
2824 xorq %rbx,%r13
2825 addq 88(%rsp),%r8
2826 movq %r9,%rdi
2827 xorq %rdx,%r12
2828 shrdq $6,%r14,%r14
2829 xorq %r10,%rdi
2830 addq %r12,%r8
2831 shrdq $14,%r13,%r13
2832 andq %rdi,%r15
2833 xorq %r9,%r14
2834 addq %r13,%r8
2835 xorq %r10,%r15
2836 shrdq $28,%r14,%r14
2837 addq %r8,%rax
2838 addq %r15,%r8
2839 movq %rax,%r13
2840 addq %r8,%r14
2841 shrdq $23,%r13,%r13
2842 movq %r14,%r8
2843 movq %rbx,%r12
2844 shrdq $5,%r14,%r14
2845 xorq %rax,%r13
2846 xorq %rcx,%r12
2847 shrdq $4,%r13,%r13
2848 xorq %r8,%r14
2849 andq %rax,%r12
2850 xorq %rax,%r13
2851 addq 96(%rsp),%rdx
2852 movq %r8,%r15
2853 xorq %rcx,%r12
2854 shrdq $6,%r14,%r14
2855 xorq %r9,%r15
2856 addq %r12,%rdx
2857 shrdq $14,%r13,%r13
2858 andq %r15,%rdi
2859 xorq %r8,%r14
2860 addq %r13,%rdx
2861 xorq %r9,%rdi
2862 shrdq $28,%r14,%r14
2863 addq %rdx,%r11
2864 addq %rdi,%rdx
2865 movq %r11,%r13
2866 addq %rdx,%r14
2867 shrdq $23,%r13,%r13
2868 movq %r14,%rdx
2869 movq %rax,%r12
2870 shrdq $5,%r14,%r14
2871 xorq %r11,%r13
2872 xorq %rbx,%r12
2873 shrdq $4,%r13,%r13
2874 xorq %rdx,%r14
2875 andq %r11,%r12
2876 xorq %r11,%r13
2877 addq 104(%rsp),%rcx
2878 movq %rdx,%rdi
2879 xorq %rbx,%r12
2880 shrdq $6,%r14,%r14
2881 xorq %r8,%rdi
2882 addq %r12,%rcx
2883 shrdq $14,%r13,%r13
2884 andq %rdi,%r15
2885 xorq %rdx,%r14
2886 addq %r13,%rcx
2887 xorq %r8,%r15
2888 shrdq $28,%r14,%r14
2889 addq %rcx,%r10
2890 addq %r15,%rcx
2891 movq %r10,%r13
2892 addq %rcx,%r14
2893 shrdq $23,%r13,%r13
2894 movq %r14,%rcx
2895 movq %r11,%r12
2896 shrdq $5,%r14,%r14
2897 xorq %r10,%r13
2898 xorq %rax,%r12
2899 shrdq $4,%r13,%r13
2900 xorq %rcx,%r14
2901 andq %r10,%r12
2902 xorq %r10,%r13
2903 addq 112(%rsp),%rbx
2904 movq %rcx,%r15
2905 xorq %rax,%r12
2906 shrdq $6,%r14,%r14
2907 xorq %rdx,%r15
2908 addq %r12,%rbx
2909 shrdq $14,%r13,%r13
2910 andq %r15,%rdi
2911 xorq %rcx,%r14
2912 addq %r13,%rbx
2913 xorq %rdx,%rdi
2914 shrdq $28,%r14,%r14
2915 addq %rbx,%r9
2916 addq %rdi,%rbx
2917 movq %r9,%r13
2918 addq %rbx,%r14
2919 shrdq $23,%r13,%r13
2920 movq %r14,%rbx
2921 movq %r10,%r12
2922 shrdq $5,%r14,%r14
2923 xorq %r9,%r13
2924 xorq %r11,%r12
2925 shrdq $4,%r13,%r13
2926 xorq %rbx,%r14
2927 andq %r9,%r12
2928 xorq %r9,%r13
2929 addq 120(%rsp),%rax
2930 movq %rbx,%rdi
2931 xorq %r11,%r12
2932 shrdq $6,%r14,%r14
2933 xorq %rcx,%rdi
2934 addq %r12,%rax
2935 shrdq $14,%r13,%r13
2936 andq %rdi,%r15
2937 xorq %rbx,%r14
2938 addq %r13,%rax
2939 xorq %rcx,%r15
2940 shrdq $28,%r14,%r14
2941 addq %rax,%r8
2942 addq %r15,%rax
2943 movq %r8,%r13
2944 addq %rax,%r14
2945 movq 128+0(%rsp),%rdi
2946 movq %r14,%rax
2947
2948 addq 0(%rdi),%rax
2949 leaq 128(%rsi),%rsi
2950 addq 8(%rdi),%rbx
2951 addq 16(%rdi),%rcx
2952 addq 24(%rdi),%rdx
2953 addq 32(%rdi),%r8
2954 addq 40(%rdi),%r9
2955 addq 48(%rdi),%r10
2956 addq 56(%rdi),%r11
2957
2958 cmpq 128+16(%rsp),%rsi
2959
2960 movq %rax,0(%rdi)
2961 movq %rbx,8(%rdi)
2962 movq %rcx,16(%rdi)
2963 movq %rdx,24(%rdi)
2964 movq %r8,32(%rdi)
2965 movq %r9,40(%rdi)
2966 movq %r10,48(%rdi)
2967 movq %r11,56(%rdi)
2968 jb .Lloop_avx
2969
2970 movq 152(%rsp),%rsi
2971.cfi_def_cfa %rsi,8
2972 vzeroupper
2973 movq -48(%rsi),%r15
2974.cfi_restore %r15
2975 movq -40(%rsi),%r14
2976.cfi_restore %r14
2977 movq -32(%rsi),%r13
2978.cfi_restore %r13
2979 movq -24(%rsi),%r12
2980.cfi_restore %r12
2981 movq -16(%rsi),%rbp
2982.cfi_restore %rbp
2983 movq -8(%rsi),%rbx
2984.cfi_restore %rbx
2985 leaq (%rsi),%rsp
2986.cfi_def_cfa_register %rsp
2987.Lepilogue_avx:
2988 .byte 0xf3,0xc3
2989.cfi_endproc
2990.size sha512_block_data_order_avx,.-sha512_block_data_order_avx
2991#endif
2992