2 /* Do not modify. This file is auto-generated from aesni-x86.pl. */
7 .type aesni_encrypt,@function
10 .L_aesni_encrypt_begin:
21 .byte 102,15,56,220,209
26 .byte 102,15,56,221,209
32 .size aesni_encrypt,.-.L_aesni_encrypt_begin
34 .type aesni_decrypt,@function
37 .L_aesni_decrypt_begin:
48 .byte 102,15,56,222,209
53 .byte 102,15,56,223,209
59 .size aesni_decrypt,.-.L_aesni_decrypt_begin
60 .type _aesni_encrypt2,@function
69 leal 32(%edx,%ecx,1),%edx
73 .byte 102,15,56,220,209
74 .byte 102,15,56,220,217
75 movups (%edx,%ecx,1),%xmm1
77 .byte 102,15,56,220,208
78 .byte 102,15,56,220,216
79 movups -16(%edx,%ecx,1),%xmm0
81 .byte 102,15,56,220,209
82 .byte 102,15,56,220,217
83 .byte 102,15,56,221,208
84 .byte 102,15,56,221,216
86 .size _aesni_encrypt2,.-_aesni_encrypt2
87 .type _aesni_decrypt2,@function
96 leal 32(%edx,%ecx,1),%edx
100 .byte 102,15,56,222,209
101 .byte 102,15,56,222,217
102 movups (%edx,%ecx,1),%xmm1
104 .byte 102,15,56,222,208
105 .byte 102,15,56,222,216
106 movups -16(%edx,%ecx,1),%xmm0
108 .byte 102,15,56,222,209
109 .byte 102,15,56,222,217
110 .byte 102,15,56,223,208
111 .byte 102,15,56,223,216
113 .size _aesni_decrypt2,.-_aesni_decrypt2
114 .type _aesni_encrypt3,@function
119 movups 16(%edx),%xmm1
123 movups 32(%edx),%xmm0
124 leal 32(%edx,%ecx,1),%edx
128 .byte 102,15,56,220,209
129 .byte 102,15,56,220,217
130 .byte 102,15,56,220,225
131 movups (%edx,%ecx,1),%xmm1
133 .byte 102,15,56,220,208
134 .byte 102,15,56,220,216
135 .byte 102,15,56,220,224
136 movups -16(%edx,%ecx,1),%xmm0
138 .byte 102,15,56,220,209
139 .byte 102,15,56,220,217
140 .byte 102,15,56,220,225
141 .byte 102,15,56,221,208
142 .byte 102,15,56,221,216
143 .byte 102,15,56,221,224
145 .size _aesni_encrypt3,.-_aesni_encrypt3
146 .type _aesni_decrypt3,@function
151 movups 16(%edx),%xmm1
155 movups 32(%edx),%xmm0
156 leal 32(%edx,%ecx,1),%edx
160 .byte 102,15,56,222,209
161 .byte 102,15,56,222,217
162 .byte 102,15,56,222,225
163 movups (%edx,%ecx,1),%xmm1
165 .byte 102,15,56,222,208
166 .byte 102,15,56,222,216
167 .byte 102,15,56,222,224
168 movups -16(%edx,%ecx,1),%xmm0
170 .byte 102,15,56,222,209
171 .byte 102,15,56,222,217
172 .byte 102,15,56,222,225
173 .byte 102,15,56,223,208
174 .byte 102,15,56,223,216
175 .byte 102,15,56,223,224
177 .size _aesni_decrypt3,.-_aesni_decrypt3
178 .type _aesni_encrypt4,@function
182 movups 16(%edx),%xmm1
188 movups 32(%edx),%xmm0
189 leal 32(%edx,%ecx,1),%edx
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 (%edx,%ecx,1),%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 -16(%edx,%ecx,1),%xmm0
206 .byte 102,15,56,220,209
207 .byte 102,15,56,220,217
208 .byte 102,15,56,220,225
209 .byte 102,15,56,220,233
210 .byte 102,15,56,221,208
211 .byte 102,15,56,221,216
212 .byte 102,15,56,221,224
213 .byte 102,15,56,221,232
215 .size _aesni_encrypt4,.-_aesni_encrypt4
216 .type _aesni_decrypt4,@function
220 movups 16(%edx),%xmm1
226 movups 32(%edx),%xmm0
227 leal 32(%edx,%ecx,1),%edx
232 .byte 102,15,56,222,209
233 .byte 102,15,56,222,217
234 .byte 102,15,56,222,225
235 .byte 102,15,56,222,233
236 movups (%edx,%ecx,1),%xmm1
238 .byte 102,15,56,222,208
239 .byte 102,15,56,222,216
240 .byte 102,15,56,222,224
241 .byte 102,15,56,222,232
242 movups -16(%edx,%ecx,1),%xmm0
244 .byte 102,15,56,222,209
245 .byte 102,15,56,222,217
246 .byte 102,15,56,222,225
247 .byte 102,15,56,222,233
248 .byte 102,15,56,223,208
249 .byte 102,15,56,223,216
250 .byte 102,15,56,223,224
251 .byte 102,15,56,223,232
253 .size _aesni_decrypt4,.-_aesni_decrypt4
254 .type _aesni_encrypt6,@function
259 movups 16(%edx),%xmm1
263 .byte 102,15,56,220,209
266 .byte 102,15,56,220,217
267 leal 32(%edx,%ecx,1),%edx
269 .byte 102,15,56,220,225
271 movups (%edx,%ecx,1),%xmm0
273 jmp .L008_aesni_encrypt6_inner
276 .byte 102,15,56,220,209
277 .byte 102,15,56,220,217
278 .byte 102,15,56,220,225
279 .L008_aesni_encrypt6_inner:
280 .byte 102,15,56,220,233
281 .byte 102,15,56,220,241
282 .byte 102,15,56,220,249
283 .L_aesni_encrypt6_enter:
284 movups (%edx,%ecx,1),%xmm1
286 .byte 102,15,56,220,208
287 .byte 102,15,56,220,216
288 .byte 102,15,56,220,224
289 .byte 102,15,56,220,232
290 .byte 102,15,56,220,240
291 .byte 102,15,56,220,248
292 movups -16(%edx,%ecx,1),%xmm0
294 .byte 102,15,56,220,209
295 .byte 102,15,56,220,217
296 .byte 102,15,56,220,225
297 .byte 102,15,56,220,233
298 .byte 102,15,56,220,241
299 .byte 102,15,56,220,249
300 .byte 102,15,56,221,208
301 .byte 102,15,56,221,216
302 .byte 102,15,56,221,224
303 .byte 102,15,56,221,232
304 .byte 102,15,56,221,240
305 .byte 102,15,56,221,248
307 .size _aesni_encrypt6,.-_aesni_encrypt6
308 .type _aesni_decrypt6,@function
313 movups 16(%edx),%xmm1
317 .byte 102,15,56,222,209
320 .byte 102,15,56,222,217
321 leal 32(%edx,%ecx,1),%edx
323 .byte 102,15,56,222,225
325 movups (%edx,%ecx,1),%xmm0
327 jmp .L010_aesni_decrypt6_inner
330 .byte 102,15,56,222,209
331 .byte 102,15,56,222,217
332 .byte 102,15,56,222,225
333 .L010_aesni_decrypt6_inner:
334 .byte 102,15,56,222,233
335 .byte 102,15,56,222,241
336 .byte 102,15,56,222,249
337 .L_aesni_decrypt6_enter:
338 movups (%edx,%ecx,1),%xmm1
340 .byte 102,15,56,222,208
341 .byte 102,15,56,222,216
342 .byte 102,15,56,222,224
343 .byte 102,15,56,222,232
344 .byte 102,15,56,222,240
345 .byte 102,15,56,222,248
346 movups -16(%edx,%ecx,1),%xmm0
348 .byte 102,15,56,222,209
349 .byte 102,15,56,222,217
350 .byte 102,15,56,222,225
351 .byte 102,15,56,222,233
352 .byte 102,15,56,222,241
353 .byte 102,15,56,222,249
354 .byte 102,15,56,223,208
355 .byte 102,15,56,223,216
356 .byte 102,15,56,223,224
357 .byte 102,15,56,223,232
358 .byte 102,15,56,223,240
359 .byte 102,15,56,223,248
361 .size _aesni_decrypt6,.-_aesni_decrypt6
362 .globl aesni_ecb_encrypt
363 .type aesni_ecb_encrypt,@function
366 .L_aesni_ecb_encrypt_begin:
386 movdqu 16(%esi),%xmm3
387 movdqu 32(%esi),%xmm4
388 movdqu 48(%esi),%xmm5
389 movdqu 64(%esi),%xmm6
390 movdqu 80(%esi),%xmm7
393 jmp .L015ecb_enc_loop6_enter
398 movups %xmm3,16(%edi)
399 movdqu 16(%esi),%xmm3
400 movups %xmm4,32(%edi)
401 movdqu 32(%esi),%xmm4
402 movups %xmm5,48(%edi)
403 movdqu 48(%esi),%xmm5
404 movups %xmm6,64(%edi)
405 movdqu 64(%esi),%xmm6
406 movups %xmm7,80(%edi)
408 movdqu 80(%esi),%xmm7
410 .L015ecb_enc_loop6_enter:
415 jnc .L016ecb_enc_loop6
417 movups %xmm3,16(%edi)
418 movups %xmm4,32(%edi)
419 movups %xmm5,48(%edi)
420 movups %xmm6,64(%edi)
421 movups %xmm7,80(%edi)
429 movups 16(%esi),%xmm3
431 movups 32(%esi),%xmm4
433 jb .L019ecb_enc_three
434 movups 48(%esi),%xmm5
436 movups 64(%esi),%xmm6
440 movups %xmm3,16(%edi)
441 movups %xmm4,32(%edi)
442 movups %xmm5,48(%edi)
443 movups %xmm6,64(%edi)
448 movups 16(%edx),%xmm1
452 .byte 102,15,56,220,209
457 .byte 102,15,56,221,209
464 movups %xmm3,16(%edi)
470 movups %xmm3,16(%edi)
471 movups %xmm4,32(%edi)
477 movups %xmm3,16(%edi)
478 movups %xmm4,32(%edi)
479 movups %xmm5,48(%edi)
488 movdqu 16(%esi),%xmm3
489 movdqu 32(%esi),%xmm4
490 movdqu 48(%esi),%xmm5
491 movdqu 64(%esi),%xmm6
492 movdqu 80(%esi),%xmm7
495 jmp .L023ecb_dec_loop6_enter
500 movups %xmm3,16(%edi)
501 movdqu 16(%esi),%xmm3
502 movups %xmm4,32(%edi)
503 movdqu 32(%esi),%xmm4
504 movups %xmm5,48(%edi)
505 movdqu 48(%esi),%xmm5
506 movups %xmm6,64(%edi)
507 movdqu 64(%esi),%xmm6
508 movups %xmm7,80(%edi)
510 movdqu 80(%esi),%xmm7
512 .L023ecb_dec_loop6_enter:
517 jnc .L024ecb_dec_loop6
519 movups %xmm3,16(%edi)
520 movups %xmm4,32(%edi)
521 movups %xmm5,48(%edi)
522 movups %xmm6,64(%edi)
523 movups %xmm7,80(%edi)
531 movups 16(%esi),%xmm3
533 movups 32(%esi),%xmm4
535 jb .L027ecb_dec_three
536 movups 48(%esi),%xmm5
538 movups 64(%esi),%xmm6
542 movups %xmm3,16(%edi)
543 movups %xmm4,32(%edi)
544 movups %xmm5,48(%edi)
545 movups %xmm6,64(%edi)
550 movups 16(%edx),%xmm1
554 .byte 102,15,56,222,209
559 .byte 102,15,56,223,209
566 movups %xmm3,16(%edi)
572 movups %xmm3,16(%edi)
573 movups %xmm4,32(%edi)
579 movups %xmm3,16(%edi)
580 movups %xmm4,32(%edi)
581 movups %xmm5,48(%edi)
596 .size aesni_ecb_encrypt,.-.L_aesni_ecb_encrypt_begin
597 .globl aesni_ccm64_encrypt_blocks
598 .type aesni_ccm64_encrypt_blocks,@function
600 aesni_ccm64_encrypt_blocks:
601 .L_aesni_ccm64_encrypt_blocks_begin:
619 movl $202182159,(%esp)
620 movl $134810123,4(%esp)
621 movl $67438087,8(%esp)
634 leal 32(%edx,%ecx,1),%edx
636 .byte 102,15,56,0,253
637 .L030ccm64_enc_outer:
642 movups 16(%ebp),%xmm1
645 movups 32(%ebp),%xmm0
646 .L031ccm64_enc2_loop:
647 .byte 102,15,56,220,209
648 .byte 102,15,56,220,217
649 movups (%edx,%ecx,1),%xmm1
651 .byte 102,15,56,220,208
652 .byte 102,15,56,220,216
653 movups -16(%edx,%ecx,1),%xmm0
654 jnz .L031ccm64_enc2_loop
655 .byte 102,15,56,220,209
656 .byte 102,15,56,220,217
659 .byte 102,15,56,221,208
660 .byte 102,15,56,221,216
665 .byte 102,15,56,0,213
667 jnz .L030ccm64_enc_outer
684 .size aesni_ccm64_encrypt_blocks,.-.L_aesni_ccm64_encrypt_blocks_begin
685 .globl aesni_ccm64_decrypt_blocks
686 .type aesni_ccm64_decrypt_blocks,@function
688 aesni_ccm64_decrypt_blocks:
689 .L_aesni_ccm64_decrypt_blocks_begin:
707 movl $202182159,(%esp)
708 movl $134810123,4(%esp)
709 movl $67438087,8(%esp)
721 .byte 102,15,56,0,253
723 movups 16(%edx),%xmm1
727 .byte 102,15,56,220,209
732 .byte 102,15,56,221,209
739 leal 32(%ebp,%ebx,1),%edx
741 jmp .L033ccm64_dec_outer
743 .L033ccm64_dec_outer:
748 .byte 102,15,56,0,213
750 jz .L034ccm64_dec_break
753 movups 16(%ebp),%xmm1
757 movups 32(%ebp),%xmm0
758 .L035ccm64_dec2_loop:
759 .byte 102,15,56,220,209
760 .byte 102,15,56,220,217
761 movups (%edx,%ecx,1),%xmm1
763 .byte 102,15,56,220,208
764 .byte 102,15,56,220,216
765 movups -16(%edx,%ecx,1),%xmm0
766 jnz .L035ccm64_dec2_loop
769 .byte 102,15,56,220,209
770 .byte 102,15,56,220,217
771 .byte 102,15,56,221,208
772 .byte 102,15,56,221,216
774 jmp .L033ccm64_dec_outer
776 .L034ccm64_dec_break:
780 movups 16(%edx),%xmm1
785 .byte 102,15,56,220,217
790 .byte 102,15,56,221,217
807 .size aesni_ccm64_decrypt_blocks,.-.L_aesni_ccm64_decrypt_blocks_begin
808 .globl aesni_ctr32_encrypt_blocks
809 .type aesni_ctr32_encrypt_blocks,@function
811 aesni_ctr32_encrypt_blocks:
812 .L_aesni_ctr32_encrypt_blocks_begin:
827 je .L037ctr32_one_shortcut
829 movl $202182159,(%esp)
830 movl $134810123,4(%esp)
831 movl $67438087,8(%esp)
839 .byte 102,15,58,22,251,3
840 .byte 102,15,58,34,253,3
846 .byte 102,15,58,34,195,0
848 .byte 102,15,58,34,205,0
850 .byte 102,15,58,34,195,1
852 .byte 102,15,58,34,205,1
854 .byte 102,15,58,34,195,2
856 .byte 102,15,58,34,205,2
857 movdqa %xmm0,48(%esp)
858 .byte 102,15,56,0,194
860 movdqa %xmm1,64(%esp)
861 .byte 102,15,56,0,202
862 pshufd $192,%xmm0,%xmm2
863 pshufd $128,%xmm0,%xmm3
869 movdqa %xmm7,32(%esp)
872 leal 32(%edx,%ecx,1),%edx
877 pshufd $64,%xmm0,%xmm4
878 movdqa 32(%esp),%xmm0
879 pshufd $192,%xmm1,%xmm5
881 pshufd $128,%xmm1,%xmm6
883 pshufd $64,%xmm1,%xmm7
884 movups 16(%ebp),%xmm1
887 .byte 102,15,56,220,209
890 .byte 102,15,56,220,217
891 movups 32(%ebp),%xmm0
893 .byte 102,15,56,220,225
894 .byte 102,15,56,220,233
895 .byte 102,15,56,220,241
896 .byte 102,15,56,220,249
897 call .L_aesni_encrypt6_enter
899 movups 16(%esi),%xmm0
901 movups 32(%esi),%xmm1
904 movdqa 16(%esp),%xmm0
906 movdqa 64(%esp),%xmm1
907 movups %xmm3,16(%edi)
908 movups %xmm4,32(%edi)
912 movups 48(%esi),%xmm3
913 movups 64(%esi),%xmm4
915 movups 80(%esi),%xmm3
917 movdqa %xmm0,48(%esp)
918 .byte 102,15,56,0,194
920 movups %xmm5,48(%edi)
922 movdqa %xmm1,64(%esp)
923 .byte 102,15,56,0,202
924 movups %xmm6,64(%edi)
925 pshufd $192,%xmm0,%xmm2
926 movups %xmm7,80(%edi)
928 pshufd $128,%xmm0,%xmm3
941 pshufd $64,%xmm0,%xmm4
944 pshufd $192,%xmm1,%xmm5
948 pshufd $128,%xmm1,%xmm6
954 movups 16(%esi),%xmm0
956 movups 32(%esi),%xmm1
958 movups 48(%esi),%xmm0
960 movups 64(%esi),%xmm1
964 movups %xmm3,16(%edi)
965 movups %xmm4,32(%edi)
966 movups %xmm5,48(%edi)
967 movups %xmm6,64(%edi)
970 .L037ctr32_one_shortcut:
975 movups 16(%edx),%xmm1
979 .byte 102,15,56,220,209
984 .byte 102,15,56,221,209
993 movups 16(%esi),%xmm6
997 movups %xmm3,16(%edi)
1001 call _aesni_encrypt3
1003 movups 16(%esi),%xmm6
1005 movups 32(%esi),%xmm7
1009 movups %xmm3,16(%edi)
1010 movups %xmm4,32(%edi)
1014 call _aesni_encrypt4
1016 movups 16(%esi),%xmm7
1017 movups 32(%esi),%xmm1
1019 movups 48(%esi),%xmm0
1023 movups %xmm3,16(%edi)
1025 movups %xmm4,32(%edi)
1026 movups %xmm5,48(%edi)
1033 movdqa %xmm0,32(%esp)
1035 movdqa %xmm0,48(%esp)
1037 movdqa %xmm0,64(%esp)
1045 .size aesni_ctr32_encrypt_blocks,.-.L_aesni_ctr32_encrypt_blocks_begin
1046 .globl aesni_xts_encrypt
1047 .type aesni_xts_encrypt,@function
1050 .L_aesni_xts_encrypt_begin:
1060 movups 16(%edx),%xmm1
1064 .byte 102,15,56,220,209
1068 jnz .L046enc1_loop_8
1069 .byte 102,15,56,221,209
1086 movdqa 96(%esp),%xmm3
1092 jc .L047xts_enc_short
1096 leal 32(%edx,%ecx,1),%edx
1097 jmp .L048xts_enc_loop6
1100 pshufd $19,%xmm0,%xmm2
1107 pshufd $19,%xmm0,%xmm2
1109 movdqa %xmm1,16(%esp)
1114 pshufd $19,%xmm0,%xmm2
1116 movdqa %xmm1,32(%esp)
1121 pshufd $19,%xmm0,%xmm2
1123 movdqa %xmm1,48(%esp)
1128 pshufd $19,%xmm0,%xmm7
1129 movdqa %xmm1,64(%esp)
1136 movdqu 16(%esi),%xmm3
1138 movdqu 32(%esi),%xmm4
1140 movdqu 48(%esi),%xmm5
1142 movdqu 64(%esi),%xmm6
1144 movdqu 80(%esi),%xmm1
1148 movdqa %xmm7,80(%esp)
1150 movups 16(%ebp),%xmm1
1153 .byte 102,15,56,220,209
1156 .byte 102,15,56,220,217
1158 movups 32(%ebp),%xmm0
1159 .byte 102,15,56,220,225
1160 .byte 102,15,56,220,233
1161 .byte 102,15,56,220,241
1162 .byte 102,15,56,220,249
1163 call .L_aesni_encrypt6_enter
1164 movdqa 80(%esp),%xmm1
1168 xorps 16(%esp),%xmm3
1170 xorps 32(%esp),%xmm4
1171 movups %xmm3,16(%edi)
1172 xorps 48(%esp),%xmm5
1173 movups %xmm4,32(%edi)
1174 xorps 64(%esp),%xmm6
1175 movups %xmm5,48(%edi)
1177 movups %xmm6,64(%edi)
1178 pshufd $19,%xmm0,%xmm2
1179 movups %xmm7,80(%edi)
1181 movdqa 96(%esp),%xmm3
1188 jnc .L048xts_enc_loop6
1194 jz .L049xts_enc_done6x
1198 pshufd $19,%xmm0,%xmm2
1205 pshufd $19,%xmm0,%xmm2
1213 jb .L052xts_enc_three
1214 pshufd $19,%xmm0,%xmm2
1222 movdqa %xmm6,16(%esp)
1223 je .L053xts_enc_four
1224 movdqa %xmm7,32(%esp)
1225 pshufd $19,%xmm0,%xmm7
1226 movdqa %xmm1,48(%esp)
1231 movdqu 16(%esi),%xmm3
1232 movdqu 32(%esi),%xmm4
1234 movdqu 48(%esi),%xmm5
1236 movdqu 64(%esi),%xmm6
1240 movdqa %xmm7,64(%esp)
1242 call _aesni_encrypt6
1243 movaps 64(%esp),%xmm1
1245 xorps 16(%esp),%xmm3
1246 xorps 32(%esp),%xmm4
1248 xorps 48(%esp),%xmm5
1249 movups %xmm3,16(%edi)
1251 movups %xmm4,32(%edi)
1252 movups %xmm5,48(%edi)
1253 movups %xmm6,64(%edi)
1255 jmp .L054xts_enc_done
1262 movups 16(%edx),%xmm1
1266 .byte 102,15,56,220,209
1270 jnz .L055enc1_loop_9
1271 .byte 102,15,56,221,209
1276 jmp .L054xts_enc_done
1281 movups 16(%esi),%xmm3
1285 call _aesni_encrypt2
1289 movups %xmm3,16(%edi)
1292 jmp .L054xts_enc_done
1297 movups 16(%esi),%xmm3
1298 movups 32(%esi),%xmm4
1303 call _aesni_encrypt3
1308 movups %xmm3,16(%edi)
1309 movups %xmm4,32(%edi)
1312 jmp .L054xts_enc_done
1317 movups 16(%esi),%xmm3
1318 movups 32(%esi),%xmm4
1320 movups 48(%esi),%xmm5
1322 xorps 16(%esp),%xmm3
1325 call _aesni_encrypt4
1327 xorps 16(%esp),%xmm3
1331 movups %xmm3,16(%edi)
1332 movups %xmm4,32(%edi)
1333 movups %xmm5,48(%edi)
1336 jmp .L054xts_enc_done
1338 .L049xts_enc_done6x:
1344 jmp .L057xts_enc_steal
1353 pshufd $19,%xmm0,%xmm5
1359 movzbl -16(%edi),%edx
1365 jnz .L057xts_enc_steal
1369 movups -16(%edi),%xmm2
1372 movups 16(%edx),%xmm1
1376 .byte 102,15,56,220,209
1380 jnz .L058enc1_loop_10
1381 .byte 102,15,56,221,209
1383 movups %xmm2,-16(%edi)
1390 movdqa %xmm0,16(%esp)
1392 movdqa %xmm0,32(%esp)
1394 movdqa %xmm0,48(%esp)
1396 movdqa %xmm0,64(%esp)
1398 movdqa %xmm0,80(%esp)
1405 .size aesni_xts_encrypt,.-.L_aesni_xts_encrypt_begin
1406 .globl aesni_xts_decrypt
1407 .type aesni_xts_decrypt,@function
1410 .L_aesni_xts_decrypt_begin:
1420 movups 16(%edx),%xmm1
1424 .byte 102,15,56,220,209
1428 jnz .L059enc1_loop_11
1429 .byte 102,15,56,221,209
1453 movdqa 96(%esp),%xmm3
1457 jc .L060xts_dec_short
1461 leal 32(%edx,%ecx,1),%edx
1462 jmp .L061xts_dec_loop6
1465 pshufd $19,%xmm0,%xmm2
1472 pshufd $19,%xmm0,%xmm2
1474 movdqa %xmm1,16(%esp)
1479 pshufd $19,%xmm0,%xmm2
1481 movdqa %xmm1,32(%esp)
1486 pshufd $19,%xmm0,%xmm2
1488 movdqa %xmm1,48(%esp)
1493 pshufd $19,%xmm0,%xmm7
1494 movdqa %xmm1,64(%esp)
1501 movdqu 16(%esi),%xmm3
1503 movdqu 32(%esi),%xmm4
1505 movdqu 48(%esi),%xmm5
1507 movdqu 64(%esi),%xmm6
1509 movdqu 80(%esi),%xmm1
1513 movdqa %xmm7,80(%esp)
1515 movups 16(%ebp),%xmm1
1518 .byte 102,15,56,222,209
1521 .byte 102,15,56,222,217
1523 movups 32(%ebp),%xmm0
1524 .byte 102,15,56,222,225
1525 .byte 102,15,56,222,233
1526 .byte 102,15,56,222,241
1527 .byte 102,15,56,222,249
1528 call .L_aesni_decrypt6_enter
1529 movdqa 80(%esp),%xmm1
1533 xorps 16(%esp),%xmm3
1535 xorps 32(%esp),%xmm4
1536 movups %xmm3,16(%edi)
1537 xorps 48(%esp),%xmm5
1538 movups %xmm4,32(%edi)
1539 xorps 64(%esp),%xmm6
1540 movups %xmm5,48(%edi)
1542 movups %xmm6,64(%edi)
1543 pshufd $19,%xmm0,%xmm2
1544 movups %xmm7,80(%edi)
1546 movdqa 96(%esp),%xmm3
1553 jnc .L061xts_dec_loop6
1559 jz .L062xts_dec_done6x
1563 pshufd $19,%xmm0,%xmm2
1570 pshufd $19,%xmm0,%xmm2
1578 jb .L065xts_dec_three
1579 pshufd $19,%xmm0,%xmm2
1587 movdqa %xmm6,16(%esp)
1588 je .L066xts_dec_four
1589 movdqa %xmm7,32(%esp)
1590 pshufd $19,%xmm0,%xmm7
1591 movdqa %xmm1,48(%esp)
1596 movdqu 16(%esi),%xmm3
1597 movdqu 32(%esi),%xmm4
1599 movdqu 48(%esi),%xmm5
1601 movdqu 64(%esi),%xmm6
1605 movdqa %xmm7,64(%esp)
1607 call _aesni_decrypt6
1608 movaps 64(%esp),%xmm1
1610 xorps 16(%esp),%xmm3
1611 xorps 32(%esp),%xmm4
1613 xorps 48(%esp),%xmm5
1614 movups %xmm3,16(%edi)
1616 movups %xmm4,32(%edi)
1617 movups %xmm5,48(%edi)
1618 movups %xmm6,64(%edi)
1620 jmp .L067xts_dec_done
1627 movups 16(%edx),%xmm1
1631 .byte 102,15,56,222,209
1635 jnz .L068dec1_loop_12
1636 .byte 102,15,56,223,209
1641 jmp .L067xts_dec_done
1646 movups 16(%esi),%xmm3
1650 call _aesni_decrypt2
1654 movups %xmm3,16(%edi)
1657 jmp .L067xts_dec_done
1662 movups 16(%esi),%xmm3
1663 movups 32(%esi),%xmm4
1668 call _aesni_decrypt3
1673 movups %xmm3,16(%edi)
1674 movups %xmm4,32(%edi)
1677 jmp .L067xts_dec_done
1682 movups 16(%esi),%xmm3
1683 movups 32(%esi),%xmm4
1685 movups 48(%esi),%xmm5
1687 xorps 16(%esp),%xmm3
1690 call _aesni_decrypt4
1692 xorps 16(%esp),%xmm3
1696 movups %xmm3,16(%edi)
1697 movups %xmm4,32(%edi)
1698 movups %xmm5,48(%edi)
1701 jmp .L067xts_dec_done
1703 .L062xts_dec_done6x:
1708 jmp .L070xts_dec_only_one_more
1717 pshufd $19,%xmm0,%xmm2
1719 movdqa 96(%esp),%xmm3
1724 .L070xts_dec_only_one_more:
1725 pshufd $19,%xmm0,%xmm5
1735 movups 16(%edx),%xmm1
1739 .byte 102,15,56,222,209
1743 jnz .L071dec1_loop_13
1744 .byte 102,15,56,223,209
1748 movzbl 16(%esi),%ecx
1755 jnz .L072xts_dec_steal
1762 movups 16(%edx),%xmm1
1766 .byte 102,15,56,222,209
1770 jnz .L073dec1_loop_14
1771 .byte 102,15,56,223,209
1780 movdqa %xmm0,16(%esp)
1782 movdqa %xmm0,32(%esp)
1784 movdqa %xmm0,48(%esp)
1786 movdqa %xmm0,64(%esp)
1788 movdqa %xmm0,80(%esp)
1795 .size aesni_xts_decrypt,.-.L_aesni_xts_decrypt_begin
1796 .globl aesni_cbc_encrypt
1797 .type aesni_cbc_encrypt,@function
1800 .L_aesni_cbc_encrypt_begin:
1825 jb .L076cbc_enc_tail
1827 jmp .L077cbc_enc_loop
1833 movups 16(%edx),%xmm1
1838 .byte 102,15,56,220,209
1842 jnz .L078enc1_loop_15
1843 .byte 102,15,56,221,209
1849 jnc .L077cbc_enc_loop
1851 jnz .L076cbc_enc_tail
1866 jmp .L077cbc_enc_loop
1870 jbe .L080cbc_dec_tail
1873 jmp .L081cbc_dec_loop6_enter
1879 .L081cbc_dec_loop6_enter:
1881 movdqu 16(%esi),%xmm3
1882 movdqu 32(%esi),%xmm4
1883 movdqu 48(%esi),%xmm5
1884 movdqu 64(%esi),%xmm6
1885 movdqu 80(%esi),%xmm7
1886 call _aesni_decrypt6
1888 movups 16(%esi),%xmm0
1891 movups 32(%esi),%xmm1
1893 movups 48(%esi),%xmm0
1895 movups 64(%esi),%xmm1
1897 movups 80(%esi),%xmm0
1900 movups %xmm3,16(%edi)
1902 movups %xmm4,32(%edi)
1904 movups %xmm5,48(%edi)
1906 movups %xmm6,64(%edi)
1909 ja .L082cbc_dec_loop6
1913 jle .L083cbc_dec_clear_tail_collected
1920 jbe .L084cbc_dec_one
1921 movups 16(%esi),%xmm3
1924 jbe .L085cbc_dec_two
1925 movups 32(%esi),%xmm4
1927 jbe .L086cbc_dec_three
1928 movups 48(%esi),%xmm5
1930 jbe .L087cbc_dec_four
1931 movups 64(%esi),%xmm6
1935 call _aesni_decrypt6
1937 movups 16(%esi),%xmm0
1940 movups 32(%esi),%xmm1
1942 movups 48(%esi),%xmm0
1944 movups 64(%esi),%xmm7
1947 movups %xmm3,16(%edi)
1949 movups %xmm4,32(%edi)
1951 movups %xmm5,48(%edi)
1957 jmp .L088cbc_dec_tail_collected
1961 movups 16(%edx),%xmm1
1965 .byte 102,15,56,222,209
1969 jnz .L089dec1_loop_16
1970 .byte 102,15,56,223,209
1974 jmp .L088cbc_dec_tail_collected
1977 call _aesni_decrypt2
1986 jmp .L088cbc_dec_tail_collected
1989 call _aesni_decrypt3
1996 movups %xmm3,16(%edi)
1999 movups 32(%esi),%xmm7
2001 jmp .L088cbc_dec_tail_collected
2004 call _aesni_decrypt4
2005 movups 16(%esi),%xmm1
2006 movups 32(%esi),%xmm0
2008 movups 48(%esi),%xmm7
2012 movups %xmm3,16(%edi)
2015 movups %xmm4,32(%edi)
2021 jmp .L088cbc_dec_tail_collected
2023 .L083cbc_dec_clear_tail_collected:
2028 .L088cbc_dec_tail_collected:
2030 jnz .L090cbc_dec_tail_partial
2035 .L090cbc_dec_tail_partial:
2056 .size aesni_cbc_encrypt,.-.L_aesni_cbc_encrypt_begin
2057 .type _aesni_set_encrypt_key,@function
2059 _aesni_set_encrypt_key:
2069 leal .Lkey_const-.L092pic(%ebx),%ebx
2070 leal OPENSSL_ia32cap_P-.Lkey_const(%ebx),%ebp
2075 andl $268437504,%ebp
2081 jne .L095bad_keybits
2084 cmpl $268435456,%ebp
2085 je .L09710rounds_alt
2087 movups %xmm0,-16(%edx)
2088 .byte 102,15,58,223,200,1
2089 call .L098key_128_cold
2090 .byte 102,15,58,223,200,2
2092 .byte 102,15,58,223,200,4
2094 .byte 102,15,58,223,200,8
2096 .byte 102,15,58,223,200,16
2098 .byte 102,15,58,223,200,32
2100 .byte 102,15,58,223,200,64
2102 .byte 102,15,58,223,200,128
2104 .byte 102,15,58,223,200,27
2106 .byte 102,15,58,223,200,54
2116 shufps $16,%xmm0,%xmm4
2118 shufps $140,%xmm0,%xmm4
2120 shufps $255,%xmm1,%xmm1
2127 movdqa 32(%ebx),%xmm4
2129 movdqu %xmm0,-16(%edx)
2131 .byte 102,15,56,0,197
2132 .byte 102,15,56,221,196
2143 movdqu %xmm0,-16(%edx)
2146 jnz .L101loop_key128
2147 movdqa 48(%ebx),%xmm4
2148 .byte 102,15,56,0,197
2149 .byte 102,15,56,221,196
2161 .byte 102,15,56,0,197
2162 .byte 102,15,56,221,196
2171 movdqu %xmm0,16(%edx)
2178 cmpl $268435456,%ebp
2179 je .L10212rounds_alt
2181 movups %xmm0,-16(%edx)
2182 .byte 102,15,58,223,202,1
2183 call .L103key_192a_cold
2184 .byte 102,15,58,223,202,2
2186 .byte 102,15,58,223,202,4
2188 .byte 102,15,58,223,202,8
2190 .byte 102,15,58,223,202,16
2192 .byte 102,15,58,223,202,32
2194 .byte 102,15,58,223,202,64
2196 .byte 102,15,58,223,202,128
2209 shufps $16,%xmm0,%xmm4
2212 shufps $140,%xmm0,%xmm4
2215 pshufd $85,%xmm1,%xmm1
2218 pshufd $255,%xmm0,%xmm3
2224 shufps $68,%xmm0,%xmm5
2226 shufps $78,%xmm2,%xmm3
2227 movups %xmm3,16(%edx)
2229 jmp .L106key_192b_warm
2232 movdqa 16(%ebx),%xmm5
2233 movdqa 32(%ebx),%xmm4
2235 movdqu %xmm0,-16(%edx)
2239 .byte 102,15,56,0,213
2240 .byte 102,15,56,221,212
2250 pshufd $255,%xmm0,%xmm3
2256 movdqu %xmm0,-16(%edx)
2258 jnz .L107loop_key192
2264 movups 16(%eax),%xmm2
2266 cmpl $268435456,%ebp
2267 je .L10814rounds_alt
2269 movups %xmm0,-32(%edx)
2270 movups %xmm2,-16(%edx)
2271 .byte 102,15,58,223,202,1
2272 call .L109key_256a_cold
2273 .byte 102,15,58,223,200,1
2275 .byte 102,15,58,223,202,2
2277 .byte 102,15,58,223,200,2
2279 .byte 102,15,58,223,202,4
2281 .byte 102,15,58,223,200,4
2283 .byte 102,15,58,223,202,8
2285 .byte 102,15,58,223,200,8
2287 .byte 102,15,58,223,202,16
2289 .byte 102,15,58,223,200,16
2291 .byte 102,15,58,223,202,32
2293 .byte 102,15,58,223,200,32
2295 .byte 102,15,58,223,202,64
2306 shufps $16,%xmm0,%xmm4
2308 shufps $140,%xmm0,%xmm4
2310 shufps $255,%xmm1,%xmm1
2317 shufps $16,%xmm2,%xmm4
2319 shufps $140,%xmm2,%xmm4
2321 shufps $170,%xmm1,%xmm1
2327 movdqa 32(%ebx),%xmm4
2329 movdqu %xmm0,-32(%edx)
2331 movdqu %xmm2,-16(%edx)
2333 .byte 102,15,56,0,213
2334 .byte 102,15,56,221,212
2347 pshufd $255,%xmm0,%xmm2
2349 .byte 102,15,56,221,211
2358 movdqu %xmm2,16(%edx)
2361 jmp .L112loop_key256
2389 .size _aesni_set_encrypt_key,.-_aesni_set_encrypt_key
2390 .globl aesni_set_encrypt_key
2391 .type aesni_set_encrypt_key,@function
2393 aesni_set_encrypt_key:
2394 .L_aesni_set_encrypt_key_begin:
2398 call _aesni_set_encrypt_key
2400 .size aesni_set_encrypt_key,.-.L_aesni_set_encrypt_key_begin
2401 .globl aesni_set_decrypt_key
2402 .type aesni_set_decrypt_key,@function
2404 aesni_set_decrypt_key:
2405 .L_aesni_set_decrypt_key_begin:
2409 call _aesni_set_encrypt_key
2413 jnz .L114dec_key_ret
2414 leal 16(%edx,%ecx,1),%eax
2421 .L115dec_key_inverse:
2424 .byte 102,15,56,219,192
2425 .byte 102,15,56,219,201
2428 movups %xmm0,16(%eax)
2429 movups %xmm1,-16(%edx)
2431 ja .L115dec_key_inverse
2433 .byte 102,15,56,219,192
2440 .size aesni_set_decrypt_key,.-.L_aesni_set_decrypt_key_begin
2443 .long 202313229,202313229,202313229,202313229
2444 .long 67569157,67569157,67569157,67569157
2447 .byte 65,69,83,32,102,111,114,32,73,110,116,101,108,32,65,69
2448 .byte 83,45,78,73,44,32,67,82,89,80,84,79,71,65,77,83
2449 .byte 32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115
2450 .byte 115,108,46,111,114,103,62,0
2451 .comm OPENSSL_ia32cap_P,16,4
2455 .globl aesni_encrypt
2456 .type aesni_encrypt,@function
2459 .L_aesni_encrypt_begin:
2466 movups 16(%edx),%xmm1
2470 .byte 102,15,56,220,209
2474 jnz .L000enc1_loop_1
2475 .byte 102,15,56,221,209
2481 .size aesni_encrypt,.-.L_aesni_encrypt_begin
2482 .globl aesni_decrypt
2483 .type aesni_decrypt,@function
2486 .L_aesni_decrypt_begin:
2493 movups 16(%edx),%xmm1
2497 .byte 102,15,56,222,209
2501 jnz .L001dec1_loop_2
2502 .byte 102,15,56,223,209
2508 .size aesni_decrypt,.-.L_aesni_decrypt_begin
2509 .type _aesni_encrypt2,@function
2514 movups 16(%edx),%xmm1
2517 movups 32(%edx),%xmm0
2518 leal 32(%edx,%ecx,1),%edx
2522 .byte 102,15,56,220,209
2523 .byte 102,15,56,220,217
2524 movups (%edx,%ecx,1),%xmm1
2526 .byte 102,15,56,220,208
2527 .byte 102,15,56,220,216
2528 movups -16(%edx,%ecx,1),%xmm0
2530 .byte 102,15,56,220,209
2531 .byte 102,15,56,220,217
2532 .byte 102,15,56,221,208
2533 .byte 102,15,56,221,216
2535 .size _aesni_encrypt2,.-_aesni_encrypt2
2536 .type _aesni_decrypt2,@function
2541 movups 16(%edx),%xmm1
2544 movups 32(%edx),%xmm0
2545 leal 32(%edx,%ecx,1),%edx
2549 .byte 102,15,56,222,209
2550 .byte 102,15,56,222,217
2551 movups (%edx,%ecx,1),%xmm1
2553 .byte 102,15,56,222,208
2554 .byte 102,15,56,222,216
2555 movups -16(%edx,%ecx,1),%xmm0
2557 .byte 102,15,56,222,209
2558 .byte 102,15,56,222,217
2559 .byte 102,15,56,223,208
2560 .byte 102,15,56,223,216
2562 .size _aesni_decrypt2,.-_aesni_decrypt2
2563 .type _aesni_encrypt3,@function
2568 movups 16(%edx),%xmm1
2572 movups 32(%edx),%xmm0
2573 leal 32(%edx,%ecx,1),%edx
2577 .byte 102,15,56,220,209
2578 .byte 102,15,56,220,217
2579 .byte 102,15,56,220,225
2580 movups (%edx,%ecx,1),%xmm1
2582 .byte 102,15,56,220,208
2583 .byte 102,15,56,220,216
2584 .byte 102,15,56,220,224
2585 movups -16(%edx,%ecx,1),%xmm0
2587 .byte 102,15,56,220,209
2588 .byte 102,15,56,220,217
2589 .byte 102,15,56,220,225
2590 .byte 102,15,56,221,208
2591 .byte 102,15,56,221,216
2592 .byte 102,15,56,221,224
2594 .size _aesni_encrypt3,.-_aesni_encrypt3
2595 .type _aesni_decrypt3,@function
2600 movups 16(%edx),%xmm1
2604 movups 32(%edx),%xmm0
2605 leal 32(%edx,%ecx,1),%edx
2609 .byte 102,15,56,222,209
2610 .byte 102,15,56,222,217
2611 .byte 102,15,56,222,225
2612 movups (%edx,%ecx,1),%xmm1
2614 .byte 102,15,56,222,208
2615 .byte 102,15,56,222,216
2616 .byte 102,15,56,222,224
2617 movups -16(%edx,%ecx,1),%xmm0
2619 .byte 102,15,56,222,209
2620 .byte 102,15,56,222,217
2621 .byte 102,15,56,222,225
2622 .byte 102,15,56,223,208
2623 .byte 102,15,56,223,216
2624 .byte 102,15,56,223,224
2626 .size _aesni_decrypt3,.-_aesni_decrypt3
2627 .type _aesni_encrypt4,@function
2631 movups 16(%edx),%xmm1
2637 movups 32(%edx),%xmm0
2638 leal 32(%edx,%ecx,1),%edx
2643 .byte 102,15,56,220,209
2644 .byte 102,15,56,220,217
2645 .byte 102,15,56,220,225
2646 .byte 102,15,56,220,233
2647 movups (%edx,%ecx,1),%xmm1
2649 .byte 102,15,56,220,208
2650 .byte 102,15,56,220,216
2651 .byte 102,15,56,220,224
2652 .byte 102,15,56,220,232
2653 movups -16(%edx,%ecx,1),%xmm0
2655 .byte 102,15,56,220,209
2656 .byte 102,15,56,220,217
2657 .byte 102,15,56,220,225
2658 .byte 102,15,56,220,233
2659 .byte 102,15,56,221,208
2660 .byte 102,15,56,221,216
2661 .byte 102,15,56,221,224
2662 .byte 102,15,56,221,232
2664 .size _aesni_encrypt4,.-_aesni_encrypt4
2665 .type _aesni_decrypt4,@function
2669 movups 16(%edx),%xmm1
2675 movups 32(%edx),%xmm0
2676 leal 32(%edx,%ecx,1),%edx
2681 .byte 102,15,56,222,209
2682 .byte 102,15,56,222,217
2683 .byte 102,15,56,222,225
2684 .byte 102,15,56,222,233
2685 movups (%edx,%ecx,1),%xmm1
2687 .byte 102,15,56,222,208
2688 .byte 102,15,56,222,216
2689 .byte 102,15,56,222,224
2690 .byte 102,15,56,222,232
2691 movups -16(%edx,%ecx,1),%xmm0
2693 .byte 102,15,56,222,209
2694 .byte 102,15,56,222,217
2695 .byte 102,15,56,222,225
2696 .byte 102,15,56,222,233
2697 .byte 102,15,56,223,208
2698 .byte 102,15,56,223,216
2699 .byte 102,15,56,223,224
2700 .byte 102,15,56,223,232
2702 .size _aesni_decrypt4,.-_aesni_decrypt4
2703 .type _aesni_encrypt6,@function
2708 movups 16(%edx),%xmm1
2712 .byte 102,15,56,220,209
2715 .byte 102,15,56,220,217
2716 leal 32(%edx,%ecx,1),%edx
2718 .byte 102,15,56,220,225
2720 movups (%edx,%ecx,1),%xmm0
2722 jmp .L008_aesni_encrypt6_inner
2725 .byte 102,15,56,220,209
2726 .byte 102,15,56,220,217
2727 .byte 102,15,56,220,225
2728 .L008_aesni_encrypt6_inner:
2729 .byte 102,15,56,220,233
2730 .byte 102,15,56,220,241
2731 .byte 102,15,56,220,249
2732 .L_aesni_encrypt6_enter:
2733 movups (%edx,%ecx,1),%xmm1
2735 .byte 102,15,56,220,208
2736 .byte 102,15,56,220,216
2737 .byte 102,15,56,220,224
2738 .byte 102,15,56,220,232
2739 .byte 102,15,56,220,240
2740 .byte 102,15,56,220,248
2741 movups -16(%edx,%ecx,1),%xmm0
2743 .byte 102,15,56,220,209
2744 .byte 102,15,56,220,217
2745 .byte 102,15,56,220,225
2746 .byte 102,15,56,220,233
2747 .byte 102,15,56,220,241
2748 .byte 102,15,56,220,249
2749 .byte 102,15,56,221,208
2750 .byte 102,15,56,221,216
2751 .byte 102,15,56,221,224
2752 .byte 102,15,56,221,232
2753 .byte 102,15,56,221,240
2754 .byte 102,15,56,221,248
2756 .size _aesni_encrypt6,.-_aesni_encrypt6
2757 .type _aesni_decrypt6,@function
2762 movups 16(%edx),%xmm1
2766 .byte 102,15,56,222,209
2769 .byte 102,15,56,222,217
2770 leal 32(%edx,%ecx,1),%edx
2772 .byte 102,15,56,222,225
2774 movups (%edx,%ecx,1),%xmm0
2776 jmp .L010_aesni_decrypt6_inner
2779 .byte 102,15,56,222,209
2780 .byte 102,15,56,222,217
2781 .byte 102,15,56,222,225
2782 .L010_aesni_decrypt6_inner:
2783 .byte 102,15,56,222,233
2784 .byte 102,15,56,222,241
2785 .byte 102,15,56,222,249
2786 .L_aesni_decrypt6_enter:
2787 movups (%edx,%ecx,1),%xmm1
2789 .byte 102,15,56,222,208
2790 .byte 102,15,56,222,216
2791 .byte 102,15,56,222,224
2792 .byte 102,15,56,222,232
2793 .byte 102,15,56,222,240
2794 .byte 102,15,56,222,248
2795 movups -16(%edx,%ecx,1),%xmm0
2797 .byte 102,15,56,222,209
2798 .byte 102,15,56,222,217
2799 .byte 102,15,56,222,225
2800 .byte 102,15,56,222,233
2801 .byte 102,15,56,222,241
2802 .byte 102,15,56,222,249
2803 .byte 102,15,56,223,208
2804 .byte 102,15,56,223,216
2805 .byte 102,15,56,223,224
2806 .byte 102,15,56,223,232
2807 .byte 102,15,56,223,240
2808 .byte 102,15,56,223,248
2810 .size _aesni_decrypt6,.-_aesni_decrypt6
2811 .globl aesni_ecb_encrypt
2812 .type aesni_ecb_encrypt,@function
2815 .L_aesni_ecb_encrypt_begin:
2833 jb .L014ecb_enc_tail
2835 movdqu 16(%esi),%xmm3
2836 movdqu 32(%esi),%xmm4
2837 movdqu 48(%esi),%xmm5
2838 movdqu 64(%esi),%xmm6
2839 movdqu 80(%esi),%xmm7
2842 jmp .L015ecb_enc_loop6_enter
2847 movups %xmm3,16(%edi)
2848 movdqu 16(%esi),%xmm3
2849 movups %xmm4,32(%edi)
2850 movdqu 32(%esi),%xmm4
2851 movups %xmm5,48(%edi)
2852 movdqu 48(%esi),%xmm5
2853 movups %xmm6,64(%edi)
2854 movdqu 64(%esi),%xmm6
2855 movups %xmm7,80(%edi)
2857 movdqu 80(%esi),%xmm7
2859 .L015ecb_enc_loop6_enter:
2860 call _aesni_encrypt6
2864 jnc .L016ecb_enc_loop6
2866 movups %xmm3,16(%edi)
2867 movups %xmm4,32(%edi)
2868 movups %xmm5,48(%edi)
2869 movups %xmm6,64(%edi)
2870 movups %xmm7,80(%edi)
2878 movups 16(%esi),%xmm3
2880 movups 32(%esi),%xmm4
2882 jb .L019ecb_enc_three
2883 movups 48(%esi),%xmm5
2884 je .L020ecb_enc_four
2885 movups 64(%esi),%xmm6
2887 call _aesni_encrypt6
2889 movups %xmm3,16(%edi)
2890 movups %xmm4,32(%edi)
2891 movups %xmm5,48(%edi)
2892 movups %xmm6,64(%edi)
2897 movups 16(%edx),%xmm1
2901 .byte 102,15,56,220,209
2905 jnz .L021enc1_loop_3
2906 .byte 102,15,56,221,209
2911 call _aesni_encrypt2
2913 movups %xmm3,16(%edi)
2917 call _aesni_encrypt3
2919 movups %xmm3,16(%edi)
2920 movups %xmm4,32(%edi)
2924 call _aesni_encrypt4
2926 movups %xmm3,16(%edi)
2927 movups %xmm4,32(%edi)
2928 movups %xmm5,48(%edi)
2935 jb .L022ecb_dec_tail
2937 movdqu 16(%esi),%xmm3
2938 movdqu 32(%esi),%xmm4
2939 movdqu 48(%esi),%xmm5
2940 movdqu 64(%esi),%xmm6
2941 movdqu 80(%esi),%xmm7
2944 jmp .L023ecb_dec_loop6_enter
2949 movups %xmm3,16(%edi)
2950 movdqu 16(%esi),%xmm3
2951 movups %xmm4,32(%edi)
2952 movdqu 32(%esi),%xmm4
2953 movups %xmm5,48(%edi)
2954 movdqu 48(%esi),%xmm5
2955 movups %xmm6,64(%edi)
2956 movdqu 64(%esi),%xmm6
2957 movups %xmm7,80(%edi)
2959 movdqu 80(%esi),%xmm7
2961 .L023ecb_dec_loop6_enter:
2962 call _aesni_decrypt6
2966 jnc .L024ecb_dec_loop6
2968 movups %xmm3,16(%edi)
2969 movups %xmm4,32(%edi)
2970 movups %xmm5,48(%edi)
2971 movups %xmm6,64(%edi)
2972 movups %xmm7,80(%edi)
2980 movups 16(%esi),%xmm3
2982 movups 32(%esi),%xmm4
2984 jb .L027ecb_dec_three
2985 movups 48(%esi),%xmm5
2986 je .L028ecb_dec_four
2987 movups 64(%esi),%xmm6
2989 call _aesni_decrypt6
2991 movups %xmm3,16(%edi)
2992 movups %xmm4,32(%edi)
2993 movups %xmm5,48(%edi)
2994 movups %xmm6,64(%edi)
2999 movups 16(%edx),%xmm1
3003 .byte 102,15,56,222,209
3007 jnz .L029dec1_loop_4
3008 .byte 102,15,56,223,209
3013 call _aesni_decrypt2
3015 movups %xmm3,16(%edi)
3019 call _aesni_decrypt3
3021 movups %xmm3,16(%edi)
3022 movups %xmm4,32(%edi)
3026 call _aesni_decrypt4
3028 movups %xmm3,16(%edi)
3029 movups %xmm4,32(%edi)
3030 movups %xmm5,48(%edi)
3045 .size aesni_ecb_encrypt,.-.L_aesni_ecb_encrypt_begin
3046 .globl aesni_ccm64_encrypt_blocks
3047 .type aesni_ccm64_encrypt_blocks,@function
3049 aesni_ccm64_encrypt_blocks:
3050 .L_aesni_ccm64_encrypt_blocks_begin:
3068 movl $202182159,(%esp)
3069 movl $134810123,4(%esp)
3070 movl $67438087,8(%esp)
3071 movl $66051,12(%esp)
3083 leal 32(%edx,%ecx,1),%edx
3085 .byte 102,15,56,0,253
3086 .L030ccm64_enc_outer:
3091 movups 16(%ebp),%xmm1
3094 movups 32(%ebp),%xmm0
3095 .L031ccm64_enc2_loop:
3096 .byte 102,15,56,220,209
3097 .byte 102,15,56,220,217
3098 movups (%edx,%ecx,1),%xmm1
3100 .byte 102,15,56,220,208
3101 .byte 102,15,56,220,216
3102 movups -16(%edx,%ecx,1),%xmm0
3103 jnz .L031ccm64_enc2_loop
3104 .byte 102,15,56,220,209
3105 .byte 102,15,56,220,217
3106 paddq 16(%esp),%xmm7
3108 .byte 102,15,56,221,208
3109 .byte 102,15,56,221,216
3114 .byte 102,15,56,0,213
3116 jnz .L030ccm64_enc_outer
3133 .size aesni_ccm64_encrypt_blocks,.-.L_aesni_ccm64_encrypt_blocks_begin
3134 .globl aesni_ccm64_decrypt_blocks
3135 .type aesni_ccm64_decrypt_blocks,@function
3137 aesni_ccm64_decrypt_blocks:
3138 .L_aesni_ccm64_decrypt_blocks_begin:
3156 movl $202182159,(%esp)
3157 movl $134810123,4(%esp)
3158 movl $67438087,8(%esp)
3159 movl $66051,12(%esp)
3170 .byte 102,15,56,0,253
3172 movups 16(%edx),%xmm1
3176 .byte 102,15,56,220,209
3180 jnz .L032enc1_loop_5
3181 .byte 102,15,56,221,209
3185 paddq 16(%esp),%xmm7
3188 leal 32(%ebp,%ebx,1),%edx
3190 jmp .L033ccm64_dec_outer
3192 .L033ccm64_dec_outer:
3197 .byte 102,15,56,0,213
3199 jz .L034ccm64_dec_break
3202 movups 16(%ebp),%xmm1
3206 movups 32(%ebp),%xmm0
3207 .L035ccm64_dec2_loop:
3208 .byte 102,15,56,220,209
3209 .byte 102,15,56,220,217
3210 movups (%edx,%ecx,1),%xmm1
3212 .byte 102,15,56,220,208
3213 .byte 102,15,56,220,216
3214 movups -16(%edx,%ecx,1),%xmm0
3215 jnz .L035ccm64_dec2_loop
3217 paddq 16(%esp),%xmm7
3218 .byte 102,15,56,220,209
3219 .byte 102,15,56,220,217
3220 .byte 102,15,56,221,208
3221 .byte 102,15,56,221,216
3223 jmp .L033ccm64_dec_outer
3225 .L034ccm64_dec_break:
3229 movups 16(%edx),%xmm1
3234 .byte 102,15,56,220,217
3238 jnz .L036enc1_loop_6
3239 .byte 102,15,56,221,217
3256 .size aesni_ccm64_decrypt_blocks,.-.L_aesni_ccm64_decrypt_blocks_begin
3257 .globl aesni_ctr32_encrypt_blocks
3258 .type aesni_ctr32_encrypt_blocks,@function
3260 aesni_ctr32_encrypt_blocks:
3261 .L_aesni_ctr32_encrypt_blocks_begin:
3276 je .L037ctr32_one_shortcut
3278 movl $202182159,(%esp)
3279 movl $134810123,4(%esp)
3280 movl $67438087,8(%esp)
3281 movl $66051,12(%esp)
3288 .byte 102,15,58,22,251,3
3289 .byte 102,15,58,34,253,3
3295 .byte 102,15,58,34,195,0
3297 .byte 102,15,58,34,205,0
3299 .byte 102,15,58,34,195,1
3301 .byte 102,15,58,34,205,1
3303 .byte 102,15,58,34,195,2
3305 .byte 102,15,58,34,205,2
3306 movdqa %xmm0,48(%esp)
3307 .byte 102,15,56,0,194
3309 movdqa %xmm1,64(%esp)
3310 .byte 102,15,56,0,202
3311 pshufd $192,%xmm0,%xmm2
3312 pshufd $128,%xmm0,%xmm3
3318 movdqa %xmm7,32(%esp)
3321 leal 32(%edx,%ecx,1),%edx
3323 jmp .L039ctr32_loop6
3326 pshufd $64,%xmm0,%xmm4
3327 movdqa 32(%esp),%xmm0
3328 pshufd $192,%xmm1,%xmm5
3330 pshufd $128,%xmm1,%xmm6
3332 pshufd $64,%xmm1,%xmm7
3333 movups 16(%ebp),%xmm1
3336 .byte 102,15,56,220,209
3339 .byte 102,15,56,220,217
3340 movups 32(%ebp),%xmm0
3342 .byte 102,15,56,220,225
3343 .byte 102,15,56,220,233
3344 .byte 102,15,56,220,241
3345 .byte 102,15,56,220,249
3346 call .L_aesni_encrypt6_enter
3348 movups 16(%esi),%xmm0
3350 movups 32(%esi),%xmm1
3353 movdqa 16(%esp),%xmm0
3355 movdqa 64(%esp),%xmm1
3356 movups %xmm3,16(%edi)
3357 movups %xmm4,32(%edi)
3359 paddd 48(%esp),%xmm0
3361 movups 48(%esi),%xmm3
3362 movups 64(%esi),%xmm4
3364 movups 80(%esi),%xmm3
3366 movdqa %xmm0,48(%esp)
3367 .byte 102,15,56,0,194
3369 movups %xmm5,48(%edi)
3371 movdqa %xmm1,64(%esp)
3372 .byte 102,15,56,0,202
3373 movups %xmm6,64(%edi)
3374 pshufd $192,%xmm0,%xmm2
3375 movups %xmm7,80(%edi)
3377 pshufd $128,%xmm0,%xmm3
3379 jnc .L039ctr32_loop6
3390 pshufd $64,%xmm0,%xmm4
3393 pshufd $192,%xmm1,%xmm5
3397 pshufd $128,%xmm1,%xmm6
3401 call _aesni_encrypt6
3403 movups 16(%esi),%xmm0
3405 movups 32(%esi),%xmm1
3407 movups 48(%esi),%xmm0
3409 movups 64(%esi),%xmm1
3413 movups %xmm3,16(%edi)
3414 movups %xmm4,32(%edi)
3415 movups %xmm5,48(%edi)
3416 movups %xmm6,64(%edi)
3419 .L037ctr32_one_shortcut:
3424 movups 16(%edx),%xmm1
3428 .byte 102,15,56,220,209
3432 jnz .L045enc1_loop_7
3433 .byte 102,15,56,221,209
3440 call _aesni_encrypt2
3442 movups 16(%esi),%xmm6
3446 movups %xmm3,16(%edi)
3450 call _aesni_encrypt3
3452 movups 16(%esi),%xmm6
3454 movups 32(%esi),%xmm7
3458 movups %xmm3,16(%edi)
3459 movups %xmm4,32(%edi)
3463 call _aesni_encrypt4
3465 movups 16(%esi),%xmm7
3466 movups 32(%esi),%xmm1
3468 movups 48(%esi),%xmm0
3472 movups %xmm3,16(%edi)
3474 movups %xmm4,32(%edi)
3475 movups %xmm5,48(%edi)
3482 movdqa %xmm0,32(%esp)
3484 movdqa %xmm0,48(%esp)
3486 movdqa %xmm0,64(%esp)
3494 .size aesni_ctr32_encrypt_blocks,.-.L_aesni_ctr32_encrypt_blocks_begin
3495 .globl aesni_xts_encrypt
3496 .type aesni_xts_encrypt,@function
3499 .L_aesni_xts_encrypt_begin:
3509 movups 16(%edx),%xmm1
3513 .byte 102,15,56,220,209
3517 jnz .L046enc1_loop_8
3518 .byte 102,15,56,221,209
3535 movdqa 96(%esp),%xmm3
3541 jc .L047xts_enc_short
3545 leal 32(%edx,%ecx,1),%edx
3546 jmp .L048xts_enc_loop6
3549 pshufd $19,%xmm0,%xmm2
3556 pshufd $19,%xmm0,%xmm2
3558 movdqa %xmm1,16(%esp)
3563 pshufd $19,%xmm0,%xmm2
3565 movdqa %xmm1,32(%esp)
3570 pshufd $19,%xmm0,%xmm2
3572 movdqa %xmm1,48(%esp)
3577 pshufd $19,%xmm0,%xmm7
3578 movdqa %xmm1,64(%esp)
3585 movdqu 16(%esi),%xmm3
3587 movdqu 32(%esi),%xmm4
3589 movdqu 48(%esi),%xmm5
3591 movdqu 64(%esi),%xmm6
3593 movdqu 80(%esi),%xmm1
3597 movdqa %xmm7,80(%esp)
3599 movups 16(%ebp),%xmm1
3602 .byte 102,15,56,220,209
3605 .byte 102,15,56,220,217
3607 movups 32(%ebp),%xmm0
3608 .byte 102,15,56,220,225
3609 .byte 102,15,56,220,233
3610 .byte 102,15,56,220,241
3611 .byte 102,15,56,220,249
3612 call .L_aesni_encrypt6_enter
3613 movdqa 80(%esp),%xmm1
3617 xorps 16(%esp),%xmm3
3619 xorps 32(%esp),%xmm4
3620 movups %xmm3,16(%edi)
3621 xorps 48(%esp),%xmm5
3622 movups %xmm4,32(%edi)
3623 xorps 64(%esp),%xmm6
3624 movups %xmm5,48(%edi)
3626 movups %xmm6,64(%edi)
3627 pshufd $19,%xmm0,%xmm2
3628 movups %xmm7,80(%edi)
3630 movdqa 96(%esp),%xmm3
3637 jnc .L048xts_enc_loop6
3643 jz .L049xts_enc_done6x
3647 pshufd $19,%xmm0,%xmm2
3654 pshufd $19,%xmm0,%xmm2
3662 jb .L052xts_enc_three
3663 pshufd $19,%xmm0,%xmm2
3671 movdqa %xmm6,16(%esp)
3672 je .L053xts_enc_four
3673 movdqa %xmm7,32(%esp)
3674 pshufd $19,%xmm0,%xmm7
3675 movdqa %xmm1,48(%esp)
3680 movdqu 16(%esi),%xmm3
3681 movdqu 32(%esi),%xmm4
3683 movdqu 48(%esi),%xmm5
3685 movdqu 64(%esi),%xmm6
3689 movdqa %xmm7,64(%esp)
3691 call _aesni_encrypt6
3692 movaps 64(%esp),%xmm1
3694 xorps 16(%esp),%xmm3
3695 xorps 32(%esp),%xmm4
3697 xorps 48(%esp),%xmm5
3698 movups %xmm3,16(%edi)
3700 movups %xmm4,32(%edi)
3701 movups %xmm5,48(%edi)
3702 movups %xmm6,64(%edi)
3704 jmp .L054xts_enc_done
3711 movups 16(%edx),%xmm1
3715 .byte 102,15,56,220,209
3719 jnz .L055enc1_loop_9
3720 .byte 102,15,56,221,209
3725 jmp .L054xts_enc_done
3730 movups 16(%esi),%xmm3
3734 call _aesni_encrypt2
3738 movups %xmm3,16(%edi)
3741 jmp .L054xts_enc_done
3746 movups 16(%esi),%xmm3
3747 movups 32(%esi),%xmm4
3752 call _aesni_encrypt3
3757 movups %xmm3,16(%edi)
3758 movups %xmm4,32(%edi)
3761 jmp .L054xts_enc_done
3766 movups 16(%esi),%xmm3
3767 movups 32(%esi),%xmm4
3769 movups 48(%esi),%xmm5
3771 xorps 16(%esp),%xmm3
3774 call _aesni_encrypt4
3776 xorps 16(%esp),%xmm3
3780 movups %xmm3,16(%edi)
3781 movups %xmm4,32(%edi)
3782 movups %xmm5,48(%edi)
3785 jmp .L054xts_enc_done
3787 .L049xts_enc_done6x:
3793 jmp .L057xts_enc_steal
3802 pshufd $19,%xmm0,%xmm5
3808 movzbl -16(%edi),%edx
3814 jnz .L057xts_enc_steal
3818 movups -16(%edi),%xmm2
3821 movups 16(%edx),%xmm1
3825 .byte 102,15,56,220,209
3829 jnz .L058enc1_loop_10
3830 .byte 102,15,56,221,209
3832 movups %xmm2,-16(%edi)
3839 movdqa %xmm0,16(%esp)
3841 movdqa %xmm0,32(%esp)
3843 movdqa %xmm0,48(%esp)
3845 movdqa %xmm0,64(%esp)
3847 movdqa %xmm0,80(%esp)
3854 .size aesni_xts_encrypt,.-.L_aesni_xts_encrypt_begin
3855 .globl aesni_xts_decrypt
3856 .type aesni_xts_decrypt,@function
3859 .L_aesni_xts_decrypt_begin:
3869 movups 16(%edx),%xmm1
3873 .byte 102,15,56,220,209
3877 jnz .L059enc1_loop_11
3878 .byte 102,15,56,221,209
3902 movdqa 96(%esp),%xmm3
3906 jc .L060xts_dec_short
3910 leal 32(%edx,%ecx,1),%edx
3911 jmp .L061xts_dec_loop6
3914 pshufd $19,%xmm0,%xmm2
3921 pshufd $19,%xmm0,%xmm2
3923 movdqa %xmm1,16(%esp)
3928 pshufd $19,%xmm0,%xmm2
3930 movdqa %xmm1,32(%esp)
3935 pshufd $19,%xmm0,%xmm2
3937 movdqa %xmm1,48(%esp)
3942 pshufd $19,%xmm0,%xmm7
3943 movdqa %xmm1,64(%esp)
3950 movdqu 16(%esi),%xmm3
3952 movdqu 32(%esi),%xmm4
3954 movdqu 48(%esi),%xmm5
3956 movdqu 64(%esi),%xmm6
3958 movdqu 80(%esi),%xmm1
3962 movdqa %xmm7,80(%esp)
3964 movups 16(%ebp),%xmm1
3967 .byte 102,15,56,222,209
3970 .byte 102,15,56,222,217
3972 movups 32(%ebp),%xmm0
3973 .byte 102,15,56,222,225
3974 .byte 102,15,56,222,233
3975 .byte 102,15,56,222,241
3976 .byte 102,15,56,222,249
3977 call .L_aesni_decrypt6_enter
3978 movdqa 80(%esp),%xmm1
3982 xorps 16(%esp),%xmm3
3984 xorps 32(%esp),%xmm4
3985 movups %xmm3,16(%edi)
3986 xorps 48(%esp),%xmm5
3987 movups %xmm4,32(%edi)
3988 xorps 64(%esp),%xmm6
3989 movups %xmm5,48(%edi)
3991 movups %xmm6,64(%edi)
3992 pshufd $19,%xmm0,%xmm2
3993 movups %xmm7,80(%edi)
3995 movdqa 96(%esp),%xmm3
4002 jnc .L061xts_dec_loop6
4008 jz .L062xts_dec_done6x
4012 pshufd $19,%xmm0,%xmm2
4019 pshufd $19,%xmm0,%xmm2
4027 jb .L065xts_dec_three
4028 pshufd $19,%xmm0,%xmm2
4036 movdqa %xmm6,16(%esp)
4037 je .L066xts_dec_four
4038 movdqa %xmm7,32(%esp)
4039 pshufd $19,%xmm0,%xmm7
4040 movdqa %xmm1,48(%esp)
4045 movdqu 16(%esi),%xmm3
4046 movdqu 32(%esi),%xmm4
4048 movdqu 48(%esi),%xmm5
4050 movdqu 64(%esi),%xmm6
4054 movdqa %xmm7,64(%esp)
4056 call _aesni_decrypt6
4057 movaps 64(%esp),%xmm1
4059 xorps 16(%esp),%xmm3
4060 xorps 32(%esp),%xmm4
4062 xorps 48(%esp),%xmm5
4063 movups %xmm3,16(%edi)
4065 movups %xmm4,32(%edi)
4066 movups %xmm5,48(%edi)
4067 movups %xmm6,64(%edi)
4069 jmp .L067xts_dec_done
4076 movups 16(%edx),%xmm1
4080 .byte 102,15,56,222,209
4084 jnz .L068dec1_loop_12
4085 .byte 102,15,56,223,209
4090 jmp .L067xts_dec_done
4095 movups 16(%esi),%xmm3
4099 call _aesni_decrypt2
4103 movups %xmm3,16(%edi)
4106 jmp .L067xts_dec_done
4111 movups 16(%esi),%xmm3
4112 movups 32(%esi),%xmm4
4117 call _aesni_decrypt3
4122 movups %xmm3,16(%edi)
4123 movups %xmm4,32(%edi)
4126 jmp .L067xts_dec_done
4131 movups 16(%esi),%xmm3
4132 movups 32(%esi),%xmm4
4134 movups 48(%esi),%xmm5
4136 xorps 16(%esp),%xmm3
4139 call _aesni_decrypt4
4141 xorps 16(%esp),%xmm3
4145 movups %xmm3,16(%edi)
4146 movups %xmm4,32(%edi)
4147 movups %xmm5,48(%edi)
4150 jmp .L067xts_dec_done
4152 .L062xts_dec_done6x:
4157 jmp .L070xts_dec_only_one_more
4166 pshufd $19,%xmm0,%xmm2
4168 movdqa 96(%esp),%xmm3
4173 .L070xts_dec_only_one_more:
4174 pshufd $19,%xmm0,%xmm5
4184 movups 16(%edx),%xmm1
4188 .byte 102,15,56,222,209
4192 jnz .L071dec1_loop_13
4193 .byte 102,15,56,223,209
4197 movzbl 16(%esi),%ecx
4204 jnz .L072xts_dec_steal
4211 movups 16(%edx),%xmm1
4215 .byte 102,15,56,222,209
4219 jnz .L073dec1_loop_14
4220 .byte 102,15,56,223,209
4229 movdqa %xmm0,16(%esp)
4231 movdqa %xmm0,32(%esp)
4233 movdqa %xmm0,48(%esp)
4235 movdqa %xmm0,64(%esp)
4237 movdqa %xmm0,80(%esp)
4244 .size aesni_xts_decrypt,.-.L_aesni_xts_decrypt_begin
4245 .globl aesni_cbc_encrypt
4246 .type aesni_cbc_encrypt,@function
4249 .L_aesni_cbc_encrypt_begin:
4274 jb .L076cbc_enc_tail
4276 jmp .L077cbc_enc_loop
4282 movups 16(%edx),%xmm1
4287 .byte 102,15,56,220,209
4291 jnz .L078enc1_loop_15
4292 .byte 102,15,56,221,209
4298 jnc .L077cbc_enc_loop
4300 jnz .L076cbc_enc_tail
4315 jmp .L077cbc_enc_loop
4319 jbe .L080cbc_dec_tail
4322 jmp .L081cbc_dec_loop6_enter
4328 .L081cbc_dec_loop6_enter:
4330 movdqu 16(%esi),%xmm3
4331 movdqu 32(%esi),%xmm4
4332 movdqu 48(%esi),%xmm5
4333 movdqu 64(%esi),%xmm6
4334 movdqu 80(%esi),%xmm7
4335 call _aesni_decrypt6
4337 movups 16(%esi),%xmm0
4340 movups 32(%esi),%xmm1
4342 movups 48(%esi),%xmm0
4344 movups 64(%esi),%xmm1
4346 movups 80(%esi),%xmm0
4349 movups %xmm3,16(%edi)
4351 movups %xmm4,32(%edi)
4353 movups %xmm5,48(%edi)
4355 movups %xmm6,64(%edi)
4358 ja .L082cbc_dec_loop6
4362 jle .L083cbc_dec_clear_tail_collected
4369 jbe .L084cbc_dec_one
4370 movups 16(%esi),%xmm3
4373 jbe .L085cbc_dec_two
4374 movups 32(%esi),%xmm4
4376 jbe .L086cbc_dec_three
4377 movups 48(%esi),%xmm5
4379 jbe .L087cbc_dec_four
4380 movups 64(%esi),%xmm6
4384 call _aesni_decrypt6
4386 movups 16(%esi),%xmm0
4389 movups 32(%esi),%xmm1
4391 movups 48(%esi),%xmm0
4393 movups 64(%esi),%xmm7
4396 movups %xmm3,16(%edi)
4398 movups %xmm4,32(%edi)
4400 movups %xmm5,48(%edi)
4406 jmp .L088cbc_dec_tail_collected
4410 movups 16(%edx),%xmm1
4414 .byte 102,15,56,222,209
4418 jnz .L089dec1_loop_16
4419 .byte 102,15,56,223,209
4423 jmp .L088cbc_dec_tail_collected
4426 call _aesni_decrypt2
4435 jmp .L088cbc_dec_tail_collected
4438 call _aesni_decrypt3
4445 movups %xmm3,16(%edi)
4448 movups 32(%esi),%xmm7
4450 jmp .L088cbc_dec_tail_collected
4453 call _aesni_decrypt4
4454 movups 16(%esi),%xmm1
4455 movups 32(%esi),%xmm0
4457 movups 48(%esi),%xmm7
4461 movups %xmm3,16(%edi)
4464 movups %xmm4,32(%edi)
4470 jmp .L088cbc_dec_tail_collected
4472 .L083cbc_dec_clear_tail_collected:
4477 .L088cbc_dec_tail_collected:
4479 jnz .L090cbc_dec_tail_partial
4484 .L090cbc_dec_tail_partial:
4505 .size aesni_cbc_encrypt,.-.L_aesni_cbc_encrypt_begin
4506 .type _aesni_set_encrypt_key,@function
4508 _aesni_set_encrypt_key:
4518 leal .Lkey_const-.L092pic(%ebx),%ebx
4519 leal OPENSSL_ia32cap_P,%ebp
4524 andl $268437504,%ebp
4530 jne .L095bad_keybits
4533 cmpl $268435456,%ebp
4534 je .L09710rounds_alt
4536 movups %xmm0,-16(%edx)
4537 .byte 102,15,58,223,200,1
4538 call .L098key_128_cold
4539 .byte 102,15,58,223,200,2
4541 .byte 102,15,58,223,200,4
4543 .byte 102,15,58,223,200,8
4545 .byte 102,15,58,223,200,16
4547 .byte 102,15,58,223,200,32
4549 .byte 102,15,58,223,200,64
4551 .byte 102,15,58,223,200,128
4553 .byte 102,15,58,223,200,27
4555 .byte 102,15,58,223,200,54
4565 shufps $16,%xmm0,%xmm4
4567 shufps $140,%xmm0,%xmm4
4569 shufps $255,%xmm1,%xmm1
4576 movdqa 32(%ebx),%xmm4
4578 movdqu %xmm0,-16(%edx)
4580 .byte 102,15,56,0,197
4581 .byte 102,15,56,221,196
4592 movdqu %xmm0,-16(%edx)
4595 jnz .L101loop_key128
4596 movdqa 48(%ebx),%xmm4
4597 .byte 102,15,56,0,197
4598 .byte 102,15,56,221,196
4610 .byte 102,15,56,0,197
4611 .byte 102,15,56,221,196
4620 movdqu %xmm0,16(%edx)
4627 cmpl $268435456,%ebp
4628 je .L10212rounds_alt
4630 movups %xmm0,-16(%edx)
4631 .byte 102,15,58,223,202,1
4632 call .L103key_192a_cold
4633 .byte 102,15,58,223,202,2
4635 .byte 102,15,58,223,202,4
4637 .byte 102,15,58,223,202,8
4639 .byte 102,15,58,223,202,16
4641 .byte 102,15,58,223,202,32
4643 .byte 102,15,58,223,202,64
4645 .byte 102,15,58,223,202,128
4658 shufps $16,%xmm0,%xmm4
4661 shufps $140,%xmm0,%xmm4
4664 pshufd $85,%xmm1,%xmm1
4667 pshufd $255,%xmm0,%xmm3
4673 shufps $68,%xmm0,%xmm5
4675 shufps $78,%xmm2,%xmm3
4676 movups %xmm3,16(%edx)
4678 jmp .L106key_192b_warm
4681 movdqa 16(%ebx),%xmm5
4682 movdqa 32(%ebx),%xmm4
4684 movdqu %xmm0,-16(%edx)
4688 .byte 102,15,56,0,213
4689 .byte 102,15,56,221,212
4699 pshufd $255,%xmm0,%xmm3
4705 movdqu %xmm0,-16(%edx)
4707 jnz .L107loop_key192
4713 movups 16(%eax),%xmm2
4715 cmpl $268435456,%ebp
4716 je .L10814rounds_alt
4718 movups %xmm0,-32(%edx)
4719 movups %xmm2,-16(%edx)
4720 .byte 102,15,58,223,202,1
4721 call .L109key_256a_cold
4722 .byte 102,15,58,223,200,1
4724 .byte 102,15,58,223,202,2
4726 .byte 102,15,58,223,200,2
4728 .byte 102,15,58,223,202,4
4730 .byte 102,15,58,223,200,4
4732 .byte 102,15,58,223,202,8
4734 .byte 102,15,58,223,200,8
4736 .byte 102,15,58,223,202,16
4738 .byte 102,15,58,223,200,16
4740 .byte 102,15,58,223,202,32
4742 .byte 102,15,58,223,200,32
4744 .byte 102,15,58,223,202,64
4755 shufps $16,%xmm0,%xmm4
4757 shufps $140,%xmm0,%xmm4
4759 shufps $255,%xmm1,%xmm1
4766 shufps $16,%xmm2,%xmm4
4768 shufps $140,%xmm2,%xmm4
4770 shufps $170,%xmm1,%xmm1
4776 movdqa 32(%ebx),%xmm4
4778 movdqu %xmm0,-32(%edx)
4780 movdqu %xmm2,-16(%edx)
4782 .byte 102,15,56,0,213
4783 .byte 102,15,56,221,212
4796 pshufd $255,%xmm0,%xmm2
4798 .byte 102,15,56,221,211
4807 movdqu %xmm2,16(%edx)
4810 jmp .L112loop_key256
4838 .size _aesni_set_encrypt_key,.-_aesni_set_encrypt_key
4839 .globl aesni_set_encrypt_key
4840 .type aesni_set_encrypt_key,@function
4842 aesni_set_encrypt_key:
4843 .L_aesni_set_encrypt_key_begin:
4847 call _aesni_set_encrypt_key
4849 .size aesni_set_encrypt_key,.-.L_aesni_set_encrypt_key_begin
4850 .globl aesni_set_decrypt_key
4851 .type aesni_set_decrypt_key,@function
4853 aesni_set_decrypt_key:
4854 .L_aesni_set_decrypt_key_begin:
4858 call _aesni_set_encrypt_key
4862 jnz .L114dec_key_ret
4863 leal 16(%edx,%ecx,1),%eax
4870 .L115dec_key_inverse:
4873 .byte 102,15,56,219,192
4874 .byte 102,15,56,219,201
4877 movups %xmm0,16(%eax)
4878 movups %xmm1,-16(%edx)
4880 ja .L115dec_key_inverse
4882 .byte 102,15,56,219,192
4889 .size aesni_set_decrypt_key,.-.L_aesni_set_decrypt_key_begin
4892 .long 202313229,202313229,202313229,202313229
4893 .long 67569157,67569157,67569157,67569157
4896 .byte 65,69,83,32,102,111,114,32,73,110,116,101,108,32,65,69
4897 .byte 83,45,78,73,44,32,67,82,89,80,84,79,71,65,77,83
4898 .byte 32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115
4899 .byte 115,108,46,111,114,103,62,0
4900 .comm OPENSSL_ia32cap_P,16,4