2 # Do not modify. This file is auto-generated from aesni-x86.pl.
7 .type aesni_encrypt,@function
10 .L_aesni_encrypt_begin:
21 .byte 102,15,56,220,209
26 .byte 102,15,56,221,209
29 .size aesni_encrypt,.-.L_aesni_encrypt_begin
31 .type aesni_decrypt,@function
34 .L_aesni_decrypt_begin:
45 .byte 102,15,56,222,209
50 .byte 102,15,56,223,209
53 .size aesni_decrypt,.-.L_aesni_decrypt_begin
54 .type _aesni_encrypt3,@function
66 .byte 102,15,56,220,209
67 .byte 102,15,56,220,217
69 .byte 102,15,56,220,225
71 .byte 102,15,56,220,208
72 .byte 102,15,56,220,216
74 .byte 102,15,56,220,224
77 .byte 102,15,56,220,209
78 .byte 102,15,56,220,217
79 .byte 102,15,56,220,225
80 .byte 102,15,56,221,208
81 .byte 102,15,56,221,216
82 .byte 102,15,56,221,224
84 .size _aesni_encrypt3,.-_aesni_encrypt3
85 .type _aesni_decrypt3,@function
97 .byte 102,15,56,222,209
98 .byte 102,15,56,222,217
100 .byte 102,15,56,222,225
101 movups 16(%edx),%xmm1
102 .byte 102,15,56,222,208
103 .byte 102,15,56,222,216
105 .byte 102,15,56,222,224
108 .byte 102,15,56,222,209
109 .byte 102,15,56,222,217
110 .byte 102,15,56,222,225
111 .byte 102,15,56,223,208
112 .byte 102,15,56,223,216
113 .byte 102,15,56,223,224
115 .size _aesni_decrypt3,.-_aesni_decrypt3
116 .type _aesni_encrypt4,@function
120 movups 16(%edx),%xmm1
129 .byte 102,15,56,220,209
130 .byte 102,15,56,220,217
132 .byte 102,15,56,220,225
133 .byte 102,15,56,220,233
134 movups 16(%edx),%xmm1
135 .byte 102,15,56,220,208
136 .byte 102,15,56,220,216
138 .byte 102,15,56,220,224
139 .byte 102,15,56,220,232
142 .byte 102,15,56,220,209
143 .byte 102,15,56,220,217
144 .byte 102,15,56,220,225
145 .byte 102,15,56,220,233
146 .byte 102,15,56,221,208
147 .byte 102,15,56,221,216
148 .byte 102,15,56,221,224
149 .byte 102,15,56,221,232
151 .size _aesni_encrypt4,.-_aesni_encrypt4
152 .type _aesni_decrypt4,@function
156 movups 16(%edx),%xmm1
165 .byte 102,15,56,222,209
166 .byte 102,15,56,222,217
168 .byte 102,15,56,222,225
169 .byte 102,15,56,222,233
170 movups 16(%edx),%xmm1
171 .byte 102,15,56,222,208
172 .byte 102,15,56,222,216
174 .byte 102,15,56,222,224
175 .byte 102,15,56,222,232
178 .byte 102,15,56,222,209
179 .byte 102,15,56,222,217
180 .byte 102,15,56,222,225
181 .byte 102,15,56,222,233
182 .byte 102,15,56,223,208
183 .byte 102,15,56,223,216
184 .byte 102,15,56,223,224
185 .byte 102,15,56,223,232
187 .size _aesni_decrypt4,.-_aesni_decrypt4
188 .type _aesni_encrypt6,@function
193 movups 16(%edx),%xmm1
197 .byte 102,15,56,220,209
199 .byte 102,15,56,220,217
202 .byte 102,15,56,220,225
204 .byte 102,15,56,220,233
206 .byte 102,15,56,220,241
208 .byte 102,15,56,220,249
209 jmp .L_aesni_encrypt6_enter
212 .byte 102,15,56,220,209
213 .byte 102,15,56,220,217
215 .byte 102,15,56,220,225
216 .byte 102,15,56,220,233
217 .byte 102,15,56,220,241
218 .byte 102,15,56,220,249
220 .L_aesni_encrypt6_enter:
221 movups 16(%edx),%xmm1
222 .byte 102,15,56,220,208
223 .byte 102,15,56,220,216
225 .byte 102,15,56,220,224
226 .byte 102,15,56,220,232
227 .byte 102,15,56,220,240
228 .byte 102,15,56,220,248
231 .byte 102,15,56,220,209
232 .byte 102,15,56,220,217
233 .byte 102,15,56,220,225
234 .byte 102,15,56,220,233
235 .byte 102,15,56,220,241
236 .byte 102,15,56,220,249
237 .byte 102,15,56,221,208
238 .byte 102,15,56,221,216
239 .byte 102,15,56,221,224
240 .byte 102,15,56,221,232
241 .byte 102,15,56,221,240
242 .byte 102,15,56,221,248
244 .size _aesni_encrypt6,.-_aesni_encrypt6
245 .type _aesni_decrypt6,@function
250 movups 16(%edx),%xmm1
254 .byte 102,15,56,222,209
256 .byte 102,15,56,222,217
259 .byte 102,15,56,222,225
261 .byte 102,15,56,222,233
263 .byte 102,15,56,222,241
265 .byte 102,15,56,222,249
266 jmp .L_aesni_decrypt6_enter
269 .byte 102,15,56,222,209
270 .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
277 .L_aesni_decrypt6_enter:
278 movups 16(%edx),%xmm1
279 .byte 102,15,56,222,208
280 .byte 102,15,56,222,216
282 .byte 102,15,56,222,224
283 .byte 102,15,56,222,232
284 .byte 102,15,56,222,240
285 .byte 102,15,56,222,248
288 .byte 102,15,56,222,209
289 .byte 102,15,56,222,217
290 .byte 102,15,56,222,225
291 .byte 102,15,56,222,233
292 .byte 102,15,56,222,241
293 .byte 102,15,56,222,249
294 .byte 102,15,56,223,208
295 .byte 102,15,56,223,216
296 .byte 102,15,56,223,224
297 .byte 102,15,56,223,232
298 .byte 102,15,56,223,240
299 .byte 102,15,56,223,248
301 .size _aesni_decrypt6,.-_aesni_decrypt6
302 .globl aesni_ecb_encrypt
303 .type aesni_ecb_encrypt,@function
306 .L_aesni_ecb_encrypt_begin:
326 movdqu 16(%esi),%xmm3
327 movdqu 32(%esi),%xmm4
328 movdqu 48(%esi),%xmm5
329 movdqu 64(%esi),%xmm6
330 movdqu 80(%esi),%xmm7
333 jmp .L011ecb_enc_loop6_enter
338 movups %xmm3,16(%edi)
339 movdqu 16(%esi),%xmm3
340 movups %xmm4,32(%edi)
341 movdqu 32(%esi),%xmm4
342 movups %xmm5,48(%edi)
343 movdqu 48(%esi),%xmm5
344 movups %xmm6,64(%edi)
345 movdqu 64(%esi),%xmm6
346 movups %xmm7,80(%edi)
348 movdqu 80(%esi),%xmm7
350 .L011ecb_enc_loop6_enter:
355 jnc .L012ecb_enc_loop6
357 movups %xmm3,16(%edi)
358 movups %xmm4,32(%edi)
359 movups %xmm5,48(%edi)
360 movups %xmm6,64(%edi)
361 movups %xmm7,80(%edi)
369 movups 16(%esi),%xmm3
371 movups 32(%esi),%xmm4
373 jb .L015ecb_enc_three
374 movups 48(%esi),%xmm5
376 movups 64(%esi),%xmm6
380 movups %xmm3,16(%edi)
381 movups %xmm4,32(%edi)
382 movups %xmm5,48(%edi)
383 movups %xmm6,64(%edi)
388 movups 16(%edx),%xmm1
392 .byte 102,15,56,220,209
397 .byte 102,15,56,221,209
405 movups %xmm3,16(%edi)
411 movups %xmm3,16(%edi)
412 movups %xmm4,32(%edi)
418 movups %xmm3,16(%edi)
419 movups %xmm4,32(%edi)
420 movups %xmm5,48(%edi)
429 movdqu 16(%esi),%xmm3
430 movdqu 32(%esi),%xmm4
431 movdqu 48(%esi),%xmm5
432 movdqu 64(%esi),%xmm6
433 movdqu 80(%esi),%xmm7
436 jmp .L019ecb_dec_loop6_enter
441 movups %xmm3,16(%edi)
442 movdqu 16(%esi),%xmm3
443 movups %xmm4,32(%edi)
444 movdqu 32(%esi),%xmm4
445 movups %xmm5,48(%edi)
446 movdqu 48(%esi),%xmm5
447 movups %xmm6,64(%edi)
448 movdqu 64(%esi),%xmm6
449 movups %xmm7,80(%edi)
451 movdqu 80(%esi),%xmm7
453 .L019ecb_dec_loop6_enter:
458 jnc .L020ecb_dec_loop6
460 movups %xmm3,16(%edi)
461 movups %xmm4,32(%edi)
462 movups %xmm5,48(%edi)
463 movups %xmm6,64(%edi)
464 movups %xmm7,80(%edi)
472 movups 16(%esi),%xmm3
474 movups 32(%esi),%xmm4
476 jb .L023ecb_dec_three
477 movups 48(%esi),%xmm5
479 movups 64(%esi),%xmm6
483 movups %xmm3,16(%edi)
484 movups %xmm4,32(%edi)
485 movups %xmm5,48(%edi)
486 movups %xmm6,64(%edi)
491 movups 16(%edx),%xmm1
495 .byte 102,15,56,222,209
500 .byte 102,15,56,223,209
508 movups %xmm3,16(%edi)
514 movups %xmm3,16(%edi)
515 movups %xmm4,32(%edi)
521 movups %xmm3,16(%edi)
522 movups %xmm4,32(%edi)
523 movups %xmm5,48(%edi)
530 .size aesni_ecb_encrypt,.-.L_aesni_ecb_encrypt_begin
531 .globl aesni_ccm64_encrypt_blocks
532 .type aesni_ccm64_encrypt_blocks,@function
534 aesni_ccm64_encrypt_blocks:
535 .L_aesni_ccm64_encrypt_blocks_begin:
553 movl $202182159,(%esp)
554 movl $134810123,4(%esp)
555 movl $67438087,8(%esp)
568 .byte 102,15,56,0,253
569 .L026ccm64_enc_outer:
574 movups 16(%ebp),%xmm1
579 .L027ccm64_enc2_loop:
580 .byte 102,15,56,220,209
582 .byte 102,15,56,220,217
583 movups 16(%edx),%xmm1
584 .byte 102,15,56,220,208
586 .byte 102,15,56,220,216
588 jnz .L027ccm64_enc2_loop
589 .byte 102,15,56,220,209
590 .byte 102,15,56,220,217
592 .byte 102,15,56,221,208
593 .byte 102,15,56,221,216
600 .byte 102,15,56,0,213
601 jnz .L026ccm64_enc_outer
610 .size aesni_ccm64_encrypt_blocks,.-.L_aesni_ccm64_encrypt_blocks_begin
611 .globl aesni_ccm64_decrypt_blocks
612 .type aesni_ccm64_decrypt_blocks,@function
614 aesni_ccm64_decrypt_blocks:
615 .L_aesni_ccm64_decrypt_blocks_begin:
633 movl $202182159,(%esp)
634 movl $134810123,4(%esp)
635 movl $67438087,8(%esp)
647 .byte 102,15,56,0,253
649 movups 16(%edx),%xmm1
653 .byte 102,15,56,220,209
658 .byte 102,15,56,221,209
662 jmp .L029ccm64_dec_outer
664 .L029ccm64_dec_outer:
670 .byte 102,15,56,0,213
672 jz .L030ccm64_dec_break
675 movups 16(%ebp),%xmm1
681 .L031ccm64_dec2_loop:
682 .byte 102,15,56,220,209
684 .byte 102,15,56,220,217
685 movups 16(%edx),%xmm1
686 .byte 102,15,56,220,208
688 .byte 102,15,56,220,216
690 jnz .L031ccm64_dec2_loop
693 .byte 102,15,56,220,209
694 .byte 102,15,56,220,217
696 .byte 102,15,56,221,208
697 .byte 102,15,56,221,216
698 jmp .L029ccm64_dec_outer
700 .L030ccm64_dec_break:
703 movups 16(%edx),%xmm1
708 .byte 102,15,56,220,217
713 .byte 102,15,56,221,217
722 .size aesni_ccm64_decrypt_blocks,.-.L_aesni_ccm64_decrypt_blocks_begin
723 .globl aesni_ctr32_encrypt_blocks
724 .type aesni_ctr32_encrypt_blocks,@function
726 aesni_ctr32_encrypt_blocks:
727 .L_aesni_ctr32_encrypt_blocks_begin:
742 je .L033ctr32_one_shortcut
744 movl $202182159,(%esp)
745 movl $134810123,4(%esp)
746 movl $67438087,8(%esp)
754 .byte 102,15,58,22,251,3
755 .byte 102,15,58,34,253,3
761 .byte 102,15,58,34,203,0
763 .byte 102,15,58,34,197,0
765 .byte 102,15,58,34,203,1
767 .byte 102,15,58,34,197,1
769 .byte 102,15,58,34,203,2
771 .byte 102,15,58,34,197,2
772 movdqa %xmm1,48(%esp)
773 .byte 102,15,56,0,202
774 movdqa %xmm0,64(%esp)
775 .byte 102,15,56,0,194
776 pshufd $192,%xmm1,%xmm2
777 pshufd $128,%xmm1,%xmm3
780 movdqa %xmm7,32(%esp)
788 pshufd $64,%xmm1,%xmm4
789 movdqa 32(%esp),%xmm1
790 pshufd $192,%xmm0,%xmm5
792 pshufd $128,%xmm0,%xmm6
794 pshufd $64,%xmm0,%xmm7
800 movups 16(%ebp),%xmm1
805 .byte 102,15,56,220,209
807 .byte 102,15,56,220,217
809 .byte 102,15,56,220,225
811 .byte 102,15,56,220,233
813 .byte 102,15,56,220,241
815 .byte 102,15,56,220,249
816 call .L_aesni_encrypt6_enter
818 movups 16(%esi),%xmm0
820 movups 32(%esi),%xmm1
823 movdqa 16(%esp),%xmm0
825 movdqa 48(%esp),%xmm1
826 movups %xmm3,16(%edi)
827 movups %xmm4,32(%edi)
831 movups 48(%esi),%xmm3
832 movups 64(%esi),%xmm4
834 movups 80(%esi),%xmm3
836 movdqa %xmm1,48(%esp)
837 .byte 102,15,56,0,202
839 movups %xmm5,48(%edi)
841 movdqa %xmm0,64(%esp)
842 .byte 102,15,56,0,194
843 movups %xmm6,64(%edi)
844 pshufd $192,%xmm1,%xmm2
845 movups %xmm7,80(%edi)
848 pshufd $128,%xmm1,%xmm3
855 movdqa 32(%esp),%xmm7
860 pshufd $64,%xmm1,%xmm4
863 pshufd $192,%xmm0,%xmm5
867 pshufd $128,%xmm0,%xmm6
873 movups 16(%esi),%xmm0
875 movups 32(%esi),%xmm1
877 movups 48(%esi),%xmm0
879 movups 64(%esi),%xmm1
883 movups %xmm3,16(%edi)
884 movups %xmm4,32(%edi)
885 movups %xmm5,48(%edi)
886 movups %xmm6,64(%edi)
889 .L033ctr32_one_shortcut:
894 movups 16(%edx),%xmm1
898 .byte 102,15,56,220,209
903 .byte 102,15,56,221,209
912 movups 16(%esi),%xmm6
916 movups %xmm3,16(%edi)
922 movups 16(%esi),%xmm6
924 movups 32(%esi),%xmm7
928 movups %xmm3,16(%edi)
929 movups %xmm4,32(%edi)
935 movups 16(%esi),%xmm7
936 movups 32(%esi),%xmm1
938 movups 48(%esi),%xmm0
942 movups %xmm3,16(%edi)
944 movups %xmm4,32(%edi)
945 movups %xmm5,48(%edi)
953 .size aesni_ctr32_encrypt_blocks,.-.L_aesni_ctr32_encrypt_blocks_begin
954 .globl aesni_xts_encrypt
955 .type aesni_xts_encrypt,@function
958 .L_aesni_xts_encrypt_begin:
968 movups 16(%edx),%xmm1
972 .byte 102,15,56,220,209
977 .byte 102,15,56,221,209
994 movdqa 96(%esp),%xmm3
1000 jc .L043xts_enc_short
1003 jmp .L044xts_enc_loop6
1006 pshufd $19,%xmm0,%xmm2
1013 pshufd $19,%xmm0,%xmm2
1015 movdqa %xmm1,16(%esp)
1020 pshufd $19,%xmm0,%xmm2
1022 movdqa %xmm1,32(%esp)
1027 pshufd $19,%xmm0,%xmm2
1029 movdqa %xmm1,48(%esp)
1034 pshufd $19,%xmm0,%xmm7
1035 movdqa %xmm1,64(%esp)
1041 movdqu 16(%esi),%xmm3
1043 movdqu 32(%esi),%xmm4
1045 movdqu 48(%esi),%xmm5
1047 movdqu 64(%esi),%xmm6
1049 movdqu 80(%esi),%xmm1
1053 movdqa %xmm7,80(%esp)
1055 movups 16(%ebp),%xmm1
1058 .byte 102,15,56,220,209
1060 .byte 102,15,56,220,217
1063 .byte 102,15,56,220,225
1065 .byte 102,15,56,220,233
1067 .byte 102,15,56,220,241
1069 .byte 102,15,56,220,249
1070 call .L_aesni_encrypt6_enter
1071 movdqa 80(%esp),%xmm1
1075 xorps 16(%esp),%xmm3
1077 xorps 32(%esp),%xmm4
1078 movups %xmm3,16(%edi)
1079 xorps 48(%esp),%xmm5
1080 movups %xmm4,32(%edi)
1081 xorps 64(%esp),%xmm6
1082 movups %xmm5,48(%edi)
1084 movups %xmm6,64(%edi)
1085 pshufd $19,%xmm0,%xmm2
1086 movups %xmm7,80(%edi)
1088 movdqa 96(%esp),%xmm3
1096 jnc .L044xts_enc_loop6
1097 leal 1(,%ecx,2),%ecx
1102 jz .L045xts_enc_done6x
1106 pshufd $19,%xmm0,%xmm2
1113 pshufd $19,%xmm0,%xmm2
1121 jb .L048xts_enc_three
1122 pshufd $19,%xmm0,%xmm2
1130 movdqa %xmm6,16(%esp)
1131 je .L049xts_enc_four
1132 movdqa %xmm7,32(%esp)
1133 pshufd $19,%xmm0,%xmm7
1134 movdqa %xmm1,48(%esp)
1139 movdqu 16(%esi),%xmm3
1140 movdqu 32(%esi),%xmm4
1142 movdqu 48(%esi),%xmm5
1144 movdqu 64(%esi),%xmm6
1148 movdqa %xmm7,64(%esp)
1150 call _aesni_encrypt6
1151 movaps 64(%esp),%xmm1
1153 xorps 16(%esp),%xmm3
1154 xorps 32(%esp),%xmm4
1156 xorps 48(%esp),%xmm5
1157 movups %xmm3,16(%edi)
1159 movups %xmm4,32(%edi)
1160 movups %xmm5,48(%edi)
1161 movups %xmm6,64(%edi)
1163 jmp .L050xts_enc_done
1170 movups 16(%edx),%xmm1
1174 .byte 102,15,56,220,209
1178 jnz .L051enc1_loop_9
1179 .byte 102,15,56,221,209
1184 jmp .L050xts_enc_done
1189 movups 16(%esi),%xmm3
1194 call _aesni_encrypt3
1198 movups %xmm3,16(%edi)
1201 jmp .L050xts_enc_done
1206 movups 16(%esi),%xmm3
1207 movups 32(%esi),%xmm4
1212 call _aesni_encrypt3
1217 movups %xmm3,16(%edi)
1218 movups %xmm4,32(%edi)
1221 jmp .L050xts_enc_done
1226 movups 16(%esi),%xmm3
1227 movups 32(%esi),%xmm4
1229 movups 48(%esi),%xmm5
1231 xorps 16(%esp),%xmm3
1234 call _aesni_encrypt4
1236 xorps 16(%esp),%xmm3
1240 movups %xmm3,16(%edi)
1241 movups %xmm4,32(%edi)
1242 movups %xmm5,48(%edi)
1245 jmp .L050xts_enc_done
1247 .L045xts_enc_done6x:
1253 jmp .L053xts_enc_steal
1262 pshufd $19,%xmm0,%xmm5
1268 movzbl -16(%edi),%edx
1274 jnz .L053xts_enc_steal
1278 movups -16(%edi),%xmm2
1281 movups 16(%edx),%xmm1
1285 .byte 102,15,56,220,209
1289 jnz .L054enc1_loop_10
1290 .byte 102,15,56,221,209
1292 movups %xmm2,-16(%edi)
1300 .size aesni_xts_encrypt,.-.L_aesni_xts_encrypt_begin
1301 .globl aesni_xts_decrypt
1302 .type aesni_xts_decrypt,@function
1305 .L_aesni_xts_decrypt_begin:
1315 movups 16(%edx),%xmm1
1319 .byte 102,15,56,220,209
1323 jnz .L055enc1_loop_11
1324 .byte 102,15,56,221,209
1348 movdqa 96(%esp),%xmm3
1352 jc .L056xts_dec_short
1355 jmp .L057xts_dec_loop6
1358 pshufd $19,%xmm0,%xmm2
1365 pshufd $19,%xmm0,%xmm2
1367 movdqa %xmm1,16(%esp)
1372 pshufd $19,%xmm0,%xmm2
1374 movdqa %xmm1,32(%esp)
1379 pshufd $19,%xmm0,%xmm2
1381 movdqa %xmm1,48(%esp)
1386 pshufd $19,%xmm0,%xmm7
1387 movdqa %xmm1,64(%esp)
1393 movdqu 16(%esi),%xmm3
1395 movdqu 32(%esi),%xmm4
1397 movdqu 48(%esi),%xmm5
1399 movdqu 64(%esi),%xmm6
1401 movdqu 80(%esi),%xmm1
1405 movdqa %xmm7,80(%esp)
1407 movups 16(%ebp),%xmm1
1410 .byte 102,15,56,222,209
1412 .byte 102,15,56,222,217
1415 .byte 102,15,56,222,225
1417 .byte 102,15,56,222,233
1419 .byte 102,15,56,222,241
1421 .byte 102,15,56,222,249
1422 call .L_aesni_decrypt6_enter
1423 movdqa 80(%esp),%xmm1
1427 xorps 16(%esp),%xmm3
1429 xorps 32(%esp),%xmm4
1430 movups %xmm3,16(%edi)
1431 xorps 48(%esp),%xmm5
1432 movups %xmm4,32(%edi)
1433 xorps 64(%esp),%xmm6
1434 movups %xmm5,48(%edi)
1436 movups %xmm6,64(%edi)
1437 pshufd $19,%xmm0,%xmm2
1438 movups %xmm7,80(%edi)
1440 movdqa 96(%esp),%xmm3
1448 jnc .L057xts_dec_loop6
1449 leal 1(,%ecx,2),%ecx
1454 jz .L058xts_dec_done6x
1458 pshufd $19,%xmm0,%xmm2
1465 pshufd $19,%xmm0,%xmm2
1473 jb .L061xts_dec_three
1474 pshufd $19,%xmm0,%xmm2
1482 movdqa %xmm6,16(%esp)
1483 je .L062xts_dec_four
1484 movdqa %xmm7,32(%esp)
1485 pshufd $19,%xmm0,%xmm7
1486 movdqa %xmm1,48(%esp)
1491 movdqu 16(%esi),%xmm3
1492 movdqu 32(%esi),%xmm4
1494 movdqu 48(%esi),%xmm5
1496 movdqu 64(%esi),%xmm6
1500 movdqa %xmm7,64(%esp)
1502 call _aesni_decrypt6
1503 movaps 64(%esp),%xmm1
1505 xorps 16(%esp),%xmm3
1506 xorps 32(%esp),%xmm4
1508 xorps 48(%esp),%xmm5
1509 movups %xmm3,16(%edi)
1511 movups %xmm4,32(%edi)
1512 movups %xmm5,48(%edi)
1513 movups %xmm6,64(%edi)
1515 jmp .L063xts_dec_done
1522 movups 16(%edx),%xmm1
1526 .byte 102,15,56,222,209
1530 jnz .L064dec1_loop_12
1531 .byte 102,15,56,223,209
1536 jmp .L063xts_dec_done
1541 movups 16(%esi),%xmm3
1545 call _aesni_decrypt3
1549 movups %xmm3,16(%edi)
1552 jmp .L063xts_dec_done
1557 movups 16(%esi),%xmm3
1558 movups 32(%esi),%xmm4
1563 call _aesni_decrypt3
1568 movups %xmm3,16(%edi)
1569 movups %xmm4,32(%edi)
1572 jmp .L063xts_dec_done
1577 movups 16(%esi),%xmm3
1578 movups 32(%esi),%xmm4
1580 movups 48(%esi),%xmm5
1582 xorps 16(%esp),%xmm3
1585 call _aesni_decrypt4
1587 xorps 16(%esp),%xmm3
1591 movups %xmm3,16(%edi)
1592 movups %xmm4,32(%edi)
1593 movups %xmm5,48(%edi)
1596 jmp .L063xts_dec_done
1598 .L058xts_dec_done6x:
1603 jmp .L066xts_dec_only_one_more
1612 pshufd $19,%xmm0,%xmm2
1614 movdqa 96(%esp),%xmm3
1619 .L066xts_dec_only_one_more:
1620 pshufd $19,%xmm0,%xmm5
1630 movups 16(%edx),%xmm1
1634 .byte 102,15,56,222,209
1638 jnz .L067dec1_loop_13
1639 .byte 102,15,56,223,209
1643 movzbl 16(%esi),%ecx
1650 jnz .L068xts_dec_steal
1657 movups 16(%edx),%xmm1
1661 .byte 102,15,56,222,209
1665 jnz .L069dec1_loop_14
1666 .byte 102,15,56,223,209
1676 .size aesni_xts_decrypt,.-.L_aesni_xts_decrypt_begin
1677 .globl aesni_cbc_encrypt
1678 .type aesni_cbc_encrypt,@function
1681 .L_aesni_cbc_encrypt_begin:
1706 jb .L072cbc_enc_tail
1708 jmp .L073cbc_enc_loop
1714 movups 16(%edx),%xmm1
1719 .byte 102,15,56,220,209
1723 jnz .L074enc1_loop_15
1724 .byte 102,15,56,221,209
1730 jnc .L073cbc_enc_loop
1732 jnz .L072cbc_enc_tail
1746 jmp .L073cbc_enc_loop
1750 jbe .L076cbc_dec_tail
1753 jmp .L077cbc_dec_loop6_enter
1759 .L077cbc_dec_loop6_enter:
1761 movdqu 16(%esi),%xmm3
1762 movdqu 32(%esi),%xmm4
1763 movdqu 48(%esi),%xmm5
1764 movdqu 64(%esi),%xmm6
1765 movdqu 80(%esi),%xmm7
1766 call _aesni_decrypt6
1768 movups 16(%esi),%xmm0
1771 movups 32(%esi),%xmm1
1773 movups 48(%esi),%xmm0
1775 movups 64(%esi),%xmm1
1777 movups 80(%esi),%xmm0
1780 movups %xmm3,16(%edi)
1782 movups %xmm4,32(%edi)
1784 movups %xmm5,48(%edi)
1786 movups %xmm6,64(%edi)
1789 ja .L078cbc_dec_loop6
1793 jle .L079cbc_dec_tail_collected
1800 jbe .L080cbc_dec_one
1801 movups 16(%esi),%xmm3
1804 jbe .L081cbc_dec_two
1805 movups 32(%esi),%xmm4
1807 jbe .L082cbc_dec_three
1808 movups 48(%esi),%xmm5
1810 jbe .L083cbc_dec_four
1811 movups 64(%esi),%xmm6
1815 call _aesni_decrypt6
1817 movups 16(%esi),%xmm0
1820 movups 32(%esi),%xmm1
1822 movups 48(%esi),%xmm0
1824 movups 64(%esi),%xmm7
1827 movups %xmm3,16(%edi)
1828 movups %xmm4,32(%edi)
1829 movups %xmm5,48(%edi)
1833 jmp .L079cbc_dec_tail_collected
1837 movups 16(%edx),%xmm1
1841 .byte 102,15,56,222,209
1845 jnz .L084dec1_loop_16
1846 .byte 102,15,56,223,209
1850 jmp .L079cbc_dec_tail_collected
1854 call _aesni_decrypt3
1862 jmp .L079cbc_dec_tail_collected
1865 call _aesni_decrypt3
1871 movups %xmm3,16(%edi)
1873 movups 32(%esi),%xmm7
1875 jmp .L079cbc_dec_tail_collected
1878 call _aesni_decrypt4
1879 movups 16(%esi),%xmm1
1880 movups 32(%esi),%xmm0
1882 movups 48(%esi),%xmm7
1886 movups %xmm3,16(%edi)
1888 movups %xmm4,32(%edi)
1892 .L079cbc_dec_tail_collected:
1894 jnz .L085cbc_dec_tail_partial
1898 .L085cbc_dec_tail_partial:
1914 .size aesni_cbc_encrypt,.-.L_aesni_cbc_encrypt_begin
1915 .type _aesni_set_encrypt_key,@function
1917 _aesni_set_encrypt_key:
1930 jne .L089bad_keybits
1934 movups %xmm0,-16(%edx)
1935 .byte 102,15,58,223,200,1
1936 call .L091key_128_cold
1937 .byte 102,15,58,223,200,2
1939 .byte 102,15,58,223,200,4
1941 .byte 102,15,58,223,200,8
1943 .byte 102,15,58,223,200,16
1945 .byte 102,15,58,223,200,32
1947 .byte 102,15,58,223,200,64
1949 .byte 102,15,58,223,200,128
1951 .byte 102,15,58,223,200,27
1953 .byte 102,15,58,223,200,54
1964 shufps $16,%xmm0,%xmm4
1966 shufps $140,%xmm0,%xmm4
1968 shufps $255,%xmm1,%xmm1
1975 movups %xmm0,-16(%edx)
1976 .byte 102,15,58,223,202,1
1977 call .L093key_192a_cold
1978 .byte 102,15,58,223,202,2
1980 .byte 102,15,58,223,202,4
1982 .byte 102,15,58,223,202,8
1984 .byte 102,15,58,223,202,16
1986 .byte 102,15,58,223,202,32
1988 .byte 102,15,58,223,202,64
1990 .byte 102,15,58,223,202,128
2004 shufps $16,%xmm0,%xmm4
2007 shufps $140,%xmm0,%xmm4
2010 pshufd $85,%xmm1,%xmm1
2013 pshufd $255,%xmm0,%xmm3
2019 shufps $68,%xmm0,%xmm5
2021 shufps $78,%xmm2,%xmm3
2022 movups %xmm3,16(%edx)
2024 jmp .L096key_192b_warm
2027 movups 16(%eax),%xmm2
2030 movups %xmm0,-32(%edx)
2031 movups %xmm2,-16(%edx)
2032 .byte 102,15,58,223,202,1
2033 call .L097key_256a_cold
2034 .byte 102,15,58,223,200,1
2036 .byte 102,15,58,223,202,2
2038 .byte 102,15,58,223,200,2
2040 .byte 102,15,58,223,202,4
2042 .byte 102,15,58,223,200,4
2044 .byte 102,15,58,223,202,8
2046 .byte 102,15,58,223,200,8
2048 .byte 102,15,58,223,202,16
2050 .byte 102,15,58,223,200,16
2052 .byte 102,15,58,223,202,32
2054 .byte 102,15,58,223,200,32
2056 .byte 102,15,58,223,202,64
2067 shufps $16,%xmm0,%xmm4
2069 shufps $140,%xmm0,%xmm4
2071 shufps $255,%xmm1,%xmm1
2078 shufps $16,%xmm2,%xmm4
2080 shufps $140,%xmm2,%xmm4
2082 shufps $170,%xmm1,%xmm1
2093 .size _aesni_set_encrypt_key,.-_aesni_set_encrypt_key
2094 .globl aesni_set_encrypt_key
2095 .type aesni_set_encrypt_key,@function
2097 aesni_set_encrypt_key:
2098 .L_aesni_set_encrypt_key_begin:
2102 call _aesni_set_encrypt_key
2104 .size aesni_set_encrypt_key,.-.L_aesni_set_encrypt_key_begin
2105 .globl aesni_set_decrypt_key
2106 .type aesni_set_decrypt_key,@function
2108 aesni_set_decrypt_key:
2109 .L_aesni_set_decrypt_key_begin:
2113 call _aesni_set_encrypt_key
2117 jnz .L100dec_key_ret
2118 leal 16(%edx,%ecx,1),%eax
2125 .L101dec_key_inverse:
2128 .byte 102,15,56,219,192
2129 .byte 102,15,56,219,201
2132 movups %xmm0,16(%eax)
2133 movups %xmm1,-16(%edx)
2135 ja .L101dec_key_inverse
2137 .byte 102,15,56,219,192
2142 .size aesni_set_decrypt_key,.-.L_aesni_set_decrypt_key_begin
2143 .byte 65,69,83,32,102,111,114,32,73,110,116,101,108,32,65,69
2144 .byte 83,45,78,73,44,32,67,82,89,80,84,79,71,65,77,83
2145 .byte 32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115
2146 .byte 115,108,46,111,114,103,62,0
2150 .globl aesni_encrypt
2151 .type aesni_encrypt,@function
2154 .L_aesni_encrypt_begin:
2161 movups 16(%edx),%xmm1
2165 .byte 102,15,56,220,209
2169 jnz .L000enc1_loop_1
2170 .byte 102,15,56,221,209
2173 .size aesni_encrypt,.-.L_aesni_encrypt_begin
2174 .globl aesni_decrypt
2175 .type aesni_decrypt,@function
2178 .L_aesni_decrypt_begin:
2185 movups 16(%edx),%xmm1
2189 .byte 102,15,56,222,209
2193 jnz .L001dec1_loop_2
2194 .byte 102,15,56,223,209
2197 .size aesni_decrypt,.-.L_aesni_decrypt_begin
2198 .type _aesni_encrypt3,@function
2203 movups 16(%edx),%xmm1
2210 .byte 102,15,56,220,209
2211 .byte 102,15,56,220,217
2213 .byte 102,15,56,220,225
2214 movups 16(%edx),%xmm1
2215 .byte 102,15,56,220,208
2216 .byte 102,15,56,220,216
2218 .byte 102,15,56,220,224
2221 .byte 102,15,56,220,209
2222 .byte 102,15,56,220,217
2223 .byte 102,15,56,220,225
2224 .byte 102,15,56,221,208
2225 .byte 102,15,56,221,216
2226 .byte 102,15,56,221,224
2228 .size _aesni_encrypt3,.-_aesni_encrypt3
2229 .type _aesni_decrypt3,@function
2234 movups 16(%edx),%xmm1
2241 .byte 102,15,56,222,209
2242 .byte 102,15,56,222,217
2244 .byte 102,15,56,222,225
2245 movups 16(%edx),%xmm1
2246 .byte 102,15,56,222,208
2247 .byte 102,15,56,222,216
2249 .byte 102,15,56,222,224
2252 .byte 102,15,56,222,209
2253 .byte 102,15,56,222,217
2254 .byte 102,15,56,222,225
2255 .byte 102,15,56,223,208
2256 .byte 102,15,56,223,216
2257 .byte 102,15,56,223,224
2259 .size _aesni_decrypt3,.-_aesni_decrypt3
2260 .type _aesni_encrypt4,@function
2264 movups 16(%edx),%xmm1
2273 .byte 102,15,56,220,209
2274 .byte 102,15,56,220,217
2276 .byte 102,15,56,220,225
2277 .byte 102,15,56,220,233
2278 movups 16(%edx),%xmm1
2279 .byte 102,15,56,220,208
2280 .byte 102,15,56,220,216
2282 .byte 102,15,56,220,224
2283 .byte 102,15,56,220,232
2286 .byte 102,15,56,220,209
2287 .byte 102,15,56,220,217
2288 .byte 102,15,56,220,225
2289 .byte 102,15,56,220,233
2290 .byte 102,15,56,221,208
2291 .byte 102,15,56,221,216
2292 .byte 102,15,56,221,224
2293 .byte 102,15,56,221,232
2295 .size _aesni_encrypt4,.-_aesni_encrypt4
2296 .type _aesni_decrypt4,@function
2300 movups 16(%edx),%xmm1
2309 .byte 102,15,56,222,209
2310 .byte 102,15,56,222,217
2312 .byte 102,15,56,222,225
2313 .byte 102,15,56,222,233
2314 movups 16(%edx),%xmm1
2315 .byte 102,15,56,222,208
2316 .byte 102,15,56,222,216
2318 .byte 102,15,56,222,224
2319 .byte 102,15,56,222,232
2322 .byte 102,15,56,222,209
2323 .byte 102,15,56,222,217
2324 .byte 102,15,56,222,225
2325 .byte 102,15,56,222,233
2326 .byte 102,15,56,223,208
2327 .byte 102,15,56,223,216
2328 .byte 102,15,56,223,224
2329 .byte 102,15,56,223,232
2331 .size _aesni_decrypt4,.-_aesni_decrypt4
2332 .type _aesni_encrypt6,@function
2337 movups 16(%edx),%xmm1
2341 .byte 102,15,56,220,209
2343 .byte 102,15,56,220,217
2346 .byte 102,15,56,220,225
2348 .byte 102,15,56,220,233
2350 .byte 102,15,56,220,241
2352 .byte 102,15,56,220,249
2353 jmp .L_aesni_encrypt6_enter
2356 .byte 102,15,56,220,209
2357 .byte 102,15,56,220,217
2359 .byte 102,15,56,220,225
2360 .byte 102,15,56,220,233
2361 .byte 102,15,56,220,241
2362 .byte 102,15,56,220,249
2364 .L_aesni_encrypt6_enter:
2365 movups 16(%edx),%xmm1
2366 .byte 102,15,56,220,208
2367 .byte 102,15,56,220,216
2369 .byte 102,15,56,220,224
2370 .byte 102,15,56,220,232
2371 .byte 102,15,56,220,240
2372 .byte 102,15,56,220,248
2375 .byte 102,15,56,220,209
2376 .byte 102,15,56,220,217
2377 .byte 102,15,56,220,225
2378 .byte 102,15,56,220,233
2379 .byte 102,15,56,220,241
2380 .byte 102,15,56,220,249
2381 .byte 102,15,56,221,208
2382 .byte 102,15,56,221,216
2383 .byte 102,15,56,221,224
2384 .byte 102,15,56,221,232
2385 .byte 102,15,56,221,240
2386 .byte 102,15,56,221,248
2388 .size _aesni_encrypt6,.-_aesni_encrypt6
2389 .type _aesni_decrypt6,@function
2394 movups 16(%edx),%xmm1
2398 .byte 102,15,56,222,209
2400 .byte 102,15,56,222,217
2403 .byte 102,15,56,222,225
2405 .byte 102,15,56,222,233
2407 .byte 102,15,56,222,241
2409 .byte 102,15,56,222,249
2410 jmp .L_aesni_decrypt6_enter
2413 .byte 102,15,56,222,209
2414 .byte 102,15,56,222,217
2416 .byte 102,15,56,222,225
2417 .byte 102,15,56,222,233
2418 .byte 102,15,56,222,241
2419 .byte 102,15,56,222,249
2421 .L_aesni_decrypt6_enter:
2422 movups 16(%edx),%xmm1
2423 .byte 102,15,56,222,208
2424 .byte 102,15,56,222,216
2426 .byte 102,15,56,222,224
2427 .byte 102,15,56,222,232
2428 .byte 102,15,56,222,240
2429 .byte 102,15,56,222,248
2432 .byte 102,15,56,222,209
2433 .byte 102,15,56,222,217
2434 .byte 102,15,56,222,225
2435 .byte 102,15,56,222,233
2436 .byte 102,15,56,222,241
2437 .byte 102,15,56,222,249
2438 .byte 102,15,56,223,208
2439 .byte 102,15,56,223,216
2440 .byte 102,15,56,223,224
2441 .byte 102,15,56,223,232
2442 .byte 102,15,56,223,240
2443 .byte 102,15,56,223,248
2445 .size _aesni_decrypt6,.-_aesni_decrypt6
2446 .globl aesni_ecb_encrypt
2447 .type aesni_ecb_encrypt,@function
2450 .L_aesni_ecb_encrypt_begin:
2468 jb .L010ecb_enc_tail
2470 movdqu 16(%esi),%xmm3
2471 movdqu 32(%esi),%xmm4
2472 movdqu 48(%esi),%xmm5
2473 movdqu 64(%esi),%xmm6
2474 movdqu 80(%esi),%xmm7
2477 jmp .L011ecb_enc_loop6_enter
2482 movups %xmm3,16(%edi)
2483 movdqu 16(%esi),%xmm3
2484 movups %xmm4,32(%edi)
2485 movdqu 32(%esi),%xmm4
2486 movups %xmm5,48(%edi)
2487 movdqu 48(%esi),%xmm5
2488 movups %xmm6,64(%edi)
2489 movdqu 64(%esi),%xmm6
2490 movups %xmm7,80(%edi)
2492 movdqu 80(%esi),%xmm7
2494 .L011ecb_enc_loop6_enter:
2495 call _aesni_encrypt6
2499 jnc .L012ecb_enc_loop6
2501 movups %xmm3,16(%edi)
2502 movups %xmm4,32(%edi)
2503 movups %xmm5,48(%edi)
2504 movups %xmm6,64(%edi)
2505 movups %xmm7,80(%edi)
2513 movups 16(%esi),%xmm3
2515 movups 32(%esi),%xmm4
2517 jb .L015ecb_enc_three
2518 movups 48(%esi),%xmm5
2519 je .L016ecb_enc_four
2520 movups 64(%esi),%xmm6
2522 call _aesni_encrypt6
2524 movups %xmm3,16(%edi)
2525 movups %xmm4,32(%edi)
2526 movups %xmm5,48(%edi)
2527 movups %xmm6,64(%edi)
2532 movups 16(%edx),%xmm1
2536 .byte 102,15,56,220,209
2540 jnz .L017enc1_loop_3
2541 .byte 102,15,56,221,209
2547 call _aesni_encrypt3
2549 movups %xmm3,16(%edi)
2553 call _aesni_encrypt3
2555 movups %xmm3,16(%edi)
2556 movups %xmm4,32(%edi)
2560 call _aesni_encrypt4
2562 movups %xmm3,16(%edi)
2563 movups %xmm4,32(%edi)
2564 movups %xmm5,48(%edi)
2571 jb .L018ecb_dec_tail
2573 movdqu 16(%esi),%xmm3
2574 movdqu 32(%esi),%xmm4
2575 movdqu 48(%esi),%xmm5
2576 movdqu 64(%esi),%xmm6
2577 movdqu 80(%esi),%xmm7
2580 jmp .L019ecb_dec_loop6_enter
2585 movups %xmm3,16(%edi)
2586 movdqu 16(%esi),%xmm3
2587 movups %xmm4,32(%edi)
2588 movdqu 32(%esi),%xmm4
2589 movups %xmm5,48(%edi)
2590 movdqu 48(%esi),%xmm5
2591 movups %xmm6,64(%edi)
2592 movdqu 64(%esi),%xmm6
2593 movups %xmm7,80(%edi)
2595 movdqu 80(%esi),%xmm7
2597 .L019ecb_dec_loop6_enter:
2598 call _aesni_decrypt6
2602 jnc .L020ecb_dec_loop6
2604 movups %xmm3,16(%edi)
2605 movups %xmm4,32(%edi)
2606 movups %xmm5,48(%edi)
2607 movups %xmm6,64(%edi)
2608 movups %xmm7,80(%edi)
2616 movups 16(%esi),%xmm3
2618 movups 32(%esi),%xmm4
2620 jb .L023ecb_dec_three
2621 movups 48(%esi),%xmm5
2622 je .L024ecb_dec_four
2623 movups 64(%esi),%xmm6
2625 call _aesni_decrypt6
2627 movups %xmm3,16(%edi)
2628 movups %xmm4,32(%edi)
2629 movups %xmm5,48(%edi)
2630 movups %xmm6,64(%edi)
2635 movups 16(%edx),%xmm1
2639 .byte 102,15,56,222,209
2643 jnz .L025dec1_loop_4
2644 .byte 102,15,56,223,209
2650 call _aesni_decrypt3
2652 movups %xmm3,16(%edi)
2656 call _aesni_decrypt3
2658 movups %xmm3,16(%edi)
2659 movups %xmm4,32(%edi)
2663 call _aesni_decrypt4
2665 movups %xmm3,16(%edi)
2666 movups %xmm4,32(%edi)
2667 movups %xmm5,48(%edi)
2674 .size aesni_ecb_encrypt,.-.L_aesni_ecb_encrypt_begin
2675 .globl aesni_ccm64_encrypt_blocks
2676 .type aesni_ccm64_encrypt_blocks,@function
2678 aesni_ccm64_encrypt_blocks:
2679 .L_aesni_ccm64_encrypt_blocks_begin:
2697 movl $202182159,(%esp)
2698 movl $134810123,4(%esp)
2699 movl $67438087,8(%esp)
2700 movl $66051,12(%esp)
2712 .byte 102,15,56,0,253
2713 .L026ccm64_enc_outer:
2718 movups 16(%ebp),%xmm1
2723 .L027ccm64_enc2_loop:
2724 .byte 102,15,56,220,209
2726 .byte 102,15,56,220,217
2727 movups 16(%edx),%xmm1
2728 .byte 102,15,56,220,208
2730 .byte 102,15,56,220,216
2732 jnz .L027ccm64_enc2_loop
2733 .byte 102,15,56,220,209
2734 .byte 102,15,56,220,217
2735 paddq 16(%esp),%xmm7
2736 .byte 102,15,56,221,208
2737 .byte 102,15,56,221,216
2744 .byte 102,15,56,0,213
2745 jnz .L026ccm64_enc_outer
2754 .size aesni_ccm64_encrypt_blocks,.-.L_aesni_ccm64_encrypt_blocks_begin
2755 .globl aesni_ccm64_decrypt_blocks
2756 .type aesni_ccm64_decrypt_blocks,@function
2758 aesni_ccm64_decrypt_blocks:
2759 .L_aesni_ccm64_decrypt_blocks_begin:
2777 movl $202182159,(%esp)
2778 movl $134810123,4(%esp)
2779 movl $67438087,8(%esp)
2780 movl $66051,12(%esp)
2791 .byte 102,15,56,0,253
2793 movups 16(%edx),%xmm1
2797 .byte 102,15,56,220,209
2801 jnz .L028enc1_loop_5
2802 .byte 102,15,56,221,209
2804 paddq 16(%esp),%xmm7
2806 jmp .L029ccm64_dec_outer
2808 .L029ccm64_dec_outer:
2814 .byte 102,15,56,0,213
2816 jz .L030ccm64_dec_break
2819 movups 16(%ebp),%xmm1
2825 .L031ccm64_dec2_loop:
2826 .byte 102,15,56,220,209
2828 .byte 102,15,56,220,217
2829 movups 16(%edx),%xmm1
2830 .byte 102,15,56,220,208
2832 .byte 102,15,56,220,216
2834 jnz .L031ccm64_dec2_loop
2836 paddq 16(%esp),%xmm7
2837 .byte 102,15,56,220,209
2838 .byte 102,15,56,220,217
2840 .byte 102,15,56,221,208
2841 .byte 102,15,56,221,216
2842 jmp .L029ccm64_dec_outer
2844 .L030ccm64_dec_break:
2847 movups 16(%edx),%xmm1
2852 .byte 102,15,56,220,217
2856 jnz .L032enc1_loop_6
2857 .byte 102,15,56,221,217
2866 .size aesni_ccm64_decrypt_blocks,.-.L_aesni_ccm64_decrypt_blocks_begin
2867 .globl aesni_ctr32_encrypt_blocks
2868 .type aesni_ctr32_encrypt_blocks,@function
2870 aesni_ctr32_encrypt_blocks:
2871 .L_aesni_ctr32_encrypt_blocks_begin:
2886 je .L033ctr32_one_shortcut
2888 movl $202182159,(%esp)
2889 movl $134810123,4(%esp)
2890 movl $67438087,8(%esp)
2891 movl $66051,12(%esp)
2898 .byte 102,15,58,22,251,3
2899 .byte 102,15,58,34,253,3
2905 .byte 102,15,58,34,203,0
2907 .byte 102,15,58,34,197,0
2909 .byte 102,15,58,34,203,1
2911 .byte 102,15,58,34,197,1
2913 .byte 102,15,58,34,203,2
2915 .byte 102,15,58,34,197,2
2916 movdqa %xmm1,48(%esp)
2917 .byte 102,15,56,0,202
2918 movdqa %xmm0,64(%esp)
2919 .byte 102,15,56,0,194
2920 pshufd $192,%xmm1,%xmm2
2921 pshufd $128,%xmm1,%xmm3
2924 movdqa %xmm7,32(%esp)
2929 jmp .L035ctr32_loop6
2932 pshufd $64,%xmm1,%xmm4
2933 movdqa 32(%esp),%xmm1
2934 pshufd $192,%xmm0,%xmm5
2936 pshufd $128,%xmm0,%xmm6
2938 pshufd $64,%xmm0,%xmm7
2944 movups 16(%ebp),%xmm1
2949 .byte 102,15,56,220,209
2951 .byte 102,15,56,220,217
2953 .byte 102,15,56,220,225
2955 .byte 102,15,56,220,233
2957 .byte 102,15,56,220,241
2959 .byte 102,15,56,220,249
2960 call .L_aesni_encrypt6_enter
2962 movups 16(%esi),%xmm0
2964 movups 32(%esi),%xmm1
2967 movdqa 16(%esp),%xmm0
2969 movdqa 48(%esp),%xmm1
2970 movups %xmm3,16(%edi)
2971 movups %xmm4,32(%edi)
2973 paddd 64(%esp),%xmm0
2975 movups 48(%esi),%xmm3
2976 movups 64(%esi),%xmm4
2978 movups 80(%esi),%xmm3
2980 movdqa %xmm1,48(%esp)
2981 .byte 102,15,56,0,202
2983 movups %xmm5,48(%edi)
2985 movdqa %xmm0,64(%esp)
2986 .byte 102,15,56,0,194
2987 movups %xmm6,64(%edi)
2988 pshufd $192,%xmm1,%xmm2
2989 movups %xmm7,80(%edi)
2992 pshufd $128,%xmm1,%xmm3
2994 jnc .L035ctr32_loop6
2998 leal 1(,%ecx,2),%ecx
2999 movdqa 32(%esp),%xmm7
3004 pshufd $64,%xmm1,%xmm4
3007 pshufd $192,%xmm0,%xmm5
3011 pshufd $128,%xmm0,%xmm6
3015 call _aesni_encrypt6
3017 movups 16(%esi),%xmm0
3019 movups 32(%esi),%xmm1
3021 movups 48(%esi),%xmm0
3023 movups 64(%esi),%xmm1
3027 movups %xmm3,16(%edi)
3028 movups %xmm4,32(%edi)
3029 movups %xmm5,48(%edi)
3030 movups %xmm6,64(%edi)
3033 .L033ctr32_one_shortcut:
3038 movups 16(%edx),%xmm1
3042 .byte 102,15,56,220,209
3046 jnz .L041enc1_loop_7
3047 .byte 102,15,56,221,209
3054 call _aesni_encrypt3
3056 movups 16(%esi),%xmm6
3060 movups %xmm3,16(%edi)
3064 call _aesni_encrypt3
3066 movups 16(%esi),%xmm6
3068 movups 32(%esi),%xmm7
3072 movups %xmm3,16(%edi)
3073 movups %xmm4,32(%edi)
3077 call _aesni_encrypt4
3079 movups 16(%esi),%xmm7
3080 movups 32(%esi),%xmm1
3082 movups 48(%esi),%xmm0
3086 movups %xmm3,16(%edi)
3088 movups %xmm4,32(%edi)
3089 movups %xmm5,48(%edi)
3097 .size aesni_ctr32_encrypt_blocks,.-.L_aesni_ctr32_encrypt_blocks_begin
3098 .globl aesni_xts_encrypt
3099 .type aesni_xts_encrypt,@function
3102 .L_aesni_xts_encrypt_begin:
3112 movups 16(%edx),%xmm1
3116 .byte 102,15,56,220,209
3120 jnz .L042enc1_loop_8
3121 .byte 102,15,56,221,209
3138 movdqa 96(%esp),%xmm3
3144 jc .L043xts_enc_short
3147 jmp .L044xts_enc_loop6
3150 pshufd $19,%xmm0,%xmm2
3157 pshufd $19,%xmm0,%xmm2
3159 movdqa %xmm1,16(%esp)
3164 pshufd $19,%xmm0,%xmm2
3166 movdqa %xmm1,32(%esp)
3171 pshufd $19,%xmm0,%xmm2
3173 movdqa %xmm1,48(%esp)
3178 pshufd $19,%xmm0,%xmm7
3179 movdqa %xmm1,64(%esp)
3185 movdqu 16(%esi),%xmm3
3187 movdqu 32(%esi),%xmm4
3189 movdqu 48(%esi),%xmm5
3191 movdqu 64(%esi),%xmm6
3193 movdqu 80(%esi),%xmm1
3197 movdqa %xmm7,80(%esp)
3199 movups 16(%ebp),%xmm1
3202 .byte 102,15,56,220,209
3204 .byte 102,15,56,220,217
3207 .byte 102,15,56,220,225
3209 .byte 102,15,56,220,233
3211 .byte 102,15,56,220,241
3213 .byte 102,15,56,220,249
3214 call .L_aesni_encrypt6_enter
3215 movdqa 80(%esp),%xmm1
3219 xorps 16(%esp),%xmm3
3221 xorps 32(%esp),%xmm4
3222 movups %xmm3,16(%edi)
3223 xorps 48(%esp),%xmm5
3224 movups %xmm4,32(%edi)
3225 xorps 64(%esp),%xmm6
3226 movups %xmm5,48(%edi)
3228 movups %xmm6,64(%edi)
3229 pshufd $19,%xmm0,%xmm2
3230 movups %xmm7,80(%edi)
3232 movdqa 96(%esp),%xmm3
3240 jnc .L044xts_enc_loop6
3241 leal 1(,%ecx,2),%ecx
3246 jz .L045xts_enc_done6x
3250 pshufd $19,%xmm0,%xmm2
3257 pshufd $19,%xmm0,%xmm2
3265 jb .L048xts_enc_three
3266 pshufd $19,%xmm0,%xmm2
3274 movdqa %xmm6,16(%esp)
3275 je .L049xts_enc_four
3276 movdqa %xmm7,32(%esp)
3277 pshufd $19,%xmm0,%xmm7
3278 movdqa %xmm1,48(%esp)
3283 movdqu 16(%esi),%xmm3
3284 movdqu 32(%esi),%xmm4
3286 movdqu 48(%esi),%xmm5
3288 movdqu 64(%esi),%xmm6
3292 movdqa %xmm7,64(%esp)
3294 call _aesni_encrypt6
3295 movaps 64(%esp),%xmm1
3297 xorps 16(%esp),%xmm3
3298 xorps 32(%esp),%xmm4
3300 xorps 48(%esp),%xmm5
3301 movups %xmm3,16(%edi)
3303 movups %xmm4,32(%edi)
3304 movups %xmm5,48(%edi)
3305 movups %xmm6,64(%edi)
3307 jmp .L050xts_enc_done
3314 movups 16(%edx),%xmm1
3318 .byte 102,15,56,220,209
3322 jnz .L051enc1_loop_9
3323 .byte 102,15,56,221,209
3328 jmp .L050xts_enc_done
3333 movups 16(%esi),%xmm3
3338 call _aesni_encrypt3
3342 movups %xmm3,16(%edi)
3345 jmp .L050xts_enc_done
3350 movups 16(%esi),%xmm3
3351 movups 32(%esi),%xmm4
3356 call _aesni_encrypt3
3361 movups %xmm3,16(%edi)
3362 movups %xmm4,32(%edi)
3365 jmp .L050xts_enc_done
3370 movups 16(%esi),%xmm3
3371 movups 32(%esi),%xmm4
3373 movups 48(%esi),%xmm5
3375 xorps 16(%esp),%xmm3
3378 call _aesni_encrypt4
3380 xorps 16(%esp),%xmm3
3384 movups %xmm3,16(%edi)
3385 movups %xmm4,32(%edi)
3386 movups %xmm5,48(%edi)
3389 jmp .L050xts_enc_done
3391 .L045xts_enc_done6x:
3397 jmp .L053xts_enc_steal
3406 pshufd $19,%xmm0,%xmm5
3412 movzbl -16(%edi),%edx
3418 jnz .L053xts_enc_steal
3422 movups -16(%edi),%xmm2
3425 movups 16(%edx),%xmm1
3429 .byte 102,15,56,220,209
3433 jnz .L054enc1_loop_10
3434 .byte 102,15,56,221,209
3436 movups %xmm2,-16(%edi)
3444 .size aesni_xts_encrypt,.-.L_aesni_xts_encrypt_begin
3445 .globl aesni_xts_decrypt
3446 .type aesni_xts_decrypt,@function
3449 .L_aesni_xts_decrypt_begin:
3459 movups 16(%edx),%xmm1
3463 .byte 102,15,56,220,209
3467 jnz .L055enc1_loop_11
3468 .byte 102,15,56,221,209
3492 movdqa 96(%esp),%xmm3
3496 jc .L056xts_dec_short
3499 jmp .L057xts_dec_loop6
3502 pshufd $19,%xmm0,%xmm2
3509 pshufd $19,%xmm0,%xmm2
3511 movdqa %xmm1,16(%esp)
3516 pshufd $19,%xmm0,%xmm2
3518 movdqa %xmm1,32(%esp)
3523 pshufd $19,%xmm0,%xmm2
3525 movdqa %xmm1,48(%esp)
3530 pshufd $19,%xmm0,%xmm7
3531 movdqa %xmm1,64(%esp)
3537 movdqu 16(%esi),%xmm3
3539 movdqu 32(%esi),%xmm4
3541 movdqu 48(%esi),%xmm5
3543 movdqu 64(%esi),%xmm6
3545 movdqu 80(%esi),%xmm1
3549 movdqa %xmm7,80(%esp)
3551 movups 16(%ebp),%xmm1
3554 .byte 102,15,56,222,209
3556 .byte 102,15,56,222,217
3559 .byte 102,15,56,222,225
3561 .byte 102,15,56,222,233
3563 .byte 102,15,56,222,241
3565 .byte 102,15,56,222,249
3566 call .L_aesni_decrypt6_enter
3567 movdqa 80(%esp),%xmm1
3571 xorps 16(%esp),%xmm3
3573 xorps 32(%esp),%xmm4
3574 movups %xmm3,16(%edi)
3575 xorps 48(%esp),%xmm5
3576 movups %xmm4,32(%edi)
3577 xorps 64(%esp),%xmm6
3578 movups %xmm5,48(%edi)
3580 movups %xmm6,64(%edi)
3581 pshufd $19,%xmm0,%xmm2
3582 movups %xmm7,80(%edi)
3584 movdqa 96(%esp),%xmm3
3592 jnc .L057xts_dec_loop6
3593 leal 1(,%ecx,2),%ecx
3598 jz .L058xts_dec_done6x
3602 pshufd $19,%xmm0,%xmm2
3609 pshufd $19,%xmm0,%xmm2
3617 jb .L061xts_dec_three
3618 pshufd $19,%xmm0,%xmm2
3626 movdqa %xmm6,16(%esp)
3627 je .L062xts_dec_four
3628 movdqa %xmm7,32(%esp)
3629 pshufd $19,%xmm0,%xmm7
3630 movdqa %xmm1,48(%esp)
3635 movdqu 16(%esi),%xmm3
3636 movdqu 32(%esi),%xmm4
3638 movdqu 48(%esi),%xmm5
3640 movdqu 64(%esi),%xmm6
3644 movdqa %xmm7,64(%esp)
3646 call _aesni_decrypt6
3647 movaps 64(%esp),%xmm1
3649 xorps 16(%esp),%xmm3
3650 xorps 32(%esp),%xmm4
3652 xorps 48(%esp),%xmm5
3653 movups %xmm3,16(%edi)
3655 movups %xmm4,32(%edi)
3656 movups %xmm5,48(%edi)
3657 movups %xmm6,64(%edi)
3659 jmp .L063xts_dec_done
3666 movups 16(%edx),%xmm1
3670 .byte 102,15,56,222,209
3674 jnz .L064dec1_loop_12
3675 .byte 102,15,56,223,209
3680 jmp .L063xts_dec_done
3685 movups 16(%esi),%xmm3
3689 call _aesni_decrypt3
3693 movups %xmm3,16(%edi)
3696 jmp .L063xts_dec_done
3701 movups 16(%esi),%xmm3
3702 movups 32(%esi),%xmm4
3707 call _aesni_decrypt3
3712 movups %xmm3,16(%edi)
3713 movups %xmm4,32(%edi)
3716 jmp .L063xts_dec_done
3721 movups 16(%esi),%xmm3
3722 movups 32(%esi),%xmm4
3724 movups 48(%esi),%xmm5
3726 xorps 16(%esp),%xmm3
3729 call _aesni_decrypt4
3731 xorps 16(%esp),%xmm3
3735 movups %xmm3,16(%edi)
3736 movups %xmm4,32(%edi)
3737 movups %xmm5,48(%edi)
3740 jmp .L063xts_dec_done
3742 .L058xts_dec_done6x:
3747 jmp .L066xts_dec_only_one_more
3756 pshufd $19,%xmm0,%xmm2
3758 movdqa 96(%esp),%xmm3
3763 .L066xts_dec_only_one_more:
3764 pshufd $19,%xmm0,%xmm5
3774 movups 16(%edx),%xmm1
3778 .byte 102,15,56,222,209
3782 jnz .L067dec1_loop_13
3783 .byte 102,15,56,223,209
3787 movzbl 16(%esi),%ecx
3794 jnz .L068xts_dec_steal
3801 movups 16(%edx),%xmm1
3805 .byte 102,15,56,222,209
3809 jnz .L069dec1_loop_14
3810 .byte 102,15,56,223,209
3820 .size aesni_xts_decrypt,.-.L_aesni_xts_decrypt_begin
3821 .globl aesni_cbc_encrypt
3822 .type aesni_cbc_encrypt,@function
3825 .L_aesni_cbc_encrypt_begin:
3850 jb .L072cbc_enc_tail
3852 jmp .L073cbc_enc_loop
3858 movups 16(%edx),%xmm1
3863 .byte 102,15,56,220,209
3867 jnz .L074enc1_loop_15
3868 .byte 102,15,56,221,209
3874 jnc .L073cbc_enc_loop
3876 jnz .L072cbc_enc_tail
3890 jmp .L073cbc_enc_loop
3894 jbe .L076cbc_dec_tail
3897 jmp .L077cbc_dec_loop6_enter
3903 .L077cbc_dec_loop6_enter:
3905 movdqu 16(%esi),%xmm3
3906 movdqu 32(%esi),%xmm4
3907 movdqu 48(%esi),%xmm5
3908 movdqu 64(%esi),%xmm6
3909 movdqu 80(%esi),%xmm7
3910 call _aesni_decrypt6
3912 movups 16(%esi),%xmm0
3915 movups 32(%esi),%xmm1
3917 movups 48(%esi),%xmm0
3919 movups 64(%esi),%xmm1
3921 movups 80(%esi),%xmm0
3924 movups %xmm3,16(%edi)
3926 movups %xmm4,32(%edi)
3928 movups %xmm5,48(%edi)
3930 movups %xmm6,64(%edi)
3933 ja .L078cbc_dec_loop6
3937 jle .L079cbc_dec_tail_collected
3944 jbe .L080cbc_dec_one
3945 movups 16(%esi),%xmm3
3948 jbe .L081cbc_dec_two
3949 movups 32(%esi),%xmm4
3951 jbe .L082cbc_dec_three
3952 movups 48(%esi),%xmm5
3954 jbe .L083cbc_dec_four
3955 movups 64(%esi),%xmm6
3959 call _aesni_decrypt6
3961 movups 16(%esi),%xmm0
3964 movups 32(%esi),%xmm1
3966 movups 48(%esi),%xmm0
3968 movups 64(%esi),%xmm7
3971 movups %xmm3,16(%edi)
3972 movups %xmm4,32(%edi)
3973 movups %xmm5,48(%edi)
3977 jmp .L079cbc_dec_tail_collected
3981 movups 16(%edx),%xmm1
3985 .byte 102,15,56,222,209
3989 jnz .L084dec1_loop_16
3990 .byte 102,15,56,223,209
3994 jmp .L079cbc_dec_tail_collected
3998 call _aesni_decrypt3
4006 jmp .L079cbc_dec_tail_collected
4009 call _aesni_decrypt3
4015 movups %xmm3,16(%edi)
4017 movups 32(%esi),%xmm7
4019 jmp .L079cbc_dec_tail_collected
4022 call _aesni_decrypt4
4023 movups 16(%esi),%xmm1
4024 movups 32(%esi),%xmm0
4026 movups 48(%esi),%xmm7
4030 movups %xmm3,16(%edi)
4032 movups %xmm4,32(%edi)
4036 .L079cbc_dec_tail_collected:
4038 jnz .L085cbc_dec_tail_partial
4042 .L085cbc_dec_tail_partial:
4058 .size aesni_cbc_encrypt,.-.L_aesni_cbc_encrypt_begin
4059 .type _aesni_set_encrypt_key,@function
4061 _aesni_set_encrypt_key:
4074 jne .L089bad_keybits
4078 movups %xmm0,-16(%edx)
4079 .byte 102,15,58,223,200,1
4080 call .L091key_128_cold
4081 .byte 102,15,58,223,200,2
4083 .byte 102,15,58,223,200,4
4085 .byte 102,15,58,223,200,8
4087 .byte 102,15,58,223,200,16
4089 .byte 102,15,58,223,200,32
4091 .byte 102,15,58,223,200,64
4093 .byte 102,15,58,223,200,128
4095 .byte 102,15,58,223,200,27
4097 .byte 102,15,58,223,200,54
4108 shufps $16,%xmm0,%xmm4
4110 shufps $140,%xmm0,%xmm4
4112 shufps $255,%xmm1,%xmm1
4119 movups %xmm0,-16(%edx)
4120 .byte 102,15,58,223,202,1
4121 call .L093key_192a_cold
4122 .byte 102,15,58,223,202,2
4124 .byte 102,15,58,223,202,4
4126 .byte 102,15,58,223,202,8
4128 .byte 102,15,58,223,202,16
4130 .byte 102,15,58,223,202,32
4132 .byte 102,15,58,223,202,64
4134 .byte 102,15,58,223,202,128
4148 shufps $16,%xmm0,%xmm4
4151 shufps $140,%xmm0,%xmm4
4154 pshufd $85,%xmm1,%xmm1
4157 pshufd $255,%xmm0,%xmm3
4163 shufps $68,%xmm0,%xmm5
4165 shufps $78,%xmm2,%xmm3
4166 movups %xmm3,16(%edx)
4168 jmp .L096key_192b_warm
4171 movups 16(%eax),%xmm2
4174 movups %xmm0,-32(%edx)
4175 movups %xmm2,-16(%edx)
4176 .byte 102,15,58,223,202,1
4177 call .L097key_256a_cold
4178 .byte 102,15,58,223,200,1
4180 .byte 102,15,58,223,202,2
4182 .byte 102,15,58,223,200,2
4184 .byte 102,15,58,223,202,4
4186 .byte 102,15,58,223,200,4
4188 .byte 102,15,58,223,202,8
4190 .byte 102,15,58,223,200,8
4192 .byte 102,15,58,223,202,16
4194 .byte 102,15,58,223,200,16
4196 .byte 102,15,58,223,202,32
4198 .byte 102,15,58,223,200,32
4200 .byte 102,15,58,223,202,64
4211 shufps $16,%xmm0,%xmm4
4213 shufps $140,%xmm0,%xmm4
4215 shufps $255,%xmm1,%xmm1
4222 shufps $16,%xmm2,%xmm4
4224 shufps $140,%xmm2,%xmm4
4226 shufps $170,%xmm1,%xmm1
4237 .size _aesni_set_encrypt_key,.-_aesni_set_encrypt_key
4238 .globl aesni_set_encrypt_key
4239 .type aesni_set_encrypt_key,@function
4241 aesni_set_encrypt_key:
4242 .L_aesni_set_encrypt_key_begin:
4246 call _aesni_set_encrypt_key
4248 .size aesni_set_encrypt_key,.-.L_aesni_set_encrypt_key_begin
4249 .globl aesni_set_decrypt_key
4250 .type aesni_set_decrypt_key,@function
4252 aesni_set_decrypt_key:
4253 .L_aesni_set_decrypt_key_begin:
4257 call _aesni_set_encrypt_key
4261 jnz .L100dec_key_ret
4262 leal 16(%edx,%ecx,1),%eax
4269 .L101dec_key_inverse:
4272 .byte 102,15,56,219,192
4273 .byte 102,15,56,219,201
4276 movups %xmm0,16(%eax)
4277 movups %xmm1,-16(%edx)
4279 ja .L101dec_key_inverse
4281 .byte 102,15,56,219,192
4286 .size aesni_set_decrypt_key,.-.L_aesni_set_decrypt_key_begin
4287 .byte 65,69,83,32,102,111,114,32,73,110,116,101,108,32,65,69
4288 .byte 83,45,78,73,44,32,67,82,89,80,84,79,71,65,77,83
4289 .byte 32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115
4290 .byte 115,108,46,111,114,103,62,0