5 .type aesni_encrypt,@function
8 .L_aesni_encrypt_begin:
19 .byte 102,15,56,220,209
24 .byte 102,15,56,221,209
30 .size aesni_encrypt,.-.L_aesni_encrypt_begin
32 .type aesni_decrypt,@function
35 .L_aesni_decrypt_begin:
46 .byte 102,15,56,222,209
51 .byte 102,15,56,223,209
57 .size aesni_decrypt,.-.L_aesni_decrypt_begin
58 .type _aesni_encrypt2,@function
67 leal 32(%edx,%ecx,1),%edx
71 .byte 102,15,56,220,209
72 .byte 102,15,56,220,217
73 movups (%edx,%ecx,1),%xmm1
75 .byte 102,15,56,220,208
76 .byte 102,15,56,220,216
77 movups -16(%edx,%ecx,1),%xmm0
79 .byte 102,15,56,220,209
80 .byte 102,15,56,220,217
81 .byte 102,15,56,221,208
82 .byte 102,15,56,221,216
84 .size _aesni_encrypt2,.-_aesni_encrypt2
85 .type _aesni_decrypt2,@function
94 leal 32(%edx,%ecx,1),%edx
98 .byte 102,15,56,222,209
99 .byte 102,15,56,222,217
100 movups (%edx,%ecx,1),%xmm1
102 .byte 102,15,56,222,208
103 .byte 102,15,56,222,216
104 movups -16(%edx,%ecx,1),%xmm0
106 .byte 102,15,56,222,209
107 .byte 102,15,56,222,217
108 .byte 102,15,56,223,208
109 .byte 102,15,56,223,216
111 .size _aesni_decrypt2,.-_aesni_decrypt2
112 .type _aesni_encrypt3,@function
117 movups 16(%edx),%xmm1
121 movups 32(%edx),%xmm0
122 leal 32(%edx,%ecx,1),%edx
126 .byte 102,15,56,220,209
127 .byte 102,15,56,220,217
128 .byte 102,15,56,220,225
129 movups (%edx,%ecx,1),%xmm1
131 .byte 102,15,56,220,208
132 .byte 102,15,56,220,216
133 .byte 102,15,56,220,224
134 movups -16(%edx,%ecx,1),%xmm0
136 .byte 102,15,56,220,209
137 .byte 102,15,56,220,217
138 .byte 102,15,56,220,225
139 .byte 102,15,56,221,208
140 .byte 102,15,56,221,216
141 .byte 102,15,56,221,224
143 .size _aesni_encrypt3,.-_aesni_encrypt3
144 .type _aesni_decrypt3,@function
149 movups 16(%edx),%xmm1
153 movups 32(%edx),%xmm0
154 leal 32(%edx,%ecx,1),%edx
158 .byte 102,15,56,222,209
159 .byte 102,15,56,222,217
160 .byte 102,15,56,222,225
161 movups (%edx,%ecx,1),%xmm1
163 .byte 102,15,56,222,208
164 .byte 102,15,56,222,216
165 .byte 102,15,56,222,224
166 movups -16(%edx,%ecx,1),%xmm0
168 .byte 102,15,56,222,209
169 .byte 102,15,56,222,217
170 .byte 102,15,56,222,225
171 .byte 102,15,56,223,208
172 .byte 102,15,56,223,216
173 .byte 102,15,56,223,224
175 .size _aesni_decrypt3,.-_aesni_decrypt3
176 .type _aesni_encrypt4,@function
180 movups 16(%edx),%xmm1
186 movups 32(%edx),%xmm0
187 leal 32(%edx,%ecx,1),%edx
192 .byte 102,15,56,220,209
193 .byte 102,15,56,220,217
194 .byte 102,15,56,220,225
195 .byte 102,15,56,220,233
196 movups (%edx,%ecx,1),%xmm1
198 .byte 102,15,56,220,208
199 .byte 102,15,56,220,216
200 .byte 102,15,56,220,224
201 .byte 102,15,56,220,232
202 movups -16(%edx,%ecx,1),%xmm0
204 .byte 102,15,56,220,209
205 .byte 102,15,56,220,217
206 .byte 102,15,56,220,225
207 .byte 102,15,56,220,233
208 .byte 102,15,56,221,208
209 .byte 102,15,56,221,216
210 .byte 102,15,56,221,224
211 .byte 102,15,56,221,232
213 .size _aesni_encrypt4,.-_aesni_encrypt4
214 .type _aesni_decrypt4,@function
218 movups 16(%edx),%xmm1
224 movups 32(%edx),%xmm0
225 leal 32(%edx,%ecx,1),%edx
230 .byte 102,15,56,222,209
231 .byte 102,15,56,222,217
232 .byte 102,15,56,222,225
233 .byte 102,15,56,222,233
234 movups (%edx,%ecx,1),%xmm1
236 .byte 102,15,56,222,208
237 .byte 102,15,56,222,216
238 .byte 102,15,56,222,224
239 .byte 102,15,56,222,232
240 movups -16(%edx,%ecx,1),%xmm0
242 .byte 102,15,56,222,209
243 .byte 102,15,56,222,217
244 .byte 102,15,56,222,225
245 .byte 102,15,56,222,233
246 .byte 102,15,56,223,208
247 .byte 102,15,56,223,216
248 .byte 102,15,56,223,224
249 .byte 102,15,56,223,232
251 .size _aesni_decrypt4,.-_aesni_decrypt4
252 .type _aesni_encrypt6,@function
257 movups 16(%edx),%xmm1
261 .byte 102,15,56,220,209
264 .byte 102,15,56,220,217
265 leal 32(%edx,%ecx,1),%edx
267 .byte 102,15,56,220,225
269 movups (%edx,%ecx,1),%xmm0
271 jmp .L008_aesni_encrypt6_inner
274 .byte 102,15,56,220,209
275 .byte 102,15,56,220,217
276 .byte 102,15,56,220,225
277 .L008_aesni_encrypt6_inner:
278 .byte 102,15,56,220,233
279 .byte 102,15,56,220,241
280 .byte 102,15,56,220,249
281 .L_aesni_encrypt6_enter:
282 movups (%edx,%ecx,1),%xmm1
284 .byte 102,15,56,220,208
285 .byte 102,15,56,220,216
286 .byte 102,15,56,220,224
287 .byte 102,15,56,220,232
288 .byte 102,15,56,220,240
289 .byte 102,15,56,220,248
290 movups -16(%edx,%ecx,1),%xmm0
292 .byte 102,15,56,220,209
293 .byte 102,15,56,220,217
294 .byte 102,15,56,220,225
295 .byte 102,15,56,220,233
296 .byte 102,15,56,220,241
297 .byte 102,15,56,220,249
298 .byte 102,15,56,221,208
299 .byte 102,15,56,221,216
300 .byte 102,15,56,221,224
301 .byte 102,15,56,221,232
302 .byte 102,15,56,221,240
303 .byte 102,15,56,221,248
305 .size _aesni_encrypt6,.-_aesni_encrypt6
306 .type _aesni_decrypt6,@function
311 movups 16(%edx),%xmm1
315 .byte 102,15,56,222,209
318 .byte 102,15,56,222,217
319 leal 32(%edx,%ecx,1),%edx
321 .byte 102,15,56,222,225
323 movups (%edx,%ecx,1),%xmm0
325 jmp .L010_aesni_decrypt6_inner
328 .byte 102,15,56,222,209
329 .byte 102,15,56,222,217
330 .byte 102,15,56,222,225
331 .L010_aesni_decrypt6_inner:
332 .byte 102,15,56,222,233
333 .byte 102,15,56,222,241
334 .byte 102,15,56,222,249
335 .L_aesni_decrypt6_enter:
336 movups (%edx,%ecx,1),%xmm1
338 .byte 102,15,56,222,208
339 .byte 102,15,56,222,216
340 .byte 102,15,56,222,224
341 .byte 102,15,56,222,232
342 .byte 102,15,56,222,240
343 .byte 102,15,56,222,248
344 movups -16(%edx,%ecx,1),%xmm0
346 .byte 102,15,56,222,209
347 .byte 102,15,56,222,217
348 .byte 102,15,56,222,225
349 .byte 102,15,56,222,233
350 .byte 102,15,56,222,241
351 .byte 102,15,56,222,249
352 .byte 102,15,56,223,208
353 .byte 102,15,56,223,216
354 .byte 102,15,56,223,224
355 .byte 102,15,56,223,232
356 .byte 102,15,56,223,240
357 .byte 102,15,56,223,248
359 .size _aesni_decrypt6,.-_aesni_decrypt6
360 .globl aesni_ecb_encrypt
361 .type aesni_ecb_encrypt,@function
364 .L_aesni_ecb_encrypt_begin:
384 movdqu 16(%esi),%xmm3
385 movdqu 32(%esi),%xmm4
386 movdqu 48(%esi),%xmm5
387 movdqu 64(%esi),%xmm6
388 movdqu 80(%esi),%xmm7
391 jmp .L015ecb_enc_loop6_enter
396 movups %xmm3,16(%edi)
397 movdqu 16(%esi),%xmm3
398 movups %xmm4,32(%edi)
399 movdqu 32(%esi),%xmm4
400 movups %xmm5,48(%edi)
401 movdqu 48(%esi),%xmm5
402 movups %xmm6,64(%edi)
403 movdqu 64(%esi),%xmm6
404 movups %xmm7,80(%edi)
406 movdqu 80(%esi),%xmm7
408 .L015ecb_enc_loop6_enter:
413 jnc .L016ecb_enc_loop6
415 movups %xmm3,16(%edi)
416 movups %xmm4,32(%edi)
417 movups %xmm5,48(%edi)
418 movups %xmm6,64(%edi)
419 movups %xmm7,80(%edi)
427 movups 16(%esi),%xmm3
429 movups 32(%esi),%xmm4
431 jb .L019ecb_enc_three
432 movups 48(%esi),%xmm5
434 movups 64(%esi),%xmm6
438 movups %xmm3,16(%edi)
439 movups %xmm4,32(%edi)
440 movups %xmm5,48(%edi)
441 movups %xmm6,64(%edi)
446 movups 16(%edx),%xmm1
450 .byte 102,15,56,220,209
455 .byte 102,15,56,221,209
462 movups %xmm3,16(%edi)
468 movups %xmm3,16(%edi)
469 movups %xmm4,32(%edi)
475 movups %xmm3,16(%edi)
476 movups %xmm4,32(%edi)
477 movups %xmm5,48(%edi)
486 movdqu 16(%esi),%xmm3
487 movdqu 32(%esi),%xmm4
488 movdqu 48(%esi),%xmm5
489 movdqu 64(%esi),%xmm6
490 movdqu 80(%esi),%xmm7
493 jmp .L023ecb_dec_loop6_enter
498 movups %xmm3,16(%edi)
499 movdqu 16(%esi),%xmm3
500 movups %xmm4,32(%edi)
501 movdqu 32(%esi),%xmm4
502 movups %xmm5,48(%edi)
503 movdqu 48(%esi),%xmm5
504 movups %xmm6,64(%edi)
505 movdqu 64(%esi),%xmm6
506 movups %xmm7,80(%edi)
508 movdqu 80(%esi),%xmm7
510 .L023ecb_dec_loop6_enter:
515 jnc .L024ecb_dec_loop6
517 movups %xmm3,16(%edi)
518 movups %xmm4,32(%edi)
519 movups %xmm5,48(%edi)
520 movups %xmm6,64(%edi)
521 movups %xmm7,80(%edi)
529 movups 16(%esi),%xmm3
531 movups 32(%esi),%xmm4
533 jb .L027ecb_dec_three
534 movups 48(%esi),%xmm5
536 movups 64(%esi),%xmm6
540 movups %xmm3,16(%edi)
541 movups %xmm4,32(%edi)
542 movups %xmm5,48(%edi)
543 movups %xmm6,64(%edi)
548 movups 16(%edx),%xmm1
552 .byte 102,15,56,222,209
557 .byte 102,15,56,223,209
564 movups %xmm3,16(%edi)
570 movups %xmm3,16(%edi)
571 movups %xmm4,32(%edi)
577 movups %xmm3,16(%edi)
578 movups %xmm4,32(%edi)
579 movups %xmm5,48(%edi)
594 .size aesni_ecb_encrypt,.-.L_aesni_ecb_encrypt_begin
595 .globl aesni_ccm64_encrypt_blocks
596 .type aesni_ccm64_encrypt_blocks,@function
598 aesni_ccm64_encrypt_blocks:
599 .L_aesni_ccm64_encrypt_blocks_begin:
617 movl $202182159,(%esp)
618 movl $134810123,4(%esp)
619 movl $67438087,8(%esp)
632 leal 32(%edx,%ecx,1),%edx
634 .byte 102,15,56,0,253
635 .L030ccm64_enc_outer:
640 movups 16(%ebp),%xmm1
643 movups 32(%ebp),%xmm0
644 .L031ccm64_enc2_loop:
645 .byte 102,15,56,220,209
646 .byte 102,15,56,220,217
647 movups (%edx,%ecx,1),%xmm1
649 .byte 102,15,56,220,208
650 .byte 102,15,56,220,216
651 movups -16(%edx,%ecx,1),%xmm0
652 jnz .L031ccm64_enc2_loop
653 .byte 102,15,56,220,209
654 .byte 102,15,56,220,217
657 .byte 102,15,56,221,208
658 .byte 102,15,56,221,216
663 .byte 102,15,56,0,213
665 jnz .L030ccm64_enc_outer
682 .size aesni_ccm64_encrypt_blocks,.-.L_aesni_ccm64_encrypt_blocks_begin
683 .globl aesni_ccm64_decrypt_blocks
684 .type aesni_ccm64_decrypt_blocks,@function
686 aesni_ccm64_decrypt_blocks:
687 .L_aesni_ccm64_decrypt_blocks_begin:
705 movl $202182159,(%esp)
706 movl $134810123,4(%esp)
707 movl $67438087,8(%esp)
719 .byte 102,15,56,0,253
721 movups 16(%edx),%xmm1
725 .byte 102,15,56,220,209
730 .byte 102,15,56,221,209
737 leal 32(%ebp,%ebx,1),%edx
739 jmp .L033ccm64_dec_outer
741 .L033ccm64_dec_outer:
746 .byte 102,15,56,0,213
748 jz .L034ccm64_dec_break
751 movups 16(%ebp),%xmm1
755 movups 32(%ebp),%xmm0
756 .L035ccm64_dec2_loop:
757 .byte 102,15,56,220,209
758 .byte 102,15,56,220,217
759 movups (%edx,%ecx,1),%xmm1
761 .byte 102,15,56,220,208
762 .byte 102,15,56,220,216
763 movups -16(%edx,%ecx,1),%xmm0
764 jnz .L035ccm64_dec2_loop
767 .byte 102,15,56,220,209
768 .byte 102,15,56,220,217
769 .byte 102,15,56,221,208
770 .byte 102,15,56,221,216
772 jmp .L033ccm64_dec_outer
774 .L034ccm64_dec_break:
778 movups 16(%edx),%xmm1
783 .byte 102,15,56,220,217
788 .byte 102,15,56,221,217
805 .size aesni_ccm64_decrypt_blocks,.-.L_aesni_ccm64_decrypt_blocks_begin
806 .globl aesni_ctr32_encrypt_blocks
807 .type aesni_ctr32_encrypt_blocks,@function
809 aesni_ctr32_encrypt_blocks:
810 .L_aesni_ctr32_encrypt_blocks_begin:
825 je .L037ctr32_one_shortcut
827 movl $202182159,(%esp)
828 movl $134810123,4(%esp)
829 movl $67438087,8(%esp)
837 .byte 102,15,58,22,251,3
838 .byte 102,15,58,34,253,3
844 .byte 102,15,58,34,195,0
846 .byte 102,15,58,34,205,0
848 .byte 102,15,58,34,195,1
850 .byte 102,15,58,34,205,1
852 .byte 102,15,58,34,195,2
854 .byte 102,15,58,34,205,2
855 movdqa %xmm0,48(%esp)
856 .byte 102,15,56,0,194
858 movdqa %xmm1,64(%esp)
859 .byte 102,15,56,0,202
860 pshufd $192,%xmm0,%xmm2
861 pshufd $128,%xmm0,%xmm3
867 movdqa %xmm7,32(%esp)
870 leal 32(%edx,%ecx,1),%edx
875 pshufd $64,%xmm0,%xmm4
876 movdqa 32(%esp),%xmm0
877 pshufd $192,%xmm1,%xmm5
879 pshufd $128,%xmm1,%xmm6
881 pshufd $64,%xmm1,%xmm7
882 movups 16(%ebp),%xmm1
885 .byte 102,15,56,220,209
888 .byte 102,15,56,220,217
889 movups 32(%ebp),%xmm0
891 .byte 102,15,56,220,225
892 .byte 102,15,56,220,233
893 .byte 102,15,56,220,241
894 .byte 102,15,56,220,249
895 call .L_aesni_encrypt6_enter
897 movups 16(%esi),%xmm0
899 movups 32(%esi),%xmm1
902 movdqa 16(%esp),%xmm0
904 movdqa 64(%esp),%xmm1
905 movups %xmm3,16(%edi)
906 movups %xmm4,32(%edi)
910 movups 48(%esi),%xmm3
911 movups 64(%esi),%xmm4
913 movups 80(%esi),%xmm3
915 movdqa %xmm0,48(%esp)
916 .byte 102,15,56,0,194
918 movups %xmm5,48(%edi)
920 movdqa %xmm1,64(%esp)
921 .byte 102,15,56,0,202
922 movups %xmm6,64(%edi)
923 pshufd $192,%xmm0,%xmm2
924 movups %xmm7,80(%edi)
926 pshufd $128,%xmm0,%xmm3
939 pshufd $64,%xmm0,%xmm4
942 pshufd $192,%xmm1,%xmm5
946 pshufd $128,%xmm1,%xmm6
952 movups 16(%esi),%xmm0
954 movups 32(%esi),%xmm1
956 movups 48(%esi),%xmm0
958 movups 64(%esi),%xmm1
962 movups %xmm3,16(%edi)
963 movups %xmm4,32(%edi)
964 movups %xmm5,48(%edi)
965 movups %xmm6,64(%edi)
968 .L037ctr32_one_shortcut:
973 movups 16(%edx),%xmm1
977 .byte 102,15,56,220,209
982 .byte 102,15,56,221,209
991 movups 16(%esi),%xmm6
995 movups %xmm3,16(%edi)
1001 movups 16(%esi),%xmm6
1003 movups 32(%esi),%xmm7
1007 movups %xmm3,16(%edi)
1008 movups %xmm4,32(%edi)
1012 call _aesni_encrypt4
1014 movups 16(%esi),%xmm7
1015 movups 32(%esi),%xmm1
1017 movups 48(%esi),%xmm0
1021 movups %xmm3,16(%edi)
1023 movups %xmm4,32(%edi)
1024 movups %xmm5,48(%edi)
1031 movdqa %xmm0,32(%esp)
1033 movdqa %xmm0,48(%esp)
1035 movdqa %xmm0,64(%esp)
1043 .size aesni_ctr32_encrypt_blocks,.-.L_aesni_ctr32_encrypt_blocks_begin
1044 .globl aesni_xts_encrypt
1045 .type aesni_xts_encrypt,@function
1048 .L_aesni_xts_encrypt_begin:
1058 movups 16(%edx),%xmm1
1062 .byte 102,15,56,220,209
1066 jnz .L046enc1_loop_8
1067 .byte 102,15,56,221,209
1084 movdqa 96(%esp),%xmm3
1090 jc .L047xts_enc_short
1094 leal 32(%edx,%ecx,1),%edx
1095 jmp .L048xts_enc_loop6
1098 pshufd $19,%xmm0,%xmm2
1105 pshufd $19,%xmm0,%xmm2
1107 movdqa %xmm1,16(%esp)
1112 pshufd $19,%xmm0,%xmm2
1114 movdqa %xmm1,32(%esp)
1119 pshufd $19,%xmm0,%xmm2
1121 movdqa %xmm1,48(%esp)
1126 pshufd $19,%xmm0,%xmm7
1127 movdqa %xmm1,64(%esp)
1134 movdqu 16(%esi),%xmm3
1136 movdqu 32(%esi),%xmm4
1138 movdqu 48(%esi),%xmm5
1140 movdqu 64(%esi),%xmm6
1142 movdqu 80(%esi),%xmm1
1146 movdqa %xmm7,80(%esp)
1148 movups 16(%ebp),%xmm1
1151 .byte 102,15,56,220,209
1154 .byte 102,15,56,220,217
1156 movups 32(%ebp),%xmm0
1157 .byte 102,15,56,220,225
1158 .byte 102,15,56,220,233
1159 .byte 102,15,56,220,241
1160 .byte 102,15,56,220,249
1161 call .L_aesni_encrypt6_enter
1162 movdqa 80(%esp),%xmm1
1166 xorps 16(%esp),%xmm3
1168 xorps 32(%esp),%xmm4
1169 movups %xmm3,16(%edi)
1170 xorps 48(%esp),%xmm5
1171 movups %xmm4,32(%edi)
1172 xorps 64(%esp),%xmm6
1173 movups %xmm5,48(%edi)
1175 movups %xmm6,64(%edi)
1176 pshufd $19,%xmm0,%xmm2
1177 movups %xmm7,80(%edi)
1179 movdqa 96(%esp),%xmm3
1186 jnc .L048xts_enc_loop6
1192 jz .L049xts_enc_done6x
1196 pshufd $19,%xmm0,%xmm2
1203 pshufd $19,%xmm0,%xmm2
1211 jb .L052xts_enc_three
1212 pshufd $19,%xmm0,%xmm2
1220 movdqa %xmm6,16(%esp)
1221 je .L053xts_enc_four
1222 movdqa %xmm7,32(%esp)
1223 pshufd $19,%xmm0,%xmm7
1224 movdqa %xmm1,48(%esp)
1229 movdqu 16(%esi),%xmm3
1230 movdqu 32(%esi),%xmm4
1232 movdqu 48(%esi),%xmm5
1234 movdqu 64(%esi),%xmm6
1238 movdqa %xmm7,64(%esp)
1240 call _aesni_encrypt6
1241 movaps 64(%esp),%xmm1
1243 xorps 16(%esp),%xmm3
1244 xorps 32(%esp),%xmm4
1246 xorps 48(%esp),%xmm5
1247 movups %xmm3,16(%edi)
1249 movups %xmm4,32(%edi)
1250 movups %xmm5,48(%edi)
1251 movups %xmm6,64(%edi)
1253 jmp .L054xts_enc_done
1260 movups 16(%edx),%xmm1
1264 .byte 102,15,56,220,209
1268 jnz .L055enc1_loop_9
1269 .byte 102,15,56,221,209
1274 jmp .L054xts_enc_done
1279 movups 16(%esi),%xmm3
1283 call _aesni_encrypt2
1287 movups %xmm3,16(%edi)
1290 jmp .L054xts_enc_done
1295 movups 16(%esi),%xmm3
1296 movups 32(%esi),%xmm4
1301 call _aesni_encrypt3
1306 movups %xmm3,16(%edi)
1307 movups %xmm4,32(%edi)
1310 jmp .L054xts_enc_done
1315 movups 16(%esi),%xmm3
1316 movups 32(%esi),%xmm4
1318 movups 48(%esi),%xmm5
1320 xorps 16(%esp),%xmm3
1323 call _aesni_encrypt4
1325 xorps 16(%esp),%xmm3
1329 movups %xmm3,16(%edi)
1330 movups %xmm4,32(%edi)
1331 movups %xmm5,48(%edi)
1334 jmp .L054xts_enc_done
1336 .L049xts_enc_done6x:
1342 jmp .L057xts_enc_steal
1351 pshufd $19,%xmm0,%xmm5
1357 movzbl -16(%edi),%edx
1363 jnz .L057xts_enc_steal
1367 movups -16(%edi),%xmm2
1370 movups 16(%edx),%xmm1
1374 .byte 102,15,56,220,209
1378 jnz .L058enc1_loop_10
1379 .byte 102,15,56,221,209
1381 movups %xmm2,-16(%edi)
1388 movdqa %xmm0,16(%esp)
1390 movdqa %xmm0,32(%esp)
1392 movdqa %xmm0,48(%esp)
1394 movdqa %xmm0,64(%esp)
1396 movdqa %xmm0,80(%esp)
1403 .size aesni_xts_encrypt,.-.L_aesni_xts_encrypt_begin
1404 .globl aesni_xts_decrypt
1405 .type aesni_xts_decrypt,@function
1408 .L_aesni_xts_decrypt_begin:
1418 movups 16(%edx),%xmm1
1422 .byte 102,15,56,220,209
1426 jnz .L059enc1_loop_11
1427 .byte 102,15,56,221,209
1451 movdqa 96(%esp),%xmm3
1455 jc .L060xts_dec_short
1459 leal 32(%edx,%ecx,1),%edx
1460 jmp .L061xts_dec_loop6
1463 pshufd $19,%xmm0,%xmm2
1470 pshufd $19,%xmm0,%xmm2
1472 movdqa %xmm1,16(%esp)
1477 pshufd $19,%xmm0,%xmm2
1479 movdqa %xmm1,32(%esp)
1484 pshufd $19,%xmm0,%xmm2
1486 movdqa %xmm1,48(%esp)
1491 pshufd $19,%xmm0,%xmm7
1492 movdqa %xmm1,64(%esp)
1499 movdqu 16(%esi),%xmm3
1501 movdqu 32(%esi),%xmm4
1503 movdqu 48(%esi),%xmm5
1505 movdqu 64(%esi),%xmm6
1507 movdqu 80(%esi),%xmm1
1511 movdqa %xmm7,80(%esp)
1513 movups 16(%ebp),%xmm1
1516 .byte 102,15,56,222,209
1519 .byte 102,15,56,222,217
1521 movups 32(%ebp),%xmm0
1522 .byte 102,15,56,222,225
1523 .byte 102,15,56,222,233
1524 .byte 102,15,56,222,241
1525 .byte 102,15,56,222,249
1526 call .L_aesni_decrypt6_enter
1527 movdqa 80(%esp),%xmm1
1531 xorps 16(%esp),%xmm3
1533 xorps 32(%esp),%xmm4
1534 movups %xmm3,16(%edi)
1535 xorps 48(%esp),%xmm5
1536 movups %xmm4,32(%edi)
1537 xorps 64(%esp),%xmm6
1538 movups %xmm5,48(%edi)
1540 movups %xmm6,64(%edi)
1541 pshufd $19,%xmm0,%xmm2
1542 movups %xmm7,80(%edi)
1544 movdqa 96(%esp),%xmm3
1551 jnc .L061xts_dec_loop6
1557 jz .L062xts_dec_done6x
1561 pshufd $19,%xmm0,%xmm2
1568 pshufd $19,%xmm0,%xmm2
1576 jb .L065xts_dec_three
1577 pshufd $19,%xmm0,%xmm2
1585 movdqa %xmm6,16(%esp)
1586 je .L066xts_dec_four
1587 movdqa %xmm7,32(%esp)
1588 pshufd $19,%xmm0,%xmm7
1589 movdqa %xmm1,48(%esp)
1594 movdqu 16(%esi),%xmm3
1595 movdqu 32(%esi),%xmm4
1597 movdqu 48(%esi),%xmm5
1599 movdqu 64(%esi),%xmm6
1603 movdqa %xmm7,64(%esp)
1605 call _aesni_decrypt6
1606 movaps 64(%esp),%xmm1
1608 xorps 16(%esp),%xmm3
1609 xorps 32(%esp),%xmm4
1611 xorps 48(%esp),%xmm5
1612 movups %xmm3,16(%edi)
1614 movups %xmm4,32(%edi)
1615 movups %xmm5,48(%edi)
1616 movups %xmm6,64(%edi)
1618 jmp .L067xts_dec_done
1625 movups 16(%edx),%xmm1
1629 .byte 102,15,56,222,209
1633 jnz .L068dec1_loop_12
1634 .byte 102,15,56,223,209
1639 jmp .L067xts_dec_done
1644 movups 16(%esi),%xmm3
1648 call _aesni_decrypt2
1652 movups %xmm3,16(%edi)
1655 jmp .L067xts_dec_done
1660 movups 16(%esi),%xmm3
1661 movups 32(%esi),%xmm4
1666 call _aesni_decrypt3
1671 movups %xmm3,16(%edi)
1672 movups %xmm4,32(%edi)
1675 jmp .L067xts_dec_done
1680 movups 16(%esi),%xmm3
1681 movups 32(%esi),%xmm4
1683 movups 48(%esi),%xmm5
1685 xorps 16(%esp),%xmm3
1688 call _aesni_decrypt4
1690 xorps 16(%esp),%xmm3
1694 movups %xmm3,16(%edi)
1695 movups %xmm4,32(%edi)
1696 movups %xmm5,48(%edi)
1699 jmp .L067xts_dec_done
1701 .L062xts_dec_done6x:
1706 jmp .L070xts_dec_only_one_more
1715 pshufd $19,%xmm0,%xmm2
1717 movdqa 96(%esp),%xmm3
1722 .L070xts_dec_only_one_more:
1723 pshufd $19,%xmm0,%xmm5
1733 movups 16(%edx),%xmm1
1737 .byte 102,15,56,222,209
1741 jnz .L071dec1_loop_13
1742 .byte 102,15,56,223,209
1746 movzbl 16(%esi),%ecx
1753 jnz .L072xts_dec_steal
1760 movups 16(%edx),%xmm1
1764 .byte 102,15,56,222,209
1768 jnz .L073dec1_loop_14
1769 .byte 102,15,56,223,209
1778 movdqa %xmm0,16(%esp)
1780 movdqa %xmm0,32(%esp)
1782 movdqa %xmm0,48(%esp)
1784 movdqa %xmm0,64(%esp)
1786 movdqa %xmm0,80(%esp)
1793 .size aesni_xts_decrypt,.-.L_aesni_xts_decrypt_begin
1794 .globl aesni_cbc_encrypt
1795 .type aesni_cbc_encrypt,@function
1798 .L_aesni_cbc_encrypt_begin:
1823 jb .L076cbc_enc_tail
1825 jmp .L077cbc_enc_loop
1831 movups 16(%edx),%xmm1
1836 .byte 102,15,56,220,209
1840 jnz .L078enc1_loop_15
1841 .byte 102,15,56,221,209
1847 jnc .L077cbc_enc_loop
1849 jnz .L076cbc_enc_tail
1864 jmp .L077cbc_enc_loop
1868 jbe .L080cbc_dec_tail
1871 jmp .L081cbc_dec_loop6_enter
1877 .L081cbc_dec_loop6_enter:
1879 movdqu 16(%esi),%xmm3
1880 movdqu 32(%esi),%xmm4
1881 movdqu 48(%esi),%xmm5
1882 movdqu 64(%esi),%xmm6
1883 movdqu 80(%esi),%xmm7
1884 call _aesni_decrypt6
1886 movups 16(%esi),%xmm0
1889 movups 32(%esi),%xmm1
1891 movups 48(%esi),%xmm0
1893 movups 64(%esi),%xmm1
1895 movups 80(%esi),%xmm0
1898 movups %xmm3,16(%edi)
1900 movups %xmm4,32(%edi)
1902 movups %xmm5,48(%edi)
1904 movups %xmm6,64(%edi)
1907 ja .L082cbc_dec_loop6
1911 jle .L083cbc_dec_clear_tail_collected
1918 jbe .L084cbc_dec_one
1919 movups 16(%esi),%xmm3
1922 jbe .L085cbc_dec_two
1923 movups 32(%esi),%xmm4
1925 jbe .L086cbc_dec_three
1926 movups 48(%esi),%xmm5
1928 jbe .L087cbc_dec_four
1929 movups 64(%esi),%xmm6
1933 call _aesni_decrypt6
1935 movups 16(%esi),%xmm0
1938 movups 32(%esi),%xmm1
1940 movups 48(%esi),%xmm0
1942 movups 64(%esi),%xmm7
1945 movups %xmm3,16(%edi)
1947 movups %xmm4,32(%edi)
1949 movups %xmm5,48(%edi)
1955 jmp .L088cbc_dec_tail_collected
1959 movups 16(%edx),%xmm1
1963 .byte 102,15,56,222,209
1967 jnz .L089dec1_loop_16
1968 .byte 102,15,56,223,209
1972 jmp .L088cbc_dec_tail_collected
1975 call _aesni_decrypt2
1984 jmp .L088cbc_dec_tail_collected
1987 call _aesni_decrypt3
1994 movups %xmm3,16(%edi)
1997 movups 32(%esi),%xmm7
1999 jmp .L088cbc_dec_tail_collected
2002 call _aesni_decrypt4
2003 movups 16(%esi),%xmm1
2004 movups 32(%esi),%xmm0
2006 movups 48(%esi),%xmm7
2010 movups %xmm3,16(%edi)
2013 movups %xmm4,32(%edi)
2019 jmp .L088cbc_dec_tail_collected
2021 .L083cbc_dec_clear_tail_collected:
2026 .L088cbc_dec_tail_collected:
2028 jnz .L090cbc_dec_tail_partial
2033 .L090cbc_dec_tail_partial:
2054 .size aesni_cbc_encrypt,.-.L_aesni_cbc_encrypt_begin
2055 .type _aesni_set_encrypt_key,@function
2057 _aesni_set_encrypt_key:
2067 leal .Lkey_const-.L092pic(%ebx),%ebx
2068 leal OPENSSL_ia32cap_P,%ebp
2073 andl $268437504,%ebp
2079 jne .L095bad_keybits
2082 cmpl $268435456,%ebp
2083 je .L09710rounds_alt
2085 movups %xmm0,-16(%edx)
2086 .byte 102,15,58,223,200,1
2087 call .L098key_128_cold
2088 .byte 102,15,58,223,200,2
2090 .byte 102,15,58,223,200,4
2092 .byte 102,15,58,223,200,8
2094 .byte 102,15,58,223,200,16
2096 .byte 102,15,58,223,200,32
2098 .byte 102,15,58,223,200,64
2100 .byte 102,15,58,223,200,128
2102 .byte 102,15,58,223,200,27
2104 .byte 102,15,58,223,200,54
2114 shufps $16,%xmm0,%xmm4
2116 shufps $140,%xmm0,%xmm4
2118 shufps $255,%xmm1,%xmm1
2125 movdqa 32(%ebx),%xmm4
2127 movdqu %xmm0,-16(%edx)
2129 .byte 102,15,56,0,197
2130 .byte 102,15,56,221,196
2141 movdqu %xmm0,-16(%edx)
2144 jnz .L101loop_key128
2145 movdqa 48(%ebx),%xmm4
2146 .byte 102,15,56,0,197
2147 .byte 102,15,56,221,196
2159 .byte 102,15,56,0,197
2160 .byte 102,15,56,221,196
2169 movdqu %xmm0,16(%edx)
2176 cmpl $268435456,%ebp
2177 je .L10212rounds_alt
2179 movups %xmm0,-16(%edx)
2180 .byte 102,15,58,223,202,1
2181 call .L103key_192a_cold
2182 .byte 102,15,58,223,202,2
2184 .byte 102,15,58,223,202,4
2186 .byte 102,15,58,223,202,8
2188 .byte 102,15,58,223,202,16
2190 .byte 102,15,58,223,202,32
2192 .byte 102,15,58,223,202,64
2194 .byte 102,15,58,223,202,128
2207 shufps $16,%xmm0,%xmm4
2210 shufps $140,%xmm0,%xmm4
2213 pshufd $85,%xmm1,%xmm1
2216 pshufd $255,%xmm0,%xmm3
2222 shufps $68,%xmm0,%xmm5
2224 shufps $78,%xmm2,%xmm3
2225 movups %xmm3,16(%edx)
2227 jmp .L106key_192b_warm
2230 movdqa 16(%ebx),%xmm5
2231 movdqa 32(%ebx),%xmm4
2233 movdqu %xmm0,-16(%edx)
2237 .byte 102,15,56,0,213
2238 .byte 102,15,56,221,212
2248 pshufd $255,%xmm0,%xmm3
2254 movdqu %xmm0,-16(%edx)
2256 jnz .L107loop_key192
2262 movups 16(%eax),%xmm2
2264 cmpl $268435456,%ebp
2265 je .L10814rounds_alt
2267 movups %xmm0,-32(%edx)
2268 movups %xmm2,-16(%edx)
2269 .byte 102,15,58,223,202,1
2270 call .L109key_256a_cold
2271 .byte 102,15,58,223,200,1
2273 .byte 102,15,58,223,202,2
2275 .byte 102,15,58,223,200,2
2277 .byte 102,15,58,223,202,4
2279 .byte 102,15,58,223,200,4
2281 .byte 102,15,58,223,202,8
2283 .byte 102,15,58,223,200,8
2285 .byte 102,15,58,223,202,16
2287 .byte 102,15,58,223,200,16
2289 .byte 102,15,58,223,202,32
2291 .byte 102,15,58,223,200,32
2293 .byte 102,15,58,223,202,64
2304 shufps $16,%xmm0,%xmm4
2306 shufps $140,%xmm0,%xmm4
2308 shufps $255,%xmm1,%xmm1
2315 shufps $16,%xmm2,%xmm4
2317 shufps $140,%xmm2,%xmm4
2319 shufps $170,%xmm1,%xmm1
2325 movdqa 32(%ebx),%xmm4
2327 movdqu %xmm0,-32(%edx)
2329 movdqu %xmm2,-16(%edx)
2331 .byte 102,15,56,0,213
2332 .byte 102,15,56,221,212
2345 pshufd $255,%xmm0,%xmm2
2347 .byte 102,15,56,221,211
2356 movdqu %xmm2,16(%edx)
2359 jmp .L112loop_key256
2387 .size _aesni_set_encrypt_key,.-_aesni_set_encrypt_key
2388 .globl aesni_set_encrypt_key
2389 .type aesni_set_encrypt_key,@function
2391 aesni_set_encrypt_key:
2392 .L_aesni_set_encrypt_key_begin:
2396 call _aesni_set_encrypt_key
2398 .size aesni_set_encrypt_key,.-.L_aesni_set_encrypt_key_begin
2399 .globl aesni_set_decrypt_key
2400 .type aesni_set_decrypt_key,@function
2402 aesni_set_decrypt_key:
2403 .L_aesni_set_decrypt_key_begin:
2407 call _aesni_set_encrypt_key
2411 jnz .L114dec_key_ret
2412 leal 16(%edx,%ecx,1),%eax
2419 .L115dec_key_inverse:
2422 .byte 102,15,56,219,192
2423 .byte 102,15,56,219,201
2426 movups %xmm0,16(%eax)
2427 movups %xmm1,-16(%edx)
2429 ja .L115dec_key_inverse
2431 .byte 102,15,56,219,192
2438 .size aesni_set_decrypt_key,.-.L_aesni_set_decrypt_key_begin
2441 .long 202313229,202313229,202313229,202313229
2442 .long 67569157,67569157,67569157,67569157
2445 .byte 65,69,83,32,102,111,114,32,73,110,116,101,108,32,65,69
2446 .byte 83,45,78,73,44,32,67,82,89,80,84,79,71,65,77,83
2447 .byte 32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115
2448 .byte 115,108,46,111,114,103,62,0
2449 .comm OPENSSL_ia32cap_P,16,4