2 /* Do not modify. This file is auto-generated from aesni-mb-x86_64.pl. */
7 .globl aesni_multi_cbc_encrypt
8 .type aesni_multi_cbc_encrypt,@function
10 aesni_multi_cbc_encrypt:
13 movl OPENSSL_ia32cap_P+4(%rip),%ecx
15 jnz _avx_cbc_enc_shortcut
50 movdqu -56(%rdi),%xmm2
59 movdqu -16(%rdi),%xmm3
83 movups 16-120(%rsi),%xmm1
85 movups 32-120(%rsi),%xmm0
87 movl 240-120(%rsi),%eax
98 movdqa 32(%rsp),%xmm10
109 .byte 102,15,56,220,209
110 prefetcht0 31(%r8,%rbx,1)
111 prefetcht0 31(%r9,%rbx,1)
112 .byte 102,15,56,220,217
113 prefetcht0 31(%r10,%rbx,1)
114 prefetcht0 31(%r10,%rbx,1)
115 .byte 102,15,56,220,225
116 .byte 102,15,56,220,233
117 movups 48-120(%rsi),%xmm1
119 .byte 102,15,56,220,208
120 .byte 102,15,56,220,216
121 .byte 102,15,56,220,224
124 .byte 102,15,56,220,232
125 movups -56(%rsi),%xmm0
127 .byte 102,15,56,220,209
128 .byte 102,15,56,220,217
129 .byte 102,15,56,220,225
132 .byte 102,15,56,220,233
133 movups -40(%rsi),%xmm1
135 .byte 102,15,56,220,208
136 .byte 102,15,56,220,216
137 .byte 102,15,56,220,224
140 .byte 102,15,56,220,232
141 movups -24(%rsi),%xmm0
143 .byte 102,15,56,220,209
144 .byte 102,15,56,220,217
145 .byte 102,15,56,220,225
148 .byte 102,15,56,220,233
149 movups -8(%rsi),%xmm1
151 .byte 102,15,56,220,208
152 prefetcht0 15(%r12,%rbx,1)
153 prefetcht0 15(%r13,%rbx,1)
154 .byte 102,15,56,220,216
155 prefetcht0 15(%r14,%rbx,1)
156 prefetcht0 15(%r15,%rbx,1)
157 .byte 102,15,56,220,224
158 .byte 102,15,56,220,232
159 movups 128-120(%rsi),%xmm0
162 .byte 102,15,56,220,209
163 pcmpgtd %xmm12,%xmm11
164 movdqu -120(%rsi),%xmm12
165 .byte 102,15,56,220,217
167 movdqa %xmm10,32(%rsp)
168 .byte 102,15,56,220,225
169 .byte 102,15,56,220,233
170 movups 144-120(%rsi),%xmm1
174 .byte 102,15,56,220,208
175 .byte 102,15,56,220,216
176 .byte 102,15,56,220,224
177 .byte 102,15,56,220,232
178 movups 160-120(%rsi),%xmm0
182 .byte 102,15,56,220,209
183 .byte 102,15,56,220,217
184 .byte 102,15,56,220,225
185 .byte 102,15,56,220,233
186 movups 176-120(%rsi),%xmm1
188 .byte 102,15,56,220,208
189 .byte 102,15,56,220,216
190 .byte 102,15,56,220,224
191 .byte 102,15,56,220,232
192 movups 192-120(%rsi),%xmm0
196 .byte 102,15,56,220,209
197 .byte 102,15,56,220,217
198 .byte 102,15,56,220,225
199 .byte 102,15,56,220,233
200 movups 208-120(%rsi),%xmm1
202 .byte 102,15,56,220,208
203 .byte 102,15,56,220,216
204 .byte 102,15,56,220,224
205 .byte 102,15,56,220,232
206 movups 224-120(%rsi),%xmm0
211 .byte 102,15,56,220,209
212 .byte 102,15,56,220,217
213 .byte 102,15,56,220,225
214 .byte 102,15,56,220,233
215 movdqu (%r8,%rbx,1),%xmm6
216 movdqu 16-120(%rsi),%xmm1
218 .byte 102,15,56,221,208
219 movdqu (%r9,%rbx,1),%xmm7
221 .byte 102,15,56,221,216
222 movdqu (%r10,%rbx,1),%xmm8
224 .byte 102,15,56,221,224
225 movdqu (%r11,%rbx,1),%xmm9
227 .byte 102,15,56,221,232
228 movdqu 32-120(%rsi),%xmm0
231 movups %xmm2,-16(%r12,%rbx,1)
233 movups %xmm3,-16(%r13,%rbx,1)
235 movups %xmm4,-16(%r14,%rbx,1)
237 movups %xmm5,-16(%r15,%rbx,1)
257 jnz .Lenc4x_loop_grande
269 .size aesni_multi_cbc_encrypt,.-aesni_multi_cbc_encrypt
271 .globl aesni_multi_cbc_decrypt
272 .type aesni_multi_cbc_decrypt,@function
274 aesni_multi_cbc_decrypt:
277 movl OPENSSL_ia32cap_P+4(%rip),%ecx
278 testl $268435456,%ecx
279 jnz _avx_cbc_dec_shortcut
314 movdqu -56(%rdi),%xmm6
323 movdqu -16(%rdi),%xmm7
332 movdqu 24(%rdi),%xmm8
341 movdqu 64(%rdi),%xmm9
347 movups 16-120(%rsi),%xmm1
348 movups 32-120(%rsi),%xmm0
349 movl 240-120(%rsi),%eax
358 movdqa 32(%rsp),%xmm10
369 .byte 102,15,56,222,209
370 prefetcht0 31(%r8,%rbx,1)
371 prefetcht0 31(%r9,%rbx,1)
372 .byte 102,15,56,222,217
373 prefetcht0 31(%r10,%rbx,1)
374 prefetcht0 31(%r11,%rbx,1)
375 .byte 102,15,56,222,225
376 .byte 102,15,56,222,233
377 movups 48-120(%rsi),%xmm1
379 .byte 102,15,56,222,208
380 .byte 102,15,56,222,216
381 .byte 102,15,56,222,224
384 .byte 102,15,56,222,232
385 movups -56(%rsi),%xmm0
387 .byte 102,15,56,222,209
388 .byte 102,15,56,222,217
389 .byte 102,15,56,222,225
392 .byte 102,15,56,222,233
393 movups -40(%rsi),%xmm1
395 .byte 102,15,56,222,208
396 .byte 102,15,56,222,216
397 .byte 102,15,56,222,224
400 .byte 102,15,56,222,232
401 movups -24(%rsi),%xmm0
403 .byte 102,15,56,222,209
404 .byte 102,15,56,222,217
405 .byte 102,15,56,222,225
408 .byte 102,15,56,222,233
409 movups -8(%rsi),%xmm1
411 .byte 102,15,56,222,208
412 prefetcht0 15(%r12,%rbx,1)
413 prefetcht0 15(%r13,%rbx,1)
414 .byte 102,15,56,222,216
415 prefetcht0 15(%r14,%rbx,1)
416 prefetcht0 15(%r15,%rbx,1)
417 .byte 102,15,56,222,224
418 .byte 102,15,56,222,232
419 movups 128-120(%rsi),%xmm0
422 .byte 102,15,56,222,209
423 pcmpgtd %xmm12,%xmm11
424 movdqu -120(%rsi),%xmm12
425 .byte 102,15,56,222,217
427 movdqa %xmm10,32(%rsp)
428 .byte 102,15,56,222,225
429 .byte 102,15,56,222,233
430 movups 144-120(%rsi),%xmm1
434 .byte 102,15,56,222,208
435 .byte 102,15,56,222,216
436 .byte 102,15,56,222,224
437 .byte 102,15,56,222,232
438 movups 160-120(%rsi),%xmm0
442 .byte 102,15,56,222,209
443 .byte 102,15,56,222,217
444 .byte 102,15,56,222,225
445 .byte 102,15,56,222,233
446 movups 176-120(%rsi),%xmm1
448 .byte 102,15,56,222,208
449 .byte 102,15,56,222,216
450 .byte 102,15,56,222,224
451 .byte 102,15,56,222,232
452 movups 192-120(%rsi),%xmm0
456 .byte 102,15,56,222,209
457 .byte 102,15,56,222,217
458 .byte 102,15,56,222,225
459 .byte 102,15,56,222,233
460 movups 208-120(%rsi),%xmm1
462 .byte 102,15,56,222,208
463 .byte 102,15,56,222,216
464 .byte 102,15,56,222,224
465 .byte 102,15,56,222,232
466 movups 224-120(%rsi),%xmm0
471 .byte 102,15,56,222,209
472 .byte 102,15,56,222,217
473 .byte 102,15,56,222,225
476 .byte 102,15,56,222,233
477 movdqu 16-120(%rsi),%xmm1
480 movdqu 32-120(%rsi),%xmm0
482 .byte 102,15,56,223,214
483 .byte 102,15,56,223,223
484 movdqu -16(%r8,%rbx,1),%xmm6
485 movdqu -16(%r9,%rbx,1),%xmm7
486 .byte 102,65,15,56,223,224
487 .byte 102,65,15,56,223,233
488 movdqu -16(%r10,%rbx,1),%xmm8
489 movdqu -16(%r11,%rbx,1),%xmm9
491 movups %xmm2,-16(%r12,%rbx,1)
492 movdqu (%r8,%rbx,1),%xmm2
493 movups %xmm3,-16(%r13,%rbx,1)
494 movdqu (%r9,%rbx,1),%xmm3
496 movups %xmm4,-16(%r14,%rbx,1)
497 movdqu (%r10,%rbx,1),%xmm4
499 movups %xmm5,-16(%r15,%rbx,1)
500 movdqu (%r11,%rbx,1),%xmm5
512 jnz .Ldec4x_loop_grande
524 .size aesni_multi_cbc_decrypt,.-aesni_multi_cbc_decrypt
525 .type aesni_multi_cbc_encrypt_avx,@function
527 aesni_multi_cbc_encrypt_avx:
528 _avx_cbc_enc_shortcut:
550 vmovdqu (%rsi),%xmm15
564 vmovdqu -136(%rdi),%xmm2
575 vmovdqu -96(%rdi),%xmm3
586 vmovdqu -56(%rdi),%xmm4
597 vmovdqu -16(%rdi),%xmm5
608 vmovdqu 24(%rdi),%xmm6
619 vmovdqu 64(%rdi),%xmm7
630 vmovdqu 104(%rdi),%xmm8
641 vmovdqu 144(%rdi),%xmm9
649 vmovups 16-120(%rsi),%xmm1
650 vmovups 32-120(%rsi),%xmm0
651 movl 240-120(%rsi),%eax
653 vpxor (%r8),%xmm15,%xmm10
655 vpxor (%r9),%xmm15,%xmm11
656 vpxor (%r10),%xmm15,%xmm12
657 vpxor (%r11),%xmm15,%xmm13
658 vpxor %xmm10,%xmm2,%xmm2
659 vpxor (%r12),%xmm15,%xmm10
660 vpxor %xmm11,%xmm3,%xmm3
661 vpxor (%r13),%xmm15,%xmm11
662 vpxor %xmm12,%xmm4,%xmm4
663 vpxor (%r14),%xmm15,%xmm12
664 vpxor %xmm13,%xmm5,%xmm5
665 vpxor (%r15),%xmm15,%xmm13
666 vpxor %xmm10,%xmm6,%xmm6
668 vpxor %xmm11,%xmm7,%xmm7
669 vpxor %xmm12,%xmm8,%xmm8
670 vpxor %xmm13,%xmm9,%xmm9
675 vaesenc %xmm1,%xmm2,%xmm2
677 vaesenc %xmm1,%xmm3,%xmm3
679 vaesenc %xmm1,%xmm4,%xmm4
680 vaesenc %xmm1,%xmm5,%xmm5
681 leaq (%r8,%rbx,1),%rbx
683 vaesenc %xmm1,%xmm6,%xmm6
685 vaesenc %xmm1,%xmm7,%xmm7
687 vaesenc %xmm1,%xmm8,%xmm8
688 vpxor 16(%r8),%xmm15,%xmm10
690 vaesenc %xmm1,%xmm9,%xmm9
691 vmovups -72(%rsi),%xmm1
692 leaq 16(%r8,%rbx,1),%r8
693 vmovdqu %xmm10,0(%rbp)
694 vaesenc %xmm0,%xmm2,%xmm2
697 vaesenc %xmm0,%xmm3,%xmm3
699 vaesenc %xmm0,%xmm4,%xmm4
700 vaesenc %xmm0,%xmm5,%xmm5
701 leaq (%r9,%rbx,1),%rbx
703 vaesenc %xmm0,%xmm6,%xmm6
705 vaesenc %xmm0,%xmm7,%xmm7
707 vaesenc %xmm0,%xmm8,%xmm8
708 vpxor 16(%r9),%xmm15,%xmm11
710 vaesenc %xmm0,%xmm9,%xmm9
711 vmovups -56(%rsi),%xmm0
712 leaq 16(%r9,%rbx,1),%r9
713 vmovdqu %xmm11,16(%rbp)
714 vaesenc %xmm1,%xmm2,%xmm2
716 movq 64+16(%rsp),%rbx
717 vaesenc %xmm1,%xmm3,%xmm3
719 vaesenc %xmm1,%xmm4,%xmm4
721 vaesenc %xmm1,%xmm5,%xmm5
722 leaq (%r10,%rbx,1),%rbx
724 vaesenc %xmm1,%xmm6,%xmm6
726 vaesenc %xmm1,%xmm7,%xmm7
728 vaesenc %xmm1,%xmm8,%xmm8
729 vpxor 16(%r10),%xmm15,%xmm12
730 movq %rbx,64+16(%rsp)
731 vaesenc %xmm1,%xmm9,%xmm9
732 vmovups -40(%rsi),%xmm1
733 leaq 16(%r10,%rbx,1),%r10
734 vmovdqu %xmm12,32(%rbp)
735 vaesenc %xmm0,%xmm2,%xmm2
736 cmpl 32+12(%rsp),%ecx
737 movq 64+24(%rsp),%rbx
738 vaesenc %xmm0,%xmm3,%xmm3
740 vaesenc %xmm0,%xmm4,%xmm4
742 vaesenc %xmm0,%xmm5,%xmm5
743 leaq (%r11,%rbx,1),%rbx
745 vaesenc %xmm0,%xmm6,%xmm6
747 vaesenc %xmm0,%xmm7,%xmm7
749 vaesenc %xmm0,%xmm8,%xmm8
750 vpxor 16(%r11),%xmm15,%xmm13
751 movq %rbx,64+24(%rsp)
752 vaesenc %xmm0,%xmm9,%xmm9
753 vmovups -24(%rsi),%xmm0
754 leaq 16(%r11,%rbx,1),%r11
755 vmovdqu %xmm13,48(%rbp)
756 vaesenc %xmm1,%xmm2,%xmm2
757 cmpl 32+16(%rsp),%ecx
758 movq 64+32(%rsp),%rbx
759 vaesenc %xmm1,%xmm3,%xmm3
761 vaesenc %xmm1,%xmm4,%xmm4
763 vaesenc %xmm1,%xmm5,%xmm5
764 leaq (%r12,%rbx,1),%rbx
766 vaesenc %xmm1,%xmm6,%xmm6
768 vaesenc %xmm1,%xmm7,%xmm7
770 vaesenc %xmm1,%xmm8,%xmm8
771 vpxor 16(%r12),%xmm15,%xmm10
772 movq %rbx,64+32(%rsp)
773 vaesenc %xmm1,%xmm9,%xmm9
774 vmovups -8(%rsi),%xmm1
775 leaq 16(%r12,%rbx,1),%r12
776 vaesenc %xmm0,%xmm2,%xmm2
777 cmpl 32+20(%rsp),%ecx
778 movq 64+40(%rsp),%rbx
779 vaesenc %xmm0,%xmm3,%xmm3
781 vaesenc %xmm0,%xmm4,%xmm4
783 vaesenc %xmm0,%xmm5,%xmm5
784 leaq (%rbx,%r13,1),%rbx
786 vaesenc %xmm0,%xmm6,%xmm6
788 vaesenc %xmm0,%xmm7,%xmm7
790 vaesenc %xmm0,%xmm8,%xmm8
791 vpxor 16(%r13),%xmm15,%xmm11
792 movq %rbx,64+40(%rsp)
793 vaesenc %xmm0,%xmm9,%xmm9
794 vmovups 8(%rsi),%xmm0
795 leaq 16(%r13,%rbx,1),%r13
796 vaesenc %xmm1,%xmm2,%xmm2
797 cmpl 32+24(%rsp),%ecx
798 movq 64+48(%rsp),%rbx
799 vaesenc %xmm1,%xmm3,%xmm3
801 vaesenc %xmm1,%xmm4,%xmm4
803 vaesenc %xmm1,%xmm5,%xmm5
804 leaq (%r14,%rbx,1),%rbx
806 vaesenc %xmm1,%xmm6,%xmm6
808 vaesenc %xmm1,%xmm7,%xmm7
810 vaesenc %xmm1,%xmm8,%xmm8
811 vpxor 16(%r14),%xmm15,%xmm12
812 movq %rbx,64+48(%rsp)
813 vaesenc %xmm1,%xmm9,%xmm9
814 vmovups 24(%rsi),%xmm1
815 leaq 16(%r14,%rbx,1),%r14
816 vaesenc %xmm0,%xmm2,%xmm2
817 cmpl 32+28(%rsp),%ecx
818 movq 64+56(%rsp),%rbx
819 vaesenc %xmm0,%xmm3,%xmm3
821 vaesenc %xmm0,%xmm4,%xmm4
823 vaesenc %xmm0,%xmm5,%xmm5
824 leaq (%r15,%rbx,1),%rbx
826 vaesenc %xmm0,%xmm6,%xmm6
828 vaesenc %xmm0,%xmm7,%xmm7
830 vaesenc %xmm0,%xmm8,%xmm8
831 vpxor 16(%r15),%xmm15,%xmm13
832 movq %rbx,64+56(%rsp)
833 vaesenc %xmm0,%xmm9,%xmm9
834 vmovups 40(%rsi),%xmm0
835 leaq 16(%r15,%rbx,1),%r15
836 vmovdqu 32(%rsp),%xmm14
842 vaesenc %xmm1,%xmm2,%xmm2
843 vaesenc %xmm1,%xmm3,%xmm3
844 vaesenc %xmm1,%xmm4,%xmm4
845 vaesenc %xmm1,%xmm5,%xmm5
846 vaesenc %xmm1,%xmm6,%xmm6
847 vaesenc %xmm1,%xmm7,%xmm7
848 vaesenc %xmm1,%xmm8,%xmm8
849 vaesenc %xmm1,%xmm9,%xmm9
850 vmovups 176-120(%rsi),%xmm1
852 vaesenc %xmm0,%xmm2,%xmm2
853 vaesenc %xmm0,%xmm3,%xmm3
854 vaesenc %xmm0,%xmm4,%xmm4
855 vaesenc %xmm0,%xmm5,%xmm5
856 vaesenc %xmm0,%xmm6,%xmm6
857 vaesenc %xmm0,%xmm7,%xmm7
858 vaesenc %xmm0,%xmm8,%xmm8
859 vaesenc %xmm0,%xmm9,%xmm9
860 vmovups 192-120(%rsi),%xmm0
863 vaesenc %xmm1,%xmm2,%xmm2
864 vaesenc %xmm1,%xmm3,%xmm3
865 vaesenc %xmm1,%xmm4,%xmm4
866 vaesenc %xmm1,%xmm5,%xmm5
867 vaesenc %xmm1,%xmm6,%xmm6
868 vaesenc %xmm1,%xmm7,%xmm7
869 vaesenc %xmm1,%xmm8,%xmm8
870 vaesenc %xmm1,%xmm9,%xmm9
871 vmovups 208-120(%rsi),%xmm1
873 vaesenc %xmm0,%xmm2,%xmm2
874 vaesenc %xmm0,%xmm3,%xmm3
875 vaesenc %xmm0,%xmm4,%xmm4
876 vaesenc %xmm0,%xmm5,%xmm5
877 vaesenc %xmm0,%xmm6,%xmm6
878 vaesenc %xmm0,%xmm7,%xmm7
879 vaesenc %xmm0,%xmm8,%xmm8
880 vaesenc %xmm0,%xmm9,%xmm9
881 vmovups 224-120(%rsi),%xmm0
884 vaesenc %xmm1,%xmm2,%xmm2
885 vpxor %xmm15,%xmm15,%xmm15
886 vaesenc %xmm1,%xmm3,%xmm3
887 vaesenc %xmm1,%xmm4,%xmm4
888 vpcmpgtd %xmm15,%xmm14,%xmm15
889 vaesenc %xmm1,%xmm5,%xmm5
890 vaesenc %xmm1,%xmm6,%xmm6
891 vpaddd %xmm14,%xmm15,%xmm15
892 vmovdqu 48(%rsp),%xmm14
893 vaesenc %xmm1,%xmm7,%xmm7
895 vaesenc %xmm1,%xmm8,%xmm8
896 vaesenc %xmm1,%xmm9,%xmm9
897 vmovups 16-120(%rsi),%xmm1
899 vaesenclast %xmm0,%xmm2,%xmm2
900 vmovdqa %xmm15,32(%rsp)
901 vpxor %xmm15,%xmm15,%xmm15
902 vaesenclast %xmm0,%xmm3,%xmm3
903 vaesenclast %xmm0,%xmm4,%xmm4
904 vpcmpgtd %xmm15,%xmm14,%xmm15
905 vaesenclast %xmm0,%xmm5,%xmm5
906 vaesenclast %xmm0,%xmm6,%xmm6
907 vpaddd %xmm15,%xmm14,%xmm14
908 vmovdqu -120(%rsi),%xmm15
909 vaesenclast %xmm0,%xmm7,%xmm7
910 vaesenclast %xmm0,%xmm8,%xmm8
911 vmovdqa %xmm14,48(%rsp)
912 vaesenclast %xmm0,%xmm9,%xmm9
913 vmovups 32-120(%rsi),%xmm0
915 vmovups %xmm2,-16(%r8)
917 vpxor 0(%rbp),%xmm2,%xmm2
918 vmovups %xmm3,-16(%r9)
920 vpxor 16(%rbp),%xmm3,%xmm3
921 vmovups %xmm4,-16(%r10)
923 vpxor 32(%rbp),%xmm4,%xmm4
924 vmovups %xmm5,-16(%r11)
926 vpxor 48(%rbp),%xmm5,%xmm5
927 vmovups %xmm6,-16(%r12)
929 vpxor %xmm10,%xmm6,%xmm6
930 vmovups %xmm7,-16(%r13)
932 vpxor %xmm11,%xmm7,%xmm7
933 vmovups %xmm8,-16(%r14)
935 vpxor %xmm12,%xmm8,%xmm8
936 vmovups %xmm9,-16(%r15)
938 vpxor %xmm13,%xmm9,%xmm9
960 .size aesni_multi_cbc_encrypt_avx,.-aesni_multi_cbc_encrypt_avx
962 .type aesni_multi_cbc_decrypt_avx,@function
964 aesni_multi_cbc_decrypt_avx:
965 _avx_cbc_dec_shortcut:
989 vmovdqu (%rsi),%xmm15
1000 movq -152(%rdi),%rbx
1003 vmovdqu -136(%rdi),%xmm2
1008 vmovdqu %xmm2,192(%rsp)
1009 movl -104(%rdi),%ecx
1012 movq -112(%rdi),%rbp
1015 vmovdqu -96(%rdi),%xmm3
1020 vmovdqu %xmm3,208(%rsp)
1027 vmovdqu -56(%rdi),%xmm4
1032 vmovdqu %xmm4,224(%rsp)
1039 vmovdqu -16(%rdi),%xmm5
1044 vmovdqu %xmm5,240(%rsp)
1051 vmovdqu 24(%rdi),%xmm6
1056 vmovdqu %xmm6,256(%rsp)
1063 vmovdqu 64(%rdi),%xmm7
1068 vmovdqu %xmm7,272(%rsp)
1075 vmovdqu 104(%rdi),%xmm8
1080 vmovdqu %xmm8,288(%rsp)
1087 vmovdqu 144(%rdi),%xmm9
1092 vmovdqu %xmm9,304(%rsp)
1096 vmovups 16-120(%rsi),%xmm1
1097 vmovups 32-120(%rsi),%xmm0
1098 movl 240-120(%rsi),%eax
1099 leaq 192+128(%rsp),%rbp
1103 vmovdqu (%r10),%xmm4
1104 vmovdqu (%r11),%xmm5
1105 vmovdqu (%r12),%xmm6
1106 vmovdqu (%r13),%xmm7
1107 vmovdqu (%r14),%xmm8
1108 vmovdqu (%r15),%xmm9
1109 vmovdqu %xmm2,0(%rbp)
1110 vpxor %xmm15,%xmm2,%xmm2
1111 vmovdqu %xmm3,16(%rbp)
1112 vpxor %xmm15,%xmm3,%xmm3
1113 vmovdqu %xmm4,32(%rbp)
1114 vpxor %xmm15,%xmm4,%xmm4
1115 vmovdqu %xmm5,48(%rbp)
1116 vpxor %xmm15,%xmm5,%xmm5
1117 vmovdqu %xmm6,64(%rbp)
1118 vpxor %xmm15,%xmm6,%xmm6
1119 vmovdqu %xmm7,80(%rbp)
1120 vpxor %xmm15,%xmm7,%xmm7
1121 vmovdqu %xmm8,96(%rbp)
1122 vpxor %xmm15,%xmm8,%xmm8
1123 vmovdqu %xmm9,112(%rbp)
1124 vpxor %xmm15,%xmm9,%xmm9
1131 vaesdec %xmm1,%xmm2,%xmm2
1132 cmpl 32+0(%rsp),%ecx
1133 vaesdec %xmm1,%xmm3,%xmm3
1135 vaesdec %xmm1,%xmm4,%xmm4
1136 vaesdec %xmm1,%xmm5,%xmm5
1137 leaq (%r8,%rbx,1),%rbx
1139 vaesdec %xmm1,%xmm6,%xmm6
1141 vaesdec %xmm1,%xmm7,%xmm7
1143 vaesdec %xmm1,%xmm8,%xmm8
1144 vmovdqu 16(%r8),%xmm10
1145 movq %rbx,64+0(%rsp)
1146 vaesdec %xmm1,%xmm9,%xmm9
1147 vmovups -72(%rsi),%xmm1
1148 leaq 16(%r8,%rbx,1),%r8
1149 vmovdqu %xmm10,128(%rsp)
1150 vaesdec %xmm0,%xmm2,%xmm2
1151 cmpl 32+4(%rsp),%ecx
1152 movq 64+8(%rsp),%rbx
1153 vaesdec %xmm0,%xmm3,%xmm3
1155 vaesdec %xmm0,%xmm4,%xmm4
1156 vaesdec %xmm0,%xmm5,%xmm5
1157 leaq (%r9,%rbx,1),%rbx
1159 vaesdec %xmm0,%xmm6,%xmm6
1161 vaesdec %xmm0,%xmm7,%xmm7
1163 vaesdec %xmm0,%xmm8,%xmm8
1164 vmovdqu 16(%r9),%xmm11
1165 movq %rbx,64+8(%rsp)
1166 vaesdec %xmm0,%xmm9,%xmm9
1167 vmovups -56(%rsi),%xmm0
1168 leaq 16(%r9,%rbx,1),%r9
1169 vmovdqu %xmm11,144(%rsp)
1170 vaesdec %xmm1,%xmm2,%xmm2
1171 cmpl 32+8(%rsp),%ecx
1172 movq 64+16(%rsp),%rbx
1173 vaesdec %xmm1,%xmm3,%xmm3
1175 vaesdec %xmm1,%xmm4,%xmm4
1177 vaesdec %xmm1,%xmm5,%xmm5
1178 leaq (%r10,%rbx,1),%rbx
1180 vaesdec %xmm1,%xmm6,%xmm6
1182 vaesdec %xmm1,%xmm7,%xmm7
1184 vaesdec %xmm1,%xmm8,%xmm8
1185 vmovdqu 16(%r10),%xmm12
1186 movq %rbx,64+16(%rsp)
1187 vaesdec %xmm1,%xmm9,%xmm9
1188 vmovups -40(%rsi),%xmm1
1189 leaq 16(%r10,%rbx,1),%r10
1190 vmovdqu %xmm12,160(%rsp)
1191 vaesdec %xmm0,%xmm2,%xmm2
1192 cmpl 32+12(%rsp),%ecx
1193 movq 64+24(%rsp),%rbx
1194 vaesdec %xmm0,%xmm3,%xmm3
1196 vaesdec %xmm0,%xmm4,%xmm4
1198 vaesdec %xmm0,%xmm5,%xmm5
1199 leaq (%r11,%rbx,1),%rbx
1201 vaesdec %xmm0,%xmm6,%xmm6
1203 vaesdec %xmm0,%xmm7,%xmm7
1205 vaesdec %xmm0,%xmm8,%xmm8
1206 vmovdqu 16(%r11),%xmm13
1207 movq %rbx,64+24(%rsp)
1208 vaesdec %xmm0,%xmm9,%xmm9
1209 vmovups -24(%rsi),%xmm0
1210 leaq 16(%r11,%rbx,1),%r11
1211 vmovdqu %xmm13,176(%rsp)
1212 vaesdec %xmm1,%xmm2,%xmm2
1213 cmpl 32+16(%rsp),%ecx
1214 movq 64+32(%rsp),%rbx
1215 vaesdec %xmm1,%xmm3,%xmm3
1217 vaesdec %xmm1,%xmm4,%xmm4
1219 vaesdec %xmm1,%xmm5,%xmm5
1220 leaq (%r12,%rbx,1),%rbx
1222 vaesdec %xmm1,%xmm6,%xmm6
1224 vaesdec %xmm1,%xmm7,%xmm7
1226 vaesdec %xmm1,%xmm8,%xmm8
1227 vmovdqu 16(%r12),%xmm10
1228 movq %rbx,64+32(%rsp)
1229 vaesdec %xmm1,%xmm9,%xmm9
1230 vmovups -8(%rsi),%xmm1
1231 leaq 16(%r12,%rbx,1),%r12
1232 vaesdec %xmm0,%xmm2,%xmm2
1233 cmpl 32+20(%rsp),%ecx
1234 movq 64+40(%rsp),%rbx
1235 vaesdec %xmm0,%xmm3,%xmm3
1237 vaesdec %xmm0,%xmm4,%xmm4
1239 vaesdec %xmm0,%xmm5,%xmm5
1240 leaq (%rbx,%r13,1),%rbx
1242 vaesdec %xmm0,%xmm6,%xmm6
1244 vaesdec %xmm0,%xmm7,%xmm7
1246 vaesdec %xmm0,%xmm8,%xmm8
1247 vmovdqu 16(%r13),%xmm11
1248 movq %rbx,64+40(%rsp)
1249 vaesdec %xmm0,%xmm9,%xmm9
1250 vmovups 8(%rsi),%xmm0
1251 leaq 16(%r13,%rbx,1),%r13
1252 vaesdec %xmm1,%xmm2,%xmm2
1253 cmpl 32+24(%rsp),%ecx
1254 movq 64+48(%rsp),%rbx
1255 vaesdec %xmm1,%xmm3,%xmm3
1257 vaesdec %xmm1,%xmm4,%xmm4
1259 vaesdec %xmm1,%xmm5,%xmm5
1260 leaq (%r14,%rbx,1),%rbx
1262 vaesdec %xmm1,%xmm6,%xmm6
1264 vaesdec %xmm1,%xmm7,%xmm7
1266 vaesdec %xmm1,%xmm8,%xmm8
1267 vmovdqu 16(%r14),%xmm12
1268 movq %rbx,64+48(%rsp)
1269 vaesdec %xmm1,%xmm9,%xmm9
1270 vmovups 24(%rsi),%xmm1
1271 leaq 16(%r14,%rbx,1),%r14
1272 vaesdec %xmm0,%xmm2,%xmm2
1273 cmpl 32+28(%rsp),%ecx
1274 movq 64+56(%rsp),%rbx
1275 vaesdec %xmm0,%xmm3,%xmm3
1277 vaesdec %xmm0,%xmm4,%xmm4
1279 vaesdec %xmm0,%xmm5,%xmm5
1280 leaq (%r15,%rbx,1),%rbx
1282 vaesdec %xmm0,%xmm6,%xmm6
1284 vaesdec %xmm0,%xmm7,%xmm7
1286 vaesdec %xmm0,%xmm8,%xmm8
1287 vmovdqu 16(%r15),%xmm13
1288 movq %rbx,64+56(%rsp)
1289 vaesdec %xmm0,%xmm9,%xmm9
1290 vmovups 40(%rsi),%xmm0
1291 leaq 16(%r15,%rbx,1),%r15
1292 vmovdqu 32(%rsp),%xmm14
1298 vaesdec %xmm1,%xmm2,%xmm2
1299 vaesdec %xmm1,%xmm3,%xmm3
1300 vaesdec %xmm1,%xmm4,%xmm4
1301 vaesdec %xmm1,%xmm5,%xmm5
1302 vaesdec %xmm1,%xmm6,%xmm6
1303 vaesdec %xmm1,%xmm7,%xmm7
1304 vaesdec %xmm1,%xmm8,%xmm8
1305 vaesdec %xmm1,%xmm9,%xmm9
1306 vmovups 176-120(%rsi),%xmm1
1308 vaesdec %xmm0,%xmm2,%xmm2
1309 vaesdec %xmm0,%xmm3,%xmm3
1310 vaesdec %xmm0,%xmm4,%xmm4
1311 vaesdec %xmm0,%xmm5,%xmm5
1312 vaesdec %xmm0,%xmm6,%xmm6
1313 vaesdec %xmm0,%xmm7,%xmm7
1314 vaesdec %xmm0,%xmm8,%xmm8
1315 vaesdec %xmm0,%xmm9,%xmm9
1316 vmovups 192-120(%rsi),%xmm0
1319 vaesdec %xmm1,%xmm2,%xmm2
1320 vaesdec %xmm1,%xmm3,%xmm3
1321 vaesdec %xmm1,%xmm4,%xmm4
1322 vaesdec %xmm1,%xmm5,%xmm5
1323 vaesdec %xmm1,%xmm6,%xmm6
1324 vaesdec %xmm1,%xmm7,%xmm7
1325 vaesdec %xmm1,%xmm8,%xmm8
1326 vaesdec %xmm1,%xmm9,%xmm9
1327 vmovups 208-120(%rsi),%xmm1
1329 vaesdec %xmm0,%xmm2,%xmm2
1330 vaesdec %xmm0,%xmm3,%xmm3
1331 vaesdec %xmm0,%xmm4,%xmm4
1332 vaesdec %xmm0,%xmm5,%xmm5
1333 vaesdec %xmm0,%xmm6,%xmm6
1334 vaesdec %xmm0,%xmm7,%xmm7
1335 vaesdec %xmm0,%xmm8,%xmm8
1336 vaesdec %xmm0,%xmm9,%xmm9
1337 vmovups 224-120(%rsi),%xmm0
1340 vaesdec %xmm1,%xmm2,%xmm2
1341 vpxor %xmm15,%xmm15,%xmm15
1342 vaesdec %xmm1,%xmm3,%xmm3
1343 vaesdec %xmm1,%xmm4,%xmm4
1344 vpcmpgtd %xmm15,%xmm14,%xmm15
1345 vaesdec %xmm1,%xmm5,%xmm5
1346 vaesdec %xmm1,%xmm6,%xmm6
1347 vpaddd %xmm14,%xmm15,%xmm15
1348 vmovdqu 48(%rsp),%xmm14
1349 vaesdec %xmm1,%xmm7,%xmm7
1351 vaesdec %xmm1,%xmm8,%xmm8
1352 vaesdec %xmm1,%xmm9,%xmm9
1353 vmovups 16-120(%rsi),%xmm1
1355 vaesdeclast %xmm0,%xmm2,%xmm2
1356 vmovdqa %xmm15,32(%rsp)
1357 vpxor %xmm15,%xmm15,%xmm15
1358 vaesdeclast %xmm0,%xmm3,%xmm3
1359 vpxor 0(%rbp),%xmm2,%xmm2
1360 vaesdeclast %xmm0,%xmm4,%xmm4
1361 vpxor 16(%rbp),%xmm3,%xmm3
1362 vpcmpgtd %xmm15,%xmm14,%xmm15
1363 vaesdeclast %xmm0,%xmm5,%xmm5
1364 vpxor 32(%rbp),%xmm4,%xmm4
1365 vaesdeclast %xmm0,%xmm6,%xmm6
1366 vpxor 48(%rbp),%xmm5,%xmm5
1367 vpaddd %xmm15,%xmm14,%xmm14
1368 vmovdqu -120(%rsi),%xmm15
1369 vaesdeclast %xmm0,%xmm7,%xmm7
1370 vpxor 64(%rbp),%xmm6,%xmm6
1371 vaesdeclast %xmm0,%xmm8,%xmm8
1372 vpxor 80(%rbp),%xmm7,%xmm7
1373 vmovdqa %xmm14,48(%rsp)
1374 vaesdeclast %xmm0,%xmm9,%xmm9
1375 vpxor 96(%rbp),%xmm8,%xmm8
1376 vmovups 32-120(%rsi),%xmm0
1378 vmovups %xmm2,-16(%r8)
1380 vmovdqu 128+0(%rsp),%xmm2
1381 vpxor 112(%rbp),%xmm9,%xmm9
1382 vmovups %xmm3,-16(%r9)
1384 vmovdqu %xmm2,0(%rbp)
1385 vpxor %xmm15,%xmm2,%xmm2
1386 vmovdqu 128+16(%rsp),%xmm3
1387 vmovups %xmm4,-16(%r10)
1389 vmovdqu %xmm3,16(%rbp)
1390 vpxor %xmm15,%xmm3,%xmm3
1391 vmovdqu 128+32(%rsp),%xmm4
1392 vmovups %xmm5,-16(%r11)
1394 vmovdqu %xmm4,32(%rbp)
1395 vpxor %xmm15,%xmm4,%xmm4
1396 vmovdqu 128+48(%rsp),%xmm5
1397 vmovups %xmm6,-16(%r12)
1399 vmovdqu %xmm5,48(%rbp)
1400 vpxor %xmm15,%xmm5,%xmm5
1401 vmovdqu %xmm10,64(%rbp)
1402 vpxor %xmm10,%xmm15,%xmm6
1403 vmovups %xmm7,-16(%r13)
1405 vmovdqu %xmm11,80(%rbp)
1406 vpxor %xmm11,%xmm15,%xmm7
1407 vmovups %xmm8,-16(%r14)
1409 vmovdqu %xmm12,96(%rbp)
1410 vpxor %xmm12,%xmm15,%xmm8
1411 vmovups %xmm9,-16(%r15)
1413 vmovdqu %xmm13,112(%rbp)
1414 vpxor %xmm13,%xmm15,%xmm9
1437 .size aesni_multi_cbc_decrypt_avx,.-aesni_multi_cbc_decrypt_avx