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

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

Powered by Google App Engine
This is Rietveld 408576698