2 # Do not modify. This file is auto-generated from aesni-x86_64.pl.
5 .type aesni_encrypt,@function
15 .byte 102,15,56,220,209
20 .byte 102,15,56,221,209
23 .size aesni_encrypt,.-aesni_encrypt
26 .type aesni_decrypt,@function
36 .byte 102,15,56,222,209
41 .byte 102,15,56,223,209
44 .size aesni_decrypt, .-aesni_decrypt
45 .type _aesni_encrypt3,@function
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
70 .byte 102,15,56,220,209
71 .byte 102,15,56,220,217
72 .byte 102,15,56,220,225
73 .byte 102,15,56,221,208
74 .byte 102,15,56,221,216
75 .byte 102,15,56,221,224
77 .size _aesni_encrypt3,.-_aesni_encrypt3
78 .type _aesni_decrypt3,@function
91 .byte 102,15,56,222,209
92 .byte 102,15,56,222,217
94 .byte 102,15,56,222,225
96 .byte 102,15,56,222,208
97 .byte 102,15,56,222,216
99 .byte 102,15,56,222,224
103 .byte 102,15,56,222,209
104 .byte 102,15,56,222,217
105 .byte 102,15,56,222,225
106 .byte 102,15,56,223,208
107 .byte 102,15,56,223,216
108 .byte 102,15,56,223,224
110 .size _aesni_decrypt3,.-_aesni_decrypt3
111 .type _aesni_encrypt4,@function
116 movups 16(%rcx),%xmm1
125 .byte 102,15,56,220,209
126 .byte 102,15,56,220,217
128 .byte 102,15,56,220,225
129 .byte 102,15,56,220,233
130 movups 16(%rcx),%xmm1
131 .byte 102,15,56,220,208
132 .byte 102,15,56,220,216
134 .byte 102,15,56,220,224
135 .byte 102,15,56,220,232
139 .byte 102,15,56,220,209
140 .byte 102,15,56,220,217
141 .byte 102,15,56,220,225
142 .byte 102,15,56,220,233
143 .byte 102,15,56,221,208
144 .byte 102,15,56,221,216
145 .byte 102,15,56,221,224
146 .byte 102,15,56,221,232
148 .size _aesni_encrypt4,.-_aesni_encrypt4
149 .type _aesni_decrypt4,@function
154 movups 16(%rcx),%xmm1
163 .byte 102,15,56,222,209
164 .byte 102,15,56,222,217
166 .byte 102,15,56,222,225
167 .byte 102,15,56,222,233
168 movups 16(%rcx),%xmm1
169 .byte 102,15,56,222,208
170 .byte 102,15,56,222,216
172 .byte 102,15,56,222,224
173 .byte 102,15,56,222,232
177 .byte 102,15,56,222,209
178 .byte 102,15,56,222,217
179 .byte 102,15,56,222,225
180 .byte 102,15,56,222,233
181 .byte 102,15,56,223,208
182 .byte 102,15,56,223,216
183 .byte 102,15,56,223,224
184 .byte 102,15,56,223,232
186 .size _aesni_decrypt4,.-_aesni_decrypt4
187 .type _aesni_encrypt6,@function
192 movups 16(%rcx),%xmm1
196 .byte 102,15,56,220,209
198 .byte 102,15,56,220,217
200 .byte 102,15,56,220,225
202 .byte 102,15,56,220,233
205 .byte 102,15,56,220,241
207 .byte 102,15,56,220,249
208 jmp .Lenc_loop6_enter
211 .byte 102,15,56,220,209
212 .byte 102,15,56,220,217
214 .byte 102,15,56,220,225
215 .byte 102,15,56,220,233
216 .byte 102,15,56,220,241
217 .byte 102,15,56,220,249
219 movups 16(%rcx),%xmm1
220 .byte 102,15,56,220,208
221 .byte 102,15,56,220,216
223 .byte 102,15,56,220,224
224 .byte 102,15,56,220,232
225 .byte 102,15,56,220,240
226 .byte 102,15,56,220,248
230 .byte 102,15,56,220,209
231 .byte 102,15,56,220,217
232 .byte 102,15,56,220,225
233 .byte 102,15,56,220,233
234 .byte 102,15,56,220,241
235 .byte 102,15,56,220,249
236 .byte 102,15,56,221,208
237 .byte 102,15,56,221,216
238 .byte 102,15,56,221,224
239 .byte 102,15,56,221,232
240 .byte 102,15,56,221,240
241 .byte 102,15,56,221,248
243 .size _aesni_encrypt6,.-_aesni_encrypt6
244 .type _aesni_decrypt6,@function
249 movups 16(%rcx),%xmm1
253 .byte 102,15,56,222,209
255 .byte 102,15,56,222,217
257 .byte 102,15,56,222,225
259 .byte 102,15,56,222,233
262 .byte 102,15,56,222,241
264 .byte 102,15,56,222,249
265 jmp .Ldec_loop6_enter
268 .byte 102,15,56,222,209
269 .byte 102,15,56,222,217
271 .byte 102,15,56,222,225
272 .byte 102,15,56,222,233
273 .byte 102,15,56,222,241
274 .byte 102,15,56,222,249
276 movups 16(%rcx),%xmm1
277 .byte 102,15,56,222,208
278 .byte 102,15,56,222,216
280 .byte 102,15,56,222,224
281 .byte 102,15,56,222,232
282 .byte 102,15,56,222,240
283 .byte 102,15,56,222,248
287 .byte 102,15,56,222,209
288 .byte 102,15,56,222,217
289 .byte 102,15,56,222,225
290 .byte 102,15,56,222,233
291 .byte 102,15,56,222,241
292 .byte 102,15,56,222,249
293 .byte 102,15,56,223,208
294 .byte 102,15,56,223,216
295 .byte 102,15,56,223,224
296 .byte 102,15,56,223,232
297 .byte 102,15,56,223,240
298 .byte 102,15,56,223,248
300 .size _aesni_decrypt6,.-_aesni_decrypt6
301 .type _aesni_encrypt8,@function
306 movups 16(%rcx),%xmm1
310 .byte 102,15,56,220,209
312 .byte 102,15,56,220,217
314 .byte 102,15,56,220,225
316 .byte 102,15,56,220,233
319 .byte 102,15,56,220,241
321 .byte 102,15,56,220,249
324 .byte 102,68,15,56,220,193
325 .byte 102,68,15,56,220,201
326 movups 16(%rcx),%xmm1
327 jmp .Lenc_loop8_enter
330 .byte 102,15,56,220,209
331 .byte 102,15,56,220,217
333 .byte 102,15,56,220,225
334 .byte 102,15,56,220,233
335 .byte 102,15,56,220,241
336 .byte 102,15,56,220,249
337 .byte 102,68,15,56,220,193
338 .byte 102,68,15,56,220,201
339 movups 16(%rcx),%xmm1
341 .byte 102,15,56,220,208
342 .byte 102,15,56,220,216
344 .byte 102,15,56,220,224
345 .byte 102,15,56,220,232
346 .byte 102,15,56,220,240
347 .byte 102,15,56,220,248
348 .byte 102,68,15,56,220,192
349 .byte 102,68,15,56,220,200
353 .byte 102,15,56,220,209
354 .byte 102,15,56,220,217
355 .byte 102,15,56,220,225
356 .byte 102,15,56,220,233
357 .byte 102,15,56,220,241
358 .byte 102,15,56,220,249
359 .byte 102,68,15,56,220,193
360 .byte 102,68,15,56,220,201
361 .byte 102,15,56,221,208
362 .byte 102,15,56,221,216
363 .byte 102,15,56,221,224
364 .byte 102,15,56,221,232
365 .byte 102,15,56,221,240
366 .byte 102,15,56,221,248
367 .byte 102,68,15,56,221,192
368 .byte 102,68,15,56,221,200
370 .size _aesni_encrypt8,.-_aesni_encrypt8
371 .type _aesni_decrypt8,@function
376 movups 16(%rcx),%xmm1
380 .byte 102,15,56,222,209
382 .byte 102,15,56,222,217
384 .byte 102,15,56,222,225
386 .byte 102,15,56,222,233
389 .byte 102,15,56,222,241
391 .byte 102,15,56,222,249
394 .byte 102,68,15,56,222,193
395 .byte 102,68,15,56,222,201
396 movups 16(%rcx),%xmm1
397 jmp .Ldec_loop8_enter
400 .byte 102,15,56,222,209
401 .byte 102,15,56,222,217
403 .byte 102,15,56,222,225
404 .byte 102,15,56,222,233
405 .byte 102,15,56,222,241
406 .byte 102,15,56,222,249
407 .byte 102,68,15,56,222,193
408 .byte 102,68,15,56,222,201
409 movups 16(%rcx),%xmm1
411 .byte 102,15,56,222,208
412 .byte 102,15,56,222,216
414 .byte 102,15,56,222,224
415 .byte 102,15,56,222,232
416 .byte 102,15,56,222,240
417 .byte 102,15,56,222,248
418 .byte 102,68,15,56,222,192
419 .byte 102,68,15,56,222,200
423 .byte 102,15,56,222,209
424 .byte 102,15,56,222,217
425 .byte 102,15,56,222,225
426 .byte 102,15,56,222,233
427 .byte 102,15,56,222,241
428 .byte 102,15,56,222,249
429 .byte 102,68,15,56,222,193
430 .byte 102,68,15,56,222,201
431 .byte 102,15,56,223,208
432 .byte 102,15,56,223,216
433 .byte 102,15,56,223,224
434 .byte 102,15,56,223,232
435 .byte 102,15,56,223,240
436 .byte 102,15,56,223,248
437 .byte 102,68,15,56,223,192
438 .byte 102,68,15,56,223,200
440 .size _aesni_decrypt8,.-_aesni_decrypt8
441 .globl aesni_ecb_encrypt
442 .type aesni_ecb_encrypt,@function
459 movdqu 16(%rdi),%xmm3
460 movdqu 32(%rdi),%xmm4
461 movdqu 48(%rdi),%xmm5
462 movdqu 64(%rdi),%xmm6
463 movdqu 80(%rdi),%xmm7
464 movdqu 96(%rdi),%xmm8
465 movdqu 112(%rdi),%xmm9
468 jmp .Lecb_enc_loop8_enter
475 movups %xmm3,16(%rsi)
476 movdqu 16(%rdi),%xmm3
477 movups %xmm4,32(%rsi)
478 movdqu 32(%rdi),%xmm4
479 movups %xmm5,48(%rsi)
480 movdqu 48(%rdi),%xmm5
481 movups %xmm6,64(%rsi)
482 movdqu 64(%rdi),%xmm6
483 movups %xmm7,80(%rsi)
484 movdqu 80(%rdi),%xmm7
485 movups %xmm8,96(%rsi)
486 movdqu 96(%rdi),%xmm8
487 movups %xmm9,112(%rsi)
489 movdqu 112(%rdi),%xmm9
491 .Lecb_enc_loop8_enter:
500 movups %xmm3,16(%rsi)
502 movups %xmm4,32(%rsi)
503 movups %xmm5,48(%rsi)
504 movups %xmm6,64(%rsi)
505 movups %xmm7,80(%rsi)
506 movups %xmm8,96(%rsi)
507 movups %xmm9,112(%rsi)
516 movups 16(%rdi),%xmm3
518 movups 32(%rdi),%xmm4
521 movups 48(%rdi),%xmm5
523 movups 64(%rdi),%xmm6
526 movups 80(%rdi),%xmm7
528 movdqu 96(%rdi),%xmm8
531 movups %xmm3,16(%rsi)
532 movups %xmm4,32(%rsi)
533 movups %xmm5,48(%rsi)
534 movups %xmm6,64(%rsi)
535 movups %xmm7,80(%rsi)
536 movups %xmm8,96(%rsi)
541 movups 16(%rcx),%xmm1
545 .byte 102,15,56,220,209
550 .byte 102,15,56,221,209
558 movups %xmm3,16(%rsi)
564 movups %xmm3,16(%rsi)
565 movups %xmm4,32(%rsi)
571 movups %xmm3,16(%rsi)
572 movups %xmm4,32(%rsi)
573 movups %xmm5,48(%rsi)
580 movups %xmm3,16(%rsi)
581 movups %xmm4,32(%rsi)
582 movups %xmm5,48(%rsi)
583 movups %xmm6,64(%rsi)
589 movups %xmm3,16(%rsi)
590 movups %xmm4,32(%rsi)
591 movups %xmm5,48(%rsi)
592 movups %xmm6,64(%rsi)
593 movups %xmm7,80(%rsi)
602 movdqu 16(%rdi),%xmm3
603 movdqu 32(%rdi),%xmm4
604 movdqu 48(%rdi),%xmm5
605 movdqu 64(%rdi),%xmm6
606 movdqu 80(%rdi),%xmm7
607 movdqu 96(%rdi),%xmm8
608 movdqu 112(%rdi),%xmm9
611 jmp .Lecb_dec_loop8_enter
618 movups %xmm3,16(%rsi)
619 movdqu 16(%rdi),%xmm3
620 movups %xmm4,32(%rsi)
621 movdqu 32(%rdi),%xmm4
622 movups %xmm5,48(%rsi)
623 movdqu 48(%rdi),%xmm5
624 movups %xmm6,64(%rsi)
625 movdqu 64(%rdi),%xmm6
626 movups %xmm7,80(%rsi)
627 movdqu 80(%rdi),%xmm7
628 movups %xmm8,96(%rsi)
629 movdqu 96(%rdi),%xmm8
630 movups %xmm9,112(%rsi)
632 movdqu 112(%rdi),%xmm9
634 .Lecb_dec_loop8_enter:
644 movups %xmm3,16(%rsi)
646 movups %xmm4,32(%rsi)
647 movups %xmm5,48(%rsi)
648 movups %xmm6,64(%rsi)
649 movups %xmm7,80(%rsi)
650 movups %xmm8,96(%rsi)
651 movups %xmm9,112(%rsi)
660 movups 16(%rdi),%xmm3
662 movups 32(%rdi),%xmm4
665 movups 48(%rdi),%xmm5
667 movups 64(%rdi),%xmm6
670 movups 80(%rdi),%xmm7
672 movups 96(%rdi),%xmm8
676 movups %xmm3,16(%rsi)
677 movups %xmm4,32(%rsi)
678 movups %xmm5,48(%rsi)
679 movups %xmm6,64(%rsi)
680 movups %xmm7,80(%rsi)
681 movups %xmm8,96(%rsi)
686 movups 16(%rcx),%xmm1
690 .byte 102,15,56,222,209
695 .byte 102,15,56,223,209
703 movups %xmm3,16(%rsi)
709 movups %xmm3,16(%rsi)
710 movups %xmm4,32(%rsi)
716 movups %xmm3,16(%rsi)
717 movups %xmm4,32(%rsi)
718 movups %xmm5,48(%rsi)
725 movups %xmm3,16(%rsi)
726 movups %xmm4,32(%rsi)
727 movups %xmm5,48(%rsi)
728 movups %xmm6,64(%rsi)
734 movups %xmm3,16(%rsi)
735 movups %xmm4,32(%rsi)
736 movups %xmm5,48(%rsi)
737 movups %xmm6,64(%rsi)
738 movups %xmm7,80(%rsi)
742 .size aesni_ecb_encrypt,.-aesni_ecb_encrypt
743 .globl aesni_ccm64_encrypt_blocks
744 .type aesni_ccm64_encrypt_blocks,@function
746 aesni_ccm64_encrypt_blocks:
749 movdqa .Lincrement64(%rip),%xmm6
750 movdqa .Lbswap_mask(%rip),%xmm7
757 .byte 102,68,15,56,0,207
758 jmp .Lccm64_enc_outer
766 movups 16(%r11),%xmm1
773 .byte 102,15,56,220,209
775 .byte 102,15,56,220,217
776 movups 16(%rcx),%xmm1
777 .byte 102,15,56,220,208
779 .byte 102,15,56,220,216
781 jnz .Lccm64_enc2_loop
782 .byte 102,15,56,220,209
783 .byte 102,15,56,220,217
785 .byte 102,15,56,221,208
786 .byte 102,15,56,221,216
794 .byte 102,15,56,0,215
795 jnz .Lccm64_enc_outer
799 .size aesni_ccm64_encrypt_blocks,.-aesni_ccm64_encrypt_blocks
800 .globl aesni_ccm64_decrypt_blocks
801 .type aesni_ccm64_decrypt_blocks,@function
803 aesni_ccm64_decrypt_blocks:
807 movdqa .Lincrement64(%rip),%xmm6
808 movdqa .Lbswap_mask(%rip),%xmm7
813 .byte 102,68,15,56,0,207
815 movups 16(%rcx),%xmm1
819 .byte 102,15,56,220,209
824 .byte 102,15,56,221,209
828 jmp .Lccm64_dec_outer
836 .byte 102,15,56,0,215
843 movups 16(%r11),%xmm1
851 .byte 102,15,56,220,209
853 .byte 102,15,56,220,217
854 movups 16(%rcx),%xmm1
855 .byte 102,15,56,220,208
857 .byte 102,15,56,220,216
859 jnz .Lccm64_dec2_loop
862 .byte 102,15,56,220,209
863 .byte 102,15,56,220,217
865 .byte 102,15,56,221,208
866 .byte 102,15,56,221,216
867 jmp .Lccm64_dec_outer
873 movups 16(%r11),%xmm1
878 .byte 102,15,56,220,217
883 .byte 102,15,56,221,217
886 .size aesni_ccm64_decrypt_blocks,.-aesni_ccm64_decrypt_blocks
887 .globl aesni_ctr32_encrypt_blocks
888 .type aesni_ctr32_encrypt_blocks,@function
890 aesni_ctr32_encrypt_blocks:
892 je .Lctr32_one_shortcut
895 movdqa .Lbswap_mask(%rip),%xmm15
897 .byte 102,69,15,58,22,242,3
898 .byte 102,68,15,58,34,240,3
904 .byte 102,69,15,58,34,226,0
906 .byte 102,69,15,58,34,235,0
908 .byte 102,69,15,58,34,226,1
910 .byte 102,69,15,58,34,235,1
912 .byte 102,69,15,58,34,226,2
914 .byte 102,69,15,58,34,235,2
915 movdqa %xmm12,-40(%rsp)
916 .byte 102,69,15,56,0,231
917 movdqa %xmm13,-24(%rsp)
918 .byte 102,69,15,56,0,239
920 pshufd $192,%xmm12,%xmm2
921 pshufd $128,%xmm12,%xmm3
922 pshufd $64,%xmm12,%xmm4
933 pshufd $192,%xmm13,%xmm5
936 pshufd $128,%xmm13,%xmm6
938 movups 16(%r11),%xmm1
939 pshufd $64,%xmm13,%xmm7
950 .byte 102,15,56,220,209
953 .byte 102,15,56,220,217
954 movdqa .Lincrement32(%rip),%xmm13
956 .byte 102,15,56,220,225
957 movdqa -40(%rsp),%xmm12
959 .byte 102,15,56,220,233
963 .byte 102,15,56,220,241
964 .byte 102,15,56,220,249
965 jmp .Lctr32_enc_loop6_enter
968 .byte 102,15,56,220,209
969 .byte 102,15,56,220,217
971 .byte 102,15,56,220,225
972 .byte 102,15,56,220,233
973 .byte 102,15,56,220,241
974 .byte 102,15,56,220,249
975 .Lctr32_enc_loop6_enter:
976 movups 16(%rcx),%xmm1
977 .byte 102,15,56,220,208
978 .byte 102,15,56,220,216
980 .byte 102,15,56,220,224
981 .byte 102,15,56,220,232
982 .byte 102,15,56,220,240
983 .byte 102,15,56,220,248
985 jnz .Lctr32_enc_loop6
987 .byte 102,15,56,220,209
989 .byte 102,15,56,220,217
990 paddd -24(%rsp),%xmm13
991 .byte 102,15,56,220,225
992 movdqa %xmm12,-40(%rsp)
993 .byte 102,15,56,220,233
994 movdqa %xmm13,-24(%rsp)
995 .byte 102,15,56,220,241
996 .byte 102,69,15,56,0,231
997 .byte 102,15,56,220,249
998 .byte 102,69,15,56,0,239
1000 .byte 102,15,56,221,208
1002 .byte 102,15,56,221,216
1003 movups 16(%rdi),%xmm9
1004 .byte 102,15,56,221,224
1005 movups 32(%rdi),%xmm10
1006 .byte 102,15,56,221,232
1007 movups 48(%rdi),%xmm11
1008 .byte 102,15,56,221,240
1009 movups 64(%rdi),%xmm1
1010 .byte 102,15,56,221,248
1011 movups 80(%rdi),%xmm0
1015 pshufd $192,%xmm12,%xmm2
1017 pshufd $128,%xmm12,%xmm3
1020 pshufd $64,%xmm12,%xmm4
1021 movups %xmm9,16(%rsi)
1023 movups %xmm10,32(%rsi)
1025 movups %xmm11,48(%rsi)
1027 movups %xmm1,64(%rsi)
1028 movups %xmm0,80(%rsi)
1037 leal 1(%rax,%rax,1),%eax
1046 movups 16(%rdi),%xmm9
1049 pshufd $192,%xmm13,%xmm5
1051 movups 32(%rdi),%xmm10
1055 pshufd $128,%xmm13,%xmm6
1057 movups 48(%rdi),%xmm11
1063 call _aesni_encrypt6
1065 movups 64(%rdi),%xmm1
1070 movups %xmm9,16(%rsi)
1072 movups %xmm10,32(%rsi)
1074 movups %xmm11,48(%rsi)
1075 movups %xmm1,64(%rsi)
1079 .Lctr32_one_shortcut:
1085 movups 16(%rcx),%xmm1
1089 .byte 102,15,56,220,209
1094 .byte 102,15,56,221,209
1102 call _aesni_encrypt3
1106 movups %xmm9,16(%rsi)
1111 call _aesni_encrypt3
1116 movups %xmm9,16(%rsi)
1117 movups %xmm10,32(%rsi)
1122 call _aesni_encrypt4
1127 movups %xmm9,16(%rsi)
1129 movups %xmm10,32(%rsi)
1130 movups %xmm11,48(%rsi)
1134 .size aesni_ctr32_encrypt_blocks,.-aesni_ctr32_encrypt_blocks
1135 .globl aesni_xts_encrypt
1136 .type aesni_xts_encrypt,@function
1139 leaq -104(%rsp),%rsp
1142 movl 240(%rcx),%r10d
1144 movups 16(%r8),%xmm1
1148 .byte 102,68,15,56,220,249
1153 .byte 102,68,15,56,221,249
1159 movdqa .Lxts_magic(%rip),%xmm8
1161 pcmpgtd %xmm15,%xmm14
1162 pshufd $19,%xmm14,%xmm9
1164 movdqa %xmm15,%xmm10
1167 pcmpgtd %xmm15,%xmm14
1169 pshufd $19,%xmm14,%xmm9
1171 movdqa %xmm15,%xmm11
1174 pcmpgtd %xmm15,%xmm14
1176 pshufd $19,%xmm14,%xmm9
1178 movdqa %xmm15,%xmm12
1181 pcmpgtd %xmm15,%xmm14
1183 pshufd $19,%xmm14,%xmm9
1185 movdqa %xmm15,%xmm13
1188 pcmpgtd %xmm15,%xmm14
1196 jmp .Lxts_enc_grandloop
1199 .Lxts_enc_grandloop:
1200 pshufd $19,%xmm14,%xmm9
1201 movdqa %xmm15,%xmm14
1203 movdqu 0(%rdi),%xmm2
1205 movdqu 16(%rdi),%xmm3
1208 movdqu 32(%rdi),%xmm4
1210 movdqu 48(%rdi),%xmm5
1212 movdqu 64(%rdi),%xmm6
1214 movdqu 80(%rdi),%xmm7
1223 movups 16(%r11),%xmm1
1226 movdqa %xmm10,0(%rsp)
1227 .byte 102,15,56,220,209
1230 movdqa %xmm11,16(%rsp)
1231 .byte 102,15,56,220,217
1233 movdqa %xmm12,32(%rsp)
1234 .byte 102,15,56,220,225
1236 movdqa %xmm13,48(%rsp)
1237 .byte 102,15,56,220,233
1241 movdqa %xmm14,64(%rsp)
1242 .byte 102,15,56,220,241
1243 movdqa %xmm15,80(%rsp)
1244 .byte 102,15,56,220,249
1246 pcmpgtd %xmm15,%xmm14
1247 jmp .Lxts_enc_loop6_enter
1251 .byte 102,15,56,220,209
1252 .byte 102,15,56,220,217
1254 .byte 102,15,56,220,225
1255 .byte 102,15,56,220,233
1256 .byte 102,15,56,220,241
1257 .byte 102,15,56,220,249
1258 .Lxts_enc_loop6_enter:
1259 movups 16(%rcx),%xmm1
1260 .byte 102,15,56,220,208
1261 .byte 102,15,56,220,216
1263 .byte 102,15,56,220,224
1264 .byte 102,15,56,220,232
1265 .byte 102,15,56,220,240
1266 .byte 102,15,56,220,248
1270 pshufd $19,%xmm14,%xmm9
1273 .byte 102,15,56,220,209
1275 .byte 102,15,56,220,217
1276 pcmpgtd %xmm15,%xmm14
1277 .byte 102,15,56,220,225
1279 .byte 102,15,56,220,233
1280 .byte 102,15,56,220,241
1281 .byte 102,15,56,220,249
1282 movups 16(%rcx),%xmm1
1284 pshufd $19,%xmm14,%xmm9
1286 movdqa %xmm15,%xmm10
1288 .byte 102,15,56,220,208
1290 .byte 102,15,56,220,216
1291 pcmpgtd %xmm15,%xmm14
1292 .byte 102,15,56,220,224
1294 .byte 102,15,56,220,232
1295 .byte 102,15,56,220,240
1296 .byte 102,15,56,220,248
1297 movups 32(%rcx),%xmm0
1299 pshufd $19,%xmm14,%xmm9
1301 movdqa %xmm15,%xmm11
1303 .byte 102,15,56,220,209
1305 .byte 102,15,56,220,217
1306 pcmpgtd %xmm15,%xmm14
1307 .byte 102,15,56,220,225
1309 .byte 102,15,56,220,233
1310 .byte 102,15,56,220,241
1311 .byte 102,15,56,220,249
1313 pshufd $19,%xmm14,%xmm9
1315 movdqa %xmm15,%xmm12
1317 .byte 102,15,56,221,208
1319 .byte 102,15,56,221,216
1320 pcmpgtd %xmm15,%xmm14
1321 .byte 102,15,56,221,224
1323 .byte 102,15,56,221,232
1324 .byte 102,15,56,221,240
1325 .byte 102,15,56,221,248
1327 pshufd $19,%xmm14,%xmm9
1329 movdqa %xmm15,%xmm13
1333 xorps 16(%rsp),%xmm3
1334 pcmpgtd %xmm15,%xmm14
1337 xorps 32(%rsp),%xmm4
1338 movups %xmm2,0(%rsi)
1339 xorps 48(%rsp),%xmm5
1340 movups %xmm3,16(%rsi)
1341 xorps 64(%rsp),%xmm6
1342 movups %xmm4,32(%rsi)
1343 xorps 80(%rsp),%xmm7
1344 movups %xmm5,48(%rsi)
1346 movups %xmm6,64(%rsi)
1347 movups %xmm7,80(%rsi)
1350 jnc .Lxts_enc_grandloop
1352 leal 3(%rax,%rax,1),%eax
1368 pshufd $19,%xmm14,%xmm9
1369 movdqa %xmm15,%xmm14
1373 movdqu 16(%rdi),%xmm3
1376 movdqu 32(%rdi),%xmm4
1378 movdqu 48(%rdi),%xmm5
1380 movdqu 64(%rdi),%xmm6
1386 call _aesni_encrypt6
1389 movdqa %xmm15,%xmm10
1394 movdqu %xmm3,16(%rsi)
1396 movdqu %xmm4,32(%rsi)
1397 movdqu %xmm5,48(%rsi)
1398 movdqu %xmm6,64(%rsi)
1408 movups 16(%rcx),%xmm1
1412 .byte 102,15,56,220,209
1417 .byte 102,15,56,221,209
1419 movdqa %xmm11,%xmm10
1427 movups 16(%rdi),%xmm3
1432 call _aesni_encrypt3
1435 movdqa %xmm12,%xmm10
1438 movups %xmm3,16(%rsi)
1445 movups 16(%rdi),%xmm3
1446 movups 32(%rdi),%xmm4
1452 call _aesni_encrypt3
1455 movdqa %xmm13,%xmm10
1459 movups %xmm3,16(%rsi)
1460 movups %xmm4,32(%rsi)
1467 movups 16(%rdi),%xmm3
1468 movups 32(%rdi),%xmm4
1470 movups 48(%rdi),%xmm5
1476 call _aesni_encrypt4
1479 movdqa %xmm15,%xmm10
1484 movups %xmm3,16(%rsi)
1485 movups %xmm4,32(%rsi)
1486 movups %xmm5,48(%rsi)
1498 movzbl -16(%rsi),%ecx
1510 movups -16(%rsi),%xmm2
1513 movups 16(%rcx),%xmm1
1517 .byte 102,15,56,220,209
1522 .byte 102,15,56,221,209
1524 movups %xmm2,-16(%rsi)
1530 .size aesni_xts_encrypt,.-aesni_xts_encrypt
1531 .globl aesni_xts_decrypt
1532 .type aesni_xts_decrypt,@function
1535 leaq -104(%rsp),%rsp
1538 movl 240(%rcx),%r10d
1540 movups 16(%r8),%xmm1
1544 .byte 102,68,15,56,220,249
1549 .byte 102,68,15,56,221,249
1561 movdqa .Lxts_magic(%rip),%xmm8
1563 pcmpgtd %xmm15,%xmm14
1564 pshufd $19,%xmm14,%xmm9
1566 movdqa %xmm15,%xmm10
1569 pcmpgtd %xmm15,%xmm14
1571 pshufd $19,%xmm14,%xmm9
1573 movdqa %xmm15,%xmm11
1576 pcmpgtd %xmm15,%xmm14
1578 pshufd $19,%xmm14,%xmm9
1580 movdqa %xmm15,%xmm12
1583 pcmpgtd %xmm15,%xmm14
1585 pshufd $19,%xmm14,%xmm9
1587 movdqa %xmm15,%xmm13
1590 pcmpgtd %xmm15,%xmm14
1598 jmp .Lxts_dec_grandloop
1601 .Lxts_dec_grandloop:
1602 pshufd $19,%xmm14,%xmm9
1603 movdqa %xmm15,%xmm14
1605 movdqu 0(%rdi),%xmm2
1607 movdqu 16(%rdi),%xmm3
1610 movdqu 32(%rdi),%xmm4
1612 movdqu 48(%rdi),%xmm5
1614 movdqu 64(%rdi),%xmm6
1616 movdqu 80(%rdi),%xmm7
1625 movups 16(%r11),%xmm1
1628 movdqa %xmm10,0(%rsp)
1629 .byte 102,15,56,222,209
1632 movdqa %xmm11,16(%rsp)
1633 .byte 102,15,56,222,217
1635 movdqa %xmm12,32(%rsp)
1636 .byte 102,15,56,222,225
1638 movdqa %xmm13,48(%rsp)
1639 .byte 102,15,56,222,233
1643 movdqa %xmm14,64(%rsp)
1644 .byte 102,15,56,222,241
1645 movdqa %xmm15,80(%rsp)
1646 .byte 102,15,56,222,249
1648 pcmpgtd %xmm15,%xmm14
1649 jmp .Lxts_dec_loop6_enter
1653 .byte 102,15,56,222,209
1654 .byte 102,15,56,222,217
1656 .byte 102,15,56,222,225
1657 .byte 102,15,56,222,233
1658 .byte 102,15,56,222,241
1659 .byte 102,15,56,222,249
1660 .Lxts_dec_loop6_enter:
1661 movups 16(%rcx),%xmm1
1662 .byte 102,15,56,222,208
1663 .byte 102,15,56,222,216
1665 .byte 102,15,56,222,224
1666 .byte 102,15,56,222,232
1667 .byte 102,15,56,222,240
1668 .byte 102,15,56,222,248
1672 pshufd $19,%xmm14,%xmm9
1675 .byte 102,15,56,222,209
1677 .byte 102,15,56,222,217
1678 pcmpgtd %xmm15,%xmm14
1679 .byte 102,15,56,222,225
1681 .byte 102,15,56,222,233
1682 .byte 102,15,56,222,241
1683 .byte 102,15,56,222,249
1684 movups 16(%rcx),%xmm1
1686 pshufd $19,%xmm14,%xmm9
1688 movdqa %xmm15,%xmm10
1690 .byte 102,15,56,222,208
1692 .byte 102,15,56,222,216
1693 pcmpgtd %xmm15,%xmm14
1694 .byte 102,15,56,222,224
1696 .byte 102,15,56,222,232
1697 .byte 102,15,56,222,240
1698 .byte 102,15,56,222,248
1699 movups 32(%rcx),%xmm0
1701 pshufd $19,%xmm14,%xmm9
1703 movdqa %xmm15,%xmm11
1705 .byte 102,15,56,222,209
1707 .byte 102,15,56,222,217
1708 pcmpgtd %xmm15,%xmm14
1709 .byte 102,15,56,222,225
1711 .byte 102,15,56,222,233
1712 .byte 102,15,56,222,241
1713 .byte 102,15,56,222,249
1715 pshufd $19,%xmm14,%xmm9
1717 movdqa %xmm15,%xmm12
1719 .byte 102,15,56,223,208
1721 .byte 102,15,56,223,216
1722 pcmpgtd %xmm15,%xmm14
1723 .byte 102,15,56,223,224
1725 .byte 102,15,56,223,232
1726 .byte 102,15,56,223,240
1727 .byte 102,15,56,223,248
1729 pshufd $19,%xmm14,%xmm9
1731 movdqa %xmm15,%xmm13
1735 xorps 16(%rsp),%xmm3
1736 pcmpgtd %xmm15,%xmm14
1739 xorps 32(%rsp),%xmm4
1740 movups %xmm2,0(%rsi)
1741 xorps 48(%rsp),%xmm5
1742 movups %xmm3,16(%rsi)
1743 xorps 64(%rsp),%xmm6
1744 movups %xmm4,32(%rsi)
1745 xorps 80(%rsp),%xmm7
1746 movups %xmm5,48(%rsi)
1748 movups %xmm6,64(%rsi)
1749 movups %xmm7,80(%rsi)
1752 jnc .Lxts_dec_grandloop
1754 leal 3(%rax,%rax,1),%eax
1770 pshufd $19,%xmm14,%xmm9
1771 movdqa %xmm15,%xmm14
1775 movdqu 16(%rdi),%xmm3
1778 movdqu 32(%rdi),%xmm4
1780 movdqu 48(%rdi),%xmm5
1782 movdqu 64(%rdi),%xmm6
1788 call _aesni_decrypt6
1795 movdqu %xmm3,16(%rsi)
1797 movdqu %xmm4,32(%rsi)
1799 movdqu %xmm5,48(%rsi)
1800 pcmpgtd %xmm15,%xmm14
1801 movdqu %xmm6,64(%rsi)
1803 pshufd $19,%xmm14,%xmm11
1807 movdqa %xmm15,%xmm10
1819 movups 16(%rcx),%xmm1
1823 .byte 102,15,56,222,209
1828 .byte 102,15,56,223,209
1830 movdqa %xmm11,%xmm10
1832 movdqa %xmm12,%xmm11
1839 movups 16(%rdi),%xmm3
1844 call _aesni_decrypt3
1847 movdqa %xmm12,%xmm10
1849 movdqa %xmm13,%xmm11
1851 movups %xmm3,16(%rsi)
1858 movups 16(%rdi),%xmm3
1859 movups 32(%rdi),%xmm4
1865 call _aesni_decrypt3
1868 movdqa %xmm13,%xmm10
1870 movdqa %xmm15,%xmm11
1873 movups %xmm3,16(%rsi)
1874 movups %xmm4,32(%rsi)
1880 pshufd $19,%xmm14,%xmm9
1881 movdqa %xmm15,%xmm14
1885 movups 16(%rdi),%xmm3
1888 movups 32(%rdi),%xmm4
1890 movups 48(%rdi),%xmm5
1896 call _aesni_decrypt4
1899 movdqa %xmm14,%xmm10
1901 movdqa %xmm15,%xmm11
1905 movups %xmm3,16(%rsi)
1906 movups %xmm4,32(%rsi)
1907 movups %xmm5,48(%rsi)
1923 movups 16(%rcx),%xmm1
1927 .byte 102,15,56,222,209
1932 .byte 102,15,56,223,209
1937 movzbl 16(%rdi),%eax
1953 movups 16(%rcx),%xmm1
1957 .byte 102,15,56,222,209
1962 .byte 102,15,56,223,209
1970 .size aesni_xts_decrypt,.-aesni_xts_decrypt
1971 .globl aesni_cbc_encrypt
1972 .type aesni_cbc_encrypt,@function
1978 movl 240(%rcx),%r10d
1995 movups 16(%rcx),%xmm1
2000 .byte 102,15,56,220,209
2005 .byte 102,15,56,221,209
2008 movups %xmm2,0(%rsi)
2041 movaps %xmm9,-24(%rsp)
2042 jmp .Lcbc_dec_loop8_enter
2045 movaps %xmm0,-24(%rsp)
2048 .Lcbc_dec_loop8_enter:
2051 movups 16(%rdi),%xmm3
2052 movups 16(%rcx),%xmm1
2055 movdqu 32(%rdi),%xmm4
2057 movdqu 48(%rdi),%xmm5
2059 movdqu 64(%rdi),%xmm6
2060 .byte 102,15,56,222,209
2062 movdqu 80(%rdi),%xmm7
2063 .byte 102,15,56,222,217
2065 movdqu 96(%rdi),%xmm8
2066 .byte 102,15,56,222,225
2068 movdqu 112(%rdi),%xmm9
2069 .byte 102,15,56,222,233
2072 .byte 102,15,56,222,241
2074 .byte 102,15,56,222,249
2077 .byte 102,68,15,56,222,193
2078 .byte 102,68,15,56,222,201
2079 movups 16(%rcx),%xmm1
2081 call .Ldec_loop8_enter
2084 movups 16(%rdi),%xmm0
2085 xorps -24(%rsp),%xmm2
2087 movups 32(%rdi),%xmm1
2089 movups 48(%rdi),%xmm0
2091 movups 64(%rdi),%xmm1
2093 movups 80(%rdi),%xmm0
2095 movups 96(%rdi),%xmm1
2097 movups 112(%rdi),%xmm0
2100 movups %xmm3,16(%rsi)
2101 movups %xmm4,32(%rsi)
2102 movups %xmm5,48(%rsi)
2104 movups %xmm6,64(%rsi)
2106 movups %xmm7,80(%rsi)
2108 movups %xmm8,96(%rsi)
2116 jle .Lcbc_dec_tail_collected
2118 leal 1(%r10,%r10,1),%eax
2126 movups 16(%rdi),%xmm3
2131 movups 32(%rdi),%xmm4
2136 movups 48(%rdi),%xmm5
2140 movups 64(%rdi),%xmm6
2144 movups 80(%rdi),%xmm7
2148 movups 96(%rdi),%xmm8
2149 movaps %xmm9,-24(%rsp)
2150 call _aesni_decrypt8
2152 movups 16(%rdi),%xmm0
2153 xorps -24(%rsp),%xmm2
2155 movups 32(%rdi),%xmm1
2157 movups 48(%rdi),%xmm0
2159 movups 64(%rdi),%xmm1
2161 movups 80(%rdi),%xmm0
2163 movups 96(%rdi),%xmm9
2166 movups %xmm3,16(%rsi)
2167 movups %xmm4,32(%rsi)
2168 movups %xmm5,48(%rsi)
2169 movups %xmm6,64(%rsi)
2170 movups %xmm7,80(%rsi)
2174 jmp .Lcbc_dec_tail_collected
2178 movups 16(%rcx),%xmm1
2182 .byte 102,15,56,222,209
2187 .byte 102,15,56,223,209
2191 jmp .Lcbc_dec_tail_collected
2195 call _aesni_decrypt3
2203 jmp .Lcbc_dec_tail_collected
2206 call _aesni_decrypt3
2211 movups %xmm3,16(%rsi)
2216 jmp .Lcbc_dec_tail_collected
2219 call _aesni_decrypt4
2221 movups 48(%rdi),%xmm9
2225 movups %xmm3,16(%rsi)
2227 movups %xmm4,32(%rsi)
2231 jmp .Lcbc_dec_tail_collected
2235 call _aesni_decrypt6
2236 movups 16(%rdi),%xmm1
2237 movups 32(%rdi),%xmm0
2241 movups 48(%rdi),%xmm1
2243 movups 64(%rdi),%xmm9
2246 movups %xmm3,16(%rsi)
2247 movups %xmm4,32(%rsi)
2248 movups %xmm5,48(%rsi)
2252 jmp .Lcbc_dec_tail_collected
2255 call _aesni_decrypt6
2256 movups 16(%rdi),%xmm1
2257 movups 32(%rdi),%xmm0
2261 movups 48(%rdi),%xmm1
2263 movups 64(%rdi),%xmm0
2265 movups 80(%rdi),%xmm9
2268 movups %xmm3,16(%rsi)
2269 movups %xmm4,32(%rsi)
2270 movups %xmm5,48(%rsi)
2271 movups %xmm6,64(%rsi)
2275 jmp .Lcbc_dec_tail_collected
2277 .Lcbc_dec_tail_collected:
2280 jnz .Lcbc_dec_tail_partial
2284 .Lcbc_dec_tail_partial:
2285 movaps %xmm2,-24(%rsp)
2295 .size aesni_cbc_encrypt,.-aesni_cbc_encrypt
2296 .globl aesni_set_decrypt_key
2297 .type aesni_set_decrypt_key,@function
2299 aesni_set_decrypt_key:
2300 .byte 0x48,0x83,0xEC,0x08
2301 call __aesni_set_encrypt_key
2305 leaq 16(%rdx,%rsi,1),%rdi
2317 .byte 102,15,56,219,192
2318 .byte 102,15,56,219,201
2321 movups %xmm0,16(%rdi)
2322 movups %xmm1,-16(%rdx)
2324 ja .Ldec_key_inverse
2327 .byte 102,15,56,219,192
2332 .LSEH_end_set_decrypt_key:
2333 .size aesni_set_decrypt_key,.-aesni_set_decrypt_key
2334 .globl aesni_set_encrypt_key
2335 .type aesni_set_encrypt_key,@function
2337 aesni_set_encrypt_key:
2338 __aesni_set_encrypt_key:
2339 .byte 0x48,0x83,0xEC,0x08
2359 .byte 102,15,58,223,200,1
2360 call .Lkey_expansion_128_cold
2361 .byte 102,15,58,223,200,2
2362 call .Lkey_expansion_128
2363 .byte 102,15,58,223,200,4
2364 call .Lkey_expansion_128
2365 .byte 102,15,58,223,200,8
2366 call .Lkey_expansion_128
2367 .byte 102,15,58,223,200,16
2368 call .Lkey_expansion_128
2369 .byte 102,15,58,223,200,32
2370 call .Lkey_expansion_128
2371 .byte 102,15,58,223,200,64
2372 call .Lkey_expansion_128
2373 .byte 102,15,58,223,200,128
2374 call .Lkey_expansion_128
2375 .byte 102,15,58,223,200,27
2376 call .Lkey_expansion_128
2377 .byte 102,15,58,223,200,54
2378 call .Lkey_expansion_128
2389 .byte 102,15,58,223,202,1
2390 call .Lkey_expansion_192a_cold
2391 .byte 102,15,58,223,202,2
2392 call .Lkey_expansion_192b
2393 .byte 102,15,58,223,202,4
2394 call .Lkey_expansion_192a
2395 .byte 102,15,58,223,202,8
2396 call .Lkey_expansion_192b
2397 .byte 102,15,58,223,202,16
2398 call .Lkey_expansion_192a
2399 .byte 102,15,58,223,202,32
2400 call .Lkey_expansion_192b
2401 .byte 102,15,58,223,202,64
2402 call .Lkey_expansion_192a
2403 .byte 102,15,58,223,202,128
2404 call .Lkey_expansion_192b
2412 movups 16(%rdi),%xmm2
2416 movups %xmm2,16(%rdx)
2417 .byte 102,15,58,223,202,1
2418 call .Lkey_expansion_256a_cold
2419 .byte 102,15,58,223,200,1
2420 call .Lkey_expansion_256b
2421 .byte 102,15,58,223,202,2
2422 call .Lkey_expansion_256a
2423 .byte 102,15,58,223,200,2
2424 call .Lkey_expansion_256b
2425 .byte 102,15,58,223,202,4
2426 call .Lkey_expansion_256a
2427 .byte 102,15,58,223,200,4
2428 call .Lkey_expansion_256b
2429 .byte 102,15,58,223,202,8
2430 call .Lkey_expansion_256a
2431 .byte 102,15,58,223,200,8
2432 call .Lkey_expansion_256b
2433 .byte 102,15,58,223,202,16
2434 call .Lkey_expansion_256a
2435 .byte 102,15,58,223,200,16
2436 call .Lkey_expansion_256b
2437 .byte 102,15,58,223,202,32
2438 call .Lkey_expansion_256a
2439 .byte 102,15,58,223,200,32
2440 call .Lkey_expansion_256b
2441 .byte 102,15,58,223,202,64
2442 call .Lkey_expansion_256a
2454 .LSEH_end_set_encrypt_key:
2457 .Lkey_expansion_128:
2460 .Lkey_expansion_128_cold:
2461 shufps $16,%xmm0,%xmm4
2463 shufps $140,%xmm0,%xmm4
2465 shufps $255,%xmm1,%xmm1
2470 .Lkey_expansion_192a:
2473 .Lkey_expansion_192a_cold:
2475 .Lkey_expansion_192b_warm:
2476 shufps $16,%xmm0,%xmm4
2479 shufps $140,%xmm0,%xmm4
2482 pshufd $85,%xmm1,%xmm1
2485 pshufd $255,%xmm0,%xmm3
2490 .Lkey_expansion_192b:
2492 shufps $68,%xmm0,%xmm5
2494 shufps $78,%xmm2,%xmm3
2495 movups %xmm3,16(%rax)
2497 jmp .Lkey_expansion_192b_warm
2500 .Lkey_expansion_256a:
2503 .Lkey_expansion_256a_cold:
2504 shufps $16,%xmm0,%xmm4
2506 shufps $140,%xmm0,%xmm4
2508 shufps $255,%xmm1,%xmm1
2513 .Lkey_expansion_256b:
2517 shufps $16,%xmm2,%xmm4
2519 shufps $140,%xmm2,%xmm4
2521 shufps $170,%xmm1,%xmm1
2524 .size aesni_set_encrypt_key,.-aesni_set_encrypt_key
2525 .size __aesni_set_encrypt_key,.-__aesni_set_encrypt_key
2528 .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
2536 .byte 65,69,83,32,102,111,114,32,73,110,116,101,108,32,65,69,83,45,78,73,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0