2 /* Do not modify. This file is auto-generated from aesni-x86.pl. */
6 .type aesni_encrypt,@function
9 .L_aesni_encrypt_begin:
20 .byte 102,15,56,220,209
25 .byte 102,15,56,221,209
31 .size aesni_encrypt,.-.L_aesni_encrypt_begin
33 .type aesni_decrypt,@function
36 .L_aesni_decrypt_begin:
47 .byte 102,15,56,222,209
52 .byte 102,15,56,223,209
58 .size aesni_decrypt,.-.L_aesni_decrypt_begin
59 .type _aesni_encrypt2,@function
68 leal 32(%edx,%ecx,1),%edx
72 .byte 102,15,56,220,209
73 .byte 102,15,56,220,217
74 movups (%edx,%ecx,1),%xmm1
76 .byte 102,15,56,220,208
77 .byte 102,15,56,220,216
78 movups -16(%edx,%ecx,1),%xmm0
80 .byte 102,15,56,220,209
81 .byte 102,15,56,220,217
82 .byte 102,15,56,221,208
83 .byte 102,15,56,221,216
85 .size _aesni_encrypt2,.-_aesni_encrypt2
86 .type _aesni_decrypt2,@function
95 leal 32(%edx,%ecx,1),%edx
99 .byte 102,15,56,222,209
100 .byte 102,15,56,222,217
101 movups (%edx,%ecx,1),%xmm1
103 .byte 102,15,56,222,208
104 .byte 102,15,56,222,216
105 movups -16(%edx,%ecx,1),%xmm0
107 .byte 102,15,56,222,209
108 .byte 102,15,56,222,217
109 .byte 102,15,56,223,208
110 .byte 102,15,56,223,216
112 .size _aesni_decrypt2,.-_aesni_decrypt2
113 .type _aesni_encrypt3,@function
118 movups 16(%edx),%xmm1
122 movups 32(%edx),%xmm0
123 leal 32(%edx,%ecx,1),%edx
127 .byte 102,15,56,220,209
128 .byte 102,15,56,220,217
129 .byte 102,15,56,220,225
130 movups (%edx,%ecx,1),%xmm1
132 .byte 102,15,56,220,208
133 .byte 102,15,56,220,216
134 .byte 102,15,56,220,224
135 movups -16(%edx,%ecx,1),%xmm0
137 .byte 102,15,56,220,209
138 .byte 102,15,56,220,217
139 .byte 102,15,56,220,225
140 .byte 102,15,56,221,208
141 .byte 102,15,56,221,216
142 .byte 102,15,56,221,224
144 .size _aesni_encrypt3,.-_aesni_encrypt3
145 .type _aesni_decrypt3,@function
150 movups 16(%edx),%xmm1
154 movups 32(%edx),%xmm0
155 leal 32(%edx,%ecx,1),%edx
159 .byte 102,15,56,222,209
160 .byte 102,15,56,222,217
161 .byte 102,15,56,222,225
162 movups (%edx,%ecx,1),%xmm1
164 .byte 102,15,56,222,208
165 .byte 102,15,56,222,216
166 .byte 102,15,56,222,224
167 movups -16(%edx,%ecx,1),%xmm0
169 .byte 102,15,56,222,209
170 .byte 102,15,56,222,217
171 .byte 102,15,56,222,225
172 .byte 102,15,56,223,208
173 .byte 102,15,56,223,216
174 .byte 102,15,56,223,224
176 .size _aesni_decrypt3,.-_aesni_decrypt3
177 .type _aesni_encrypt4,@function
181 movups 16(%edx),%xmm1
187 movups 32(%edx),%xmm0
188 leal 32(%edx,%ecx,1),%edx
193 .byte 102,15,56,220,209
194 .byte 102,15,56,220,217
195 .byte 102,15,56,220,225
196 .byte 102,15,56,220,233
197 movups (%edx,%ecx,1),%xmm1
199 .byte 102,15,56,220,208
200 .byte 102,15,56,220,216
201 .byte 102,15,56,220,224
202 .byte 102,15,56,220,232
203 movups -16(%edx,%ecx,1),%xmm0
205 .byte 102,15,56,220,209
206 .byte 102,15,56,220,217
207 .byte 102,15,56,220,225
208 .byte 102,15,56,220,233
209 .byte 102,15,56,221,208
210 .byte 102,15,56,221,216
211 .byte 102,15,56,221,224
212 .byte 102,15,56,221,232
214 .size _aesni_encrypt4,.-_aesni_encrypt4
215 .type _aesni_decrypt4,@function
219 movups 16(%edx),%xmm1
225 movups 32(%edx),%xmm0
226 leal 32(%edx,%ecx,1),%edx
231 .byte 102,15,56,222,209
232 .byte 102,15,56,222,217
233 .byte 102,15,56,222,225
234 .byte 102,15,56,222,233
235 movups (%edx,%ecx,1),%xmm1
237 .byte 102,15,56,222,208
238 .byte 102,15,56,222,216
239 .byte 102,15,56,222,224
240 .byte 102,15,56,222,232
241 movups -16(%edx,%ecx,1),%xmm0
243 .byte 102,15,56,222,209
244 .byte 102,15,56,222,217
245 .byte 102,15,56,222,225
246 .byte 102,15,56,222,233
247 .byte 102,15,56,223,208
248 .byte 102,15,56,223,216
249 .byte 102,15,56,223,224
250 .byte 102,15,56,223,232
252 .size _aesni_decrypt4,.-_aesni_decrypt4
253 .type _aesni_encrypt6,@function
258 movups 16(%edx),%xmm1
262 .byte 102,15,56,220,209
265 .byte 102,15,56,220,217
266 leal 32(%edx,%ecx,1),%edx
268 .byte 102,15,56,220,225
270 movups (%edx,%ecx,1),%xmm0
272 jmp .L008_aesni_encrypt6_inner
275 .byte 102,15,56,220,209
276 .byte 102,15,56,220,217
277 .byte 102,15,56,220,225
278 .L008_aesni_encrypt6_inner:
279 .byte 102,15,56,220,233
280 .byte 102,15,56,220,241
281 .byte 102,15,56,220,249
282 .L_aesni_encrypt6_enter:
283 movups (%edx,%ecx,1),%xmm1
285 .byte 102,15,56,220,208
286 .byte 102,15,56,220,216
287 .byte 102,15,56,220,224
288 .byte 102,15,56,220,232
289 .byte 102,15,56,220,240
290 .byte 102,15,56,220,248
291 movups -16(%edx,%ecx,1),%xmm0
293 .byte 102,15,56,220,209
294 .byte 102,15,56,220,217
295 .byte 102,15,56,220,225
296 .byte 102,15,56,220,233
297 .byte 102,15,56,220,241
298 .byte 102,15,56,220,249
299 .byte 102,15,56,221,208
300 .byte 102,15,56,221,216
301 .byte 102,15,56,221,224
302 .byte 102,15,56,221,232
303 .byte 102,15,56,221,240
304 .byte 102,15,56,221,248
306 .size _aesni_encrypt6,.-_aesni_encrypt6
307 .type _aesni_decrypt6,@function
312 movups 16(%edx),%xmm1
316 .byte 102,15,56,222,209
319 .byte 102,15,56,222,217
320 leal 32(%edx,%ecx,1),%edx
322 .byte 102,15,56,222,225
324 movups (%edx,%ecx,1),%xmm0
326 jmp .L010_aesni_decrypt6_inner
329 .byte 102,15,56,222,209
330 .byte 102,15,56,222,217
331 .byte 102,15,56,222,225
332 .L010_aesni_decrypt6_inner:
333 .byte 102,15,56,222,233
334 .byte 102,15,56,222,241
335 .byte 102,15,56,222,249
336 .L_aesni_decrypt6_enter:
337 movups (%edx,%ecx,1),%xmm1
339 .byte 102,15,56,222,208
340 .byte 102,15,56,222,216
341 .byte 102,15,56,222,224
342 .byte 102,15,56,222,232
343 .byte 102,15,56,222,240
344 .byte 102,15,56,222,248
345 movups -16(%edx,%ecx,1),%xmm0
347 .byte 102,15,56,222,209
348 .byte 102,15,56,222,217
349 .byte 102,15,56,222,225
350 .byte 102,15,56,222,233
351 .byte 102,15,56,222,241
352 .byte 102,15,56,222,249
353 .byte 102,15,56,223,208
354 .byte 102,15,56,223,216
355 .byte 102,15,56,223,224
356 .byte 102,15,56,223,232
357 .byte 102,15,56,223,240
358 .byte 102,15,56,223,248
360 .size _aesni_decrypt6,.-_aesni_decrypt6
361 .globl aesni_ecb_encrypt
362 .type aesni_ecb_encrypt,@function
365 .L_aesni_ecb_encrypt_begin:
385 movdqu 16(%esi),%xmm3
386 movdqu 32(%esi),%xmm4
387 movdqu 48(%esi),%xmm5
388 movdqu 64(%esi),%xmm6
389 movdqu 80(%esi),%xmm7
392 jmp .L015ecb_enc_loop6_enter
397 movups %xmm3,16(%edi)
398 movdqu 16(%esi),%xmm3
399 movups %xmm4,32(%edi)
400 movdqu 32(%esi),%xmm4
401 movups %xmm5,48(%edi)
402 movdqu 48(%esi),%xmm5
403 movups %xmm6,64(%edi)
404 movdqu 64(%esi),%xmm6
405 movups %xmm7,80(%edi)
407 movdqu 80(%esi),%xmm7
409 .L015ecb_enc_loop6_enter:
414 jnc .L016ecb_enc_loop6
416 movups %xmm3,16(%edi)
417 movups %xmm4,32(%edi)
418 movups %xmm5,48(%edi)
419 movups %xmm6,64(%edi)
420 movups %xmm7,80(%edi)
428 movups 16(%esi),%xmm3
430 movups 32(%esi),%xmm4
432 jb .L019ecb_enc_three
433 movups 48(%esi),%xmm5
435 movups 64(%esi),%xmm6
439 movups %xmm3,16(%edi)
440 movups %xmm4,32(%edi)
441 movups %xmm5,48(%edi)
442 movups %xmm6,64(%edi)
447 movups 16(%edx),%xmm1
451 .byte 102,15,56,220,209
456 .byte 102,15,56,221,209
463 movups %xmm3,16(%edi)
469 movups %xmm3,16(%edi)
470 movups %xmm4,32(%edi)
476 movups %xmm3,16(%edi)
477 movups %xmm4,32(%edi)
478 movups %xmm5,48(%edi)
487 movdqu 16(%esi),%xmm3
488 movdqu 32(%esi),%xmm4
489 movdqu 48(%esi),%xmm5
490 movdqu 64(%esi),%xmm6
491 movdqu 80(%esi),%xmm7
494 jmp .L023ecb_dec_loop6_enter
499 movups %xmm3,16(%edi)
500 movdqu 16(%esi),%xmm3
501 movups %xmm4,32(%edi)
502 movdqu 32(%esi),%xmm4
503 movups %xmm5,48(%edi)
504 movdqu 48(%esi),%xmm5
505 movups %xmm6,64(%edi)
506 movdqu 64(%esi),%xmm6
507 movups %xmm7,80(%edi)
509 movdqu 80(%esi),%xmm7
511 .L023ecb_dec_loop6_enter:
516 jnc .L024ecb_dec_loop6
518 movups %xmm3,16(%edi)
519 movups %xmm4,32(%edi)
520 movups %xmm5,48(%edi)
521 movups %xmm6,64(%edi)
522 movups %xmm7,80(%edi)
530 movups 16(%esi),%xmm3
532 movups 32(%esi),%xmm4
534 jb .L027ecb_dec_three
535 movups 48(%esi),%xmm5
537 movups 64(%esi),%xmm6
541 movups %xmm3,16(%edi)
542 movups %xmm4,32(%edi)
543 movups %xmm5,48(%edi)
544 movups %xmm6,64(%edi)
549 movups 16(%edx),%xmm1
553 .byte 102,15,56,222,209
558 .byte 102,15,56,223,209
565 movups %xmm3,16(%edi)
571 movups %xmm3,16(%edi)
572 movups %xmm4,32(%edi)
578 movups %xmm3,16(%edi)
579 movups %xmm4,32(%edi)
580 movups %xmm5,48(%edi)
595 .size aesni_ecb_encrypt,.-.L_aesni_ecb_encrypt_begin
596 .globl aesni_ccm64_encrypt_blocks
597 .type aesni_ccm64_encrypt_blocks,@function
599 aesni_ccm64_encrypt_blocks:
600 .L_aesni_ccm64_encrypt_blocks_begin:
618 movl $202182159,(%esp)
619 movl $134810123,4(%esp)
620 movl $67438087,8(%esp)
633 leal 32(%edx,%ecx,1),%edx
635 .byte 102,15,56,0,253
636 .L030ccm64_enc_outer:
641 movups 16(%ebp),%xmm1
644 movups 32(%ebp),%xmm0
645 .L031ccm64_enc2_loop:
646 .byte 102,15,56,220,209
647 .byte 102,15,56,220,217
648 movups (%edx,%ecx,1),%xmm1
650 .byte 102,15,56,220,208
651 .byte 102,15,56,220,216
652 movups -16(%edx,%ecx,1),%xmm0
653 jnz .L031ccm64_enc2_loop
654 .byte 102,15,56,220,209
655 .byte 102,15,56,220,217
658 .byte 102,15,56,221,208
659 .byte 102,15,56,221,216
664 .byte 102,15,56,0,213
666 jnz .L030ccm64_enc_outer
683 .size aesni_ccm64_encrypt_blocks,.-.L_aesni_ccm64_encrypt_blocks_begin
684 .globl aesni_ccm64_decrypt_blocks
685 .type aesni_ccm64_decrypt_blocks,@function
687 aesni_ccm64_decrypt_blocks:
688 .L_aesni_ccm64_decrypt_blocks_begin:
706 movl $202182159,(%esp)
707 movl $134810123,4(%esp)
708 movl $67438087,8(%esp)
720 .byte 102,15,56,0,253
722 movups 16(%edx),%xmm1
726 .byte 102,15,56,220,209
731 .byte 102,15,56,221,209
738 leal 32(%ebp,%ebx,1),%edx
740 jmp .L033ccm64_dec_outer
742 .L033ccm64_dec_outer:
747 .byte 102,15,56,0,213
749 jz .L034ccm64_dec_break
752 movups 16(%ebp),%xmm1
756 movups 32(%ebp),%xmm0
757 .L035ccm64_dec2_loop:
758 .byte 102,15,56,220,209
759 .byte 102,15,56,220,217
760 movups (%edx,%ecx,1),%xmm1
762 .byte 102,15,56,220,208
763 .byte 102,15,56,220,216
764 movups -16(%edx,%ecx,1),%xmm0
765 jnz .L035ccm64_dec2_loop
768 .byte 102,15,56,220,209
769 .byte 102,15,56,220,217
770 .byte 102,15,56,221,208
771 .byte 102,15,56,221,216
773 jmp .L033ccm64_dec_outer
775 .L034ccm64_dec_break:
779 movups 16(%edx),%xmm1
784 .byte 102,15,56,220,217
789 .byte 102,15,56,221,217
806 .size aesni_ccm64_decrypt_blocks,.-.L_aesni_ccm64_decrypt_blocks_begin
807 .globl aesni_ctr32_encrypt_blocks
808 .type aesni_ctr32_encrypt_blocks,@function
810 aesni_ctr32_encrypt_blocks:
811 .L_aesni_ctr32_encrypt_blocks_begin:
826 je .L037ctr32_one_shortcut
828 movl $202182159,(%esp)
829 movl $134810123,4(%esp)
830 movl $67438087,8(%esp)
838 .byte 102,15,58,22,251,3
839 .byte 102,15,58,34,253,3
845 .byte 102,15,58,34,195,0
847 .byte 102,15,58,34,205,0
849 .byte 102,15,58,34,195,1
851 .byte 102,15,58,34,205,1
853 .byte 102,15,58,34,195,2
855 .byte 102,15,58,34,205,2
856 movdqa %xmm0,48(%esp)
857 .byte 102,15,56,0,194
859 movdqa %xmm1,64(%esp)
860 .byte 102,15,56,0,202
861 pshufd $192,%xmm0,%xmm2
862 pshufd $128,%xmm0,%xmm3
868 movdqa %xmm7,32(%esp)
871 leal 32(%edx,%ecx,1),%edx
876 pshufd $64,%xmm0,%xmm4
877 movdqa 32(%esp),%xmm0
878 pshufd $192,%xmm1,%xmm5
880 pshufd $128,%xmm1,%xmm6
882 pshufd $64,%xmm1,%xmm7
883 movups 16(%ebp),%xmm1
886 .byte 102,15,56,220,209
889 .byte 102,15,56,220,217
890 movups 32(%ebp),%xmm0
892 .byte 102,15,56,220,225
893 .byte 102,15,56,220,233
894 .byte 102,15,56,220,241
895 .byte 102,15,56,220,249
896 call .L_aesni_encrypt6_enter
898 movups 16(%esi),%xmm0
900 movups 32(%esi),%xmm1
903 movdqa 16(%esp),%xmm0
905 movdqa 64(%esp),%xmm1
906 movups %xmm3,16(%edi)
907 movups %xmm4,32(%edi)
911 movups 48(%esi),%xmm3
912 movups 64(%esi),%xmm4
914 movups 80(%esi),%xmm3
916 movdqa %xmm0,48(%esp)
917 .byte 102,15,56,0,194
919 movups %xmm5,48(%edi)
921 movdqa %xmm1,64(%esp)
922 .byte 102,15,56,0,202
923 movups %xmm6,64(%edi)
924 pshufd $192,%xmm0,%xmm2
925 movups %xmm7,80(%edi)
927 pshufd $128,%xmm0,%xmm3
940 pshufd $64,%xmm0,%xmm4
943 pshufd $192,%xmm1,%xmm5
947 pshufd $128,%xmm1,%xmm6
953 movups 16(%esi),%xmm0
955 movups 32(%esi),%xmm1
957 movups 48(%esi),%xmm0
959 movups 64(%esi),%xmm1
963 movups %xmm3,16(%edi)
964 movups %xmm4,32(%edi)
965 movups %xmm5,48(%edi)
966 movups %xmm6,64(%edi)
969 .L037ctr32_one_shortcut:
974 movups 16(%edx),%xmm1
978 .byte 102,15,56,220,209
983 .byte 102,15,56,221,209
992 movups 16(%esi),%xmm6
996 movups %xmm3,16(%edi)
1000 call _aesni_encrypt3
1002 movups 16(%esi),%xmm6
1004 movups 32(%esi),%xmm7
1008 movups %xmm3,16(%edi)
1009 movups %xmm4,32(%edi)
1013 call _aesni_encrypt4
1015 movups 16(%esi),%xmm7
1016 movups 32(%esi),%xmm1
1018 movups 48(%esi),%xmm0
1022 movups %xmm3,16(%edi)
1024 movups %xmm4,32(%edi)
1025 movups %xmm5,48(%edi)
1032 movdqa %xmm0,32(%esp)
1034 movdqa %xmm0,48(%esp)
1036 movdqa %xmm0,64(%esp)
1044 .size aesni_ctr32_encrypt_blocks,.-.L_aesni_ctr32_encrypt_blocks_begin
1045 .globl aesni_xts_encrypt
1046 .type aesni_xts_encrypt,@function
1049 .L_aesni_xts_encrypt_begin:
1059 movups 16(%edx),%xmm1
1063 .byte 102,15,56,220,209
1067 jnz .L046enc1_loop_8
1068 .byte 102,15,56,221,209
1085 movdqa 96(%esp),%xmm3
1091 jc .L047xts_enc_short
1095 leal 32(%edx,%ecx,1),%edx
1096 jmp .L048xts_enc_loop6
1099 pshufd $19,%xmm0,%xmm2
1106 pshufd $19,%xmm0,%xmm2
1108 movdqa %xmm1,16(%esp)
1113 pshufd $19,%xmm0,%xmm2
1115 movdqa %xmm1,32(%esp)
1120 pshufd $19,%xmm0,%xmm2
1122 movdqa %xmm1,48(%esp)
1127 pshufd $19,%xmm0,%xmm7
1128 movdqa %xmm1,64(%esp)
1135 movdqu 16(%esi),%xmm3
1137 movdqu 32(%esi),%xmm4
1139 movdqu 48(%esi),%xmm5
1141 movdqu 64(%esi),%xmm6
1143 movdqu 80(%esi),%xmm1
1147 movdqa %xmm7,80(%esp)
1149 movups 16(%ebp),%xmm1
1152 .byte 102,15,56,220,209
1155 .byte 102,15,56,220,217
1157 movups 32(%ebp),%xmm0
1158 .byte 102,15,56,220,225
1159 .byte 102,15,56,220,233
1160 .byte 102,15,56,220,241
1161 .byte 102,15,56,220,249
1162 call .L_aesni_encrypt6_enter
1163 movdqa 80(%esp),%xmm1
1167 xorps 16(%esp),%xmm3
1169 xorps 32(%esp),%xmm4
1170 movups %xmm3,16(%edi)
1171 xorps 48(%esp),%xmm5
1172 movups %xmm4,32(%edi)
1173 xorps 64(%esp),%xmm6
1174 movups %xmm5,48(%edi)
1176 movups %xmm6,64(%edi)
1177 pshufd $19,%xmm0,%xmm2
1178 movups %xmm7,80(%edi)
1180 movdqa 96(%esp),%xmm3
1187 jnc .L048xts_enc_loop6
1193 jz .L049xts_enc_done6x
1197 pshufd $19,%xmm0,%xmm2
1204 pshufd $19,%xmm0,%xmm2
1212 jb .L052xts_enc_three
1213 pshufd $19,%xmm0,%xmm2
1221 movdqa %xmm6,16(%esp)
1222 je .L053xts_enc_four
1223 movdqa %xmm7,32(%esp)
1224 pshufd $19,%xmm0,%xmm7
1225 movdqa %xmm1,48(%esp)
1230 movdqu 16(%esi),%xmm3
1231 movdqu 32(%esi),%xmm4
1233 movdqu 48(%esi),%xmm5
1235 movdqu 64(%esi),%xmm6
1239 movdqa %xmm7,64(%esp)
1241 call _aesni_encrypt6
1242 movaps 64(%esp),%xmm1
1244 xorps 16(%esp),%xmm3
1245 xorps 32(%esp),%xmm4
1247 xorps 48(%esp),%xmm5
1248 movups %xmm3,16(%edi)
1250 movups %xmm4,32(%edi)
1251 movups %xmm5,48(%edi)
1252 movups %xmm6,64(%edi)
1254 jmp .L054xts_enc_done
1261 movups 16(%edx),%xmm1
1265 .byte 102,15,56,220,209
1269 jnz .L055enc1_loop_9
1270 .byte 102,15,56,221,209
1275 jmp .L054xts_enc_done
1280 movups 16(%esi),%xmm3
1284 call _aesni_encrypt2
1288 movups %xmm3,16(%edi)
1291 jmp .L054xts_enc_done
1296 movups 16(%esi),%xmm3
1297 movups 32(%esi),%xmm4
1302 call _aesni_encrypt3
1307 movups %xmm3,16(%edi)
1308 movups %xmm4,32(%edi)
1311 jmp .L054xts_enc_done
1316 movups 16(%esi),%xmm3
1317 movups 32(%esi),%xmm4
1319 movups 48(%esi),%xmm5
1321 xorps 16(%esp),%xmm3
1324 call _aesni_encrypt4
1326 xorps 16(%esp),%xmm3
1330 movups %xmm3,16(%edi)
1331 movups %xmm4,32(%edi)
1332 movups %xmm5,48(%edi)
1335 jmp .L054xts_enc_done
1337 .L049xts_enc_done6x:
1343 jmp .L057xts_enc_steal
1352 pshufd $19,%xmm0,%xmm5
1358 movzbl -16(%edi),%edx
1364 jnz .L057xts_enc_steal
1368 movups -16(%edi),%xmm2
1371 movups 16(%edx),%xmm1
1375 .byte 102,15,56,220,209
1379 jnz .L058enc1_loop_10
1380 .byte 102,15,56,221,209
1382 movups %xmm2,-16(%edi)
1389 movdqa %xmm0,16(%esp)
1391 movdqa %xmm0,32(%esp)
1393 movdqa %xmm0,48(%esp)
1395 movdqa %xmm0,64(%esp)
1397 movdqa %xmm0,80(%esp)
1404 .size aesni_xts_encrypt,.-.L_aesni_xts_encrypt_begin
1405 .globl aesni_xts_decrypt
1406 .type aesni_xts_decrypt,@function
1409 .L_aesni_xts_decrypt_begin:
1419 movups 16(%edx),%xmm1
1423 .byte 102,15,56,220,209
1427 jnz .L059enc1_loop_11
1428 .byte 102,15,56,221,209
1452 movdqa 96(%esp),%xmm3
1456 jc .L060xts_dec_short
1460 leal 32(%edx,%ecx,1),%edx
1461 jmp .L061xts_dec_loop6
1464 pshufd $19,%xmm0,%xmm2
1471 pshufd $19,%xmm0,%xmm2
1473 movdqa %xmm1,16(%esp)
1478 pshufd $19,%xmm0,%xmm2
1480 movdqa %xmm1,32(%esp)
1485 pshufd $19,%xmm0,%xmm2
1487 movdqa %xmm1,48(%esp)
1492 pshufd $19,%xmm0,%xmm7
1493 movdqa %xmm1,64(%esp)
1500 movdqu 16(%esi),%xmm3
1502 movdqu 32(%esi),%xmm4
1504 movdqu 48(%esi),%xmm5
1506 movdqu 64(%esi),%xmm6
1508 movdqu 80(%esi),%xmm1
1512 movdqa %xmm7,80(%esp)
1514 movups 16(%ebp),%xmm1
1517 .byte 102,15,56,222,209
1520 .byte 102,15,56,222,217
1522 movups 32(%ebp),%xmm0
1523 .byte 102,15,56,222,225
1524 .byte 102,15,56,222,233
1525 .byte 102,15,56,222,241
1526 .byte 102,15,56,222,249
1527 call .L_aesni_decrypt6_enter
1528 movdqa 80(%esp),%xmm1
1532 xorps 16(%esp),%xmm3
1534 xorps 32(%esp),%xmm4
1535 movups %xmm3,16(%edi)
1536 xorps 48(%esp),%xmm5
1537 movups %xmm4,32(%edi)
1538 xorps 64(%esp),%xmm6
1539 movups %xmm5,48(%edi)
1541 movups %xmm6,64(%edi)
1542 pshufd $19,%xmm0,%xmm2
1543 movups %xmm7,80(%edi)
1545 movdqa 96(%esp),%xmm3
1552 jnc .L061xts_dec_loop6
1558 jz .L062xts_dec_done6x
1562 pshufd $19,%xmm0,%xmm2
1569 pshufd $19,%xmm0,%xmm2
1577 jb .L065xts_dec_three
1578 pshufd $19,%xmm0,%xmm2
1586 movdqa %xmm6,16(%esp)
1587 je .L066xts_dec_four
1588 movdqa %xmm7,32(%esp)
1589 pshufd $19,%xmm0,%xmm7
1590 movdqa %xmm1,48(%esp)
1595 movdqu 16(%esi),%xmm3
1596 movdqu 32(%esi),%xmm4
1598 movdqu 48(%esi),%xmm5
1600 movdqu 64(%esi),%xmm6
1604 movdqa %xmm7,64(%esp)
1606 call _aesni_decrypt6
1607 movaps 64(%esp),%xmm1
1609 xorps 16(%esp),%xmm3
1610 xorps 32(%esp),%xmm4
1612 xorps 48(%esp),%xmm5
1613 movups %xmm3,16(%edi)
1615 movups %xmm4,32(%edi)
1616 movups %xmm5,48(%edi)
1617 movups %xmm6,64(%edi)
1619 jmp .L067xts_dec_done
1626 movups 16(%edx),%xmm1
1630 .byte 102,15,56,222,209
1634 jnz .L068dec1_loop_12
1635 .byte 102,15,56,223,209
1640 jmp .L067xts_dec_done
1645 movups 16(%esi),%xmm3
1649 call _aesni_decrypt2
1653 movups %xmm3,16(%edi)
1656 jmp .L067xts_dec_done
1661 movups 16(%esi),%xmm3
1662 movups 32(%esi),%xmm4
1667 call _aesni_decrypt3
1672 movups %xmm3,16(%edi)
1673 movups %xmm4,32(%edi)
1676 jmp .L067xts_dec_done
1681 movups 16(%esi),%xmm3
1682 movups 32(%esi),%xmm4
1684 movups 48(%esi),%xmm5
1686 xorps 16(%esp),%xmm3
1689 call _aesni_decrypt4
1691 xorps 16(%esp),%xmm3
1695 movups %xmm3,16(%edi)
1696 movups %xmm4,32(%edi)
1697 movups %xmm5,48(%edi)
1700 jmp .L067xts_dec_done
1702 .L062xts_dec_done6x:
1707 jmp .L070xts_dec_only_one_more
1716 pshufd $19,%xmm0,%xmm2
1718 movdqa 96(%esp),%xmm3
1723 .L070xts_dec_only_one_more:
1724 pshufd $19,%xmm0,%xmm5
1734 movups 16(%edx),%xmm1
1738 .byte 102,15,56,222,209
1742 jnz .L071dec1_loop_13
1743 .byte 102,15,56,223,209
1747 movzbl 16(%esi),%ecx
1754 jnz .L072xts_dec_steal
1761 movups 16(%edx),%xmm1
1765 .byte 102,15,56,222,209
1769 jnz .L073dec1_loop_14
1770 .byte 102,15,56,223,209
1779 movdqa %xmm0,16(%esp)
1781 movdqa %xmm0,32(%esp)
1783 movdqa %xmm0,48(%esp)
1785 movdqa %xmm0,64(%esp)
1787 movdqa %xmm0,80(%esp)
1794 .size aesni_xts_decrypt,.-.L_aesni_xts_decrypt_begin
1795 .globl aesni_ocb_encrypt
1796 .type aesni_ocb_encrypt,@function
1799 .L_aesni_ocb_encrypt_begin:
1819 leal -96(%esi,%eax,1),%eax
1829 movdqu (%ebx,%eax,1),%xmm7
1838 movups 16(%edx),%xmm1
1842 .byte 102,15,56,220,209
1846 jnz .L075enc1_loop_15
1847 .byte 102,15,56,221,209
1851 movups %xmm2,-16(%edi,%esi,1)
1860 leal 32(%edx,%ecx,1),%edx
1878 movdqu (%ebx,%ecx,1),%xmm3
1881 movdqu (%ebx,%eax,1),%xmm5
1883 movdqu (%ebx,%edi,1),%xmm7
1888 movdqa %xmm3,16(%esp)
1890 movdqa %xmm4,32(%esp)
1892 movdqa %xmm5,48(%esp)
1894 movdqa %xmm6,64(%esp)
1895 movdqa %xmm7,80(%esp)
1896 movups -48(%edx,%ecx,1),%xmm0
1898 movdqu 16(%esi),%xmm3
1899 movdqu 32(%esi),%xmm4
1900 movdqu 48(%esi),%xmm5
1901 movdqu 64(%esi),%xmm6
1902 movdqu 80(%esi),%xmm7
1916 movdqa %xmm1,96(%esp)
1917 movups -32(%edx,%ecx,1),%xmm1
1924 movups -16(%edx,%ecx,1),%xmm0
1925 .byte 102,15,56,220,209
1926 .byte 102,15,56,220,217
1927 .byte 102,15,56,220,225
1928 .byte 102,15,56,220,233
1929 .byte 102,15,56,220,241
1930 .byte 102,15,56,220,249
1933 call .L_aesni_encrypt6_enter
1934 movdqa 80(%esp),%xmm0
1941 movdqa 96(%esp),%xmm1
1942 movdqu %xmm2,-96(%edi,%esi,1)
1943 movdqu %xmm3,-80(%edi,%esi,1)
1944 movdqu %xmm4,-64(%edi,%esi,1)
1945 movdqu %xmm5,-48(%edi,%esi,1)
1946 movdqu %xmm6,-32(%edi,%esi,1)
1947 movdqu %xmm7,-16(%edi,%esi,1)
1967 movdqu (%ebx,%ecx,1),%xmm3
1970 movdqu (%ebx,%eax,1),%xmm5
1976 movdqa %xmm3,16(%esp)
1978 movdqa %xmm4,32(%esp)
1980 movdqa %xmm5,48(%esp)
1982 movdqa %xmm6,64(%esp)
1983 movups -48(%edx,%ecx,1),%xmm0
1985 movdqu 16(%esi),%xmm3
1986 movdqu 32(%esi),%xmm4
1987 movdqu 48(%esi),%xmm5
1988 movdqu 64(%esi),%xmm6
2000 movdqa %xmm1,96(%esp)
2001 movups -32(%edx,%ecx,1),%xmm1
2007 movups -16(%edx,%ecx,1),%xmm0
2008 .byte 102,15,56,220,209
2009 .byte 102,15,56,220,217
2010 .byte 102,15,56,220,225
2011 .byte 102,15,56,220,233
2012 .byte 102,15,56,220,241
2013 .byte 102,15,56,220,249
2015 call .L_aesni_encrypt6_enter
2016 movdqa 64(%esp),%xmm0
2022 movdqa 96(%esp),%xmm1
2023 movdqu %xmm2,(%edi,%esi,1)
2024 movdqu %xmm3,16(%edi,%esi,1)
2025 movdqu %xmm4,32(%edi,%esi,1)
2026 movdqu %xmm5,48(%edi,%esi,1)
2027 movdqu %xmm6,64(%edi,%esi,1)
2041 movups 16(%edx),%xmm1
2045 .byte 102,15,56,220,209
2049 jnz .L083enc1_loop_16
2050 .byte 102,15,56,221,209
2054 movups %xmm2,(%edi,%esi,1)
2063 movdqu (%ebx,%ecx,1),%xmm7
2065 movdqu 16(%esi),%xmm3
2075 call _aesni_encrypt2
2080 movups %xmm2,(%edi,%esi,1)
2081 movups %xmm3,16(%edi,%esi,1)
2090 movdqu (%ebx,%ecx,1),%xmm6
2093 movdqu 16(%esi),%xmm3
2094 movdqu 32(%esi),%xmm4
2105 movdqa %xmm1,96(%esp)
2107 call _aesni_encrypt3
2112 movdqa 96(%esp),%xmm1
2113 movups %xmm2,(%edi,%esi,1)
2114 movups %xmm3,16(%edi,%esi,1)
2115 movups %xmm4,32(%edi,%esi,1)
2127 movdqu (%ebx,%ecx,1),%xmm5
2129 movdqu (%ebx,%eax,1),%xmm7
2133 movdqu 16(%esi),%xmm3
2137 movdqa %xmm5,16(%esp)
2138 movdqu 32(%esi),%xmm4
2139 movdqu 48(%esi),%xmm5
2149 movdqa %xmm1,96(%esp)
2151 call _aesni_encrypt4
2153 xorps 16(%esp),%xmm3
2155 movups %xmm2,(%edi,%esi,1)
2157 movups %xmm3,16(%edi,%esi,1)
2159 movups %xmm4,32(%edi,%esi,1)
2160 movdqa 96(%esp),%xmm1
2161 movups %xmm5,48(%edi,%esi,1)
2168 movdqa %xmm2,16(%esp)
2170 movdqa %xmm2,32(%esp)
2172 movdqa %xmm2,48(%esp)
2174 movdqa %xmm2,64(%esp)
2175 movdqa %xmm2,80(%esp)
2176 movdqa %xmm2,96(%esp)
2189 .size aesni_ocb_encrypt,.-.L_aesni_ocb_encrypt_begin
2190 .globl aesni_ocb_decrypt
2191 .type aesni_ocb_decrypt,@function
2194 .L_aesni_ocb_decrypt_begin:
2214 leal -96(%esi,%eax,1),%eax
2224 movdqu (%ebx,%eax,1),%xmm7
2232 movups 16(%edx),%xmm1
2236 .byte 102,15,56,222,209
2240 jnz .L085dec1_loop_17
2241 .byte 102,15,56,223,209
2246 movups %xmm2,-16(%edi,%esi,1)
2255 leal 32(%edx,%ecx,1),%edx
2273 movdqu (%ebx,%ecx,1),%xmm3
2276 movdqu (%ebx,%eax,1),%xmm5
2278 movdqu (%ebx,%edi,1),%xmm7
2283 movdqa %xmm3,16(%esp)
2285 movdqa %xmm4,32(%esp)
2287 movdqa %xmm5,48(%esp)
2289 movdqa %xmm6,64(%esp)
2290 movdqa %xmm7,80(%esp)
2291 movups -48(%edx,%ecx,1),%xmm0
2293 movdqu 16(%esi),%xmm3
2294 movdqu 32(%esi),%xmm4
2295 movdqu 48(%esi),%xmm5
2296 movdqu 64(%esi),%xmm6
2297 movdqu 80(%esi),%xmm7
2299 movdqa %xmm1,96(%esp)
2306 movups -32(%edx,%ecx,1),%xmm1
2313 movups -16(%edx,%ecx,1),%xmm0
2314 .byte 102,15,56,222,209
2315 .byte 102,15,56,222,217
2316 .byte 102,15,56,222,225
2317 .byte 102,15,56,222,233
2318 .byte 102,15,56,222,241
2319 .byte 102,15,56,222,249
2322 call .L_aesni_decrypt6_enter
2323 movdqa 80(%esp),%xmm0
2325 movdqa 96(%esp),%xmm1
2332 movdqu %xmm2,-96(%edi,%esi,1)
2334 movdqu %xmm3,-80(%edi,%esi,1)
2336 movdqu %xmm4,-64(%edi,%esi,1)
2338 movdqu %xmm5,-48(%edi,%esi,1)
2340 movdqu %xmm6,-32(%edi,%esi,1)
2342 movdqu %xmm7,-16(%edi,%esi,1)
2362 movdqu (%ebx,%ecx,1),%xmm3
2365 movdqu (%ebx,%eax,1),%xmm5
2371 movdqa %xmm3,16(%esp)
2373 movdqa %xmm4,32(%esp)
2375 movdqa %xmm5,48(%esp)
2377 movdqa %xmm6,64(%esp)
2378 movups -48(%edx,%ecx,1),%xmm0
2380 movdqu 16(%esi),%xmm3
2381 movdqu 32(%esi),%xmm4
2382 movdqu 48(%esi),%xmm5
2383 movdqu 64(%esi),%xmm6
2385 movdqa %xmm1,96(%esp)
2391 movups -32(%edx,%ecx,1),%xmm1
2397 movups -16(%edx,%ecx,1),%xmm0
2398 .byte 102,15,56,222,209
2399 .byte 102,15,56,222,217
2400 .byte 102,15,56,222,225
2401 .byte 102,15,56,222,233
2402 .byte 102,15,56,222,241
2403 .byte 102,15,56,222,249
2405 call .L_aesni_decrypt6_enter
2406 movdqa 64(%esp),%xmm0
2408 movdqa 96(%esp),%xmm1
2414 movdqu %xmm2,(%edi,%esi,1)
2416 movdqu %xmm3,16(%edi,%esi,1)
2418 movdqu %xmm4,32(%edi,%esi,1)
2420 movdqu %xmm5,48(%edi,%esi,1)
2422 movdqu %xmm6,64(%edi,%esi,1)
2435 movups 16(%edx),%xmm1
2439 .byte 102,15,56,222,209
2443 jnz .L093dec1_loop_18
2444 .byte 102,15,56,223,209
2449 movups %xmm2,(%edi,%esi,1)
2458 movdqu (%ebx,%ecx,1),%xmm7
2460 movdqu 16(%esi),%xmm3
2468 call _aesni_decrypt2
2473 movups %xmm2,(%edi,%esi,1)
2475 movups %xmm3,16(%edi,%esi,1)
2485 movdqu (%ebx,%ecx,1),%xmm6
2488 movdqu 16(%esi),%xmm3
2489 movdqu 32(%esi),%xmm4
2491 movdqa %xmm1,96(%esp)
2499 call _aesni_decrypt3
2500 movdqa 96(%esp),%xmm1
2504 movups %xmm2,(%edi,%esi,1)
2507 movups %xmm3,16(%edi,%esi,1)
2509 movups %xmm4,32(%edi,%esi,1)
2522 movdqu (%ebx,%ecx,1),%xmm5
2524 movdqu (%ebx,%eax,1),%xmm7
2528 movdqu 16(%esi),%xmm3
2532 movdqa %xmm5,16(%esp)
2533 movdqu 32(%esi),%xmm4
2534 movdqu 48(%esi),%xmm5
2536 movdqa %xmm1,96(%esp)
2542 call _aesni_decrypt4
2543 movdqa 96(%esp),%xmm1
2545 xorps 16(%esp),%xmm3
2547 movups %xmm2,(%edi,%esi,1)
2550 movups %xmm3,16(%edi,%esi,1)
2553 movups %xmm4,32(%edi,%esi,1)
2555 movups %xmm5,48(%edi,%esi,1)
2563 movdqa %xmm2,16(%esp)
2565 movdqa %xmm2,32(%esp)
2567 movdqa %xmm2,48(%esp)
2569 movdqa %xmm2,64(%esp)
2570 movdqa %xmm2,80(%esp)
2571 movdqa %xmm2,96(%esp)
2584 .size aesni_ocb_decrypt,.-.L_aesni_ocb_decrypt_begin
2585 .globl aesni_cbc_encrypt
2586 .type aesni_cbc_encrypt,@function
2589 .L_aesni_cbc_encrypt_begin:
2614 jb .L096cbc_enc_tail
2616 jmp .L097cbc_enc_loop
2622 movups 16(%edx),%xmm1
2627 .byte 102,15,56,220,209
2631 jnz .L098enc1_loop_19
2632 .byte 102,15,56,221,209
2638 jnc .L097cbc_enc_loop
2640 jnz .L096cbc_enc_tail
2655 jmp .L097cbc_enc_loop
2659 jbe .L100cbc_dec_tail
2662 jmp .L101cbc_dec_loop6_enter
2668 .L101cbc_dec_loop6_enter:
2670 movdqu 16(%esi),%xmm3
2671 movdqu 32(%esi),%xmm4
2672 movdqu 48(%esi),%xmm5
2673 movdqu 64(%esi),%xmm6
2674 movdqu 80(%esi),%xmm7
2675 call _aesni_decrypt6
2677 movups 16(%esi),%xmm0
2680 movups 32(%esi),%xmm1
2682 movups 48(%esi),%xmm0
2684 movups 64(%esi),%xmm1
2686 movups 80(%esi),%xmm0
2689 movups %xmm3,16(%edi)
2691 movups %xmm4,32(%edi)
2693 movups %xmm5,48(%edi)
2695 movups %xmm6,64(%edi)
2698 ja .L102cbc_dec_loop6
2702 jle .L103cbc_dec_clear_tail_collected
2709 jbe .L104cbc_dec_one
2710 movups 16(%esi),%xmm3
2713 jbe .L105cbc_dec_two
2714 movups 32(%esi),%xmm4
2716 jbe .L106cbc_dec_three
2717 movups 48(%esi),%xmm5
2719 jbe .L107cbc_dec_four
2720 movups 64(%esi),%xmm6
2724 call _aesni_decrypt6
2726 movups 16(%esi),%xmm0
2729 movups 32(%esi),%xmm1
2731 movups 48(%esi),%xmm0
2733 movups 64(%esi),%xmm7
2736 movups %xmm3,16(%edi)
2738 movups %xmm4,32(%edi)
2740 movups %xmm5,48(%edi)
2746 jmp .L108cbc_dec_tail_collected
2750 movups 16(%edx),%xmm1
2754 .byte 102,15,56,222,209
2758 jnz .L109dec1_loop_20
2759 .byte 102,15,56,223,209
2763 jmp .L108cbc_dec_tail_collected
2766 call _aesni_decrypt2
2775 jmp .L108cbc_dec_tail_collected
2778 call _aesni_decrypt3
2785 movups %xmm3,16(%edi)
2788 movups 32(%esi),%xmm7
2790 jmp .L108cbc_dec_tail_collected
2793 call _aesni_decrypt4
2794 movups 16(%esi),%xmm1
2795 movups 32(%esi),%xmm0
2797 movups 48(%esi),%xmm7
2801 movups %xmm3,16(%edi)
2804 movups %xmm4,32(%edi)
2810 jmp .L108cbc_dec_tail_collected
2812 .L103cbc_dec_clear_tail_collected:
2817 .L108cbc_dec_tail_collected:
2819 jnz .L110cbc_dec_tail_partial
2824 .L110cbc_dec_tail_partial:
2845 .size aesni_cbc_encrypt,.-.L_aesni_cbc_encrypt_begin
2846 .type _aesni_set_encrypt_key,@function
2848 _aesni_set_encrypt_key:
2858 leal .Lkey_const-.L112pic(%ebx),%ebx
2859 leal OPENSSL_ia32cap_P-.Lkey_const(%ebx),%ebp
2864 andl $268437504,%ebp
2870 jne .L115bad_keybits
2873 cmpl $268435456,%ebp
2874 je .L11710rounds_alt
2876 movups %xmm0,-16(%edx)
2877 .byte 102,15,58,223,200,1
2878 call .L118key_128_cold
2879 .byte 102,15,58,223,200,2
2881 .byte 102,15,58,223,200,4
2883 .byte 102,15,58,223,200,8
2885 .byte 102,15,58,223,200,16
2887 .byte 102,15,58,223,200,32
2889 .byte 102,15,58,223,200,64
2891 .byte 102,15,58,223,200,128
2893 .byte 102,15,58,223,200,27
2895 .byte 102,15,58,223,200,54
2905 shufps $16,%xmm0,%xmm4
2907 shufps $140,%xmm0,%xmm4
2909 shufps $255,%xmm1,%xmm1
2916 movdqa 32(%ebx),%xmm4
2918 movdqu %xmm0,-16(%edx)
2920 .byte 102,15,56,0,197
2921 .byte 102,15,56,221,196
2932 movdqu %xmm0,-16(%edx)
2935 jnz .L121loop_key128
2936 movdqa 48(%ebx),%xmm4
2937 .byte 102,15,56,0,197
2938 .byte 102,15,56,221,196
2950 .byte 102,15,56,0,197
2951 .byte 102,15,56,221,196
2960 movdqu %xmm0,16(%edx)
2967 cmpl $268435456,%ebp
2968 je .L12212rounds_alt
2970 movups %xmm0,-16(%edx)
2971 .byte 102,15,58,223,202,1
2972 call .L123key_192a_cold
2973 .byte 102,15,58,223,202,2
2975 .byte 102,15,58,223,202,4
2977 .byte 102,15,58,223,202,8
2979 .byte 102,15,58,223,202,16
2981 .byte 102,15,58,223,202,32
2983 .byte 102,15,58,223,202,64
2985 .byte 102,15,58,223,202,128
2998 shufps $16,%xmm0,%xmm4
3001 shufps $140,%xmm0,%xmm4
3004 pshufd $85,%xmm1,%xmm1
3007 pshufd $255,%xmm0,%xmm3
3013 shufps $68,%xmm0,%xmm5
3015 shufps $78,%xmm2,%xmm3
3016 movups %xmm3,16(%edx)
3018 jmp .L126key_192b_warm
3021 movdqa 16(%ebx),%xmm5
3022 movdqa 32(%ebx),%xmm4
3024 movdqu %xmm0,-16(%edx)
3028 .byte 102,15,56,0,213
3029 .byte 102,15,56,221,212
3039 pshufd $255,%xmm0,%xmm3
3045 movdqu %xmm0,-16(%edx)
3047 jnz .L127loop_key192
3053 movups 16(%eax),%xmm2
3055 cmpl $268435456,%ebp
3056 je .L12814rounds_alt
3058 movups %xmm0,-32(%edx)
3059 movups %xmm2,-16(%edx)
3060 .byte 102,15,58,223,202,1
3061 call .L129key_256a_cold
3062 .byte 102,15,58,223,200,1
3064 .byte 102,15,58,223,202,2
3066 .byte 102,15,58,223,200,2
3068 .byte 102,15,58,223,202,4
3070 .byte 102,15,58,223,200,4
3072 .byte 102,15,58,223,202,8
3074 .byte 102,15,58,223,200,8
3076 .byte 102,15,58,223,202,16
3078 .byte 102,15,58,223,200,16
3080 .byte 102,15,58,223,202,32
3082 .byte 102,15,58,223,200,32
3084 .byte 102,15,58,223,202,64
3095 shufps $16,%xmm0,%xmm4
3097 shufps $140,%xmm0,%xmm4
3099 shufps $255,%xmm1,%xmm1
3106 shufps $16,%xmm2,%xmm4
3108 shufps $140,%xmm2,%xmm4
3110 shufps $170,%xmm1,%xmm1
3116 movdqa 32(%ebx),%xmm4
3118 movdqu %xmm0,-32(%edx)
3120 movdqu %xmm2,-16(%edx)
3122 .byte 102,15,56,0,213
3123 .byte 102,15,56,221,212
3136 pshufd $255,%xmm0,%xmm2
3138 .byte 102,15,56,221,211
3147 movdqu %xmm2,16(%edx)
3150 jmp .L132loop_key256
3178 .size _aesni_set_encrypt_key,.-_aesni_set_encrypt_key
3179 .globl aesni_set_encrypt_key
3180 .type aesni_set_encrypt_key,@function
3182 aesni_set_encrypt_key:
3183 .L_aesni_set_encrypt_key_begin:
3187 call _aesni_set_encrypt_key
3189 .size aesni_set_encrypt_key,.-.L_aesni_set_encrypt_key_begin
3190 .globl aesni_set_decrypt_key
3191 .type aesni_set_decrypt_key,@function
3193 aesni_set_decrypt_key:
3194 .L_aesni_set_decrypt_key_begin:
3198 call _aesni_set_encrypt_key
3202 jnz .L134dec_key_ret
3203 leal 16(%edx,%ecx,1),%eax
3210 .L135dec_key_inverse:
3213 .byte 102,15,56,219,192
3214 .byte 102,15,56,219,201
3217 movups %xmm0,16(%eax)
3218 movups %xmm1,-16(%edx)
3220 ja .L135dec_key_inverse
3222 .byte 102,15,56,219,192
3229 .size aesni_set_decrypt_key,.-.L_aesni_set_decrypt_key_begin
3232 .long 202313229,202313229,202313229,202313229
3233 .long 67569157,67569157,67569157,67569157
3236 .byte 65,69,83,32,102,111,114,32,73,110,116,101,108,32,65,69
3237 .byte 83,45,78,73,44,32,67,82,89,80,84,79,71,65,77,83
3238 .byte 32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115
3239 .byte 115,108,46,111,114,103,62,0
3240 .comm OPENSSL_ia32cap_P,16,4
3243 .globl aesni_encrypt
3244 .type aesni_encrypt,@function
3247 .L_aesni_encrypt_begin:
3254 movups 16(%edx),%xmm1
3258 .byte 102,15,56,220,209
3262 jnz .L000enc1_loop_1
3263 .byte 102,15,56,221,209
3269 .size aesni_encrypt,.-.L_aesni_encrypt_begin
3270 .globl aesni_decrypt
3271 .type aesni_decrypt,@function
3274 .L_aesni_decrypt_begin:
3281 movups 16(%edx),%xmm1
3285 .byte 102,15,56,222,209
3289 jnz .L001dec1_loop_2
3290 .byte 102,15,56,223,209
3296 .size aesni_decrypt,.-.L_aesni_decrypt_begin
3297 .type _aesni_encrypt2,@function
3302 movups 16(%edx),%xmm1
3305 movups 32(%edx),%xmm0
3306 leal 32(%edx,%ecx,1),%edx
3310 .byte 102,15,56,220,209
3311 .byte 102,15,56,220,217
3312 movups (%edx,%ecx,1),%xmm1
3314 .byte 102,15,56,220,208
3315 .byte 102,15,56,220,216
3316 movups -16(%edx,%ecx,1),%xmm0
3318 .byte 102,15,56,220,209
3319 .byte 102,15,56,220,217
3320 .byte 102,15,56,221,208
3321 .byte 102,15,56,221,216
3323 .size _aesni_encrypt2,.-_aesni_encrypt2
3324 .type _aesni_decrypt2,@function
3329 movups 16(%edx),%xmm1
3332 movups 32(%edx),%xmm0
3333 leal 32(%edx,%ecx,1),%edx
3337 .byte 102,15,56,222,209
3338 .byte 102,15,56,222,217
3339 movups (%edx,%ecx,1),%xmm1
3341 .byte 102,15,56,222,208
3342 .byte 102,15,56,222,216
3343 movups -16(%edx,%ecx,1),%xmm0
3345 .byte 102,15,56,222,209
3346 .byte 102,15,56,222,217
3347 .byte 102,15,56,223,208
3348 .byte 102,15,56,223,216
3350 .size _aesni_decrypt2,.-_aesni_decrypt2
3351 .type _aesni_encrypt3,@function
3356 movups 16(%edx),%xmm1
3360 movups 32(%edx),%xmm0
3361 leal 32(%edx,%ecx,1),%edx
3365 .byte 102,15,56,220,209
3366 .byte 102,15,56,220,217
3367 .byte 102,15,56,220,225
3368 movups (%edx,%ecx,1),%xmm1
3370 .byte 102,15,56,220,208
3371 .byte 102,15,56,220,216
3372 .byte 102,15,56,220,224
3373 movups -16(%edx,%ecx,1),%xmm0
3375 .byte 102,15,56,220,209
3376 .byte 102,15,56,220,217
3377 .byte 102,15,56,220,225
3378 .byte 102,15,56,221,208
3379 .byte 102,15,56,221,216
3380 .byte 102,15,56,221,224
3382 .size _aesni_encrypt3,.-_aesni_encrypt3
3383 .type _aesni_decrypt3,@function
3388 movups 16(%edx),%xmm1
3392 movups 32(%edx),%xmm0
3393 leal 32(%edx,%ecx,1),%edx
3397 .byte 102,15,56,222,209
3398 .byte 102,15,56,222,217
3399 .byte 102,15,56,222,225
3400 movups (%edx,%ecx,1),%xmm1
3402 .byte 102,15,56,222,208
3403 .byte 102,15,56,222,216
3404 .byte 102,15,56,222,224
3405 movups -16(%edx,%ecx,1),%xmm0
3407 .byte 102,15,56,222,209
3408 .byte 102,15,56,222,217
3409 .byte 102,15,56,222,225
3410 .byte 102,15,56,223,208
3411 .byte 102,15,56,223,216
3412 .byte 102,15,56,223,224
3414 .size _aesni_decrypt3,.-_aesni_decrypt3
3415 .type _aesni_encrypt4,@function
3419 movups 16(%edx),%xmm1
3425 movups 32(%edx),%xmm0
3426 leal 32(%edx,%ecx,1),%edx
3431 .byte 102,15,56,220,209
3432 .byte 102,15,56,220,217
3433 .byte 102,15,56,220,225
3434 .byte 102,15,56,220,233
3435 movups (%edx,%ecx,1),%xmm1
3437 .byte 102,15,56,220,208
3438 .byte 102,15,56,220,216
3439 .byte 102,15,56,220,224
3440 .byte 102,15,56,220,232
3441 movups -16(%edx,%ecx,1),%xmm0
3443 .byte 102,15,56,220,209
3444 .byte 102,15,56,220,217
3445 .byte 102,15,56,220,225
3446 .byte 102,15,56,220,233
3447 .byte 102,15,56,221,208
3448 .byte 102,15,56,221,216
3449 .byte 102,15,56,221,224
3450 .byte 102,15,56,221,232
3452 .size _aesni_encrypt4,.-_aesni_encrypt4
3453 .type _aesni_decrypt4,@function
3457 movups 16(%edx),%xmm1
3463 movups 32(%edx),%xmm0
3464 leal 32(%edx,%ecx,1),%edx
3469 .byte 102,15,56,222,209
3470 .byte 102,15,56,222,217
3471 .byte 102,15,56,222,225
3472 .byte 102,15,56,222,233
3473 movups (%edx,%ecx,1),%xmm1
3475 .byte 102,15,56,222,208
3476 .byte 102,15,56,222,216
3477 .byte 102,15,56,222,224
3478 .byte 102,15,56,222,232
3479 movups -16(%edx,%ecx,1),%xmm0
3481 .byte 102,15,56,222,209
3482 .byte 102,15,56,222,217
3483 .byte 102,15,56,222,225
3484 .byte 102,15,56,222,233
3485 .byte 102,15,56,223,208
3486 .byte 102,15,56,223,216
3487 .byte 102,15,56,223,224
3488 .byte 102,15,56,223,232
3490 .size _aesni_decrypt4,.-_aesni_decrypt4
3491 .type _aesni_encrypt6,@function
3496 movups 16(%edx),%xmm1
3500 .byte 102,15,56,220,209
3503 .byte 102,15,56,220,217
3504 leal 32(%edx,%ecx,1),%edx
3506 .byte 102,15,56,220,225
3508 movups (%edx,%ecx,1),%xmm0
3510 jmp .L008_aesni_encrypt6_inner
3513 .byte 102,15,56,220,209
3514 .byte 102,15,56,220,217
3515 .byte 102,15,56,220,225
3516 .L008_aesni_encrypt6_inner:
3517 .byte 102,15,56,220,233
3518 .byte 102,15,56,220,241
3519 .byte 102,15,56,220,249
3520 .L_aesni_encrypt6_enter:
3521 movups (%edx,%ecx,1),%xmm1
3523 .byte 102,15,56,220,208
3524 .byte 102,15,56,220,216
3525 .byte 102,15,56,220,224
3526 .byte 102,15,56,220,232
3527 .byte 102,15,56,220,240
3528 .byte 102,15,56,220,248
3529 movups -16(%edx,%ecx,1),%xmm0
3531 .byte 102,15,56,220,209
3532 .byte 102,15,56,220,217
3533 .byte 102,15,56,220,225
3534 .byte 102,15,56,220,233
3535 .byte 102,15,56,220,241
3536 .byte 102,15,56,220,249
3537 .byte 102,15,56,221,208
3538 .byte 102,15,56,221,216
3539 .byte 102,15,56,221,224
3540 .byte 102,15,56,221,232
3541 .byte 102,15,56,221,240
3542 .byte 102,15,56,221,248
3544 .size _aesni_encrypt6,.-_aesni_encrypt6
3545 .type _aesni_decrypt6,@function
3550 movups 16(%edx),%xmm1
3554 .byte 102,15,56,222,209
3557 .byte 102,15,56,222,217
3558 leal 32(%edx,%ecx,1),%edx
3560 .byte 102,15,56,222,225
3562 movups (%edx,%ecx,1),%xmm0
3564 jmp .L010_aesni_decrypt6_inner
3567 .byte 102,15,56,222,209
3568 .byte 102,15,56,222,217
3569 .byte 102,15,56,222,225
3570 .L010_aesni_decrypt6_inner:
3571 .byte 102,15,56,222,233
3572 .byte 102,15,56,222,241
3573 .byte 102,15,56,222,249
3574 .L_aesni_decrypt6_enter:
3575 movups (%edx,%ecx,1),%xmm1
3577 .byte 102,15,56,222,208
3578 .byte 102,15,56,222,216
3579 .byte 102,15,56,222,224
3580 .byte 102,15,56,222,232
3581 .byte 102,15,56,222,240
3582 .byte 102,15,56,222,248
3583 movups -16(%edx,%ecx,1),%xmm0
3585 .byte 102,15,56,222,209
3586 .byte 102,15,56,222,217
3587 .byte 102,15,56,222,225
3588 .byte 102,15,56,222,233
3589 .byte 102,15,56,222,241
3590 .byte 102,15,56,222,249
3591 .byte 102,15,56,223,208
3592 .byte 102,15,56,223,216
3593 .byte 102,15,56,223,224
3594 .byte 102,15,56,223,232
3595 .byte 102,15,56,223,240
3596 .byte 102,15,56,223,248
3598 .size _aesni_decrypt6,.-_aesni_decrypt6
3599 .globl aesni_ecb_encrypt
3600 .type aesni_ecb_encrypt,@function
3603 .L_aesni_ecb_encrypt_begin:
3621 jb .L014ecb_enc_tail
3623 movdqu 16(%esi),%xmm3
3624 movdqu 32(%esi),%xmm4
3625 movdqu 48(%esi),%xmm5
3626 movdqu 64(%esi),%xmm6
3627 movdqu 80(%esi),%xmm7
3630 jmp .L015ecb_enc_loop6_enter
3635 movups %xmm3,16(%edi)
3636 movdqu 16(%esi),%xmm3
3637 movups %xmm4,32(%edi)
3638 movdqu 32(%esi),%xmm4
3639 movups %xmm5,48(%edi)
3640 movdqu 48(%esi),%xmm5
3641 movups %xmm6,64(%edi)
3642 movdqu 64(%esi),%xmm6
3643 movups %xmm7,80(%edi)
3645 movdqu 80(%esi),%xmm7
3647 .L015ecb_enc_loop6_enter:
3648 call _aesni_encrypt6
3652 jnc .L016ecb_enc_loop6
3654 movups %xmm3,16(%edi)
3655 movups %xmm4,32(%edi)
3656 movups %xmm5,48(%edi)
3657 movups %xmm6,64(%edi)
3658 movups %xmm7,80(%edi)
3666 movups 16(%esi),%xmm3
3668 movups 32(%esi),%xmm4
3670 jb .L019ecb_enc_three
3671 movups 48(%esi),%xmm5
3672 je .L020ecb_enc_four
3673 movups 64(%esi),%xmm6
3675 call _aesni_encrypt6
3677 movups %xmm3,16(%edi)
3678 movups %xmm4,32(%edi)
3679 movups %xmm5,48(%edi)
3680 movups %xmm6,64(%edi)
3685 movups 16(%edx),%xmm1
3689 .byte 102,15,56,220,209
3693 jnz .L021enc1_loop_3
3694 .byte 102,15,56,221,209
3699 call _aesni_encrypt2
3701 movups %xmm3,16(%edi)
3705 call _aesni_encrypt3
3707 movups %xmm3,16(%edi)
3708 movups %xmm4,32(%edi)
3712 call _aesni_encrypt4
3714 movups %xmm3,16(%edi)
3715 movups %xmm4,32(%edi)
3716 movups %xmm5,48(%edi)
3723 jb .L022ecb_dec_tail
3725 movdqu 16(%esi),%xmm3
3726 movdqu 32(%esi),%xmm4
3727 movdqu 48(%esi),%xmm5
3728 movdqu 64(%esi),%xmm6
3729 movdqu 80(%esi),%xmm7
3732 jmp .L023ecb_dec_loop6_enter
3737 movups %xmm3,16(%edi)
3738 movdqu 16(%esi),%xmm3
3739 movups %xmm4,32(%edi)
3740 movdqu 32(%esi),%xmm4
3741 movups %xmm5,48(%edi)
3742 movdqu 48(%esi),%xmm5
3743 movups %xmm6,64(%edi)
3744 movdqu 64(%esi),%xmm6
3745 movups %xmm7,80(%edi)
3747 movdqu 80(%esi),%xmm7
3749 .L023ecb_dec_loop6_enter:
3750 call _aesni_decrypt6
3754 jnc .L024ecb_dec_loop6
3756 movups %xmm3,16(%edi)
3757 movups %xmm4,32(%edi)
3758 movups %xmm5,48(%edi)
3759 movups %xmm6,64(%edi)
3760 movups %xmm7,80(%edi)
3768 movups 16(%esi),%xmm3
3770 movups 32(%esi),%xmm4
3772 jb .L027ecb_dec_three
3773 movups 48(%esi),%xmm5
3774 je .L028ecb_dec_four
3775 movups 64(%esi),%xmm6
3777 call _aesni_decrypt6
3779 movups %xmm3,16(%edi)
3780 movups %xmm4,32(%edi)
3781 movups %xmm5,48(%edi)
3782 movups %xmm6,64(%edi)
3787 movups 16(%edx),%xmm1
3791 .byte 102,15,56,222,209
3795 jnz .L029dec1_loop_4
3796 .byte 102,15,56,223,209
3801 call _aesni_decrypt2
3803 movups %xmm3,16(%edi)
3807 call _aesni_decrypt3
3809 movups %xmm3,16(%edi)
3810 movups %xmm4,32(%edi)
3814 call _aesni_decrypt4
3816 movups %xmm3,16(%edi)
3817 movups %xmm4,32(%edi)
3818 movups %xmm5,48(%edi)
3833 .size aesni_ecb_encrypt,.-.L_aesni_ecb_encrypt_begin
3834 .globl aesni_ccm64_encrypt_blocks
3835 .type aesni_ccm64_encrypt_blocks,@function
3837 aesni_ccm64_encrypt_blocks:
3838 .L_aesni_ccm64_encrypt_blocks_begin:
3856 movl $202182159,(%esp)
3857 movl $134810123,4(%esp)
3858 movl $67438087,8(%esp)
3859 movl $66051,12(%esp)
3871 leal 32(%edx,%ecx,1),%edx
3873 .byte 102,15,56,0,253
3874 .L030ccm64_enc_outer:
3879 movups 16(%ebp),%xmm1
3882 movups 32(%ebp),%xmm0
3883 .L031ccm64_enc2_loop:
3884 .byte 102,15,56,220,209
3885 .byte 102,15,56,220,217
3886 movups (%edx,%ecx,1),%xmm1
3888 .byte 102,15,56,220,208
3889 .byte 102,15,56,220,216
3890 movups -16(%edx,%ecx,1),%xmm0
3891 jnz .L031ccm64_enc2_loop
3892 .byte 102,15,56,220,209
3893 .byte 102,15,56,220,217
3894 paddq 16(%esp),%xmm7
3896 .byte 102,15,56,221,208
3897 .byte 102,15,56,221,216
3902 .byte 102,15,56,0,213
3904 jnz .L030ccm64_enc_outer
3921 .size aesni_ccm64_encrypt_blocks,.-.L_aesni_ccm64_encrypt_blocks_begin
3922 .globl aesni_ccm64_decrypt_blocks
3923 .type aesni_ccm64_decrypt_blocks,@function
3925 aesni_ccm64_decrypt_blocks:
3926 .L_aesni_ccm64_decrypt_blocks_begin:
3944 movl $202182159,(%esp)
3945 movl $134810123,4(%esp)
3946 movl $67438087,8(%esp)
3947 movl $66051,12(%esp)
3958 .byte 102,15,56,0,253
3960 movups 16(%edx),%xmm1
3964 .byte 102,15,56,220,209
3968 jnz .L032enc1_loop_5
3969 .byte 102,15,56,221,209
3973 paddq 16(%esp),%xmm7
3976 leal 32(%ebp,%ebx,1),%edx
3978 jmp .L033ccm64_dec_outer
3980 .L033ccm64_dec_outer:
3985 .byte 102,15,56,0,213
3987 jz .L034ccm64_dec_break
3990 movups 16(%ebp),%xmm1
3994 movups 32(%ebp),%xmm0
3995 .L035ccm64_dec2_loop:
3996 .byte 102,15,56,220,209
3997 .byte 102,15,56,220,217
3998 movups (%edx,%ecx,1),%xmm1
4000 .byte 102,15,56,220,208
4001 .byte 102,15,56,220,216
4002 movups -16(%edx,%ecx,1),%xmm0
4003 jnz .L035ccm64_dec2_loop
4005 paddq 16(%esp),%xmm7
4006 .byte 102,15,56,220,209
4007 .byte 102,15,56,220,217
4008 .byte 102,15,56,221,208
4009 .byte 102,15,56,221,216
4011 jmp .L033ccm64_dec_outer
4013 .L034ccm64_dec_break:
4017 movups 16(%edx),%xmm1
4022 .byte 102,15,56,220,217
4026 jnz .L036enc1_loop_6
4027 .byte 102,15,56,221,217
4044 .size aesni_ccm64_decrypt_blocks,.-.L_aesni_ccm64_decrypt_blocks_begin
4045 .globl aesni_ctr32_encrypt_blocks
4046 .type aesni_ctr32_encrypt_blocks,@function
4048 aesni_ctr32_encrypt_blocks:
4049 .L_aesni_ctr32_encrypt_blocks_begin:
4064 je .L037ctr32_one_shortcut
4066 movl $202182159,(%esp)
4067 movl $134810123,4(%esp)
4068 movl $67438087,8(%esp)
4069 movl $66051,12(%esp)
4076 .byte 102,15,58,22,251,3
4077 .byte 102,15,58,34,253,3
4083 .byte 102,15,58,34,195,0
4085 .byte 102,15,58,34,205,0
4087 .byte 102,15,58,34,195,1
4089 .byte 102,15,58,34,205,1
4091 .byte 102,15,58,34,195,2
4093 .byte 102,15,58,34,205,2
4094 movdqa %xmm0,48(%esp)
4095 .byte 102,15,56,0,194
4097 movdqa %xmm1,64(%esp)
4098 .byte 102,15,56,0,202
4099 pshufd $192,%xmm0,%xmm2
4100 pshufd $128,%xmm0,%xmm3
4106 movdqa %xmm7,32(%esp)
4109 leal 32(%edx,%ecx,1),%edx
4111 jmp .L039ctr32_loop6
4114 pshufd $64,%xmm0,%xmm4
4115 movdqa 32(%esp),%xmm0
4116 pshufd $192,%xmm1,%xmm5
4118 pshufd $128,%xmm1,%xmm6
4120 pshufd $64,%xmm1,%xmm7
4121 movups 16(%ebp),%xmm1
4124 .byte 102,15,56,220,209
4127 .byte 102,15,56,220,217
4128 movups 32(%ebp),%xmm0
4130 .byte 102,15,56,220,225
4131 .byte 102,15,56,220,233
4132 .byte 102,15,56,220,241
4133 .byte 102,15,56,220,249
4134 call .L_aesni_encrypt6_enter
4136 movups 16(%esi),%xmm0
4138 movups 32(%esi),%xmm1
4141 movdqa 16(%esp),%xmm0
4143 movdqa 64(%esp),%xmm1
4144 movups %xmm3,16(%edi)
4145 movups %xmm4,32(%edi)
4147 paddd 48(%esp),%xmm0
4149 movups 48(%esi),%xmm3
4150 movups 64(%esi),%xmm4
4152 movups 80(%esi),%xmm3
4154 movdqa %xmm0,48(%esp)
4155 .byte 102,15,56,0,194
4157 movups %xmm5,48(%edi)
4159 movdqa %xmm1,64(%esp)
4160 .byte 102,15,56,0,202
4161 movups %xmm6,64(%edi)
4162 pshufd $192,%xmm0,%xmm2
4163 movups %xmm7,80(%edi)
4165 pshufd $128,%xmm0,%xmm3
4167 jnc .L039ctr32_loop6
4178 pshufd $64,%xmm0,%xmm4
4181 pshufd $192,%xmm1,%xmm5
4185 pshufd $128,%xmm1,%xmm6
4189 call _aesni_encrypt6
4191 movups 16(%esi),%xmm0
4193 movups 32(%esi),%xmm1
4195 movups 48(%esi),%xmm0
4197 movups 64(%esi),%xmm1
4201 movups %xmm3,16(%edi)
4202 movups %xmm4,32(%edi)
4203 movups %xmm5,48(%edi)
4204 movups %xmm6,64(%edi)
4207 .L037ctr32_one_shortcut:
4212 movups 16(%edx),%xmm1
4216 .byte 102,15,56,220,209
4220 jnz .L045enc1_loop_7
4221 .byte 102,15,56,221,209
4228 call _aesni_encrypt2
4230 movups 16(%esi),%xmm6
4234 movups %xmm3,16(%edi)
4238 call _aesni_encrypt3
4240 movups 16(%esi),%xmm6
4242 movups 32(%esi),%xmm7
4246 movups %xmm3,16(%edi)
4247 movups %xmm4,32(%edi)
4251 call _aesni_encrypt4
4253 movups 16(%esi),%xmm7
4254 movups 32(%esi),%xmm1
4256 movups 48(%esi),%xmm0
4260 movups %xmm3,16(%edi)
4262 movups %xmm4,32(%edi)
4263 movups %xmm5,48(%edi)
4270 movdqa %xmm0,32(%esp)
4272 movdqa %xmm0,48(%esp)
4274 movdqa %xmm0,64(%esp)
4282 .size aesni_ctr32_encrypt_blocks,.-.L_aesni_ctr32_encrypt_blocks_begin
4283 .globl aesni_xts_encrypt
4284 .type aesni_xts_encrypt,@function
4287 .L_aesni_xts_encrypt_begin:
4297 movups 16(%edx),%xmm1
4301 .byte 102,15,56,220,209
4305 jnz .L046enc1_loop_8
4306 .byte 102,15,56,221,209
4323 movdqa 96(%esp),%xmm3
4329 jc .L047xts_enc_short
4333 leal 32(%edx,%ecx,1),%edx
4334 jmp .L048xts_enc_loop6
4337 pshufd $19,%xmm0,%xmm2
4344 pshufd $19,%xmm0,%xmm2
4346 movdqa %xmm1,16(%esp)
4351 pshufd $19,%xmm0,%xmm2
4353 movdqa %xmm1,32(%esp)
4358 pshufd $19,%xmm0,%xmm2
4360 movdqa %xmm1,48(%esp)
4365 pshufd $19,%xmm0,%xmm7
4366 movdqa %xmm1,64(%esp)
4373 movdqu 16(%esi),%xmm3
4375 movdqu 32(%esi),%xmm4
4377 movdqu 48(%esi),%xmm5
4379 movdqu 64(%esi),%xmm6
4381 movdqu 80(%esi),%xmm1
4385 movdqa %xmm7,80(%esp)
4387 movups 16(%ebp),%xmm1
4390 .byte 102,15,56,220,209
4393 .byte 102,15,56,220,217
4395 movups 32(%ebp),%xmm0
4396 .byte 102,15,56,220,225
4397 .byte 102,15,56,220,233
4398 .byte 102,15,56,220,241
4399 .byte 102,15,56,220,249
4400 call .L_aesni_encrypt6_enter
4401 movdqa 80(%esp),%xmm1
4405 xorps 16(%esp),%xmm3
4407 xorps 32(%esp),%xmm4
4408 movups %xmm3,16(%edi)
4409 xorps 48(%esp),%xmm5
4410 movups %xmm4,32(%edi)
4411 xorps 64(%esp),%xmm6
4412 movups %xmm5,48(%edi)
4414 movups %xmm6,64(%edi)
4415 pshufd $19,%xmm0,%xmm2
4416 movups %xmm7,80(%edi)
4418 movdqa 96(%esp),%xmm3
4425 jnc .L048xts_enc_loop6
4431 jz .L049xts_enc_done6x
4435 pshufd $19,%xmm0,%xmm2
4442 pshufd $19,%xmm0,%xmm2
4450 jb .L052xts_enc_three
4451 pshufd $19,%xmm0,%xmm2
4459 movdqa %xmm6,16(%esp)
4460 je .L053xts_enc_four
4461 movdqa %xmm7,32(%esp)
4462 pshufd $19,%xmm0,%xmm7
4463 movdqa %xmm1,48(%esp)
4468 movdqu 16(%esi),%xmm3
4469 movdqu 32(%esi),%xmm4
4471 movdqu 48(%esi),%xmm5
4473 movdqu 64(%esi),%xmm6
4477 movdqa %xmm7,64(%esp)
4479 call _aesni_encrypt6
4480 movaps 64(%esp),%xmm1
4482 xorps 16(%esp),%xmm3
4483 xorps 32(%esp),%xmm4
4485 xorps 48(%esp),%xmm5
4486 movups %xmm3,16(%edi)
4488 movups %xmm4,32(%edi)
4489 movups %xmm5,48(%edi)
4490 movups %xmm6,64(%edi)
4492 jmp .L054xts_enc_done
4499 movups 16(%edx),%xmm1
4503 .byte 102,15,56,220,209
4507 jnz .L055enc1_loop_9
4508 .byte 102,15,56,221,209
4513 jmp .L054xts_enc_done
4518 movups 16(%esi),%xmm3
4522 call _aesni_encrypt2
4526 movups %xmm3,16(%edi)
4529 jmp .L054xts_enc_done
4534 movups 16(%esi),%xmm3
4535 movups 32(%esi),%xmm4
4540 call _aesni_encrypt3
4545 movups %xmm3,16(%edi)
4546 movups %xmm4,32(%edi)
4549 jmp .L054xts_enc_done
4554 movups 16(%esi),%xmm3
4555 movups 32(%esi),%xmm4
4557 movups 48(%esi),%xmm5
4559 xorps 16(%esp),%xmm3
4562 call _aesni_encrypt4
4564 xorps 16(%esp),%xmm3
4568 movups %xmm3,16(%edi)
4569 movups %xmm4,32(%edi)
4570 movups %xmm5,48(%edi)
4573 jmp .L054xts_enc_done
4575 .L049xts_enc_done6x:
4581 jmp .L057xts_enc_steal
4590 pshufd $19,%xmm0,%xmm5
4596 movzbl -16(%edi),%edx
4602 jnz .L057xts_enc_steal
4606 movups -16(%edi),%xmm2
4609 movups 16(%edx),%xmm1
4613 .byte 102,15,56,220,209
4617 jnz .L058enc1_loop_10
4618 .byte 102,15,56,221,209
4620 movups %xmm2,-16(%edi)
4627 movdqa %xmm0,16(%esp)
4629 movdqa %xmm0,32(%esp)
4631 movdqa %xmm0,48(%esp)
4633 movdqa %xmm0,64(%esp)
4635 movdqa %xmm0,80(%esp)
4642 .size aesni_xts_encrypt,.-.L_aesni_xts_encrypt_begin
4643 .globl aesni_xts_decrypt
4644 .type aesni_xts_decrypt,@function
4647 .L_aesni_xts_decrypt_begin:
4657 movups 16(%edx),%xmm1
4661 .byte 102,15,56,220,209
4665 jnz .L059enc1_loop_11
4666 .byte 102,15,56,221,209
4690 movdqa 96(%esp),%xmm3
4694 jc .L060xts_dec_short
4698 leal 32(%edx,%ecx,1),%edx
4699 jmp .L061xts_dec_loop6
4702 pshufd $19,%xmm0,%xmm2
4709 pshufd $19,%xmm0,%xmm2
4711 movdqa %xmm1,16(%esp)
4716 pshufd $19,%xmm0,%xmm2
4718 movdqa %xmm1,32(%esp)
4723 pshufd $19,%xmm0,%xmm2
4725 movdqa %xmm1,48(%esp)
4730 pshufd $19,%xmm0,%xmm7
4731 movdqa %xmm1,64(%esp)
4738 movdqu 16(%esi),%xmm3
4740 movdqu 32(%esi),%xmm4
4742 movdqu 48(%esi),%xmm5
4744 movdqu 64(%esi),%xmm6
4746 movdqu 80(%esi),%xmm1
4750 movdqa %xmm7,80(%esp)
4752 movups 16(%ebp),%xmm1
4755 .byte 102,15,56,222,209
4758 .byte 102,15,56,222,217
4760 movups 32(%ebp),%xmm0
4761 .byte 102,15,56,222,225
4762 .byte 102,15,56,222,233
4763 .byte 102,15,56,222,241
4764 .byte 102,15,56,222,249
4765 call .L_aesni_decrypt6_enter
4766 movdqa 80(%esp),%xmm1
4770 xorps 16(%esp),%xmm3
4772 xorps 32(%esp),%xmm4
4773 movups %xmm3,16(%edi)
4774 xorps 48(%esp),%xmm5
4775 movups %xmm4,32(%edi)
4776 xorps 64(%esp),%xmm6
4777 movups %xmm5,48(%edi)
4779 movups %xmm6,64(%edi)
4780 pshufd $19,%xmm0,%xmm2
4781 movups %xmm7,80(%edi)
4783 movdqa 96(%esp),%xmm3
4790 jnc .L061xts_dec_loop6
4796 jz .L062xts_dec_done6x
4800 pshufd $19,%xmm0,%xmm2
4807 pshufd $19,%xmm0,%xmm2
4815 jb .L065xts_dec_three
4816 pshufd $19,%xmm0,%xmm2
4824 movdqa %xmm6,16(%esp)
4825 je .L066xts_dec_four
4826 movdqa %xmm7,32(%esp)
4827 pshufd $19,%xmm0,%xmm7
4828 movdqa %xmm1,48(%esp)
4833 movdqu 16(%esi),%xmm3
4834 movdqu 32(%esi),%xmm4
4836 movdqu 48(%esi),%xmm5
4838 movdqu 64(%esi),%xmm6
4842 movdqa %xmm7,64(%esp)
4844 call _aesni_decrypt6
4845 movaps 64(%esp),%xmm1
4847 xorps 16(%esp),%xmm3
4848 xorps 32(%esp),%xmm4
4850 xorps 48(%esp),%xmm5
4851 movups %xmm3,16(%edi)
4853 movups %xmm4,32(%edi)
4854 movups %xmm5,48(%edi)
4855 movups %xmm6,64(%edi)
4857 jmp .L067xts_dec_done
4864 movups 16(%edx),%xmm1
4868 .byte 102,15,56,222,209
4872 jnz .L068dec1_loop_12
4873 .byte 102,15,56,223,209
4878 jmp .L067xts_dec_done
4883 movups 16(%esi),%xmm3
4887 call _aesni_decrypt2
4891 movups %xmm3,16(%edi)
4894 jmp .L067xts_dec_done
4899 movups 16(%esi),%xmm3
4900 movups 32(%esi),%xmm4
4905 call _aesni_decrypt3
4910 movups %xmm3,16(%edi)
4911 movups %xmm4,32(%edi)
4914 jmp .L067xts_dec_done
4919 movups 16(%esi),%xmm3
4920 movups 32(%esi),%xmm4
4922 movups 48(%esi),%xmm5
4924 xorps 16(%esp),%xmm3
4927 call _aesni_decrypt4
4929 xorps 16(%esp),%xmm3
4933 movups %xmm3,16(%edi)
4934 movups %xmm4,32(%edi)
4935 movups %xmm5,48(%edi)
4938 jmp .L067xts_dec_done
4940 .L062xts_dec_done6x:
4945 jmp .L070xts_dec_only_one_more
4954 pshufd $19,%xmm0,%xmm2
4956 movdqa 96(%esp),%xmm3
4961 .L070xts_dec_only_one_more:
4962 pshufd $19,%xmm0,%xmm5
4972 movups 16(%edx),%xmm1
4976 .byte 102,15,56,222,209
4980 jnz .L071dec1_loop_13
4981 .byte 102,15,56,223,209
4985 movzbl 16(%esi),%ecx
4992 jnz .L072xts_dec_steal
4999 movups 16(%edx),%xmm1
5003 .byte 102,15,56,222,209
5007 jnz .L073dec1_loop_14
5008 .byte 102,15,56,223,209
5017 movdqa %xmm0,16(%esp)
5019 movdqa %xmm0,32(%esp)
5021 movdqa %xmm0,48(%esp)
5023 movdqa %xmm0,64(%esp)
5025 movdqa %xmm0,80(%esp)
5032 .size aesni_xts_decrypt,.-.L_aesni_xts_decrypt_begin
5033 .globl aesni_ocb_encrypt
5034 .type aesni_ocb_encrypt,@function
5037 .L_aesni_ocb_encrypt_begin:
5057 leal -96(%esi,%eax,1),%eax
5067 movdqu (%ebx,%eax,1),%xmm7
5076 movups 16(%edx),%xmm1
5080 .byte 102,15,56,220,209
5084 jnz .L075enc1_loop_15
5085 .byte 102,15,56,221,209
5089 movups %xmm2,-16(%edi,%esi,1)
5098 leal 32(%edx,%ecx,1),%edx
5116 movdqu (%ebx,%ecx,1),%xmm3
5119 movdqu (%ebx,%eax,1),%xmm5
5121 movdqu (%ebx,%edi,1),%xmm7
5126 movdqa %xmm3,16(%esp)
5128 movdqa %xmm4,32(%esp)
5130 movdqa %xmm5,48(%esp)
5132 movdqa %xmm6,64(%esp)
5133 movdqa %xmm7,80(%esp)
5134 movups -48(%edx,%ecx,1),%xmm0
5136 movdqu 16(%esi),%xmm3
5137 movdqu 32(%esi),%xmm4
5138 movdqu 48(%esi),%xmm5
5139 movdqu 64(%esi),%xmm6
5140 movdqu 80(%esi),%xmm7
5154 movdqa %xmm1,96(%esp)
5155 movups -32(%edx,%ecx,1),%xmm1
5162 movups -16(%edx,%ecx,1),%xmm0
5163 .byte 102,15,56,220,209
5164 .byte 102,15,56,220,217
5165 .byte 102,15,56,220,225
5166 .byte 102,15,56,220,233
5167 .byte 102,15,56,220,241
5168 .byte 102,15,56,220,249
5171 call .L_aesni_encrypt6_enter
5172 movdqa 80(%esp),%xmm0
5179 movdqa 96(%esp),%xmm1
5180 movdqu %xmm2,-96(%edi,%esi,1)
5181 movdqu %xmm3,-80(%edi,%esi,1)
5182 movdqu %xmm4,-64(%edi,%esi,1)
5183 movdqu %xmm5,-48(%edi,%esi,1)
5184 movdqu %xmm6,-32(%edi,%esi,1)
5185 movdqu %xmm7,-16(%edi,%esi,1)
5205 movdqu (%ebx,%ecx,1),%xmm3
5208 movdqu (%ebx,%eax,1),%xmm5
5214 movdqa %xmm3,16(%esp)
5216 movdqa %xmm4,32(%esp)
5218 movdqa %xmm5,48(%esp)
5220 movdqa %xmm6,64(%esp)
5221 movups -48(%edx,%ecx,1),%xmm0
5223 movdqu 16(%esi),%xmm3
5224 movdqu 32(%esi),%xmm4
5225 movdqu 48(%esi),%xmm5
5226 movdqu 64(%esi),%xmm6
5238 movdqa %xmm1,96(%esp)
5239 movups -32(%edx,%ecx,1),%xmm1
5245 movups -16(%edx,%ecx,1),%xmm0
5246 .byte 102,15,56,220,209
5247 .byte 102,15,56,220,217
5248 .byte 102,15,56,220,225
5249 .byte 102,15,56,220,233
5250 .byte 102,15,56,220,241
5251 .byte 102,15,56,220,249
5253 call .L_aesni_encrypt6_enter
5254 movdqa 64(%esp),%xmm0
5260 movdqa 96(%esp),%xmm1
5261 movdqu %xmm2,(%edi,%esi,1)
5262 movdqu %xmm3,16(%edi,%esi,1)
5263 movdqu %xmm4,32(%edi,%esi,1)
5264 movdqu %xmm5,48(%edi,%esi,1)
5265 movdqu %xmm6,64(%edi,%esi,1)
5279 movups 16(%edx),%xmm1
5283 .byte 102,15,56,220,209
5287 jnz .L083enc1_loop_16
5288 .byte 102,15,56,221,209
5292 movups %xmm2,(%edi,%esi,1)
5301 movdqu (%ebx,%ecx,1),%xmm7
5303 movdqu 16(%esi),%xmm3
5313 call _aesni_encrypt2
5318 movups %xmm2,(%edi,%esi,1)
5319 movups %xmm3,16(%edi,%esi,1)
5328 movdqu (%ebx,%ecx,1),%xmm6
5331 movdqu 16(%esi),%xmm3
5332 movdqu 32(%esi),%xmm4
5343 movdqa %xmm1,96(%esp)
5345 call _aesni_encrypt3
5350 movdqa 96(%esp),%xmm1
5351 movups %xmm2,(%edi,%esi,1)
5352 movups %xmm3,16(%edi,%esi,1)
5353 movups %xmm4,32(%edi,%esi,1)
5365 movdqu (%ebx,%ecx,1),%xmm5
5367 movdqu (%ebx,%eax,1),%xmm7
5371 movdqu 16(%esi),%xmm3
5375 movdqa %xmm5,16(%esp)
5376 movdqu 32(%esi),%xmm4
5377 movdqu 48(%esi),%xmm5
5387 movdqa %xmm1,96(%esp)
5389 call _aesni_encrypt4
5391 xorps 16(%esp),%xmm3
5393 movups %xmm2,(%edi,%esi,1)
5395 movups %xmm3,16(%edi,%esi,1)
5397 movups %xmm4,32(%edi,%esi,1)
5398 movdqa 96(%esp),%xmm1
5399 movups %xmm5,48(%edi,%esi,1)
5406 movdqa %xmm2,16(%esp)
5408 movdqa %xmm2,32(%esp)
5410 movdqa %xmm2,48(%esp)
5412 movdqa %xmm2,64(%esp)
5413 movdqa %xmm2,80(%esp)
5414 movdqa %xmm2,96(%esp)
5427 .size aesni_ocb_encrypt,.-.L_aesni_ocb_encrypt_begin
5428 .globl aesni_ocb_decrypt
5429 .type aesni_ocb_decrypt,@function
5432 .L_aesni_ocb_decrypt_begin:
5452 leal -96(%esi,%eax,1),%eax
5462 movdqu (%ebx,%eax,1),%xmm7
5470 movups 16(%edx),%xmm1
5474 .byte 102,15,56,222,209
5478 jnz .L085dec1_loop_17
5479 .byte 102,15,56,223,209
5484 movups %xmm2,-16(%edi,%esi,1)
5493 leal 32(%edx,%ecx,1),%edx
5511 movdqu (%ebx,%ecx,1),%xmm3
5514 movdqu (%ebx,%eax,1),%xmm5
5516 movdqu (%ebx,%edi,1),%xmm7
5521 movdqa %xmm3,16(%esp)
5523 movdqa %xmm4,32(%esp)
5525 movdqa %xmm5,48(%esp)
5527 movdqa %xmm6,64(%esp)
5528 movdqa %xmm7,80(%esp)
5529 movups -48(%edx,%ecx,1),%xmm0
5531 movdqu 16(%esi),%xmm3
5532 movdqu 32(%esi),%xmm4
5533 movdqu 48(%esi),%xmm5
5534 movdqu 64(%esi),%xmm6
5535 movdqu 80(%esi),%xmm7
5537 movdqa %xmm1,96(%esp)
5544 movups -32(%edx,%ecx,1),%xmm1
5551 movups -16(%edx,%ecx,1),%xmm0
5552 .byte 102,15,56,222,209
5553 .byte 102,15,56,222,217
5554 .byte 102,15,56,222,225
5555 .byte 102,15,56,222,233
5556 .byte 102,15,56,222,241
5557 .byte 102,15,56,222,249
5560 call .L_aesni_decrypt6_enter
5561 movdqa 80(%esp),%xmm0
5563 movdqa 96(%esp),%xmm1
5570 movdqu %xmm2,-96(%edi,%esi,1)
5572 movdqu %xmm3,-80(%edi,%esi,1)
5574 movdqu %xmm4,-64(%edi,%esi,1)
5576 movdqu %xmm5,-48(%edi,%esi,1)
5578 movdqu %xmm6,-32(%edi,%esi,1)
5580 movdqu %xmm7,-16(%edi,%esi,1)
5600 movdqu (%ebx,%ecx,1),%xmm3
5603 movdqu (%ebx,%eax,1),%xmm5
5609 movdqa %xmm3,16(%esp)
5611 movdqa %xmm4,32(%esp)
5613 movdqa %xmm5,48(%esp)
5615 movdqa %xmm6,64(%esp)
5616 movups -48(%edx,%ecx,1),%xmm0
5618 movdqu 16(%esi),%xmm3
5619 movdqu 32(%esi),%xmm4
5620 movdqu 48(%esi),%xmm5
5621 movdqu 64(%esi),%xmm6
5623 movdqa %xmm1,96(%esp)
5629 movups -32(%edx,%ecx,1),%xmm1
5635 movups -16(%edx,%ecx,1),%xmm0
5636 .byte 102,15,56,222,209
5637 .byte 102,15,56,222,217
5638 .byte 102,15,56,222,225
5639 .byte 102,15,56,222,233
5640 .byte 102,15,56,222,241
5641 .byte 102,15,56,222,249
5643 call .L_aesni_decrypt6_enter
5644 movdqa 64(%esp),%xmm0
5646 movdqa 96(%esp),%xmm1
5652 movdqu %xmm2,(%edi,%esi,1)
5654 movdqu %xmm3,16(%edi,%esi,1)
5656 movdqu %xmm4,32(%edi,%esi,1)
5658 movdqu %xmm5,48(%edi,%esi,1)
5660 movdqu %xmm6,64(%edi,%esi,1)
5673 movups 16(%edx),%xmm1
5677 .byte 102,15,56,222,209
5681 jnz .L093dec1_loop_18
5682 .byte 102,15,56,223,209
5687 movups %xmm2,(%edi,%esi,1)
5696 movdqu (%ebx,%ecx,1),%xmm7
5698 movdqu 16(%esi),%xmm3
5706 call _aesni_decrypt2
5711 movups %xmm2,(%edi,%esi,1)
5713 movups %xmm3,16(%edi,%esi,1)
5723 movdqu (%ebx,%ecx,1),%xmm6
5726 movdqu 16(%esi),%xmm3
5727 movdqu 32(%esi),%xmm4
5729 movdqa %xmm1,96(%esp)
5737 call _aesni_decrypt3
5738 movdqa 96(%esp),%xmm1
5742 movups %xmm2,(%edi,%esi,1)
5745 movups %xmm3,16(%edi,%esi,1)
5747 movups %xmm4,32(%edi,%esi,1)
5760 movdqu (%ebx,%ecx,1),%xmm5
5762 movdqu (%ebx,%eax,1),%xmm7
5766 movdqu 16(%esi),%xmm3
5770 movdqa %xmm5,16(%esp)
5771 movdqu 32(%esi),%xmm4
5772 movdqu 48(%esi),%xmm5
5774 movdqa %xmm1,96(%esp)
5780 call _aesni_decrypt4
5781 movdqa 96(%esp),%xmm1
5783 xorps 16(%esp),%xmm3
5785 movups %xmm2,(%edi,%esi,1)
5788 movups %xmm3,16(%edi,%esi,1)
5791 movups %xmm4,32(%edi,%esi,1)
5793 movups %xmm5,48(%edi,%esi,1)
5801 movdqa %xmm2,16(%esp)
5803 movdqa %xmm2,32(%esp)
5805 movdqa %xmm2,48(%esp)
5807 movdqa %xmm2,64(%esp)
5808 movdqa %xmm2,80(%esp)
5809 movdqa %xmm2,96(%esp)
5822 .size aesni_ocb_decrypt,.-.L_aesni_ocb_decrypt_begin
5823 .globl aesni_cbc_encrypt
5824 .type aesni_cbc_encrypt,@function
5827 .L_aesni_cbc_encrypt_begin:
5852 jb .L096cbc_enc_tail
5854 jmp .L097cbc_enc_loop
5860 movups 16(%edx),%xmm1
5865 .byte 102,15,56,220,209
5869 jnz .L098enc1_loop_19
5870 .byte 102,15,56,221,209
5876 jnc .L097cbc_enc_loop
5878 jnz .L096cbc_enc_tail
5893 jmp .L097cbc_enc_loop
5897 jbe .L100cbc_dec_tail
5900 jmp .L101cbc_dec_loop6_enter
5906 .L101cbc_dec_loop6_enter:
5908 movdqu 16(%esi),%xmm3
5909 movdqu 32(%esi),%xmm4
5910 movdqu 48(%esi),%xmm5
5911 movdqu 64(%esi),%xmm6
5912 movdqu 80(%esi),%xmm7
5913 call _aesni_decrypt6
5915 movups 16(%esi),%xmm0
5918 movups 32(%esi),%xmm1
5920 movups 48(%esi),%xmm0
5922 movups 64(%esi),%xmm1
5924 movups 80(%esi),%xmm0
5927 movups %xmm3,16(%edi)
5929 movups %xmm4,32(%edi)
5931 movups %xmm5,48(%edi)
5933 movups %xmm6,64(%edi)
5936 ja .L102cbc_dec_loop6
5940 jle .L103cbc_dec_clear_tail_collected
5947 jbe .L104cbc_dec_one
5948 movups 16(%esi),%xmm3
5951 jbe .L105cbc_dec_two
5952 movups 32(%esi),%xmm4
5954 jbe .L106cbc_dec_three
5955 movups 48(%esi),%xmm5
5957 jbe .L107cbc_dec_four
5958 movups 64(%esi),%xmm6
5962 call _aesni_decrypt6
5964 movups 16(%esi),%xmm0
5967 movups 32(%esi),%xmm1
5969 movups 48(%esi),%xmm0
5971 movups 64(%esi),%xmm7
5974 movups %xmm3,16(%edi)
5976 movups %xmm4,32(%edi)
5978 movups %xmm5,48(%edi)
5984 jmp .L108cbc_dec_tail_collected
5988 movups 16(%edx),%xmm1
5992 .byte 102,15,56,222,209
5996 jnz .L109dec1_loop_20
5997 .byte 102,15,56,223,209
6001 jmp .L108cbc_dec_tail_collected
6004 call _aesni_decrypt2
6013 jmp .L108cbc_dec_tail_collected
6016 call _aesni_decrypt3
6023 movups %xmm3,16(%edi)
6026 movups 32(%esi),%xmm7
6028 jmp .L108cbc_dec_tail_collected
6031 call _aesni_decrypt4
6032 movups 16(%esi),%xmm1
6033 movups 32(%esi),%xmm0
6035 movups 48(%esi),%xmm7
6039 movups %xmm3,16(%edi)
6042 movups %xmm4,32(%edi)
6048 jmp .L108cbc_dec_tail_collected
6050 .L103cbc_dec_clear_tail_collected:
6055 .L108cbc_dec_tail_collected:
6057 jnz .L110cbc_dec_tail_partial
6062 .L110cbc_dec_tail_partial:
6083 .size aesni_cbc_encrypt,.-.L_aesni_cbc_encrypt_begin
6084 .type _aesni_set_encrypt_key,@function
6086 _aesni_set_encrypt_key:
6096 leal .Lkey_const-.L112pic(%ebx),%ebx
6097 leal OPENSSL_ia32cap_P,%ebp
6102 andl $268437504,%ebp
6108 jne .L115bad_keybits
6111 cmpl $268435456,%ebp
6112 je .L11710rounds_alt
6114 movups %xmm0,-16(%edx)
6115 .byte 102,15,58,223,200,1
6116 call .L118key_128_cold
6117 .byte 102,15,58,223,200,2
6119 .byte 102,15,58,223,200,4
6121 .byte 102,15,58,223,200,8
6123 .byte 102,15,58,223,200,16
6125 .byte 102,15,58,223,200,32
6127 .byte 102,15,58,223,200,64
6129 .byte 102,15,58,223,200,128
6131 .byte 102,15,58,223,200,27
6133 .byte 102,15,58,223,200,54
6143 shufps $16,%xmm0,%xmm4
6145 shufps $140,%xmm0,%xmm4
6147 shufps $255,%xmm1,%xmm1
6154 movdqa 32(%ebx),%xmm4
6156 movdqu %xmm0,-16(%edx)
6158 .byte 102,15,56,0,197
6159 .byte 102,15,56,221,196
6170 movdqu %xmm0,-16(%edx)
6173 jnz .L121loop_key128
6174 movdqa 48(%ebx),%xmm4
6175 .byte 102,15,56,0,197
6176 .byte 102,15,56,221,196
6188 .byte 102,15,56,0,197
6189 .byte 102,15,56,221,196
6198 movdqu %xmm0,16(%edx)
6205 cmpl $268435456,%ebp
6206 je .L12212rounds_alt
6208 movups %xmm0,-16(%edx)
6209 .byte 102,15,58,223,202,1
6210 call .L123key_192a_cold
6211 .byte 102,15,58,223,202,2
6213 .byte 102,15,58,223,202,4
6215 .byte 102,15,58,223,202,8
6217 .byte 102,15,58,223,202,16
6219 .byte 102,15,58,223,202,32
6221 .byte 102,15,58,223,202,64
6223 .byte 102,15,58,223,202,128
6236 shufps $16,%xmm0,%xmm4
6239 shufps $140,%xmm0,%xmm4
6242 pshufd $85,%xmm1,%xmm1
6245 pshufd $255,%xmm0,%xmm3
6251 shufps $68,%xmm0,%xmm5
6253 shufps $78,%xmm2,%xmm3
6254 movups %xmm3,16(%edx)
6256 jmp .L126key_192b_warm
6259 movdqa 16(%ebx),%xmm5
6260 movdqa 32(%ebx),%xmm4
6262 movdqu %xmm0,-16(%edx)
6266 .byte 102,15,56,0,213
6267 .byte 102,15,56,221,212
6277 pshufd $255,%xmm0,%xmm3
6283 movdqu %xmm0,-16(%edx)
6285 jnz .L127loop_key192
6291 movups 16(%eax),%xmm2
6293 cmpl $268435456,%ebp
6294 je .L12814rounds_alt
6296 movups %xmm0,-32(%edx)
6297 movups %xmm2,-16(%edx)
6298 .byte 102,15,58,223,202,1
6299 call .L129key_256a_cold
6300 .byte 102,15,58,223,200,1
6302 .byte 102,15,58,223,202,2
6304 .byte 102,15,58,223,200,2
6306 .byte 102,15,58,223,202,4
6308 .byte 102,15,58,223,200,4
6310 .byte 102,15,58,223,202,8
6312 .byte 102,15,58,223,200,8
6314 .byte 102,15,58,223,202,16
6316 .byte 102,15,58,223,200,16
6318 .byte 102,15,58,223,202,32
6320 .byte 102,15,58,223,200,32
6322 .byte 102,15,58,223,202,64
6333 shufps $16,%xmm0,%xmm4
6335 shufps $140,%xmm0,%xmm4
6337 shufps $255,%xmm1,%xmm1
6344 shufps $16,%xmm2,%xmm4
6346 shufps $140,%xmm2,%xmm4
6348 shufps $170,%xmm1,%xmm1
6354 movdqa 32(%ebx),%xmm4
6356 movdqu %xmm0,-32(%edx)
6358 movdqu %xmm2,-16(%edx)
6360 .byte 102,15,56,0,213
6361 .byte 102,15,56,221,212
6374 pshufd $255,%xmm0,%xmm2
6376 .byte 102,15,56,221,211
6385 movdqu %xmm2,16(%edx)
6388 jmp .L132loop_key256
6416 .size _aesni_set_encrypt_key,.-_aesni_set_encrypt_key
6417 .globl aesni_set_encrypt_key
6418 .type aesni_set_encrypt_key,@function
6420 aesni_set_encrypt_key:
6421 .L_aesni_set_encrypt_key_begin:
6425 call _aesni_set_encrypt_key
6427 .size aesni_set_encrypt_key,.-.L_aesni_set_encrypt_key_begin
6428 .globl aesni_set_decrypt_key
6429 .type aesni_set_decrypt_key,@function
6431 aesni_set_decrypt_key:
6432 .L_aesni_set_decrypt_key_begin:
6436 call _aesni_set_encrypt_key
6440 jnz .L134dec_key_ret
6441 leal 16(%edx,%ecx,1),%eax
6448 .L135dec_key_inverse:
6451 .byte 102,15,56,219,192
6452 .byte 102,15,56,219,201
6455 movups %xmm0,16(%eax)
6456 movups %xmm1,-16(%edx)
6458 ja .L135dec_key_inverse
6460 .byte 102,15,56,219,192
6467 .size aesni_set_decrypt_key,.-.L_aesni_set_decrypt_key_begin
6470 .long 202313229,202313229,202313229,202313229
6471 .long 67569157,67569157,67569157,67569157
6474 .byte 65,69,83,32,102,111,114,32,73,110,116,101,108,32,65,69
6475 .byte 83,45,78,73,44,32,67,82,89,80,84,79,71,65,77,83
6476 .byte 32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115
6477 .byte 115,108,46,111,114,103,62,0
6478 .comm OPENSSL_ia32cap_P,16,4