18 aesenclast
%xmm1
,%xmm2
39 aesdeclast
%xmm1
,%xmm2
71 aesenclast
%xmm0
,%xmm2
72 aesenclast
%xmm0
,%xmm3
73 aesenclast
%xmm0
,%xmm4
104 aesdeclast
%xmm0
,%xmm2
105 aesdeclast
%xmm0
,%xmm3
106 aesdeclast
%xmm0
,%xmm4
114 movups
16(%rcx
),%xmm1
128 movups
16(%rcx
),%xmm1
141 aesenclast
%xmm0
,%xmm2
142 aesenclast
%xmm0
,%xmm3
143 aesenclast
%xmm0
,%xmm4
144 aesenclast
%xmm0
,%xmm5
152 movups
16(%rcx
),%xmm1
166 movups
16(%rcx
),%xmm1
179 aesdeclast
%xmm0
,%xmm2
180 aesdeclast
%xmm0
,%xmm3
181 aesdeclast
%xmm0
,%xmm4
182 aesdeclast
%xmm0
,%xmm5
190 movups
16(%rcx
),%xmm1
206 jmp
L$enc_loop6_enter
217 movups
16(%rcx
),%xmm1
234 aesenclast
%xmm0
,%xmm2
235 aesenclast
%xmm0
,%xmm3
236 aesenclast
%xmm0
,%xmm4
237 aesenclast
%xmm0
,%xmm5
238 aesenclast
%xmm0
,%xmm6
239 aesenclast
%xmm0
,%xmm7
247 movups
16(%rcx
),%xmm1
263 jmp
L$dec_loop6_enter
274 movups
16(%rcx
),%xmm1
291 aesdeclast
%xmm0
,%xmm2
292 aesdeclast
%xmm0
,%xmm3
293 aesdeclast
%xmm0
,%xmm4
294 aesdeclast
%xmm0
,%xmm5
295 aesdeclast
%xmm0
,%xmm6
296 aesdeclast
%xmm0
,%xmm7
304 movups
16(%rcx
),%xmm1
324 movups
16(%rcx
),%xmm1
325 jmp
L$enc_loop8_enter
337 movups
16(%rcx
),%xmm1
359 aesenclast
%xmm0
,%xmm2
360 aesenclast
%xmm0
,%xmm3
361 aesenclast
%xmm0
,%xmm4
362 aesenclast
%xmm0
,%xmm5
363 aesenclast
%xmm0
,%xmm6
364 aesenclast
%xmm0
,%xmm7
365 aesenclast
%xmm0
,%xmm8
366 aesenclast
%xmm0
,%xmm9
374 movups
16(%rcx
),%xmm1
394 movups
16(%rcx
),%xmm1
395 jmp
L$dec_loop8_enter
407 movups
16(%rcx
),%xmm1
429 aesdeclast
%xmm0
,%xmm2
430 aesdeclast
%xmm0
,%xmm3
431 aesdeclast
%xmm0
,%xmm4
432 aesdeclast
%xmm0
,%xmm5
433 aesdeclast
%xmm0
,%xmm6
434 aesdeclast
%xmm0
,%xmm7
435 aesdeclast
%xmm0
,%xmm8
436 aesdeclast
%xmm0
,%xmm9
439 .globl _aesni_ecb_encrypt
457 movdqu
16(%rdi
),%xmm3
458 movdqu
32(%rdi
),%xmm4
459 movdqu
48(%rdi
),%xmm5
460 movdqu
64(%rdi
),%xmm6
461 movdqu
80(%rdi
),%xmm7
462 movdqu
96(%rdi
),%xmm8
463 movdqu
112(%rdi
),%xmm9
466 jmp
L$ecb_enc_loop8_enter
473 movups
%xmm3
,16(%rsi
)
474 movdqu
16(%rdi
),%xmm3
475 movups
%xmm4
,32(%rsi
)
476 movdqu
32(%rdi
),%xmm4
477 movups
%xmm5
,48(%rsi
)
478 movdqu
48(%rdi
),%xmm5
479 movups
%xmm6
,64(%rsi
)
480 movdqu
64(%rdi
),%xmm6
481 movups
%xmm7
,80(%rsi
)
482 movdqu
80(%rdi
),%xmm7
483 movups
%xmm8
,96(%rsi
)
484 movdqu
96(%rdi
),%xmm8
485 movups
%xmm9
,112(%rsi
)
487 movdqu
112(%rdi
),%xmm9
489 L$ecb_enc_loop8_enter
:
498 movups
%xmm3
,16(%rsi
)
500 movups
%xmm4
,32(%rsi
)
501 movups
%xmm5
,48(%rsi
)
502 movups
%xmm6
,64(%rsi
)
503 movups
%xmm7
,80(%rsi
)
504 movups
%xmm8
,96(%rsi
)
505 movups
%xmm9
,112(%rsi
)
514 movups
16(%rdi
),%xmm3
516 movups
32(%rdi
),%xmm4
519 movups
48(%rdi
),%xmm5
521 movups
64(%rdi
),%xmm6
524 movups
80(%rdi
),%xmm7
526 movdqu
96(%rdi
),%xmm8
529 movups
%xmm3
,16(%rsi
)
530 movups
%xmm4
,32(%rsi
)
531 movups
%xmm5
,48(%rsi
)
532 movups
%xmm6
,64(%rsi
)
533 movups
%xmm7
,80(%rsi
)
534 movups
%xmm8
,96(%rsi
)
539 movups
16(%rcx
),%xmm1
548 aesenclast
%xmm1
,%xmm2
556 movups
%xmm3
,16(%rsi
)
562 movups
%xmm3
,16(%rsi
)
563 movups
%xmm4
,32(%rsi
)
569 movups
%xmm3
,16(%rsi
)
570 movups
%xmm4
,32(%rsi
)
571 movups
%xmm5
,48(%rsi
)
578 movups
%xmm3
,16(%rsi
)
579 movups
%xmm4
,32(%rsi
)
580 movups
%xmm5
,48(%rsi
)
581 movups
%xmm6
,64(%rsi
)
587 movups
%xmm3
,16(%rsi
)
588 movups
%xmm4
,32(%rsi
)
589 movups
%xmm5
,48(%rsi
)
590 movups
%xmm6
,64(%rsi
)
591 movups
%xmm7
,80(%rsi
)
600 movdqu
16(%rdi
),%xmm3
601 movdqu
32(%rdi
),%xmm4
602 movdqu
48(%rdi
),%xmm5
603 movdqu
64(%rdi
),%xmm6
604 movdqu
80(%rdi
),%xmm7
605 movdqu
96(%rdi
),%xmm8
606 movdqu
112(%rdi
),%xmm9
609 jmp
L$ecb_dec_loop8_enter
616 movups
%xmm3
,16(%rsi
)
617 movdqu
16(%rdi
),%xmm3
618 movups
%xmm4
,32(%rsi
)
619 movdqu
32(%rdi
),%xmm4
620 movups
%xmm5
,48(%rsi
)
621 movdqu
48(%rdi
),%xmm5
622 movups
%xmm6
,64(%rsi
)
623 movdqu
64(%rdi
),%xmm6
624 movups
%xmm7
,80(%rsi
)
625 movdqu
80(%rdi
),%xmm7
626 movups
%xmm8
,96(%rsi
)
627 movdqu
96(%rdi
),%xmm8
628 movups
%xmm9
,112(%rsi
)
630 movdqu
112(%rdi
),%xmm9
632 L$ecb_dec_loop8_enter
:
642 movups
%xmm3
,16(%rsi
)
644 movups
%xmm4
,32(%rsi
)
645 movups
%xmm5
,48(%rsi
)
646 movups
%xmm6
,64(%rsi
)
647 movups
%xmm7
,80(%rsi
)
648 movups
%xmm8
,96(%rsi
)
649 movups
%xmm9
,112(%rsi
)
658 movups
16(%rdi
),%xmm3
660 movups
32(%rdi
),%xmm4
663 movups
48(%rdi
),%xmm5
665 movups
64(%rdi
),%xmm6
668 movups
80(%rdi
),%xmm7
670 movups
96(%rdi
),%xmm8
674 movups
%xmm3
,16(%rsi
)
675 movups
%xmm4
,32(%rsi
)
676 movups
%xmm5
,48(%rsi
)
677 movups
%xmm6
,64(%rsi
)
678 movups
%xmm7
,80(%rsi
)
679 movups
%xmm8
,96(%rsi
)
684 movups
16(%rcx
),%xmm1
693 aesdeclast
%xmm1
,%xmm2
701 movups
%xmm3
,16(%rsi
)
707 movups
%xmm3
,16(%rsi
)
708 movups
%xmm4
,32(%rsi
)
714 movups
%xmm3
,16(%rsi
)
715 movups
%xmm4
,32(%rsi
)
716 movups
%xmm5
,48(%rsi
)
723 movups
%xmm3
,16(%rsi
)
724 movups
%xmm4
,32(%rsi
)
725 movups
%xmm5
,48(%rsi
)
726 movups
%xmm6
,64(%rsi
)
732 movups
%xmm3
,16(%rsi
)
733 movups
%xmm4
,32(%rsi
)
734 movups
%xmm5
,48(%rsi
)
735 movups
%xmm6
,64(%rsi
)
736 movups
%xmm7
,80(%rsi
)
741 .globl _aesni_ccm64_encrypt_blocks
744 _aesni_ccm64_encrypt_blocks
:
747 movdqa
L$increment64
(%rip
),%xmm6
748 movdqa
L$bswap_mask
(%rip
),%xmm7
755 .byte 102,68,15,56,0,207
756 jmp
L$ccm64_enc_outer
764 movups
16(%r11),%xmm1
774 movups
16(%rcx
),%xmm1
779 jnz
L$ccm64_enc2_loop
783 aesenclast
%xmm0
,%xmm2
784 aesenclast
%xmm0
,%xmm3
792 .byte 102,15,56,0,215
793 jnz
L$ccm64_enc_outer
798 .globl _aesni_ccm64_decrypt_blocks
801 _aesni_ccm64_decrypt_blocks
:
805 movdqa
L$increment64
(%rip
),%xmm6
806 movdqa
L$bswap_mask
(%rip
),%xmm7
811 .byte 102,68,15,56,0,207
813 movups
16(%rcx
),%xmm1
822 aesenclast
%xmm1
,%xmm2
826 jmp
L$ccm64_dec_outer
834 .byte 102,15,56,0,215
841 movups
16(%r11),%xmm1
852 movups
16(%rcx
),%xmm1
857 jnz
L$ccm64_dec2_loop
863 aesenclast
%xmm0
,%xmm2
864 aesenclast
%xmm0
,%xmm3
865 jmp
L$ccm64_dec_outer
871 movups
16(%r11),%xmm1
881 aesenclast
%xmm1
,%xmm3
885 .globl _aesni_ctr32_encrypt_blocks
888 _aesni_ctr32_encrypt_blocks
:
890 je
L$ctr32_one_shortcut
893 movdqa
L$bswap_mask
(%rip
),%xmm15
895 .byte 102,69,15,58,22,242,3
896 .byte 102,68,15,58,34,240,3
902 .byte 102,69,15,58,34,226,0
904 .byte 102,69,15,58,34,235,0
906 .byte 102,69,15,58,34,226,1
908 .byte 102,69,15,58,34,235,1
910 .byte 102,69,15,58,34,226,2
912 .byte 102,69,15,58,34,235,2
913 movdqa
%xmm12
,-40(%rsp
)
914 .byte 102,69,15,56,0,231
915 movdqa
%xmm13
,-24(%rsp
)
916 .byte 102,69,15,56,0,239
918 pshufd $
192,%xmm12
,%xmm2
919 pshufd $
128,%xmm12
,%xmm3
920 pshufd $
64,%xmm12
,%xmm4
931 pshufd $
192,%xmm13
,%xmm5
934 pshufd $
128,%xmm13
,%xmm6
936 movups
16(%r11),%xmm1
937 pshufd $
64,%xmm13
,%xmm7
952 movdqa
L$increment32
(%rip
),%xmm13
955 movdqa
-40(%rsp
),%xmm12
963 jmp
L$ctr32_enc_loop6_enter
973 L$ctr32_enc_loop6_enter
:
974 movups
16(%rcx
),%xmm1
983 jnz
L$ctr32_enc_loop6
988 paddd
-24(%rsp
),%xmm13
990 movdqa
%xmm12
,-40(%rsp
)
992 movdqa
%xmm13
,-24(%rsp
)
994 .byte 102,69,15,56,0,231
996 .byte 102,69,15,56,0,239
998 aesenclast
%xmm0
,%xmm2
1000 aesenclast
%xmm0
,%xmm3
1001 movups
16(%rdi
),%xmm9
1002 aesenclast
%xmm0
,%xmm4
1003 movups
32(%rdi
),%xmm10
1004 aesenclast
%xmm0
,%xmm5
1005 movups
48(%rdi
),%xmm11
1006 aesenclast
%xmm0
,%xmm6
1007 movups
64(%rdi
),%xmm1
1008 aesenclast
%xmm0
,%xmm7
1009 movups
80(%rdi
),%xmm0
1013 pshufd $
192,%xmm12
,%xmm2
1015 pshufd $
128,%xmm12
,%xmm3
1018 pshufd $
64,%xmm12
,%xmm4
1019 movups
%xmm9
,16(%rsi
)
1021 movups
%xmm10
,32(%rsi
)
1023 movups
%xmm11
,48(%rsi
)
1025 movups
%xmm1
,64(%rsi
)
1026 movups
%xmm0
,80(%rsi
)
1035 leal
1(%rax
,%rax
,1),%eax
1044 movups
16(%rdi
),%xmm9
1047 pshufd $
192,%xmm13
,%xmm5
1049 movups
32(%rdi
),%xmm10
1053 pshufd $
128,%xmm13
,%xmm6
1055 movups
48(%rdi
),%xmm11
1061 call _aesni_encrypt6
1063 movups
64(%rdi
),%xmm1
1068 movups
%xmm9
,16(%rsi
)
1070 movups
%xmm10
,32(%rsi
)
1072 movups
%xmm11
,48(%rsi
)
1073 movups
%xmm1
,64(%rsi
)
1077 L$ctr32_one_shortcut
:
1083 movups
16(%rcx
),%xmm1
1092 aesenclast
%xmm1
,%xmm2
1100 call _aesni_encrypt3
1104 movups
%xmm9
,16(%rsi
)
1109 call _aesni_encrypt3
1114 movups
%xmm9
,16(%rsi
)
1115 movups
%xmm10
,32(%rsi
)
1120 call _aesni_encrypt4
1125 movups
%xmm9
,16(%rsi
)
1127 movups
%xmm10
,32(%rsi
)
1128 movups
%xmm11
,48(%rsi
)
1133 .globl _aesni_xts_encrypt
1137 leaq
-104(%rsp
),%rsp
1140 movl
240(%rcx
),%r10d
1142 movups
16(%r8),%xmm1
1151 aesenclast
%xmm1
,%xmm15
1157 movdqa
L$xts_magic
(%rip
),%xmm8
1159 pcmpgtd
%xmm15
,%xmm14
1160 pshufd $
19,%xmm14
,%xmm9
1162 movdqa
%xmm15
,%xmm10
1165 pcmpgtd
%xmm15
,%xmm14
1167 pshufd $
19,%xmm14
,%xmm9
1169 movdqa
%xmm15
,%xmm11
1172 pcmpgtd
%xmm15
,%xmm14
1174 pshufd $
19,%xmm14
,%xmm9
1176 movdqa
%xmm15
,%xmm12
1179 pcmpgtd
%xmm15
,%xmm14
1181 pshufd $
19,%xmm14
,%xmm9
1183 movdqa
%xmm15
,%xmm13
1186 pcmpgtd
%xmm15
,%xmm14
1194 jmp
L$xts_enc_grandloop
1197 L$xts_enc_grandloop
:
1198 pshufd $
19,%xmm14
,%xmm9
1199 movdqa
%xmm15
,%xmm14
1201 movdqu
0(%rdi
),%xmm2
1203 movdqu
16(%rdi
),%xmm3
1206 movdqu
32(%rdi
),%xmm4
1208 movdqu
48(%rdi
),%xmm5
1210 movdqu
64(%rdi
),%xmm6
1212 movdqu
80(%rdi
),%xmm7
1221 movups
16(%r11),%xmm1
1224 movdqa
%xmm10
,0(%rsp
)
1228 movdqa
%xmm11
,16(%rsp
)
1231 movdqa
%xmm12
,32(%rsp
)
1234 movdqa
%xmm13
,48(%rsp
)
1239 movdqa
%xmm14
,64(%rsp
)
1241 movdqa
%xmm15
,80(%rsp
)
1244 pcmpgtd
%xmm15
,%xmm14
1245 jmp
L$xts_enc_loop6_enter
1256 L$xts_enc_loop6_enter
:
1257 movups
16(%rcx
),%xmm1
1268 pshufd $
19,%xmm14
,%xmm9
1274 pcmpgtd
%xmm15
,%xmm14
1280 movups
16(%rcx
),%xmm1
1282 pshufd $
19,%xmm14
,%xmm9
1284 movdqa
%xmm15
,%xmm10
1289 pcmpgtd
%xmm15
,%xmm14
1295 movups
32(%rcx
),%xmm0
1297 pshufd $
19,%xmm14
,%xmm9
1299 movdqa
%xmm15
,%xmm11
1304 pcmpgtd
%xmm15
,%xmm14
1311 pshufd $
19,%xmm14
,%xmm9
1313 movdqa
%xmm15
,%xmm12
1315 aesenclast
%xmm0
,%xmm2
1317 aesenclast
%xmm0
,%xmm3
1318 pcmpgtd
%xmm15
,%xmm14
1319 aesenclast
%xmm0
,%xmm4
1321 aesenclast
%xmm0
,%xmm5
1322 aesenclast
%xmm0
,%xmm6
1323 aesenclast
%xmm0
,%xmm7
1325 pshufd $
19,%xmm14
,%xmm9
1327 movdqa
%xmm15
,%xmm13
1331 xorps
16(%rsp
),%xmm3
1332 pcmpgtd
%xmm15
,%xmm14
1335 xorps
32(%rsp
),%xmm4
1336 movups
%xmm2
,0(%rsi
)
1337 xorps
48(%rsp
),%xmm5
1338 movups
%xmm3
,16(%rsi
)
1339 xorps
64(%rsp
),%xmm6
1340 movups
%xmm4
,32(%rsi
)
1341 xorps
80(%rsp
),%xmm7
1342 movups
%xmm5
,48(%rsi
)
1344 movups
%xmm6
,64(%rsi
)
1345 movups
%xmm7
,80(%rsi
)
1348 jnc
L$xts_enc_grandloop
1350 leal
3(%rax
,%rax
,1),%eax
1366 pshufd $
19,%xmm14
,%xmm9
1367 movdqa
%xmm15
,%xmm14
1371 movdqu
16(%rdi
),%xmm3
1374 movdqu
32(%rdi
),%xmm4
1376 movdqu
48(%rdi
),%xmm5
1378 movdqu
64(%rdi
),%xmm6
1384 call _aesni_encrypt6
1387 movdqa
%xmm15
,%xmm10
1392 movdqu
%xmm3
,16(%rsi
)
1394 movdqu
%xmm4
,32(%rsi
)
1395 movdqu
%xmm5
,48(%rsi
)
1396 movdqu
%xmm6
,64(%rsi
)
1406 movups
16(%rcx
),%xmm1
1415 aesenclast
%xmm1
,%xmm2
1417 movdqa
%xmm11
,%xmm10
1425 movups
16(%rdi
),%xmm3
1430 call _aesni_encrypt3
1433 movdqa
%xmm12
,%xmm10
1436 movups
%xmm3
,16(%rsi
)
1443 movups
16(%rdi
),%xmm3
1444 movups
32(%rdi
),%xmm4
1450 call _aesni_encrypt3
1453 movdqa
%xmm13
,%xmm10
1457 movups
%xmm3
,16(%rsi
)
1458 movups
%xmm4
,32(%rsi
)
1465 movups
16(%rdi
),%xmm3
1466 movups
32(%rdi
),%xmm4
1468 movups
48(%rdi
),%xmm5
1474 call _aesni_encrypt4
1477 movdqa
%xmm15
,%xmm10
1482 movups
%xmm3
,16(%rsi
)
1483 movups
%xmm4
,32(%rsi
)
1484 movups
%xmm5
,48(%rsi
)
1496 movzbl
-16(%rsi
),%ecx
1508 movups
-16(%rsi
),%xmm2
1511 movups
16(%rcx
),%xmm1
1520 aesenclast
%xmm1
,%xmm2
1522 movups
%xmm2
,-16(%rsi
)
1529 .globl _aesni_xts_decrypt
1533 leaq
-104(%rsp
),%rsp
1536 movl
240(%rcx
),%r10d
1538 movups
16(%r8),%xmm1
1547 aesenclast
%xmm1
,%xmm15
1559 movdqa
L$xts_magic
(%rip
),%xmm8
1561 pcmpgtd
%xmm15
,%xmm14
1562 pshufd $
19,%xmm14
,%xmm9
1564 movdqa
%xmm15
,%xmm10
1567 pcmpgtd
%xmm15
,%xmm14
1569 pshufd $
19,%xmm14
,%xmm9
1571 movdqa
%xmm15
,%xmm11
1574 pcmpgtd
%xmm15
,%xmm14
1576 pshufd $
19,%xmm14
,%xmm9
1578 movdqa
%xmm15
,%xmm12
1581 pcmpgtd
%xmm15
,%xmm14
1583 pshufd $
19,%xmm14
,%xmm9
1585 movdqa
%xmm15
,%xmm13
1588 pcmpgtd
%xmm15
,%xmm14
1596 jmp
L$xts_dec_grandloop
1599 L$xts_dec_grandloop
:
1600 pshufd $
19,%xmm14
,%xmm9
1601 movdqa
%xmm15
,%xmm14
1603 movdqu
0(%rdi
),%xmm2
1605 movdqu
16(%rdi
),%xmm3
1608 movdqu
32(%rdi
),%xmm4
1610 movdqu
48(%rdi
),%xmm5
1612 movdqu
64(%rdi
),%xmm6
1614 movdqu
80(%rdi
),%xmm7
1623 movups
16(%r11),%xmm1
1626 movdqa
%xmm10
,0(%rsp
)
1630 movdqa
%xmm11
,16(%rsp
)
1633 movdqa
%xmm12
,32(%rsp
)
1636 movdqa
%xmm13
,48(%rsp
)
1641 movdqa
%xmm14
,64(%rsp
)
1643 movdqa
%xmm15
,80(%rsp
)
1646 pcmpgtd
%xmm15
,%xmm14
1647 jmp
L$xts_dec_loop6_enter
1658 L$xts_dec_loop6_enter
:
1659 movups
16(%rcx
),%xmm1
1670 pshufd $
19,%xmm14
,%xmm9
1676 pcmpgtd
%xmm15
,%xmm14
1682 movups
16(%rcx
),%xmm1
1684 pshufd $
19,%xmm14
,%xmm9
1686 movdqa
%xmm15
,%xmm10
1691 pcmpgtd
%xmm15
,%xmm14
1697 movups
32(%rcx
),%xmm0
1699 pshufd $
19,%xmm14
,%xmm9
1701 movdqa
%xmm15
,%xmm11
1706 pcmpgtd
%xmm15
,%xmm14
1713 pshufd $
19,%xmm14
,%xmm9
1715 movdqa
%xmm15
,%xmm12
1717 aesdeclast
%xmm0
,%xmm2
1719 aesdeclast
%xmm0
,%xmm3
1720 pcmpgtd
%xmm15
,%xmm14
1721 aesdeclast
%xmm0
,%xmm4
1723 aesdeclast
%xmm0
,%xmm5
1724 aesdeclast
%xmm0
,%xmm6
1725 aesdeclast
%xmm0
,%xmm7
1727 pshufd $
19,%xmm14
,%xmm9
1729 movdqa
%xmm15
,%xmm13
1733 xorps
16(%rsp
),%xmm3
1734 pcmpgtd
%xmm15
,%xmm14
1737 xorps
32(%rsp
),%xmm4
1738 movups
%xmm2
,0(%rsi
)
1739 xorps
48(%rsp
),%xmm5
1740 movups
%xmm3
,16(%rsi
)
1741 xorps
64(%rsp
),%xmm6
1742 movups
%xmm4
,32(%rsi
)
1743 xorps
80(%rsp
),%xmm7
1744 movups
%xmm5
,48(%rsi
)
1746 movups
%xmm6
,64(%rsi
)
1747 movups
%xmm7
,80(%rsi
)
1750 jnc
L$xts_dec_grandloop
1752 leal
3(%rax
,%rax
,1),%eax
1768 pshufd $
19,%xmm14
,%xmm9
1769 movdqa
%xmm15
,%xmm14
1773 movdqu
16(%rdi
),%xmm3
1776 movdqu
32(%rdi
),%xmm4
1778 movdqu
48(%rdi
),%xmm5
1780 movdqu
64(%rdi
),%xmm6
1786 call _aesni_decrypt6
1793 movdqu
%xmm3
,16(%rsi
)
1795 movdqu
%xmm4
,32(%rsi
)
1797 movdqu
%xmm5
,48(%rsi
)
1798 pcmpgtd
%xmm15
,%xmm14
1799 movdqu
%xmm6
,64(%rsi
)
1801 pshufd $
19,%xmm14
,%xmm11
1805 movdqa
%xmm15
,%xmm10
1817 movups
16(%rcx
),%xmm1
1826 aesdeclast
%xmm1
,%xmm2
1828 movdqa
%xmm11
,%xmm10
1830 movdqa
%xmm12
,%xmm11
1837 movups
16(%rdi
),%xmm3
1842 call _aesni_decrypt3
1845 movdqa
%xmm12
,%xmm10
1847 movdqa
%xmm13
,%xmm11
1849 movups
%xmm3
,16(%rsi
)
1856 movups
16(%rdi
),%xmm3
1857 movups
32(%rdi
),%xmm4
1863 call _aesni_decrypt3
1866 movdqa
%xmm13
,%xmm10
1868 movdqa
%xmm15
,%xmm11
1871 movups
%xmm3
,16(%rsi
)
1872 movups
%xmm4
,32(%rsi
)
1878 pshufd $
19,%xmm14
,%xmm9
1879 movdqa
%xmm15
,%xmm14
1883 movups
16(%rdi
),%xmm3
1886 movups
32(%rdi
),%xmm4
1888 movups
48(%rdi
),%xmm5
1894 call _aesni_decrypt4
1897 movdqa
%xmm14
,%xmm10
1899 movdqa
%xmm15
,%xmm11
1903 movups
%xmm3
,16(%rsi
)
1904 movups
%xmm4
,32(%rsi
)
1905 movups
%xmm5
,48(%rsi
)
1921 movups
16(%rcx
),%xmm1
1930 aesdeclast
%xmm1
,%xmm2
1935 movzbl
16(%rdi
),%eax
1951 movups
16(%rcx
),%xmm1
1960 aesdeclast
%xmm1
,%xmm2
1969 .globl _aesni_cbc_encrypt
1976 movl
240(%rcx
),%r10d
1993 movups
16(%rcx
),%xmm1
2003 aesenclast
%xmm1
,%xmm2
2006 movups
%xmm2
,0(%rsi
)
2039 movaps
%xmm9
,-24(%rsp
)
2040 jmp
L$cbc_dec_loop8_enter
2043 movaps
%xmm0
,-24(%rsp
)
2046 L$cbc_dec_loop8_enter
:
2049 movups
16(%rdi
),%xmm3
2050 movups
16(%rcx
),%xmm1
2053 movdqu
32(%rdi
),%xmm4
2055 movdqu
48(%rdi
),%xmm5
2057 movdqu
64(%rdi
),%xmm6
2060 movdqu
80(%rdi
),%xmm7
2063 movdqu
96(%rdi
),%xmm8
2066 movdqu
112(%rdi
),%xmm9
2077 movups
16(%rcx
),%xmm1
2079 call
L$dec_loop8_enter
2082 movups
16(%rdi
),%xmm0
2083 xorps
-24(%rsp
),%xmm2
2085 movups
32(%rdi
),%xmm1
2087 movups
48(%rdi
),%xmm0
2089 movups
64(%rdi
),%xmm1
2091 movups
80(%rdi
),%xmm0
2093 movups
96(%rdi
),%xmm1
2095 movups
112(%rdi
),%xmm0
2098 movups
%xmm3
,16(%rsi
)
2099 movups
%xmm4
,32(%rsi
)
2100 movups
%xmm5
,48(%rsi
)
2102 movups
%xmm6
,64(%rsi
)
2104 movups
%xmm7
,80(%rsi
)
2106 movups
%xmm8
,96(%rsi
)
2114 jle
L$cbc_dec_tail_collected
2116 leal
1(%r10,%r10,1),%eax
2124 movups
16(%rdi
),%xmm3
2129 movups
32(%rdi
),%xmm4
2134 movups
48(%rdi
),%xmm5
2138 movups
64(%rdi
),%xmm6
2142 movups
80(%rdi
),%xmm7
2146 movups
96(%rdi
),%xmm8
2147 movaps
%xmm9
,-24(%rsp
)
2148 call _aesni_decrypt8
2150 movups
16(%rdi
),%xmm0
2151 xorps
-24(%rsp
),%xmm2
2153 movups
32(%rdi
),%xmm1
2155 movups
48(%rdi
),%xmm0
2157 movups
64(%rdi
),%xmm1
2159 movups
80(%rdi
),%xmm0
2161 movups
96(%rdi
),%xmm9
2164 movups
%xmm3
,16(%rsi
)
2165 movups
%xmm4
,32(%rsi
)
2166 movups
%xmm5
,48(%rsi
)
2167 movups
%xmm6
,64(%rsi
)
2168 movups
%xmm7
,80(%rsi
)
2172 jmp
L$cbc_dec_tail_collected
2176 movups
16(%rcx
),%xmm1
2185 aesdeclast
%xmm1
,%xmm2
2189 jmp
L$cbc_dec_tail_collected
2193 call _aesni_decrypt3
2201 jmp
L$cbc_dec_tail_collected
2204 call _aesni_decrypt3
2209 movups
%xmm3
,16(%rsi
)
2214 jmp
L$cbc_dec_tail_collected
2217 call _aesni_decrypt4
2219 movups
48(%rdi
),%xmm9
2223 movups
%xmm3
,16(%rsi
)
2225 movups
%xmm4
,32(%rsi
)
2229 jmp
L$cbc_dec_tail_collected
2233 call _aesni_decrypt6
2234 movups
16(%rdi
),%xmm1
2235 movups
32(%rdi
),%xmm0
2239 movups
48(%rdi
),%xmm1
2241 movups
64(%rdi
),%xmm9
2244 movups
%xmm3
,16(%rsi
)
2245 movups
%xmm4
,32(%rsi
)
2246 movups
%xmm5
,48(%rsi
)
2250 jmp
L$cbc_dec_tail_collected
2253 call _aesni_decrypt6
2254 movups
16(%rdi
),%xmm1
2255 movups
32(%rdi
),%xmm0
2259 movups
48(%rdi
),%xmm1
2261 movups
64(%rdi
),%xmm0
2263 movups
80(%rdi
),%xmm9
2266 movups
%xmm3
,16(%rsi
)
2267 movups
%xmm4
,32(%rsi
)
2268 movups
%xmm5
,48(%rsi
)
2269 movups
%xmm6
,64(%rsi
)
2273 jmp
L$cbc_dec_tail_collected
2275 L$cbc_dec_tail_collected
:
2278 jnz
L$cbc_dec_tail_partial
2282 L$cbc_dec_tail_partial
:
2283 movaps
%xmm2
,-24(%rsp
)
2294 .globl _aesni_set_decrypt_key
2297 _aesni_set_decrypt_key
:
2299 call __aesni_set_encrypt_key
2303 leaq
16(%rdx
,%rsi
,1),%rdi
2319 movups
%xmm0
,16(%rdi
)
2320 movups
%xmm1
,-16(%rdx
)
2322 ja
L$dec_key_inverse
2330 L$SEH_end_set_decrypt_key
:
2332 .globl _aesni_set_encrypt_key
2335 _aesni_set_encrypt_key
:
2336 __aesni_set_encrypt_key
:
2357 aeskeygenassist $
1,%xmm0
,%xmm1
2358 call
L$key_expansion_128_cold
2359 aeskeygenassist $
2,%xmm0
,%xmm1
2360 call
L$key_expansion_128
2361 aeskeygenassist $
4,%xmm0
,%xmm1
2362 call
L$key_expansion_128
2363 aeskeygenassist $
8,%xmm0
,%xmm1
2364 call
L$key_expansion_128
2365 aeskeygenassist $
16,%xmm0
,%xmm1
2366 call
L$key_expansion_128
2367 aeskeygenassist $
32,%xmm0
,%xmm1
2368 call
L$key_expansion_128
2369 aeskeygenassist $
64,%xmm0
,%xmm1
2370 call
L$key_expansion_128
2371 aeskeygenassist $
128,%xmm0
,%xmm1
2372 call
L$key_expansion_128
2373 aeskeygenassist $
27,%xmm0
,%xmm1
2374 call
L$key_expansion_128
2375 aeskeygenassist $
54,%xmm0
,%xmm1
2376 call
L$key_expansion_128
2387 aeskeygenassist $
1,%xmm2
,%xmm1
2388 call
L$key_expansion_192a_cold
2389 aeskeygenassist $
2,%xmm2
,%xmm1
2390 call
L$key_expansion_192b
2391 aeskeygenassist $
4,%xmm2
,%xmm1
2392 call
L$key_expansion_192a
2393 aeskeygenassist $
8,%xmm2
,%xmm1
2394 call
L$key_expansion_192b
2395 aeskeygenassist $
16,%xmm2
,%xmm1
2396 call
L$key_expansion_192a
2397 aeskeygenassist $
32,%xmm2
,%xmm1
2398 call
L$key_expansion_192b
2399 aeskeygenassist $
64,%xmm2
,%xmm1
2400 call
L$key_expansion_192a
2401 aeskeygenassist $
128,%xmm2
,%xmm1
2402 call
L$key_expansion_192b
2410 movups
16(%rdi
),%xmm2
2414 movups
%xmm2
,16(%rdx
)
2415 aeskeygenassist $
1,%xmm2
,%xmm1
2416 call
L$key_expansion_256a_cold
2417 aeskeygenassist $
1,%xmm0
,%xmm1
2418 call
L$key_expansion_256b
2419 aeskeygenassist $
2,%xmm2
,%xmm1
2420 call
L$key_expansion_256a
2421 aeskeygenassist $
2,%xmm0
,%xmm1
2422 call
L$key_expansion_256b
2423 aeskeygenassist $
4,%xmm2
,%xmm1
2424 call
L$key_expansion_256a
2425 aeskeygenassist $
4,%xmm0
,%xmm1
2426 call
L$key_expansion_256b
2427 aeskeygenassist $
8,%xmm2
,%xmm1
2428 call
L$key_expansion_256a
2429 aeskeygenassist $
8,%xmm0
,%xmm1
2430 call
L$key_expansion_256b
2431 aeskeygenassist $
16,%xmm2
,%xmm1
2432 call
L$key_expansion_256a
2433 aeskeygenassist $
16,%xmm0
,%xmm1
2434 call
L$key_expansion_256b
2435 aeskeygenassist $
32,%xmm2
,%xmm1
2436 call
L$key_expansion_256a
2437 aeskeygenassist $
32,%xmm0
,%xmm1
2438 call
L$key_expansion_256b
2439 aeskeygenassist $
64,%xmm2
,%xmm1
2440 call
L$key_expansion_256a
2452 L$SEH_end_set_encrypt_key
:
2455 L$key_expansion_128
:
2458 L$key_expansion_128_cold
:
2459 shufps $
16,%xmm0
,%xmm4
2461 shufps $
140,%xmm0
,%xmm4
2463 shufps $
255,%xmm1
,%xmm1
2468 L$key_expansion_192a
:
2471 L$key_expansion_192a_cold
:
2473 L$key_expansion_192b_warm
:
2474 shufps $
16,%xmm0
,%xmm4
2477 shufps $
140,%xmm0
,%xmm4
2480 pshufd $
85,%xmm1
,%xmm1
2483 pshufd $
255,%xmm0
,%xmm3
2488 L$key_expansion_192b
:
2490 shufps $
68,%xmm0
,%xmm5
2492 shufps $
78,%xmm2
,%xmm3
2493 movups
%xmm3
,16(%rax
)
2495 jmp
L$key_expansion_192b_warm
2498 L$key_expansion_256a
:
2501 L$key_expansion_256a_cold
:
2502 shufps $
16,%xmm0
,%xmm4
2504 shufps $
140,%xmm0
,%xmm4
2506 shufps $
255,%xmm1
,%xmm1
2511 L$key_expansion_256b
:
2515 shufps $
16,%xmm2
,%xmm4
2517 shufps $
140,%xmm2
,%xmm4
2519 shufps $
170,%xmm1
,%xmm1
2526 .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
2534 .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