Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(57)

Side by Side Diff: third_party/boringssl/mac-x86_64/crypto/sha/sha512-x86_64.S

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

Powered by Google App Engine
This is Rietveld 408576698