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