1 .file "crypto/aes/asm/aesni-x86.s"
17 .byte 102,15,56,220,209
22 .byte 102,15,56,221,209
28 L_aesni_decrypt_begin:
39 .byte 102,15,56,222,209
44 .byte 102,15,56,223,209
58 .byte 102,15,56,220,209
59 .byte 102,15,56,220,217
61 .byte 102,15,56,220,225
63 .byte 102,15,56,220,208
64 .byte 102,15,56,220,216
66 .byte 102,15,56,220,224
69 .byte 102,15,56,220,209
70 .byte 102,15,56,220,217
71 .byte 102,15,56,220,225
72 .byte 102,15,56,221,208
73 .byte 102,15,56,221,216
74 .byte 102,15,56,221,224
87 .byte 102,15,56,222,209
88 .byte 102,15,56,222,217
90 .byte 102,15,56,222,225
92 .byte 102,15,56,222,208
93 .byte 102,15,56,222,216
95 .byte 102,15,56,222,224
98 .byte 102,15,56,222,209
99 .byte 102,15,56,222,217
100 .byte 102,15,56,222,225
101 .byte 102,15,56,223,208
102 .byte 102,15,56,223,216
103 .byte 102,15,56,223,224
108 movups 16(%edx),%xmm1
117 .byte 102,15,56,220,209
118 .byte 102,15,56,220,217
120 .byte 102,15,56,220,225
121 .byte 102,15,56,220,233
122 movups 16(%edx),%xmm1
123 .byte 102,15,56,220,208
124 .byte 102,15,56,220,216
126 .byte 102,15,56,220,224
127 .byte 102,15,56,220,232
130 .byte 102,15,56,220,209
131 .byte 102,15,56,220,217
132 .byte 102,15,56,220,225
133 .byte 102,15,56,220,233
134 .byte 102,15,56,221,208
135 .byte 102,15,56,221,216
136 .byte 102,15,56,221,224
137 .byte 102,15,56,221,232
142 movups 16(%edx),%xmm1
151 .byte 102,15,56,222,209
152 .byte 102,15,56,222,217
154 .byte 102,15,56,222,225
155 .byte 102,15,56,222,233
156 movups 16(%edx),%xmm1
157 .byte 102,15,56,222,208
158 .byte 102,15,56,222,216
160 .byte 102,15,56,222,224
161 .byte 102,15,56,222,232
164 .byte 102,15,56,222,209
165 .byte 102,15,56,222,217
166 .byte 102,15,56,222,225
167 .byte 102,15,56,222,233
168 .byte 102,15,56,223,208
169 .byte 102,15,56,223,216
170 .byte 102,15,56,223,224
171 .byte 102,15,56,223,232
177 movups 16(%edx),%xmm1
181 .byte 102,15,56,220,209
183 .byte 102,15,56,220,217
186 .byte 102,15,56,220,225
188 .byte 102,15,56,220,233
190 .byte 102,15,56,220,241
192 .byte 102,15,56,220,249
193 jmp L_aesni_encrypt6_enter
196 .byte 102,15,56,220,209
197 .byte 102,15,56,220,217
199 .byte 102,15,56,220,225
200 .byte 102,15,56,220,233
201 .byte 102,15,56,220,241
202 .byte 102,15,56,220,249
204 L_aesni_encrypt6_enter:
205 movups 16(%edx),%xmm1
206 .byte 102,15,56,220,208
207 .byte 102,15,56,220,216
209 .byte 102,15,56,220,224
210 .byte 102,15,56,220,232
211 .byte 102,15,56,220,240
212 .byte 102,15,56,220,248
215 .byte 102,15,56,220,209
216 .byte 102,15,56,220,217
217 .byte 102,15,56,220,225
218 .byte 102,15,56,220,233
219 .byte 102,15,56,220,241
220 .byte 102,15,56,220,249
221 .byte 102,15,56,221,208
222 .byte 102,15,56,221,216
223 .byte 102,15,56,221,224
224 .byte 102,15,56,221,232
225 .byte 102,15,56,221,240
226 .byte 102,15,56,221,248
232 movups 16(%edx),%xmm1
236 .byte 102,15,56,222,209
238 .byte 102,15,56,222,217
241 .byte 102,15,56,222,225
243 .byte 102,15,56,222,233
245 .byte 102,15,56,222,241
247 .byte 102,15,56,222,249
248 jmp L_aesni_decrypt6_enter
251 .byte 102,15,56,222,209
252 .byte 102,15,56,222,217
254 .byte 102,15,56,222,225
255 .byte 102,15,56,222,233
256 .byte 102,15,56,222,241
257 .byte 102,15,56,222,249
259 L_aesni_decrypt6_enter:
260 movups 16(%edx),%xmm1
261 .byte 102,15,56,222,208
262 .byte 102,15,56,222,216
264 .byte 102,15,56,222,224
265 .byte 102,15,56,222,232
266 .byte 102,15,56,222,240
267 .byte 102,15,56,222,248
270 .byte 102,15,56,222,209
271 .byte 102,15,56,222,217
272 .byte 102,15,56,222,225
273 .byte 102,15,56,222,233
274 .byte 102,15,56,222,241
275 .byte 102,15,56,222,249
276 .byte 102,15,56,223,208
277 .byte 102,15,56,223,216
278 .byte 102,15,56,223,224
279 .byte 102,15,56,223,232
280 .byte 102,15,56,223,240
281 .byte 102,15,56,223,248
283 .globl _aesni_ecb_encrypt
286 L_aesni_ecb_encrypt_begin:
306 movdqu 16(%esi),%xmm3
307 movdqu 32(%esi),%xmm4
308 movdqu 48(%esi),%xmm5
309 movdqu 64(%esi),%xmm6
310 movdqu 80(%esi),%xmm7
313 jmp L011ecb_enc_loop6_enter
318 movups %xmm3,16(%edi)
319 movdqu 16(%esi),%xmm3
320 movups %xmm4,32(%edi)
321 movdqu 32(%esi),%xmm4
322 movups %xmm5,48(%edi)
323 movdqu 48(%esi),%xmm5
324 movups %xmm6,64(%edi)
325 movdqu 64(%esi),%xmm6
326 movups %xmm7,80(%edi)
328 movdqu 80(%esi),%xmm7
330 L011ecb_enc_loop6_enter:
331 call __aesni_encrypt6
335 jnc L012ecb_enc_loop6
337 movups %xmm3,16(%edi)
338 movups %xmm4,32(%edi)
339 movups %xmm5,48(%edi)
340 movups %xmm6,64(%edi)
341 movups %xmm7,80(%edi)
349 movups 16(%esi),%xmm3
351 movups 32(%esi),%xmm4
354 movups 48(%esi),%xmm5
356 movups 64(%esi),%xmm6
358 call __aesni_encrypt6
360 movups %xmm3,16(%edi)
361 movups %xmm4,32(%edi)
362 movups %xmm5,48(%edi)
363 movups %xmm6,64(%edi)
368 movups 16(%edx),%xmm1
372 .byte 102,15,56,220,209
377 .byte 102,15,56,221,209
383 call __aesni_encrypt3
385 movups %xmm3,16(%edi)
389 call __aesni_encrypt3
391 movups %xmm3,16(%edi)
392 movups %xmm4,32(%edi)
396 call __aesni_encrypt4
398 movups %xmm3,16(%edi)
399 movups %xmm4,32(%edi)
400 movups %xmm5,48(%edi)
409 movdqu 16(%esi),%xmm3
410 movdqu 32(%esi),%xmm4
411 movdqu 48(%esi),%xmm5
412 movdqu 64(%esi),%xmm6
413 movdqu 80(%esi),%xmm7
416 jmp L019ecb_dec_loop6_enter
421 movups %xmm3,16(%edi)
422 movdqu 16(%esi),%xmm3
423 movups %xmm4,32(%edi)
424 movdqu 32(%esi),%xmm4
425 movups %xmm5,48(%edi)
426 movdqu 48(%esi),%xmm5
427 movups %xmm6,64(%edi)
428 movdqu 64(%esi),%xmm6
429 movups %xmm7,80(%edi)
431 movdqu 80(%esi),%xmm7
433 L019ecb_dec_loop6_enter:
434 call __aesni_decrypt6
438 jnc L020ecb_dec_loop6
440 movups %xmm3,16(%edi)
441 movups %xmm4,32(%edi)
442 movups %xmm5,48(%edi)
443 movups %xmm6,64(%edi)
444 movups %xmm7,80(%edi)
452 movups 16(%esi),%xmm3
454 movups 32(%esi),%xmm4
457 movups 48(%esi),%xmm5
459 movups 64(%esi),%xmm6
461 call __aesni_decrypt6
463 movups %xmm3,16(%edi)
464 movups %xmm4,32(%edi)
465 movups %xmm5,48(%edi)
466 movups %xmm6,64(%edi)
471 movups 16(%edx),%xmm1
475 .byte 102,15,56,222,209
480 .byte 102,15,56,223,209
486 call __aesni_decrypt3
488 movups %xmm3,16(%edi)
492 call __aesni_decrypt3
494 movups %xmm3,16(%edi)
495 movups %xmm4,32(%edi)
499 call __aesni_decrypt4
501 movups %xmm3,16(%edi)
502 movups %xmm4,32(%edi)
503 movups %xmm5,48(%edi)
510 .globl _aesni_ccm64_encrypt_blocks
512 _aesni_ccm64_encrypt_blocks:
513 L_aesni_ccm64_encrypt_blocks_begin:
531 movl $202182159,(%esp)
532 movl $134810123,4(%esp)
533 movl $67438087,8(%esp)
546 .byte 102,15,56,0,253
552 movups 16(%ebp),%xmm1
558 .byte 102,15,56,220,209
560 .byte 102,15,56,220,217
561 movups 16(%edx),%xmm1
562 .byte 102,15,56,220,208
564 .byte 102,15,56,220,216
566 jnz L027ccm64_enc2_loop
567 .byte 102,15,56,220,209
568 .byte 102,15,56,220,217
570 .byte 102,15,56,221,208
571 .byte 102,15,56,221,216
578 .byte 102,15,56,0,213
579 jnz L026ccm64_enc_outer
588 .globl _aesni_ccm64_decrypt_blocks
590 _aesni_ccm64_decrypt_blocks:
591 L_aesni_ccm64_decrypt_blocks_begin:
609 movl $202182159,(%esp)
610 movl $134810123,4(%esp)
611 movl $67438087,8(%esp)
623 .byte 102,15,56,0,253
625 movups 16(%edx),%xmm1
629 .byte 102,15,56,220,209
634 .byte 102,15,56,221,209
638 jmp L029ccm64_dec_outer
646 .byte 102,15,56,0,213
648 jz L030ccm64_dec_break
651 movups 16(%ebp),%xmm1
658 .byte 102,15,56,220,209
660 .byte 102,15,56,220,217
661 movups 16(%edx),%xmm1
662 .byte 102,15,56,220,208
664 .byte 102,15,56,220,216
666 jnz L031ccm64_dec2_loop
669 .byte 102,15,56,220,209
670 .byte 102,15,56,220,217
672 .byte 102,15,56,221,208
673 .byte 102,15,56,221,216
674 jmp L029ccm64_dec_outer
679 movups 16(%edx),%xmm1
684 .byte 102,15,56,220,217
689 .byte 102,15,56,221,217
698 .globl _aesni_ctr32_encrypt_blocks
700 _aesni_ctr32_encrypt_blocks:
701 L_aesni_ctr32_encrypt_blocks_begin:
716 je L033ctr32_one_shortcut
718 movl $202182159,(%esp)
719 movl $134810123,4(%esp)
720 movl $67438087,8(%esp)
728 .byte 102,15,58,22,251,3
729 .byte 102,15,58,34,253,3
735 .byte 102,15,58,34,203,0
737 .byte 102,15,58,34,197,0
739 .byte 102,15,58,34,203,1
741 .byte 102,15,58,34,197,1
743 .byte 102,15,58,34,203,2
745 .byte 102,15,58,34,197,2
746 movdqa %xmm1,48(%esp)
747 .byte 102,15,56,0,202
748 movdqa %xmm0,64(%esp)
749 .byte 102,15,56,0,194
750 pshufd $192,%xmm1,%xmm2
751 pshufd $128,%xmm1,%xmm3
754 movdqa %xmm7,32(%esp)
762 pshufd $64,%xmm1,%xmm4
763 movdqa 32(%esp),%xmm1
764 pshufd $192,%xmm0,%xmm5
766 pshufd $128,%xmm0,%xmm6
768 pshufd $64,%xmm0,%xmm7
774 movups 16(%ebp),%xmm1
779 .byte 102,15,56,220,209
781 .byte 102,15,56,220,217
783 .byte 102,15,56,220,225
785 .byte 102,15,56,220,233
787 .byte 102,15,56,220,241
789 .byte 102,15,56,220,249
790 call L_aesni_encrypt6_enter
792 movups 16(%esi),%xmm0
794 movups 32(%esi),%xmm1
797 movdqa 16(%esp),%xmm0
799 movdqa 48(%esp),%xmm1
800 movups %xmm3,16(%edi)
801 movups %xmm4,32(%edi)
805 movups 48(%esi),%xmm3
806 movups 64(%esi),%xmm4
808 movups 80(%esi),%xmm3
810 movdqa %xmm1,48(%esp)
811 .byte 102,15,56,0,202
813 movups %xmm5,48(%edi)
815 movdqa %xmm0,64(%esp)
816 .byte 102,15,56,0,194
817 movups %xmm6,64(%edi)
818 pshufd $192,%xmm1,%xmm2
819 movups %xmm7,80(%edi)
822 pshufd $128,%xmm1,%xmm3
829 movdqa 32(%esp),%xmm7
834 pshufd $64,%xmm1,%xmm4
837 pshufd $192,%xmm0,%xmm5
841 pshufd $128,%xmm0,%xmm6
845 call __aesni_encrypt6
847 movups 16(%esi),%xmm0
849 movups 32(%esi),%xmm1
851 movups 48(%esi),%xmm0
853 movups 64(%esi),%xmm1
857 movups %xmm3,16(%edi)
858 movups %xmm4,32(%edi)
859 movups %xmm5,48(%edi)
860 movups %xmm6,64(%edi)
863 L033ctr32_one_shortcut:
868 movups 16(%edx),%xmm1
872 .byte 102,15,56,220,209
877 .byte 102,15,56,221,209
884 call __aesni_encrypt3
886 movups 16(%esi),%xmm6
890 movups %xmm3,16(%edi)
894 call __aesni_encrypt3
896 movups 16(%esi),%xmm6
898 movups 32(%esi),%xmm7
902 movups %xmm3,16(%edi)
903 movups %xmm4,32(%edi)
907 call __aesni_encrypt4
909 movups 16(%esi),%xmm7
910 movups 32(%esi),%xmm1
912 movups 48(%esi),%xmm0
916 movups %xmm3,16(%edi)
918 movups %xmm4,32(%edi)
919 movups %xmm5,48(%edi)
927 .globl _aesni_xts_encrypt
930 L_aesni_xts_encrypt_begin:
940 movups 16(%edx),%xmm1
944 .byte 102,15,56,220,209
949 .byte 102,15,56,221,209
966 movdqa 96(%esp),%xmm3
975 jmp L044xts_enc_loop6
978 pshufd $19,%xmm0,%xmm2
985 pshufd $19,%xmm0,%xmm2
987 movdqa %xmm1,16(%esp)
992 pshufd $19,%xmm0,%xmm2
994 movdqa %xmm1,32(%esp)
999 pshufd $19,%xmm0,%xmm2
1001 movdqa %xmm1,48(%esp)
1006 pshufd $19,%xmm0,%xmm7
1007 movdqa %xmm1,64(%esp)
1013 movdqu 16(%esi),%xmm3
1015 movdqu 32(%esi),%xmm4
1017 movdqu 48(%esi),%xmm5
1019 movdqu 64(%esi),%xmm6
1021 movdqu 80(%esi),%xmm1
1025 movdqa %xmm7,80(%esp)
1027 movups 16(%ebp),%xmm1
1030 .byte 102,15,56,220,209
1032 .byte 102,15,56,220,217
1035 .byte 102,15,56,220,225
1037 .byte 102,15,56,220,233
1039 .byte 102,15,56,220,241
1041 .byte 102,15,56,220,249
1042 call L_aesni_encrypt6_enter
1043 movdqa 80(%esp),%xmm1
1047 xorps 16(%esp),%xmm3
1049 xorps 32(%esp),%xmm4
1050 movups %xmm3,16(%edi)
1051 xorps 48(%esp),%xmm5
1052 movups %xmm4,32(%edi)
1053 xorps 64(%esp),%xmm6
1054 movups %xmm5,48(%edi)
1056 movups %xmm6,64(%edi)
1057 pshufd $19,%xmm0,%xmm2
1058 movups %xmm7,80(%edi)
1060 movdqa 96(%esp),%xmm3
1068 jnc L044xts_enc_loop6
1069 leal 1(,%ecx,2),%ecx
1074 jz L045xts_enc_done6x
1078 pshufd $19,%xmm0,%xmm2
1085 pshufd $19,%xmm0,%xmm2
1093 jb L048xts_enc_three
1094 pshufd $19,%xmm0,%xmm2
1102 movdqa %xmm6,16(%esp)
1104 movdqa %xmm7,32(%esp)
1105 pshufd $19,%xmm0,%xmm7
1106 movdqa %xmm1,48(%esp)
1111 movdqu 16(%esi),%xmm3
1112 movdqu 32(%esi),%xmm4
1114 movdqu 48(%esi),%xmm5
1116 movdqu 64(%esi),%xmm6
1120 movdqa %xmm7,64(%esp)
1122 call __aesni_encrypt6
1123 movaps 64(%esp),%xmm1
1125 xorps 16(%esp),%xmm3
1126 xorps 32(%esp),%xmm4
1128 xorps 48(%esp),%xmm5
1129 movups %xmm3,16(%edi)
1131 movups %xmm4,32(%edi)
1132 movups %xmm5,48(%edi)
1133 movups %xmm6,64(%edi)
1135 jmp L050xts_enc_done
1142 movups 16(%edx),%xmm1
1146 .byte 102,15,56,220,209
1151 .byte 102,15,56,221,209
1156 jmp L050xts_enc_done
1161 movups 16(%esi),%xmm3
1166 call __aesni_encrypt3
1170 movups %xmm3,16(%edi)
1173 jmp L050xts_enc_done
1178 movups 16(%esi),%xmm3
1179 movups 32(%esi),%xmm4
1184 call __aesni_encrypt3
1189 movups %xmm3,16(%edi)
1190 movups %xmm4,32(%edi)
1193 jmp L050xts_enc_done
1198 movups 16(%esi),%xmm3
1199 movups 32(%esi),%xmm4
1201 movups 48(%esi),%xmm5
1203 xorps 16(%esp),%xmm3
1206 call __aesni_encrypt4
1208 xorps 16(%esp),%xmm3
1212 movups %xmm3,16(%edi)
1213 movups %xmm4,32(%edi)
1214 movups %xmm5,48(%edi)
1217 jmp L050xts_enc_done
1225 jmp L053xts_enc_steal
1234 pshufd $19,%xmm0,%xmm5
1240 movzbl -16(%edi),%edx
1246 jnz L053xts_enc_steal
1250 movups -16(%edi),%xmm2
1253 movups 16(%edx),%xmm1
1257 .byte 102,15,56,220,209
1261 jnz L054enc1_loop_10
1262 .byte 102,15,56,221,209
1264 movups %xmm2,-16(%edi)
1272 .globl _aesni_xts_decrypt
1275 L_aesni_xts_decrypt_begin:
1285 movups 16(%edx),%xmm1
1289 .byte 102,15,56,220,209
1293 jnz L055enc1_loop_11
1294 .byte 102,15,56,221,209
1318 movdqa 96(%esp),%xmm3
1322 jc L056xts_dec_short
1325 jmp L057xts_dec_loop6
1328 pshufd $19,%xmm0,%xmm2
1335 pshufd $19,%xmm0,%xmm2
1337 movdqa %xmm1,16(%esp)
1342 pshufd $19,%xmm0,%xmm2
1344 movdqa %xmm1,32(%esp)
1349 pshufd $19,%xmm0,%xmm2
1351 movdqa %xmm1,48(%esp)
1356 pshufd $19,%xmm0,%xmm7
1357 movdqa %xmm1,64(%esp)
1363 movdqu 16(%esi),%xmm3
1365 movdqu 32(%esi),%xmm4
1367 movdqu 48(%esi),%xmm5
1369 movdqu 64(%esi),%xmm6
1371 movdqu 80(%esi),%xmm1
1375 movdqa %xmm7,80(%esp)
1377 movups 16(%ebp),%xmm1
1380 .byte 102,15,56,222,209
1382 .byte 102,15,56,222,217
1385 .byte 102,15,56,222,225
1387 .byte 102,15,56,222,233
1389 .byte 102,15,56,222,241
1391 .byte 102,15,56,222,249
1392 call L_aesni_decrypt6_enter
1393 movdqa 80(%esp),%xmm1
1397 xorps 16(%esp),%xmm3
1399 xorps 32(%esp),%xmm4
1400 movups %xmm3,16(%edi)
1401 xorps 48(%esp),%xmm5
1402 movups %xmm4,32(%edi)
1403 xorps 64(%esp),%xmm6
1404 movups %xmm5,48(%edi)
1406 movups %xmm6,64(%edi)
1407 pshufd $19,%xmm0,%xmm2
1408 movups %xmm7,80(%edi)
1410 movdqa 96(%esp),%xmm3
1418 jnc L057xts_dec_loop6
1419 leal 1(,%ecx,2),%ecx
1424 jz L058xts_dec_done6x
1428 pshufd $19,%xmm0,%xmm2
1435 pshufd $19,%xmm0,%xmm2
1443 jb L061xts_dec_three
1444 pshufd $19,%xmm0,%xmm2
1452 movdqa %xmm6,16(%esp)
1454 movdqa %xmm7,32(%esp)
1455 pshufd $19,%xmm0,%xmm7
1456 movdqa %xmm1,48(%esp)
1461 movdqu 16(%esi),%xmm3
1462 movdqu 32(%esi),%xmm4
1464 movdqu 48(%esi),%xmm5
1466 movdqu 64(%esi),%xmm6
1470 movdqa %xmm7,64(%esp)
1472 call __aesni_decrypt6
1473 movaps 64(%esp),%xmm1
1475 xorps 16(%esp),%xmm3
1476 xorps 32(%esp),%xmm4
1478 xorps 48(%esp),%xmm5
1479 movups %xmm3,16(%edi)
1481 movups %xmm4,32(%edi)
1482 movups %xmm5,48(%edi)
1483 movups %xmm6,64(%edi)
1485 jmp L063xts_dec_done
1492 movups 16(%edx),%xmm1
1496 .byte 102,15,56,222,209
1500 jnz L064dec1_loop_12
1501 .byte 102,15,56,223,209
1506 jmp L063xts_dec_done
1511 movups 16(%esi),%xmm3
1515 call __aesni_decrypt3
1519 movups %xmm3,16(%edi)
1522 jmp L063xts_dec_done
1527 movups 16(%esi),%xmm3
1528 movups 32(%esi),%xmm4
1533 call __aesni_decrypt3
1538 movups %xmm3,16(%edi)
1539 movups %xmm4,32(%edi)
1542 jmp L063xts_dec_done
1547 movups 16(%esi),%xmm3
1548 movups 32(%esi),%xmm4
1550 movups 48(%esi),%xmm5
1552 xorps 16(%esp),%xmm3
1555 call __aesni_decrypt4
1557 xorps 16(%esp),%xmm3
1561 movups %xmm3,16(%edi)
1562 movups %xmm4,32(%edi)
1563 movups %xmm5,48(%edi)
1566 jmp L063xts_dec_done
1573 jmp L066xts_dec_only_one_more
1582 pshufd $19,%xmm0,%xmm2
1584 movdqa 96(%esp),%xmm3
1589 L066xts_dec_only_one_more:
1590 pshufd $19,%xmm0,%xmm5
1600 movups 16(%edx),%xmm1
1604 .byte 102,15,56,222,209
1608 jnz L067dec1_loop_13
1609 .byte 102,15,56,223,209
1613 movzbl 16(%esi),%ecx
1620 jnz L068xts_dec_steal
1627 movups 16(%edx),%xmm1
1631 .byte 102,15,56,222,209
1635 jnz L069dec1_loop_14
1636 .byte 102,15,56,223,209
1646 .globl _aesni_cbc_encrypt
1649 L_aesni_cbc_encrypt_begin:
1676 jmp L073cbc_enc_loop
1682 movups 16(%edx),%xmm1
1687 .byte 102,15,56,220,209
1691 jnz L074enc1_loop_15
1692 .byte 102,15,56,221,209
1698 jnc L073cbc_enc_loop
1700 jnz L072cbc_enc_tail
1714 jmp L073cbc_enc_loop
1718 jbe L076cbc_dec_tail
1721 jmp L077cbc_dec_loop6_enter
1727 L077cbc_dec_loop6_enter:
1729 movdqu 16(%esi),%xmm3
1730 movdqu 32(%esi),%xmm4
1731 movdqu 48(%esi),%xmm5
1732 movdqu 64(%esi),%xmm6
1733 movdqu 80(%esi),%xmm7
1734 call __aesni_decrypt6
1736 movups 16(%esi),%xmm0
1739 movups 32(%esi),%xmm1
1741 movups 48(%esi),%xmm0
1743 movups 64(%esi),%xmm1
1745 movups 80(%esi),%xmm0
1748 movups %xmm3,16(%edi)
1750 movups %xmm4,32(%edi)
1752 movups %xmm5,48(%edi)
1754 movups %xmm6,64(%edi)
1757 ja L078cbc_dec_loop6
1761 jle L079cbc_dec_tail_collected
1769 movups 16(%esi),%xmm3
1773 movups 32(%esi),%xmm4
1775 jbe L082cbc_dec_three
1776 movups 48(%esi),%xmm5
1778 jbe L083cbc_dec_four
1779 movups 64(%esi),%xmm6
1783 call __aesni_decrypt6
1785 movups 16(%esi),%xmm0
1788 movups 32(%esi),%xmm1
1790 movups 48(%esi),%xmm0
1792 movups 64(%esi),%xmm7
1795 movups %xmm3,16(%edi)
1796 movups %xmm4,32(%edi)
1797 movups %xmm5,48(%edi)
1801 jmp L079cbc_dec_tail_collected
1805 movups 16(%edx),%xmm1
1809 .byte 102,15,56,222,209
1813 jnz L084dec1_loop_16
1814 .byte 102,15,56,223,209
1818 jmp L079cbc_dec_tail_collected
1822 call __aesni_decrypt3
1830 jmp L079cbc_dec_tail_collected
1833 call __aesni_decrypt3
1839 movups %xmm3,16(%edi)
1841 movups 32(%esi),%xmm7
1843 jmp L079cbc_dec_tail_collected
1846 call __aesni_decrypt4
1847 movups 16(%esi),%xmm1
1848 movups 32(%esi),%xmm0
1850 movups 48(%esi),%xmm7
1854 movups %xmm3,16(%edi)
1856 movups %xmm4,32(%edi)
1860 L079cbc_dec_tail_collected:
1862 jnz L085cbc_dec_tail_partial
1866 L085cbc_dec_tail_partial:
1883 __aesni_set_encrypt_key:
1900 movups %xmm0,-16(%edx)
1901 .byte 102,15,58,223,200,1
1902 call L091key_128_cold
1903 .byte 102,15,58,223,200,2
1905 .byte 102,15,58,223,200,4
1907 .byte 102,15,58,223,200,8
1909 .byte 102,15,58,223,200,16
1911 .byte 102,15,58,223,200,32
1913 .byte 102,15,58,223,200,64
1915 .byte 102,15,58,223,200,128
1917 .byte 102,15,58,223,200,27
1919 .byte 102,15,58,223,200,54
1930 shufps $16,%xmm0,%xmm4
1932 shufps $140,%xmm0,%xmm4
1934 shufps $255,%xmm1,%xmm1
1941 movups %xmm0,-16(%edx)
1942 .byte 102,15,58,223,202,1
1943 call L093key_192a_cold
1944 .byte 102,15,58,223,202,2
1946 .byte 102,15,58,223,202,4
1948 .byte 102,15,58,223,202,8
1950 .byte 102,15,58,223,202,16
1952 .byte 102,15,58,223,202,32
1954 .byte 102,15,58,223,202,64
1956 .byte 102,15,58,223,202,128
1970 shufps $16,%xmm0,%xmm4
1973 shufps $140,%xmm0,%xmm4
1976 pshufd $85,%xmm1,%xmm1
1979 pshufd $255,%xmm0,%xmm3
1985 shufps $68,%xmm0,%xmm5
1987 shufps $78,%xmm2,%xmm3
1988 movups %xmm3,16(%edx)
1990 jmp L096key_192b_warm
1993 movups 16(%eax),%xmm2
1996 movups %xmm0,-32(%edx)
1997 movups %xmm2,-16(%edx)
1998 .byte 102,15,58,223,202,1
1999 call L097key_256a_cold
2000 .byte 102,15,58,223,200,1
2002 .byte 102,15,58,223,202,2
2004 .byte 102,15,58,223,200,2
2006 .byte 102,15,58,223,202,4
2008 .byte 102,15,58,223,200,4
2010 .byte 102,15,58,223,202,8
2012 .byte 102,15,58,223,200,8
2014 .byte 102,15,58,223,202,16
2016 .byte 102,15,58,223,200,16
2018 .byte 102,15,58,223,202,32
2020 .byte 102,15,58,223,200,32
2022 .byte 102,15,58,223,202,64
2033 shufps $16,%xmm0,%xmm4
2035 shufps $140,%xmm0,%xmm4
2037 shufps $255,%xmm1,%xmm1
2044 shufps $16,%xmm2,%xmm4
2046 shufps $140,%xmm2,%xmm4
2048 shufps $170,%xmm1,%xmm1
2059 .globl _aesni_set_encrypt_key
2061 _aesni_set_encrypt_key:
2062 L_aesni_set_encrypt_key_begin:
2066 call __aesni_set_encrypt_key
2068 .globl _aesni_set_decrypt_key
2070 _aesni_set_decrypt_key:
2071 L_aesni_set_decrypt_key_begin:
2075 call __aesni_set_encrypt_key
2080 leal 16(%edx,%ecx,1),%eax
2087 L101dec_key_inverse:
2090 .byte 102,15,56,219,192
2091 .byte 102,15,56,219,201
2094 movups %xmm0,16(%eax)
2095 movups %xmm1,-16(%edx)
2097 ja L101dec_key_inverse
2099 .byte 102,15,56,219,192
2104 .byte 65,69,83,32,102,111,114,32,73,110,116,101,108,32,65,69
2105 .byte 83,45,78,73,44,32,67,82,89,80,84,79,71,65,77,83
2106 .byte 32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115
2107 .byte 115,108,46,111,114,103,62,0