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:
868 movdqa .Lincrement64(%rip),%xmm9
869 movdqa .Lbswap_mask(%rip),%xmm7
876 leaq 32(%rcx,%rax,1),%rcx
877 .byte 102,15,56,0,247
879 jmp .Lccm64_enc_outer
887 movups 16(%r11),%xmm1
890 movups 32(%r11),%xmm0
893 .byte 102,15,56,220,209
894 .byte 102,15,56,220,217
895 movups (%rcx,%rax,1),%xmm1
897 .byte 102,15,56,220,208
898 .byte 102,15,56,220,216
899 movups -16(%rcx,%rax,1),%xmm0
900 jnz .Lccm64_enc2_loop
901 .byte 102,15,56,220,209
902 .byte 102,15,56,220,217
905 .byte 102,15,56,221,208
906 .byte 102,15,56,221,216
912 .byte 102,15,56,0,215
914 jnz .Lccm64_enc_outer
924 .size aesni_ccm64_encrypt_blocks,.-aesni_ccm64_encrypt_blocks
925 .globl aesni_ccm64_decrypt_blocks
926 .type aesni_ccm64_decrypt_blocks,@function
928 aesni_ccm64_decrypt_blocks:
932 movdqa .Lincrement64(%rip),%xmm9
933 movdqa .Lbswap_mask(%rip),%xmm7
938 .byte 102,15,56,0,247
940 movups 16(%rcx),%xmm1
944 .byte 102,15,56,220,209
949 .byte 102,15,56,221,209
956 leaq 32(%r11,%r10,1),%rcx
958 jmp .Lccm64_dec_outer
965 .byte 102,15,56,0,215
972 movups 16(%r11),%xmm1
976 movups 32(%r11),%xmm0
977 jmp .Lccm64_dec2_loop
980 .byte 102,15,56,220,209
981 .byte 102,15,56,220,217
982 movups (%rcx,%rax,1),%xmm1
984 .byte 102,15,56,220,208
985 .byte 102,15,56,220,216
986 movups -16(%rcx,%rax,1),%xmm0
987 jnz .Lccm64_dec2_loop
990 .byte 102,15,56,220,209
991 .byte 102,15,56,220,217
992 .byte 102,15,56,221,208
993 .byte 102,15,56,221,216
995 jmp .Lccm64_dec_outer
1002 movups 16(%r11),%xmm1
1007 .byte 102,15,56,220,217
1012 .byte 102,15,56,221,217
1021 .size aesni_ccm64_decrypt_blocks,.-aesni_ccm64_decrypt_blocks
1022 .globl aesni_ctr32_encrypt_blocks
1023 .type aesni_ctr32_encrypt_blocks,@function
1025 aesni_ctr32_encrypt_blocks:
1036 movups 16(%rcx),%xmm1
1040 .byte 102,15,56,220,209
1045 .byte 102,15,56,221,209
1052 jmp .Lctr32_epilogue
1057 .cfi_def_cfa_register %r11
1059 .cfi_offset %rbp,-16
1071 movdqa %xmm2,0(%rsp)
1076 movdqa %xmm2,64(%rsp)
1077 movdqa %xmm2,80(%rsp)
1078 movdqa %xmm2,96(%rsp)
1080 movdqa %xmm2,112(%rsp)
1088 .byte 102,15,58,34,216,3
1090 movdqa %xmm3,16(%rsp)
1091 .byte 102,15,58,34,226,3
1095 movdqa %xmm4,32(%rsp)
1098 .byte 102,15,58,34,232,3
1100 movdqa %xmm5,48(%rsp)
1102 movl %r10d,64+12(%rsp)
1108 movl %r9d,80+12(%rsp)
1111 movl %r10d,96+12(%rsp)
1113 movl OPENSSL_ia32cap_P+4(%rip),%r10d
1115 andl $71303168,%r10d
1116 movl %r9d,112+12(%rsp)
1118 movups 16(%rcx),%xmm1
1120 movdqa 64(%rsp),%xmm6
1121 movdqa 80(%rsp),%xmm7
1139 leaq 32(%rcx,%rax,1),%rcx
1146 movups -48(%rcx,%r10,1),%xmm0
1147 .byte 102,15,56,220,209
1150 .byte 102,15,56,220,217
1151 .byte 0x0f,0x38,0xf1,0x44,0x24,12
1153 .byte 102,15,56,220,225
1155 .byte 0x0f,0x38,0xf1,0x44,0x24,28
1156 .byte 102,15,56,220,233
1159 .byte 102,15,56,220,241
1160 .byte 0x0f,0x38,0xf1,0x44,0x24,44
1162 .byte 102,15,56,220,249
1163 movups -32(%rcx,%r10,1),%xmm1
1166 .byte 102,15,56,220,208
1167 .byte 0x0f,0x38,0xf1,0x44,0x24,60
1169 .byte 102,15,56,220,216
1171 .byte 0x0f,0x38,0xf1,0x44,0x24,76
1172 .byte 102,15,56,220,224
1175 .byte 102,15,56,220,232
1176 .byte 0x0f,0x38,0xf1,0x44,0x24,92
1178 .byte 102,15,56,220,240
1179 .byte 102,15,56,220,248
1180 movups -16(%rcx,%r10,1),%xmm0
1185 movdqu 16(%rdi),%xmm9
1186 movdqu 32(%rdi),%xmm10
1187 movdqu 48(%rdi),%xmm11
1188 movdqu 64(%rdi),%xmm12
1189 movdqu 80(%rdi),%xmm13
1191 movups -64(%rcx,%r10,1),%xmm1
1193 movaps 0(%rsp),%xmm2
1195 movaps 16(%rsp),%xmm3
1197 movaps 32(%rsp),%xmm4
1199 movaps 48(%rsp),%xmm5
1201 movaps 64(%rsp),%xmm6
1203 movaps 80(%rsp),%xmm7
1205 movdqu %xmm9,16(%rsi)
1206 movdqu %xmm10,32(%rsi)
1207 movdqu %xmm11,48(%rsi)
1208 movdqu %xmm12,64(%rsi)
1209 movdqu %xmm13,80(%rsi)
1219 leaq -80(%rcx,%r10,1),%rcx
1227 movdqa 96(%rsp),%xmm8
1228 .byte 102,15,56,220,209
1230 movdqa 112(%rsp),%xmm9
1231 .byte 102,15,56,220,217
1233 movups 32-128(%rcx),%xmm0
1234 .byte 102,15,56,220,225
1237 .byte 102,15,56,220,233
1238 movl %r9d,0+12(%rsp)
1240 .byte 102,15,56,220,241
1241 .byte 102,15,56,220,249
1242 .byte 102,68,15,56,220,193
1243 .byte 102,68,15,56,220,201
1244 movups 48-128(%rcx),%xmm1
1246 .byte 102,15,56,220,208
1247 .byte 102,15,56,220,216
1250 .byte 102,15,56,220,224
1251 .byte 102,15,56,220,232
1252 movl %r9d,16+12(%rsp)
1254 .byte 102,15,56,220,240
1255 .byte 102,15,56,220,248
1256 .byte 102,68,15,56,220,192
1257 .byte 102,68,15,56,220,200
1258 movups 64-128(%rcx),%xmm0
1260 .byte 102,15,56,220,209
1261 .byte 102,15,56,220,217
1264 .byte 102,15,56,220,225
1265 .byte 102,15,56,220,233
1266 movl %r9d,32+12(%rsp)
1268 .byte 102,15,56,220,241
1269 .byte 102,15,56,220,249
1270 .byte 102,68,15,56,220,193
1271 .byte 102,68,15,56,220,201
1272 movups 80-128(%rcx),%xmm1
1274 .byte 102,15,56,220,208
1275 .byte 102,15,56,220,216
1278 .byte 102,15,56,220,224
1279 .byte 102,15,56,220,232
1280 movl %r9d,48+12(%rsp)
1282 .byte 102,15,56,220,240
1283 .byte 102,15,56,220,248
1284 .byte 102,68,15,56,220,192
1285 .byte 102,68,15,56,220,200
1286 movups 96-128(%rcx),%xmm0
1288 .byte 102,15,56,220,209
1289 .byte 102,15,56,220,217
1292 .byte 102,15,56,220,225
1293 .byte 102,15,56,220,233
1294 movl %r9d,64+12(%rsp)
1296 .byte 102,15,56,220,241
1297 .byte 102,15,56,220,249
1298 .byte 102,68,15,56,220,193
1299 .byte 102,68,15,56,220,201
1300 movups 112-128(%rcx),%xmm1
1302 .byte 102,15,56,220,208
1303 .byte 102,15,56,220,216
1306 .byte 102,15,56,220,224
1307 .byte 102,15,56,220,232
1308 movl %r9d,80+12(%rsp)
1310 .byte 102,15,56,220,240
1311 .byte 102,15,56,220,248
1312 .byte 102,68,15,56,220,192
1313 .byte 102,68,15,56,220,200
1314 movups 128-128(%rcx),%xmm0
1316 .byte 102,15,56,220,209
1317 .byte 102,15,56,220,217
1320 .byte 102,15,56,220,225
1321 .byte 102,15,56,220,233
1322 movl %r9d,96+12(%rsp)
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 144-128(%rcx),%xmm1
1330 .byte 102,15,56,220,208
1331 .byte 102,15,56,220,216
1332 .byte 102,15,56,220,224
1334 movdqu 0(%rdi),%xmm10
1335 .byte 102,15,56,220,232
1336 movl %r9d,112+12(%rsp)
1338 .byte 102,15,56,220,240
1339 .byte 102,15,56,220,248
1340 .byte 102,68,15,56,220,192
1341 .byte 102,68,15,56,220,200
1342 movups 160-128(%rcx),%xmm0
1346 .byte 102,15,56,220,209
1347 .byte 102,15,56,220,217
1348 .byte 102,15,56,220,225
1349 .byte 102,15,56,220,233
1350 .byte 102,15,56,220,241
1351 .byte 102,15,56,220,249
1352 .byte 102,68,15,56,220,193
1353 .byte 102,68,15,56,220,201
1354 movups 176-128(%rcx),%xmm1
1356 .byte 102,15,56,220,208
1357 .byte 102,15,56,220,216
1358 .byte 102,15,56,220,224
1359 .byte 102,15,56,220,232
1360 .byte 102,15,56,220,240
1361 .byte 102,15,56,220,248
1362 .byte 102,68,15,56,220,192
1363 .byte 102,68,15,56,220,200
1364 movups 192-128(%rcx),%xmm0
1367 .byte 102,15,56,220,209
1368 .byte 102,15,56,220,217
1369 .byte 102,15,56,220,225
1370 .byte 102,15,56,220,233
1371 .byte 102,15,56,220,241
1372 .byte 102,15,56,220,249
1373 .byte 102,68,15,56,220,193
1374 .byte 102,68,15,56,220,201
1375 movups 208-128(%rcx),%xmm1
1377 .byte 102,15,56,220,208
1378 .byte 102,15,56,220,216
1379 .byte 102,15,56,220,224
1380 .byte 102,15,56,220,232
1381 .byte 102,15,56,220,240
1382 .byte 102,15,56,220,248
1383 .byte 102,68,15,56,220,192
1384 .byte 102,68,15,56,220,200
1385 movups 224-128(%rcx),%xmm0
1386 jmp .Lctr32_enc_done
1390 movdqu 16(%rdi),%xmm11
1392 movdqu 32(%rdi),%xmm12
1394 movdqu 48(%rdi),%xmm13
1396 movdqu 64(%rdi),%xmm14
1398 movdqu 80(%rdi),%xmm15
1401 .byte 102,15,56,220,209
1402 .byte 102,15,56,220,217
1403 .byte 102,15,56,220,225
1404 .byte 102,15,56,220,233
1405 .byte 102,15,56,220,241
1406 .byte 102,15,56,220,249
1407 .byte 102,68,15,56,220,193
1408 .byte 102,68,15,56,220,201
1409 movdqu 96(%rdi),%xmm1
1412 .byte 102,65,15,56,221,210
1414 movdqu 112-128(%rdi),%xmm10
1415 .byte 102,65,15,56,221,219
1417 movdqa 0(%rsp),%xmm11
1418 .byte 102,65,15,56,221,228
1419 .byte 102,65,15,56,221,237
1420 movdqa 16(%rsp),%xmm12
1421 movdqa 32(%rsp),%xmm13
1422 .byte 102,65,15,56,221,246
1423 .byte 102,65,15,56,221,255
1424 movdqa 48(%rsp),%xmm14
1425 movdqa 64(%rsp),%xmm15
1426 .byte 102,68,15,56,221,193
1427 movdqa 80(%rsp),%xmm0
1428 movups 16-128(%rcx),%xmm1
1429 .byte 102,69,15,56,221,202
1433 movups %xmm3,16(%rsi)
1435 movups %xmm4,32(%rsi)
1437 movups %xmm5,48(%rsi)
1439 movups %xmm6,64(%rsi)
1441 movups %xmm7,80(%rsi)
1443 movups %xmm8,96(%rsi)
1444 movups %xmm9,112(%rsi)
1452 leaq -128(%rcx),%rcx
1464 movdqa 96(%rsp),%xmm8
1467 movups 16(%rcx),%xmm0
1468 .byte 102,15,56,220,209
1469 .byte 102,15,56,220,217
1470 leaq 32-16(%rcx,%rax,1),%rcx
1472 .byte 102,15,56,220,225
1474 movups (%rdi),%xmm10
1475 .byte 102,15,56,220,233
1476 .byte 102,15,56,220,241
1477 movups 16(%rdi),%xmm11
1478 movups 32(%rdi),%xmm12
1479 .byte 102,15,56,220,249
1480 .byte 102,68,15,56,220,193
1482 call .Lenc_loop8_enter
1484 movdqu 48(%rdi),%xmm13
1486 movdqu 64(%rdi),%xmm10
1490 movdqu %xmm3,16(%rsi)
1492 movdqu %xmm4,32(%rsi)
1494 movdqu %xmm5,48(%rsi)
1495 movdqu %xmm6,64(%rsi)
1499 movups 80(%rdi),%xmm11
1501 movups %xmm7,80(%rsi)
1504 movups 96(%rdi),%xmm12
1506 movups %xmm8,96(%rsi)
1511 .byte 102,15,56,220,209
1514 .byte 102,15,56,220,217
1515 .byte 102,15,56,220,225
1516 .byte 102,15,56,220,233
1519 .byte 102,15,56,221,209
1520 .byte 102,15,56,221,217
1521 movups (%rdi),%xmm10
1522 movups 16(%rdi),%xmm11
1523 .byte 102,15,56,221,225
1524 .byte 102,15,56,221,233
1525 movups 32(%rdi),%xmm12
1526 movups 48(%rdi),%xmm13
1531 movups %xmm3,16(%rsi)
1533 movdqu %xmm4,32(%rsi)
1535 movdqu %xmm5,48(%rsi)
1540 .byte 102,15,56,220,209
1543 .byte 102,15,56,220,217
1544 .byte 102,15,56,220,225
1547 .byte 102,15,56,221,209
1548 .byte 102,15,56,221,217
1549 .byte 102,15,56,221,225
1551 movups (%rdi),%xmm10
1557 movups 16(%rdi),%xmm11
1559 movups %xmm3,16(%rsi)
1562 movups 32(%rdi),%xmm12
1564 movups %xmm4,32(%rsi)
1576 movaps %xmm0,0(%rsp)
1578 movaps %xmm0,16(%rsp)
1580 movaps %xmm0,32(%rsp)
1582 movaps %xmm0,48(%rsp)
1584 movaps %xmm0,64(%rsp)
1586 movaps %xmm0,80(%rsp)
1588 movaps %xmm0,96(%rsp)
1590 movaps %xmm0,112(%rsp)
1595 .cfi_def_cfa_register %rsp
1599 .size aesni_ctr32_encrypt_blocks,.-aesni_ctr32_encrypt_blocks
1600 .globl aesni_xts_encrypt
1601 .type aesni_xts_encrypt,@function
1606 .cfi_def_cfa_register %r11
1608 .cfi_offset %rbp,-16
1613 movl 240(%rcx),%r10d
1615 movups 16(%r8),%xmm1
1619 .byte 102,15,56,220,209
1624 .byte 102,15,56,221,209
1632 movups 16(%rcx,%r10,1),%xmm1
1634 movdqa .Lxts_magic(%rip),%xmm8
1636 pshufd $0x5f,%xmm2,%xmm9
1640 movdqa %xmm15,%xmm10
1648 movdqa %xmm15,%xmm11
1656 movdqa %xmm15,%xmm12
1664 movdqa %xmm15,%xmm13
1670 movdqa %xmm15,%xmm14
1676 movaps %xmm1,96(%rsp)
1682 leaq 32(%rbp,%r10,1),%rcx
1684 movups 16(%rbp),%xmm1
1686 leaq .Lxts_magic(%rip),%r8
1687 jmp .Lxts_enc_grandloop
1690 .Lxts_enc_grandloop:
1691 movdqu 0(%rdi),%xmm2
1693 movdqu 16(%rdi),%xmm3
1695 movdqu 32(%rdi),%xmm4
1697 .byte 102,15,56,220,209
1698 movdqu 48(%rdi),%xmm5
1700 .byte 102,15,56,220,217
1701 movdqu 64(%rdi),%xmm6
1703 .byte 102,15,56,220,225
1704 movdqu 80(%rdi),%xmm7
1706 movdqa 96(%rsp),%xmm9
1708 .byte 102,15,56,220,233
1709 movups 32(%rbp),%xmm0
1714 .byte 102,15,56,220,241
1716 movdqa %xmm10,0(%rsp)
1717 .byte 102,15,56,220,249
1718 movups 48(%rbp),%xmm1
1721 .byte 102,15,56,220,208
1723 movdqa %xmm11,16(%rsp)
1724 .byte 102,15,56,220,216
1726 movdqa %xmm12,32(%rsp)
1727 .byte 102,15,56,220,224
1728 .byte 102,15,56,220,232
1730 movdqa %xmm14,64(%rsp)
1731 .byte 102,15,56,220,240
1732 .byte 102,15,56,220,248
1733 movups 64(%rbp),%xmm0
1734 movdqa %xmm8,80(%rsp)
1735 pshufd $0x5f,%xmm15,%xmm9
1739 .byte 102,15,56,220,209
1740 .byte 102,15,56,220,217
1741 .byte 102,15,56,220,225
1742 .byte 102,15,56,220,233
1743 .byte 102,15,56,220,241
1744 .byte 102,15,56,220,249
1745 movups -64(%rcx,%rax,1),%xmm1
1748 .byte 102,15,56,220,208
1749 .byte 102,15,56,220,216
1750 .byte 102,15,56,220,224
1751 .byte 102,15,56,220,232
1752 .byte 102,15,56,220,240
1753 .byte 102,15,56,220,248
1754 movups -80(%rcx,%rax,1),%xmm0
1760 .byte 102,15,56,220,209
1763 .byte 102,15,56,220,217
1765 movups (%rbp),%xmm10
1766 .byte 102,15,56,220,225
1767 .byte 102,15,56,220,233
1768 .byte 102,15,56,220,241
1770 movaps %xmm10,%xmm11
1771 .byte 102,15,56,220,249
1772 movups -64(%rcx),%xmm1
1775 .byte 102,15,56,220,208
1778 .byte 102,15,56,220,216
1781 .byte 102,15,56,220,224
1782 .byte 102,15,56,220,232
1784 movaps %xmm11,%xmm12
1785 .byte 102,15,56,220,240
1788 .byte 102,15,56,220,248
1789 movups -48(%rcx),%xmm0
1792 .byte 102,15,56,220,209
1795 .byte 102,15,56,220,217
1798 .byte 102,15,56,220,225
1799 .byte 102,15,56,220,233
1800 movdqa %xmm13,48(%rsp)
1802 .byte 102,15,56,220,241
1803 movaps %xmm12,%xmm13
1805 .byte 102,15,56,220,249
1806 movups -32(%rcx),%xmm1
1809 .byte 102,15,56,220,208
1812 .byte 102,15,56,220,216
1815 .byte 102,15,56,220,224
1816 .byte 102,15,56,220,232
1817 .byte 102,15,56,220,240
1819 movaps %xmm13,%xmm14
1820 .byte 102,15,56,220,248
1824 .byte 102,15,56,220,209
1827 .byte 102,15,56,220,217
1830 .byte 102,15,56,220,225
1831 .byte 102,15,56,220,233
1834 .byte 102,15,56,220,241
1835 .byte 102,15,56,220,249
1836 movups 16(%rbp),%xmm1
1839 .byte 102,15,56,221,84,36,0
1842 .byte 102,15,56,221,92,36,16
1843 .byte 102,15,56,221,100,36,32
1846 .byte 102,15,56,221,108,36,48
1847 .byte 102,15,56,221,116,36,64
1848 .byte 102,15,56,221,124,36,80
1852 movups %xmm2,-96(%rsi)
1853 movups %xmm3,-80(%rsi)
1854 movups %xmm4,-64(%rsi)
1855 movups %xmm5,-48(%rsi)
1856 movups %xmm6,-32(%rsi)
1857 movups %xmm7,-16(%rsi)
1859 jnc .Lxts_enc_grandloop
1886 movdqu 16(%rdi),%xmm3
1887 movdqu 32(%rdi),%xmm4
1889 movdqu 48(%rdi),%xmm5
1891 movdqu 64(%rdi),%xmm6
1898 call _aesni_encrypt6
1901 movdqa %xmm15,%xmm10
1906 movdqu %xmm3,16(%rsi)
1908 movdqu %xmm4,32(%rsi)
1909 movdqu %xmm5,48(%rsi)
1910 movdqu %xmm6,64(%rsi)
1920 movups 16(%rcx),%xmm1
1924 .byte 102,15,56,220,209
1929 .byte 102,15,56,221,209
1931 movdqa %xmm11,%xmm10
1939 movups 16(%rdi),%xmm3
1944 call _aesni_encrypt2
1947 movdqa %xmm12,%xmm10
1950 movups %xmm3,16(%rsi)
1957 movups 16(%rdi),%xmm3
1958 movups 32(%rdi),%xmm4
1964 call _aesni_encrypt3
1967 movdqa %xmm13,%xmm10
1971 movups %xmm3,16(%rsi)
1972 movups %xmm4,32(%rsi)
1979 movups 16(%rdi),%xmm3
1980 movups 32(%rdi),%xmm4
1982 movups 48(%rdi),%xmm5
1988 call _aesni_encrypt4
1991 movdqa %xmm14,%xmm10
1996 movdqu %xmm3,16(%rsi)
1997 movdqu %xmm4,32(%rsi)
1998 movdqu %xmm5,48(%rsi)
2010 movzbl -16(%rsi),%ecx
2022 movups -16(%rsi),%xmm2
2025 movups 16(%rcx),%xmm1
2029 .byte 102,15,56,220,209
2034 .byte 102,15,56,221,209
2036 movups %xmm2,-16(%rsi)
2047 movaps %xmm0,0(%rsp)
2049 movaps %xmm0,16(%rsp)
2051 movaps %xmm0,32(%rsp)
2053 movaps %xmm0,48(%rsp)
2055 movaps %xmm0,64(%rsp)
2057 movaps %xmm0,80(%rsp)
2059 movaps %xmm0,96(%rsp)
2065 .cfi_def_cfa_register %rsp
2069 .size aesni_xts_encrypt,.-aesni_xts_encrypt
2070 .globl aesni_xts_decrypt
2071 .type aesni_xts_decrypt,@function
2076 .cfi_def_cfa_register %r11
2078 .cfi_offset %rbp,-16
2083 movl 240(%rcx),%r10d
2085 movups 16(%r8),%xmm1
2089 .byte 102,15,56,220,209
2094 .byte 102,15,56,221,209
2108 movups 16(%rcx,%r10,1),%xmm1
2110 movdqa .Lxts_magic(%rip),%xmm8
2112 pshufd $0x5f,%xmm2,%xmm9
2116 movdqa %xmm15,%xmm10
2124 movdqa %xmm15,%xmm11
2132 movdqa %xmm15,%xmm12
2140 movdqa %xmm15,%xmm13
2146 movdqa %xmm15,%xmm14
2152 movaps %xmm1,96(%rsp)
2158 leaq 32(%rbp,%r10,1),%rcx
2160 movups 16(%rbp),%xmm1
2162 leaq .Lxts_magic(%rip),%r8
2163 jmp .Lxts_dec_grandloop
2166 .Lxts_dec_grandloop:
2167 movdqu 0(%rdi),%xmm2
2169 movdqu 16(%rdi),%xmm3
2171 movdqu 32(%rdi),%xmm4
2173 .byte 102,15,56,222,209
2174 movdqu 48(%rdi),%xmm5
2176 .byte 102,15,56,222,217
2177 movdqu 64(%rdi),%xmm6
2179 .byte 102,15,56,222,225
2180 movdqu 80(%rdi),%xmm7
2182 movdqa 96(%rsp),%xmm9
2184 .byte 102,15,56,222,233
2185 movups 32(%rbp),%xmm0
2190 .byte 102,15,56,222,241
2192 movdqa %xmm10,0(%rsp)
2193 .byte 102,15,56,222,249
2194 movups 48(%rbp),%xmm1
2197 .byte 102,15,56,222,208
2199 movdqa %xmm11,16(%rsp)
2200 .byte 102,15,56,222,216
2202 movdqa %xmm12,32(%rsp)
2203 .byte 102,15,56,222,224
2204 .byte 102,15,56,222,232
2206 movdqa %xmm14,64(%rsp)
2207 .byte 102,15,56,222,240
2208 .byte 102,15,56,222,248
2209 movups 64(%rbp),%xmm0
2210 movdqa %xmm8,80(%rsp)
2211 pshufd $0x5f,%xmm15,%xmm9
2215 .byte 102,15,56,222,209
2216 .byte 102,15,56,222,217
2217 .byte 102,15,56,222,225
2218 .byte 102,15,56,222,233
2219 .byte 102,15,56,222,241
2220 .byte 102,15,56,222,249
2221 movups -64(%rcx,%rax,1),%xmm1
2224 .byte 102,15,56,222,208
2225 .byte 102,15,56,222,216
2226 .byte 102,15,56,222,224
2227 .byte 102,15,56,222,232
2228 .byte 102,15,56,222,240
2229 .byte 102,15,56,222,248
2230 movups -80(%rcx,%rax,1),%xmm0
2236 .byte 102,15,56,222,209
2239 .byte 102,15,56,222,217
2241 movups (%rbp),%xmm10
2242 .byte 102,15,56,222,225
2243 .byte 102,15,56,222,233
2244 .byte 102,15,56,222,241
2246 movaps %xmm10,%xmm11
2247 .byte 102,15,56,222,249
2248 movups -64(%rcx),%xmm1
2251 .byte 102,15,56,222,208
2254 .byte 102,15,56,222,216
2257 .byte 102,15,56,222,224
2258 .byte 102,15,56,222,232
2260 movaps %xmm11,%xmm12
2261 .byte 102,15,56,222,240
2264 .byte 102,15,56,222,248
2265 movups -48(%rcx),%xmm0
2268 .byte 102,15,56,222,209
2271 .byte 102,15,56,222,217
2274 .byte 102,15,56,222,225
2275 .byte 102,15,56,222,233
2276 movdqa %xmm13,48(%rsp)
2278 .byte 102,15,56,222,241
2279 movaps %xmm12,%xmm13
2281 .byte 102,15,56,222,249
2282 movups -32(%rcx),%xmm1
2285 .byte 102,15,56,222,208
2288 .byte 102,15,56,222,216
2291 .byte 102,15,56,222,224
2292 .byte 102,15,56,222,232
2293 .byte 102,15,56,222,240
2295 movaps %xmm13,%xmm14
2296 .byte 102,15,56,222,248
2300 .byte 102,15,56,222,209
2303 .byte 102,15,56,222,217
2306 .byte 102,15,56,222,225
2307 .byte 102,15,56,222,233
2310 .byte 102,15,56,222,241
2311 .byte 102,15,56,222,249
2312 movups 16(%rbp),%xmm1
2315 .byte 102,15,56,223,84,36,0
2318 .byte 102,15,56,223,92,36,16
2319 .byte 102,15,56,223,100,36,32
2322 .byte 102,15,56,223,108,36,48
2323 .byte 102,15,56,223,116,36,64
2324 .byte 102,15,56,223,124,36,80
2328 movups %xmm2,-96(%rsi)
2329 movups %xmm3,-80(%rsi)
2330 movups %xmm4,-64(%rsi)
2331 movups %xmm5,-48(%rsi)
2332 movups %xmm6,-32(%rsi)
2333 movups %xmm7,-16(%rsi)
2335 jnc .Lxts_dec_grandloop
2362 movdqu 16(%rdi),%xmm3
2363 movdqu 32(%rdi),%xmm4
2365 movdqu 48(%rdi),%xmm5
2367 movdqu 64(%rdi),%xmm6
2373 call _aesni_decrypt6
2380 movdqu %xmm3,16(%rsi)
2382 movdqu %xmm4,32(%rsi)
2384 movdqu %xmm5,48(%rsi)
2385 pcmpgtd %xmm15,%xmm14
2386 movdqu %xmm6,64(%rsi)
2388 pshufd $0x13,%xmm14,%xmm11
2392 movdqa %xmm15,%xmm10
2404 movups 16(%rcx),%xmm1
2408 .byte 102,15,56,222,209
2413 .byte 102,15,56,223,209
2415 movdqa %xmm11,%xmm10
2417 movdqa %xmm12,%xmm11
2424 movups 16(%rdi),%xmm3
2429 call _aesni_decrypt2
2432 movdqa %xmm12,%xmm10
2434 movdqa %xmm13,%xmm11
2436 movups %xmm3,16(%rsi)
2443 movups 16(%rdi),%xmm3
2444 movups 32(%rdi),%xmm4
2450 call _aesni_decrypt3
2453 movdqa %xmm13,%xmm10
2455 movdqa %xmm14,%xmm11
2458 movups %xmm3,16(%rsi)
2459 movups %xmm4,32(%rsi)
2466 movups 16(%rdi),%xmm3
2467 movups 32(%rdi),%xmm4
2469 movups 48(%rdi),%xmm5
2475 call _aesni_decrypt4
2478 movdqa %xmm14,%xmm10
2480 movdqa %xmm15,%xmm11
2484 movdqu %xmm3,16(%rsi)
2485 movdqu %xmm4,32(%rsi)
2486 movdqu %xmm5,48(%rsi)
2502 movups 16(%rcx),%xmm1
2506 .byte 102,15,56,222,209
2511 .byte 102,15,56,223,209
2516 movzbl 16(%rdi),%eax
2532 movups 16(%rcx),%xmm1
2536 .byte 102,15,56,222,209
2541 .byte 102,15,56,223,209
2554 movaps %xmm0,0(%rsp)
2556 movaps %xmm0,16(%rsp)
2558 movaps %xmm0,32(%rsp)
2560 movaps %xmm0,48(%rsp)
2562 movaps %xmm0,64(%rsp)
2564 movaps %xmm0,80(%rsp)
2566 movaps %xmm0,96(%rsp)
2572 .cfi_def_cfa_register %rsp
2576 .size aesni_xts_decrypt,.-aesni_xts_decrypt
2577 .globl aesni_ocb_encrypt
2578 .type aesni_ocb_encrypt,@function
2584 .cfi_adjust_cfa_offset 8
2585 .cfi_offset %rbx,-16
2587 .cfi_adjust_cfa_offset 8
2588 .cfi_offset %rbp,-24
2590 .cfi_adjust_cfa_offset 8
2591 .cfi_offset %r12,-32
2593 .cfi_adjust_cfa_offset 8
2594 .cfi_offset %r13,-40
2596 .cfi_adjust_cfa_offset 8
2597 .cfi_offset %r14,-48
2601 movl 240(%rcx),%r10d
2605 movups 16(%rcx,%r10,1),%xmm1
2612 leaq 32(%r11,%r10,1),%rcx
2613 movups 16(%r11),%xmm1
2617 movdqu (%rbx),%xmm10
2626 movdqu (%rbx,%r12,1),%xmm7
2652 jmp .Locb_enc_grandloop
2655 .Locb_enc_grandloop:
2656 movdqu 0(%rdi),%xmm2
2657 movdqu 16(%rdi),%xmm3
2658 movdqu 32(%rdi),%xmm4
2659 movdqu 48(%rdi),%xmm5
2660 movdqu 64(%rdi),%xmm6
2661 movdqu 80(%rdi),%xmm7
2666 movups %xmm2,0(%rsi)
2667 movups %xmm3,16(%rsi)
2668 movups %xmm4,32(%rsi)
2669 movups %xmm5,48(%rsi)
2670 movups %xmm6,64(%rsi)
2671 movups %xmm7,80(%rsi)
2674 jnc .Locb_enc_grandloop
2680 movdqu 0(%rdi),%xmm2
2683 movdqu 16(%rdi),%xmm3
2686 movdqu 32(%rdi),%xmm4
2689 movdqu 48(%rdi),%xmm5
2692 movdqu 64(%rdi),%xmm6
2697 movdqa %xmm14,%xmm15
2698 movups %xmm2,0(%rsi)
2699 movups %xmm3,16(%rsi)
2700 movups %xmm4,32(%rsi)
2701 movups %xmm5,48(%rsi)
2702 movups %xmm6,64(%rsi)
2713 movups %xmm2,0(%rsi)
2723 movdqa %xmm11,%xmm15
2724 movups %xmm2,0(%rsi)
2725 movups %xmm3,16(%rsi)
2735 movdqa %xmm12,%xmm15
2736 movups %xmm2,0(%rsi)
2737 movups %xmm3,16(%rsi)
2738 movups %xmm4,32(%rsi)
2746 movdqa %xmm13,%xmm15
2747 movups %xmm2,0(%rsi)
2748 movups %xmm3,16(%rsi)
2749 movups %xmm4,32(%rsi)
2750 movups %xmm5,48(%rsi)
2786 .cfi_def_cfa_register %rsp
2790 .size aesni_ocb_encrypt,.-aesni_ocb_encrypt
2792 .type __ocb_encrypt6,@function
2796 movdqu (%rbx,%r12,1),%xmm11
2797 movdqa %xmm10,%xmm12
2798 movdqu (%rbx,%r13,1),%xmm13
2799 movdqa %xmm10,%xmm14
2801 movdqu (%rbx,%r14,1),%xmm15
2819 movups 32(%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
2836 .byte 102,15,56,220,241
2839 .byte 102,15,56,220,249
2840 movups 48(%r11),%xmm1
2843 .byte 102,15,56,220,208
2844 .byte 102,15,56,220,216
2845 .byte 102,15,56,220,224
2846 .byte 102,15,56,220,232
2847 .byte 102,15,56,220,240
2848 .byte 102,15,56,220,248
2849 movups 64(%r11),%xmm0
2856 .byte 102,15,56,220,209
2857 .byte 102,15,56,220,217
2858 .byte 102,15,56,220,225
2859 .byte 102,15,56,220,233
2860 .byte 102,15,56,220,241
2861 .byte 102,15,56,220,249
2862 movups (%rcx,%rax,1),%xmm1
2865 .byte 102,15,56,220,208
2866 .byte 102,15,56,220,216
2867 .byte 102,15,56,220,224
2868 .byte 102,15,56,220,232
2869 .byte 102,15,56,220,240
2870 .byte 102,15,56,220,248
2871 movups -16(%rcx,%rax,1),%xmm0
2874 .byte 102,15,56,220,209
2875 .byte 102,15,56,220,217
2876 .byte 102,15,56,220,225
2877 .byte 102,15,56,220,233
2878 .byte 102,15,56,220,241
2879 .byte 102,15,56,220,249
2880 movups 16(%r11),%xmm1
2883 .byte 102,65,15,56,221,210
2884 movdqu (%rbx),%xmm10
2886 .byte 102,65,15,56,221,219
2887 .byte 102,65,15,56,221,228
2888 .byte 102,65,15,56,221,237
2889 .byte 102,65,15,56,221,246
2890 .byte 102,65,15,56,221,255
2892 .size __ocb_encrypt6,.-__ocb_encrypt6
2894 .type __ocb_encrypt4,@function
2898 movdqu (%rbx,%r12,1),%xmm11
2899 movdqa %xmm10,%xmm12
2900 movdqu (%rbx,%r13,1),%xmm13
2913 movups 32(%r11),%xmm0
2920 .byte 102,15,56,220,209
2921 .byte 102,15,56,220,217
2922 .byte 102,15,56,220,225
2923 .byte 102,15,56,220,233
2924 movups 48(%r11),%xmm1
2926 .byte 102,15,56,220,208
2927 .byte 102,15,56,220,216
2928 .byte 102,15,56,220,224
2929 .byte 102,15,56,220,232
2930 movups 64(%r11),%xmm0
2935 .byte 102,15,56,220,209
2936 .byte 102,15,56,220,217
2937 .byte 102,15,56,220,225
2938 .byte 102,15,56,220,233
2939 movups (%rcx,%rax,1),%xmm1
2942 .byte 102,15,56,220,208
2943 .byte 102,15,56,220,216
2944 .byte 102,15,56,220,224
2945 .byte 102,15,56,220,232
2946 movups -16(%rcx,%rax,1),%xmm0
2949 .byte 102,15,56,220,209
2950 .byte 102,15,56,220,217
2951 .byte 102,15,56,220,225
2952 .byte 102,15,56,220,233
2953 movups 16(%r11),%xmm1
2956 .byte 102,65,15,56,221,210
2957 .byte 102,65,15,56,221,219
2958 .byte 102,65,15,56,221,228
2959 .byte 102,65,15,56,221,237
2961 .size __ocb_encrypt4,.-__ocb_encrypt4
2963 .type __ocb_encrypt1,@function
2970 movups 32(%r11),%xmm0
2972 .byte 102,15,56,220,209
2973 movups 48(%r11),%xmm1
2976 .byte 102,15,56,220,208
2977 movups 64(%r11),%xmm0
2982 .byte 102,15,56,220,209
2983 movups (%rcx,%rax,1),%xmm1
2986 .byte 102,15,56,220,208
2987 movups -16(%rcx,%rax,1),%xmm0
2990 .byte 102,15,56,220,209
2991 movups 16(%r11),%xmm1
2994 .byte 102,15,56,221,215
2996 .size __ocb_encrypt1,.-__ocb_encrypt1
2998 .globl aesni_ocb_decrypt
2999 .type aesni_ocb_decrypt,@function
3005 .cfi_adjust_cfa_offset 8
3006 .cfi_offset %rbx,-16
3008 .cfi_adjust_cfa_offset 8
3009 .cfi_offset %rbp,-24
3011 .cfi_adjust_cfa_offset 8
3012 .cfi_offset %r12,-32
3014 .cfi_adjust_cfa_offset 8
3015 .cfi_offset %r13,-40
3017 .cfi_adjust_cfa_offset 8
3018 .cfi_offset %r14,-48
3022 movl 240(%rcx),%r10d
3026 movups 16(%rcx,%r10,1),%xmm1
3033 leaq 32(%r11,%r10,1),%rcx
3034 movups 16(%r11),%xmm1
3038 movdqu (%rbx),%xmm10
3047 movdqu (%rbx,%r12,1),%xmm7
3074 jmp .Locb_dec_grandloop
3077 .Locb_dec_grandloop:
3078 movdqu 0(%rdi),%xmm2
3079 movdqu 16(%rdi),%xmm3
3080 movdqu 32(%rdi),%xmm4
3081 movdqu 48(%rdi),%xmm5
3082 movdqu 64(%rdi),%xmm6
3083 movdqu 80(%rdi),%xmm7
3088 movups %xmm2,0(%rsi)
3090 movups %xmm3,16(%rsi)
3092 movups %xmm4,32(%rsi)
3094 movups %xmm5,48(%rsi)
3096 movups %xmm6,64(%rsi)
3098 movups %xmm7,80(%rsi)
3102 jnc .Locb_dec_grandloop
3108 movdqu 0(%rdi),%xmm2
3111 movdqu 16(%rdi),%xmm3
3114 movdqu 32(%rdi),%xmm4
3117 movdqu 48(%rdi),%xmm5
3120 movdqu 64(%rdi),%xmm6
3125 movdqa %xmm14,%xmm15
3126 movups %xmm2,0(%rsi)
3128 movups %xmm3,16(%rsi)
3130 movups %xmm4,32(%rsi)
3132 movups %xmm5,48(%rsi)
3134 movups %xmm6,64(%rsi)
3146 movups %xmm2,0(%rsi)
3157 movdqa %xmm11,%xmm15
3158 movups %xmm2,0(%rsi)
3160 movups %xmm3,16(%rsi)
3171 movdqa %xmm12,%xmm15
3172 movups %xmm2,0(%rsi)
3174 movups %xmm3,16(%rsi)
3176 movups %xmm4,32(%rsi)
3185 movdqa %xmm13,%xmm15
3186 movups %xmm2,0(%rsi)
3188 movups %xmm3,16(%rsi)
3190 movups %xmm4,32(%rsi)
3192 movups %xmm5,48(%rsi)
3229 .cfi_def_cfa_register %rsp
3233 .size aesni_ocb_decrypt,.-aesni_ocb_decrypt
3235 .type __ocb_decrypt6,@function
3239 movdqu (%rbx,%r12,1),%xmm11
3240 movdqa %xmm10,%xmm12
3241 movdqu (%rbx,%r13,1),%xmm13
3242 movdqa %xmm10,%xmm14
3244 movdqu (%rbx,%r14,1),%xmm15
3256 movups 32(%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
3273 .byte 102,15,56,222,241
3276 .byte 102,15,56,222,249
3277 movups 48(%r11),%xmm1
3280 .byte 102,15,56,222,208
3281 .byte 102,15,56,222,216
3282 .byte 102,15,56,222,224
3283 .byte 102,15,56,222,232
3284 .byte 102,15,56,222,240
3285 .byte 102,15,56,222,248
3286 movups 64(%r11),%xmm0
3293 .byte 102,15,56,222,209
3294 .byte 102,15,56,222,217
3295 .byte 102,15,56,222,225
3296 .byte 102,15,56,222,233
3297 .byte 102,15,56,222,241
3298 .byte 102,15,56,222,249
3299 movups (%rcx,%rax,1),%xmm1
3302 .byte 102,15,56,222,208
3303 .byte 102,15,56,222,216
3304 .byte 102,15,56,222,224
3305 .byte 102,15,56,222,232
3306 .byte 102,15,56,222,240
3307 .byte 102,15,56,222,248
3308 movups -16(%rcx,%rax,1),%xmm0
3311 .byte 102,15,56,222,209
3312 .byte 102,15,56,222,217
3313 .byte 102,15,56,222,225
3314 .byte 102,15,56,222,233
3315 .byte 102,15,56,222,241
3316 .byte 102,15,56,222,249
3317 movups 16(%r11),%xmm1
3320 .byte 102,65,15,56,223,210
3321 movdqu (%rbx),%xmm10
3323 .byte 102,65,15,56,223,219
3324 .byte 102,65,15,56,223,228
3325 .byte 102,65,15,56,223,237
3326 .byte 102,65,15,56,223,246
3327 .byte 102,65,15,56,223,255
3329 .size __ocb_decrypt6,.-__ocb_decrypt6
3331 .type __ocb_decrypt4,@function
3335 movdqu (%rbx,%r12,1),%xmm11
3336 movdqa %xmm10,%xmm12
3337 movdqu (%rbx,%r13,1),%xmm13
3346 movups 32(%r11),%xmm0
3353 .byte 102,15,56,222,209
3354 .byte 102,15,56,222,217
3355 .byte 102,15,56,222,225
3356 .byte 102,15,56,222,233
3357 movups 48(%r11),%xmm1
3359 .byte 102,15,56,222,208
3360 .byte 102,15,56,222,216
3361 .byte 102,15,56,222,224
3362 .byte 102,15,56,222,232
3363 movups 64(%r11),%xmm0
3368 .byte 102,15,56,222,209
3369 .byte 102,15,56,222,217
3370 .byte 102,15,56,222,225
3371 .byte 102,15,56,222,233
3372 movups (%rcx,%rax,1),%xmm1
3375 .byte 102,15,56,222,208
3376 .byte 102,15,56,222,216
3377 .byte 102,15,56,222,224
3378 .byte 102,15,56,222,232
3379 movups -16(%rcx,%rax,1),%xmm0
3382 .byte 102,15,56,222,209
3383 .byte 102,15,56,222,217
3384 .byte 102,15,56,222,225
3385 .byte 102,15,56,222,233
3386 movups 16(%r11),%xmm1
3389 .byte 102,65,15,56,223,210
3390 .byte 102,65,15,56,223,219
3391 .byte 102,65,15,56,223,228
3392 .byte 102,65,15,56,223,237
3394 .size __ocb_decrypt4,.-__ocb_decrypt4
3396 .type __ocb_decrypt1,@function
3402 movups 32(%r11),%xmm0
3404 .byte 102,15,56,222,209
3405 movups 48(%r11),%xmm1
3408 .byte 102,15,56,222,208
3409 movups 64(%r11),%xmm0
3414 .byte 102,15,56,222,209
3415 movups (%rcx,%rax,1),%xmm1
3418 .byte 102,15,56,222,208
3419 movups -16(%rcx,%rax,1),%xmm0
3422 .byte 102,15,56,222,209
3423 movups 16(%r11),%xmm1
3426 .byte 102,15,56,223,215
3428 .size __ocb_decrypt1,.-__ocb_decrypt1
3429 .globl aesni_cbc_encrypt
3430 .type aesni_cbc_encrypt,@function
3437 movl 240(%rcx),%r10d
3454 movups 16(%rcx),%xmm1
3459 .byte 102,15,56,220,209
3464 .byte 102,15,56,221,209
3467 movups %xmm2,0(%rsi)
3498 jne .Lcbc_decrypt_bulk
3506 movups 16(%rcx),%xmm1
3510 .byte 102,15,56,222,209
3515 .byte 102,15,56,223,209
3527 .cfi_def_cfa_register %r11
3529 .cfi_offset %rbp,-16
3539 movdqu 0(%rdi),%xmm2
3540 movdqu 16(%rdi),%xmm3
3542 movdqu 32(%rdi),%xmm4
3544 movdqu 48(%rdi),%xmm5
3546 movdqu 64(%rdi),%xmm6
3548 movdqu 80(%rdi),%xmm7
3550 movl OPENSSL_ia32cap_P+4(%rip),%r9d
3552 jbe .Lcbc_dec_six_or_seven
3557 je .Lcbc_dec_loop6_enter
3560 jmp .Lcbc_dec_loop8_enter
3565 .Lcbc_dec_loop8_enter:
3566 movdqu 96(%rdi),%xmm8
3568 movdqu 112(%rdi),%xmm9
3570 movups 16-112(%rcx),%xmm1
3579 .byte 102,15,56,222,209
3581 movups 32-112(%rcx),%xmm0
3582 .byte 102,15,56,222,217
3583 .byte 102,15,56,222,225
3584 .byte 102,15,56,222,233
3585 .byte 102,15,56,222,241
3586 .byte 102,15,56,222,249
3587 .byte 102,68,15,56,222,193
3590 .byte 102,68,15,56,222,201
3592 movups 48-112(%rcx),%xmm1
3593 .byte 102,15,56,222,208
3594 .byte 102,15,56,222,216
3595 .byte 102,15,56,222,224
3596 .byte 102,15,56,222,232
3597 .byte 102,15,56,222,240
3598 .byte 102,15,56,222,248
3599 .byte 102,68,15,56,222,192
3600 .byte 102,68,15,56,222,200
3601 movups 64-112(%rcx),%xmm0
3603 .byte 102,15,56,222,209
3604 .byte 102,15,56,222,217
3605 .byte 102,15,56,222,225
3606 .byte 102,15,56,222,233
3607 .byte 102,15,56,222,241
3608 .byte 102,15,56,222,249
3609 .byte 102,68,15,56,222,193
3610 .byte 102,68,15,56,222,201
3611 movups 80-112(%rcx),%xmm1
3613 .byte 102,15,56,222,208
3614 .byte 102,15,56,222,216
3615 .byte 102,15,56,222,224
3616 .byte 102,15,56,222,232
3617 .byte 102,15,56,222,240
3618 .byte 102,15,56,222,248
3619 .byte 102,68,15,56,222,192
3620 .byte 102,68,15,56,222,200
3621 movups 96-112(%rcx),%xmm0
3623 .byte 102,15,56,222,209
3624 .byte 102,15,56,222,217
3625 .byte 102,15,56,222,225
3626 .byte 102,15,56,222,233
3627 .byte 102,15,56,222,241
3628 .byte 102,15,56,222,249
3629 .byte 102,68,15,56,222,193
3630 .byte 102,68,15,56,222,201
3631 movups 112-112(%rcx),%xmm1
3633 .byte 102,15,56,222,208
3634 .byte 102,15,56,222,216
3635 .byte 102,15,56,222,224
3636 .byte 102,15,56,222,232
3637 .byte 102,15,56,222,240
3638 .byte 102,15,56,222,248
3639 .byte 102,68,15,56,222,192
3640 .byte 102,68,15,56,222,200
3641 movups 128-112(%rcx),%xmm0
3643 .byte 102,15,56,222,209
3644 .byte 102,15,56,222,217
3645 .byte 102,15,56,222,225
3646 .byte 102,15,56,222,233
3647 .byte 102,15,56,222,241
3648 .byte 102,15,56,222,249
3649 .byte 102,68,15,56,222,193
3650 .byte 102,68,15,56,222,201
3651 movups 144-112(%rcx),%xmm1
3653 .byte 102,15,56,222,208
3654 .byte 102,15,56,222,216
3655 .byte 102,15,56,222,224
3656 .byte 102,15,56,222,232
3657 .byte 102,15,56,222,240
3658 .byte 102,15,56,222,248
3659 .byte 102,68,15,56,222,192
3660 .byte 102,68,15,56,222,200
3661 movups 160-112(%rcx),%xmm0
3663 .byte 102,15,56,222,209
3664 .byte 102,15,56,222,217
3665 .byte 102,15,56,222,225
3666 .byte 102,15,56,222,233
3667 .byte 102,15,56,222,241
3668 .byte 102,15,56,222,249
3669 .byte 102,68,15,56,222,193
3670 .byte 102,68,15,56,222,201
3671 movups 176-112(%rcx),%xmm1
3673 .byte 102,15,56,222,208
3674 .byte 102,15,56,222,216
3675 .byte 102,15,56,222,224
3676 .byte 102,15,56,222,232
3677 .byte 102,15,56,222,240
3678 .byte 102,15,56,222,248
3679 .byte 102,68,15,56,222,192
3680 .byte 102,68,15,56,222,200
3681 movups 192-112(%rcx),%xmm0
3683 .byte 102,15,56,222,209
3684 .byte 102,15,56,222,217
3685 .byte 102,15,56,222,225
3686 .byte 102,15,56,222,233
3687 .byte 102,15,56,222,241
3688 .byte 102,15,56,222,249
3689 .byte 102,68,15,56,222,193
3690 .byte 102,68,15,56,222,201
3691 movups 208-112(%rcx),%xmm1
3693 .byte 102,15,56,222,208
3694 .byte 102,15,56,222,216
3695 .byte 102,15,56,222,224
3696 .byte 102,15,56,222,232
3697 .byte 102,15,56,222,240
3698 .byte 102,15,56,222,248
3699 .byte 102,68,15,56,222,192
3700 .byte 102,68,15,56,222,200
3701 movups 224-112(%rcx),%xmm0
3705 .byte 102,15,56,222,209
3706 .byte 102,15,56,222,217
3709 .byte 102,15,56,222,225
3710 .byte 102,15,56,222,233
3713 .byte 102,15,56,222,241
3714 .byte 102,15,56,222,249
3717 .byte 102,68,15,56,222,193
3718 .byte 102,68,15,56,222,201
3719 movdqu 80(%rdi),%xmm1
3721 .byte 102,65,15,56,223,210
3722 movdqu 96(%rdi),%xmm10
3724 .byte 102,65,15,56,223,219
3726 movdqu 112(%rdi),%xmm0
3727 .byte 102,65,15,56,223,228
3729 movdqu 0(%rbp),%xmm11
3730 .byte 102,65,15,56,223,237
3731 .byte 102,65,15,56,223,246
3732 movdqu 16(%rbp),%xmm12
3733 movdqu 32(%rbp),%xmm13
3734 .byte 102,65,15,56,223,255
3735 .byte 102,68,15,56,223,193
3736 movdqu 48(%rbp),%xmm14
3737 movdqu 64(%rbp),%xmm15
3738 .byte 102,69,15,56,223,202
3740 movdqu 80(%rbp),%xmm1
3741 movups -112(%rcx),%xmm0
3745 movups %xmm3,16(%rsi)
3747 movups %xmm4,32(%rsi)
3749 movups %xmm5,48(%rsi)
3751 movups %xmm6,64(%rsi)
3753 movups %xmm7,80(%rsi)
3755 movups %xmm8,96(%rsi)
3762 leaq -112(%rcx),%rcx
3764 jle .Lcbc_dec_clear_tail_collected
3771 .Lcbc_dec_six_or_seven:
3776 call _aesni_decrypt6
3782 movdqu %xmm3,16(%rsi)
3785 movdqu %xmm4,32(%rsi)
3788 movdqu %xmm5,48(%rsi)
3791 movdqu %xmm6,64(%rsi)
3796 jmp .Lcbc_dec_tail_collected
3800 movups 96(%rdi),%xmm8
3802 call _aesni_decrypt8
3803 movups 80(%rdi),%xmm9
3805 movups 96(%rdi),%xmm10
3809 movdqu %xmm3,16(%rsi)
3812 movdqu %xmm4,32(%rsi)
3815 movdqu %xmm5,48(%rsi)
3818 movdqu %xmm6,64(%rsi)
3821 movdqu %xmm7,80(%rsi)
3827 jmp .Lcbc_dec_tail_collected
3833 movdqu 0(%rdi),%xmm2
3834 movdqu 16(%rdi),%xmm3
3836 movdqu 32(%rdi),%xmm4
3838 movdqu 48(%rdi),%xmm5
3840 movdqu 64(%rdi),%xmm6
3842 movdqu 80(%rdi),%xmm7
3844 .Lcbc_dec_loop6_enter:
3848 call _aesni_decrypt6
3855 movdqu %xmm3,16(%rsi)
3857 movdqu %xmm4,32(%rsi)
3860 movdqu %xmm5,48(%rsi)
3863 movdqu %xmm6,64(%rsi)
3870 jle .Lcbc_dec_clear_tail_collected
3879 movups 16(%rdi),%xmm3
3884 movups 32(%rdi),%xmm4
3889 movups 48(%rdi),%xmm5
3894 movups 64(%rdi),%xmm6
3898 call _aesni_decrypt6
3900 movaps %xmm15,%xmm10
3904 movdqu %xmm3,16(%rsi)
3907 movdqu %xmm4,32(%rsi)
3910 movdqu %xmm5,48(%rsi)
3917 jmp .Lcbc_dec_tail_collected
3923 movups 16(%rcx),%xmm1
3927 .byte 102,15,56,222,209
3932 .byte 102,15,56,223,209
3934 movaps %xmm11,%xmm10
3935 jmp .Lcbc_dec_tail_collected
3939 call _aesni_decrypt2
3941 movaps %xmm12,%xmm10
3947 jmp .Lcbc_dec_tail_collected
3951 call _aesni_decrypt3
3953 movaps %xmm13,%xmm10
3957 movdqu %xmm3,16(%rsi)
3962 jmp .Lcbc_dec_tail_collected
3966 call _aesni_decrypt4
3968 movaps %xmm14,%xmm10
3972 movdqu %xmm3,16(%rsi)
3975 movdqu %xmm4,32(%rsi)
3980 jmp .Lcbc_dec_tail_collected
3983 .Lcbc_dec_clear_tail_collected:
3991 .Lcbc_dec_tail_collected:
3994 jnz .Lcbc_dec_tail_partial
3999 .Lcbc_dec_tail_partial:
4015 .cfi_def_cfa_register %rsp
4019 .size aesni_cbc_encrypt,.-aesni_cbc_encrypt
4020 .globl aesni_set_decrypt_key
4021 .type aesni_set_decrypt_key,@function
4023 aesni_set_decrypt_key:
4025 .byte 0x48,0x83,0xEC,0x08
4026 .cfi_adjust_cfa_offset 8
4027 call __aesni_set_encrypt_key
4031 leaq 16(%rdx,%rsi,1),%rdi
4043 .byte 102,15,56,219,192
4044 .byte 102,15,56,219,201
4047 movups %xmm0,16(%rdi)
4048 movups %xmm1,-16(%rdx)
4050 ja .Ldec_key_inverse
4053 .byte 102,15,56,219,192
4059 .cfi_adjust_cfa_offset -8
4062 .LSEH_end_set_decrypt_key:
4063 .size aesni_set_decrypt_key,.-aesni_set_decrypt_key
4064 .globl aesni_set_encrypt_key
4065 .type aesni_set_encrypt_key,@function
4067 aesni_set_encrypt_key:
4068 __aesni_set_encrypt_key:
4070 .byte 0x48,0x83,0xEC,0x08
4071 .cfi_adjust_cfa_offset 8
4078 movl $268437504,%r10d
4081 andl OPENSSL_ia32cap_P+4(%rip),%r10d
4092 cmpl $268435456,%r10d
4096 .byte 102,15,58,223,200,1
4097 call .Lkey_expansion_128_cold
4098 .byte 102,15,58,223,200,2
4099 call .Lkey_expansion_128
4100 .byte 102,15,58,223,200,4
4101 call .Lkey_expansion_128
4102 .byte 102,15,58,223,200,8
4103 call .Lkey_expansion_128
4104 .byte 102,15,58,223,200,16
4105 call .Lkey_expansion_128
4106 .byte 102,15,58,223,200,32
4107 call .Lkey_expansion_128
4108 .byte 102,15,58,223,200,64
4109 call .Lkey_expansion_128
4110 .byte 102,15,58,223,200,128
4111 call .Lkey_expansion_128
4112 .byte 102,15,58,223,200,27
4113 call .Lkey_expansion_128
4114 .byte 102,15,58,223,200,54
4115 call .Lkey_expansion_128
4123 movdqa .Lkey_rotate(%rip),%xmm5
4125 movdqa .Lkey_rcon1(%rip),%xmm4
4132 .byte 102,15,56,0,197
4133 .byte 102,15,56,221,196
4146 movdqu %xmm0,-16(%rax)
4152 movdqa .Lkey_rcon1b(%rip),%xmm4
4154 .byte 102,15,56,0,197
4155 .byte 102,15,56,221,196
4170 .byte 102,15,56,0,197
4171 .byte 102,15,56,221,196
4182 movdqu %xmm0,16(%rax)
4192 cmpl $268435456,%r10d
4196 .byte 102,15,58,223,202,1
4197 call .Lkey_expansion_192a_cold
4198 .byte 102,15,58,223,202,2
4199 call .Lkey_expansion_192b
4200 .byte 102,15,58,223,202,4
4201 call .Lkey_expansion_192a
4202 .byte 102,15,58,223,202,8
4203 call .Lkey_expansion_192b
4204 .byte 102,15,58,223,202,16
4205 call .Lkey_expansion_192a
4206 .byte 102,15,58,223,202,32
4207 call .Lkey_expansion_192b
4208 .byte 102,15,58,223,202,64
4209 call .Lkey_expansion_192a
4210 .byte 102,15,58,223,202,128
4211 call .Lkey_expansion_192b
4219 movdqa .Lkey_rotate192(%rip),%xmm5
4220 movdqa .Lkey_rcon1(%rip),%xmm4
4229 .byte 102,15,56,0,213
4230 .byte 102,15,56,221,212
4242 pshufd $0xff,%xmm0,%xmm3
4249 movdqu %xmm0,-16(%rax)
4260 movups 16(%rdi),%xmm2
4263 cmpl $268435456,%r10d
4267 movups %xmm2,16(%rdx)
4268 .byte 102,15,58,223,202,1
4269 call .Lkey_expansion_256a_cold
4270 .byte 102,15,58,223,200,1
4271 call .Lkey_expansion_256b
4272 .byte 102,15,58,223,202,2
4273 call .Lkey_expansion_256a
4274 .byte 102,15,58,223,200,2
4275 call .Lkey_expansion_256b
4276 .byte 102,15,58,223,202,4
4277 call .Lkey_expansion_256a
4278 .byte 102,15,58,223,200,4
4279 call .Lkey_expansion_256b
4280 .byte 102,15,58,223,202,8
4281 call .Lkey_expansion_256a
4282 .byte 102,15,58,223,200,8
4283 call .Lkey_expansion_256b
4284 .byte 102,15,58,223,202,16
4285 call .Lkey_expansion_256a
4286 .byte 102,15,58,223,200,16
4287 call .Lkey_expansion_256b
4288 .byte 102,15,58,223,202,32
4289 call .Lkey_expansion_256a
4290 .byte 102,15,58,223,200,32
4291 call .Lkey_expansion_256b
4292 .byte 102,15,58,223,202,64
4293 call .Lkey_expansion_256a
4301 movdqa .Lkey_rotate(%rip),%xmm5
4302 movdqa .Lkey_rcon1(%rip),%xmm4
4304 movdqu %xmm0,0(%rdx)
4306 movdqu %xmm2,16(%rdx)
4311 .byte 102,15,56,0,213
4312 .byte 102,15,56,221,212
4329 pshufd $0xff,%xmm0,%xmm2
4331 .byte 102,15,56,221,211
4342 movdqu %xmm2,16(%rax)
4364 .cfi_adjust_cfa_offset -8
4367 .LSEH_end_set_encrypt_key:
4370 .Lkey_expansion_128:
4373 .Lkey_expansion_128_cold:
4374 shufps $16,%xmm0,%xmm4
4376 shufps $140,%xmm0,%xmm4
4378 shufps $255,%xmm1,%xmm1
4383 .Lkey_expansion_192a:
4386 .Lkey_expansion_192a_cold:
4388 .Lkey_expansion_192b_warm:
4389 shufps $16,%xmm0,%xmm4
4392 shufps $140,%xmm0,%xmm4
4395 pshufd $85,%xmm1,%xmm1
4398 pshufd $255,%xmm0,%xmm3
4403 .Lkey_expansion_192b:
4405 shufps $68,%xmm0,%xmm5
4407 shufps $78,%xmm2,%xmm3
4408 movups %xmm3,16(%rax)
4410 jmp .Lkey_expansion_192b_warm
4413 .Lkey_expansion_256a:
4416 .Lkey_expansion_256a_cold:
4417 shufps $16,%xmm0,%xmm4
4419 shufps $140,%xmm0,%xmm4
4421 shufps $255,%xmm1,%xmm1
4426 .Lkey_expansion_256b:
4430 shufps $16,%xmm2,%xmm4
4432 shufps $140,%xmm2,%xmm4
4434 shufps $170,%xmm1,%xmm1
4437 .size aesni_set_encrypt_key,.-aesni_set_encrypt_key
4438 .size __aesni_set_encrypt_key,.-__aesni_set_encrypt_key
4441 .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
4449 .byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
4451 .long 0x0c0f0e0d,0x0c0f0e0d,0x0c0f0e0d,0x0c0f0e0d
4453 .long 0x04070605,0x04070605,0x04070605,0x04070605
4457 .long 0x1b,0x1b,0x1b,0x1b
4459 .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