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:
14 movl OPENSSL_ia32cap_P+4(%rip),%ecx
16 jnz _avx_cbc_enc_shortcut
21 .cfi_def_cfa_register %rax
43 .cfi_escape 0x0f,0x05,0x77,0x10,0x06,0x23,0x08
59 movdqu -56(%rdi),%xmm2
68 movdqu -16(%rdi),%xmm3
92 movups 16-120(%rsi),%xmm1
94 movups 32-120(%rsi),%xmm0
96 movl 240-120(%rsi),%eax
107 movdqa 32(%rsp),%xmm10
118 .byte 102,15,56,220,209
119 prefetcht0 31(%r8,%rbx,1)
120 prefetcht0 31(%r9,%rbx,1)
121 .byte 102,15,56,220,217
122 prefetcht0 31(%r10,%rbx,1)
123 prefetcht0 31(%r10,%rbx,1)
124 .byte 102,15,56,220,225
125 .byte 102,15,56,220,233
126 movups 48-120(%rsi),%xmm1
128 .byte 102,15,56,220,208
129 .byte 102,15,56,220,216
130 .byte 102,15,56,220,224
133 .byte 102,15,56,220,232
134 movups -56(%rsi),%xmm0
136 .byte 102,15,56,220,209
137 .byte 102,15,56,220,217
138 .byte 102,15,56,220,225
141 .byte 102,15,56,220,233
142 movups -40(%rsi),%xmm1
144 .byte 102,15,56,220,208
145 .byte 102,15,56,220,216
146 .byte 102,15,56,220,224
149 .byte 102,15,56,220,232
150 movups -24(%rsi),%xmm0
152 .byte 102,15,56,220,209
153 .byte 102,15,56,220,217
154 .byte 102,15,56,220,225
157 .byte 102,15,56,220,233
158 movups -8(%rsi),%xmm1
160 .byte 102,15,56,220,208
161 prefetcht0 15(%r12,%rbx,1)
162 prefetcht0 15(%r13,%rbx,1)
163 .byte 102,15,56,220,216
164 prefetcht0 15(%r14,%rbx,1)
165 prefetcht0 15(%r15,%rbx,1)
166 .byte 102,15,56,220,224
167 .byte 102,15,56,220,232
168 movups 128-120(%rsi),%xmm0
171 .byte 102,15,56,220,209
172 pcmpgtd %xmm12,%xmm11
173 movdqu -120(%rsi),%xmm12
174 .byte 102,15,56,220,217
176 movdqa %xmm10,32(%rsp)
177 .byte 102,15,56,220,225
178 .byte 102,15,56,220,233
179 movups 144-120(%rsi),%xmm1
183 .byte 102,15,56,220,208
184 .byte 102,15,56,220,216
185 .byte 102,15,56,220,224
186 .byte 102,15,56,220,232
187 movups 160-120(%rsi),%xmm0
191 .byte 102,15,56,220,209
192 .byte 102,15,56,220,217
193 .byte 102,15,56,220,225
194 .byte 102,15,56,220,233
195 movups 176-120(%rsi),%xmm1
197 .byte 102,15,56,220,208
198 .byte 102,15,56,220,216
199 .byte 102,15,56,220,224
200 .byte 102,15,56,220,232
201 movups 192-120(%rsi),%xmm0
205 .byte 102,15,56,220,209
206 .byte 102,15,56,220,217
207 .byte 102,15,56,220,225
208 .byte 102,15,56,220,233
209 movups 208-120(%rsi),%xmm1
211 .byte 102,15,56,220,208
212 .byte 102,15,56,220,216
213 .byte 102,15,56,220,224
214 .byte 102,15,56,220,232
215 movups 224-120(%rsi),%xmm0
220 .byte 102,15,56,220,209
221 .byte 102,15,56,220,217
222 .byte 102,15,56,220,225
223 .byte 102,15,56,220,233
224 movdqu (%r8,%rbx,1),%xmm6
225 movdqu 16-120(%rsi),%xmm1
227 .byte 102,15,56,221,208
228 movdqu (%r9,%rbx,1),%xmm7
230 .byte 102,15,56,221,216
231 movdqu (%r10,%rbx,1),%xmm8
233 .byte 102,15,56,221,224
234 movdqu (%r11,%rbx,1),%xmm9
236 .byte 102,15,56,221,232
237 movdqu 32-120(%rsi),%xmm0
240 movups %xmm2,-16(%r12,%rbx,1)
242 movups %xmm3,-16(%r13,%rbx,1)
244 movups %xmm4,-16(%r14,%rbx,1)
246 movups %xmm5,-16(%r15,%rbx,1)
267 jnz .Lenc4x_loop_grande
283 .cfi_def_cfa_register %rsp
287 .size aesni_multi_cbc_encrypt,.-aesni_multi_cbc_encrypt
289 .globl aesni_multi_cbc_decrypt
290 .type aesni_multi_cbc_decrypt,@function
292 aesni_multi_cbc_decrypt:
296 movl OPENSSL_ia32cap_P+4(%rip),%ecx
297 testl $268435456,%ecx
298 jnz _avx_cbc_dec_shortcut
303 .cfi_def_cfa_register %rax
325 .cfi_escape 0x0f,0x05,0x77,0x10,0x06,0x23,0x08
341 movdqu -56(%rdi),%xmm6
350 movdqu -16(%rdi),%xmm7
359 movdqu 24(%rdi),%xmm8
368 movdqu 64(%rdi),%xmm9
374 movups 16-120(%rsi),%xmm1
375 movups 32-120(%rsi),%xmm0
376 movl 240-120(%rsi),%eax
385 movdqa 32(%rsp),%xmm10
396 .byte 102,15,56,222,209
397 prefetcht0 31(%r8,%rbx,1)
398 prefetcht0 31(%r9,%rbx,1)
399 .byte 102,15,56,222,217
400 prefetcht0 31(%r10,%rbx,1)
401 prefetcht0 31(%r11,%rbx,1)
402 .byte 102,15,56,222,225
403 .byte 102,15,56,222,233
404 movups 48-120(%rsi),%xmm1
406 .byte 102,15,56,222,208
407 .byte 102,15,56,222,216
408 .byte 102,15,56,222,224
411 .byte 102,15,56,222,232
412 movups -56(%rsi),%xmm0
414 .byte 102,15,56,222,209
415 .byte 102,15,56,222,217
416 .byte 102,15,56,222,225
419 .byte 102,15,56,222,233
420 movups -40(%rsi),%xmm1
422 .byte 102,15,56,222,208
423 .byte 102,15,56,222,216
424 .byte 102,15,56,222,224
427 .byte 102,15,56,222,232
428 movups -24(%rsi),%xmm0
430 .byte 102,15,56,222,209
431 .byte 102,15,56,222,217
432 .byte 102,15,56,222,225
435 .byte 102,15,56,222,233
436 movups -8(%rsi),%xmm1
438 .byte 102,15,56,222,208
439 prefetcht0 15(%r12,%rbx,1)
440 prefetcht0 15(%r13,%rbx,1)
441 .byte 102,15,56,222,216
442 prefetcht0 15(%r14,%rbx,1)
443 prefetcht0 15(%r15,%rbx,1)
444 .byte 102,15,56,222,224
445 .byte 102,15,56,222,232
446 movups 128-120(%rsi),%xmm0
449 .byte 102,15,56,222,209
450 pcmpgtd %xmm12,%xmm11
451 movdqu -120(%rsi),%xmm12
452 .byte 102,15,56,222,217
454 movdqa %xmm10,32(%rsp)
455 .byte 102,15,56,222,225
456 .byte 102,15,56,222,233
457 movups 144-120(%rsi),%xmm1
461 .byte 102,15,56,222,208
462 .byte 102,15,56,222,216
463 .byte 102,15,56,222,224
464 .byte 102,15,56,222,232
465 movups 160-120(%rsi),%xmm0
469 .byte 102,15,56,222,209
470 .byte 102,15,56,222,217
471 .byte 102,15,56,222,225
472 .byte 102,15,56,222,233
473 movups 176-120(%rsi),%xmm1
475 .byte 102,15,56,222,208
476 .byte 102,15,56,222,216
477 .byte 102,15,56,222,224
478 .byte 102,15,56,222,232
479 movups 192-120(%rsi),%xmm0
483 .byte 102,15,56,222,209
484 .byte 102,15,56,222,217
485 .byte 102,15,56,222,225
486 .byte 102,15,56,222,233
487 movups 208-120(%rsi),%xmm1
489 .byte 102,15,56,222,208
490 .byte 102,15,56,222,216
491 .byte 102,15,56,222,224
492 .byte 102,15,56,222,232
493 movups 224-120(%rsi),%xmm0
498 .byte 102,15,56,222,209
499 .byte 102,15,56,222,217
500 .byte 102,15,56,222,225
503 .byte 102,15,56,222,233
504 movdqu 16-120(%rsi),%xmm1
507 movdqu 32-120(%rsi),%xmm0
509 .byte 102,15,56,223,214
510 .byte 102,15,56,223,223
511 movdqu -16(%r8,%rbx,1),%xmm6
512 movdqu -16(%r9,%rbx,1),%xmm7
513 .byte 102,65,15,56,223,224
514 .byte 102,65,15,56,223,233
515 movdqu -16(%r10,%rbx,1),%xmm8
516 movdqu -16(%r11,%rbx,1),%xmm9
518 movups %xmm2,-16(%r12,%rbx,1)
519 movdqu (%r8,%rbx,1),%xmm2
520 movups %xmm3,-16(%r13,%rbx,1)
521 movdqu (%r9,%rbx,1),%xmm3
523 movups %xmm4,-16(%r14,%rbx,1)
524 movdqu (%r10,%rbx,1),%xmm4
526 movups %xmm5,-16(%r15,%rbx,1)
527 movdqu (%r11,%rbx,1),%xmm5
540 jnz .Ldec4x_loop_grande
556 .cfi_def_cfa_register %rsp
560 .size aesni_multi_cbc_decrypt,.-aesni_multi_cbc_decrypt
561 .type aesni_multi_cbc_encrypt_avx,@function
563 aesni_multi_cbc_encrypt_avx:
565 _avx_cbc_enc_shortcut:
567 .cfi_def_cfa_register %rax
591 .cfi_escape 0x0f,0x05,0x77,0x10,0x06,0x23,0x08
595 vmovdqu (%rsi),%xmm15
609 vmovdqu -136(%rdi),%xmm2
620 vmovdqu -96(%rdi),%xmm3
631 vmovdqu -56(%rdi),%xmm4
642 vmovdqu -16(%rdi),%xmm5
653 vmovdqu 24(%rdi),%xmm6
664 vmovdqu 64(%rdi),%xmm7
675 vmovdqu 104(%rdi),%xmm8
686 vmovdqu 144(%rdi),%xmm9
694 vmovups 16-120(%rsi),%xmm1
695 vmovups 32-120(%rsi),%xmm0
696 movl 240-120(%rsi),%eax
698 vpxor (%r8),%xmm15,%xmm10
700 vpxor (%r9),%xmm15,%xmm11
701 vpxor (%r10),%xmm15,%xmm12
702 vpxor (%r11),%xmm15,%xmm13
703 vpxor %xmm10,%xmm2,%xmm2
704 vpxor (%r12),%xmm15,%xmm10
705 vpxor %xmm11,%xmm3,%xmm3
706 vpxor (%r13),%xmm15,%xmm11
707 vpxor %xmm12,%xmm4,%xmm4
708 vpxor (%r14),%xmm15,%xmm12
709 vpxor %xmm13,%xmm5,%xmm5
710 vpxor (%r15),%xmm15,%xmm13
711 vpxor %xmm10,%xmm6,%xmm6
713 vpxor %xmm11,%xmm7,%xmm7
714 vpxor %xmm12,%xmm8,%xmm8
715 vpxor %xmm13,%xmm9,%xmm9
720 vaesenc %xmm1,%xmm2,%xmm2
722 vaesenc %xmm1,%xmm3,%xmm3
724 vaesenc %xmm1,%xmm4,%xmm4
725 vaesenc %xmm1,%xmm5,%xmm5
726 leaq (%r8,%rbx,1),%rbx
728 vaesenc %xmm1,%xmm6,%xmm6
730 vaesenc %xmm1,%xmm7,%xmm7
732 vaesenc %xmm1,%xmm8,%xmm8
733 vpxor 16(%r8),%xmm15,%xmm10
735 vaesenc %xmm1,%xmm9,%xmm9
736 vmovups -72(%rsi),%xmm1
737 leaq 16(%r8,%rbx,1),%r8
738 vmovdqu %xmm10,0(%rbp)
739 vaesenc %xmm0,%xmm2,%xmm2
742 vaesenc %xmm0,%xmm3,%xmm3
744 vaesenc %xmm0,%xmm4,%xmm4
745 vaesenc %xmm0,%xmm5,%xmm5
746 leaq (%r9,%rbx,1),%rbx
748 vaesenc %xmm0,%xmm6,%xmm6
750 vaesenc %xmm0,%xmm7,%xmm7
752 vaesenc %xmm0,%xmm8,%xmm8
753 vpxor 16(%r9),%xmm15,%xmm11
755 vaesenc %xmm0,%xmm9,%xmm9
756 vmovups -56(%rsi),%xmm0
757 leaq 16(%r9,%rbx,1),%r9
758 vmovdqu %xmm11,16(%rbp)
759 vaesenc %xmm1,%xmm2,%xmm2
761 movq 64+16(%rsp),%rbx
762 vaesenc %xmm1,%xmm3,%xmm3
764 vaesenc %xmm1,%xmm4,%xmm4
766 vaesenc %xmm1,%xmm5,%xmm5
767 leaq (%r10,%rbx,1),%rbx
769 vaesenc %xmm1,%xmm6,%xmm6
771 vaesenc %xmm1,%xmm7,%xmm7
773 vaesenc %xmm1,%xmm8,%xmm8
774 vpxor 16(%r10),%xmm15,%xmm12
775 movq %rbx,64+16(%rsp)
776 vaesenc %xmm1,%xmm9,%xmm9
777 vmovups -40(%rsi),%xmm1
778 leaq 16(%r10,%rbx,1),%r10
779 vmovdqu %xmm12,32(%rbp)
780 vaesenc %xmm0,%xmm2,%xmm2
781 cmpl 32+12(%rsp),%ecx
782 movq 64+24(%rsp),%rbx
783 vaesenc %xmm0,%xmm3,%xmm3
785 vaesenc %xmm0,%xmm4,%xmm4
787 vaesenc %xmm0,%xmm5,%xmm5
788 leaq (%r11,%rbx,1),%rbx
790 vaesenc %xmm0,%xmm6,%xmm6
792 vaesenc %xmm0,%xmm7,%xmm7
794 vaesenc %xmm0,%xmm8,%xmm8
795 vpxor 16(%r11),%xmm15,%xmm13
796 movq %rbx,64+24(%rsp)
797 vaesenc %xmm0,%xmm9,%xmm9
798 vmovups -24(%rsi),%xmm0
799 leaq 16(%r11,%rbx,1),%r11
800 vmovdqu %xmm13,48(%rbp)
801 vaesenc %xmm1,%xmm2,%xmm2
802 cmpl 32+16(%rsp),%ecx
803 movq 64+32(%rsp),%rbx
804 vaesenc %xmm1,%xmm3,%xmm3
806 vaesenc %xmm1,%xmm4,%xmm4
808 vaesenc %xmm1,%xmm5,%xmm5
809 leaq (%r12,%rbx,1),%rbx
811 vaesenc %xmm1,%xmm6,%xmm6
813 vaesenc %xmm1,%xmm7,%xmm7
815 vaesenc %xmm1,%xmm8,%xmm8
816 vpxor 16(%r12),%xmm15,%xmm10
817 movq %rbx,64+32(%rsp)
818 vaesenc %xmm1,%xmm9,%xmm9
819 vmovups -8(%rsi),%xmm1
820 leaq 16(%r12,%rbx,1),%r12
821 vaesenc %xmm0,%xmm2,%xmm2
822 cmpl 32+20(%rsp),%ecx
823 movq 64+40(%rsp),%rbx
824 vaesenc %xmm0,%xmm3,%xmm3
826 vaesenc %xmm0,%xmm4,%xmm4
828 vaesenc %xmm0,%xmm5,%xmm5
829 leaq (%rbx,%r13,1),%rbx
831 vaesenc %xmm0,%xmm6,%xmm6
833 vaesenc %xmm0,%xmm7,%xmm7
835 vaesenc %xmm0,%xmm8,%xmm8
836 vpxor 16(%r13),%xmm15,%xmm11
837 movq %rbx,64+40(%rsp)
838 vaesenc %xmm0,%xmm9,%xmm9
839 vmovups 8(%rsi),%xmm0
840 leaq 16(%r13,%rbx,1),%r13
841 vaesenc %xmm1,%xmm2,%xmm2
842 cmpl 32+24(%rsp),%ecx
843 movq 64+48(%rsp),%rbx
844 vaesenc %xmm1,%xmm3,%xmm3
846 vaesenc %xmm1,%xmm4,%xmm4
848 vaesenc %xmm1,%xmm5,%xmm5
849 leaq (%r14,%rbx,1),%rbx
851 vaesenc %xmm1,%xmm6,%xmm6
853 vaesenc %xmm1,%xmm7,%xmm7
855 vaesenc %xmm1,%xmm8,%xmm8
856 vpxor 16(%r14),%xmm15,%xmm12
857 movq %rbx,64+48(%rsp)
858 vaesenc %xmm1,%xmm9,%xmm9
859 vmovups 24(%rsi),%xmm1
860 leaq 16(%r14,%rbx,1),%r14
861 vaesenc %xmm0,%xmm2,%xmm2
862 cmpl 32+28(%rsp),%ecx
863 movq 64+56(%rsp),%rbx
864 vaesenc %xmm0,%xmm3,%xmm3
866 vaesenc %xmm0,%xmm4,%xmm4
868 vaesenc %xmm0,%xmm5,%xmm5
869 leaq (%r15,%rbx,1),%rbx
871 vaesenc %xmm0,%xmm6,%xmm6
873 vaesenc %xmm0,%xmm7,%xmm7
875 vaesenc %xmm0,%xmm8,%xmm8
876 vpxor 16(%r15),%xmm15,%xmm13
877 movq %rbx,64+56(%rsp)
878 vaesenc %xmm0,%xmm9,%xmm9
879 vmovups 40(%rsi),%xmm0
880 leaq 16(%r15,%rbx,1),%r15
881 vmovdqu 32(%rsp),%xmm14
887 vaesenc %xmm1,%xmm2,%xmm2
888 vaesenc %xmm1,%xmm3,%xmm3
889 vaesenc %xmm1,%xmm4,%xmm4
890 vaesenc %xmm1,%xmm5,%xmm5
891 vaesenc %xmm1,%xmm6,%xmm6
892 vaesenc %xmm1,%xmm7,%xmm7
893 vaesenc %xmm1,%xmm8,%xmm8
894 vaesenc %xmm1,%xmm9,%xmm9
895 vmovups 176-120(%rsi),%xmm1
897 vaesenc %xmm0,%xmm2,%xmm2
898 vaesenc %xmm0,%xmm3,%xmm3
899 vaesenc %xmm0,%xmm4,%xmm4
900 vaesenc %xmm0,%xmm5,%xmm5
901 vaesenc %xmm0,%xmm6,%xmm6
902 vaesenc %xmm0,%xmm7,%xmm7
903 vaesenc %xmm0,%xmm8,%xmm8
904 vaesenc %xmm0,%xmm9,%xmm9
905 vmovups 192-120(%rsi),%xmm0
908 vaesenc %xmm1,%xmm2,%xmm2
909 vaesenc %xmm1,%xmm3,%xmm3
910 vaesenc %xmm1,%xmm4,%xmm4
911 vaesenc %xmm1,%xmm5,%xmm5
912 vaesenc %xmm1,%xmm6,%xmm6
913 vaesenc %xmm1,%xmm7,%xmm7
914 vaesenc %xmm1,%xmm8,%xmm8
915 vaesenc %xmm1,%xmm9,%xmm9
916 vmovups 208-120(%rsi),%xmm1
918 vaesenc %xmm0,%xmm2,%xmm2
919 vaesenc %xmm0,%xmm3,%xmm3
920 vaesenc %xmm0,%xmm4,%xmm4
921 vaesenc %xmm0,%xmm5,%xmm5
922 vaesenc %xmm0,%xmm6,%xmm6
923 vaesenc %xmm0,%xmm7,%xmm7
924 vaesenc %xmm0,%xmm8,%xmm8
925 vaesenc %xmm0,%xmm9,%xmm9
926 vmovups 224-120(%rsi),%xmm0
929 vaesenc %xmm1,%xmm2,%xmm2
930 vpxor %xmm15,%xmm15,%xmm15
931 vaesenc %xmm1,%xmm3,%xmm3
932 vaesenc %xmm1,%xmm4,%xmm4
933 vpcmpgtd %xmm15,%xmm14,%xmm15
934 vaesenc %xmm1,%xmm5,%xmm5
935 vaesenc %xmm1,%xmm6,%xmm6
936 vpaddd %xmm14,%xmm15,%xmm15
937 vmovdqu 48(%rsp),%xmm14
938 vaesenc %xmm1,%xmm7,%xmm7
940 vaesenc %xmm1,%xmm8,%xmm8
941 vaesenc %xmm1,%xmm9,%xmm9
942 vmovups 16-120(%rsi),%xmm1
944 vaesenclast %xmm0,%xmm2,%xmm2
945 vmovdqa %xmm15,32(%rsp)
946 vpxor %xmm15,%xmm15,%xmm15
947 vaesenclast %xmm0,%xmm3,%xmm3
948 vaesenclast %xmm0,%xmm4,%xmm4
949 vpcmpgtd %xmm15,%xmm14,%xmm15
950 vaesenclast %xmm0,%xmm5,%xmm5
951 vaesenclast %xmm0,%xmm6,%xmm6
952 vpaddd %xmm15,%xmm14,%xmm14
953 vmovdqu -120(%rsi),%xmm15
954 vaesenclast %xmm0,%xmm7,%xmm7
955 vaesenclast %xmm0,%xmm8,%xmm8
956 vmovdqa %xmm14,48(%rsp)
957 vaesenclast %xmm0,%xmm9,%xmm9
958 vmovups 32-120(%rsi),%xmm0
960 vmovups %xmm2,-16(%r8)
962 vpxor 0(%rbp),%xmm2,%xmm2
963 vmovups %xmm3,-16(%r9)
965 vpxor 16(%rbp),%xmm3,%xmm3
966 vmovups %xmm4,-16(%r10)
968 vpxor 32(%rbp),%xmm4,%xmm4
969 vmovups %xmm5,-16(%r11)
971 vpxor 48(%rbp),%xmm5,%xmm5
972 vmovups %xmm6,-16(%r12)
974 vpxor %xmm10,%xmm6,%xmm6
975 vmovups %xmm7,-16(%r13)
977 vpxor %xmm11,%xmm7,%xmm7
978 vmovups %xmm8,-16(%r14)
980 vpxor %xmm12,%xmm8,%xmm8
981 vmovups %xmm9,-16(%r15)
983 vpxor %xmm13,%xmm9,%xmm9
1010 .cfi_def_cfa_register %rsp
1014 .size aesni_multi_cbc_encrypt_avx,.-aesni_multi_cbc_encrypt_avx
1016 .type aesni_multi_cbc_decrypt_avx,@function
1018 aesni_multi_cbc_decrypt_avx:
1020 _avx_cbc_dec_shortcut:
1022 .cfi_def_cfa_register %rax
1024 .cfi_offset %rbx,-16
1026 .cfi_offset %rbp,-24
1028 .cfi_offset %r12,-32
1030 .cfi_offset %r13,-40
1032 .cfi_offset %r14,-48
1034 .cfi_offset %r15,-56
1048 .cfi_escape 0x0f,0x05,0x77,0x10,0x06,0x23,0x08
1052 vmovdqu (%rsi),%xmm15
1057 .Ldec8x_loop_grande:
1060 movl -144(%rdi),%ecx
1063 movq -152(%rdi),%rbx
1066 vmovdqu -136(%rdi),%xmm2
1071 vmovdqu %xmm2,192(%rsp)
1072 movl -104(%rdi),%ecx
1075 movq -112(%rdi),%rbp
1078 vmovdqu -96(%rdi),%xmm3
1083 vmovdqu %xmm3,208(%rsp)
1090 vmovdqu -56(%rdi),%xmm4
1095 vmovdqu %xmm4,224(%rsp)
1102 vmovdqu -16(%rdi),%xmm5
1107 vmovdqu %xmm5,240(%rsp)
1114 vmovdqu 24(%rdi),%xmm6
1119 vmovdqu %xmm6,256(%rsp)
1126 vmovdqu 64(%rdi),%xmm7
1131 vmovdqu %xmm7,272(%rsp)
1138 vmovdqu 104(%rdi),%xmm8
1143 vmovdqu %xmm8,288(%rsp)
1150 vmovdqu 144(%rdi),%xmm9
1155 vmovdqu %xmm9,304(%rsp)
1159 vmovups 16-120(%rsi),%xmm1
1160 vmovups 32-120(%rsi),%xmm0
1161 movl 240-120(%rsi),%eax
1162 leaq 192+128(%rsp),%rbp
1166 vmovdqu (%r10),%xmm4
1167 vmovdqu (%r11),%xmm5
1168 vmovdqu (%r12),%xmm6
1169 vmovdqu (%r13),%xmm7
1170 vmovdqu (%r14),%xmm8
1171 vmovdqu (%r15),%xmm9
1172 vmovdqu %xmm2,0(%rbp)
1173 vpxor %xmm15,%xmm2,%xmm2
1174 vmovdqu %xmm3,16(%rbp)
1175 vpxor %xmm15,%xmm3,%xmm3
1176 vmovdqu %xmm4,32(%rbp)
1177 vpxor %xmm15,%xmm4,%xmm4
1178 vmovdqu %xmm5,48(%rbp)
1179 vpxor %xmm15,%xmm5,%xmm5
1180 vmovdqu %xmm6,64(%rbp)
1181 vpxor %xmm15,%xmm6,%xmm6
1182 vmovdqu %xmm7,80(%rbp)
1183 vpxor %xmm15,%xmm7,%xmm7
1184 vmovdqu %xmm8,96(%rbp)
1185 vpxor %xmm15,%xmm8,%xmm8
1186 vmovdqu %xmm9,112(%rbp)
1187 vpxor %xmm15,%xmm9,%xmm9
1194 vaesdec %xmm1,%xmm2,%xmm2
1195 cmpl 32+0(%rsp),%ecx
1196 vaesdec %xmm1,%xmm3,%xmm3
1198 vaesdec %xmm1,%xmm4,%xmm4
1199 vaesdec %xmm1,%xmm5,%xmm5
1200 leaq (%r8,%rbx,1),%rbx
1202 vaesdec %xmm1,%xmm6,%xmm6
1204 vaesdec %xmm1,%xmm7,%xmm7
1206 vaesdec %xmm1,%xmm8,%xmm8
1207 vmovdqu 16(%r8),%xmm10
1208 movq %rbx,64+0(%rsp)
1209 vaesdec %xmm1,%xmm9,%xmm9
1210 vmovups -72(%rsi),%xmm1
1211 leaq 16(%r8,%rbx,1),%r8
1212 vmovdqu %xmm10,128(%rsp)
1213 vaesdec %xmm0,%xmm2,%xmm2
1214 cmpl 32+4(%rsp),%ecx
1215 movq 64+8(%rsp),%rbx
1216 vaesdec %xmm0,%xmm3,%xmm3
1218 vaesdec %xmm0,%xmm4,%xmm4
1219 vaesdec %xmm0,%xmm5,%xmm5
1220 leaq (%r9,%rbx,1),%rbx
1222 vaesdec %xmm0,%xmm6,%xmm6
1224 vaesdec %xmm0,%xmm7,%xmm7
1226 vaesdec %xmm0,%xmm8,%xmm8
1227 vmovdqu 16(%r9),%xmm11
1228 movq %rbx,64+8(%rsp)
1229 vaesdec %xmm0,%xmm9,%xmm9
1230 vmovups -56(%rsi),%xmm0
1231 leaq 16(%r9,%rbx,1),%r9
1232 vmovdqu %xmm11,144(%rsp)
1233 vaesdec %xmm1,%xmm2,%xmm2
1234 cmpl 32+8(%rsp),%ecx
1235 movq 64+16(%rsp),%rbx
1236 vaesdec %xmm1,%xmm3,%xmm3
1238 vaesdec %xmm1,%xmm4,%xmm4
1240 vaesdec %xmm1,%xmm5,%xmm5
1241 leaq (%r10,%rbx,1),%rbx
1243 vaesdec %xmm1,%xmm6,%xmm6
1245 vaesdec %xmm1,%xmm7,%xmm7
1247 vaesdec %xmm1,%xmm8,%xmm8
1248 vmovdqu 16(%r10),%xmm12
1249 movq %rbx,64+16(%rsp)
1250 vaesdec %xmm1,%xmm9,%xmm9
1251 vmovups -40(%rsi),%xmm1
1252 leaq 16(%r10,%rbx,1),%r10
1253 vmovdqu %xmm12,160(%rsp)
1254 vaesdec %xmm0,%xmm2,%xmm2
1255 cmpl 32+12(%rsp),%ecx
1256 movq 64+24(%rsp),%rbx
1257 vaesdec %xmm0,%xmm3,%xmm3
1259 vaesdec %xmm0,%xmm4,%xmm4
1261 vaesdec %xmm0,%xmm5,%xmm5
1262 leaq (%r11,%rbx,1),%rbx
1264 vaesdec %xmm0,%xmm6,%xmm6
1266 vaesdec %xmm0,%xmm7,%xmm7
1268 vaesdec %xmm0,%xmm8,%xmm8
1269 vmovdqu 16(%r11),%xmm13
1270 movq %rbx,64+24(%rsp)
1271 vaesdec %xmm0,%xmm9,%xmm9
1272 vmovups -24(%rsi),%xmm0
1273 leaq 16(%r11,%rbx,1),%r11
1274 vmovdqu %xmm13,176(%rsp)
1275 vaesdec %xmm1,%xmm2,%xmm2
1276 cmpl 32+16(%rsp),%ecx
1277 movq 64+32(%rsp),%rbx
1278 vaesdec %xmm1,%xmm3,%xmm3
1280 vaesdec %xmm1,%xmm4,%xmm4
1282 vaesdec %xmm1,%xmm5,%xmm5
1283 leaq (%r12,%rbx,1),%rbx
1285 vaesdec %xmm1,%xmm6,%xmm6
1287 vaesdec %xmm1,%xmm7,%xmm7
1289 vaesdec %xmm1,%xmm8,%xmm8
1290 vmovdqu 16(%r12),%xmm10
1291 movq %rbx,64+32(%rsp)
1292 vaesdec %xmm1,%xmm9,%xmm9
1293 vmovups -8(%rsi),%xmm1
1294 leaq 16(%r12,%rbx,1),%r12
1295 vaesdec %xmm0,%xmm2,%xmm2
1296 cmpl 32+20(%rsp),%ecx
1297 movq 64+40(%rsp),%rbx
1298 vaesdec %xmm0,%xmm3,%xmm3
1300 vaesdec %xmm0,%xmm4,%xmm4
1302 vaesdec %xmm0,%xmm5,%xmm5
1303 leaq (%rbx,%r13,1),%rbx
1305 vaesdec %xmm0,%xmm6,%xmm6
1307 vaesdec %xmm0,%xmm7,%xmm7
1309 vaesdec %xmm0,%xmm8,%xmm8
1310 vmovdqu 16(%r13),%xmm11
1311 movq %rbx,64+40(%rsp)
1312 vaesdec %xmm0,%xmm9,%xmm9
1313 vmovups 8(%rsi),%xmm0
1314 leaq 16(%r13,%rbx,1),%r13
1315 vaesdec %xmm1,%xmm2,%xmm2
1316 cmpl 32+24(%rsp),%ecx
1317 movq 64+48(%rsp),%rbx
1318 vaesdec %xmm1,%xmm3,%xmm3
1320 vaesdec %xmm1,%xmm4,%xmm4
1322 vaesdec %xmm1,%xmm5,%xmm5
1323 leaq (%r14,%rbx,1),%rbx
1325 vaesdec %xmm1,%xmm6,%xmm6
1327 vaesdec %xmm1,%xmm7,%xmm7
1329 vaesdec %xmm1,%xmm8,%xmm8
1330 vmovdqu 16(%r14),%xmm12
1331 movq %rbx,64+48(%rsp)
1332 vaesdec %xmm1,%xmm9,%xmm9
1333 vmovups 24(%rsi),%xmm1
1334 leaq 16(%r14,%rbx,1),%r14
1335 vaesdec %xmm0,%xmm2,%xmm2
1336 cmpl 32+28(%rsp),%ecx
1337 movq 64+56(%rsp),%rbx
1338 vaesdec %xmm0,%xmm3,%xmm3
1340 vaesdec %xmm0,%xmm4,%xmm4
1342 vaesdec %xmm0,%xmm5,%xmm5
1343 leaq (%r15,%rbx,1),%rbx
1345 vaesdec %xmm0,%xmm6,%xmm6
1347 vaesdec %xmm0,%xmm7,%xmm7
1349 vaesdec %xmm0,%xmm8,%xmm8
1350 vmovdqu 16(%r15),%xmm13
1351 movq %rbx,64+56(%rsp)
1352 vaesdec %xmm0,%xmm9,%xmm9
1353 vmovups 40(%rsi),%xmm0
1354 leaq 16(%r15,%rbx,1),%r15
1355 vmovdqu 32(%rsp),%xmm14
1361 vaesdec %xmm1,%xmm2,%xmm2
1362 vaesdec %xmm1,%xmm3,%xmm3
1363 vaesdec %xmm1,%xmm4,%xmm4
1364 vaesdec %xmm1,%xmm5,%xmm5
1365 vaesdec %xmm1,%xmm6,%xmm6
1366 vaesdec %xmm1,%xmm7,%xmm7
1367 vaesdec %xmm1,%xmm8,%xmm8
1368 vaesdec %xmm1,%xmm9,%xmm9
1369 vmovups 176-120(%rsi),%xmm1
1371 vaesdec %xmm0,%xmm2,%xmm2
1372 vaesdec %xmm0,%xmm3,%xmm3
1373 vaesdec %xmm0,%xmm4,%xmm4
1374 vaesdec %xmm0,%xmm5,%xmm5
1375 vaesdec %xmm0,%xmm6,%xmm6
1376 vaesdec %xmm0,%xmm7,%xmm7
1377 vaesdec %xmm0,%xmm8,%xmm8
1378 vaesdec %xmm0,%xmm9,%xmm9
1379 vmovups 192-120(%rsi),%xmm0
1382 vaesdec %xmm1,%xmm2,%xmm2
1383 vaesdec %xmm1,%xmm3,%xmm3
1384 vaesdec %xmm1,%xmm4,%xmm4
1385 vaesdec %xmm1,%xmm5,%xmm5
1386 vaesdec %xmm1,%xmm6,%xmm6
1387 vaesdec %xmm1,%xmm7,%xmm7
1388 vaesdec %xmm1,%xmm8,%xmm8
1389 vaesdec %xmm1,%xmm9,%xmm9
1390 vmovups 208-120(%rsi),%xmm1
1392 vaesdec %xmm0,%xmm2,%xmm2
1393 vaesdec %xmm0,%xmm3,%xmm3
1394 vaesdec %xmm0,%xmm4,%xmm4
1395 vaesdec %xmm0,%xmm5,%xmm5
1396 vaesdec %xmm0,%xmm6,%xmm6
1397 vaesdec %xmm0,%xmm7,%xmm7
1398 vaesdec %xmm0,%xmm8,%xmm8
1399 vaesdec %xmm0,%xmm9,%xmm9
1400 vmovups 224-120(%rsi),%xmm0
1403 vaesdec %xmm1,%xmm2,%xmm2
1404 vpxor %xmm15,%xmm15,%xmm15
1405 vaesdec %xmm1,%xmm3,%xmm3
1406 vaesdec %xmm1,%xmm4,%xmm4
1407 vpcmpgtd %xmm15,%xmm14,%xmm15
1408 vaesdec %xmm1,%xmm5,%xmm5
1409 vaesdec %xmm1,%xmm6,%xmm6
1410 vpaddd %xmm14,%xmm15,%xmm15
1411 vmovdqu 48(%rsp),%xmm14
1412 vaesdec %xmm1,%xmm7,%xmm7
1414 vaesdec %xmm1,%xmm8,%xmm8
1415 vaesdec %xmm1,%xmm9,%xmm9
1416 vmovups 16-120(%rsi),%xmm1
1418 vaesdeclast %xmm0,%xmm2,%xmm2
1419 vmovdqa %xmm15,32(%rsp)
1420 vpxor %xmm15,%xmm15,%xmm15
1421 vaesdeclast %xmm0,%xmm3,%xmm3
1422 vpxor 0(%rbp),%xmm2,%xmm2
1423 vaesdeclast %xmm0,%xmm4,%xmm4
1424 vpxor 16(%rbp),%xmm3,%xmm3
1425 vpcmpgtd %xmm15,%xmm14,%xmm15
1426 vaesdeclast %xmm0,%xmm5,%xmm5
1427 vpxor 32(%rbp),%xmm4,%xmm4
1428 vaesdeclast %xmm0,%xmm6,%xmm6
1429 vpxor 48(%rbp),%xmm5,%xmm5
1430 vpaddd %xmm15,%xmm14,%xmm14
1431 vmovdqu -120(%rsi),%xmm15
1432 vaesdeclast %xmm0,%xmm7,%xmm7
1433 vpxor 64(%rbp),%xmm6,%xmm6
1434 vaesdeclast %xmm0,%xmm8,%xmm8
1435 vpxor 80(%rbp),%xmm7,%xmm7
1436 vmovdqa %xmm14,48(%rsp)
1437 vaesdeclast %xmm0,%xmm9,%xmm9
1438 vpxor 96(%rbp),%xmm8,%xmm8
1439 vmovups 32-120(%rsi),%xmm0
1441 vmovups %xmm2,-16(%r8)
1443 vmovdqu 128+0(%rsp),%xmm2
1444 vpxor 112(%rbp),%xmm9,%xmm9
1445 vmovups %xmm3,-16(%r9)
1447 vmovdqu %xmm2,0(%rbp)
1448 vpxor %xmm15,%xmm2,%xmm2
1449 vmovdqu 128+16(%rsp),%xmm3
1450 vmovups %xmm4,-16(%r10)
1452 vmovdqu %xmm3,16(%rbp)
1453 vpxor %xmm15,%xmm3,%xmm3
1454 vmovdqu 128+32(%rsp),%xmm4
1455 vmovups %xmm5,-16(%r11)
1457 vmovdqu %xmm4,32(%rbp)
1458 vpxor %xmm15,%xmm4,%xmm4
1459 vmovdqu 128+48(%rsp),%xmm5
1460 vmovups %xmm6,-16(%r12)
1462 vmovdqu %xmm5,48(%rbp)
1463 vpxor %xmm15,%xmm5,%xmm5
1464 vmovdqu %xmm10,64(%rbp)
1465 vpxor %xmm10,%xmm15,%xmm6
1466 vmovups %xmm7,-16(%r13)
1468 vmovdqu %xmm11,80(%rbp)
1469 vpxor %xmm11,%xmm15,%xmm7
1470 vmovups %xmm8,-16(%r14)
1472 vmovdqu %xmm12,96(%rbp)
1473 vpxor %xmm12,%xmm15,%xmm8
1474 vmovups %xmm9,-16(%r15)
1476 vmovdqu %xmm13,112(%rbp)
1477 vpxor %xmm13,%xmm15,%xmm9
1505 .cfi_def_cfa_register %rsp
1509 .size aesni_multi_cbc_decrypt_avx,.-aesni_multi_cbc_decrypt_avx