2 /* Do not modify. This file is auto-generated from aesni-x86_64.pl. */
6 .type aesni_encrypt,@function
16 .byte 102,15,56,220,209
21 .byte 102,15,56,221,209
27 .size aesni_encrypt,.-aesni_encrypt
30 .type aesni_decrypt,@function
40 .byte 102,15,56,222,209
45 .byte 102,15,56,223,209
51 .size aesni_decrypt, .-aesni_decrypt
52 .type _aesni_encrypt2,@function
61 leaq 32(%rcx,%rax,1),%rcx
66 .byte 102,15,56,220,209
67 .byte 102,15,56,220,217
68 movups (%rcx,%rax,1),%xmm1
70 .byte 102,15,56,220,208
71 .byte 102,15,56,220,216
72 movups -16(%rcx,%rax,1),%xmm0
75 .byte 102,15,56,220,209
76 .byte 102,15,56,220,217
77 .byte 102,15,56,221,208
78 .byte 102,15,56,221,216
80 .size _aesni_encrypt2,.-_aesni_encrypt2
81 .type _aesni_decrypt2,@function
90 leaq 32(%rcx,%rax,1),%rcx
95 .byte 102,15,56,222,209
96 .byte 102,15,56,222,217
97 movups (%rcx,%rax,1),%xmm1
99 .byte 102,15,56,222,208
100 .byte 102,15,56,222,216
101 movups -16(%rcx,%rax,1),%xmm0
104 .byte 102,15,56,222,209
105 .byte 102,15,56,222,217
106 .byte 102,15,56,223,208
107 .byte 102,15,56,223,216
109 .size _aesni_decrypt2,.-_aesni_decrypt2
110 .type _aesni_encrypt3,@function
115 movups 16(%rcx),%xmm1
119 movups 32(%rcx),%xmm0
120 leaq 32(%rcx,%rax,1),%rcx
125 .byte 102,15,56,220,209
126 .byte 102,15,56,220,217
127 .byte 102,15,56,220,225
128 movups (%rcx,%rax,1),%xmm1
130 .byte 102,15,56,220,208
131 .byte 102,15,56,220,216
132 .byte 102,15,56,220,224
133 movups -16(%rcx,%rax,1),%xmm0
136 .byte 102,15,56,220,209
137 .byte 102,15,56,220,217
138 .byte 102,15,56,220,225
139 .byte 102,15,56,221,208
140 .byte 102,15,56,221,216
141 .byte 102,15,56,221,224
143 .size _aesni_encrypt3,.-_aesni_encrypt3
144 .type _aesni_decrypt3,@function
149 movups 16(%rcx),%xmm1
153 movups 32(%rcx),%xmm0
154 leaq 32(%rcx,%rax,1),%rcx
159 .byte 102,15,56,222,209
160 .byte 102,15,56,222,217
161 .byte 102,15,56,222,225
162 movups (%rcx,%rax,1),%xmm1
164 .byte 102,15,56,222,208
165 .byte 102,15,56,222,216
166 .byte 102,15,56,222,224
167 movups -16(%rcx,%rax,1),%xmm0
170 .byte 102,15,56,222,209
171 .byte 102,15,56,222,217
172 .byte 102,15,56,222,225
173 .byte 102,15,56,223,208
174 .byte 102,15,56,223,216
175 .byte 102,15,56,223,224
177 .size _aesni_decrypt3,.-_aesni_decrypt3
178 .type _aesni_encrypt4,@function
183 movups 16(%rcx),%xmm1
188 movups 32(%rcx),%xmm0
189 leaq 32(%rcx,%rax,1),%rcx
195 .byte 102,15,56,220,209
196 .byte 102,15,56,220,217
197 .byte 102,15,56,220,225
198 .byte 102,15,56,220,233
199 movups (%rcx,%rax,1),%xmm1
201 .byte 102,15,56,220,208
202 .byte 102,15,56,220,216
203 .byte 102,15,56,220,224
204 .byte 102,15,56,220,232
205 movups -16(%rcx,%rax,1),%xmm0
208 .byte 102,15,56,220,209
209 .byte 102,15,56,220,217
210 .byte 102,15,56,220,225
211 .byte 102,15,56,220,233
212 .byte 102,15,56,221,208
213 .byte 102,15,56,221,216
214 .byte 102,15,56,221,224
215 .byte 102,15,56,221,232
217 .size _aesni_encrypt4,.-_aesni_encrypt4
218 .type _aesni_decrypt4,@function
223 movups 16(%rcx),%xmm1
228 movups 32(%rcx),%xmm0
229 leaq 32(%rcx,%rax,1),%rcx
235 .byte 102,15,56,222,209
236 .byte 102,15,56,222,217
237 .byte 102,15,56,222,225
238 .byte 102,15,56,222,233
239 movups (%rcx,%rax,1),%xmm1
241 .byte 102,15,56,222,208
242 .byte 102,15,56,222,216
243 .byte 102,15,56,222,224
244 .byte 102,15,56,222,232
245 movups -16(%rcx,%rax,1),%xmm0
248 .byte 102,15,56,222,209
249 .byte 102,15,56,222,217
250 .byte 102,15,56,222,225
251 .byte 102,15,56,222,233
252 .byte 102,15,56,223,208
253 .byte 102,15,56,223,216
254 .byte 102,15,56,223,224
255 .byte 102,15,56,223,232
257 .size _aesni_decrypt4,.-_aesni_decrypt4
258 .type _aesni_encrypt6,@function
263 movups 16(%rcx),%xmm1
267 .byte 102,15,56,220,209
268 leaq 32(%rcx,%rax,1),%rcx
270 .byte 102,15,56,220,217
273 .byte 102,15,56,220,225
275 movups (%rcx,%rax,1),%xmm0
277 jmp .Lenc_loop6_enter
280 .byte 102,15,56,220,209
281 .byte 102,15,56,220,217
282 .byte 102,15,56,220,225
284 .byte 102,15,56,220,233
285 .byte 102,15,56,220,241
286 .byte 102,15,56,220,249
287 movups (%rcx,%rax,1),%xmm1
289 .byte 102,15,56,220,208
290 .byte 102,15,56,220,216
291 .byte 102,15,56,220,224
292 .byte 102,15,56,220,232
293 .byte 102,15,56,220,240
294 .byte 102,15,56,220,248
295 movups -16(%rcx,%rax,1),%xmm0
298 .byte 102,15,56,220,209
299 .byte 102,15,56,220,217
300 .byte 102,15,56,220,225
301 .byte 102,15,56,220,233
302 .byte 102,15,56,220,241
303 .byte 102,15,56,220,249
304 .byte 102,15,56,221,208
305 .byte 102,15,56,221,216
306 .byte 102,15,56,221,224
307 .byte 102,15,56,221,232
308 .byte 102,15,56,221,240
309 .byte 102,15,56,221,248
311 .size _aesni_encrypt6,.-_aesni_encrypt6
312 .type _aesni_decrypt6,@function
317 movups 16(%rcx),%xmm1
321 .byte 102,15,56,222,209
322 leaq 32(%rcx,%rax,1),%rcx
324 .byte 102,15,56,222,217
327 .byte 102,15,56,222,225
329 movups (%rcx,%rax,1),%xmm0
331 jmp .Ldec_loop6_enter
334 .byte 102,15,56,222,209
335 .byte 102,15,56,222,217
336 .byte 102,15,56,222,225
338 .byte 102,15,56,222,233
339 .byte 102,15,56,222,241
340 .byte 102,15,56,222,249
341 movups (%rcx,%rax,1),%xmm1
343 .byte 102,15,56,222,208
344 .byte 102,15,56,222,216
345 .byte 102,15,56,222,224
346 .byte 102,15,56,222,232
347 .byte 102,15,56,222,240
348 .byte 102,15,56,222,248
349 movups -16(%rcx,%rax,1),%xmm0
352 .byte 102,15,56,222,209
353 .byte 102,15,56,222,217
354 .byte 102,15,56,222,225
355 .byte 102,15,56,222,233
356 .byte 102,15,56,222,241
357 .byte 102,15,56,222,249
358 .byte 102,15,56,223,208
359 .byte 102,15,56,223,216
360 .byte 102,15,56,223,224
361 .byte 102,15,56,223,232
362 .byte 102,15,56,223,240
363 .byte 102,15,56,223,248
365 .size _aesni_decrypt6,.-_aesni_decrypt6
366 .type _aesni_encrypt8,@function
371 movups 16(%rcx),%xmm1
377 leaq 32(%rcx,%rax,1),%rcx
379 .byte 102,15,56,220,209
382 .byte 102,15,56,220,217
384 movups (%rcx,%rax,1),%xmm0
386 jmp .Lenc_loop8_inner
389 .byte 102,15,56,220,209
390 .byte 102,15,56,220,217
392 .byte 102,15,56,220,225
393 .byte 102,15,56,220,233
394 .byte 102,15,56,220,241
395 .byte 102,15,56,220,249
396 .byte 102,68,15,56,220,193
397 .byte 102,68,15,56,220,201
399 movups (%rcx,%rax,1),%xmm1
401 .byte 102,15,56,220,208
402 .byte 102,15,56,220,216
403 .byte 102,15,56,220,224
404 .byte 102,15,56,220,232
405 .byte 102,15,56,220,240
406 .byte 102,15,56,220,248
407 .byte 102,68,15,56,220,192
408 .byte 102,68,15,56,220,200
409 movups -16(%rcx,%rax,1),%xmm0
412 .byte 102,15,56,220,209
413 .byte 102,15,56,220,217
414 .byte 102,15,56,220,225
415 .byte 102,15,56,220,233
416 .byte 102,15,56,220,241
417 .byte 102,15,56,220,249
418 .byte 102,68,15,56,220,193
419 .byte 102,68,15,56,220,201
420 .byte 102,15,56,221,208
421 .byte 102,15,56,221,216
422 .byte 102,15,56,221,224
423 .byte 102,15,56,221,232
424 .byte 102,15,56,221,240
425 .byte 102,15,56,221,248
426 .byte 102,68,15,56,221,192
427 .byte 102,68,15,56,221,200
429 .size _aesni_encrypt8,.-_aesni_encrypt8
430 .type _aesni_decrypt8,@function
435 movups 16(%rcx),%xmm1
441 leaq 32(%rcx,%rax,1),%rcx
443 .byte 102,15,56,222,209
446 .byte 102,15,56,222,217
448 movups (%rcx,%rax,1),%xmm0
450 jmp .Ldec_loop8_inner
453 .byte 102,15,56,222,209
454 .byte 102,15,56,222,217
456 .byte 102,15,56,222,225
457 .byte 102,15,56,222,233
458 .byte 102,15,56,222,241
459 .byte 102,15,56,222,249
460 .byte 102,68,15,56,222,193
461 .byte 102,68,15,56,222,201
463 movups (%rcx,%rax,1),%xmm1
465 .byte 102,15,56,222,208
466 .byte 102,15,56,222,216
467 .byte 102,15,56,222,224
468 .byte 102,15,56,222,232
469 .byte 102,15,56,222,240
470 .byte 102,15,56,222,248
471 .byte 102,68,15,56,222,192
472 .byte 102,68,15,56,222,200
473 movups -16(%rcx,%rax,1),%xmm0
476 .byte 102,15,56,222,209
477 .byte 102,15,56,222,217
478 .byte 102,15,56,222,225
479 .byte 102,15,56,222,233
480 .byte 102,15,56,222,241
481 .byte 102,15,56,222,249
482 .byte 102,68,15,56,222,193
483 .byte 102,68,15,56,222,201
484 .byte 102,15,56,223,208
485 .byte 102,15,56,223,216
486 .byte 102,15,56,223,224
487 .byte 102,15,56,223,232
488 .byte 102,15,56,223,240
489 .byte 102,15,56,223,248
490 .byte 102,68,15,56,223,192
491 .byte 102,68,15,56,223,200
493 .size _aesni_decrypt8,.-_aesni_decrypt8
494 .globl aesni_ecb_encrypt
495 .type aesni_ecb_encrypt,@function
512 movdqu 16(%rdi),%xmm3
513 movdqu 32(%rdi),%xmm4
514 movdqu 48(%rdi),%xmm5
515 movdqu 64(%rdi),%xmm6
516 movdqu 80(%rdi),%xmm7
517 movdqu 96(%rdi),%xmm8
518 movdqu 112(%rdi),%xmm9
521 jmp .Lecb_enc_loop8_enter
528 movups %xmm3,16(%rsi)
529 movdqu 16(%rdi),%xmm3
530 movups %xmm4,32(%rsi)
531 movdqu 32(%rdi),%xmm4
532 movups %xmm5,48(%rsi)
533 movdqu 48(%rdi),%xmm5
534 movups %xmm6,64(%rsi)
535 movdqu 64(%rdi),%xmm6
536 movups %xmm7,80(%rsi)
537 movdqu 80(%rdi),%xmm7
538 movups %xmm8,96(%rsi)
539 movdqu 96(%rdi),%xmm8
540 movups %xmm9,112(%rsi)
542 movdqu 112(%rdi),%xmm9
544 .Lecb_enc_loop8_enter:
553 movups %xmm3,16(%rsi)
555 movups %xmm4,32(%rsi)
556 movups %xmm5,48(%rsi)
557 movups %xmm6,64(%rsi)
558 movups %xmm7,80(%rsi)
559 movups %xmm8,96(%rsi)
560 movups %xmm9,112(%rsi)
569 movups 16(%rdi),%xmm3
571 movups 32(%rdi),%xmm4
574 movups 48(%rdi),%xmm5
576 movups 64(%rdi),%xmm6
579 movups 80(%rdi),%xmm7
581 movdqu 96(%rdi),%xmm8
585 movups %xmm3,16(%rsi)
586 movups %xmm4,32(%rsi)
587 movups %xmm5,48(%rsi)
588 movups %xmm6,64(%rsi)
589 movups %xmm7,80(%rsi)
590 movups %xmm8,96(%rsi)
595 movups 16(%rcx),%xmm1
599 .byte 102,15,56,220,209
604 .byte 102,15,56,221,209
611 movups %xmm3,16(%rsi)
617 movups %xmm3,16(%rsi)
618 movups %xmm4,32(%rsi)
624 movups %xmm3,16(%rsi)
625 movups %xmm4,32(%rsi)
626 movups %xmm5,48(%rsi)
633 movups %xmm3,16(%rsi)
634 movups %xmm4,32(%rsi)
635 movups %xmm5,48(%rsi)
636 movups %xmm6,64(%rsi)
642 movups %xmm3,16(%rsi)
643 movups %xmm4,32(%rsi)
644 movups %xmm5,48(%rsi)
645 movups %xmm6,64(%rsi)
646 movups %xmm7,80(%rsi)
655 movdqu 16(%rdi),%xmm3
656 movdqu 32(%rdi),%xmm4
657 movdqu 48(%rdi),%xmm5
658 movdqu 64(%rdi),%xmm6
659 movdqu 80(%rdi),%xmm7
660 movdqu 96(%rdi),%xmm8
661 movdqu 112(%rdi),%xmm9
664 jmp .Lecb_dec_loop8_enter
671 movups %xmm3,16(%rsi)
672 movdqu 16(%rdi),%xmm3
673 movups %xmm4,32(%rsi)
674 movdqu 32(%rdi),%xmm4
675 movups %xmm5,48(%rsi)
676 movdqu 48(%rdi),%xmm5
677 movups %xmm6,64(%rsi)
678 movdqu 64(%rdi),%xmm6
679 movups %xmm7,80(%rsi)
680 movdqu 80(%rdi),%xmm7
681 movups %xmm8,96(%rsi)
682 movdqu 96(%rdi),%xmm8
683 movups %xmm9,112(%rsi)
685 movdqu 112(%rdi),%xmm9
687 .Lecb_dec_loop8_enter:
698 movups %xmm3,16(%rsi)
701 movups %xmm4,32(%rsi)
703 movups %xmm5,48(%rsi)
705 movups %xmm6,64(%rsi)
707 movups %xmm7,80(%rsi)
709 movups %xmm8,96(%rsi)
711 movups %xmm9,112(%rsi)
721 movups 16(%rdi),%xmm3
723 movups 32(%rdi),%xmm4
726 movups 48(%rdi),%xmm5
728 movups 64(%rdi),%xmm6
731 movups 80(%rdi),%xmm7
733 movups 96(%rdi),%xmm8
739 movups %xmm3,16(%rsi)
741 movups %xmm4,32(%rsi)
743 movups %xmm5,48(%rsi)
745 movups %xmm6,64(%rsi)
747 movups %xmm7,80(%rsi)
749 movups %xmm8,96(%rsi)
756 movups 16(%rcx),%xmm1
760 .byte 102,15,56,222,209
765 .byte 102,15,56,223,209
774 movups %xmm3,16(%rsi)
782 movups %xmm3,16(%rsi)
784 movups %xmm4,32(%rsi)
792 movups %xmm3,16(%rsi)
794 movups %xmm4,32(%rsi)
796 movups %xmm5,48(%rsi)
805 movups %xmm3,16(%rsi)
807 movups %xmm4,32(%rsi)
809 movups %xmm5,48(%rsi)
811 movups %xmm6,64(%rsi)
820 movups %xmm3,16(%rsi)
822 movups %xmm4,32(%rsi)
824 movups %xmm5,48(%rsi)
826 movups %xmm6,64(%rsi)
828 movups %xmm7,80(%rsi)
835 .size aesni_ecb_encrypt,.-aesni_ecb_encrypt
836 .globl aesni_ccm64_encrypt_blocks
837 .type aesni_ccm64_encrypt_blocks,@function
839 aesni_ccm64_encrypt_blocks:
842 movdqa .Lincrement64(%rip),%xmm9
843 movdqa .Lbswap_mask(%rip),%xmm7
850 leaq 32(%rcx,%rax,1),%rcx
851 .byte 102,15,56,0,247
853 jmp .Lccm64_enc_outer
861 movups 16(%r11),%xmm1
864 movups 32(%r11),%xmm0
867 .byte 102,15,56,220,209
868 .byte 102,15,56,220,217
869 movups (%rcx,%rax,1),%xmm1
871 .byte 102,15,56,220,208
872 .byte 102,15,56,220,216
873 movups -16(%rcx,%rax,1),%xmm0
874 jnz .Lccm64_enc2_loop
875 .byte 102,15,56,220,209
876 .byte 102,15,56,220,217
879 .byte 102,15,56,221,208
880 .byte 102,15,56,221,216
886 .byte 102,15,56,0,215
888 jnz .Lccm64_enc_outer
898 .size aesni_ccm64_encrypt_blocks,.-aesni_ccm64_encrypt_blocks
899 .globl aesni_ccm64_decrypt_blocks
900 .type aesni_ccm64_decrypt_blocks,@function
902 aesni_ccm64_decrypt_blocks:
906 movdqa .Lincrement64(%rip),%xmm9
907 movdqa .Lbswap_mask(%rip),%xmm7
912 .byte 102,15,56,0,247
914 movups 16(%rcx),%xmm1
918 .byte 102,15,56,220,209
923 .byte 102,15,56,221,209
930 leaq 32(%r11,%r10,1),%rcx
932 jmp .Lccm64_dec_outer
939 .byte 102,15,56,0,215
946 movups 16(%r11),%xmm1
950 movups 32(%r11),%xmm0
951 jmp .Lccm64_dec2_loop
954 .byte 102,15,56,220,209
955 .byte 102,15,56,220,217
956 movups (%rcx,%rax,1),%xmm1
958 .byte 102,15,56,220,208
959 .byte 102,15,56,220,216
960 movups -16(%rcx,%rax,1),%xmm0
961 jnz .Lccm64_dec2_loop
964 .byte 102,15,56,220,209
965 .byte 102,15,56,220,217
966 .byte 102,15,56,221,208
967 .byte 102,15,56,221,216
969 jmp .Lccm64_dec_outer
976 movups 16(%r11),%xmm1
981 .byte 102,15,56,220,217
986 .byte 102,15,56,221,217
995 .size aesni_ccm64_decrypt_blocks,.-aesni_ccm64_decrypt_blocks
996 .globl aesni_ctr32_encrypt_blocks
997 .type aesni_ctr32_encrypt_blocks,@function
999 aesni_ctr32_encrypt_blocks:
1010 movups 16(%rcx),%xmm1
1014 .byte 102,15,56,220,209
1019 .byte 102,15,56,221,209
1026 jmp .Lctr32_epilogue
1031 .cfi_def_cfa_register %r11
1033 .cfi_offset %rbp,-16
1045 movdqa %xmm2,0(%rsp)
1050 movdqa %xmm2,64(%rsp)
1051 movdqa %xmm2,80(%rsp)
1052 movdqa %xmm2,96(%rsp)
1054 movdqa %xmm2,112(%rsp)
1062 .byte 102,15,58,34,216,3
1064 movdqa %xmm3,16(%rsp)
1065 .byte 102,15,58,34,226,3
1069 movdqa %xmm4,32(%rsp)
1072 .byte 102,15,58,34,232,3
1074 movdqa %xmm5,48(%rsp)
1076 movl %r10d,64+12(%rsp)
1082 movl %r9d,80+12(%rsp)
1085 movl %r10d,96+12(%rsp)
1087 movl OPENSSL_ia32cap_P+4(%rip),%r10d
1089 andl $71303168,%r10d
1090 movl %r9d,112+12(%rsp)
1092 movups 16(%rcx),%xmm1
1094 movdqa 64(%rsp),%xmm6
1095 movdqa 80(%rsp),%xmm7
1113 leaq 32(%rcx,%rax,1),%rcx
1120 movups -48(%rcx,%r10,1),%xmm0
1121 .byte 102,15,56,220,209
1124 .byte 102,15,56,220,217
1125 .byte 0x0f,0x38,0xf1,0x44,0x24,12
1127 .byte 102,15,56,220,225
1129 .byte 0x0f,0x38,0xf1,0x44,0x24,28
1130 .byte 102,15,56,220,233
1133 .byte 102,15,56,220,241
1134 .byte 0x0f,0x38,0xf1,0x44,0x24,44
1136 .byte 102,15,56,220,249
1137 movups -32(%rcx,%r10,1),%xmm1
1140 .byte 102,15,56,220,208
1141 .byte 0x0f,0x38,0xf1,0x44,0x24,60
1143 .byte 102,15,56,220,216
1145 .byte 0x0f,0x38,0xf1,0x44,0x24,76
1146 .byte 102,15,56,220,224
1149 .byte 102,15,56,220,232
1150 .byte 0x0f,0x38,0xf1,0x44,0x24,92
1152 .byte 102,15,56,220,240
1153 .byte 102,15,56,220,248
1154 movups -16(%rcx,%r10,1),%xmm0
1159 movdqu 16(%rdi),%xmm9
1160 movdqu 32(%rdi),%xmm10
1161 movdqu 48(%rdi),%xmm11
1162 movdqu 64(%rdi),%xmm12
1163 movdqu 80(%rdi),%xmm13
1165 movups -64(%rcx,%r10,1),%xmm1
1167 movaps 0(%rsp),%xmm2
1169 movaps 16(%rsp),%xmm3
1171 movaps 32(%rsp),%xmm4
1173 movaps 48(%rsp),%xmm5
1175 movaps 64(%rsp),%xmm6
1177 movaps 80(%rsp),%xmm7
1179 movdqu %xmm9,16(%rsi)
1180 movdqu %xmm10,32(%rsi)
1181 movdqu %xmm11,48(%rsi)
1182 movdqu %xmm12,64(%rsi)
1183 movdqu %xmm13,80(%rsi)
1193 leaq -80(%rcx,%r10,1),%rcx
1201 movdqa 96(%rsp),%xmm8
1202 .byte 102,15,56,220,209
1204 movdqa 112(%rsp),%xmm9
1205 .byte 102,15,56,220,217
1207 movups 32-128(%rcx),%xmm0
1208 .byte 102,15,56,220,225
1211 .byte 102,15,56,220,233
1212 movl %r9d,0+12(%rsp)
1214 .byte 102,15,56,220,241
1215 .byte 102,15,56,220,249
1216 .byte 102,68,15,56,220,193
1217 .byte 102,68,15,56,220,201
1218 movups 48-128(%rcx),%xmm1
1220 .byte 102,15,56,220,208
1221 .byte 102,15,56,220,216
1224 .byte 102,15,56,220,224
1225 .byte 102,15,56,220,232
1226 movl %r9d,16+12(%rsp)
1228 .byte 102,15,56,220,240
1229 .byte 102,15,56,220,248
1230 .byte 102,68,15,56,220,192
1231 .byte 102,68,15,56,220,200
1232 movups 64-128(%rcx),%xmm0
1234 .byte 102,15,56,220,209
1235 .byte 102,15,56,220,217
1238 .byte 102,15,56,220,225
1239 .byte 102,15,56,220,233
1240 movl %r9d,32+12(%rsp)
1242 .byte 102,15,56,220,241
1243 .byte 102,15,56,220,249
1244 .byte 102,68,15,56,220,193
1245 .byte 102,68,15,56,220,201
1246 movups 80-128(%rcx),%xmm1
1248 .byte 102,15,56,220,208
1249 .byte 102,15,56,220,216
1252 .byte 102,15,56,220,224
1253 .byte 102,15,56,220,232
1254 movl %r9d,48+12(%rsp)
1256 .byte 102,15,56,220,240
1257 .byte 102,15,56,220,248
1258 .byte 102,68,15,56,220,192
1259 .byte 102,68,15,56,220,200
1260 movups 96-128(%rcx),%xmm0
1262 .byte 102,15,56,220,209
1263 .byte 102,15,56,220,217
1266 .byte 102,15,56,220,225
1267 .byte 102,15,56,220,233
1268 movl %r9d,64+12(%rsp)
1270 .byte 102,15,56,220,241
1271 .byte 102,15,56,220,249
1272 .byte 102,68,15,56,220,193
1273 .byte 102,68,15,56,220,201
1274 movups 112-128(%rcx),%xmm1
1276 .byte 102,15,56,220,208
1277 .byte 102,15,56,220,216
1280 .byte 102,15,56,220,224
1281 .byte 102,15,56,220,232
1282 movl %r9d,80+12(%rsp)
1284 .byte 102,15,56,220,240
1285 .byte 102,15,56,220,248
1286 .byte 102,68,15,56,220,192
1287 .byte 102,68,15,56,220,200
1288 movups 128-128(%rcx),%xmm0
1290 .byte 102,15,56,220,209
1291 .byte 102,15,56,220,217
1294 .byte 102,15,56,220,225
1295 .byte 102,15,56,220,233
1296 movl %r9d,96+12(%rsp)
1298 .byte 102,15,56,220,241
1299 .byte 102,15,56,220,249
1300 .byte 102,68,15,56,220,193
1301 .byte 102,68,15,56,220,201
1302 movups 144-128(%rcx),%xmm1
1304 .byte 102,15,56,220,208
1305 .byte 102,15,56,220,216
1306 .byte 102,15,56,220,224
1308 movdqu 0(%rdi),%xmm10
1309 .byte 102,15,56,220,232
1310 movl %r9d,112+12(%rsp)
1312 .byte 102,15,56,220,240
1313 .byte 102,15,56,220,248
1314 .byte 102,68,15,56,220,192
1315 .byte 102,68,15,56,220,200
1316 movups 160-128(%rcx),%xmm0
1320 .byte 102,15,56,220,209
1321 .byte 102,15,56,220,217
1322 .byte 102,15,56,220,225
1323 .byte 102,15,56,220,233
1324 .byte 102,15,56,220,241
1325 .byte 102,15,56,220,249
1326 .byte 102,68,15,56,220,193
1327 .byte 102,68,15,56,220,201
1328 movups 176-128(%rcx),%xmm1
1330 .byte 102,15,56,220,208
1331 .byte 102,15,56,220,216
1332 .byte 102,15,56,220,224
1333 .byte 102,15,56,220,232
1334 .byte 102,15,56,220,240
1335 .byte 102,15,56,220,248
1336 .byte 102,68,15,56,220,192
1337 .byte 102,68,15,56,220,200
1338 movups 192-128(%rcx),%xmm0
1341 .byte 102,15,56,220,209
1342 .byte 102,15,56,220,217
1343 .byte 102,15,56,220,225
1344 .byte 102,15,56,220,233
1345 .byte 102,15,56,220,241
1346 .byte 102,15,56,220,249
1347 .byte 102,68,15,56,220,193
1348 .byte 102,68,15,56,220,201
1349 movups 208-128(%rcx),%xmm1
1351 .byte 102,15,56,220,208
1352 .byte 102,15,56,220,216
1353 .byte 102,15,56,220,224
1354 .byte 102,15,56,220,232
1355 .byte 102,15,56,220,240
1356 .byte 102,15,56,220,248
1357 .byte 102,68,15,56,220,192
1358 .byte 102,68,15,56,220,200
1359 movups 224-128(%rcx),%xmm0
1360 jmp .Lctr32_enc_done
1364 movdqu 16(%rdi),%xmm11
1366 movdqu 32(%rdi),%xmm12
1368 movdqu 48(%rdi),%xmm13
1370 movdqu 64(%rdi),%xmm14
1372 movdqu 80(%rdi),%xmm15
1375 .byte 102,15,56,220,209
1376 .byte 102,15,56,220,217
1377 .byte 102,15,56,220,225
1378 .byte 102,15,56,220,233
1379 .byte 102,15,56,220,241
1380 .byte 102,15,56,220,249
1381 .byte 102,68,15,56,220,193
1382 .byte 102,68,15,56,220,201
1383 movdqu 96(%rdi),%xmm1
1386 .byte 102,65,15,56,221,210
1388 movdqu 112-128(%rdi),%xmm10
1389 .byte 102,65,15,56,221,219
1391 movdqa 0(%rsp),%xmm11
1392 .byte 102,65,15,56,221,228
1393 .byte 102,65,15,56,221,237
1394 movdqa 16(%rsp),%xmm12
1395 movdqa 32(%rsp),%xmm13
1396 .byte 102,65,15,56,221,246
1397 .byte 102,65,15,56,221,255
1398 movdqa 48(%rsp),%xmm14
1399 movdqa 64(%rsp),%xmm15
1400 .byte 102,68,15,56,221,193
1401 movdqa 80(%rsp),%xmm0
1402 movups 16-128(%rcx),%xmm1
1403 .byte 102,69,15,56,221,202
1407 movups %xmm3,16(%rsi)
1409 movups %xmm4,32(%rsi)
1411 movups %xmm5,48(%rsi)
1413 movups %xmm6,64(%rsi)
1415 movups %xmm7,80(%rsi)
1417 movups %xmm8,96(%rsi)
1418 movups %xmm9,112(%rsi)
1426 leaq -128(%rcx),%rcx
1438 movdqa 96(%rsp),%xmm8
1441 movups 16(%rcx),%xmm0
1442 .byte 102,15,56,220,209
1443 .byte 102,15,56,220,217
1444 leaq 32-16(%rcx,%rax,1),%rcx
1446 .byte 102,15,56,220,225
1448 movups (%rdi),%xmm10
1449 .byte 102,15,56,220,233
1450 .byte 102,15,56,220,241
1451 movups 16(%rdi),%xmm11
1452 movups 32(%rdi),%xmm12
1453 .byte 102,15,56,220,249
1454 .byte 102,68,15,56,220,193
1456 call .Lenc_loop8_enter
1458 movdqu 48(%rdi),%xmm13
1460 movdqu 64(%rdi),%xmm10
1464 movdqu %xmm3,16(%rsi)
1466 movdqu %xmm4,32(%rsi)
1468 movdqu %xmm5,48(%rsi)
1469 movdqu %xmm6,64(%rsi)
1473 movups 80(%rdi),%xmm11
1475 movups %xmm7,80(%rsi)
1478 movups 96(%rdi),%xmm12
1480 movups %xmm8,96(%rsi)
1485 .byte 102,15,56,220,209
1488 .byte 102,15,56,220,217
1489 .byte 102,15,56,220,225
1490 .byte 102,15,56,220,233
1493 .byte 102,15,56,221,209
1494 .byte 102,15,56,221,217
1495 movups (%rdi),%xmm10
1496 movups 16(%rdi),%xmm11
1497 .byte 102,15,56,221,225
1498 .byte 102,15,56,221,233
1499 movups 32(%rdi),%xmm12
1500 movups 48(%rdi),%xmm13
1505 movups %xmm3,16(%rsi)
1507 movdqu %xmm4,32(%rsi)
1509 movdqu %xmm5,48(%rsi)
1514 .byte 102,15,56,220,209
1517 .byte 102,15,56,220,217
1518 .byte 102,15,56,220,225
1521 .byte 102,15,56,221,209
1522 .byte 102,15,56,221,217
1523 .byte 102,15,56,221,225
1525 movups (%rdi),%xmm10
1531 movups 16(%rdi),%xmm11
1533 movups %xmm3,16(%rsi)
1536 movups 32(%rdi),%xmm12
1538 movups %xmm4,32(%rsi)
1550 movaps %xmm0,0(%rsp)
1552 movaps %xmm0,16(%rsp)
1554 movaps %xmm0,32(%rsp)
1556 movaps %xmm0,48(%rsp)
1558 movaps %xmm0,64(%rsp)
1560 movaps %xmm0,80(%rsp)
1562 movaps %xmm0,96(%rsp)
1564 movaps %xmm0,112(%rsp)
1569 .cfi_def_cfa_register %rsp
1573 .size aesni_ctr32_encrypt_blocks,.-aesni_ctr32_encrypt_blocks
1574 .globl aesni_xts_encrypt
1575 .type aesni_xts_encrypt,@function
1580 .cfi_def_cfa_register %r11
1582 .cfi_offset %rbp,-16
1587 movl 240(%rcx),%r10d
1589 movups 16(%r8),%xmm1
1593 .byte 102,15,56,220,209
1598 .byte 102,15,56,221,209
1606 movups 16(%rcx,%r10,1),%xmm1
1608 movdqa .Lxts_magic(%rip),%xmm8
1610 pshufd $0x5f,%xmm2,%xmm9
1614 movdqa %xmm15,%xmm10
1622 movdqa %xmm15,%xmm11
1630 movdqa %xmm15,%xmm12
1638 movdqa %xmm15,%xmm13
1644 movdqa %xmm15,%xmm14
1650 movaps %xmm1,96(%rsp)
1656 leaq 32(%rbp,%r10,1),%rcx
1658 movups 16(%rbp),%xmm1
1660 leaq .Lxts_magic(%rip),%r8
1661 jmp .Lxts_enc_grandloop
1664 .Lxts_enc_grandloop:
1665 movdqu 0(%rdi),%xmm2
1667 movdqu 16(%rdi),%xmm3
1669 movdqu 32(%rdi),%xmm4
1671 .byte 102,15,56,220,209
1672 movdqu 48(%rdi),%xmm5
1674 .byte 102,15,56,220,217
1675 movdqu 64(%rdi),%xmm6
1677 .byte 102,15,56,220,225
1678 movdqu 80(%rdi),%xmm7
1680 movdqa 96(%rsp),%xmm9
1682 .byte 102,15,56,220,233
1683 movups 32(%rbp),%xmm0
1688 .byte 102,15,56,220,241
1690 movdqa %xmm10,0(%rsp)
1691 .byte 102,15,56,220,249
1692 movups 48(%rbp),%xmm1
1695 .byte 102,15,56,220,208
1697 movdqa %xmm11,16(%rsp)
1698 .byte 102,15,56,220,216
1700 movdqa %xmm12,32(%rsp)
1701 .byte 102,15,56,220,224
1702 .byte 102,15,56,220,232
1704 movdqa %xmm14,64(%rsp)
1705 .byte 102,15,56,220,240
1706 .byte 102,15,56,220,248
1707 movups 64(%rbp),%xmm0
1708 movdqa %xmm8,80(%rsp)
1709 pshufd $0x5f,%xmm15,%xmm9
1713 .byte 102,15,56,220,209
1714 .byte 102,15,56,220,217
1715 .byte 102,15,56,220,225
1716 .byte 102,15,56,220,233
1717 .byte 102,15,56,220,241
1718 .byte 102,15,56,220,249
1719 movups -64(%rcx,%rax,1),%xmm1
1722 .byte 102,15,56,220,208
1723 .byte 102,15,56,220,216
1724 .byte 102,15,56,220,224
1725 .byte 102,15,56,220,232
1726 .byte 102,15,56,220,240
1727 .byte 102,15,56,220,248
1728 movups -80(%rcx,%rax,1),%xmm0
1734 .byte 102,15,56,220,209
1737 .byte 102,15,56,220,217
1739 movups (%rbp),%xmm10
1740 .byte 102,15,56,220,225
1741 .byte 102,15,56,220,233
1742 .byte 102,15,56,220,241
1744 movaps %xmm10,%xmm11
1745 .byte 102,15,56,220,249
1746 movups -64(%rcx),%xmm1
1749 .byte 102,15,56,220,208
1752 .byte 102,15,56,220,216
1755 .byte 102,15,56,220,224
1756 .byte 102,15,56,220,232
1758 movaps %xmm11,%xmm12
1759 .byte 102,15,56,220,240
1762 .byte 102,15,56,220,248
1763 movups -48(%rcx),%xmm0
1766 .byte 102,15,56,220,209
1769 .byte 102,15,56,220,217
1772 .byte 102,15,56,220,225
1773 .byte 102,15,56,220,233
1774 movdqa %xmm13,48(%rsp)
1776 .byte 102,15,56,220,241
1777 movaps %xmm12,%xmm13
1779 .byte 102,15,56,220,249
1780 movups -32(%rcx),%xmm1
1783 .byte 102,15,56,220,208
1786 .byte 102,15,56,220,216
1789 .byte 102,15,56,220,224
1790 .byte 102,15,56,220,232
1791 .byte 102,15,56,220,240
1793 movaps %xmm13,%xmm14
1794 .byte 102,15,56,220,248
1798 .byte 102,15,56,220,209
1801 .byte 102,15,56,220,217
1804 .byte 102,15,56,220,225
1805 .byte 102,15,56,220,233
1808 .byte 102,15,56,220,241
1809 .byte 102,15,56,220,249
1810 movups 16(%rbp),%xmm1
1813 .byte 102,15,56,221,84,36,0
1816 .byte 102,15,56,221,92,36,16
1817 .byte 102,15,56,221,100,36,32
1820 .byte 102,15,56,221,108,36,48
1821 .byte 102,15,56,221,116,36,64
1822 .byte 102,15,56,221,124,36,80
1826 movups %xmm2,-96(%rsi)
1827 movups %xmm3,-80(%rsi)
1828 movups %xmm4,-64(%rsi)
1829 movups %xmm5,-48(%rsi)
1830 movups %xmm6,-32(%rsi)
1831 movups %xmm7,-16(%rsi)
1833 jnc .Lxts_enc_grandloop
1860 movdqu 16(%rdi),%xmm3
1861 movdqu 32(%rdi),%xmm4
1863 movdqu 48(%rdi),%xmm5
1865 movdqu 64(%rdi),%xmm6
1872 call _aesni_encrypt6
1875 movdqa %xmm15,%xmm10
1880 movdqu %xmm3,16(%rsi)
1882 movdqu %xmm4,32(%rsi)
1883 movdqu %xmm5,48(%rsi)
1884 movdqu %xmm6,64(%rsi)
1894 movups 16(%rcx),%xmm1
1898 .byte 102,15,56,220,209
1903 .byte 102,15,56,221,209
1905 movdqa %xmm11,%xmm10
1913 movups 16(%rdi),%xmm3
1918 call _aesni_encrypt2
1921 movdqa %xmm12,%xmm10
1924 movups %xmm3,16(%rsi)
1931 movups 16(%rdi),%xmm3
1932 movups 32(%rdi),%xmm4
1938 call _aesni_encrypt3
1941 movdqa %xmm13,%xmm10
1945 movups %xmm3,16(%rsi)
1946 movups %xmm4,32(%rsi)
1953 movups 16(%rdi),%xmm3
1954 movups 32(%rdi),%xmm4
1956 movups 48(%rdi),%xmm5
1962 call _aesni_encrypt4
1965 movdqa %xmm14,%xmm10
1970 movdqu %xmm3,16(%rsi)
1971 movdqu %xmm4,32(%rsi)
1972 movdqu %xmm5,48(%rsi)
1984 movzbl -16(%rsi),%ecx
1996 movups -16(%rsi),%xmm2
1999 movups 16(%rcx),%xmm1
2003 .byte 102,15,56,220,209
2008 .byte 102,15,56,221,209
2010 movups %xmm2,-16(%rsi)
2021 movaps %xmm0,0(%rsp)
2023 movaps %xmm0,16(%rsp)
2025 movaps %xmm0,32(%rsp)
2027 movaps %xmm0,48(%rsp)
2029 movaps %xmm0,64(%rsp)
2031 movaps %xmm0,80(%rsp)
2033 movaps %xmm0,96(%rsp)
2039 .cfi_def_cfa_register %rsp
2043 .size aesni_xts_encrypt,.-aesni_xts_encrypt
2044 .globl aesni_xts_decrypt
2045 .type aesni_xts_decrypt,@function
2050 .cfi_def_cfa_register %r11
2052 .cfi_offset %rbp,-16
2057 movl 240(%rcx),%r10d
2059 movups 16(%r8),%xmm1
2063 .byte 102,15,56,220,209
2068 .byte 102,15,56,221,209
2082 movups 16(%rcx,%r10,1),%xmm1
2084 movdqa .Lxts_magic(%rip),%xmm8
2086 pshufd $0x5f,%xmm2,%xmm9
2090 movdqa %xmm15,%xmm10
2098 movdqa %xmm15,%xmm11
2106 movdqa %xmm15,%xmm12
2114 movdqa %xmm15,%xmm13
2120 movdqa %xmm15,%xmm14
2126 movaps %xmm1,96(%rsp)
2132 leaq 32(%rbp,%r10,1),%rcx
2134 movups 16(%rbp),%xmm1
2136 leaq .Lxts_magic(%rip),%r8
2137 jmp .Lxts_dec_grandloop
2140 .Lxts_dec_grandloop:
2141 movdqu 0(%rdi),%xmm2
2143 movdqu 16(%rdi),%xmm3
2145 movdqu 32(%rdi),%xmm4
2147 .byte 102,15,56,222,209
2148 movdqu 48(%rdi),%xmm5
2150 .byte 102,15,56,222,217
2151 movdqu 64(%rdi),%xmm6
2153 .byte 102,15,56,222,225
2154 movdqu 80(%rdi),%xmm7
2156 movdqa 96(%rsp),%xmm9
2158 .byte 102,15,56,222,233
2159 movups 32(%rbp),%xmm0
2164 .byte 102,15,56,222,241
2166 movdqa %xmm10,0(%rsp)
2167 .byte 102,15,56,222,249
2168 movups 48(%rbp),%xmm1
2171 .byte 102,15,56,222,208
2173 movdqa %xmm11,16(%rsp)
2174 .byte 102,15,56,222,216
2176 movdqa %xmm12,32(%rsp)
2177 .byte 102,15,56,222,224
2178 .byte 102,15,56,222,232
2180 movdqa %xmm14,64(%rsp)
2181 .byte 102,15,56,222,240
2182 .byte 102,15,56,222,248
2183 movups 64(%rbp),%xmm0
2184 movdqa %xmm8,80(%rsp)
2185 pshufd $0x5f,%xmm15,%xmm9
2189 .byte 102,15,56,222,209
2190 .byte 102,15,56,222,217
2191 .byte 102,15,56,222,225
2192 .byte 102,15,56,222,233
2193 .byte 102,15,56,222,241
2194 .byte 102,15,56,222,249
2195 movups -64(%rcx,%rax,1),%xmm1
2198 .byte 102,15,56,222,208
2199 .byte 102,15,56,222,216
2200 .byte 102,15,56,222,224
2201 .byte 102,15,56,222,232
2202 .byte 102,15,56,222,240
2203 .byte 102,15,56,222,248
2204 movups -80(%rcx,%rax,1),%xmm0
2210 .byte 102,15,56,222,209
2213 .byte 102,15,56,222,217
2215 movups (%rbp),%xmm10
2216 .byte 102,15,56,222,225
2217 .byte 102,15,56,222,233
2218 .byte 102,15,56,222,241
2220 movaps %xmm10,%xmm11
2221 .byte 102,15,56,222,249
2222 movups -64(%rcx),%xmm1
2225 .byte 102,15,56,222,208
2228 .byte 102,15,56,222,216
2231 .byte 102,15,56,222,224
2232 .byte 102,15,56,222,232
2234 movaps %xmm11,%xmm12
2235 .byte 102,15,56,222,240
2238 .byte 102,15,56,222,248
2239 movups -48(%rcx),%xmm0
2242 .byte 102,15,56,222,209
2245 .byte 102,15,56,222,217
2248 .byte 102,15,56,222,225
2249 .byte 102,15,56,222,233
2250 movdqa %xmm13,48(%rsp)
2252 .byte 102,15,56,222,241
2253 movaps %xmm12,%xmm13
2255 .byte 102,15,56,222,249
2256 movups -32(%rcx),%xmm1
2259 .byte 102,15,56,222,208
2262 .byte 102,15,56,222,216
2265 .byte 102,15,56,222,224
2266 .byte 102,15,56,222,232
2267 .byte 102,15,56,222,240
2269 movaps %xmm13,%xmm14
2270 .byte 102,15,56,222,248
2274 .byte 102,15,56,222,209
2277 .byte 102,15,56,222,217
2280 .byte 102,15,56,222,225
2281 .byte 102,15,56,222,233
2284 .byte 102,15,56,222,241
2285 .byte 102,15,56,222,249
2286 movups 16(%rbp),%xmm1
2289 .byte 102,15,56,223,84,36,0
2292 .byte 102,15,56,223,92,36,16
2293 .byte 102,15,56,223,100,36,32
2296 .byte 102,15,56,223,108,36,48
2297 .byte 102,15,56,223,116,36,64
2298 .byte 102,15,56,223,124,36,80
2302 movups %xmm2,-96(%rsi)
2303 movups %xmm3,-80(%rsi)
2304 movups %xmm4,-64(%rsi)
2305 movups %xmm5,-48(%rsi)
2306 movups %xmm6,-32(%rsi)
2307 movups %xmm7,-16(%rsi)
2309 jnc .Lxts_dec_grandloop
2336 movdqu 16(%rdi),%xmm3
2337 movdqu 32(%rdi),%xmm4
2339 movdqu 48(%rdi),%xmm5
2341 movdqu 64(%rdi),%xmm6
2347 call _aesni_decrypt6
2354 movdqu %xmm3,16(%rsi)
2356 movdqu %xmm4,32(%rsi)
2358 movdqu %xmm5,48(%rsi)
2359 pcmpgtd %xmm15,%xmm14
2360 movdqu %xmm6,64(%rsi)
2362 pshufd $0x13,%xmm14,%xmm11
2366 movdqa %xmm15,%xmm10
2378 movups 16(%rcx),%xmm1
2382 .byte 102,15,56,222,209
2387 .byte 102,15,56,223,209
2389 movdqa %xmm11,%xmm10
2391 movdqa %xmm12,%xmm11
2398 movups 16(%rdi),%xmm3
2403 call _aesni_decrypt2
2406 movdqa %xmm12,%xmm10
2408 movdqa %xmm13,%xmm11
2410 movups %xmm3,16(%rsi)
2417 movups 16(%rdi),%xmm3
2418 movups 32(%rdi),%xmm4
2424 call _aesni_decrypt3
2427 movdqa %xmm13,%xmm10
2429 movdqa %xmm14,%xmm11
2432 movups %xmm3,16(%rsi)
2433 movups %xmm4,32(%rsi)
2440 movups 16(%rdi),%xmm3
2441 movups 32(%rdi),%xmm4
2443 movups 48(%rdi),%xmm5
2449 call _aesni_decrypt4
2452 movdqa %xmm14,%xmm10
2454 movdqa %xmm15,%xmm11
2458 movdqu %xmm3,16(%rsi)
2459 movdqu %xmm4,32(%rsi)
2460 movdqu %xmm5,48(%rsi)
2476 movups 16(%rcx),%xmm1
2480 .byte 102,15,56,222,209
2485 .byte 102,15,56,223,209
2490 movzbl 16(%rdi),%eax
2506 movups 16(%rcx),%xmm1
2510 .byte 102,15,56,222,209
2515 .byte 102,15,56,223,209
2528 movaps %xmm0,0(%rsp)
2530 movaps %xmm0,16(%rsp)
2532 movaps %xmm0,32(%rsp)
2534 movaps %xmm0,48(%rsp)
2536 movaps %xmm0,64(%rsp)
2538 movaps %xmm0,80(%rsp)
2540 movaps %xmm0,96(%rsp)
2546 .cfi_def_cfa_register %rsp
2550 .size aesni_xts_decrypt,.-aesni_xts_decrypt
2551 .globl aesni_ocb_encrypt
2552 .type aesni_ocb_encrypt,@function
2558 .cfi_adjust_cfa_offset 8
2559 .cfi_offset %rbx,-16
2561 .cfi_adjust_cfa_offset 8
2562 .cfi_offset %rbp,-24
2564 .cfi_adjust_cfa_offset 8
2565 .cfi_offset %r12,-32
2567 .cfi_adjust_cfa_offset 8
2568 .cfi_offset %r13,-40
2570 .cfi_adjust_cfa_offset 8
2571 .cfi_offset %r14,-48
2575 movl 240(%rcx),%r10d
2579 movups 16(%rcx,%r10,1),%xmm1
2586 leaq 32(%r11,%r10,1),%rcx
2587 movups 16(%r11),%xmm1
2591 movdqu (%rbx),%xmm10
2600 movdqu (%rbx,%r12,1),%xmm7
2626 jmp .Locb_enc_grandloop
2629 .Locb_enc_grandloop:
2630 movdqu 0(%rdi),%xmm2
2631 movdqu 16(%rdi),%xmm3
2632 movdqu 32(%rdi),%xmm4
2633 movdqu 48(%rdi),%xmm5
2634 movdqu 64(%rdi),%xmm6
2635 movdqu 80(%rdi),%xmm7
2640 movups %xmm2,0(%rsi)
2641 movups %xmm3,16(%rsi)
2642 movups %xmm4,32(%rsi)
2643 movups %xmm5,48(%rsi)
2644 movups %xmm6,64(%rsi)
2645 movups %xmm7,80(%rsi)
2648 jnc .Locb_enc_grandloop
2654 movdqu 0(%rdi),%xmm2
2657 movdqu 16(%rdi),%xmm3
2660 movdqu 32(%rdi),%xmm4
2663 movdqu 48(%rdi),%xmm5
2666 movdqu 64(%rdi),%xmm6
2671 movdqa %xmm14,%xmm15
2672 movups %xmm2,0(%rsi)
2673 movups %xmm3,16(%rsi)
2674 movups %xmm4,32(%rsi)
2675 movups %xmm5,48(%rsi)
2676 movups %xmm6,64(%rsi)
2687 movups %xmm2,0(%rsi)
2697 movdqa %xmm11,%xmm15
2698 movups %xmm2,0(%rsi)
2699 movups %xmm3,16(%rsi)
2709 movdqa %xmm12,%xmm15
2710 movups %xmm2,0(%rsi)
2711 movups %xmm3,16(%rsi)
2712 movups %xmm4,32(%rsi)
2720 movdqa %xmm13,%xmm15
2721 movups %xmm2,0(%rsi)
2722 movups %xmm3,16(%rsi)
2723 movups %xmm4,32(%rsi)
2724 movups %xmm5,48(%rsi)
2760 .cfi_def_cfa_register %rsp
2764 .size aesni_ocb_encrypt,.-aesni_ocb_encrypt
2766 .type __ocb_encrypt6,@function
2770 movdqu (%rbx,%r12,1),%xmm11
2771 movdqa %xmm10,%xmm12
2772 movdqu (%rbx,%r13,1),%xmm13
2773 movdqa %xmm10,%xmm14
2775 movdqu (%rbx,%r14,1),%xmm15
2793 movups 32(%r11),%xmm0
2804 .byte 102,15,56,220,209
2805 .byte 102,15,56,220,217
2806 .byte 102,15,56,220,225
2807 .byte 102,15,56,220,233
2810 .byte 102,15,56,220,241
2813 .byte 102,15,56,220,249
2814 movups 48(%r11),%xmm1
2817 .byte 102,15,56,220,208
2818 .byte 102,15,56,220,216
2819 .byte 102,15,56,220,224
2820 .byte 102,15,56,220,232
2821 .byte 102,15,56,220,240
2822 .byte 102,15,56,220,248
2823 movups 64(%r11),%xmm0
2830 .byte 102,15,56,220,209
2831 .byte 102,15,56,220,217
2832 .byte 102,15,56,220,225
2833 .byte 102,15,56,220,233
2834 .byte 102,15,56,220,241
2835 .byte 102,15,56,220,249
2836 movups (%rcx,%rax,1),%xmm1
2839 .byte 102,15,56,220,208
2840 .byte 102,15,56,220,216
2841 .byte 102,15,56,220,224
2842 .byte 102,15,56,220,232
2843 .byte 102,15,56,220,240
2844 .byte 102,15,56,220,248
2845 movups -16(%rcx,%rax,1),%xmm0
2848 .byte 102,15,56,220,209
2849 .byte 102,15,56,220,217
2850 .byte 102,15,56,220,225
2851 .byte 102,15,56,220,233
2852 .byte 102,15,56,220,241
2853 .byte 102,15,56,220,249
2854 movups 16(%r11),%xmm1
2857 .byte 102,65,15,56,221,210
2858 movdqu (%rbx),%xmm10
2860 .byte 102,65,15,56,221,219
2861 .byte 102,65,15,56,221,228
2862 .byte 102,65,15,56,221,237
2863 .byte 102,65,15,56,221,246
2864 .byte 102,65,15,56,221,255
2866 .size __ocb_encrypt6,.-__ocb_encrypt6
2868 .type __ocb_encrypt4,@function
2872 movdqu (%rbx,%r12,1),%xmm11
2873 movdqa %xmm10,%xmm12
2874 movdqu (%rbx,%r13,1),%xmm13
2887 movups 32(%r11),%xmm0
2894 .byte 102,15,56,220,209
2895 .byte 102,15,56,220,217
2896 .byte 102,15,56,220,225
2897 .byte 102,15,56,220,233
2898 movups 48(%r11),%xmm1
2900 .byte 102,15,56,220,208
2901 .byte 102,15,56,220,216
2902 .byte 102,15,56,220,224
2903 .byte 102,15,56,220,232
2904 movups 64(%r11),%xmm0
2909 .byte 102,15,56,220,209
2910 .byte 102,15,56,220,217
2911 .byte 102,15,56,220,225
2912 .byte 102,15,56,220,233
2913 movups (%rcx,%rax,1),%xmm1
2916 .byte 102,15,56,220,208
2917 .byte 102,15,56,220,216
2918 .byte 102,15,56,220,224
2919 .byte 102,15,56,220,232
2920 movups -16(%rcx,%rax,1),%xmm0
2923 .byte 102,15,56,220,209
2924 .byte 102,15,56,220,217
2925 .byte 102,15,56,220,225
2926 .byte 102,15,56,220,233
2927 movups 16(%r11),%xmm1
2930 .byte 102,65,15,56,221,210
2931 .byte 102,65,15,56,221,219
2932 .byte 102,65,15,56,221,228
2933 .byte 102,65,15,56,221,237
2935 .size __ocb_encrypt4,.-__ocb_encrypt4
2937 .type __ocb_encrypt1,@function
2944 movups 32(%r11),%xmm0
2946 .byte 102,15,56,220,209
2947 movups 48(%r11),%xmm1
2950 .byte 102,15,56,220,208
2951 movups 64(%r11),%xmm0
2956 .byte 102,15,56,220,209
2957 movups (%rcx,%rax,1),%xmm1
2960 .byte 102,15,56,220,208
2961 movups -16(%rcx,%rax,1),%xmm0
2964 .byte 102,15,56,220,209
2965 movups 16(%r11),%xmm1
2968 .byte 102,15,56,221,215
2970 .size __ocb_encrypt1,.-__ocb_encrypt1
2972 .globl aesni_ocb_decrypt
2973 .type aesni_ocb_decrypt,@function
2979 .cfi_adjust_cfa_offset 8
2980 .cfi_offset %rbx,-16
2982 .cfi_adjust_cfa_offset 8
2983 .cfi_offset %rbp,-24
2985 .cfi_adjust_cfa_offset 8
2986 .cfi_offset %r12,-32
2988 .cfi_adjust_cfa_offset 8
2989 .cfi_offset %r13,-40
2991 .cfi_adjust_cfa_offset 8
2992 .cfi_offset %r14,-48
2996 movl 240(%rcx),%r10d
3000 movups 16(%rcx,%r10,1),%xmm1
3007 leaq 32(%r11,%r10,1),%rcx
3008 movups 16(%r11),%xmm1
3012 movdqu (%rbx),%xmm10
3021 movdqu (%rbx,%r12,1),%xmm7
3048 jmp .Locb_dec_grandloop
3051 .Locb_dec_grandloop:
3052 movdqu 0(%rdi),%xmm2
3053 movdqu 16(%rdi),%xmm3
3054 movdqu 32(%rdi),%xmm4
3055 movdqu 48(%rdi),%xmm5
3056 movdqu 64(%rdi),%xmm6
3057 movdqu 80(%rdi),%xmm7
3062 movups %xmm2,0(%rsi)
3064 movups %xmm3,16(%rsi)
3066 movups %xmm4,32(%rsi)
3068 movups %xmm5,48(%rsi)
3070 movups %xmm6,64(%rsi)
3072 movups %xmm7,80(%rsi)
3076 jnc .Locb_dec_grandloop
3082 movdqu 0(%rdi),%xmm2
3085 movdqu 16(%rdi),%xmm3
3088 movdqu 32(%rdi),%xmm4
3091 movdqu 48(%rdi),%xmm5
3094 movdqu 64(%rdi),%xmm6
3099 movdqa %xmm14,%xmm15
3100 movups %xmm2,0(%rsi)
3102 movups %xmm3,16(%rsi)
3104 movups %xmm4,32(%rsi)
3106 movups %xmm5,48(%rsi)
3108 movups %xmm6,64(%rsi)
3120 movups %xmm2,0(%rsi)
3131 movdqa %xmm11,%xmm15
3132 movups %xmm2,0(%rsi)
3134 movups %xmm3,16(%rsi)
3145 movdqa %xmm12,%xmm15
3146 movups %xmm2,0(%rsi)
3148 movups %xmm3,16(%rsi)
3150 movups %xmm4,32(%rsi)
3159 movdqa %xmm13,%xmm15
3160 movups %xmm2,0(%rsi)
3162 movups %xmm3,16(%rsi)
3164 movups %xmm4,32(%rsi)
3166 movups %xmm5,48(%rsi)
3203 .cfi_def_cfa_register %rsp
3207 .size aesni_ocb_decrypt,.-aesni_ocb_decrypt
3209 .type __ocb_decrypt6,@function
3213 movdqu (%rbx,%r12,1),%xmm11
3214 movdqa %xmm10,%xmm12
3215 movdqu (%rbx,%r13,1),%xmm13
3216 movdqa %xmm10,%xmm14
3218 movdqu (%rbx,%r14,1),%xmm15
3230 movups 32(%r11),%xmm0
3241 .byte 102,15,56,222,209
3242 .byte 102,15,56,222,217
3243 .byte 102,15,56,222,225
3244 .byte 102,15,56,222,233
3247 .byte 102,15,56,222,241
3250 .byte 102,15,56,222,249
3251 movups 48(%r11),%xmm1
3254 .byte 102,15,56,222,208
3255 .byte 102,15,56,222,216
3256 .byte 102,15,56,222,224
3257 .byte 102,15,56,222,232
3258 .byte 102,15,56,222,240
3259 .byte 102,15,56,222,248
3260 movups 64(%r11),%xmm0
3267 .byte 102,15,56,222,209
3268 .byte 102,15,56,222,217
3269 .byte 102,15,56,222,225
3270 .byte 102,15,56,222,233
3271 .byte 102,15,56,222,241
3272 .byte 102,15,56,222,249
3273 movups (%rcx,%rax,1),%xmm1
3276 .byte 102,15,56,222,208
3277 .byte 102,15,56,222,216
3278 .byte 102,15,56,222,224
3279 .byte 102,15,56,222,232
3280 .byte 102,15,56,222,240
3281 .byte 102,15,56,222,248
3282 movups -16(%rcx,%rax,1),%xmm0
3285 .byte 102,15,56,222,209
3286 .byte 102,15,56,222,217
3287 .byte 102,15,56,222,225
3288 .byte 102,15,56,222,233
3289 .byte 102,15,56,222,241
3290 .byte 102,15,56,222,249
3291 movups 16(%r11),%xmm1
3294 .byte 102,65,15,56,223,210
3295 movdqu (%rbx),%xmm10
3297 .byte 102,65,15,56,223,219
3298 .byte 102,65,15,56,223,228
3299 .byte 102,65,15,56,223,237
3300 .byte 102,65,15,56,223,246
3301 .byte 102,65,15,56,223,255
3303 .size __ocb_decrypt6,.-__ocb_decrypt6
3305 .type __ocb_decrypt4,@function
3309 movdqu (%rbx,%r12,1),%xmm11
3310 movdqa %xmm10,%xmm12
3311 movdqu (%rbx,%r13,1),%xmm13
3320 movups 32(%r11),%xmm0
3327 .byte 102,15,56,222,209
3328 .byte 102,15,56,222,217
3329 .byte 102,15,56,222,225
3330 .byte 102,15,56,222,233
3331 movups 48(%r11),%xmm1
3333 .byte 102,15,56,222,208
3334 .byte 102,15,56,222,216
3335 .byte 102,15,56,222,224
3336 .byte 102,15,56,222,232
3337 movups 64(%r11),%xmm0
3342 .byte 102,15,56,222,209
3343 .byte 102,15,56,222,217
3344 .byte 102,15,56,222,225
3345 .byte 102,15,56,222,233
3346 movups (%rcx,%rax,1),%xmm1
3349 .byte 102,15,56,222,208
3350 .byte 102,15,56,222,216
3351 .byte 102,15,56,222,224
3352 .byte 102,15,56,222,232
3353 movups -16(%rcx,%rax,1),%xmm0
3356 .byte 102,15,56,222,209
3357 .byte 102,15,56,222,217
3358 .byte 102,15,56,222,225
3359 .byte 102,15,56,222,233
3360 movups 16(%r11),%xmm1
3363 .byte 102,65,15,56,223,210
3364 .byte 102,65,15,56,223,219
3365 .byte 102,65,15,56,223,228
3366 .byte 102,65,15,56,223,237
3368 .size __ocb_decrypt4,.-__ocb_decrypt4
3370 .type __ocb_decrypt1,@function
3376 movups 32(%r11),%xmm0
3378 .byte 102,15,56,222,209
3379 movups 48(%r11),%xmm1
3382 .byte 102,15,56,222,208
3383 movups 64(%r11),%xmm0
3388 .byte 102,15,56,222,209
3389 movups (%rcx,%rax,1),%xmm1
3392 .byte 102,15,56,222,208
3393 movups -16(%rcx,%rax,1),%xmm0
3396 .byte 102,15,56,222,209
3397 movups 16(%r11),%xmm1
3400 .byte 102,15,56,223,215
3402 .size __ocb_decrypt1,.-__ocb_decrypt1
3403 .globl aesni_cbc_encrypt
3404 .type aesni_cbc_encrypt,@function
3411 movl 240(%rcx),%r10d
3428 movups 16(%rcx),%xmm1
3433 .byte 102,15,56,220,209
3438 .byte 102,15,56,221,209
3441 movups %xmm2,0(%rsi)
3472 jne .Lcbc_decrypt_bulk
3480 movups 16(%rcx),%xmm1
3484 .byte 102,15,56,222,209
3489 .byte 102,15,56,223,209
3501 .cfi_def_cfa_register %r11
3503 .cfi_offset %rbp,-16
3513 movdqu 0(%rdi),%xmm2
3514 movdqu 16(%rdi),%xmm3
3516 movdqu 32(%rdi),%xmm4
3518 movdqu 48(%rdi),%xmm5
3520 movdqu 64(%rdi),%xmm6
3522 movdqu 80(%rdi),%xmm7
3524 movl OPENSSL_ia32cap_P+4(%rip),%r9d
3526 jbe .Lcbc_dec_six_or_seven
3531 je .Lcbc_dec_loop6_enter
3534 jmp .Lcbc_dec_loop8_enter
3539 .Lcbc_dec_loop8_enter:
3540 movdqu 96(%rdi),%xmm8
3542 movdqu 112(%rdi),%xmm9
3544 movups 16-112(%rcx),%xmm1
3553 .byte 102,15,56,222,209
3555 movups 32-112(%rcx),%xmm0
3556 .byte 102,15,56,222,217
3557 .byte 102,15,56,222,225
3558 .byte 102,15,56,222,233
3559 .byte 102,15,56,222,241
3560 .byte 102,15,56,222,249
3561 .byte 102,68,15,56,222,193
3564 .byte 102,68,15,56,222,201
3566 movups 48-112(%rcx),%xmm1
3567 .byte 102,15,56,222,208
3568 .byte 102,15,56,222,216
3569 .byte 102,15,56,222,224
3570 .byte 102,15,56,222,232
3571 .byte 102,15,56,222,240
3572 .byte 102,15,56,222,248
3573 .byte 102,68,15,56,222,192
3574 .byte 102,68,15,56,222,200
3575 movups 64-112(%rcx),%xmm0
3577 .byte 102,15,56,222,209
3578 .byte 102,15,56,222,217
3579 .byte 102,15,56,222,225
3580 .byte 102,15,56,222,233
3581 .byte 102,15,56,222,241
3582 .byte 102,15,56,222,249
3583 .byte 102,68,15,56,222,193
3584 .byte 102,68,15,56,222,201
3585 movups 80-112(%rcx),%xmm1
3587 .byte 102,15,56,222,208
3588 .byte 102,15,56,222,216
3589 .byte 102,15,56,222,224
3590 .byte 102,15,56,222,232
3591 .byte 102,15,56,222,240
3592 .byte 102,15,56,222,248
3593 .byte 102,68,15,56,222,192
3594 .byte 102,68,15,56,222,200
3595 movups 96-112(%rcx),%xmm0
3597 .byte 102,15,56,222,209
3598 .byte 102,15,56,222,217
3599 .byte 102,15,56,222,225
3600 .byte 102,15,56,222,233
3601 .byte 102,15,56,222,241
3602 .byte 102,15,56,222,249
3603 .byte 102,68,15,56,222,193
3604 .byte 102,68,15,56,222,201
3605 movups 112-112(%rcx),%xmm1
3607 .byte 102,15,56,222,208
3608 .byte 102,15,56,222,216
3609 .byte 102,15,56,222,224
3610 .byte 102,15,56,222,232
3611 .byte 102,15,56,222,240
3612 .byte 102,15,56,222,248
3613 .byte 102,68,15,56,222,192
3614 .byte 102,68,15,56,222,200
3615 movups 128-112(%rcx),%xmm0
3617 .byte 102,15,56,222,209
3618 .byte 102,15,56,222,217
3619 .byte 102,15,56,222,225
3620 .byte 102,15,56,222,233
3621 .byte 102,15,56,222,241
3622 .byte 102,15,56,222,249
3623 .byte 102,68,15,56,222,193
3624 .byte 102,68,15,56,222,201
3625 movups 144-112(%rcx),%xmm1
3627 .byte 102,15,56,222,208
3628 .byte 102,15,56,222,216
3629 .byte 102,15,56,222,224
3630 .byte 102,15,56,222,232
3631 .byte 102,15,56,222,240
3632 .byte 102,15,56,222,248
3633 .byte 102,68,15,56,222,192
3634 .byte 102,68,15,56,222,200
3635 movups 160-112(%rcx),%xmm0
3637 .byte 102,15,56,222,209
3638 .byte 102,15,56,222,217
3639 .byte 102,15,56,222,225
3640 .byte 102,15,56,222,233
3641 .byte 102,15,56,222,241
3642 .byte 102,15,56,222,249
3643 .byte 102,68,15,56,222,193
3644 .byte 102,68,15,56,222,201
3645 movups 176-112(%rcx),%xmm1
3647 .byte 102,15,56,222,208
3648 .byte 102,15,56,222,216
3649 .byte 102,15,56,222,224
3650 .byte 102,15,56,222,232
3651 .byte 102,15,56,222,240
3652 .byte 102,15,56,222,248
3653 .byte 102,68,15,56,222,192
3654 .byte 102,68,15,56,222,200
3655 movups 192-112(%rcx),%xmm0
3657 .byte 102,15,56,222,209
3658 .byte 102,15,56,222,217
3659 .byte 102,15,56,222,225
3660 .byte 102,15,56,222,233
3661 .byte 102,15,56,222,241
3662 .byte 102,15,56,222,249
3663 .byte 102,68,15,56,222,193
3664 .byte 102,68,15,56,222,201
3665 movups 208-112(%rcx),%xmm1
3667 .byte 102,15,56,222,208
3668 .byte 102,15,56,222,216
3669 .byte 102,15,56,222,224
3670 .byte 102,15,56,222,232
3671 .byte 102,15,56,222,240
3672 .byte 102,15,56,222,248
3673 .byte 102,68,15,56,222,192
3674 .byte 102,68,15,56,222,200
3675 movups 224-112(%rcx),%xmm0
3679 .byte 102,15,56,222,209
3680 .byte 102,15,56,222,217
3683 .byte 102,15,56,222,225
3684 .byte 102,15,56,222,233
3687 .byte 102,15,56,222,241
3688 .byte 102,15,56,222,249
3691 .byte 102,68,15,56,222,193
3692 .byte 102,68,15,56,222,201
3693 movdqu 80(%rdi),%xmm1
3695 .byte 102,65,15,56,223,210
3696 movdqu 96(%rdi),%xmm10
3698 .byte 102,65,15,56,223,219
3700 movdqu 112(%rdi),%xmm0
3701 .byte 102,65,15,56,223,228
3703 movdqu 0(%rbp),%xmm11
3704 .byte 102,65,15,56,223,237
3705 .byte 102,65,15,56,223,246
3706 movdqu 16(%rbp),%xmm12
3707 movdqu 32(%rbp),%xmm13
3708 .byte 102,65,15,56,223,255
3709 .byte 102,68,15,56,223,193
3710 movdqu 48(%rbp),%xmm14
3711 movdqu 64(%rbp),%xmm15
3712 .byte 102,69,15,56,223,202
3714 movdqu 80(%rbp),%xmm1
3715 movups -112(%rcx),%xmm0
3719 movups %xmm3,16(%rsi)
3721 movups %xmm4,32(%rsi)
3723 movups %xmm5,48(%rsi)
3725 movups %xmm6,64(%rsi)
3727 movups %xmm7,80(%rsi)
3729 movups %xmm8,96(%rsi)
3736 leaq -112(%rcx),%rcx
3738 jle .Lcbc_dec_clear_tail_collected
3745 .Lcbc_dec_six_or_seven:
3750 call _aesni_decrypt6
3756 movdqu %xmm3,16(%rsi)
3759 movdqu %xmm4,32(%rsi)
3762 movdqu %xmm5,48(%rsi)
3765 movdqu %xmm6,64(%rsi)
3770 jmp .Lcbc_dec_tail_collected
3774 movups 96(%rdi),%xmm8
3776 call _aesni_decrypt8
3777 movups 80(%rdi),%xmm9
3779 movups 96(%rdi),%xmm10
3783 movdqu %xmm3,16(%rsi)
3786 movdqu %xmm4,32(%rsi)
3789 movdqu %xmm5,48(%rsi)
3792 movdqu %xmm6,64(%rsi)
3795 movdqu %xmm7,80(%rsi)
3801 jmp .Lcbc_dec_tail_collected
3807 movdqu 0(%rdi),%xmm2
3808 movdqu 16(%rdi),%xmm3
3810 movdqu 32(%rdi),%xmm4
3812 movdqu 48(%rdi),%xmm5
3814 movdqu 64(%rdi),%xmm6
3816 movdqu 80(%rdi),%xmm7
3818 .Lcbc_dec_loop6_enter:
3822 call _aesni_decrypt6
3829 movdqu %xmm3,16(%rsi)
3831 movdqu %xmm4,32(%rsi)
3834 movdqu %xmm5,48(%rsi)
3837 movdqu %xmm6,64(%rsi)
3844 jle .Lcbc_dec_clear_tail_collected
3853 movups 16(%rdi),%xmm3
3858 movups 32(%rdi),%xmm4
3863 movups 48(%rdi),%xmm5
3868 movups 64(%rdi),%xmm6
3872 call _aesni_decrypt6
3874 movaps %xmm15,%xmm10
3878 movdqu %xmm3,16(%rsi)
3881 movdqu %xmm4,32(%rsi)
3884 movdqu %xmm5,48(%rsi)
3891 jmp .Lcbc_dec_tail_collected
3897 movups 16(%rcx),%xmm1
3901 .byte 102,15,56,222,209
3906 .byte 102,15,56,223,209
3908 movaps %xmm11,%xmm10
3909 jmp .Lcbc_dec_tail_collected
3913 call _aesni_decrypt2
3915 movaps %xmm12,%xmm10
3921 jmp .Lcbc_dec_tail_collected
3925 call _aesni_decrypt3
3927 movaps %xmm13,%xmm10
3931 movdqu %xmm3,16(%rsi)
3936 jmp .Lcbc_dec_tail_collected
3940 call _aesni_decrypt4
3942 movaps %xmm14,%xmm10
3946 movdqu %xmm3,16(%rsi)
3949 movdqu %xmm4,32(%rsi)
3954 jmp .Lcbc_dec_tail_collected
3957 .Lcbc_dec_clear_tail_collected:
3965 .Lcbc_dec_tail_collected:
3968 jnz .Lcbc_dec_tail_partial
3973 .Lcbc_dec_tail_partial:
3989 .cfi_def_cfa_register %rsp
3993 .size aesni_cbc_encrypt,.-aesni_cbc_encrypt
3994 .globl aesni_set_decrypt_key
3995 .type aesni_set_decrypt_key,@function
3997 aesni_set_decrypt_key:
3999 .byte 0x48,0x83,0xEC,0x08
4000 .cfi_adjust_cfa_offset 8
4001 call __aesni_set_encrypt_key
4005 leaq 16(%rdx,%rsi,1),%rdi
4017 .byte 102,15,56,219,192
4018 .byte 102,15,56,219,201
4021 movups %xmm0,16(%rdi)
4022 movups %xmm1,-16(%rdx)
4024 ja .Ldec_key_inverse
4027 .byte 102,15,56,219,192
4033 .cfi_adjust_cfa_offset -8
4036 .LSEH_end_set_decrypt_key:
4037 .size aesni_set_decrypt_key,.-aesni_set_decrypt_key
4038 .globl aesni_set_encrypt_key
4039 .type aesni_set_encrypt_key,@function
4041 aesni_set_encrypt_key:
4042 __aesni_set_encrypt_key:
4044 .byte 0x48,0x83,0xEC,0x08
4045 .cfi_adjust_cfa_offset 8
4052 movl $268437504,%r10d
4055 andl OPENSSL_ia32cap_P+4(%rip),%r10d
4066 cmpl $268435456,%r10d
4070 .byte 102,15,58,223,200,1
4071 call .Lkey_expansion_128_cold
4072 .byte 102,15,58,223,200,2
4073 call .Lkey_expansion_128
4074 .byte 102,15,58,223,200,4
4075 call .Lkey_expansion_128
4076 .byte 102,15,58,223,200,8
4077 call .Lkey_expansion_128
4078 .byte 102,15,58,223,200,16
4079 call .Lkey_expansion_128
4080 .byte 102,15,58,223,200,32
4081 call .Lkey_expansion_128
4082 .byte 102,15,58,223,200,64
4083 call .Lkey_expansion_128
4084 .byte 102,15,58,223,200,128
4085 call .Lkey_expansion_128
4086 .byte 102,15,58,223,200,27
4087 call .Lkey_expansion_128
4088 .byte 102,15,58,223,200,54
4089 call .Lkey_expansion_128
4097 movdqa .Lkey_rotate(%rip),%xmm5
4099 movdqa .Lkey_rcon1(%rip),%xmm4
4106 .byte 102,15,56,0,197
4107 .byte 102,15,56,221,196
4120 movdqu %xmm0,-16(%rax)
4126 movdqa .Lkey_rcon1b(%rip),%xmm4
4128 .byte 102,15,56,0,197
4129 .byte 102,15,56,221,196
4144 .byte 102,15,56,0,197
4145 .byte 102,15,56,221,196
4156 movdqu %xmm0,16(%rax)
4166 cmpl $268435456,%r10d
4170 .byte 102,15,58,223,202,1
4171 call .Lkey_expansion_192a_cold
4172 .byte 102,15,58,223,202,2
4173 call .Lkey_expansion_192b
4174 .byte 102,15,58,223,202,4
4175 call .Lkey_expansion_192a
4176 .byte 102,15,58,223,202,8
4177 call .Lkey_expansion_192b
4178 .byte 102,15,58,223,202,16
4179 call .Lkey_expansion_192a
4180 .byte 102,15,58,223,202,32
4181 call .Lkey_expansion_192b
4182 .byte 102,15,58,223,202,64
4183 call .Lkey_expansion_192a
4184 .byte 102,15,58,223,202,128
4185 call .Lkey_expansion_192b
4193 movdqa .Lkey_rotate192(%rip),%xmm5
4194 movdqa .Lkey_rcon1(%rip),%xmm4
4203 .byte 102,15,56,0,213
4204 .byte 102,15,56,221,212
4216 pshufd $0xff,%xmm0,%xmm3
4223 movdqu %xmm0,-16(%rax)
4234 movups 16(%rdi),%xmm2
4237 cmpl $268435456,%r10d
4241 movups %xmm2,16(%rdx)
4242 .byte 102,15,58,223,202,1
4243 call .Lkey_expansion_256a_cold
4244 .byte 102,15,58,223,200,1
4245 call .Lkey_expansion_256b
4246 .byte 102,15,58,223,202,2
4247 call .Lkey_expansion_256a
4248 .byte 102,15,58,223,200,2
4249 call .Lkey_expansion_256b
4250 .byte 102,15,58,223,202,4
4251 call .Lkey_expansion_256a
4252 .byte 102,15,58,223,200,4
4253 call .Lkey_expansion_256b
4254 .byte 102,15,58,223,202,8
4255 call .Lkey_expansion_256a
4256 .byte 102,15,58,223,200,8
4257 call .Lkey_expansion_256b
4258 .byte 102,15,58,223,202,16
4259 call .Lkey_expansion_256a
4260 .byte 102,15,58,223,200,16
4261 call .Lkey_expansion_256b
4262 .byte 102,15,58,223,202,32
4263 call .Lkey_expansion_256a
4264 .byte 102,15,58,223,200,32
4265 call .Lkey_expansion_256b
4266 .byte 102,15,58,223,202,64
4267 call .Lkey_expansion_256a
4275 movdqa .Lkey_rotate(%rip),%xmm5
4276 movdqa .Lkey_rcon1(%rip),%xmm4
4278 movdqu %xmm0,0(%rdx)
4280 movdqu %xmm2,16(%rdx)
4285 .byte 102,15,56,0,213
4286 .byte 102,15,56,221,212
4303 pshufd $0xff,%xmm0,%xmm2
4305 .byte 102,15,56,221,211
4316 movdqu %xmm2,16(%rax)
4338 .cfi_adjust_cfa_offset -8
4341 .LSEH_end_set_encrypt_key:
4344 .Lkey_expansion_128:
4347 .Lkey_expansion_128_cold:
4348 shufps $16,%xmm0,%xmm4
4350 shufps $140,%xmm0,%xmm4
4352 shufps $255,%xmm1,%xmm1
4357 .Lkey_expansion_192a:
4360 .Lkey_expansion_192a_cold:
4362 .Lkey_expansion_192b_warm:
4363 shufps $16,%xmm0,%xmm4
4366 shufps $140,%xmm0,%xmm4
4369 pshufd $85,%xmm1,%xmm1
4372 pshufd $255,%xmm0,%xmm3
4377 .Lkey_expansion_192b:
4379 shufps $68,%xmm0,%xmm5
4381 shufps $78,%xmm2,%xmm3
4382 movups %xmm3,16(%rax)
4384 jmp .Lkey_expansion_192b_warm
4387 .Lkey_expansion_256a:
4390 .Lkey_expansion_256a_cold:
4391 shufps $16,%xmm0,%xmm4
4393 shufps $140,%xmm0,%xmm4
4395 shufps $255,%xmm1,%xmm1
4400 .Lkey_expansion_256b:
4404 shufps $16,%xmm2,%xmm4
4406 shufps $140,%xmm2,%xmm4
4408 shufps $170,%xmm1,%xmm1
4411 .size aesni_set_encrypt_key,.-aesni_set_encrypt_key
4412 .size __aesni_set_encrypt_key,.-__aesni_set_encrypt_key
4415 .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
4423 .byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
4425 .long 0x0c0f0e0d,0x0c0f0e0d,0x0c0f0e0d,0x0c0f0e0d
4427 .long 0x04070605,0x04070605,0x04070605,0x04070605
4431 .long 0x1b,0x1b,0x1b,0x1b
4433 .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