4 .type aesni_encrypt,@function
14 .byte 102,15,56,220,209
19 .byte 102,15,56,221,209
25 .size aesni_encrypt,.-aesni_encrypt
28 .type aesni_decrypt,@function
38 .byte 102,15,56,222,209
43 .byte 102,15,56,223,209
49 .size aesni_decrypt, .-aesni_decrypt
50 .type _aesni_encrypt2,@function
59 leaq 32(%rcx,%rax,1),%rcx
64 .byte 102,15,56,220,209
65 .byte 102,15,56,220,217
66 movups (%rcx,%rax,1),%xmm1
68 .byte 102,15,56,220,208
69 .byte 102,15,56,220,216
70 movups -16(%rcx,%rax,1),%xmm0
73 .byte 102,15,56,220,209
74 .byte 102,15,56,220,217
75 .byte 102,15,56,221,208
76 .byte 102,15,56,221,216
78 .size _aesni_encrypt2,.-_aesni_encrypt2
79 .type _aesni_decrypt2,@function
88 leaq 32(%rcx,%rax,1),%rcx
93 .byte 102,15,56,222,209
94 .byte 102,15,56,222,217
95 movups (%rcx,%rax,1),%xmm1
97 .byte 102,15,56,222,208
98 .byte 102,15,56,222,216
99 movups -16(%rcx,%rax,1),%xmm0
102 .byte 102,15,56,222,209
103 .byte 102,15,56,222,217
104 .byte 102,15,56,223,208
105 .byte 102,15,56,223,216
107 .size _aesni_decrypt2,.-_aesni_decrypt2
108 .type _aesni_encrypt3,@function
113 movups 16(%rcx),%xmm1
117 movups 32(%rcx),%xmm0
118 leaq 32(%rcx,%rax,1),%rcx
123 .byte 102,15,56,220,209
124 .byte 102,15,56,220,217
125 .byte 102,15,56,220,225
126 movups (%rcx,%rax,1),%xmm1
128 .byte 102,15,56,220,208
129 .byte 102,15,56,220,216
130 .byte 102,15,56,220,224
131 movups -16(%rcx,%rax,1),%xmm0
134 .byte 102,15,56,220,209
135 .byte 102,15,56,220,217
136 .byte 102,15,56,220,225
137 .byte 102,15,56,221,208
138 .byte 102,15,56,221,216
139 .byte 102,15,56,221,224
141 .size _aesni_encrypt3,.-_aesni_encrypt3
142 .type _aesni_decrypt3,@function
147 movups 16(%rcx),%xmm1
151 movups 32(%rcx),%xmm0
152 leaq 32(%rcx,%rax,1),%rcx
157 .byte 102,15,56,222,209
158 .byte 102,15,56,222,217
159 .byte 102,15,56,222,225
160 movups (%rcx,%rax,1),%xmm1
162 .byte 102,15,56,222,208
163 .byte 102,15,56,222,216
164 .byte 102,15,56,222,224
165 movups -16(%rcx,%rax,1),%xmm0
168 .byte 102,15,56,222,209
169 .byte 102,15,56,222,217
170 .byte 102,15,56,222,225
171 .byte 102,15,56,223,208
172 .byte 102,15,56,223,216
173 .byte 102,15,56,223,224
175 .size _aesni_decrypt3,.-_aesni_decrypt3
176 .type _aesni_encrypt4,@function
181 movups 16(%rcx),%xmm1
186 movups 32(%rcx),%xmm0
187 leaq 32(%rcx,%rax,1),%rcx
193 .byte 102,15,56,220,209
194 .byte 102,15,56,220,217
195 .byte 102,15,56,220,225
196 .byte 102,15,56,220,233
197 movups (%rcx,%rax,1),%xmm1
199 .byte 102,15,56,220,208
200 .byte 102,15,56,220,216
201 .byte 102,15,56,220,224
202 .byte 102,15,56,220,232
203 movups -16(%rcx,%rax,1),%xmm0
206 .byte 102,15,56,220,209
207 .byte 102,15,56,220,217
208 .byte 102,15,56,220,225
209 .byte 102,15,56,220,233
210 .byte 102,15,56,221,208
211 .byte 102,15,56,221,216
212 .byte 102,15,56,221,224
213 .byte 102,15,56,221,232
215 .size _aesni_encrypt4,.-_aesni_encrypt4
216 .type _aesni_decrypt4,@function
221 movups 16(%rcx),%xmm1
226 movups 32(%rcx),%xmm0
227 leaq 32(%rcx,%rax,1),%rcx
233 .byte 102,15,56,222,209
234 .byte 102,15,56,222,217
235 .byte 102,15,56,222,225
236 .byte 102,15,56,222,233
237 movups (%rcx,%rax,1),%xmm1
239 .byte 102,15,56,222,208
240 .byte 102,15,56,222,216
241 .byte 102,15,56,222,224
242 .byte 102,15,56,222,232
243 movups -16(%rcx,%rax,1),%xmm0
246 .byte 102,15,56,222,209
247 .byte 102,15,56,222,217
248 .byte 102,15,56,222,225
249 .byte 102,15,56,222,233
250 .byte 102,15,56,223,208
251 .byte 102,15,56,223,216
252 .byte 102,15,56,223,224
253 .byte 102,15,56,223,232
255 .size _aesni_decrypt4,.-_aesni_decrypt4
256 .type _aesni_encrypt6,@function
261 movups 16(%rcx),%xmm1
265 .byte 102,15,56,220,209
266 leaq 32(%rcx,%rax,1),%rcx
268 .byte 102,15,56,220,217
271 .byte 102,15,56,220,225
273 movups (%rcx,%rax,1),%xmm0
275 jmp .Lenc_loop6_enter
278 .byte 102,15,56,220,209
279 .byte 102,15,56,220,217
280 .byte 102,15,56,220,225
282 .byte 102,15,56,220,233
283 .byte 102,15,56,220,241
284 .byte 102,15,56,220,249
285 movups (%rcx,%rax,1),%xmm1
287 .byte 102,15,56,220,208
288 .byte 102,15,56,220,216
289 .byte 102,15,56,220,224
290 .byte 102,15,56,220,232
291 .byte 102,15,56,220,240
292 .byte 102,15,56,220,248
293 movups -16(%rcx,%rax,1),%xmm0
296 .byte 102,15,56,220,209
297 .byte 102,15,56,220,217
298 .byte 102,15,56,220,225
299 .byte 102,15,56,220,233
300 .byte 102,15,56,220,241
301 .byte 102,15,56,220,249
302 .byte 102,15,56,221,208
303 .byte 102,15,56,221,216
304 .byte 102,15,56,221,224
305 .byte 102,15,56,221,232
306 .byte 102,15,56,221,240
307 .byte 102,15,56,221,248
309 .size _aesni_encrypt6,.-_aesni_encrypt6
310 .type _aesni_decrypt6,@function
315 movups 16(%rcx),%xmm1
319 .byte 102,15,56,222,209
320 leaq 32(%rcx,%rax,1),%rcx
322 .byte 102,15,56,222,217
325 .byte 102,15,56,222,225
327 movups (%rcx,%rax,1),%xmm0
329 jmp .Ldec_loop6_enter
332 .byte 102,15,56,222,209
333 .byte 102,15,56,222,217
334 .byte 102,15,56,222,225
336 .byte 102,15,56,222,233
337 .byte 102,15,56,222,241
338 .byte 102,15,56,222,249
339 movups (%rcx,%rax,1),%xmm1
341 .byte 102,15,56,222,208
342 .byte 102,15,56,222,216
343 .byte 102,15,56,222,224
344 .byte 102,15,56,222,232
345 .byte 102,15,56,222,240
346 .byte 102,15,56,222,248
347 movups -16(%rcx,%rax,1),%xmm0
350 .byte 102,15,56,222,209
351 .byte 102,15,56,222,217
352 .byte 102,15,56,222,225
353 .byte 102,15,56,222,233
354 .byte 102,15,56,222,241
355 .byte 102,15,56,222,249
356 .byte 102,15,56,223,208
357 .byte 102,15,56,223,216
358 .byte 102,15,56,223,224
359 .byte 102,15,56,223,232
360 .byte 102,15,56,223,240
361 .byte 102,15,56,223,248
363 .size _aesni_decrypt6,.-_aesni_decrypt6
364 .type _aesni_encrypt8,@function
369 movups 16(%rcx),%xmm1
375 leaq 32(%rcx,%rax,1),%rcx
377 .byte 102,15,56,220,209
380 .byte 102,15,56,220,217
382 movups (%rcx,%rax,1),%xmm0
384 jmp .Lenc_loop8_inner
387 .byte 102,15,56,220,209
388 .byte 102,15,56,220,217
390 .byte 102,15,56,220,225
391 .byte 102,15,56,220,233
392 .byte 102,15,56,220,241
393 .byte 102,15,56,220,249
394 .byte 102,68,15,56,220,193
395 .byte 102,68,15,56,220,201
397 movups (%rcx,%rax,1),%xmm1
399 .byte 102,15,56,220,208
400 .byte 102,15,56,220,216
401 .byte 102,15,56,220,224
402 .byte 102,15,56,220,232
403 .byte 102,15,56,220,240
404 .byte 102,15,56,220,248
405 .byte 102,68,15,56,220,192
406 .byte 102,68,15,56,220,200
407 movups -16(%rcx,%rax,1),%xmm0
410 .byte 102,15,56,220,209
411 .byte 102,15,56,220,217
412 .byte 102,15,56,220,225
413 .byte 102,15,56,220,233
414 .byte 102,15,56,220,241
415 .byte 102,15,56,220,249
416 .byte 102,68,15,56,220,193
417 .byte 102,68,15,56,220,201
418 .byte 102,15,56,221,208
419 .byte 102,15,56,221,216
420 .byte 102,15,56,221,224
421 .byte 102,15,56,221,232
422 .byte 102,15,56,221,240
423 .byte 102,15,56,221,248
424 .byte 102,68,15,56,221,192
425 .byte 102,68,15,56,221,200
427 .size _aesni_encrypt8,.-_aesni_encrypt8
428 .type _aesni_decrypt8,@function
433 movups 16(%rcx),%xmm1
439 leaq 32(%rcx,%rax,1),%rcx
441 .byte 102,15,56,222,209
444 .byte 102,15,56,222,217
446 movups (%rcx,%rax,1),%xmm0
448 jmp .Ldec_loop8_inner
451 .byte 102,15,56,222,209
452 .byte 102,15,56,222,217
454 .byte 102,15,56,222,225
455 .byte 102,15,56,222,233
456 .byte 102,15,56,222,241
457 .byte 102,15,56,222,249
458 .byte 102,68,15,56,222,193
459 .byte 102,68,15,56,222,201
461 movups (%rcx,%rax,1),%xmm1
463 .byte 102,15,56,222,208
464 .byte 102,15,56,222,216
465 .byte 102,15,56,222,224
466 .byte 102,15,56,222,232
467 .byte 102,15,56,222,240
468 .byte 102,15,56,222,248
469 .byte 102,68,15,56,222,192
470 .byte 102,68,15,56,222,200
471 movups -16(%rcx,%rax,1),%xmm0
474 .byte 102,15,56,222,209
475 .byte 102,15,56,222,217
476 .byte 102,15,56,222,225
477 .byte 102,15,56,222,233
478 .byte 102,15,56,222,241
479 .byte 102,15,56,222,249
480 .byte 102,68,15,56,222,193
481 .byte 102,68,15,56,222,201
482 .byte 102,15,56,223,208
483 .byte 102,15,56,223,216
484 .byte 102,15,56,223,224
485 .byte 102,15,56,223,232
486 .byte 102,15,56,223,240
487 .byte 102,15,56,223,248
488 .byte 102,68,15,56,223,192
489 .byte 102,68,15,56,223,200
491 .size _aesni_decrypt8,.-_aesni_decrypt8
492 .globl aesni_ecb_encrypt
493 .type aesni_ecb_encrypt,@function
510 movdqu 16(%rdi),%xmm3
511 movdqu 32(%rdi),%xmm4
512 movdqu 48(%rdi),%xmm5
513 movdqu 64(%rdi),%xmm6
514 movdqu 80(%rdi),%xmm7
515 movdqu 96(%rdi),%xmm8
516 movdqu 112(%rdi),%xmm9
519 jmp .Lecb_enc_loop8_enter
526 movups %xmm3,16(%rsi)
527 movdqu 16(%rdi),%xmm3
528 movups %xmm4,32(%rsi)
529 movdqu 32(%rdi),%xmm4
530 movups %xmm5,48(%rsi)
531 movdqu 48(%rdi),%xmm5
532 movups %xmm6,64(%rsi)
533 movdqu 64(%rdi),%xmm6
534 movups %xmm7,80(%rsi)
535 movdqu 80(%rdi),%xmm7
536 movups %xmm8,96(%rsi)
537 movdqu 96(%rdi),%xmm8
538 movups %xmm9,112(%rsi)
540 movdqu 112(%rdi),%xmm9
542 .Lecb_enc_loop8_enter:
551 movups %xmm3,16(%rsi)
553 movups %xmm4,32(%rsi)
554 movups %xmm5,48(%rsi)
555 movups %xmm6,64(%rsi)
556 movups %xmm7,80(%rsi)
557 movups %xmm8,96(%rsi)
558 movups %xmm9,112(%rsi)
567 movups 16(%rdi),%xmm3
569 movups 32(%rdi),%xmm4
572 movups 48(%rdi),%xmm5
574 movups 64(%rdi),%xmm6
577 movups 80(%rdi),%xmm7
579 movdqu 96(%rdi),%xmm8
583 movups %xmm3,16(%rsi)
584 movups %xmm4,32(%rsi)
585 movups %xmm5,48(%rsi)
586 movups %xmm6,64(%rsi)
587 movups %xmm7,80(%rsi)
588 movups %xmm8,96(%rsi)
593 movups 16(%rcx),%xmm1
597 .byte 102,15,56,220,209
602 .byte 102,15,56,221,209
609 movups %xmm3,16(%rsi)
615 movups %xmm3,16(%rsi)
616 movups %xmm4,32(%rsi)
622 movups %xmm3,16(%rsi)
623 movups %xmm4,32(%rsi)
624 movups %xmm5,48(%rsi)
631 movups %xmm3,16(%rsi)
632 movups %xmm4,32(%rsi)
633 movups %xmm5,48(%rsi)
634 movups %xmm6,64(%rsi)
640 movups %xmm3,16(%rsi)
641 movups %xmm4,32(%rsi)
642 movups %xmm5,48(%rsi)
643 movups %xmm6,64(%rsi)
644 movups %xmm7,80(%rsi)
653 movdqu 16(%rdi),%xmm3
654 movdqu 32(%rdi),%xmm4
655 movdqu 48(%rdi),%xmm5
656 movdqu 64(%rdi),%xmm6
657 movdqu 80(%rdi),%xmm7
658 movdqu 96(%rdi),%xmm8
659 movdqu 112(%rdi),%xmm9
662 jmp .Lecb_dec_loop8_enter
669 movups %xmm3,16(%rsi)
670 movdqu 16(%rdi),%xmm3
671 movups %xmm4,32(%rsi)
672 movdqu 32(%rdi),%xmm4
673 movups %xmm5,48(%rsi)
674 movdqu 48(%rdi),%xmm5
675 movups %xmm6,64(%rsi)
676 movdqu 64(%rdi),%xmm6
677 movups %xmm7,80(%rsi)
678 movdqu 80(%rdi),%xmm7
679 movups %xmm8,96(%rsi)
680 movdqu 96(%rdi),%xmm8
681 movups %xmm9,112(%rsi)
683 movdqu 112(%rdi),%xmm9
685 .Lecb_dec_loop8_enter:
696 movups %xmm3,16(%rsi)
699 movups %xmm4,32(%rsi)
701 movups %xmm5,48(%rsi)
703 movups %xmm6,64(%rsi)
705 movups %xmm7,80(%rsi)
707 movups %xmm8,96(%rsi)
709 movups %xmm9,112(%rsi)
719 movups 16(%rdi),%xmm3
721 movups 32(%rdi),%xmm4
724 movups 48(%rdi),%xmm5
726 movups 64(%rdi),%xmm6
729 movups 80(%rdi),%xmm7
731 movups 96(%rdi),%xmm8
737 movups %xmm3,16(%rsi)
739 movups %xmm4,32(%rsi)
741 movups %xmm5,48(%rsi)
743 movups %xmm6,64(%rsi)
745 movups %xmm7,80(%rsi)
747 movups %xmm8,96(%rsi)
754 movups 16(%rcx),%xmm1
758 .byte 102,15,56,222,209
763 .byte 102,15,56,223,209
772 movups %xmm3,16(%rsi)
780 movups %xmm3,16(%rsi)
782 movups %xmm4,32(%rsi)
790 movups %xmm3,16(%rsi)
792 movups %xmm4,32(%rsi)
794 movups %xmm5,48(%rsi)
803 movups %xmm3,16(%rsi)
805 movups %xmm4,32(%rsi)
807 movups %xmm5,48(%rsi)
809 movups %xmm6,64(%rsi)
818 movups %xmm3,16(%rsi)
820 movups %xmm4,32(%rsi)
822 movups %xmm5,48(%rsi)
824 movups %xmm6,64(%rsi)
826 movups %xmm7,80(%rsi)
833 .size aesni_ecb_encrypt,.-aesni_ecb_encrypt
834 .globl aesni_ccm64_encrypt_blocks
835 .type aesni_ccm64_encrypt_blocks,@function
837 aesni_ccm64_encrypt_blocks:
840 movdqa .Lincrement64(%rip),%xmm9
841 movdqa .Lbswap_mask(%rip),%xmm7
848 leaq 32(%rcx,%rax,1),%rcx
849 .byte 102,15,56,0,247
851 jmp .Lccm64_enc_outer
859 movups 16(%r11),%xmm1
862 movups 32(%r11),%xmm0
865 .byte 102,15,56,220,209
866 .byte 102,15,56,220,217
867 movups (%rcx,%rax,1),%xmm1
869 .byte 102,15,56,220,208
870 .byte 102,15,56,220,216
871 movups -16(%rcx,%rax,1),%xmm0
872 jnz .Lccm64_enc2_loop
873 .byte 102,15,56,220,209
874 .byte 102,15,56,220,217
877 .byte 102,15,56,221,208
878 .byte 102,15,56,221,216
884 .byte 102,15,56,0,215
886 jnz .Lccm64_enc_outer
896 .size aesni_ccm64_encrypt_blocks,.-aesni_ccm64_encrypt_blocks
897 .globl aesni_ccm64_decrypt_blocks
898 .type aesni_ccm64_decrypt_blocks,@function
900 aesni_ccm64_decrypt_blocks:
904 movdqa .Lincrement64(%rip),%xmm9
905 movdqa .Lbswap_mask(%rip),%xmm7
910 .byte 102,15,56,0,247
912 movups 16(%rcx),%xmm1
916 .byte 102,15,56,220,209
921 .byte 102,15,56,221,209
928 leaq 32(%r11,%r10,1),%rcx
930 jmp .Lccm64_dec_outer
937 .byte 102,15,56,0,215
944 movups 16(%r11),%xmm1
948 movups 32(%r11),%xmm0
949 jmp .Lccm64_dec2_loop
952 .byte 102,15,56,220,209
953 .byte 102,15,56,220,217
954 movups (%rcx,%rax,1),%xmm1
956 .byte 102,15,56,220,208
957 .byte 102,15,56,220,216
958 movups -16(%rcx,%rax,1),%xmm0
959 jnz .Lccm64_dec2_loop
962 .byte 102,15,56,220,209
963 .byte 102,15,56,220,217
964 .byte 102,15,56,221,208
965 .byte 102,15,56,221,216
967 jmp .Lccm64_dec_outer
974 movups 16(%r11),%xmm1
979 .byte 102,15,56,220,217
984 .byte 102,15,56,221,217
993 .size aesni_ccm64_decrypt_blocks,.-aesni_ccm64_decrypt_blocks
994 .globl aesni_ctr32_encrypt_blocks
995 .type aesni_ctr32_encrypt_blocks,@function
997 aesni_ctr32_encrypt_blocks:
1007 movups 16(%rcx),%xmm1
1011 .byte 102,15,56,220,209
1016 .byte 102,15,56,221,209
1023 jmp .Lctr32_epilogue
1041 movdqa %xmm2,0(%rsp)
1046 movdqa %xmm2,64(%rsp)
1047 movdqa %xmm2,80(%rsp)
1048 movdqa %xmm2,96(%rsp)
1050 movdqa %xmm2,112(%rsp)
1058 .byte 102,15,58,34,216,3
1060 movdqa %xmm3,16(%rsp)
1061 .byte 102,15,58,34,226,3
1065 movdqa %xmm4,32(%rsp)
1068 .byte 102,15,58,34,232,3
1070 movdqa %xmm5,48(%rsp)
1072 movl %r10d,64+12(%rsp)
1078 movl %r9d,80+12(%rsp)
1081 movl %r10d,96+12(%rsp)
1083 movl OPENSSL_ia32cap_P+4(%rip),%r10d
1085 andl $71303168,%r10d
1086 movl %r9d,112+12(%rsp)
1088 movups 16(%rcx),%xmm1
1090 movdqa 64(%rsp),%xmm6
1091 movdqa 80(%rsp),%xmm7
1109 leaq 32(%rcx,%rax,1),%rcx
1116 movups -48(%rcx,%r10,1),%xmm0
1117 .byte 102,15,56,220,209
1120 .byte 102,15,56,220,217
1121 .byte 0x0f,0x38,0xf1,0x44,0x24,12
1123 .byte 102,15,56,220,225
1125 .byte 0x0f,0x38,0xf1,0x44,0x24,28
1126 .byte 102,15,56,220,233
1129 .byte 102,15,56,220,241
1130 .byte 0x0f,0x38,0xf1,0x44,0x24,44
1132 .byte 102,15,56,220,249
1133 movups -32(%rcx,%r10,1),%xmm1
1136 .byte 102,15,56,220,208
1137 .byte 0x0f,0x38,0xf1,0x44,0x24,60
1139 .byte 102,15,56,220,216
1141 .byte 0x0f,0x38,0xf1,0x44,0x24,76
1142 .byte 102,15,56,220,224
1145 .byte 102,15,56,220,232
1146 .byte 0x0f,0x38,0xf1,0x44,0x24,92
1148 .byte 102,15,56,220,240
1149 .byte 102,15,56,220,248
1150 movups -16(%rcx,%r10,1),%xmm0
1155 movdqu 16(%rdi),%xmm9
1156 movdqu 32(%rdi),%xmm10
1157 movdqu 48(%rdi),%xmm11
1158 movdqu 64(%rdi),%xmm12
1159 movdqu 80(%rdi),%xmm13
1161 movups -64(%rcx,%r10,1),%xmm1
1163 movaps 0(%rsp),%xmm2
1165 movaps 16(%rsp),%xmm3
1167 movaps 32(%rsp),%xmm4
1169 movaps 48(%rsp),%xmm5
1171 movaps 64(%rsp),%xmm6
1173 movaps 80(%rsp),%xmm7
1175 movdqu %xmm9,16(%rsi)
1176 movdqu %xmm10,32(%rsi)
1177 movdqu %xmm11,48(%rsi)
1178 movdqu %xmm12,64(%rsi)
1179 movdqu %xmm13,80(%rsi)
1189 leaq -80(%rcx,%r10,1),%rcx
1197 movdqa 96(%rsp),%xmm8
1198 .byte 102,15,56,220,209
1200 movdqa 112(%rsp),%xmm9
1201 .byte 102,15,56,220,217
1203 movups 32-128(%rcx),%xmm0
1204 .byte 102,15,56,220,225
1207 .byte 102,15,56,220,233
1208 movl %r9d,0+12(%rsp)
1210 .byte 102,15,56,220,241
1211 .byte 102,15,56,220,249
1212 .byte 102,68,15,56,220,193
1213 .byte 102,68,15,56,220,201
1214 movups 48-128(%rcx),%xmm1
1216 .byte 102,15,56,220,208
1217 .byte 102,15,56,220,216
1220 .byte 102,15,56,220,224
1221 .byte 102,15,56,220,232
1222 movl %r9d,16+12(%rsp)
1224 .byte 102,15,56,220,240
1225 .byte 102,15,56,220,248
1226 .byte 102,68,15,56,220,192
1227 .byte 102,68,15,56,220,200
1228 movups 64-128(%rcx),%xmm0
1230 .byte 102,15,56,220,209
1231 .byte 102,15,56,220,217
1234 .byte 102,15,56,220,225
1235 .byte 102,15,56,220,233
1236 movl %r9d,32+12(%rsp)
1238 .byte 102,15,56,220,241
1239 .byte 102,15,56,220,249
1240 .byte 102,68,15,56,220,193
1241 .byte 102,68,15,56,220,201
1242 movups 80-128(%rcx),%xmm1
1244 .byte 102,15,56,220,208
1245 .byte 102,15,56,220,216
1248 .byte 102,15,56,220,224
1249 .byte 102,15,56,220,232
1250 movl %r9d,48+12(%rsp)
1252 .byte 102,15,56,220,240
1253 .byte 102,15,56,220,248
1254 .byte 102,68,15,56,220,192
1255 .byte 102,68,15,56,220,200
1256 movups 96-128(%rcx),%xmm0
1258 .byte 102,15,56,220,209
1259 .byte 102,15,56,220,217
1262 .byte 102,15,56,220,225
1263 .byte 102,15,56,220,233
1264 movl %r9d,64+12(%rsp)
1266 .byte 102,15,56,220,241
1267 .byte 102,15,56,220,249
1268 .byte 102,68,15,56,220,193
1269 .byte 102,68,15,56,220,201
1270 movups 112-128(%rcx),%xmm1
1272 .byte 102,15,56,220,208
1273 .byte 102,15,56,220,216
1276 .byte 102,15,56,220,224
1277 .byte 102,15,56,220,232
1278 movl %r9d,80+12(%rsp)
1280 .byte 102,15,56,220,240
1281 .byte 102,15,56,220,248
1282 .byte 102,68,15,56,220,192
1283 .byte 102,68,15,56,220,200
1284 movups 128-128(%rcx),%xmm0
1286 .byte 102,15,56,220,209
1287 .byte 102,15,56,220,217
1290 .byte 102,15,56,220,225
1291 .byte 102,15,56,220,233
1292 movl %r9d,96+12(%rsp)
1294 .byte 102,15,56,220,241
1295 .byte 102,15,56,220,249
1296 .byte 102,68,15,56,220,193
1297 .byte 102,68,15,56,220,201
1298 movups 144-128(%rcx),%xmm1
1300 .byte 102,15,56,220,208
1301 .byte 102,15,56,220,216
1302 .byte 102,15,56,220,224
1304 movdqu 0(%rdi),%xmm10
1305 .byte 102,15,56,220,232
1306 movl %r9d,112+12(%rsp)
1308 .byte 102,15,56,220,240
1309 .byte 102,15,56,220,248
1310 .byte 102,68,15,56,220,192
1311 .byte 102,68,15,56,220,200
1312 movups 160-128(%rcx),%xmm0
1316 .byte 102,15,56,220,209
1317 .byte 102,15,56,220,217
1318 .byte 102,15,56,220,225
1319 .byte 102,15,56,220,233
1320 .byte 102,15,56,220,241
1321 .byte 102,15,56,220,249
1322 .byte 102,68,15,56,220,193
1323 .byte 102,68,15,56,220,201
1324 movups 176-128(%rcx),%xmm1
1326 .byte 102,15,56,220,208
1327 .byte 102,15,56,220,216
1328 .byte 102,15,56,220,224
1329 .byte 102,15,56,220,232
1330 .byte 102,15,56,220,240
1331 .byte 102,15,56,220,248
1332 .byte 102,68,15,56,220,192
1333 .byte 102,68,15,56,220,200
1334 movups 192-128(%rcx),%xmm0
1337 .byte 102,15,56,220,209
1338 .byte 102,15,56,220,217
1339 .byte 102,15,56,220,225
1340 .byte 102,15,56,220,233
1341 .byte 102,15,56,220,241
1342 .byte 102,15,56,220,249
1343 .byte 102,68,15,56,220,193
1344 .byte 102,68,15,56,220,201
1345 movups 208-128(%rcx),%xmm1
1347 .byte 102,15,56,220,208
1348 .byte 102,15,56,220,216
1349 .byte 102,15,56,220,224
1350 .byte 102,15,56,220,232
1351 .byte 102,15,56,220,240
1352 .byte 102,15,56,220,248
1353 .byte 102,68,15,56,220,192
1354 .byte 102,68,15,56,220,200
1355 movups 224-128(%rcx),%xmm0
1356 jmp .Lctr32_enc_done
1360 movdqu 16(%rdi),%xmm11
1362 movdqu 32(%rdi),%xmm12
1364 movdqu 48(%rdi),%xmm13
1366 movdqu 64(%rdi),%xmm14
1368 movdqu 80(%rdi),%xmm15
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 movdqu 96(%rdi),%xmm1
1382 .byte 102,65,15,56,221,210
1384 movdqu 112-128(%rdi),%xmm10
1385 .byte 102,65,15,56,221,219
1387 movdqa 0(%rsp),%xmm11
1388 .byte 102,65,15,56,221,228
1389 .byte 102,65,15,56,221,237
1390 movdqa 16(%rsp),%xmm12
1391 movdqa 32(%rsp),%xmm13
1392 .byte 102,65,15,56,221,246
1393 .byte 102,65,15,56,221,255
1394 movdqa 48(%rsp),%xmm14
1395 movdqa 64(%rsp),%xmm15
1396 .byte 102,68,15,56,221,193
1397 movdqa 80(%rsp),%xmm0
1398 movups 16-128(%rcx),%xmm1
1399 .byte 102,69,15,56,221,202
1403 movups %xmm3,16(%rsi)
1405 movups %xmm4,32(%rsi)
1407 movups %xmm5,48(%rsi)
1409 movups %xmm6,64(%rsi)
1411 movups %xmm7,80(%rsi)
1413 movups %xmm8,96(%rsi)
1414 movups %xmm9,112(%rsi)
1422 leaq -128(%rcx),%rcx
1434 movdqa 96(%rsp),%xmm8
1437 movups 16(%rcx),%xmm0
1438 .byte 102,15,56,220,209
1439 .byte 102,15,56,220,217
1440 leaq 32-16(%rcx,%rax,1),%rcx
1442 .byte 102,15,56,220,225
1444 movups (%rdi),%xmm10
1445 .byte 102,15,56,220,233
1446 .byte 102,15,56,220,241
1447 movups 16(%rdi),%xmm11
1448 movups 32(%rdi),%xmm12
1449 .byte 102,15,56,220,249
1450 .byte 102,68,15,56,220,193
1452 call .Lenc_loop8_enter
1454 movdqu 48(%rdi),%xmm13
1456 movdqu 64(%rdi),%xmm10
1460 movdqu %xmm3,16(%rsi)
1462 movdqu %xmm4,32(%rsi)
1464 movdqu %xmm5,48(%rsi)
1465 movdqu %xmm6,64(%rsi)
1469 movups 80(%rdi),%xmm11
1471 movups %xmm7,80(%rsi)
1474 movups 96(%rdi),%xmm12
1476 movups %xmm8,96(%rsi)
1481 .byte 102,15,56,220,209
1484 .byte 102,15,56,220,217
1485 .byte 102,15,56,220,225
1486 .byte 102,15,56,220,233
1489 .byte 102,15,56,221,209
1490 .byte 102,15,56,221,217
1491 movups (%rdi),%xmm10
1492 movups 16(%rdi),%xmm11
1493 .byte 102,15,56,221,225
1494 .byte 102,15,56,221,233
1495 movups 32(%rdi),%xmm12
1496 movups 48(%rdi),%xmm13
1501 movups %xmm3,16(%rsi)
1503 movdqu %xmm4,32(%rsi)
1505 movdqu %xmm5,48(%rsi)
1510 .byte 102,15,56,220,209
1513 .byte 102,15,56,220,217
1514 .byte 102,15,56,220,225
1517 .byte 102,15,56,221,209
1518 .byte 102,15,56,221,217
1519 .byte 102,15,56,221,225
1521 movups (%rdi),%xmm10
1527 movups 16(%rdi),%xmm11
1529 movups %xmm3,16(%rsi)
1532 movups 32(%rdi),%xmm12
1534 movups %xmm4,32(%rsi)
1546 movaps %xmm0,0(%rsp)
1548 movaps %xmm0,16(%rsp)
1550 movaps %xmm0,32(%rsp)
1552 movaps %xmm0,48(%rsp)
1554 movaps %xmm0,64(%rsp)
1556 movaps %xmm0,80(%rsp)
1558 movaps %xmm0,96(%rsp)
1560 movaps %xmm0,112(%rsp)
1566 .size aesni_ctr32_encrypt_blocks,.-aesni_ctr32_encrypt_blocks
1567 .globl aesni_xts_encrypt
1568 .type aesni_xts_encrypt,@function
1578 movl 240(%rcx),%r10d
1580 movups 16(%r8),%xmm1
1584 .byte 102,15,56,220,209
1589 .byte 102,15,56,221,209
1597 movups 16(%rcx,%r10,1),%xmm1
1599 movdqa .Lxts_magic(%rip),%xmm8
1601 pshufd $0x5f,%xmm2,%xmm9
1605 movdqa %xmm15,%xmm10
1613 movdqa %xmm15,%xmm11
1621 movdqa %xmm15,%xmm12
1629 movdqa %xmm15,%xmm13
1635 movdqa %xmm15,%xmm14
1641 movaps %xmm1,96(%rsp)
1647 leaq 32(%r11,%r10,1),%rcx
1649 movups 16(%r11),%xmm1
1651 leaq .Lxts_magic(%rip),%r8
1652 jmp .Lxts_enc_grandloop
1655 .Lxts_enc_grandloop:
1656 movdqu 0(%rdi),%xmm2
1658 movdqu 16(%rdi),%xmm3
1660 movdqu 32(%rdi),%xmm4
1662 .byte 102,15,56,220,209
1663 movdqu 48(%rdi),%xmm5
1665 .byte 102,15,56,220,217
1666 movdqu 64(%rdi),%xmm6
1668 .byte 102,15,56,220,225
1669 movdqu 80(%rdi),%xmm7
1671 movdqa 96(%rsp),%xmm9
1673 .byte 102,15,56,220,233
1674 movups 32(%r11),%xmm0
1679 .byte 102,15,56,220,241
1681 movdqa %xmm10,0(%rsp)
1682 .byte 102,15,56,220,249
1683 movups 48(%r11),%xmm1
1686 .byte 102,15,56,220,208
1688 movdqa %xmm11,16(%rsp)
1689 .byte 102,15,56,220,216
1691 movdqa %xmm12,32(%rsp)
1692 .byte 102,15,56,220,224
1693 .byte 102,15,56,220,232
1695 movdqa %xmm14,64(%rsp)
1696 .byte 102,15,56,220,240
1697 .byte 102,15,56,220,248
1698 movups 64(%r11),%xmm0
1699 movdqa %xmm8,80(%rsp)
1700 pshufd $0x5f,%xmm15,%xmm9
1704 .byte 102,15,56,220,209
1705 .byte 102,15,56,220,217
1706 .byte 102,15,56,220,225
1707 .byte 102,15,56,220,233
1708 .byte 102,15,56,220,241
1709 .byte 102,15,56,220,249
1710 movups -64(%rcx,%rax,1),%xmm1
1713 .byte 102,15,56,220,208
1714 .byte 102,15,56,220,216
1715 .byte 102,15,56,220,224
1716 .byte 102,15,56,220,232
1717 .byte 102,15,56,220,240
1718 .byte 102,15,56,220,248
1719 movups -80(%rcx,%rax,1),%xmm0
1725 .byte 102,15,56,220,209
1728 .byte 102,15,56,220,217
1730 movups (%r11),%xmm10
1731 .byte 102,15,56,220,225
1732 .byte 102,15,56,220,233
1733 .byte 102,15,56,220,241
1735 movaps %xmm10,%xmm11
1736 .byte 102,15,56,220,249
1737 movups -64(%rcx),%xmm1
1740 .byte 102,15,56,220,208
1743 .byte 102,15,56,220,216
1746 .byte 102,15,56,220,224
1747 .byte 102,15,56,220,232
1749 movaps %xmm11,%xmm12
1750 .byte 102,15,56,220,240
1753 .byte 102,15,56,220,248
1754 movups -48(%rcx),%xmm0
1757 .byte 102,15,56,220,209
1760 .byte 102,15,56,220,217
1763 .byte 102,15,56,220,225
1764 .byte 102,15,56,220,233
1765 movdqa %xmm13,48(%rsp)
1767 .byte 102,15,56,220,241
1768 movaps %xmm12,%xmm13
1770 .byte 102,15,56,220,249
1771 movups -32(%rcx),%xmm1
1774 .byte 102,15,56,220,208
1777 .byte 102,15,56,220,216
1780 .byte 102,15,56,220,224
1781 .byte 102,15,56,220,232
1782 .byte 102,15,56,220,240
1784 movaps %xmm13,%xmm14
1785 .byte 102,15,56,220,248
1789 .byte 102,15,56,220,209
1792 .byte 102,15,56,220,217
1795 .byte 102,15,56,220,225
1796 .byte 102,15,56,220,233
1799 .byte 102,15,56,220,241
1800 .byte 102,15,56,220,249
1801 movups 16(%r11),%xmm1
1804 .byte 102,15,56,221,84,36,0
1807 .byte 102,15,56,221,92,36,16
1808 .byte 102,15,56,221,100,36,32
1811 .byte 102,15,56,221,108,36,48
1812 .byte 102,15,56,221,116,36,64
1813 .byte 102,15,56,221,124,36,80
1817 movups %xmm2,-96(%rsi)
1818 movups %xmm3,-80(%rsi)
1819 movups %xmm4,-64(%rsi)
1820 movups %xmm5,-48(%rsi)
1821 movups %xmm6,-32(%rsi)
1822 movups %xmm7,-16(%rsi)
1824 jnc .Lxts_enc_grandloop
1851 movdqu 16(%rdi),%xmm3
1852 movdqu 32(%rdi),%xmm4
1854 movdqu 48(%rdi),%xmm5
1856 movdqu 64(%rdi),%xmm6
1863 call _aesni_encrypt6
1866 movdqa %xmm15,%xmm10
1871 movdqu %xmm3,16(%rsi)
1873 movdqu %xmm4,32(%rsi)
1874 movdqu %xmm5,48(%rsi)
1875 movdqu %xmm6,64(%rsi)
1885 movups 16(%rcx),%xmm1
1889 .byte 102,15,56,220,209
1894 .byte 102,15,56,221,209
1896 movdqa %xmm11,%xmm10
1904 movups 16(%rdi),%xmm3
1909 call _aesni_encrypt2
1912 movdqa %xmm12,%xmm10
1915 movups %xmm3,16(%rsi)
1922 movups 16(%rdi),%xmm3
1923 movups 32(%rdi),%xmm4
1929 call _aesni_encrypt3
1932 movdqa %xmm13,%xmm10
1936 movups %xmm3,16(%rsi)
1937 movups %xmm4,32(%rsi)
1944 movups 16(%rdi),%xmm3
1945 movups 32(%rdi),%xmm4
1947 movups 48(%rdi),%xmm5
1953 call _aesni_encrypt4
1956 movdqa %xmm14,%xmm10
1961 movdqu %xmm3,16(%rsi)
1962 movdqu %xmm4,32(%rsi)
1963 movdqu %xmm5,48(%rsi)
1975 movzbl -16(%rsi),%ecx
1987 movups -16(%rsi),%xmm2
1990 movups 16(%rcx),%xmm1
1994 .byte 102,15,56,220,209
1999 .byte 102,15,56,221,209
2001 movups %xmm2,-16(%rsi)
2012 movaps %xmm0,0(%rsp)
2014 movaps %xmm0,16(%rsp)
2016 movaps %xmm0,32(%rsp)
2018 movaps %xmm0,48(%rsp)
2020 movaps %xmm0,64(%rsp)
2022 movaps %xmm0,80(%rsp)
2024 movaps %xmm0,96(%rsp)
2031 .size aesni_xts_encrypt,.-aesni_xts_encrypt
2032 .globl aesni_xts_decrypt
2033 .type aesni_xts_decrypt,@function
2043 movl 240(%rcx),%r10d
2045 movups 16(%r8),%xmm1
2049 .byte 102,15,56,220,209
2054 .byte 102,15,56,221,209
2068 movups 16(%rcx,%r10,1),%xmm1
2070 movdqa .Lxts_magic(%rip),%xmm8
2072 pshufd $0x5f,%xmm2,%xmm9
2076 movdqa %xmm15,%xmm10
2084 movdqa %xmm15,%xmm11
2092 movdqa %xmm15,%xmm12
2100 movdqa %xmm15,%xmm13
2106 movdqa %xmm15,%xmm14
2112 movaps %xmm1,96(%rsp)
2118 leaq 32(%r11,%r10,1),%rcx
2120 movups 16(%r11),%xmm1
2122 leaq .Lxts_magic(%rip),%r8
2123 jmp .Lxts_dec_grandloop
2126 .Lxts_dec_grandloop:
2127 movdqu 0(%rdi),%xmm2
2129 movdqu 16(%rdi),%xmm3
2131 movdqu 32(%rdi),%xmm4
2133 .byte 102,15,56,222,209
2134 movdqu 48(%rdi),%xmm5
2136 .byte 102,15,56,222,217
2137 movdqu 64(%rdi),%xmm6
2139 .byte 102,15,56,222,225
2140 movdqu 80(%rdi),%xmm7
2142 movdqa 96(%rsp),%xmm9
2144 .byte 102,15,56,222,233
2145 movups 32(%r11),%xmm0
2150 .byte 102,15,56,222,241
2152 movdqa %xmm10,0(%rsp)
2153 .byte 102,15,56,222,249
2154 movups 48(%r11),%xmm1
2157 .byte 102,15,56,222,208
2159 movdqa %xmm11,16(%rsp)
2160 .byte 102,15,56,222,216
2162 movdqa %xmm12,32(%rsp)
2163 .byte 102,15,56,222,224
2164 .byte 102,15,56,222,232
2166 movdqa %xmm14,64(%rsp)
2167 .byte 102,15,56,222,240
2168 .byte 102,15,56,222,248
2169 movups 64(%r11),%xmm0
2170 movdqa %xmm8,80(%rsp)
2171 pshufd $0x5f,%xmm15,%xmm9
2175 .byte 102,15,56,222,209
2176 .byte 102,15,56,222,217
2177 .byte 102,15,56,222,225
2178 .byte 102,15,56,222,233
2179 .byte 102,15,56,222,241
2180 .byte 102,15,56,222,249
2181 movups -64(%rcx,%rax,1),%xmm1
2184 .byte 102,15,56,222,208
2185 .byte 102,15,56,222,216
2186 .byte 102,15,56,222,224
2187 .byte 102,15,56,222,232
2188 .byte 102,15,56,222,240
2189 .byte 102,15,56,222,248
2190 movups -80(%rcx,%rax,1),%xmm0
2196 .byte 102,15,56,222,209
2199 .byte 102,15,56,222,217
2201 movups (%r11),%xmm10
2202 .byte 102,15,56,222,225
2203 .byte 102,15,56,222,233
2204 .byte 102,15,56,222,241
2206 movaps %xmm10,%xmm11
2207 .byte 102,15,56,222,249
2208 movups -64(%rcx),%xmm1
2211 .byte 102,15,56,222,208
2214 .byte 102,15,56,222,216
2217 .byte 102,15,56,222,224
2218 .byte 102,15,56,222,232
2220 movaps %xmm11,%xmm12
2221 .byte 102,15,56,222,240
2224 .byte 102,15,56,222,248
2225 movups -48(%rcx),%xmm0
2228 .byte 102,15,56,222,209
2231 .byte 102,15,56,222,217
2234 .byte 102,15,56,222,225
2235 .byte 102,15,56,222,233
2236 movdqa %xmm13,48(%rsp)
2238 .byte 102,15,56,222,241
2239 movaps %xmm12,%xmm13
2241 .byte 102,15,56,222,249
2242 movups -32(%rcx),%xmm1
2245 .byte 102,15,56,222,208
2248 .byte 102,15,56,222,216
2251 .byte 102,15,56,222,224
2252 .byte 102,15,56,222,232
2253 .byte 102,15,56,222,240
2255 movaps %xmm13,%xmm14
2256 .byte 102,15,56,222,248
2260 .byte 102,15,56,222,209
2263 .byte 102,15,56,222,217
2266 .byte 102,15,56,222,225
2267 .byte 102,15,56,222,233
2270 .byte 102,15,56,222,241
2271 .byte 102,15,56,222,249
2272 movups 16(%r11),%xmm1
2275 .byte 102,15,56,223,84,36,0
2278 .byte 102,15,56,223,92,36,16
2279 .byte 102,15,56,223,100,36,32
2282 .byte 102,15,56,223,108,36,48
2283 .byte 102,15,56,223,116,36,64
2284 .byte 102,15,56,223,124,36,80
2288 movups %xmm2,-96(%rsi)
2289 movups %xmm3,-80(%rsi)
2290 movups %xmm4,-64(%rsi)
2291 movups %xmm5,-48(%rsi)
2292 movups %xmm6,-32(%rsi)
2293 movups %xmm7,-16(%rsi)
2295 jnc .Lxts_dec_grandloop
2322 movdqu 16(%rdi),%xmm3
2323 movdqu 32(%rdi),%xmm4
2325 movdqu 48(%rdi),%xmm5
2327 movdqu 64(%rdi),%xmm6
2333 call _aesni_decrypt6
2340 movdqu %xmm3,16(%rsi)
2342 movdqu %xmm4,32(%rsi)
2344 movdqu %xmm5,48(%rsi)
2345 pcmpgtd %xmm15,%xmm14
2346 movdqu %xmm6,64(%rsi)
2348 pshufd $0x13,%xmm14,%xmm11
2352 movdqa %xmm15,%xmm10
2364 movups 16(%rcx),%xmm1
2368 .byte 102,15,56,222,209
2373 .byte 102,15,56,223,209
2375 movdqa %xmm11,%xmm10
2377 movdqa %xmm12,%xmm11
2384 movups 16(%rdi),%xmm3
2389 call _aesni_decrypt2
2392 movdqa %xmm12,%xmm10
2394 movdqa %xmm13,%xmm11
2396 movups %xmm3,16(%rsi)
2403 movups 16(%rdi),%xmm3
2404 movups 32(%rdi),%xmm4
2410 call _aesni_decrypt3
2413 movdqa %xmm13,%xmm10
2415 movdqa %xmm14,%xmm11
2418 movups %xmm3,16(%rsi)
2419 movups %xmm4,32(%rsi)
2426 movups 16(%rdi),%xmm3
2427 movups 32(%rdi),%xmm4
2429 movups 48(%rdi),%xmm5
2435 call _aesni_decrypt4
2438 movdqa %xmm14,%xmm10
2440 movdqa %xmm15,%xmm11
2444 movdqu %xmm3,16(%rsi)
2445 movdqu %xmm4,32(%rsi)
2446 movdqu %xmm5,48(%rsi)
2462 movups 16(%rcx),%xmm1
2466 .byte 102,15,56,222,209
2471 .byte 102,15,56,223,209
2476 movzbl 16(%rdi),%eax
2492 movups 16(%rcx),%xmm1
2496 .byte 102,15,56,222,209
2501 .byte 102,15,56,223,209
2514 movaps %xmm0,0(%rsp)
2516 movaps %xmm0,16(%rsp)
2518 movaps %xmm0,32(%rsp)
2520 movaps %xmm0,48(%rsp)
2522 movaps %xmm0,64(%rsp)
2524 movaps %xmm0,80(%rsp)
2526 movaps %xmm0,96(%rsp)
2533 .size aesni_xts_decrypt,.-aesni_xts_decrypt
2534 .globl aesni_cbc_encrypt
2535 .type aesni_cbc_encrypt,@function
2541 movl 240(%rcx),%r10d
2558 movups 16(%rcx),%xmm1
2563 .byte 102,15,56,220,209
2568 .byte 102,15,56,221,209
2571 movups %xmm2,0(%rsi)
2602 jne .Lcbc_decrypt_bulk
2610 movups 16(%rcx),%xmm1
2614 .byte 102,15,56,222,209
2619 .byte 102,15,56,223,209
2641 movdqu 0(%rdi),%xmm2
2642 movdqu 16(%rdi),%xmm3
2644 movdqu 32(%rdi),%xmm4
2646 movdqu 48(%rdi),%xmm5
2648 movdqu 64(%rdi),%xmm6
2650 movdqu 80(%rdi),%xmm7
2652 movl OPENSSL_ia32cap_P+4(%rip),%r9d
2654 jbe .Lcbc_dec_six_or_seven
2659 je .Lcbc_dec_loop6_enter
2662 jmp .Lcbc_dec_loop8_enter
2667 .Lcbc_dec_loop8_enter:
2668 movdqu 96(%rdi),%xmm8
2670 movdqu 112(%rdi),%xmm9
2672 movups 16-112(%rcx),%xmm1
2681 .byte 102,15,56,222,209
2683 movups 32-112(%rcx),%xmm0
2684 .byte 102,15,56,222,217
2685 .byte 102,15,56,222,225
2686 .byte 102,15,56,222,233
2687 .byte 102,15,56,222,241
2688 .byte 102,15,56,222,249
2689 .byte 102,68,15,56,222,193
2692 .byte 102,68,15,56,222,201
2694 movups 48-112(%rcx),%xmm1
2695 .byte 102,15,56,222,208
2696 .byte 102,15,56,222,216
2697 .byte 102,15,56,222,224
2698 .byte 102,15,56,222,232
2699 .byte 102,15,56,222,240
2700 .byte 102,15,56,222,248
2701 .byte 102,68,15,56,222,192
2702 .byte 102,68,15,56,222,200
2703 movups 64-112(%rcx),%xmm0
2705 .byte 102,15,56,222,209
2706 .byte 102,15,56,222,217
2707 .byte 102,15,56,222,225
2708 .byte 102,15,56,222,233
2709 .byte 102,15,56,222,241
2710 .byte 102,15,56,222,249
2711 .byte 102,68,15,56,222,193
2712 .byte 102,68,15,56,222,201
2713 movups 80-112(%rcx),%xmm1
2715 .byte 102,15,56,222,208
2716 .byte 102,15,56,222,216
2717 .byte 102,15,56,222,224
2718 .byte 102,15,56,222,232
2719 .byte 102,15,56,222,240
2720 .byte 102,15,56,222,248
2721 .byte 102,68,15,56,222,192
2722 .byte 102,68,15,56,222,200
2723 movups 96-112(%rcx),%xmm0
2725 .byte 102,15,56,222,209
2726 .byte 102,15,56,222,217
2727 .byte 102,15,56,222,225
2728 .byte 102,15,56,222,233
2729 .byte 102,15,56,222,241
2730 .byte 102,15,56,222,249
2731 .byte 102,68,15,56,222,193
2732 .byte 102,68,15,56,222,201
2733 movups 112-112(%rcx),%xmm1
2735 .byte 102,15,56,222,208
2736 .byte 102,15,56,222,216
2737 .byte 102,15,56,222,224
2738 .byte 102,15,56,222,232
2739 .byte 102,15,56,222,240
2740 .byte 102,15,56,222,248
2741 .byte 102,68,15,56,222,192
2742 .byte 102,68,15,56,222,200
2743 movups 128-112(%rcx),%xmm0
2745 .byte 102,15,56,222,209
2746 .byte 102,15,56,222,217
2747 .byte 102,15,56,222,225
2748 .byte 102,15,56,222,233
2749 .byte 102,15,56,222,241
2750 .byte 102,15,56,222,249
2751 .byte 102,68,15,56,222,193
2752 .byte 102,68,15,56,222,201
2753 movups 144-112(%rcx),%xmm1
2755 .byte 102,15,56,222,208
2756 .byte 102,15,56,222,216
2757 .byte 102,15,56,222,224
2758 .byte 102,15,56,222,232
2759 .byte 102,15,56,222,240
2760 .byte 102,15,56,222,248
2761 .byte 102,68,15,56,222,192
2762 .byte 102,68,15,56,222,200
2763 movups 160-112(%rcx),%xmm0
2765 .byte 102,15,56,222,209
2766 .byte 102,15,56,222,217
2767 .byte 102,15,56,222,225
2768 .byte 102,15,56,222,233
2769 .byte 102,15,56,222,241
2770 .byte 102,15,56,222,249
2771 .byte 102,68,15,56,222,193
2772 .byte 102,68,15,56,222,201
2773 movups 176-112(%rcx),%xmm1
2775 .byte 102,15,56,222,208
2776 .byte 102,15,56,222,216
2777 .byte 102,15,56,222,224
2778 .byte 102,15,56,222,232
2779 .byte 102,15,56,222,240
2780 .byte 102,15,56,222,248
2781 .byte 102,68,15,56,222,192
2782 .byte 102,68,15,56,222,200
2783 movups 192-112(%rcx),%xmm0
2785 .byte 102,15,56,222,209
2786 .byte 102,15,56,222,217
2787 .byte 102,15,56,222,225
2788 .byte 102,15,56,222,233
2789 .byte 102,15,56,222,241
2790 .byte 102,15,56,222,249
2791 .byte 102,68,15,56,222,193
2792 .byte 102,68,15,56,222,201
2793 movups 208-112(%rcx),%xmm1
2795 .byte 102,15,56,222,208
2796 .byte 102,15,56,222,216
2797 .byte 102,15,56,222,224
2798 .byte 102,15,56,222,232
2799 .byte 102,15,56,222,240
2800 .byte 102,15,56,222,248
2801 .byte 102,68,15,56,222,192
2802 .byte 102,68,15,56,222,200
2803 movups 224-112(%rcx),%xmm0
2807 .byte 102,15,56,222,209
2808 .byte 102,15,56,222,217
2811 .byte 102,15,56,222,225
2812 .byte 102,15,56,222,233
2815 .byte 102,15,56,222,241
2816 .byte 102,15,56,222,249
2819 .byte 102,68,15,56,222,193
2820 .byte 102,68,15,56,222,201
2821 movdqu 80(%rdi),%xmm1
2823 .byte 102,65,15,56,223,210
2824 movdqu 96(%rdi),%xmm10
2826 .byte 102,65,15,56,223,219
2828 movdqu 112(%rdi),%xmm0
2829 .byte 102,65,15,56,223,228
2831 movdqu 0(%r11),%xmm11
2832 .byte 102,65,15,56,223,237
2833 .byte 102,65,15,56,223,246
2834 movdqu 16(%r11),%xmm12
2835 movdqu 32(%r11),%xmm13
2836 .byte 102,65,15,56,223,255
2837 .byte 102,68,15,56,223,193
2838 movdqu 48(%r11),%xmm14
2839 movdqu 64(%r11),%xmm15
2840 .byte 102,69,15,56,223,202
2842 movdqu 80(%r11),%xmm1
2843 movups -112(%rcx),%xmm0
2847 movups %xmm3,16(%rsi)
2849 movups %xmm4,32(%rsi)
2851 movups %xmm5,48(%rsi)
2853 movups %xmm6,64(%rsi)
2855 movups %xmm7,80(%rsi)
2857 movups %xmm8,96(%rsi)
2864 leaq -112(%rcx),%rcx
2866 jle .Lcbc_dec_clear_tail_collected
2873 .Lcbc_dec_six_or_seven:
2878 call _aesni_decrypt6
2884 movdqu %xmm3,16(%rsi)
2887 movdqu %xmm4,32(%rsi)
2890 movdqu %xmm5,48(%rsi)
2893 movdqu %xmm6,64(%rsi)
2898 jmp .Lcbc_dec_tail_collected
2902 movups 96(%rdi),%xmm8
2904 call _aesni_decrypt8
2905 movups 80(%rdi),%xmm9
2907 movups 96(%rdi),%xmm10
2911 movdqu %xmm3,16(%rsi)
2914 movdqu %xmm4,32(%rsi)
2917 movdqu %xmm5,48(%rsi)
2920 movdqu %xmm6,64(%rsi)
2923 movdqu %xmm7,80(%rsi)
2929 jmp .Lcbc_dec_tail_collected
2935 movdqu 0(%rdi),%xmm2
2936 movdqu 16(%rdi),%xmm3
2938 movdqu 32(%rdi),%xmm4
2940 movdqu 48(%rdi),%xmm5
2942 movdqu 64(%rdi),%xmm6
2944 movdqu 80(%rdi),%xmm7
2946 .Lcbc_dec_loop6_enter:
2950 call _aesni_decrypt6
2957 movdqu %xmm3,16(%rsi)
2959 movdqu %xmm4,32(%rsi)
2962 movdqu %xmm5,48(%rsi)
2965 movdqu %xmm6,64(%rsi)
2972 jle .Lcbc_dec_clear_tail_collected
2981 movups 16(%rdi),%xmm3
2986 movups 32(%rdi),%xmm4
2991 movups 48(%rdi),%xmm5
2996 movups 64(%rdi),%xmm6
3000 call _aesni_decrypt6
3002 movaps %xmm15,%xmm10
3006 movdqu %xmm3,16(%rsi)
3009 movdqu %xmm4,32(%rsi)
3012 movdqu %xmm5,48(%rsi)
3019 jmp .Lcbc_dec_tail_collected
3025 movups 16(%rcx),%xmm1
3029 .byte 102,15,56,222,209
3034 .byte 102,15,56,223,209
3036 movaps %xmm11,%xmm10
3037 jmp .Lcbc_dec_tail_collected
3041 call _aesni_decrypt2
3043 movaps %xmm12,%xmm10
3049 jmp .Lcbc_dec_tail_collected
3053 call _aesni_decrypt3
3055 movaps %xmm13,%xmm10
3059 movdqu %xmm3,16(%rsi)
3064 jmp .Lcbc_dec_tail_collected
3068 call _aesni_decrypt4
3070 movaps %xmm14,%xmm10
3074 movdqu %xmm3,16(%rsi)
3077 movdqu %xmm4,32(%rsi)
3082 jmp .Lcbc_dec_tail_collected
3085 .Lcbc_dec_clear_tail_collected:
3093 .Lcbc_dec_tail_collected:
3096 jnz .Lcbc_dec_tail_partial
3101 .Lcbc_dec_tail_partial:
3118 .size aesni_cbc_encrypt,.-aesni_cbc_encrypt
3119 .globl aesni_set_decrypt_key
3120 .type aesni_set_decrypt_key,@function
3122 aesni_set_decrypt_key:
3123 .byte 0x48,0x83,0xEC,0x08
3124 call __aesni_set_encrypt_key
3128 leaq 16(%rdx,%rsi,1),%rdi
3140 .byte 102,15,56,219,192
3141 .byte 102,15,56,219,201
3144 movups %xmm0,16(%rdi)
3145 movups %xmm1,-16(%rdx)
3147 ja .Ldec_key_inverse
3150 .byte 102,15,56,219,192
3157 .LSEH_end_set_decrypt_key:
3158 .size aesni_set_decrypt_key,.-aesni_set_decrypt_key
3159 .globl aesni_set_encrypt_key
3160 .type aesni_set_encrypt_key,@function
3162 aesni_set_encrypt_key:
3163 __aesni_set_encrypt_key:
3164 .byte 0x48,0x83,0xEC,0x08
3171 movl $268437504,%r10d
3174 andl OPENSSL_ia32cap_P+4(%rip),%r10d
3185 cmpl $268435456,%r10d
3189 .byte 102,15,58,223,200,1
3190 call .Lkey_expansion_128_cold
3191 .byte 102,15,58,223,200,2
3192 call .Lkey_expansion_128
3193 .byte 102,15,58,223,200,4
3194 call .Lkey_expansion_128
3195 .byte 102,15,58,223,200,8
3196 call .Lkey_expansion_128
3197 .byte 102,15,58,223,200,16
3198 call .Lkey_expansion_128
3199 .byte 102,15,58,223,200,32
3200 call .Lkey_expansion_128
3201 .byte 102,15,58,223,200,64
3202 call .Lkey_expansion_128
3203 .byte 102,15,58,223,200,128
3204 call .Lkey_expansion_128
3205 .byte 102,15,58,223,200,27
3206 call .Lkey_expansion_128
3207 .byte 102,15,58,223,200,54
3208 call .Lkey_expansion_128
3216 movdqa .Lkey_rotate(%rip),%xmm5
3218 movdqa .Lkey_rcon1(%rip),%xmm4
3225 .byte 102,15,56,0,197
3226 .byte 102,15,56,221,196
3239 movdqu %xmm0,-16(%rax)
3245 movdqa .Lkey_rcon1b(%rip),%xmm4
3247 .byte 102,15,56,0,197
3248 .byte 102,15,56,221,196
3263 .byte 102,15,56,0,197
3264 .byte 102,15,56,221,196
3275 movdqu %xmm0,16(%rax)
3285 cmpl $268435456,%r10d
3289 .byte 102,15,58,223,202,1
3290 call .Lkey_expansion_192a_cold
3291 .byte 102,15,58,223,202,2
3292 call .Lkey_expansion_192b
3293 .byte 102,15,58,223,202,4
3294 call .Lkey_expansion_192a
3295 .byte 102,15,58,223,202,8
3296 call .Lkey_expansion_192b
3297 .byte 102,15,58,223,202,16
3298 call .Lkey_expansion_192a
3299 .byte 102,15,58,223,202,32
3300 call .Lkey_expansion_192b
3301 .byte 102,15,58,223,202,64
3302 call .Lkey_expansion_192a
3303 .byte 102,15,58,223,202,128
3304 call .Lkey_expansion_192b
3312 movdqa .Lkey_rotate192(%rip),%xmm5
3313 movdqa .Lkey_rcon1(%rip),%xmm4
3322 .byte 102,15,56,0,213
3323 .byte 102,15,56,221,212
3335 pshufd $0xff,%xmm0,%xmm3
3342 movdqu %xmm0,-16(%rax)
3353 movups 16(%rdi),%xmm2
3356 cmpl $268435456,%r10d
3360 movups %xmm2,16(%rdx)
3361 .byte 102,15,58,223,202,1
3362 call .Lkey_expansion_256a_cold
3363 .byte 102,15,58,223,200,1
3364 call .Lkey_expansion_256b
3365 .byte 102,15,58,223,202,2
3366 call .Lkey_expansion_256a
3367 .byte 102,15,58,223,200,2
3368 call .Lkey_expansion_256b
3369 .byte 102,15,58,223,202,4
3370 call .Lkey_expansion_256a
3371 .byte 102,15,58,223,200,4
3372 call .Lkey_expansion_256b
3373 .byte 102,15,58,223,202,8
3374 call .Lkey_expansion_256a
3375 .byte 102,15,58,223,200,8
3376 call .Lkey_expansion_256b
3377 .byte 102,15,58,223,202,16
3378 call .Lkey_expansion_256a
3379 .byte 102,15,58,223,200,16
3380 call .Lkey_expansion_256b
3381 .byte 102,15,58,223,202,32
3382 call .Lkey_expansion_256a
3383 .byte 102,15,58,223,200,32
3384 call .Lkey_expansion_256b
3385 .byte 102,15,58,223,202,64
3386 call .Lkey_expansion_256a
3394 movdqa .Lkey_rotate(%rip),%xmm5
3395 movdqa .Lkey_rcon1(%rip),%xmm4
3397 movdqu %xmm0,0(%rdx)
3399 movdqu %xmm2,16(%rdx)
3404 .byte 102,15,56,0,213
3405 .byte 102,15,56,221,212
3422 pshufd $0xff,%xmm0,%xmm2
3424 .byte 102,15,56,221,211
3435 movdqu %xmm2,16(%rax)
3458 .LSEH_end_set_encrypt_key:
3461 .Lkey_expansion_128:
3464 .Lkey_expansion_128_cold:
3465 shufps $16,%xmm0,%xmm4
3467 shufps $140,%xmm0,%xmm4
3469 shufps $255,%xmm1,%xmm1
3474 .Lkey_expansion_192a:
3477 .Lkey_expansion_192a_cold:
3479 .Lkey_expansion_192b_warm:
3480 shufps $16,%xmm0,%xmm4
3483 shufps $140,%xmm0,%xmm4
3486 pshufd $85,%xmm1,%xmm1
3489 pshufd $255,%xmm0,%xmm3
3494 .Lkey_expansion_192b:
3496 shufps $68,%xmm0,%xmm5
3498 shufps $78,%xmm2,%xmm3
3499 movups %xmm3,16(%rax)
3501 jmp .Lkey_expansion_192b_warm
3504 .Lkey_expansion_256a:
3507 .Lkey_expansion_256a_cold:
3508 shufps $16,%xmm0,%xmm4
3510 shufps $140,%xmm0,%xmm4
3512 shufps $255,%xmm1,%xmm1
3517 .Lkey_expansion_256b:
3521 shufps $16,%xmm2,%xmm4
3523 shufps $140,%xmm2,%xmm4
3525 shufps $170,%xmm1,%xmm1
3528 .size aesni_set_encrypt_key,.-aesni_set_encrypt_key
3529 .size __aesni_set_encrypt_key,.-__aesni_set_encrypt_key
3532 .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
3540 .byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
3542 .long 0x0c0f0e0d,0x0c0f0e0d,0x0c0f0e0d,0x0c0f0e0d
3544 .long 0x04070605,0x04070605,0x04070605,0x04070605
3548 .long 0x1b,0x1b,0x1b,0x1b
3550 .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
3552 .section .note.GNU-stack,"",%progbits