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