2 /* Do not modify. This file is auto-generated from aesni-x86_64.pl. */
6 .type aesni_encrypt,@function
17 .byte 102,15,56,220,209
22 .byte 102,15,56,221,209
29 .size aesni_encrypt,.-aesni_encrypt
32 .type aesni_decrypt,@function
43 .byte 102,15,56,222,209
48 .byte 102,15,56,223,209
55 .size aesni_decrypt, .-aesni_decrypt
56 .type _aesni_encrypt2,@function
66 leaq 32(%rcx,%rax,1),%rcx
71 .byte 102,15,56,220,209
72 .byte 102,15,56,220,217
73 movups (%rcx,%rax,1),%xmm1
75 .byte 102,15,56,220,208
76 .byte 102,15,56,220,216
77 movups -16(%rcx,%rax,1),%xmm0
80 .byte 102,15,56,220,209
81 .byte 102,15,56,220,217
82 .byte 102,15,56,221,208
83 .byte 102,15,56,221,216
86 .size _aesni_encrypt2,.-_aesni_encrypt2
87 .type _aesni_decrypt2,@function
97 leaq 32(%rcx,%rax,1),%rcx
102 .byte 102,15,56,222,209
103 .byte 102,15,56,222,217
104 movups (%rcx,%rax,1),%xmm1
106 .byte 102,15,56,222,208
107 .byte 102,15,56,222,216
108 movups -16(%rcx,%rax,1),%xmm0
111 .byte 102,15,56,222,209
112 .byte 102,15,56,222,217
113 .byte 102,15,56,223,208
114 .byte 102,15,56,223,216
117 .size _aesni_decrypt2,.-_aesni_decrypt2
118 .type _aesni_encrypt3,@function
124 movups 16(%rcx),%xmm1
128 movups 32(%rcx),%xmm0
129 leaq 32(%rcx,%rax,1),%rcx
134 .byte 102,15,56,220,209
135 .byte 102,15,56,220,217
136 .byte 102,15,56,220,225
137 movups (%rcx,%rax,1),%xmm1
139 .byte 102,15,56,220,208
140 .byte 102,15,56,220,216
141 .byte 102,15,56,220,224
142 movups -16(%rcx,%rax,1),%xmm0
145 .byte 102,15,56,220,209
146 .byte 102,15,56,220,217
147 .byte 102,15,56,220,225
148 .byte 102,15,56,221,208
149 .byte 102,15,56,221,216
150 .byte 102,15,56,221,224
153 .size _aesni_encrypt3,.-_aesni_encrypt3
154 .type _aesni_decrypt3,@function
160 movups 16(%rcx),%xmm1
164 movups 32(%rcx),%xmm0
165 leaq 32(%rcx,%rax,1),%rcx
170 .byte 102,15,56,222,209
171 .byte 102,15,56,222,217
172 .byte 102,15,56,222,225
173 movups (%rcx,%rax,1),%xmm1
175 .byte 102,15,56,222,208
176 .byte 102,15,56,222,216
177 .byte 102,15,56,222,224
178 movups -16(%rcx,%rax,1),%xmm0
181 .byte 102,15,56,222,209
182 .byte 102,15,56,222,217
183 .byte 102,15,56,222,225
184 .byte 102,15,56,223,208
185 .byte 102,15,56,223,216
186 .byte 102,15,56,223,224
189 .size _aesni_decrypt3,.-_aesni_decrypt3
190 .type _aesni_encrypt4,@function
196 movups 16(%rcx),%xmm1
201 movups 32(%rcx),%xmm0
202 leaq 32(%rcx,%rax,1),%rcx
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 movups (%rcx,%rax,1),%xmm1
214 .byte 102,15,56,220,208
215 .byte 102,15,56,220,216
216 .byte 102,15,56,220,224
217 .byte 102,15,56,220,232
218 movups -16(%rcx,%rax,1),%xmm0
221 .byte 102,15,56,220,209
222 .byte 102,15,56,220,217
223 .byte 102,15,56,220,225
224 .byte 102,15,56,220,233
225 .byte 102,15,56,221,208
226 .byte 102,15,56,221,216
227 .byte 102,15,56,221,224
228 .byte 102,15,56,221,232
231 .size _aesni_encrypt4,.-_aesni_encrypt4
232 .type _aesni_decrypt4,@function
238 movups 16(%rcx),%xmm1
243 movups 32(%rcx),%xmm0
244 leaq 32(%rcx,%rax,1),%rcx
250 .byte 102,15,56,222,209
251 .byte 102,15,56,222,217
252 .byte 102,15,56,222,225
253 .byte 102,15,56,222,233
254 movups (%rcx,%rax,1),%xmm1
256 .byte 102,15,56,222,208
257 .byte 102,15,56,222,216
258 .byte 102,15,56,222,224
259 .byte 102,15,56,222,232
260 movups -16(%rcx,%rax,1),%xmm0
263 .byte 102,15,56,222,209
264 .byte 102,15,56,222,217
265 .byte 102,15,56,222,225
266 .byte 102,15,56,222,233
267 .byte 102,15,56,223,208
268 .byte 102,15,56,223,216
269 .byte 102,15,56,223,224
270 .byte 102,15,56,223,232
273 .size _aesni_decrypt4,.-_aesni_decrypt4
274 .type _aesni_encrypt6,@function
280 movups 16(%rcx),%xmm1
284 .byte 102,15,56,220,209
285 leaq 32(%rcx,%rax,1),%rcx
287 .byte 102,15,56,220,217
290 .byte 102,15,56,220,225
292 movups (%rcx,%rax,1),%xmm0
294 jmp .Lenc_loop6_enter
297 .byte 102,15,56,220,209
298 .byte 102,15,56,220,217
299 .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 movups (%rcx,%rax,1),%xmm1
306 .byte 102,15,56,220,208
307 .byte 102,15,56,220,216
308 .byte 102,15,56,220,224
309 .byte 102,15,56,220,232
310 .byte 102,15,56,220,240
311 .byte 102,15,56,220,248
312 movups -16(%rcx,%rax,1),%xmm0
315 .byte 102,15,56,220,209
316 .byte 102,15,56,220,217
317 .byte 102,15,56,220,225
318 .byte 102,15,56,220,233
319 .byte 102,15,56,220,241
320 .byte 102,15,56,220,249
321 .byte 102,15,56,221,208
322 .byte 102,15,56,221,216
323 .byte 102,15,56,221,224
324 .byte 102,15,56,221,232
325 .byte 102,15,56,221,240
326 .byte 102,15,56,221,248
329 .size _aesni_encrypt6,.-_aesni_encrypt6
330 .type _aesni_decrypt6,@function
336 movups 16(%rcx),%xmm1
340 .byte 102,15,56,222,209
341 leaq 32(%rcx,%rax,1),%rcx
343 .byte 102,15,56,222,217
346 .byte 102,15,56,222,225
348 movups (%rcx,%rax,1),%xmm0
350 jmp .Ldec_loop6_enter
353 .byte 102,15,56,222,209
354 .byte 102,15,56,222,217
355 .byte 102,15,56,222,225
357 .byte 102,15,56,222,233
358 .byte 102,15,56,222,241
359 .byte 102,15,56,222,249
360 movups (%rcx,%rax,1),%xmm1
362 .byte 102,15,56,222,208
363 .byte 102,15,56,222,216
364 .byte 102,15,56,222,224
365 .byte 102,15,56,222,232
366 .byte 102,15,56,222,240
367 .byte 102,15,56,222,248
368 movups -16(%rcx,%rax,1),%xmm0
371 .byte 102,15,56,222,209
372 .byte 102,15,56,222,217
373 .byte 102,15,56,222,225
374 .byte 102,15,56,222,233
375 .byte 102,15,56,222,241
376 .byte 102,15,56,222,249
377 .byte 102,15,56,223,208
378 .byte 102,15,56,223,216
379 .byte 102,15,56,223,224
380 .byte 102,15,56,223,232
381 .byte 102,15,56,223,240
382 .byte 102,15,56,223,248
385 .size _aesni_decrypt6,.-_aesni_decrypt6
386 .type _aesni_encrypt8,@function
392 movups 16(%rcx),%xmm1
398 leaq 32(%rcx,%rax,1),%rcx
400 .byte 102,15,56,220,209
403 .byte 102,15,56,220,217
405 movups (%rcx,%rax,1),%xmm0
407 jmp .Lenc_loop8_inner
410 .byte 102,15,56,220,209
411 .byte 102,15,56,220,217
413 .byte 102,15,56,220,225
414 .byte 102,15,56,220,233
415 .byte 102,15,56,220,241
416 .byte 102,15,56,220,249
417 .byte 102,68,15,56,220,193
418 .byte 102,68,15,56,220,201
420 movups (%rcx,%rax,1),%xmm1
422 .byte 102,15,56,220,208
423 .byte 102,15,56,220,216
424 .byte 102,15,56,220,224
425 .byte 102,15,56,220,232
426 .byte 102,15,56,220,240
427 .byte 102,15,56,220,248
428 .byte 102,68,15,56,220,192
429 .byte 102,68,15,56,220,200
430 movups -16(%rcx,%rax,1),%xmm0
433 .byte 102,15,56,220,209
434 .byte 102,15,56,220,217
435 .byte 102,15,56,220,225
436 .byte 102,15,56,220,233
437 .byte 102,15,56,220,241
438 .byte 102,15,56,220,249
439 .byte 102,68,15,56,220,193
440 .byte 102,68,15,56,220,201
441 .byte 102,15,56,221,208
442 .byte 102,15,56,221,216
443 .byte 102,15,56,221,224
444 .byte 102,15,56,221,232
445 .byte 102,15,56,221,240
446 .byte 102,15,56,221,248
447 .byte 102,68,15,56,221,192
448 .byte 102,68,15,56,221,200
451 .size _aesni_encrypt8,.-_aesni_encrypt8
452 .type _aesni_decrypt8,@function
458 movups 16(%rcx),%xmm1
464 leaq 32(%rcx,%rax,1),%rcx
466 .byte 102,15,56,222,209
469 .byte 102,15,56,222,217
471 movups (%rcx,%rax,1),%xmm0
473 jmp .Ldec_loop8_inner
476 .byte 102,15,56,222,209
477 .byte 102,15,56,222,217
479 .byte 102,15,56,222,225
480 .byte 102,15,56,222,233
481 .byte 102,15,56,222,241
482 .byte 102,15,56,222,249
483 .byte 102,68,15,56,222,193
484 .byte 102,68,15,56,222,201
486 movups (%rcx,%rax,1),%xmm1
488 .byte 102,15,56,222,208
489 .byte 102,15,56,222,216
490 .byte 102,15,56,222,224
491 .byte 102,15,56,222,232
492 .byte 102,15,56,222,240
493 .byte 102,15,56,222,248
494 .byte 102,68,15,56,222,192
495 .byte 102,68,15,56,222,200
496 movups -16(%rcx,%rax,1),%xmm0
499 .byte 102,15,56,222,209
500 .byte 102,15,56,222,217
501 .byte 102,15,56,222,225
502 .byte 102,15,56,222,233
503 .byte 102,15,56,222,241
504 .byte 102,15,56,222,249
505 .byte 102,68,15,56,222,193
506 .byte 102,68,15,56,222,201
507 .byte 102,15,56,223,208
508 .byte 102,15,56,223,216
509 .byte 102,15,56,223,224
510 .byte 102,15,56,223,232
511 .byte 102,15,56,223,240
512 .byte 102,15,56,223,248
513 .byte 102,68,15,56,223,192
514 .byte 102,68,15,56,223,200
517 .size _aesni_decrypt8,.-_aesni_decrypt8
518 .globl aesni_ecb_encrypt
519 .type aesni_ecb_encrypt,@function
537 movdqu 16(%rdi),%xmm3
538 movdqu 32(%rdi),%xmm4
539 movdqu 48(%rdi),%xmm5
540 movdqu 64(%rdi),%xmm6
541 movdqu 80(%rdi),%xmm7
542 movdqu 96(%rdi),%xmm8
543 movdqu 112(%rdi),%xmm9
546 jmp .Lecb_enc_loop8_enter
553 movups %xmm3,16(%rsi)
554 movdqu 16(%rdi),%xmm3
555 movups %xmm4,32(%rsi)
556 movdqu 32(%rdi),%xmm4
557 movups %xmm5,48(%rsi)
558 movdqu 48(%rdi),%xmm5
559 movups %xmm6,64(%rsi)
560 movdqu 64(%rdi),%xmm6
561 movups %xmm7,80(%rsi)
562 movdqu 80(%rdi),%xmm7
563 movups %xmm8,96(%rsi)
564 movdqu 96(%rdi),%xmm8
565 movups %xmm9,112(%rsi)
567 movdqu 112(%rdi),%xmm9
569 .Lecb_enc_loop8_enter:
578 movups %xmm3,16(%rsi)
580 movups %xmm4,32(%rsi)
581 movups %xmm5,48(%rsi)
582 movups %xmm6,64(%rsi)
583 movups %xmm7,80(%rsi)
584 movups %xmm8,96(%rsi)
585 movups %xmm9,112(%rsi)
594 movups 16(%rdi),%xmm3
596 movups 32(%rdi),%xmm4
599 movups 48(%rdi),%xmm5
601 movups 64(%rdi),%xmm6
604 movups 80(%rdi),%xmm7
606 movdqu 96(%rdi),%xmm8
610 movups %xmm3,16(%rsi)
611 movups %xmm4,32(%rsi)
612 movups %xmm5,48(%rsi)
613 movups %xmm6,64(%rsi)
614 movups %xmm7,80(%rsi)
615 movups %xmm8,96(%rsi)
620 movups 16(%rcx),%xmm1
624 .byte 102,15,56,220,209
629 .byte 102,15,56,221,209
636 movups %xmm3,16(%rsi)
642 movups %xmm3,16(%rsi)
643 movups %xmm4,32(%rsi)
649 movups %xmm3,16(%rsi)
650 movups %xmm4,32(%rsi)
651 movups %xmm5,48(%rsi)
658 movups %xmm3,16(%rsi)
659 movups %xmm4,32(%rsi)
660 movups %xmm5,48(%rsi)
661 movups %xmm6,64(%rsi)
667 movups %xmm3,16(%rsi)
668 movups %xmm4,32(%rsi)
669 movups %xmm5,48(%rsi)
670 movups %xmm6,64(%rsi)
671 movups %xmm7,80(%rsi)
680 movdqu 16(%rdi),%xmm3
681 movdqu 32(%rdi),%xmm4
682 movdqu 48(%rdi),%xmm5
683 movdqu 64(%rdi),%xmm6
684 movdqu 80(%rdi),%xmm7
685 movdqu 96(%rdi),%xmm8
686 movdqu 112(%rdi),%xmm9
689 jmp .Lecb_dec_loop8_enter
696 movups %xmm3,16(%rsi)
697 movdqu 16(%rdi),%xmm3
698 movups %xmm4,32(%rsi)
699 movdqu 32(%rdi),%xmm4
700 movups %xmm5,48(%rsi)
701 movdqu 48(%rdi),%xmm5
702 movups %xmm6,64(%rsi)
703 movdqu 64(%rdi),%xmm6
704 movups %xmm7,80(%rsi)
705 movdqu 80(%rdi),%xmm7
706 movups %xmm8,96(%rsi)
707 movdqu 96(%rdi),%xmm8
708 movups %xmm9,112(%rsi)
710 movdqu 112(%rdi),%xmm9
712 .Lecb_dec_loop8_enter:
723 movups %xmm3,16(%rsi)
726 movups %xmm4,32(%rsi)
728 movups %xmm5,48(%rsi)
730 movups %xmm6,64(%rsi)
732 movups %xmm7,80(%rsi)
734 movups %xmm8,96(%rsi)
736 movups %xmm9,112(%rsi)
746 movups 16(%rdi),%xmm3
748 movups 32(%rdi),%xmm4
751 movups 48(%rdi),%xmm5
753 movups 64(%rdi),%xmm6
756 movups 80(%rdi),%xmm7
758 movups 96(%rdi),%xmm8
764 movups %xmm3,16(%rsi)
766 movups %xmm4,32(%rsi)
768 movups %xmm5,48(%rsi)
770 movups %xmm6,64(%rsi)
772 movups %xmm7,80(%rsi)
774 movups %xmm8,96(%rsi)
781 movups 16(%rcx),%xmm1
785 .byte 102,15,56,222,209
790 .byte 102,15,56,223,209
799 movups %xmm3,16(%rsi)
807 movups %xmm3,16(%rsi)
809 movups %xmm4,32(%rsi)
817 movups %xmm3,16(%rsi)
819 movups %xmm4,32(%rsi)
821 movups %xmm5,48(%rsi)
830 movups %xmm3,16(%rsi)
832 movups %xmm4,32(%rsi)
834 movups %xmm5,48(%rsi)
836 movups %xmm6,64(%rsi)
845 movups %xmm3,16(%rsi)
847 movups %xmm4,32(%rsi)
849 movups %xmm5,48(%rsi)
851 movups %xmm6,64(%rsi)
853 movups %xmm7,80(%rsi)
861 .size aesni_ecb_encrypt,.-aesni_ecb_encrypt
862 .globl aesni_ccm64_encrypt_blocks
863 .type aesni_ccm64_encrypt_blocks,@function
865 aesni_ccm64_encrypt_blocks:
869 movdqa .Lincrement64(%rip),%xmm9
870 movdqa .Lbswap_mask(%rip),%xmm7
877 leaq 32(%rcx,%rax,1),%rcx
878 .byte 102,15,56,0,247
880 jmp .Lccm64_enc_outer
888 movups 16(%r11),%xmm1
891 movups 32(%r11),%xmm0
894 .byte 102,15,56,220,209
895 .byte 102,15,56,220,217
896 movups (%rcx,%rax,1),%xmm1
898 .byte 102,15,56,220,208
899 .byte 102,15,56,220,216
900 movups -16(%rcx,%rax,1),%xmm0
901 jnz .Lccm64_enc2_loop
902 .byte 102,15,56,220,209
903 .byte 102,15,56,220,217
906 .byte 102,15,56,221,208
907 .byte 102,15,56,221,216
913 .byte 102,15,56,0,215
915 jnz .Lccm64_enc_outer
926 .size aesni_ccm64_encrypt_blocks,.-aesni_ccm64_encrypt_blocks
927 .globl aesni_ccm64_decrypt_blocks
928 .type aesni_ccm64_decrypt_blocks,@function
930 aesni_ccm64_decrypt_blocks:
935 movdqa .Lincrement64(%rip),%xmm9
936 movdqa .Lbswap_mask(%rip),%xmm7
941 .byte 102,15,56,0,247
943 movups 16(%rcx),%xmm1
947 .byte 102,15,56,220,209
952 .byte 102,15,56,221,209
959 leaq 32(%r11,%r10,1),%rcx
961 jmp .Lccm64_dec_outer
968 .byte 102,15,56,0,215
975 movups 16(%r11),%xmm1
979 movups 32(%r11),%xmm0
980 jmp .Lccm64_dec2_loop
983 .byte 102,15,56,220,209
984 .byte 102,15,56,220,217
985 movups (%rcx,%rax,1),%xmm1
987 .byte 102,15,56,220,208
988 .byte 102,15,56,220,216
989 movups -16(%rcx,%rax,1),%xmm0
990 jnz .Lccm64_dec2_loop
993 .byte 102,15,56,220,209
994 .byte 102,15,56,220,217
995 .byte 102,15,56,221,208
996 .byte 102,15,56,221,216
998 jmp .Lccm64_dec_outer
1005 movups 16(%r11),%xmm1
1010 .byte 102,15,56,220,217
1015 .byte 102,15,56,221,217
1025 .size aesni_ccm64_decrypt_blocks,.-aesni_ccm64_decrypt_blocks
1026 .globl aesni_ctr32_encrypt_blocks
1027 .type aesni_ctr32_encrypt_blocks,@function
1029 aesni_ctr32_encrypt_blocks:
1040 movups 16(%rcx),%xmm1
1044 .byte 102,15,56,220,209
1049 .byte 102,15,56,221,209
1056 jmp .Lctr32_epilogue
1061 .cfi_def_cfa_register %r11
1063 .cfi_offset %rbp,-16
1075 movdqa %xmm2,0(%rsp)
1080 movdqa %xmm2,64(%rsp)
1081 movdqa %xmm2,80(%rsp)
1082 movdqa %xmm2,96(%rsp)
1084 movdqa %xmm2,112(%rsp)
1092 .byte 102,15,58,34,216,3
1094 movdqa %xmm3,16(%rsp)
1095 .byte 102,15,58,34,226,3
1099 movdqa %xmm4,32(%rsp)
1102 .byte 102,15,58,34,232,3
1104 movdqa %xmm5,48(%rsp)
1106 movl %r10d,64+12(%rsp)
1112 movl %r9d,80+12(%rsp)
1115 movl %r10d,96+12(%rsp)
1117 movl OPENSSL_ia32cap_P+4(%rip),%r10d
1119 andl $71303168,%r10d
1120 movl %r9d,112+12(%rsp)
1122 movups 16(%rcx),%xmm1
1124 movdqa 64(%rsp),%xmm6
1125 movdqa 80(%rsp),%xmm7
1143 leaq 32(%rcx,%rax,1),%rcx
1150 movups -48(%rcx,%r10,1),%xmm0
1151 .byte 102,15,56,220,209
1154 .byte 102,15,56,220,217
1155 .byte 0x0f,0x38,0xf1,0x44,0x24,12
1157 .byte 102,15,56,220,225
1159 .byte 0x0f,0x38,0xf1,0x44,0x24,28
1160 .byte 102,15,56,220,233
1163 .byte 102,15,56,220,241
1164 .byte 0x0f,0x38,0xf1,0x44,0x24,44
1166 .byte 102,15,56,220,249
1167 movups -32(%rcx,%r10,1),%xmm1
1170 .byte 102,15,56,220,208
1171 .byte 0x0f,0x38,0xf1,0x44,0x24,60
1173 .byte 102,15,56,220,216
1175 .byte 0x0f,0x38,0xf1,0x44,0x24,76
1176 .byte 102,15,56,220,224
1179 .byte 102,15,56,220,232
1180 .byte 0x0f,0x38,0xf1,0x44,0x24,92
1182 .byte 102,15,56,220,240
1183 .byte 102,15,56,220,248
1184 movups -16(%rcx,%r10,1),%xmm0
1189 movdqu 16(%rdi),%xmm9
1190 movdqu 32(%rdi),%xmm10
1191 movdqu 48(%rdi),%xmm11
1192 movdqu 64(%rdi),%xmm12
1193 movdqu 80(%rdi),%xmm13
1195 movups -64(%rcx,%r10,1),%xmm1
1197 movaps 0(%rsp),%xmm2
1199 movaps 16(%rsp),%xmm3
1201 movaps 32(%rsp),%xmm4
1203 movaps 48(%rsp),%xmm5
1205 movaps 64(%rsp),%xmm6
1207 movaps 80(%rsp),%xmm7
1209 movdqu %xmm9,16(%rsi)
1210 movdqu %xmm10,32(%rsi)
1211 movdqu %xmm11,48(%rsi)
1212 movdqu %xmm12,64(%rsi)
1213 movdqu %xmm13,80(%rsi)
1223 leaq -80(%rcx,%r10,1),%rcx
1231 movdqa 96(%rsp),%xmm8
1232 .byte 102,15,56,220,209
1234 movdqa 112(%rsp),%xmm9
1235 .byte 102,15,56,220,217
1237 movups 32-128(%rcx),%xmm0
1238 .byte 102,15,56,220,225
1241 .byte 102,15,56,220,233
1242 movl %r9d,0+12(%rsp)
1244 .byte 102,15,56,220,241
1245 .byte 102,15,56,220,249
1246 .byte 102,68,15,56,220,193
1247 .byte 102,68,15,56,220,201
1248 movups 48-128(%rcx),%xmm1
1250 .byte 102,15,56,220,208
1251 .byte 102,15,56,220,216
1254 .byte 102,15,56,220,224
1255 .byte 102,15,56,220,232
1256 movl %r9d,16+12(%rsp)
1258 .byte 102,15,56,220,240
1259 .byte 102,15,56,220,248
1260 .byte 102,68,15,56,220,192
1261 .byte 102,68,15,56,220,200
1262 movups 64-128(%rcx),%xmm0
1264 .byte 102,15,56,220,209
1265 .byte 102,15,56,220,217
1268 .byte 102,15,56,220,225
1269 .byte 102,15,56,220,233
1270 movl %r9d,32+12(%rsp)
1272 .byte 102,15,56,220,241
1273 .byte 102,15,56,220,249
1274 .byte 102,68,15,56,220,193
1275 .byte 102,68,15,56,220,201
1276 movups 80-128(%rcx),%xmm1
1278 .byte 102,15,56,220,208
1279 .byte 102,15,56,220,216
1282 .byte 102,15,56,220,224
1283 .byte 102,15,56,220,232
1284 movl %r9d,48+12(%rsp)
1286 .byte 102,15,56,220,240
1287 .byte 102,15,56,220,248
1288 .byte 102,68,15,56,220,192
1289 .byte 102,68,15,56,220,200
1290 movups 96-128(%rcx),%xmm0
1292 .byte 102,15,56,220,209
1293 .byte 102,15,56,220,217
1296 .byte 102,15,56,220,225
1297 .byte 102,15,56,220,233
1298 movl %r9d,64+12(%rsp)
1300 .byte 102,15,56,220,241
1301 .byte 102,15,56,220,249
1302 .byte 102,68,15,56,220,193
1303 .byte 102,68,15,56,220,201
1304 movups 112-128(%rcx),%xmm1
1306 .byte 102,15,56,220,208
1307 .byte 102,15,56,220,216
1310 .byte 102,15,56,220,224
1311 .byte 102,15,56,220,232
1312 movl %r9d,80+12(%rsp)
1314 .byte 102,15,56,220,240
1315 .byte 102,15,56,220,248
1316 .byte 102,68,15,56,220,192
1317 .byte 102,68,15,56,220,200
1318 movups 128-128(%rcx),%xmm0
1320 .byte 102,15,56,220,209
1321 .byte 102,15,56,220,217
1324 .byte 102,15,56,220,225
1325 .byte 102,15,56,220,233
1326 movl %r9d,96+12(%rsp)
1328 .byte 102,15,56,220,241
1329 .byte 102,15,56,220,249
1330 .byte 102,68,15,56,220,193
1331 .byte 102,68,15,56,220,201
1332 movups 144-128(%rcx),%xmm1
1334 .byte 102,15,56,220,208
1335 .byte 102,15,56,220,216
1336 .byte 102,15,56,220,224
1338 movdqu 0(%rdi),%xmm10
1339 .byte 102,15,56,220,232
1340 movl %r9d,112+12(%rsp)
1342 .byte 102,15,56,220,240
1343 .byte 102,15,56,220,248
1344 .byte 102,68,15,56,220,192
1345 .byte 102,68,15,56,220,200
1346 movups 160-128(%rcx),%xmm0
1350 .byte 102,15,56,220,209
1351 .byte 102,15,56,220,217
1352 .byte 102,15,56,220,225
1353 .byte 102,15,56,220,233
1354 .byte 102,15,56,220,241
1355 .byte 102,15,56,220,249
1356 .byte 102,68,15,56,220,193
1357 .byte 102,68,15,56,220,201
1358 movups 176-128(%rcx),%xmm1
1360 .byte 102,15,56,220,208
1361 .byte 102,15,56,220,216
1362 .byte 102,15,56,220,224
1363 .byte 102,15,56,220,232
1364 .byte 102,15,56,220,240
1365 .byte 102,15,56,220,248
1366 .byte 102,68,15,56,220,192
1367 .byte 102,68,15,56,220,200
1368 movups 192-128(%rcx),%xmm0
1371 .byte 102,15,56,220,209
1372 .byte 102,15,56,220,217
1373 .byte 102,15,56,220,225
1374 .byte 102,15,56,220,233
1375 .byte 102,15,56,220,241
1376 .byte 102,15,56,220,249
1377 .byte 102,68,15,56,220,193
1378 .byte 102,68,15,56,220,201
1379 movups 208-128(%rcx),%xmm1
1381 .byte 102,15,56,220,208
1382 .byte 102,15,56,220,216
1383 .byte 102,15,56,220,224
1384 .byte 102,15,56,220,232
1385 .byte 102,15,56,220,240
1386 .byte 102,15,56,220,248
1387 .byte 102,68,15,56,220,192
1388 .byte 102,68,15,56,220,200
1389 movups 224-128(%rcx),%xmm0
1390 jmp .Lctr32_enc_done
1394 movdqu 16(%rdi),%xmm11
1396 movdqu 32(%rdi),%xmm12
1398 movdqu 48(%rdi),%xmm13
1400 movdqu 64(%rdi),%xmm14
1402 movdqu 80(%rdi),%xmm15
1405 .byte 102,15,56,220,209
1406 .byte 102,15,56,220,217
1407 .byte 102,15,56,220,225
1408 .byte 102,15,56,220,233
1409 .byte 102,15,56,220,241
1410 .byte 102,15,56,220,249
1411 .byte 102,68,15,56,220,193
1412 .byte 102,68,15,56,220,201
1413 movdqu 96(%rdi),%xmm1
1416 .byte 102,65,15,56,221,210
1418 movdqu 112-128(%rdi),%xmm10
1419 .byte 102,65,15,56,221,219
1421 movdqa 0(%rsp),%xmm11
1422 .byte 102,65,15,56,221,228
1423 .byte 102,65,15,56,221,237
1424 movdqa 16(%rsp),%xmm12
1425 movdqa 32(%rsp),%xmm13
1426 .byte 102,65,15,56,221,246
1427 .byte 102,65,15,56,221,255
1428 movdqa 48(%rsp),%xmm14
1429 movdqa 64(%rsp),%xmm15
1430 .byte 102,68,15,56,221,193
1431 movdqa 80(%rsp),%xmm0
1432 movups 16-128(%rcx),%xmm1
1433 .byte 102,69,15,56,221,202
1437 movups %xmm3,16(%rsi)
1439 movups %xmm4,32(%rsi)
1441 movups %xmm5,48(%rsi)
1443 movups %xmm6,64(%rsi)
1445 movups %xmm7,80(%rsi)
1447 movups %xmm8,96(%rsi)
1448 movups %xmm9,112(%rsi)
1456 leaq -128(%rcx),%rcx
1468 movdqa 96(%rsp),%xmm8
1471 movups 16(%rcx),%xmm0
1472 .byte 102,15,56,220,209
1473 .byte 102,15,56,220,217
1474 leaq 32-16(%rcx,%rax,1),%rcx
1476 .byte 102,15,56,220,225
1478 movups (%rdi),%xmm10
1479 .byte 102,15,56,220,233
1480 .byte 102,15,56,220,241
1481 movups 16(%rdi),%xmm11
1482 movups 32(%rdi),%xmm12
1483 .byte 102,15,56,220,249
1484 .byte 102,68,15,56,220,193
1486 call .Lenc_loop8_enter
1488 movdqu 48(%rdi),%xmm13
1490 movdqu 64(%rdi),%xmm10
1494 movdqu %xmm3,16(%rsi)
1496 movdqu %xmm4,32(%rsi)
1498 movdqu %xmm5,48(%rsi)
1499 movdqu %xmm6,64(%rsi)
1503 movups 80(%rdi),%xmm11
1505 movups %xmm7,80(%rsi)
1508 movups 96(%rdi),%xmm12
1510 movups %xmm8,96(%rsi)
1515 .byte 102,15,56,220,209
1518 .byte 102,15,56,220,217
1519 .byte 102,15,56,220,225
1520 .byte 102,15,56,220,233
1523 .byte 102,15,56,221,209
1524 .byte 102,15,56,221,217
1525 movups (%rdi),%xmm10
1526 movups 16(%rdi),%xmm11
1527 .byte 102,15,56,221,225
1528 .byte 102,15,56,221,233
1529 movups 32(%rdi),%xmm12
1530 movups 48(%rdi),%xmm13
1535 movups %xmm3,16(%rsi)
1537 movdqu %xmm4,32(%rsi)
1539 movdqu %xmm5,48(%rsi)
1544 .byte 102,15,56,220,209
1547 .byte 102,15,56,220,217
1548 .byte 102,15,56,220,225
1551 .byte 102,15,56,221,209
1552 .byte 102,15,56,221,217
1553 .byte 102,15,56,221,225
1555 movups (%rdi),%xmm10
1561 movups 16(%rdi),%xmm11
1563 movups %xmm3,16(%rsi)
1566 movups 32(%rdi),%xmm12
1568 movups %xmm4,32(%rsi)
1580 movaps %xmm0,0(%rsp)
1582 movaps %xmm0,16(%rsp)
1584 movaps %xmm0,32(%rsp)
1586 movaps %xmm0,48(%rsp)
1588 movaps %xmm0,64(%rsp)
1590 movaps %xmm0,80(%rsp)
1592 movaps %xmm0,96(%rsp)
1594 movaps %xmm0,112(%rsp)
1599 .cfi_def_cfa_register %rsp
1603 .size aesni_ctr32_encrypt_blocks,.-aesni_ctr32_encrypt_blocks
1604 .globl aesni_xts_encrypt
1605 .type aesni_xts_encrypt,@function
1610 .cfi_def_cfa_register %r11
1612 .cfi_offset %rbp,-16
1617 movl 240(%rcx),%r10d
1619 movups 16(%r8),%xmm1
1623 .byte 102,15,56,220,209
1628 .byte 102,15,56,221,209
1636 movups 16(%rcx,%r10,1),%xmm1
1638 movdqa .Lxts_magic(%rip),%xmm8
1640 pshufd $0x5f,%xmm2,%xmm9
1644 movdqa %xmm15,%xmm10
1652 movdqa %xmm15,%xmm11
1660 movdqa %xmm15,%xmm12
1668 movdqa %xmm15,%xmm13
1674 movdqa %xmm15,%xmm14
1680 movaps %xmm1,96(%rsp)
1686 leaq 32(%rbp,%r10,1),%rcx
1688 movups 16(%rbp),%xmm1
1690 leaq .Lxts_magic(%rip),%r8
1691 jmp .Lxts_enc_grandloop
1694 .Lxts_enc_grandloop:
1695 movdqu 0(%rdi),%xmm2
1697 movdqu 16(%rdi),%xmm3
1699 movdqu 32(%rdi),%xmm4
1701 .byte 102,15,56,220,209
1702 movdqu 48(%rdi),%xmm5
1704 .byte 102,15,56,220,217
1705 movdqu 64(%rdi),%xmm6
1707 .byte 102,15,56,220,225
1708 movdqu 80(%rdi),%xmm7
1710 movdqa 96(%rsp),%xmm9
1712 .byte 102,15,56,220,233
1713 movups 32(%rbp),%xmm0
1718 .byte 102,15,56,220,241
1720 movdqa %xmm10,0(%rsp)
1721 .byte 102,15,56,220,249
1722 movups 48(%rbp),%xmm1
1725 .byte 102,15,56,220,208
1727 movdqa %xmm11,16(%rsp)
1728 .byte 102,15,56,220,216
1730 movdqa %xmm12,32(%rsp)
1731 .byte 102,15,56,220,224
1732 .byte 102,15,56,220,232
1734 movdqa %xmm14,64(%rsp)
1735 .byte 102,15,56,220,240
1736 .byte 102,15,56,220,248
1737 movups 64(%rbp),%xmm0
1738 movdqa %xmm8,80(%rsp)
1739 pshufd $0x5f,%xmm15,%xmm9
1743 .byte 102,15,56,220,209
1744 .byte 102,15,56,220,217
1745 .byte 102,15,56,220,225
1746 .byte 102,15,56,220,233
1747 .byte 102,15,56,220,241
1748 .byte 102,15,56,220,249
1749 movups -64(%rcx,%rax,1),%xmm1
1752 .byte 102,15,56,220,208
1753 .byte 102,15,56,220,216
1754 .byte 102,15,56,220,224
1755 .byte 102,15,56,220,232
1756 .byte 102,15,56,220,240
1757 .byte 102,15,56,220,248
1758 movups -80(%rcx,%rax,1),%xmm0
1764 .byte 102,15,56,220,209
1767 .byte 102,15,56,220,217
1769 movups (%rbp),%xmm10
1770 .byte 102,15,56,220,225
1771 .byte 102,15,56,220,233
1772 .byte 102,15,56,220,241
1774 movaps %xmm10,%xmm11
1775 .byte 102,15,56,220,249
1776 movups -64(%rcx),%xmm1
1779 .byte 102,15,56,220,208
1782 .byte 102,15,56,220,216
1785 .byte 102,15,56,220,224
1786 .byte 102,15,56,220,232
1788 movaps %xmm11,%xmm12
1789 .byte 102,15,56,220,240
1792 .byte 102,15,56,220,248
1793 movups -48(%rcx),%xmm0
1796 .byte 102,15,56,220,209
1799 .byte 102,15,56,220,217
1802 .byte 102,15,56,220,225
1803 .byte 102,15,56,220,233
1804 movdqa %xmm13,48(%rsp)
1806 .byte 102,15,56,220,241
1807 movaps %xmm12,%xmm13
1809 .byte 102,15,56,220,249
1810 movups -32(%rcx),%xmm1
1813 .byte 102,15,56,220,208
1816 .byte 102,15,56,220,216
1819 .byte 102,15,56,220,224
1820 .byte 102,15,56,220,232
1821 .byte 102,15,56,220,240
1823 movaps %xmm13,%xmm14
1824 .byte 102,15,56,220,248
1828 .byte 102,15,56,220,209
1831 .byte 102,15,56,220,217
1834 .byte 102,15,56,220,225
1835 .byte 102,15,56,220,233
1838 .byte 102,15,56,220,241
1839 .byte 102,15,56,220,249
1840 movups 16(%rbp),%xmm1
1843 .byte 102,15,56,221,84,36,0
1846 .byte 102,15,56,221,92,36,16
1847 .byte 102,15,56,221,100,36,32
1850 .byte 102,15,56,221,108,36,48
1851 .byte 102,15,56,221,116,36,64
1852 .byte 102,15,56,221,124,36,80
1856 movups %xmm2,-96(%rsi)
1857 movups %xmm3,-80(%rsi)
1858 movups %xmm4,-64(%rsi)
1859 movups %xmm5,-48(%rsi)
1860 movups %xmm6,-32(%rsi)
1861 movups %xmm7,-16(%rsi)
1863 jnc .Lxts_enc_grandloop
1890 movdqu 16(%rdi),%xmm3
1891 movdqu 32(%rdi),%xmm4
1893 movdqu 48(%rdi),%xmm5
1895 movdqu 64(%rdi),%xmm6
1902 call _aesni_encrypt6
1905 movdqa %xmm15,%xmm10
1910 movdqu %xmm3,16(%rsi)
1912 movdqu %xmm4,32(%rsi)
1913 movdqu %xmm5,48(%rsi)
1914 movdqu %xmm6,64(%rsi)
1924 movups 16(%rcx),%xmm1
1928 .byte 102,15,56,220,209
1933 .byte 102,15,56,221,209
1935 movdqa %xmm11,%xmm10
1943 movups 16(%rdi),%xmm3
1948 call _aesni_encrypt2
1951 movdqa %xmm12,%xmm10
1954 movups %xmm3,16(%rsi)
1961 movups 16(%rdi),%xmm3
1962 movups 32(%rdi),%xmm4
1968 call _aesni_encrypt3
1971 movdqa %xmm13,%xmm10
1975 movups %xmm3,16(%rsi)
1976 movups %xmm4,32(%rsi)
1983 movups 16(%rdi),%xmm3
1984 movups 32(%rdi),%xmm4
1986 movups 48(%rdi),%xmm5
1992 call _aesni_encrypt4
1995 movdqa %xmm14,%xmm10
2000 movdqu %xmm3,16(%rsi)
2001 movdqu %xmm4,32(%rsi)
2002 movdqu %xmm5,48(%rsi)
2014 movzbl -16(%rsi),%ecx
2026 movups -16(%rsi),%xmm2
2029 movups 16(%rcx),%xmm1
2033 .byte 102,15,56,220,209
2038 .byte 102,15,56,221,209
2040 movups %xmm2,-16(%rsi)
2051 movaps %xmm0,0(%rsp)
2053 movaps %xmm0,16(%rsp)
2055 movaps %xmm0,32(%rsp)
2057 movaps %xmm0,48(%rsp)
2059 movaps %xmm0,64(%rsp)
2061 movaps %xmm0,80(%rsp)
2063 movaps %xmm0,96(%rsp)
2069 .cfi_def_cfa_register %rsp
2073 .size aesni_xts_encrypt,.-aesni_xts_encrypt
2074 .globl aesni_xts_decrypt
2075 .type aesni_xts_decrypt,@function
2080 .cfi_def_cfa_register %r11
2082 .cfi_offset %rbp,-16
2087 movl 240(%rcx),%r10d
2089 movups 16(%r8),%xmm1
2093 .byte 102,15,56,220,209
2098 .byte 102,15,56,221,209
2112 movups 16(%rcx,%r10,1),%xmm1
2114 movdqa .Lxts_magic(%rip),%xmm8
2116 pshufd $0x5f,%xmm2,%xmm9
2120 movdqa %xmm15,%xmm10
2128 movdqa %xmm15,%xmm11
2136 movdqa %xmm15,%xmm12
2144 movdqa %xmm15,%xmm13
2150 movdqa %xmm15,%xmm14
2156 movaps %xmm1,96(%rsp)
2162 leaq 32(%rbp,%r10,1),%rcx
2164 movups 16(%rbp),%xmm1
2166 leaq .Lxts_magic(%rip),%r8
2167 jmp .Lxts_dec_grandloop
2170 .Lxts_dec_grandloop:
2171 movdqu 0(%rdi),%xmm2
2173 movdqu 16(%rdi),%xmm3
2175 movdqu 32(%rdi),%xmm4
2177 .byte 102,15,56,222,209
2178 movdqu 48(%rdi),%xmm5
2180 .byte 102,15,56,222,217
2181 movdqu 64(%rdi),%xmm6
2183 .byte 102,15,56,222,225
2184 movdqu 80(%rdi),%xmm7
2186 movdqa 96(%rsp),%xmm9
2188 .byte 102,15,56,222,233
2189 movups 32(%rbp),%xmm0
2194 .byte 102,15,56,222,241
2196 movdqa %xmm10,0(%rsp)
2197 .byte 102,15,56,222,249
2198 movups 48(%rbp),%xmm1
2201 .byte 102,15,56,222,208
2203 movdqa %xmm11,16(%rsp)
2204 .byte 102,15,56,222,216
2206 movdqa %xmm12,32(%rsp)
2207 .byte 102,15,56,222,224
2208 .byte 102,15,56,222,232
2210 movdqa %xmm14,64(%rsp)
2211 .byte 102,15,56,222,240
2212 .byte 102,15,56,222,248
2213 movups 64(%rbp),%xmm0
2214 movdqa %xmm8,80(%rsp)
2215 pshufd $0x5f,%xmm15,%xmm9
2219 .byte 102,15,56,222,209
2220 .byte 102,15,56,222,217
2221 .byte 102,15,56,222,225
2222 .byte 102,15,56,222,233
2223 .byte 102,15,56,222,241
2224 .byte 102,15,56,222,249
2225 movups -64(%rcx,%rax,1),%xmm1
2228 .byte 102,15,56,222,208
2229 .byte 102,15,56,222,216
2230 .byte 102,15,56,222,224
2231 .byte 102,15,56,222,232
2232 .byte 102,15,56,222,240
2233 .byte 102,15,56,222,248
2234 movups -80(%rcx,%rax,1),%xmm0
2240 .byte 102,15,56,222,209
2243 .byte 102,15,56,222,217
2245 movups (%rbp),%xmm10
2246 .byte 102,15,56,222,225
2247 .byte 102,15,56,222,233
2248 .byte 102,15,56,222,241
2250 movaps %xmm10,%xmm11
2251 .byte 102,15,56,222,249
2252 movups -64(%rcx),%xmm1
2255 .byte 102,15,56,222,208
2258 .byte 102,15,56,222,216
2261 .byte 102,15,56,222,224
2262 .byte 102,15,56,222,232
2264 movaps %xmm11,%xmm12
2265 .byte 102,15,56,222,240
2268 .byte 102,15,56,222,248
2269 movups -48(%rcx),%xmm0
2272 .byte 102,15,56,222,209
2275 .byte 102,15,56,222,217
2278 .byte 102,15,56,222,225
2279 .byte 102,15,56,222,233
2280 movdqa %xmm13,48(%rsp)
2282 .byte 102,15,56,222,241
2283 movaps %xmm12,%xmm13
2285 .byte 102,15,56,222,249
2286 movups -32(%rcx),%xmm1
2289 .byte 102,15,56,222,208
2292 .byte 102,15,56,222,216
2295 .byte 102,15,56,222,224
2296 .byte 102,15,56,222,232
2297 .byte 102,15,56,222,240
2299 movaps %xmm13,%xmm14
2300 .byte 102,15,56,222,248
2304 .byte 102,15,56,222,209
2307 .byte 102,15,56,222,217
2310 .byte 102,15,56,222,225
2311 .byte 102,15,56,222,233
2314 .byte 102,15,56,222,241
2315 .byte 102,15,56,222,249
2316 movups 16(%rbp),%xmm1
2319 .byte 102,15,56,223,84,36,0
2322 .byte 102,15,56,223,92,36,16
2323 .byte 102,15,56,223,100,36,32
2326 .byte 102,15,56,223,108,36,48
2327 .byte 102,15,56,223,116,36,64
2328 .byte 102,15,56,223,124,36,80
2332 movups %xmm2,-96(%rsi)
2333 movups %xmm3,-80(%rsi)
2334 movups %xmm4,-64(%rsi)
2335 movups %xmm5,-48(%rsi)
2336 movups %xmm6,-32(%rsi)
2337 movups %xmm7,-16(%rsi)
2339 jnc .Lxts_dec_grandloop
2366 movdqu 16(%rdi),%xmm3
2367 movdqu 32(%rdi),%xmm4
2369 movdqu 48(%rdi),%xmm5
2371 movdqu 64(%rdi),%xmm6
2377 call _aesni_decrypt6
2384 movdqu %xmm3,16(%rsi)
2386 movdqu %xmm4,32(%rsi)
2388 movdqu %xmm5,48(%rsi)
2389 pcmpgtd %xmm15,%xmm14
2390 movdqu %xmm6,64(%rsi)
2392 pshufd $0x13,%xmm14,%xmm11
2396 movdqa %xmm15,%xmm10
2408 movups 16(%rcx),%xmm1
2412 .byte 102,15,56,222,209
2417 .byte 102,15,56,223,209
2419 movdqa %xmm11,%xmm10
2421 movdqa %xmm12,%xmm11
2428 movups 16(%rdi),%xmm3
2433 call _aesni_decrypt2
2436 movdqa %xmm12,%xmm10
2438 movdqa %xmm13,%xmm11
2440 movups %xmm3,16(%rsi)
2447 movups 16(%rdi),%xmm3
2448 movups 32(%rdi),%xmm4
2454 call _aesni_decrypt3
2457 movdqa %xmm13,%xmm10
2459 movdqa %xmm14,%xmm11
2462 movups %xmm3,16(%rsi)
2463 movups %xmm4,32(%rsi)
2470 movups 16(%rdi),%xmm3
2471 movups 32(%rdi),%xmm4
2473 movups 48(%rdi),%xmm5
2479 call _aesni_decrypt4
2482 movdqa %xmm14,%xmm10
2484 movdqa %xmm15,%xmm11
2488 movdqu %xmm3,16(%rsi)
2489 movdqu %xmm4,32(%rsi)
2490 movdqu %xmm5,48(%rsi)
2506 movups 16(%rcx),%xmm1
2510 .byte 102,15,56,222,209
2515 .byte 102,15,56,223,209
2520 movzbl 16(%rdi),%eax
2536 movups 16(%rcx),%xmm1
2540 .byte 102,15,56,222,209
2545 .byte 102,15,56,223,209
2558 movaps %xmm0,0(%rsp)
2560 movaps %xmm0,16(%rsp)
2562 movaps %xmm0,32(%rsp)
2564 movaps %xmm0,48(%rsp)
2566 movaps %xmm0,64(%rsp)
2568 movaps %xmm0,80(%rsp)
2570 movaps %xmm0,96(%rsp)
2576 .cfi_def_cfa_register %rsp
2580 .size aesni_xts_decrypt,.-aesni_xts_decrypt
2581 .globl aesni_ocb_encrypt
2582 .type aesni_ocb_encrypt,@function
2588 .cfi_adjust_cfa_offset 8
2589 .cfi_offset %rbx,-16
2591 .cfi_adjust_cfa_offset 8
2592 .cfi_offset %rbp,-24
2594 .cfi_adjust_cfa_offset 8
2595 .cfi_offset %r12,-32
2597 .cfi_adjust_cfa_offset 8
2598 .cfi_offset %r13,-40
2600 .cfi_adjust_cfa_offset 8
2601 .cfi_offset %r14,-48
2605 movl 240(%rcx),%r10d
2609 movups 16(%rcx,%r10,1),%xmm1
2616 leaq 32(%r11,%r10,1),%rcx
2617 movups 16(%r11),%xmm1
2621 movdqu (%rbx),%xmm10
2630 movdqu (%rbx,%r12,1),%xmm7
2656 jmp .Locb_enc_grandloop
2659 .Locb_enc_grandloop:
2660 movdqu 0(%rdi),%xmm2
2661 movdqu 16(%rdi),%xmm3
2662 movdqu 32(%rdi),%xmm4
2663 movdqu 48(%rdi),%xmm5
2664 movdqu 64(%rdi),%xmm6
2665 movdqu 80(%rdi),%xmm7
2670 movups %xmm2,0(%rsi)
2671 movups %xmm3,16(%rsi)
2672 movups %xmm4,32(%rsi)
2673 movups %xmm5,48(%rsi)
2674 movups %xmm6,64(%rsi)
2675 movups %xmm7,80(%rsi)
2678 jnc .Locb_enc_grandloop
2684 movdqu 0(%rdi),%xmm2
2687 movdqu 16(%rdi),%xmm3
2690 movdqu 32(%rdi),%xmm4
2693 movdqu 48(%rdi),%xmm5
2696 movdqu 64(%rdi),%xmm6
2701 movdqa %xmm14,%xmm15
2702 movups %xmm2,0(%rsi)
2703 movups %xmm3,16(%rsi)
2704 movups %xmm4,32(%rsi)
2705 movups %xmm5,48(%rsi)
2706 movups %xmm6,64(%rsi)
2717 movups %xmm2,0(%rsi)
2727 movdqa %xmm11,%xmm15
2728 movups %xmm2,0(%rsi)
2729 movups %xmm3,16(%rsi)
2739 movdqa %xmm12,%xmm15
2740 movups %xmm2,0(%rsi)
2741 movups %xmm3,16(%rsi)
2742 movups %xmm4,32(%rsi)
2750 movdqa %xmm13,%xmm15
2751 movups %xmm2,0(%rsi)
2752 movups %xmm3,16(%rsi)
2753 movups %xmm4,32(%rsi)
2754 movups %xmm5,48(%rsi)
2790 .cfi_def_cfa_register %rsp
2794 .size aesni_ocb_encrypt,.-aesni_ocb_encrypt
2796 .type __ocb_encrypt6,@function
2801 movdqu (%rbx,%r12,1),%xmm11
2802 movdqa %xmm10,%xmm12
2803 movdqu (%rbx,%r13,1),%xmm13
2804 movdqa %xmm10,%xmm14
2806 movdqu (%rbx,%r14,1),%xmm15
2824 movups 32(%r11),%xmm0
2835 .byte 102,15,56,220,209
2836 .byte 102,15,56,220,217
2837 .byte 102,15,56,220,225
2838 .byte 102,15,56,220,233
2841 .byte 102,15,56,220,241
2844 .byte 102,15,56,220,249
2845 movups 48(%r11),%xmm1
2848 .byte 102,15,56,220,208
2849 .byte 102,15,56,220,216
2850 .byte 102,15,56,220,224
2851 .byte 102,15,56,220,232
2852 .byte 102,15,56,220,240
2853 .byte 102,15,56,220,248
2854 movups 64(%r11),%xmm0
2861 .byte 102,15,56,220,209
2862 .byte 102,15,56,220,217
2863 .byte 102,15,56,220,225
2864 .byte 102,15,56,220,233
2865 .byte 102,15,56,220,241
2866 .byte 102,15,56,220,249
2867 movups (%rcx,%rax,1),%xmm1
2870 .byte 102,15,56,220,208
2871 .byte 102,15,56,220,216
2872 .byte 102,15,56,220,224
2873 .byte 102,15,56,220,232
2874 .byte 102,15,56,220,240
2875 .byte 102,15,56,220,248
2876 movups -16(%rcx,%rax,1),%xmm0
2879 .byte 102,15,56,220,209
2880 .byte 102,15,56,220,217
2881 .byte 102,15,56,220,225
2882 .byte 102,15,56,220,233
2883 .byte 102,15,56,220,241
2884 .byte 102,15,56,220,249
2885 movups 16(%r11),%xmm1
2888 .byte 102,65,15,56,221,210
2889 movdqu (%rbx),%xmm10
2891 .byte 102,65,15,56,221,219
2892 .byte 102,65,15,56,221,228
2893 .byte 102,65,15,56,221,237
2894 .byte 102,65,15,56,221,246
2895 .byte 102,65,15,56,221,255
2898 .size __ocb_encrypt6,.-__ocb_encrypt6
2900 .type __ocb_encrypt4,@function
2905 movdqu (%rbx,%r12,1),%xmm11
2906 movdqa %xmm10,%xmm12
2907 movdqu (%rbx,%r13,1),%xmm13
2920 movups 32(%r11),%xmm0
2927 .byte 102,15,56,220,209
2928 .byte 102,15,56,220,217
2929 .byte 102,15,56,220,225
2930 .byte 102,15,56,220,233
2931 movups 48(%r11),%xmm1
2933 .byte 102,15,56,220,208
2934 .byte 102,15,56,220,216
2935 .byte 102,15,56,220,224
2936 .byte 102,15,56,220,232
2937 movups 64(%r11),%xmm0
2942 .byte 102,15,56,220,209
2943 .byte 102,15,56,220,217
2944 .byte 102,15,56,220,225
2945 .byte 102,15,56,220,233
2946 movups (%rcx,%rax,1),%xmm1
2949 .byte 102,15,56,220,208
2950 .byte 102,15,56,220,216
2951 .byte 102,15,56,220,224
2952 .byte 102,15,56,220,232
2953 movups -16(%rcx,%rax,1),%xmm0
2956 .byte 102,15,56,220,209
2957 .byte 102,15,56,220,217
2958 .byte 102,15,56,220,225
2959 .byte 102,15,56,220,233
2960 movups 16(%r11),%xmm1
2963 .byte 102,65,15,56,221,210
2964 .byte 102,65,15,56,221,219
2965 .byte 102,65,15,56,221,228
2966 .byte 102,65,15,56,221,237
2969 .size __ocb_encrypt4,.-__ocb_encrypt4
2971 .type __ocb_encrypt1,@function
2979 movups 32(%r11),%xmm0
2981 .byte 102,15,56,220,209
2982 movups 48(%r11),%xmm1
2985 .byte 102,15,56,220,208
2986 movups 64(%r11),%xmm0
2991 .byte 102,15,56,220,209
2992 movups (%rcx,%rax,1),%xmm1
2995 .byte 102,15,56,220,208
2996 movups -16(%rcx,%rax,1),%xmm0
2999 .byte 102,15,56,220,209
3000 movups 16(%r11),%xmm1
3003 .byte 102,15,56,221,215
3006 .size __ocb_encrypt1,.-__ocb_encrypt1
3008 .globl aesni_ocb_decrypt
3009 .type aesni_ocb_decrypt,@function
3015 .cfi_adjust_cfa_offset 8
3016 .cfi_offset %rbx,-16
3018 .cfi_adjust_cfa_offset 8
3019 .cfi_offset %rbp,-24
3021 .cfi_adjust_cfa_offset 8
3022 .cfi_offset %r12,-32
3024 .cfi_adjust_cfa_offset 8
3025 .cfi_offset %r13,-40
3027 .cfi_adjust_cfa_offset 8
3028 .cfi_offset %r14,-48
3032 movl 240(%rcx),%r10d
3036 movups 16(%rcx,%r10,1),%xmm1
3043 leaq 32(%r11,%r10,1),%rcx
3044 movups 16(%r11),%xmm1
3048 movdqu (%rbx),%xmm10
3057 movdqu (%rbx,%r12,1),%xmm7
3084 jmp .Locb_dec_grandloop
3087 .Locb_dec_grandloop:
3088 movdqu 0(%rdi),%xmm2
3089 movdqu 16(%rdi),%xmm3
3090 movdqu 32(%rdi),%xmm4
3091 movdqu 48(%rdi),%xmm5
3092 movdqu 64(%rdi),%xmm6
3093 movdqu 80(%rdi),%xmm7
3098 movups %xmm2,0(%rsi)
3100 movups %xmm3,16(%rsi)
3102 movups %xmm4,32(%rsi)
3104 movups %xmm5,48(%rsi)
3106 movups %xmm6,64(%rsi)
3108 movups %xmm7,80(%rsi)
3112 jnc .Locb_dec_grandloop
3118 movdqu 0(%rdi),%xmm2
3121 movdqu 16(%rdi),%xmm3
3124 movdqu 32(%rdi),%xmm4
3127 movdqu 48(%rdi),%xmm5
3130 movdqu 64(%rdi),%xmm6
3135 movdqa %xmm14,%xmm15
3136 movups %xmm2,0(%rsi)
3138 movups %xmm3,16(%rsi)
3140 movups %xmm4,32(%rsi)
3142 movups %xmm5,48(%rsi)
3144 movups %xmm6,64(%rsi)
3156 movups %xmm2,0(%rsi)
3167 movdqa %xmm11,%xmm15
3168 movups %xmm2,0(%rsi)
3170 movups %xmm3,16(%rsi)
3181 movdqa %xmm12,%xmm15
3182 movups %xmm2,0(%rsi)
3184 movups %xmm3,16(%rsi)
3186 movups %xmm4,32(%rsi)
3195 movdqa %xmm13,%xmm15
3196 movups %xmm2,0(%rsi)
3198 movups %xmm3,16(%rsi)
3200 movups %xmm4,32(%rsi)
3202 movups %xmm5,48(%rsi)
3239 .cfi_def_cfa_register %rsp
3243 .size aesni_ocb_decrypt,.-aesni_ocb_decrypt
3245 .type __ocb_decrypt6,@function
3250 movdqu (%rbx,%r12,1),%xmm11
3251 movdqa %xmm10,%xmm12
3252 movdqu (%rbx,%r13,1),%xmm13
3253 movdqa %xmm10,%xmm14
3255 movdqu (%rbx,%r14,1),%xmm15
3267 movups 32(%r11),%xmm0
3278 .byte 102,15,56,222,209
3279 .byte 102,15,56,222,217
3280 .byte 102,15,56,222,225
3281 .byte 102,15,56,222,233
3284 .byte 102,15,56,222,241
3287 .byte 102,15,56,222,249
3288 movups 48(%r11),%xmm1
3291 .byte 102,15,56,222,208
3292 .byte 102,15,56,222,216
3293 .byte 102,15,56,222,224
3294 .byte 102,15,56,222,232
3295 .byte 102,15,56,222,240
3296 .byte 102,15,56,222,248
3297 movups 64(%r11),%xmm0
3304 .byte 102,15,56,222,209
3305 .byte 102,15,56,222,217
3306 .byte 102,15,56,222,225
3307 .byte 102,15,56,222,233
3308 .byte 102,15,56,222,241
3309 .byte 102,15,56,222,249
3310 movups (%rcx,%rax,1),%xmm1
3313 .byte 102,15,56,222,208
3314 .byte 102,15,56,222,216
3315 .byte 102,15,56,222,224
3316 .byte 102,15,56,222,232
3317 .byte 102,15,56,222,240
3318 .byte 102,15,56,222,248
3319 movups -16(%rcx,%rax,1),%xmm0
3322 .byte 102,15,56,222,209
3323 .byte 102,15,56,222,217
3324 .byte 102,15,56,222,225
3325 .byte 102,15,56,222,233
3326 .byte 102,15,56,222,241
3327 .byte 102,15,56,222,249
3328 movups 16(%r11),%xmm1
3331 .byte 102,65,15,56,223,210
3332 movdqu (%rbx),%xmm10
3334 .byte 102,65,15,56,223,219
3335 .byte 102,65,15,56,223,228
3336 .byte 102,65,15,56,223,237
3337 .byte 102,65,15,56,223,246
3338 .byte 102,65,15,56,223,255
3341 .size __ocb_decrypt6,.-__ocb_decrypt6
3343 .type __ocb_decrypt4,@function
3348 movdqu (%rbx,%r12,1),%xmm11
3349 movdqa %xmm10,%xmm12
3350 movdqu (%rbx,%r13,1),%xmm13
3359 movups 32(%r11),%xmm0
3366 .byte 102,15,56,222,209
3367 .byte 102,15,56,222,217
3368 .byte 102,15,56,222,225
3369 .byte 102,15,56,222,233
3370 movups 48(%r11),%xmm1
3372 .byte 102,15,56,222,208
3373 .byte 102,15,56,222,216
3374 .byte 102,15,56,222,224
3375 .byte 102,15,56,222,232
3376 movups 64(%r11),%xmm0
3381 .byte 102,15,56,222,209
3382 .byte 102,15,56,222,217
3383 .byte 102,15,56,222,225
3384 .byte 102,15,56,222,233
3385 movups (%rcx,%rax,1),%xmm1
3388 .byte 102,15,56,222,208
3389 .byte 102,15,56,222,216
3390 .byte 102,15,56,222,224
3391 .byte 102,15,56,222,232
3392 movups -16(%rcx,%rax,1),%xmm0
3395 .byte 102,15,56,222,209
3396 .byte 102,15,56,222,217
3397 .byte 102,15,56,222,225
3398 .byte 102,15,56,222,233
3399 movups 16(%r11),%xmm1
3402 .byte 102,65,15,56,223,210
3403 .byte 102,65,15,56,223,219
3404 .byte 102,65,15,56,223,228
3405 .byte 102,65,15,56,223,237
3408 .size __ocb_decrypt4,.-__ocb_decrypt4
3410 .type __ocb_decrypt1,@function
3417 movups 32(%r11),%xmm0
3419 .byte 102,15,56,222,209
3420 movups 48(%r11),%xmm1
3423 .byte 102,15,56,222,208
3424 movups 64(%r11),%xmm0
3429 .byte 102,15,56,222,209
3430 movups (%rcx,%rax,1),%xmm1
3433 .byte 102,15,56,222,208
3434 movups -16(%rcx,%rax,1),%xmm0
3437 .byte 102,15,56,222,209
3438 movups 16(%r11),%xmm1
3441 .byte 102,15,56,223,215
3444 .size __ocb_decrypt1,.-__ocb_decrypt1
3445 .globl aesni_cbc_encrypt
3446 .type aesni_cbc_encrypt,@function
3453 movl 240(%rcx),%r10d
3470 movups 16(%rcx),%xmm1
3475 .byte 102,15,56,220,209
3480 .byte 102,15,56,221,209
3483 movups %xmm2,0(%rsi)
3514 jne .Lcbc_decrypt_bulk
3522 movups 16(%rcx),%xmm1
3526 .byte 102,15,56,222,209
3531 .byte 102,15,56,223,209
3543 .cfi_def_cfa_register %r11
3545 .cfi_offset %rbp,-16
3555 movdqu 0(%rdi),%xmm2
3556 movdqu 16(%rdi),%xmm3
3558 movdqu 32(%rdi),%xmm4
3560 movdqu 48(%rdi),%xmm5
3562 movdqu 64(%rdi),%xmm6
3564 movdqu 80(%rdi),%xmm7
3566 movl OPENSSL_ia32cap_P+4(%rip),%r9d
3568 jbe .Lcbc_dec_six_or_seven
3573 je .Lcbc_dec_loop6_enter
3576 jmp .Lcbc_dec_loop8_enter
3581 .Lcbc_dec_loop8_enter:
3582 movdqu 96(%rdi),%xmm8
3584 movdqu 112(%rdi),%xmm9
3586 movups 16-112(%rcx),%xmm1
3595 .byte 102,15,56,222,209
3597 movups 32-112(%rcx),%xmm0
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
3606 .byte 102,68,15,56,222,201
3608 movups 48-112(%rcx),%xmm1
3609 .byte 102,15,56,222,208
3610 .byte 102,15,56,222,216
3611 .byte 102,15,56,222,224
3612 .byte 102,15,56,222,232
3613 .byte 102,15,56,222,240
3614 .byte 102,15,56,222,248
3615 .byte 102,68,15,56,222,192
3616 .byte 102,68,15,56,222,200
3617 movups 64-112(%rcx),%xmm0
3619 .byte 102,15,56,222,209
3620 .byte 102,15,56,222,217
3621 .byte 102,15,56,222,225
3622 .byte 102,15,56,222,233
3623 .byte 102,15,56,222,241
3624 .byte 102,15,56,222,249
3625 .byte 102,68,15,56,222,193
3626 .byte 102,68,15,56,222,201
3627 movups 80-112(%rcx),%xmm1
3629 .byte 102,15,56,222,208
3630 .byte 102,15,56,222,216
3631 .byte 102,15,56,222,224
3632 .byte 102,15,56,222,232
3633 .byte 102,15,56,222,240
3634 .byte 102,15,56,222,248
3635 .byte 102,68,15,56,222,192
3636 .byte 102,68,15,56,222,200
3637 movups 96-112(%rcx),%xmm0
3639 .byte 102,15,56,222,209
3640 .byte 102,15,56,222,217
3641 .byte 102,15,56,222,225
3642 .byte 102,15,56,222,233
3643 .byte 102,15,56,222,241
3644 .byte 102,15,56,222,249
3645 .byte 102,68,15,56,222,193
3646 .byte 102,68,15,56,222,201
3647 movups 112-112(%rcx),%xmm1
3649 .byte 102,15,56,222,208
3650 .byte 102,15,56,222,216
3651 .byte 102,15,56,222,224
3652 .byte 102,15,56,222,232
3653 .byte 102,15,56,222,240
3654 .byte 102,15,56,222,248
3655 .byte 102,68,15,56,222,192
3656 .byte 102,68,15,56,222,200
3657 movups 128-112(%rcx),%xmm0
3659 .byte 102,15,56,222,209
3660 .byte 102,15,56,222,217
3661 .byte 102,15,56,222,225
3662 .byte 102,15,56,222,233
3663 .byte 102,15,56,222,241
3664 .byte 102,15,56,222,249
3665 .byte 102,68,15,56,222,193
3666 .byte 102,68,15,56,222,201
3667 movups 144-112(%rcx),%xmm1
3669 .byte 102,15,56,222,208
3670 .byte 102,15,56,222,216
3671 .byte 102,15,56,222,224
3672 .byte 102,15,56,222,232
3673 .byte 102,15,56,222,240
3674 .byte 102,15,56,222,248
3675 .byte 102,68,15,56,222,192
3676 .byte 102,68,15,56,222,200
3677 movups 160-112(%rcx),%xmm0
3679 .byte 102,15,56,222,209
3680 .byte 102,15,56,222,217
3681 .byte 102,15,56,222,225
3682 .byte 102,15,56,222,233
3683 .byte 102,15,56,222,241
3684 .byte 102,15,56,222,249
3685 .byte 102,68,15,56,222,193
3686 .byte 102,68,15,56,222,201
3687 movups 176-112(%rcx),%xmm1
3689 .byte 102,15,56,222,208
3690 .byte 102,15,56,222,216
3691 .byte 102,15,56,222,224
3692 .byte 102,15,56,222,232
3693 .byte 102,15,56,222,240
3694 .byte 102,15,56,222,248
3695 .byte 102,68,15,56,222,192
3696 .byte 102,68,15,56,222,200
3697 movups 192-112(%rcx),%xmm0
3699 .byte 102,15,56,222,209
3700 .byte 102,15,56,222,217
3701 .byte 102,15,56,222,225
3702 .byte 102,15,56,222,233
3703 .byte 102,15,56,222,241
3704 .byte 102,15,56,222,249
3705 .byte 102,68,15,56,222,193
3706 .byte 102,68,15,56,222,201
3707 movups 208-112(%rcx),%xmm1
3709 .byte 102,15,56,222,208
3710 .byte 102,15,56,222,216
3711 .byte 102,15,56,222,224
3712 .byte 102,15,56,222,232
3713 .byte 102,15,56,222,240
3714 .byte 102,15,56,222,248
3715 .byte 102,68,15,56,222,192
3716 .byte 102,68,15,56,222,200
3717 movups 224-112(%rcx),%xmm0
3721 .byte 102,15,56,222,209
3722 .byte 102,15,56,222,217
3725 .byte 102,15,56,222,225
3726 .byte 102,15,56,222,233
3729 .byte 102,15,56,222,241
3730 .byte 102,15,56,222,249
3733 .byte 102,68,15,56,222,193
3734 .byte 102,68,15,56,222,201
3735 movdqu 80(%rdi),%xmm1
3737 .byte 102,65,15,56,223,210
3738 movdqu 96(%rdi),%xmm10
3740 .byte 102,65,15,56,223,219
3742 movdqu 112(%rdi),%xmm0
3743 .byte 102,65,15,56,223,228
3745 movdqu 0(%rbp),%xmm11
3746 .byte 102,65,15,56,223,237
3747 .byte 102,65,15,56,223,246
3748 movdqu 16(%rbp),%xmm12
3749 movdqu 32(%rbp),%xmm13
3750 .byte 102,65,15,56,223,255
3751 .byte 102,68,15,56,223,193
3752 movdqu 48(%rbp),%xmm14
3753 movdqu 64(%rbp),%xmm15
3754 .byte 102,69,15,56,223,202
3756 movdqu 80(%rbp),%xmm1
3757 movups -112(%rcx),%xmm0
3761 movups %xmm3,16(%rsi)
3763 movups %xmm4,32(%rsi)
3765 movups %xmm5,48(%rsi)
3767 movups %xmm6,64(%rsi)
3769 movups %xmm7,80(%rsi)
3771 movups %xmm8,96(%rsi)
3778 leaq -112(%rcx),%rcx
3780 jle .Lcbc_dec_clear_tail_collected
3787 .Lcbc_dec_six_or_seven:
3792 call _aesni_decrypt6
3798 movdqu %xmm3,16(%rsi)
3801 movdqu %xmm4,32(%rsi)
3804 movdqu %xmm5,48(%rsi)
3807 movdqu %xmm6,64(%rsi)
3812 jmp .Lcbc_dec_tail_collected
3816 movups 96(%rdi),%xmm8
3818 call _aesni_decrypt8
3819 movups 80(%rdi),%xmm9
3821 movups 96(%rdi),%xmm10
3825 movdqu %xmm3,16(%rsi)
3828 movdqu %xmm4,32(%rsi)
3831 movdqu %xmm5,48(%rsi)
3834 movdqu %xmm6,64(%rsi)
3837 movdqu %xmm7,80(%rsi)
3843 jmp .Lcbc_dec_tail_collected
3849 movdqu 0(%rdi),%xmm2
3850 movdqu 16(%rdi),%xmm3
3852 movdqu 32(%rdi),%xmm4
3854 movdqu 48(%rdi),%xmm5
3856 movdqu 64(%rdi),%xmm6
3858 movdqu 80(%rdi),%xmm7
3860 .Lcbc_dec_loop6_enter:
3864 call _aesni_decrypt6
3871 movdqu %xmm3,16(%rsi)
3873 movdqu %xmm4,32(%rsi)
3876 movdqu %xmm5,48(%rsi)
3879 movdqu %xmm6,64(%rsi)
3886 jle .Lcbc_dec_clear_tail_collected
3895 movups 16(%rdi),%xmm3
3900 movups 32(%rdi),%xmm4
3905 movups 48(%rdi),%xmm5
3910 movups 64(%rdi),%xmm6
3914 call _aesni_decrypt6
3916 movaps %xmm15,%xmm10
3920 movdqu %xmm3,16(%rsi)
3923 movdqu %xmm4,32(%rsi)
3926 movdqu %xmm5,48(%rsi)
3933 jmp .Lcbc_dec_tail_collected
3939 movups 16(%rcx),%xmm1
3943 .byte 102,15,56,222,209
3948 .byte 102,15,56,223,209
3950 movaps %xmm11,%xmm10
3951 jmp .Lcbc_dec_tail_collected
3955 call _aesni_decrypt2
3957 movaps %xmm12,%xmm10
3963 jmp .Lcbc_dec_tail_collected
3967 call _aesni_decrypt3
3969 movaps %xmm13,%xmm10
3973 movdqu %xmm3,16(%rsi)
3978 jmp .Lcbc_dec_tail_collected
3982 call _aesni_decrypt4
3984 movaps %xmm14,%xmm10
3988 movdqu %xmm3,16(%rsi)
3991 movdqu %xmm4,32(%rsi)
3996 jmp .Lcbc_dec_tail_collected
3999 .Lcbc_dec_clear_tail_collected:
4007 .Lcbc_dec_tail_collected:
4010 jnz .Lcbc_dec_tail_partial
4015 .Lcbc_dec_tail_partial:
4031 .cfi_def_cfa_register %rsp
4035 .size aesni_cbc_encrypt,.-aesni_cbc_encrypt
4036 .globl aesni_set_decrypt_key
4037 .type aesni_set_decrypt_key,@function
4039 aesni_set_decrypt_key:
4041 .byte 0x48,0x83,0xEC,0x08
4042 .cfi_adjust_cfa_offset 8
4043 call __aesni_set_encrypt_key
4047 leaq 16(%rdx,%rsi,1),%rdi
4059 .byte 102,15,56,219,192
4060 .byte 102,15,56,219,201
4063 movups %xmm0,16(%rdi)
4064 movups %xmm1,-16(%rdx)
4066 ja .Ldec_key_inverse
4069 .byte 102,15,56,219,192
4075 .cfi_adjust_cfa_offset -8
4078 .LSEH_end_set_decrypt_key:
4079 .size aesni_set_decrypt_key,.-aesni_set_decrypt_key
4080 .globl aesni_set_encrypt_key
4081 .type aesni_set_encrypt_key,@function
4083 aesni_set_encrypt_key:
4084 __aesni_set_encrypt_key:
4086 .byte 0x48,0x83,0xEC,0x08
4087 .cfi_adjust_cfa_offset 8
4094 movl $268437504,%r10d
4097 andl OPENSSL_ia32cap_P+4(%rip),%r10d
4108 cmpl $268435456,%r10d
4112 .byte 102,15,58,223,200,1
4113 call .Lkey_expansion_128_cold
4114 .byte 102,15,58,223,200,2
4115 call .Lkey_expansion_128
4116 .byte 102,15,58,223,200,4
4117 call .Lkey_expansion_128
4118 .byte 102,15,58,223,200,8
4119 call .Lkey_expansion_128
4120 .byte 102,15,58,223,200,16
4121 call .Lkey_expansion_128
4122 .byte 102,15,58,223,200,32
4123 call .Lkey_expansion_128
4124 .byte 102,15,58,223,200,64
4125 call .Lkey_expansion_128
4126 .byte 102,15,58,223,200,128
4127 call .Lkey_expansion_128
4128 .byte 102,15,58,223,200,27
4129 call .Lkey_expansion_128
4130 .byte 102,15,58,223,200,54
4131 call .Lkey_expansion_128
4139 movdqa .Lkey_rotate(%rip),%xmm5
4141 movdqa .Lkey_rcon1(%rip),%xmm4
4148 .byte 102,15,56,0,197
4149 .byte 102,15,56,221,196
4162 movdqu %xmm0,-16(%rax)
4168 movdqa .Lkey_rcon1b(%rip),%xmm4
4170 .byte 102,15,56,0,197
4171 .byte 102,15,56,221,196
4186 .byte 102,15,56,0,197
4187 .byte 102,15,56,221,196
4198 movdqu %xmm0,16(%rax)
4208 cmpl $268435456,%r10d
4212 .byte 102,15,58,223,202,1
4213 call .Lkey_expansion_192a_cold
4214 .byte 102,15,58,223,202,2
4215 call .Lkey_expansion_192b
4216 .byte 102,15,58,223,202,4
4217 call .Lkey_expansion_192a
4218 .byte 102,15,58,223,202,8
4219 call .Lkey_expansion_192b
4220 .byte 102,15,58,223,202,16
4221 call .Lkey_expansion_192a
4222 .byte 102,15,58,223,202,32
4223 call .Lkey_expansion_192b
4224 .byte 102,15,58,223,202,64
4225 call .Lkey_expansion_192a
4226 .byte 102,15,58,223,202,128
4227 call .Lkey_expansion_192b
4235 movdqa .Lkey_rotate192(%rip),%xmm5
4236 movdqa .Lkey_rcon1(%rip),%xmm4
4245 .byte 102,15,56,0,213
4246 .byte 102,15,56,221,212
4258 pshufd $0xff,%xmm0,%xmm3
4265 movdqu %xmm0,-16(%rax)
4276 movups 16(%rdi),%xmm2
4279 cmpl $268435456,%r10d
4283 movups %xmm2,16(%rdx)
4284 .byte 102,15,58,223,202,1
4285 call .Lkey_expansion_256a_cold
4286 .byte 102,15,58,223,200,1
4287 call .Lkey_expansion_256b
4288 .byte 102,15,58,223,202,2
4289 call .Lkey_expansion_256a
4290 .byte 102,15,58,223,200,2
4291 call .Lkey_expansion_256b
4292 .byte 102,15,58,223,202,4
4293 call .Lkey_expansion_256a
4294 .byte 102,15,58,223,200,4
4295 call .Lkey_expansion_256b
4296 .byte 102,15,58,223,202,8
4297 call .Lkey_expansion_256a
4298 .byte 102,15,58,223,200,8
4299 call .Lkey_expansion_256b
4300 .byte 102,15,58,223,202,16
4301 call .Lkey_expansion_256a
4302 .byte 102,15,58,223,200,16
4303 call .Lkey_expansion_256b
4304 .byte 102,15,58,223,202,32
4305 call .Lkey_expansion_256a
4306 .byte 102,15,58,223,200,32
4307 call .Lkey_expansion_256b
4308 .byte 102,15,58,223,202,64
4309 call .Lkey_expansion_256a
4317 movdqa .Lkey_rotate(%rip),%xmm5
4318 movdqa .Lkey_rcon1(%rip),%xmm4
4320 movdqu %xmm0,0(%rdx)
4322 movdqu %xmm2,16(%rdx)
4327 .byte 102,15,56,0,213
4328 .byte 102,15,56,221,212
4345 pshufd $0xff,%xmm0,%xmm2
4347 .byte 102,15,56,221,211
4358 movdqu %xmm2,16(%rax)
4380 .cfi_adjust_cfa_offset -8
4382 .LSEH_end_set_encrypt_key:
4385 .Lkey_expansion_128:
4388 .Lkey_expansion_128_cold:
4389 shufps $16,%xmm0,%xmm4
4391 shufps $140,%xmm0,%xmm4
4393 shufps $255,%xmm1,%xmm1
4398 .Lkey_expansion_192a:
4401 .Lkey_expansion_192a_cold:
4403 .Lkey_expansion_192b_warm:
4404 shufps $16,%xmm0,%xmm4
4407 shufps $140,%xmm0,%xmm4
4410 pshufd $85,%xmm1,%xmm1
4413 pshufd $255,%xmm0,%xmm3
4418 .Lkey_expansion_192b:
4420 shufps $68,%xmm0,%xmm5
4422 shufps $78,%xmm2,%xmm3
4423 movups %xmm3,16(%rax)
4425 jmp .Lkey_expansion_192b_warm
4428 .Lkey_expansion_256a:
4431 .Lkey_expansion_256a_cold:
4432 shufps $16,%xmm0,%xmm4
4434 shufps $140,%xmm0,%xmm4
4436 shufps $255,%xmm1,%xmm1
4441 .Lkey_expansion_256b:
4445 shufps $16,%xmm2,%xmm4
4447 shufps $140,%xmm2,%xmm4
4449 shufps $170,%xmm1,%xmm1
4453 .size aesni_set_encrypt_key,.-aesni_set_encrypt_key
4454 .size __aesni_set_encrypt_key,.-__aesni_set_encrypt_key
4457 .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
4465 .byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
4467 .long 0x0c0f0e0d,0x0c0f0e0d,0x0c0f0e0d,0x0c0f0e0d
4469 .long 0x04070605,0x04070605,0x04070605,0x04070605
4473 .long 0x1b,0x1b,0x1b,0x1b
4475 .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