5
.globl aesni_multi_cbc_encrypt
6
.type aesni_multi_cbc_encrypt,@function
8
aesni_multi_cbc_encrypt:
11
movl OPENSSL_ia32cap_P+4(%rip),%ecx
13
jnz _avx_cbc_enc_shortcut
48
movdqu -56(%rdi),%xmm2
57
movdqu -16(%rdi),%xmm3
81
movups 16-120(%rsi),%xmm1
83
movups 32-120(%rsi),%xmm0
85
movl 240-120(%rsi),%eax
96
movdqa 32(%rsp),%xmm10
107
.byte 102,15,56,220,209
108
prefetcht0 31(%r8,%rbx,1)
109
prefetcht0 31(%r9,%rbx,1)
110
.byte 102,15,56,220,217
111
prefetcht0 31(%r10,%rbx,1)
112
prefetcht0 31(%r10,%rbx,1)
113
.byte 102,15,56,220,225
114
.byte 102,15,56,220,233
115
movups 48-120(%rsi),%xmm1
117
.byte 102,15,56,220,208
118
.byte 102,15,56,220,216
119
.byte 102,15,56,220,224
122
.byte 102,15,56,220,232
123
movups -56(%rsi),%xmm0
125
.byte 102,15,56,220,209
126
.byte 102,15,56,220,217
127
.byte 102,15,56,220,225
130
.byte 102,15,56,220,233
131
movups -40(%rsi),%xmm1
133
.byte 102,15,56,220,208
134
.byte 102,15,56,220,216
135
.byte 102,15,56,220,224
138
.byte 102,15,56,220,232
139
movups -24(%rsi),%xmm0
141
.byte 102,15,56,220,209
142
.byte 102,15,56,220,217
143
.byte 102,15,56,220,225
146
.byte 102,15,56,220,233
147
movups -8(%rsi),%xmm1
149
.byte 102,15,56,220,208
150
prefetcht0 15(%r12,%rbx,1)
151
prefetcht0 15(%r13,%rbx,1)
152
.byte 102,15,56,220,216
153
prefetcht0 15(%r14,%rbx,1)
154
prefetcht0 15(%r15,%rbx,1)
155
.byte 102,15,56,220,224
156
.byte 102,15,56,220,232
157
movups 128-120(%rsi),%xmm0
160
.byte 102,15,56,220,209
161
pcmpgtd %xmm12,%xmm11
162
movdqu -120(%rsi),%xmm12
163
.byte 102,15,56,220,217
165
movdqa %xmm10,32(%rsp)
166
.byte 102,15,56,220,225
167
.byte 102,15,56,220,233
168
movups 144-120(%rsi),%xmm1
172
.byte 102,15,56,220,208
173
.byte 102,15,56,220,216
174
.byte 102,15,56,220,224
175
.byte 102,15,56,220,232
176
movups 160-120(%rsi),%xmm0
180
.byte 102,15,56,220,209
181
.byte 102,15,56,220,217
182
.byte 102,15,56,220,225
183
.byte 102,15,56,220,233
184
movups 176-120(%rsi),%xmm1
186
.byte 102,15,56,220,208
187
.byte 102,15,56,220,216
188
.byte 102,15,56,220,224
189
.byte 102,15,56,220,232
190
movups 192-120(%rsi),%xmm0
194
.byte 102,15,56,220,209
195
.byte 102,15,56,220,217
196
.byte 102,15,56,220,225
197
.byte 102,15,56,220,233
198
movups 208-120(%rsi),%xmm1
200
.byte 102,15,56,220,208
201
.byte 102,15,56,220,216
202
.byte 102,15,56,220,224
203
.byte 102,15,56,220,232
204
movups 224-120(%rsi),%xmm0
209
.byte 102,15,56,220,209
210
.byte 102,15,56,220,217
211
.byte 102,15,56,220,225
212
.byte 102,15,56,220,233
213
movdqu (%r8,%rbx,1),%xmm6
214
movdqu 16-120(%rsi),%xmm1
216
.byte 102,15,56,221,208
217
movdqu (%r9,%rbx,1),%xmm7
219
.byte 102,15,56,221,216
220
movdqu (%r10,%rbx,1),%xmm8
222
.byte 102,15,56,221,224
223
movdqu (%r11,%rbx,1),%xmm9
225
.byte 102,15,56,221,232
226
movdqu 32-120(%rsi),%xmm0
229
movups %xmm2,-16(%r12,%rbx,1)
231
movups %xmm3,-16(%r13,%rbx,1)
233
movups %xmm4,-16(%r14,%rbx,1)
235
movups %xmm5,-16(%r15,%rbx,1)
255
jnz .Lenc4x_loop_grande
267
.size aesni_multi_cbc_encrypt,.-aesni_multi_cbc_encrypt
269
.globl aesni_multi_cbc_decrypt
270
.type aesni_multi_cbc_decrypt,@function
272
aesni_multi_cbc_decrypt:
275
movl OPENSSL_ia32cap_P+4(%rip),%ecx
276
testl $268435456,%ecx
277
jnz _avx_cbc_dec_shortcut
312
movdqu -56(%rdi),%xmm6
321
movdqu -16(%rdi),%xmm7
330
movdqu 24(%rdi),%xmm8
339
movdqu 64(%rdi),%xmm9
345
movups 16-120(%rsi),%xmm1
346
movups 32-120(%rsi),%xmm0
347
movl 240-120(%rsi),%eax
356
movdqa 32(%rsp),%xmm10
367
.byte 102,15,56,222,209
368
prefetcht0 31(%r8,%rbx,1)
369
prefetcht0 31(%r9,%rbx,1)
370
.byte 102,15,56,222,217
371
prefetcht0 31(%r10,%rbx,1)
372
prefetcht0 31(%r11,%rbx,1)
373
.byte 102,15,56,222,225
374
.byte 102,15,56,222,233
375
movups 48-120(%rsi),%xmm1
377
.byte 102,15,56,222,208
378
.byte 102,15,56,222,216
379
.byte 102,15,56,222,224
382
.byte 102,15,56,222,232
383
movups -56(%rsi),%xmm0
385
.byte 102,15,56,222,209
386
.byte 102,15,56,222,217
387
.byte 102,15,56,222,225
390
.byte 102,15,56,222,233
391
movups -40(%rsi),%xmm1
393
.byte 102,15,56,222,208
394
.byte 102,15,56,222,216
395
.byte 102,15,56,222,224
398
.byte 102,15,56,222,232
399
movups -24(%rsi),%xmm0
401
.byte 102,15,56,222,209
402
.byte 102,15,56,222,217
403
.byte 102,15,56,222,225
406
.byte 102,15,56,222,233
407
movups -8(%rsi),%xmm1
409
.byte 102,15,56,222,208
410
prefetcht0 15(%r12,%rbx,1)
411
prefetcht0 15(%r13,%rbx,1)
412
.byte 102,15,56,222,216
413
prefetcht0 15(%r14,%rbx,1)
414
prefetcht0 15(%r15,%rbx,1)
415
.byte 102,15,56,222,224
416
.byte 102,15,56,222,232
417
movups 128-120(%rsi),%xmm0
420
.byte 102,15,56,222,209
421
pcmpgtd %xmm12,%xmm11
422
movdqu -120(%rsi),%xmm12
423
.byte 102,15,56,222,217
425
movdqa %xmm10,32(%rsp)
426
.byte 102,15,56,222,225
427
.byte 102,15,56,222,233
428
movups 144-120(%rsi),%xmm1
432
.byte 102,15,56,222,208
433
.byte 102,15,56,222,216
434
.byte 102,15,56,222,224
435
.byte 102,15,56,222,232
436
movups 160-120(%rsi),%xmm0
440
.byte 102,15,56,222,209
441
.byte 102,15,56,222,217
442
.byte 102,15,56,222,225
443
.byte 102,15,56,222,233
444
movups 176-120(%rsi),%xmm1
446
.byte 102,15,56,222,208
447
.byte 102,15,56,222,216
448
.byte 102,15,56,222,224
449
.byte 102,15,56,222,232
450
movups 192-120(%rsi),%xmm0
454
.byte 102,15,56,222,209
455
.byte 102,15,56,222,217
456
.byte 102,15,56,222,225
457
.byte 102,15,56,222,233
458
movups 208-120(%rsi),%xmm1
460
.byte 102,15,56,222,208
461
.byte 102,15,56,222,216
462
.byte 102,15,56,222,224
463
.byte 102,15,56,222,232
464
movups 224-120(%rsi),%xmm0
469
.byte 102,15,56,222,209
470
.byte 102,15,56,222,217
471
.byte 102,15,56,222,225
474
.byte 102,15,56,222,233
475
movdqu 16-120(%rsi),%xmm1
478
movdqu 32-120(%rsi),%xmm0
480
.byte 102,15,56,223,214
481
.byte 102,15,56,223,223
482
movdqu -16(%r8,%rbx,1),%xmm6
483
movdqu -16(%r9,%rbx,1),%xmm7
484
.byte 102,65,15,56,223,224
485
.byte 102,65,15,56,223,233
486
movdqu -16(%r10,%rbx,1),%xmm8
487
movdqu -16(%r11,%rbx,1),%xmm9
489
movups %xmm2,-16(%r12,%rbx,1)
490
movdqu (%r8,%rbx,1),%xmm2
491
movups %xmm3,-16(%r13,%rbx,1)
492
movdqu (%r9,%rbx,1),%xmm3
494
movups %xmm4,-16(%r14,%rbx,1)
495
movdqu (%r10,%rbx,1),%xmm4
497
movups %xmm5,-16(%r15,%rbx,1)
498
movdqu (%r11,%rbx,1),%xmm5
510
jnz .Ldec4x_loop_grande
522
.size aesni_multi_cbc_decrypt,.-aesni_multi_cbc_decrypt
523
.type aesni_multi_cbc_encrypt_avx,@function
525
aesni_multi_cbc_encrypt_avx:
526
_avx_cbc_enc_shortcut:
548
vmovdqu (%rsi),%xmm15
562
vmovdqu -136(%rdi),%xmm2
573
vmovdqu -96(%rdi),%xmm3
584
vmovdqu -56(%rdi),%xmm4
595
vmovdqu -16(%rdi),%xmm5
606
vmovdqu 24(%rdi),%xmm6
617
vmovdqu 64(%rdi),%xmm7
628
vmovdqu 104(%rdi),%xmm8
639
vmovdqu 144(%rdi),%xmm9
647
vmovups 16-120(%rsi),%xmm1
648
vmovups 32-120(%rsi),%xmm0
649
movl 240-120(%rsi),%eax
651
vpxor (%r8),%xmm15,%xmm10
653
vpxor (%r9),%xmm15,%xmm11
654
vpxor (%r10),%xmm15,%xmm12
655
vpxor (%r11),%xmm15,%xmm13
656
vpxor %xmm10,%xmm2,%xmm2
657
vpxor (%r12),%xmm15,%xmm10
658
vpxor %xmm11,%xmm3,%xmm3
659
vpxor (%r13),%xmm15,%xmm11
660
vpxor %xmm12,%xmm4,%xmm4
661
vpxor (%r14),%xmm15,%xmm12
662
vpxor %xmm13,%xmm5,%xmm5
663
vpxor (%r15),%xmm15,%xmm13
664
vpxor %xmm10,%xmm6,%xmm6
666
vpxor %xmm11,%xmm7,%xmm7
667
vpxor %xmm12,%xmm8,%xmm8
668
vpxor %xmm13,%xmm9,%xmm9
673
vaesenc %xmm1,%xmm2,%xmm2
675
vaesenc %xmm1,%xmm3,%xmm3
677
vaesenc %xmm1,%xmm4,%xmm4
678
vaesenc %xmm1,%xmm5,%xmm5
679
leaq (%r8,%rbx,1),%rbx
681
vaesenc %xmm1,%xmm6,%xmm6
683
vaesenc %xmm1,%xmm7,%xmm7
685
vaesenc %xmm1,%xmm8,%xmm8
686
vpxor 16(%r8),%xmm15,%xmm10
688
vaesenc %xmm1,%xmm9,%xmm9
689
vmovups -72(%rsi),%xmm1
690
leaq 16(%r8,%rbx,1),%r8
691
vmovdqu %xmm10,0(%rbp)
692
vaesenc %xmm0,%xmm2,%xmm2
695
vaesenc %xmm0,%xmm3,%xmm3
697
vaesenc %xmm0,%xmm4,%xmm4
698
vaesenc %xmm0,%xmm5,%xmm5
699
leaq (%r9,%rbx,1),%rbx
701
vaesenc %xmm0,%xmm6,%xmm6
703
vaesenc %xmm0,%xmm7,%xmm7
705
vaesenc %xmm0,%xmm8,%xmm8
706
vpxor 16(%r9),%xmm15,%xmm11
708
vaesenc %xmm0,%xmm9,%xmm9
709
vmovups -56(%rsi),%xmm0
710
leaq 16(%r9,%rbx,1),%r9
711
vmovdqu %xmm11,16(%rbp)
712
vaesenc %xmm1,%xmm2,%xmm2
714
movq 64+16(%rsp),%rbx
715
vaesenc %xmm1,%xmm3,%xmm3
717
vaesenc %xmm1,%xmm4,%xmm4
719
vaesenc %xmm1,%xmm5,%xmm5
720
leaq (%r10,%rbx,1),%rbx
722
vaesenc %xmm1,%xmm6,%xmm6
724
vaesenc %xmm1,%xmm7,%xmm7
726
vaesenc %xmm1,%xmm8,%xmm8
727
vpxor 16(%r10),%xmm15,%xmm12
728
movq %rbx,64+16(%rsp)
729
vaesenc %xmm1,%xmm9,%xmm9
730
vmovups -40(%rsi),%xmm1
731
leaq 16(%r10,%rbx,1),%r10
732
vmovdqu %xmm12,32(%rbp)
733
vaesenc %xmm0,%xmm2,%xmm2
734
cmpl 32+12(%rsp),%ecx
735
movq 64+24(%rsp),%rbx
736
vaesenc %xmm0,%xmm3,%xmm3
738
vaesenc %xmm0,%xmm4,%xmm4
740
vaesenc %xmm0,%xmm5,%xmm5
741
leaq (%r11,%rbx,1),%rbx
743
vaesenc %xmm0,%xmm6,%xmm6
745
vaesenc %xmm0,%xmm7,%xmm7
747
vaesenc %xmm0,%xmm8,%xmm8
748
vpxor 16(%r11),%xmm15,%xmm13
749
movq %rbx,64+24(%rsp)
750
vaesenc %xmm0,%xmm9,%xmm9
751
vmovups -24(%rsi),%xmm0
752
leaq 16(%r11,%rbx,1),%r11
753
vmovdqu %xmm13,48(%rbp)
754
vaesenc %xmm1,%xmm2,%xmm2
755
cmpl 32+16(%rsp),%ecx
756
movq 64+32(%rsp),%rbx
757
vaesenc %xmm1,%xmm3,%xmm3
759
vaesenc %xmm1,%xmm4,%xmm4
761
vaesenc %xmm1,%xmm5,%xmm5
762
leaq (%r12,%rbx,1),%rbx
764
vaesenc %xmm1,%xmm6,%xmm6
766
vaesenc %xmm1,%xmm7,%xmm7
768
vaesenc %xmm1,%xmm8,%xmm8
769
vpxor 16(%r12),%xmm15,%xmm10
770
movq %rbx,64+32(%rsp)
771
vaesenc %xmm1,%xmm9,%xmm9
772
vmovups -8(%rsi),%xmm1
773
leaq 16(%r12,%rbx,1),%r12
774
vaesenc %xmm0,%xmm2,%xmm2
775
cmpl 32+20(%rsp),%ecx
776
movq 64+40(%rsp),%rbx
777
vaesenc %xmm0,%xmm3,%xmm3
779
vaesenc %xmm0,%xmm4,%xmm4
781
vaesenc %xmm0,%xmm5,%xmm5
782
leaq (%rbx,%r13,1),%rbx
784
vaesenc %xmm0,%xmm6,%xmm6
786
vaesenc %xmm0,%xmm7,%xmm7
788
vaesenc %xmm0,%xmm8,%xmm8
789
vpxor 16(%r13),%xmm15,%xmm11
790
movq %rbx,64+40(%rsp)
791
vaesenc %xmm0,%xmm9,%xmm9
792
vmovups 8(%rsi),%xmm0
793
leaq 16(%r13,%rbx,1),%r13
794
vaesenc %xmm1,%xmm2,%xmm2
795
cmpl 32+24(%rsp),%ecx
796
movq 64+48(%rsp),%rbx
797
vaesenc %xmm1,%xmm3,%xmm3
799
vaesenc %xmm1,%xmm4,%xmm4
801
vaesenc %xmm1,%xmm5,%xmm5
802
leaq (%r14,%rbx,1),%rbx
804
vaesenc %xmm1,%xmm6,%xmm6
806
vaesenc %xmm1,%xmm7,%xmm7
808
vaesenc %xmm1,%xmm8,%xmm8
809
vpxor 16(%r14),%xmm15,%xmm12
810
movq %rbx,64+48(%rsp)
811
vaesenc %xmm1,%xmm9,%xmm9
812
vmovups 24(%rsi),%xmm1
813
leaq 16(%r14,%rbx,1),%r14
814
vaesenc %xmm0,%xmm2,%xmm2
815
cmpl 32+28(%rsp),%ecx
816
movq 64+56(%rsp),%rbx
817
vaesenc %xmm0,%xmm3,%xmm3
819
vaesenc %xmm0,%xmm4,%xmm4
821
vaesenc %xmm0,%xmm5,%xmm5
822
leaq (%r15,%rbx,1),%rbx
824
vaesenc %xmm0,%xmm6,%xmm6
826
vaesenc %xmm0,%xmm7,%xmm7
828
vaesenc %xmm0,%xmm8,%xmm8
829
vpxor 16(%r15),%xmm15,%xmm13
830
movq %rbx,64+56(%rsp)
831
vaesenc %xmm0,%xmm9,%xmm9
832
vmovups 40(%rsi),%xmm0
833
leaq 16(%r15,%rbx,1),%r15
834
vmovdqu 32(%rsp),%xmm14
840
vaesenc %xmm1,%xmm2,%xmm2
841
vaesenc %xmm1,%xmm3,%xmm3
842
vaesenc %xmm1,%xmm4,%xmm4
843
vaesenc %xmm1,%xmm5,%xmm5
844
vaesenc %xmm1,%xmm6,%xmm6
845
vaesenc %xmm1,%xmm7,%xmm7
846
vaesenc %xmm1,%xmm8,%xmm8
847
vaesenc %xmm1,%xmm9,%xmm9
848
vmovups 176-120(%rsi),%xmm1
850
vaesenc %xmm0,%xmm2,%xmm2
851
vaesenc %xmm0,%xmm3,%xmm3
852
vaesenc %xmm0,%xmm4,%xmm4
853
vaesenc %xmm0,%xmm5,%xmm5
854
vaesenc %xmm0,%xmm6,%xmm6
855
vaesenc %xmm0,%xmm7,%xmm7
856
vaesenc %xmm0,%xmm8,%xmm8
857
vaesenc %xmm0,%xmm9,%xmm9
858
vmovups 192-120(%rsi),%xmm0
861
vaesenc %xmm1,%xmm2,%xmm2
862
vaesenc %xmm1,%xmm3,%xmm3
863
vaesenc %xmm1,%xmm4,%xmm4
864
vaesenc %xmm1,%xmm5,%xmm5
865
vaesenc %xmm1,%xmm6,%xmm6
866
vaesenc %xmm1,%xmm7,%xmm7
867
vaesenc %xmm1,%xmm8,%xmm8
868
vaesenc %xmm1,%xmm9,%xmm9
869
vmovups 208-120(%rsi),%xmm1
871
vaesenc %xmm0,%xmm2,%xmm2
872
vaesenc %xmm0,%xmm3,%xmm3
873
vaesenc %xmm0,%xmm4,%xmm4
874
vaesenc %xmm0,%xmm5,%xmm5
875
vaesenc %xmm0,%xmm6,%xmm6
876
vaesenc %xmm0,%xmm7,%xmm7
877
vaesenc %xmm0,%xmm8,%xmm8
878
vaesenc %xmm0,%xmm9,%xmm9
879
vmovups 224-120(%rsi),%xmm0
882
vaesenc %xmm1,%xmm2,%xmm2
883
vpxor %xmm15,%xmm15,%xmm15
884
vaesenc %xmm1,%xmm3,%xmm3
885
vaesenc %xmm1,%xmm4,%xmm4
886
vpcmpgtd %xmm15,%xmm14,%xmm15
887
vaesenc %xmm1,%xmm5,%xmm5
888
vaesenc %xmm1,%xmm6,%xmm6
889
vpaddd %xmm14,%xmm15,%xmm15
890
vmovdqu 48(%rsp),%xmm14
891
vaesenc %xmm1,%xmm7,%xmm7
893
vaesenc %xmm1,%xmm8,%xmm8
894
vaesenc %xmm1,%xmm9,%xmm9
895
vmovups 16-120(%rsi),%xmm1
897
vaesenclast %xmm0,%xmm2,%xmm2
898
vmovdqa %xmm15,32(%rsp)
899
vpxor %xmm15,%xmm15,%xmm15
900
vaesenclast %xmm0,%xmm3,%xmm3
901
vaesenclast %xmm0,%xmm4,%xmm4
902
vpcmpgtd %xmm15,%xmm14,%xmm15
903
vaesenclast %xmm0,%xmm5,%xmm5
904
vaesenclast %xmm0,%xmm6,%xmm6
905
vpaddd %xmm15,%xmm14,%xmm14
906
vmovdqu -120(%rsi),%xmm15
907
vaesenclast %xmm0,%xmm7,%xmm7
908
vaesenclast %xmm0,%xmm8,%xmm8
909
vmovdqa %xmm14,48(%rsp)
910
vaesenclast %xmm0,%xmm9,%xmm9
911
vmovups 32-120(%rsi),%xmm0
913
vmovups %xmm2,-16(%r8)
915
vpxor 0(%rbp),%xmm2,%xmm2
916
vmovups %xmm3,-16(%r9)
918
vpxor 16(%rbp),%xmm3,%xmm3
919
vmovups %xmm4,-16(%r10)
921
vpxor 32(%rbp),%xmm4,%xmm4
922
vmovups %xmm5,-16(%r11)
924
vpxor 48(%rbp),%xmm5,%xmm5
925
vmovups %xmm6,-16(%r12)
927
vpxor %xmm10,%xmm6,%xmm6
928
vmovups %xmm7,-16(%r13)
930
vpxor %xmm11,%xmm7,%xmm7
931
vmovups %xmm8,-16(%r14)
933
vpxor %xmm12,%xmm8,%xmm8
934
vmovups %xmm9,-16(%r15)
936
vpxor %xmm13,%xmm9,%xmm9
958
.size aesni_multi_cbc_encrypt_avx,.-aesni_multi_cbc_encrypt_avx
960
.type aesni_multi_cbc_decrypt_avx,@function
962
aesni_multi_cbc_decrypt_avx:
963
_avx_cbc_dec_shortcut:
987
vmovdqu (%rsi),%xmm15
1001
vmovdqu -136(%rdi),%xmm2
1006
vmovdqu %xmm2,192(%rsp)
1007
movl -104(%rdi),%ecx
1010
movq -112(%rdi),%rbp
1013
vmovdqu -96(%rdi),%xmm3
1018
vmovdqu %xmm3,208(%rsp)
1025
vmovdqu -56(%rdi),%xmm4
1030
vmovdqu %xmm4,224(%rsp)
1037
vmovdqu -16(%rdi),%xmm5
1042
vmovdqu %xmm5,240(%rsp)
1049
vmovdqu 24(%rdi),%xmm6
1054
vmovdqu %xmm6,256(%rsp)
1061
vmovdqu 64(%rdi),%xmm7
1066
vmovdqu %xmm7,272(%rsp)
1073
vmovdqu 104(%rdi),%xmm8
1078
vmovdqu %xmm8,288(%rsp)
1085
vmovdqu 144(%rdi),%xmm9
1090
vmovdqu %xmm9,304(%rsp)
1094
vmovups 16-120(%rsi),%xmm1
1095
vmovups 32-120(%rsi),%xmm0
1096
movl 240-120(%rsi),%eax
1097
leaq 192+128(%rsp),%rbp
1101
vmovdqu (%r10),%xmm4
1102
vmovdqu (%r11),%xmm5
1103
vmovdqu (%r12),%xmm6
1104
vmovdqu (%r13),%xmm7
1105
vmovdqu (%r14),%xmm8
1106
vmovdqu (%r15),%xmm9
1107
vmovdqu %xmm2,0(%rbp)
1108
vpxor %xmm15,%xmm2,%xmm2
1109
vmovdqu %xmm3,16(%rbp)
1110
vpxor %xmm15,%xmm3,%xmm3
1111
vmovdqu %xmm4,32(%rbp)
1112
vpxor %xmm15,%xmm4,%xmm4
1113
vmovdqu %xmm5,48(%rbp)
1114
vpxor %xmm15,%xmm5,%xmm5
1115
vmovdqu %xmm6,64(%rbp)
1116
vpxor %xmm15,%xmm6,%xmm6
1117
vmovdqu %xmm7,80(%rbp)
1118
vpxor %xmm15,%xmm7,%xmm7
1119
vmovdqu %xmm8,96(%rbp)
1120
vpxor %xmm15,%xmm8,%xmm8
1121
vmovdqu %xmm9,112(%rbp)
1122
vpxor %xmm15,%xmm9,%xmm9
1129
vaesdec %xmm1,%xmm2,%xmm2
1130
cmpl 32+0(%rsp),%ecx
1131
vaesdec %xmm1,%xmm3,%xmm3
1133
vaesdec %xmm1,%xmm4,%xmm4
1134
vaesdec %xmm1,%xmm5,%xmm5
1135
leaq (%r8,%rbx,1),%rbx
1137
vaesdec %xmm1,%xmm6,%xmm6
1139
vaesdec %xmm1,%xmm7,%xmm7
1141
vaesdec %xmm1,%xmm8,%xmm8
1142
vmovdqu 16(%r8),%xmm10
1143
movq %rbx,64+0(%rsp)
1144
vaesdec %xmm1,%xmm9,%xmm9
1145
vmovups -72(%rsi),%xmm1
1146
leaq 16(%r8,%rbx,1),%r8
1147
vmovdqu %xmm10,128(%rsp)
1148
vaesdec %xmm0,%xmm2,%xmm2
1149
cmpl 32+4(%rsp),%ecx
1150
movq 64+8(%rsp),%rbx
1151
vaesdec %xmm0,%xmm3,%xmm3
1153
vaesdec %xmm0,%xmm4,%xmm4
1154
vaesdec %xmm0,%xmm5,%xmm5
1155
leaq (%r9,%rbx,1),%rbx
1157
vaesdec %xmm0,%xmm6,%xmm6
1159
vaesdec %xmm0,%xmm7,%xmm7
1161
vaesdec %xmm0,%xmm8,%xmm8
1162
vmovdqu 16(%r9),%xmm11
1163
movq %rbx,64+8(%rsp)
1164
vaesdec %xmm0,%xmm9,%xmm9
1165
vmovups -56(%rsi),%xmm0
1166
leaq 16(%r9,%rbx,1),%r9
1167
vmovdqu %xmm11,144(%rsp)
1168
vaesdec %xmm1,%xmm2,%xmm2
1169
cmpl 32+8(%rsp),%ecx
1170
movq 64+16(%rsp),%rbx
1171
vaesdec %xmm1,%xmm3,%xmm3
1173
vaesdec %xmm1,%xmm4,%xmm4
1175
vaesdec %xmm1,%xmm5,%xmm5
1176
leaq (%r10,%rbx,1),%rbx
1178
vaesdec %xmm1,%xmm6,%xmm6
1180
vaesdec %xmm1,%xmm7,%xmm7
1182
vaesdec %xmm1,%xmm8,%xmm8
1183
vmovdqu 16(%r10),%xmm12
1184
movq %rbx,64+16(%rsp)
1185
vaesdec %xmm1,%xmm9,%xmm9
1186
vmovups -40(%rsi),%xmm1
1187
leaq 16(%r10,%rbx,1),%r10
1188
vmovdqu %xmm12,160(%rsp)
1189
vaesdec %xmm0,%xmm2,%xmm2
1190
cmpl 32+12(%rsp),%ecx
1191
movq 64+24(%rsp),%rbx
1192
vaesdec %xmm0,%xmm3,%xmm3
1194
vaesdec %xmm0,%xmm4,%xmm4
1196
vaesdec %xmm0,%xmm5,%xmm5
1197
leaq (%r11,%rbx,1),%rbx
1199
vaesdec %xmm0,%xmm6,%xmm6
1201
vaesdec %xmm0,%xmm7,%xmm7
1203
vaesdec %xmm0,%xmm8,%xmm8
1204
vmovdqu 16(%r11),%xmm13
1205
movq %rbx,64+24(%rsp)
1206
vaesdec %xmm0,%xmm9,%xmm9
1207
vmovups -24(%rsi),%xmm0
1208
leaq 16(%r11,%rbx,1),%r11
1209
vmovdqu %xmm13,176(%rsp)
1210
vaesdec %xmm1,%xmm2,%xmm2
1211
cmpl 32+16(%rsp),%ecx
1212
movq 64+32(%rsp),%rbx
1213
vaesdec %xmm1,%xmm3,%xmm3
1215
vaesdec %xmm1,%xmm4,%xmm4
1217
vaesdec %xmm1,%xmm5,%xmm5
1218
leaq (%r12,%rbx,1),%rbx
1220
vaesdec %xmm1,%xmm6,%xmm6
1222
vaesdec %xmm1,%xmm7,%xmm7
1224
vaesdec %xmm1,%xmm8,%xmm8
1225
vmovdqu 16(%r12),%xmm10
1226
movq %rbx,64+32(%rsp)
1227
vaesdec %xmm1,%xmm9,%xmm9
1228
vmovups -8(%rsi),%xmm1
1229
leaq 16(%r12,%rbx,1),%r12
1230
vaesdec %xmm0,%xmm2,%xmm2
1231
cmpl 32+20(%rsp),%ecx
1232
movq 64+40(%rsp),%rbx
1233
vaesdec %xmm0,%xmm3,%xmm3
1235
vaesdec %xmm0,%xmm4,%xmm4
1237
vaesdec %xmm0,%xmm5,%xmm5
1238
leaq (%rbx,%r13,1),%rbx
1240
vaesdec %xmm0,%xmm6,%xmm6
1242
vaesdec %xmm0,%xmm7,%xmm7
1244
vaesdec %xmm0,%xmm8,%xmm8
1245
vmovdqu 16(%r13),%xmm11
1246
movq %rbx,64+40(%rsp)
1247
vaesdec %xmm0,%xmm9,%xmm9
1248
vmovups 8(%rsi),%xmm0
1249
leaq 16(%r13,%rbx,1),%r13
1250
vaesdec %xmm1,%xmm2,%xmm2
1251
cmpl 32+24(%rsp),%ecx
1252
movq 64+48(%rsp),%rbx
1253
vaesdec %xmm1,%xmm3,%xmm3
1255
vaesdec %xmm1,%xmm4,%xmm4
1257
vaesdec %xmm1,%xmm5,%xmm5
1258
leaq (%r14,%rbx,1),%rbx
1260
vaesdec %xmm1,%xmm6,%xmm6
1262
vaesdec %xmm1,%xmm7,%xmm7
1264
vaesdec %xmm1,%xmm8,%xmm8
1265
vmovdqu 16(%r14),%xmm12
1266
movq %rbx,64+48(%rsp)
1267
vaesdec %xmm1,%xmm9,%xmm9
1268
vmovups 24(%rsi),%xmm1
1269
leaq 16(%r14,%rbx,1),%r14
1270
vaesdec %xmm0,%xmm2,%xmm2
1271
cmpl 32+28(%rsp),%ecx
1272
movq 64+56(%rsp),%rbx
1273
vaesdec %xmm0,%xmm3,%xmm3
1275
vaesdec %xmm0,%xmm4,%xmm4
1277
vaesdec %xmm0,%xmm5,%xmm5
1278
leaq (%r15,%rbx,1),%rbx
1280
vaesdec %xmm0,%xmm6,%xmm6
1282
vaesdec %xmm0,%xmm7,%xmm7
1284
vaesdec %xmm0,%xmm8,%xmm8
1285
vmovdqu 16(%r15),%xmm13
1286
movq %rbx,64+56(%rsp)
1287
vaesdec %xmm0,%xmm9,%xmm9
1288
vmovups 40(%rsi),%xmm0
1289
leaq 16(%r15,%rbx,1),%r15
1290
vmovdqu 32(%rsp),%xmm14
1296
vaesdec %xmm1,%xmm2,%xmm2
1297
vaesdec %xmm1,%xmm3,%xmm3
1298
vaesdec %xmm1,%xmm4,%xmm4
1299
vaesdec %xmm1,%xmm5,%xmm5
1300
vaesdec %xmm1,%xmm6,%xmm6
1301
vaesdec %xmm1,%xmm7,%xmm7
1302
vaesdec %xmm1,%xmm8,%xmm8
1303
vaesdec %xmm1,%xmm9,%xmm9
1304
vmovups 176-120(%rsi),%xmm1
1306
vaesdec %xmm0,%xmm2,%xmm2
1307
vaesdec %xmm0,%xmm3,%xmm3
1308
vaesdec %xmm0,%xmm4,%xmm4
1309
vaesdec %xmm0,%xmm5,%xmm5
1310
vaesdec %xmm0,%xmm6,%xmm6
1311
vaesdec %xmm0,%xmm7,%xmm7
1312
vaesdec %xmm0,%xmm8,%xmm8
1313
vaesdec %xmm0,%xmm9,%xmm9
1314
vmovups 192-120(%rsi),%xmm0
1317
vaesdec %xmm1,%xmm2,%xmm2
1318
vaesdec %xmm1,%xmm3,%xmm3
1319
vaesdec %xmm1,%xmm4,%xmm4
1320
vaesdec %xmm1,%xmm5,%xmm5
1321
vaesdec %xmm1,%xmm6,%xmm6
1322
vaesdec %xmm1,%xmm7,%xmm7
1323
vaesdec %xmm1,%xmm8,%xmm8
1324
vaesdec %xmm1,%xmm9,%xmm9
1325
vmovups 208-120(%rsi),%xmm1
1327
vaesdec %xmm0,%xmm2,%xmm2
1328
vaesdec %xmm0,%xmm3,%xmm3
1329
vaesdec %xmm0,%xmm4,%xmm4
1330
vaesdec %xmm0,%xmm5,%xmm5
1331
vaesdec %xmm0,%xmm6,%xmm6
1332
vaesdec %xmm0,%xmm7,%xmm7
1333
vaesdec %xmm0,%xmm8,%xmm8
1334
vaesdec %xmm0,%xmm9,%xmm9
1335
vmovups 224-120(%rsi),%xmm0
1338
vaesdec %xmm1,%xmm2,%xmm2
1339
vpxor %xmm15,%xmm15,%xmm15
1340
vaesdec %xmm1,%xmm3,%xmm3
1341
vaesdec %xmm1,%xmm4,%xmm4
1342
vpcmpgtd %xmm15,%xmm14,%xmm15
1343
vaesdec %xmm1,%xmm5,%xmm5
1344
vaesdec %xmm1,%xmm6,%xmm6
1345
vpaddd %xmm14,%xmm15,%xmm15
1346
vmovdqu 48(%rsp),%xmm14
1347
vaesdec %xmm1,%xmm7,%xmm7
1349
vaesdec %xmm1,%xmm8,%xmm8
1350
vaesdec %xmm1,%xmm9,%xmm9
1351
vmovups 16-120(%rsi),%xmm1
1353
vaesdeclast %xmm0,%xmm2,%xmm2
1354
vmovdqa %xmm15,32(%rsp)
1355
vpxor %xmm15,%xmm15,%xmm15
1356
vaesdeclast %xmm0,%xmm3,%xmm3
1357
vpxor 0(%rbp),%xmm2,%xmm2
1358
vaesdeclast %xmm0,%xmm4,%xmm4
1359
vpxor 16(%rbp),%xmm3,%xmm3
1360
vpcmpgtd %xmm15,%xmm14,%xmm15
1361
vaesdeclast %xmm0,%xmm5,%xmm5
1362
vpxor 32(%rbp),%xmm4,%xmm4
1363
vaesdeclast %xmm0,%xmm6,%xmm6
1364
vpxor 48(%rbp),%xmm5,%xmm5
1365
vpaddd %xmm15,%xmm14,%xmm14
1366
vmovdqu -120(%rsi),%xmm15
1367
vaesdeclast %xmm0,%xmm7,%xmm7
1368
vpxor 64(%rbp),%xmm6,%xmm6
1369
vaesdeclast %xmm0,%xmm8,%xmm8
1370
vpxor 80(%rbp),%xmm7,%xmm7
1371
vmovdqa %xmm14,48(%rsp)
1372
vaesdeclast %xmm0,%xmm9,%xmm9
1373
vpxor 96(%rbp),%xmm8,%xmm8
1374
vmovups 32-120(%rsi),%xmm0
1376
vmovups %xmm2,-16(%r8)
1378
vmovdqu 128+0(%rsp),%xmm2
1379
vpxor 112(%rbp),%xmm9,%xmm9
1380
vmovups %xmm3,-16(%r9)
1382
vmovdqu %xmm2,0(%rbp)
1383
vpxor %xmm15,%xmm2,%xmm2
1384
vmovdqu 128+16(%rsp),%xmm3
1385
vmovups %xmm4,-16(%r10)
1387
vmovdqu %xmm3,16(%rbp)
1388
vpxor %xmm15,%xmm3,%xmm3
1389
vmovdqu 128+32(%rsp),%xmm4
1390
vmovups %xmm5,-16(%r11)
1392
vmovdqu %xmm4,32(%rbp)
1393
vpxor %xmm15,%xmm4,%xmm4
1394
vmovdqu 128+48(%rsp),%xmm5
1395
vmovups %xmm6,-16(%r12)
1397
vmovdqu %xmm5,48(%rbp)
1398
vpxor %xmm15,%xmm5,%xmm5
1399
vmovdqu %xmm10,64(%rbp)
1400
vpxor %xmm10,%xmm15,%xmm6
1401
vmovups %xmm7,-16(%r13)
1403
vmovdqu %xmm11,80(%rbp)
1404
vpxor %xmm11,%xmm15,%xmm7
1405
vmovups %xmm8,-16(%r14)
1407
vmovdqu %xmm12,96(%rbp)
1408
vpxor %xmm12,%xmm15,%xmm8
1409
vmovups %xmm9,-16(%r15)
1411
vmovdqu %xmm13,112(%rbp)
1412
vpxor %xmm13,%xmm15,%xmm9
1435
.size aesni_multi_cbc_decrypt_avx,.-aesni_multi_cbc_decrypt_avx