2 /* Do not modify. This file is auto-generated from aesni-sha1-x86_64.pl. */
6 .globl aesni_cbc_sha1_enc
7 .type aesni_cbc_sha1_enc,@function
11 movl OPENSSL_ia32cap_P+0(%rip),%r10d
12 movq OPENSSL_ia32cap_P+4(%rip),%r11
14 jc aesni_cbc_sha1_enc_shaext
16 andl $1073741824,%r10d
18 cmpl $1342177280,%r10d
19 je aesni_cbc_sha1_enc_avx
20 jmp aesni_cbc_sha1_enc_ssse3
22 .size aesni_cbc_sha1_enc,.-aesni_cbc_sha1_enc
23 .type aesni_cbc_sha1_enc_ssse3,@function
25 aesni_cbc_sha1_enc_ssse3:
46 movl 240-112(%r15),%r8d
49 leaq K_XX_XX(%rip),%r11
80 movups -112(%r15),%xmm15
81 movups 16-112(%r15),%xmm0
89 movups -80(%r15),%xmm1
90 .byte 102,15,56,220,208
91 pshufd $238,%xmm4,%xmm8
97 punpcklqdq %xmm5,%xmm8
114 movdqa %xmm13,48(%rsp)
116 movups -64(%r15),%xmm0
117 .byte 102,15,56,220,209
143 movups -48(%r15),%xmm1
144 .byte 102,15,56,220,208
156 pshufd $238,%xmm5,%xmm9
162 punpcklqdq %xmm6,%xmm9
172 movups -32(%r15),%xmm0
173 .byte 102,15,56,220,209
198 movups -16(%r15),%xmm1
199 .byte 102,15,56,220,208
213 movdqa 16(%r11),%xmm12
221 pshufd $238,%xmm6,%xmm10
228 .byte 102,15,56,220,209
229 punpcklqdq %xmm7,%xmm10
246 movdqa %xmm12,16(%rsp)
253 movups 16(%r15),%xmm1
254 .byte 102,15,56,220,208
278 movdqa 16(%r11),%xmm13
281 movups 32(%r15),%xmm0
282 .byte 102,15,56,220,209
288 pshufd $238,%xmm7,%xmm11
294 punpcklqdq %xmm8,%xmm11
308 movups 48(%r15),%xmm1
309 .byte 102,15,56,220,208
313 movdqa %xmm13,32(%rsp)
338 movups 64(%r15),%xmm0
339 .byte 102,15,56,220,209
340 movups 80(%r15),%xmm1
341 .byte 102,15,56,220,208
343 movups 96(%r15),%xmm0
344 .byte 102,15,56,220,209
345 movups 112(%r15),%xmm1
346 .byte 102,15,56,220,208
348 .byte 102,15,56,221,209
349 movups 16-112(%r15),%xmm0
357 movdqa 16(%r11),%xmm3
362 pshufd $238,%xmm10,%xmm13
370 punpcklqdq %xmm11,%xmm13
375 movups 16(%r12),%xmm14
377 movups %xmm2,0(%r12,%r13,1)
379 movups -80(%r15),%xmm1
380 .byte 102,15,56,220,208
394 movdqa %xmm3,48(%rsp)
405 movups -64(%r15),%xmm0
406 .byte 102,15,56,220,209
410 pshufd $238,%xmm11,%xmm3
425 movups -48(%r15),%xmm1
426 .byte 102,15,56,220,208
428 punpcklqdq %xmm4,%xmm3
446 movdqa %xmm12,0(%rsp)
456 movups -32(%r15),%xmm0
457 .byte 102,15,56,220,209
463 pshufd $238,%xmm4,%xmm12
474 punpcklqdq %xmm5,%xmm12
480 movdqa 32(%r11),%xmm3
486 movups -16(%r15),%xmm1
487 .byte 102,15,56,220,208
494 movdqa %xmm13,16(%rsp)
509 pshufd $238,%xmm5,%xmm13
515 .byte 102,15,56,220,209
522 punpcklqdq %xmm6,%xmm13
540 movdqa %xmm3,32(%rsp)
544 movups 16(%r15),%xmm1
545 .byte 102,15,56,220,208
557 pshufd $238,%xmm6,%xmm3
568 punpcklqdq %xmm7,%xmm3
573 movups 32(%r15),%xmm0
574 .byte 102,15,56,220,209
588 movdqa %xmm12,48(%rsp)
603 movups 48(%r15),%xmm1
604 .byte 102,15,56,220,208
605 pshufd $238,%xmm7,%xmm12
616 punpcklqdq %xmm8,%xmm12
635 movups 64(%r15),%xmm0
636 .byte 102,15,56,220,209
637 movups 80(%r15),%xmm1
638 .byte 102,15,56,220,208
640 movups 96(%r15),%xmm0
641 .byte 102,15,56,220,209
642 movups 112(%r15),%xmm1
643 .byte 102,15,56,220,208
645 .byte 102,15,56,221,209
646 movups 16-112(%r15),%xmm0
648 movdqa %xmm13,0(%rsp)
663 pshufd $238,%xmm8,%xmm13
674 movups 32(%r12),%xmm14
676 movups %xmm2,16(%r13,%r12,1)
678 movups -80(%r15),%xmm1
679 .byte 102,15,56,220,208
683 punpcklqdq %xmm9,%xmm13
702 movdqa %xmm3,16(%rsp)
705 movups -64(%r15),%xmm0
706 .byte 102,15,56,220,209
720 pshufd $238,%xmm9,%xmm3
729 movups -48(%r15),%xmm1
730 .byte 102,15,56,220,208
743 punpcklqdq %xmm10,%xmm3
749 movdqa 48(%r11),%xmm13
756 movups -32(%r15),%xmm0
757 .byte 102,15,56,220,209
764 movdqa %xmm12,32(%rsp)
780 pshufd $238,%xmm10,%xmm12
782 movups -16(%r15),%xmm1
783 .byte 102,15,56,220,208
804 .byte 102,15,56,220,209
805 punpcklqdq %xmm11,%xmm12
824 movdqa %xmm13,48(%rsp)
833 movups 16(%r15),%xmm1
834 .byte 102,15,56,220,208
842 pshufd $238,%xmm11,%xmm13
855 movups 32(%r15),%xmm0
856 .byte 102,15,56,220,209
865 punpcklqdq %xmm4,%xmm13
881 movups 48(%r15),%xmm1
882 .byte 102,15,56,220,208
902 pshufd $238,%xmm4,%xmm3
910 movups 64(%r15),%xmm0
911 .byte 102,15,56,220,209
912 movups 80(%r15),%xmm1
913 .byte 102,15,56,220,208
915 movups 96(%r15),%xmm0
916 .byte 102,15,56,220,209
917 movups 112(%r15),%xmm1
918 .byte 102,15,56,220,208
920 .byte 102,15,56,221,209
921 movups 16-112(%r15),%xmm0
937 punpcklqdq %xmm5,%xmm3
943 movups 48(%r12),%xmm14
945 movups %xmm2,32(%r13,%r12,1)
947 movups -80(%r15),%xmm1
948 .byte 102,15,56,220,208
962 movdqa %xmm12,16(%rsp)
975 movups -64(%r15),%xmm0
976 .byte 102,15,56,220,209
980 pshufd $238,%xmm5,%xmm12
997 movups -48(%r15),%xmm1
998 .byte 102,15,56,220,208
1000 punpcklqdq %xmm6,%xmm12
1018 movdqa %xmm13,32(%rsp)
1028 movups -32(%r15),%xmm0
1029 .byte 102,15,56,220,209
1049 movdqa %xmm3,48(%rsp)
1053 movups -16(%r15),%xmm1
1054 .byte 102,15,56,220,208
1075 movups 0(%r15),%xmm0
1076 .byte 102,15,56,220,209
1082 movdqa 64(%r11),%xmm3
1083 movdqa 0(%r11),%xmm13
1084 movdqu 0(%r10),%xmm4
1085 movdqu 16(%r10),%xmm5
1086 movdqu 32(%r10),%xmm6
1087 movdqu 48(%r10),%xmm7
1088 .byte 102,15,56,0,227
1093 .byte 102,15,56,0,235
1103 movdqa %xmm4,0(%rsp)
1111 movups 16(%r15),%xmm1
1112 .byte 102,15,56,220,208
1131 .byte 102,15,56,0,243
1134 movups 32(%r15),%xmm0
1135 .byte 102,15,56,220,209
1143 movdqa %xmm5,16(%rsp)
1159 movups 48(%r15),%xmm1
1160 .byte 102,15,56,220,208
1171 .byte 102,15,56,0,251
1181 movdqa %xmm6,32(%rsp)
1186 movups 64(%r15),%xmm0
1187 .byte 102,15,56,220,209
1188 movups 80(%r15),%xmm1
1189 .byte 102,15,56,220,208
1191 movups 96(%r15),%xmm0
1192 .byte 102,15,56,220,209
1193 movups 112(%r15),%xmm1
1194 .byte 102,15,56,220,208
1196 .byte 102,15,56,221,209
1197 movups 16-112(%r15),%xmm0
1217 movups %xmm2,48(%r13,%r12,1)
1254 movups 16(%r15),%xmm1
1255 .byte 102,15,56,220,208
1276 movups 32(%r15),%xmm0
1277 .byte 102,15,56,220,209
1298 movups 48(%r15),%xmm1
1299 .byte 102,15,56,220,208
1322 movups 64(%r15),%xmm0
1323 .byte 102,15,56,220,209
1324 movups 80(%r15),%xmm1
1325 .byte 102,15,56,220,208
1327 movups 96(%r15),%xmm0
1328 .byte 102,15,56,220,209
1329 movups 112(%r15),%xmm1
1330 .byte 102,15,56,220,208
1332 .byte 102,15,56,221,209
1333 movups 16-112(%r15),%xmm0
1352 movups %xmm2,48(%r13,%r12,1)
1376 .size aesni_cbc_sha1_enc_ssse3,.-aesni_cbc_sha1_enc_ssse3
1377 .type aesni_cbc_sha1_enc_avx,@function
1379 aesni_cbc_sha1_enc_avx:
1389 leaq -104(%rsp),%rsp
1397 vmovdqu (%r8),%xmm12
1401 movl 240-112(%r15),%r8d
1404 leaq K_XX_XX(%rip),%r11
1415 vmovdqa 64(%r11),%xmm6
1416 vmovdqa 0(%r11),%xmm10
1417 vmovdqu 0(%r10),%xmm0
1418 vmovdqu 16(%r10),%xmm1
1419 vmovdqu 32(%r10),%xmm2
1420 vmovdqu 48(%r10),%xmm3
1421 vpshufb %xmm6,%xmm0,%xmm0
1423 vpshufb %xmm6,%xmm1,%xmm1
1424 vpshufb %xmm6,%xmm2,%xmm2
1425 vpshufb %xmm6,%xmm3,%xmm3
1426 vpaddd %xmm10,%xmm0,%xmm4
1427 vpaddd %xmm10,%xmm1,%xmm5
1428 vpaddd %xmm10,%xmm2,%xmm6
1429 vmovdqa %xmm4,0(%rsp)
1430 vmovdqa %xmm5,16(%rsp)
1431 vmovdqa %xmm6,32(%rsp)
1432 vmovups -112(%r15),%xmm15
1433 vmovups 16-112(%r15),%xmm14
1438 vmovdqu 0(%r12),%xmm13
1439 vpxor %xmm15,%xmm13,%xmm13
1440 vpxor %xmm13,%xmm12,%xmm12
1441 vaesenc %xmm14,%xmm12,%xmm12
1442 vmovups -80(%r15),%xmm15
1444 vpalignr $8,%xmm0,%xmm1,%xmm4
1447 vpaddd %xmm3,%xmm10,%xmm9
1450 vpsrldq $4,%xmm3,%xmm8
1453 vpxor %xmm0,%xmm4,%xmm4
1456 vpxor %xmm2,%xmm8,%xmm8
1461 vpxor %xmm8,%xmm4,%xmm4
1464 vmovdqa %xmm9,48(%rsp)
1466 vaesenc %xmm15,%xmm12,%xmm12
1467 vmovups -64(%r15),%xmm14
1469 vpsrld $31,%xmm4,%xmm8
1474 vpslldq $12,%xmm4,%xmm9
1475 vpaddd %xmm4,%xmm4,%xmm4
1480 vpor %xmm8,%xmm4,%xmm4
1481 vpsrld $30,%xmm9,%xmm8
1486 vpslld $2,%xmm9,%xmm9
1487 vpxor %xmm8,%xmm4,%xmm4
1492 vaesenc %xmm14,%xmm12,%xmm12
1493 vmovups -48(%r15),%xmm15
1494 vpxor %xmm9,%xmm4,%xmm4
1503 vpalignr $8,%xmm1,%xmm2,%xmm5
1506 vpaddd %xmm4,%xmm10,%xmm9
1509 vpsrldq $4,%xmm4,%xmm8
1512 vpxor %xmm1,%xmm5,%xmm5
1515 vpxor %xmm3,%xmm8,%xmm8
1517 vaesenc %xmm15,%xmm12,%xmm12
1518 vmovups -32(%r15),%xmm14
1522 vpxor %xmm8,%xmm5,%xmm5
1525 vmovdqa %xmm9,0(%rsp)
1528 vpsrld $31,%xmm5,%xmm8
1533 vpslldq $12,%xmm5,%xmm9
1534 vpaddd %xmm5,%xmm5,%xmm5
1539 vpor %xmm8,%xmm5,%xmm5
1540 vpsrld $30,%xmm9,%xmm8
1542 vaesenc %xmm14,%xmm12,%xmm12
1543 vmovups -16(%r15),%xmm15
1547 vpslld $2,%xmm9,%xmm9
1548 vpxor %xmm8,%xmm5,%xmm5
1553 vpxor %xmm9,%xmm5,%xmm5
1556 vmovdqa 16(%r11),%xmm10
1563 vpalignr $8,%xmm2,%xmm3,%xmm6
1566 vaesenc %xmm15,%xmm12,%xmm12
1567 vmovups 0(%r15),%xmm14
1568 vpaddd %xmm5,%xmm10,%xmm9
1571 vpsrldq $4,%xmm5,%xmm8
1574 vpxor %xmm2,%xmm6,%xmm6
1577 vpxor %xmm4,%xmm8,%xmm8
1582 vpxor %xmm8,%xmm6,%xmm6
1585 vmovdqa %xmm9,16(%rsp)
1588 vpsrld $31,%xmm6,%xmm8
1592 vaesenc %xmm14,%xmm12,%xmm12
1593 vmovups 16(%r15),%xmm15
1595 vpslldq $12,%xmm6,%xmm9
1596 vpaddd %xmm6,%xmm6,%xmm6
1601 vpor %xmm8,%xmm6,%xmm6
1602 vpsrld $30,%xmm9,%xmm8
1607 vpslld $2,%xmm9,%xmm9
1608 vpxor %xmm8,%xmm6,%xmm6
1613 vpxor %xmm9,%xmm6,%xmm6
1617 vaesenc %xmm15,%xmm12,%xmm12
1618 vmovups 32(%r15),%xmm14
1624 vpalignr $8,%xmm3,%xmm4,%xmm7
1627 vpaddd %xmm6,%xmm10,%xmm9
1630 vpsrldq $4,%xmm6,%xmm8
1633 vpxor %xmm3,%xmm7,%xmm7
1636 vpxor %xmm5,%xmm8,%xmm8
1641 vaesenc %xmm14,%xmm12,%xmm12
1642 vmovups 48(%r15),%xmm15
1643 vpxor %xmm8,%xmm7,%xmm7
1646 vmovdqa %xmm9,32(%rsp)
1649 vpsrld $31,%xmm7,%xmm8
1654 vpslldq $12,%xmm7,%xmm9
1655 vpaddd %xmm7,%xmm7,%xmm7
1660 vpor %xmm8,%xmm7,%xmm7
1661 vpsrld $30,%xmm9,%xmm8
1666 vpslld $2,%xmm9,%xmm9
1667 vpxor %xmm8,%xmm7,%xmm7
1671 vaesenc %xmm15,%xmm12,%xmm12
1672 vmovups 64(%r15),%xmm14
1673 vaesenc %xmm14,%xmm12,%xmm12
1674 vmovups 80(%r15),%xmm15
1676 vaesenc %xmm15,%xmm12,%xmm12
1677 vmovups 96(%r15),%xmm14
1678 vaesenc %xmm14,%xmm12,%xmm12
1679 vmovups 112(%r15),%xmm15
1681 vaesenclast %xmm15,%xmm12,%xmm12
1682 vmovups -112(%r15),%xmm15
1683 vmovups 16-112(%r15),%xmm14
1687 vpxor %xmm9,%xmm7,%xmm7
1694 vpalignr $8,%xmm6,%xmm7,%xmm8
1695 vpxor %xmm4,%xmm0,%xmm0
1700 vpxor %xmm1,%xmm0,%xmm0
1703 vpaddd %xmm7,%xmm10,%xmm9
1705 vmovdqu 16(%r12),%xmm13
1706 vpxor %xmm15,%xmm13,%xmm13
1707 vmovups %xmm12,0(%r12,%r13,1)
1708 vpxor %xmm13,%xmm12,%xmm12
1709 vaesenc %xmm14,%xmm12,%xmm12
1710 vmovups -80(%r15),%xmm15
1712 vpxor %xmm8,%xmm0,%xmm0
1717 vpsrld $30,%xmm0,%xmm8
1718 vmovdqa %xmm9,48(%rsp)
1723 vpslld $2,%xmm0,%xmm0
1732 vaesenc %xmm15,%xmm12,%xmm12
1733 vmovups -64(%r15),%xmm14
1734 vpor %xmm8,%xmm0,%xmm0
1749 vpalignr $8,%xmm7,%xmm0,%xmm8
1750 vpxor %xmm5,%xmm1,%xmm1
1752 vaesenc %xmm14,%xmm12,%xmm12
1753 vmovups -48(%r15),%xmm15
1757 vpxor %xmm2,%xmm1,%xmm1
1760 vpaddd %xmm0,%xmm10,%xmm9
1763 vpxor %xmm8,%xmm1,%xmm1
1768 vpsrld $30,%xmm1,%xmm8
1769 vmovdqa %xmm9,0(%rsp)
1774 vpslld $2,%xmm1,%xmm1
1780 vaesenc %xmm15,%xmm12,%xmm12
1781 vmovups -32(%r15),%xmm14
1785 vpor %xmm8,%xmm1,%xmm1
1794 vpalignr $8,%xmm0,%xmm1,%xmm8
1795 vpxor %xmm6,%xmm2,%xmm2
1800 vpxor %xmm3,%xmm2,%xmm2
1803 vpaddd %xmm1,%xmm10,%xmm9
1804 vmovdqa 32(%r11),%xmm10
1807 vpxor %xmm8,%xmm2,%xmm2
1809 vaesenc %xmm14,%xmm12,%xmm12
1810 vmovups -16(%r15),%xmm15
1814 vpsrld $30,%xmm2,%xmm8
1815 vmovdqa %xmm9,16(%rsp)
1820 vpslld $2,%xmm2,%xmm2
1829 vpor %xmm8,%xmm2,%xmm2
1835 vaesenc %xmm15,%xmm12,%xmm12
1836 vmovups 0(%r15),%xmm14
1840 vpalignr $8,%xmm1,%xmm2,%xmm8
1841 vpxor %xmm7,%xmm3,%xmm3
1846 vpxor %xmm4,%xmm3,%xmm3
1849 vpaddd %xmm2,%xmm10,%xmm9
1852 vpxor %xmm8,%xmm3,%xmm3
1857 vpsrld $30,%xmm3,%xmm8
1858 vmovdqa %xmm9,32(%rsp)
1863 vpslld $2,%xmm3,%xmm3
1865 vaesenc %xmm14,%xmm12,%xmm12
1866 vmovups 16(%r15),%xmm15
1874 vpor %xmm8,%xmm3,%xmm3
1883 vpalignr $8,%xmm2,%xmm3,%xmm8
1884 vpxor %xmm0,%xmm4,%xmm4
1889 vpxor %xmm5,%xmm4,%xmm4
1891 vaesenc %xmm15,%xmm12,%xmm12
1892 vmovups 32(%r15),%xmm14
1894 vpaddd %xmm3,%xmm10,%xmm9
1897 vpxor %xmm8,%xmm4,%xmm4
1902 vpsrld $30,%xmm4,%xmm8
1903 vmovdqa %xmm9,48(%rsp)
1908 vpslld $2,%xmm4,%xmm4
1917 vpor %xmm8,%xmm4,%xmm4
1919 vaesenc %xmm14,%xmm12,%xmm12
1920 vmovups 48(%r15),%xmm15
1928 vpalignr $8,%xmm3,%xmm4,%xmm8
1929 vpxor %xmm1,%xmm5,%xmm5
1934 vpxor %xmm6,%xmm5,%xmm5
1937 vpaddd %xmm4,%xmm10,%xmm9
1940 vpxor %xmm8,%xmm5,%xmm5
1945 vpsrld $30,%xmm5,%xmm8
1946 vmovdqa %xmm9,0(%rsp)
1950 vaesenc %xmm15,%xmm12,%xmm12
1951 vmovups 64(%r15),%xmm14
1952 vaesenc %xmm14,%xmm12,%xmm12
1953 vmovups 80(%r15),%xmm15
1955 vaesenc %xmm15,%xmm12,%xmm12
1956 vmovups 96(%r15),%xmm14
1957 vaesenc %xmm14,%xmm12,%xmm12
1958 vmovups 112(%r15),%xmm15
1960 vaesenclast %xmm15,%xmm12,%xmm12
1961 vmovups -112(%r15),%xmm15
1962 vmovups 16-112(%r15),%xmm14
1966 vpslld $2,%xmm5,%xmm5
1975 vpor %xmm8,%xmm5,%xmm5
1985 vpalignr $8,%xmm4,%xmm5,%xmm8
1986 vpxor %xmm2,%xmm6,%xmm6
1988 vmovdqu 32(%r12),%xmm13
1989 vpxor %xmm15,%xmm13,%xmm13
1990 vmovups %xmm12,16(%r13,%r12,1)
1991 vpxor %xmm13,%xmm12,%xmm12
1992 vaesenc %xmm14,%xmm12,%xmm12
1993 vmovups -80(%r15),%xmm15
1997 vpxor %xmm7,%xmm6,%xmm6
2000 vpaddd %xmm5,%xmm10,%xmm9
2003 vpxor %xmm8,%xmm6,%xmm6
2008 vpsrld $30,%xmm6,%xmm8
2009 vmovdqa %xmm9,16(%rsp)
2014 vpslld $2,%xmm6,%xmm6
2018 vaesenc %xmm15,%xmm12,%xmm12
2019 vmovups -64(%r15),%xmm14
2025 vpor %xmm8,%xmm6,%xmm6
2039 vaesenc %xmm14,%xmm12,%xmm12
2040 vmovups -48(%r15),%xmm15
2048 vpalignr $8,%xmm5,%xmm6,%xmm8
2049 vpxor %xmm3,%xmm7,%xmm7
2054 vpxor %xmm0,%xmm7,%xmm7
2057 vpaddd %xmm6,%xmm10,%xmm9
2058 vmovdqa 48(%r11),%xmm10
2061 vpxor %xmm8,%xmm7,%xmm7
2066 vaesenc %xmm15,%xmm12,%xmm12
2067 vmovups -32(%r15),%xmm14
2068 vpsrld $30,%xmm7,%xmm8
2069 vmovdqa %xmm9,32(%rsp)
2074 vpslld $2,%xmm7,%xmm7
2083 vpor %xmm8,%xmm7,%xmm7
2090 vaesenc %xmm14,%xmm12,%xmm12
2091 vmovups -16(%r15),%xmm15
2106 vpalignr $8,%xmm6,%xmm7,%xmm8
2107 vpxor %xmm4,%xmm0,%xmm0
2112 vaesenc %xmm15,%xmm12,%xmm12
2113 vmovups 0(%r15),%xmm14
2114 vpxor %xmm1,%xmm0,%xmm0
2117 vpaddd %xmm7,%xmm10,%xmm9
2120 vpxor %xmm8,%xmm0,%xmm0
2125 vpsrld $30,%xmm0,%xmm8
2126 vmovdqa %xmm9,48(%rsp)
2131 vpslld $2,%xmm0,%xmm0
2139 vaesenc %xmm14,%xmm12,%xmm12
2140 vmovups 16(%r15),%xmm15
2142 vpor %xmm8,%xmm0,%xmm0
2160 vaesenc %xmm15,%xmm12,%xmm12
2161 vmovups 32(%r15),%xmm14
2165 vpalignr $8,%xmm7,%xmm0,%xmm8
2166 vpxor %xmm5,%xmm1,%xmm1
2171 vpxor %xmm2,%xmm1,%xmm1
2174 vpaddd %xmm0,%xmm10,%xmm9
2177 vpxor %xmm8,%xmm1,%xmm1
2182 vpsrld $30,%xmm1,%xmm8
2183 vmovdqa %xmm9,0(%rsp)
2187 vaesenc %xmm14,%xmm12,%xmm12
2188 vmovups 48(%r15),%xmm15
2190 vpslld $2,%xmm1,%xmm1
2199 vpor %xmm8,%xmm1,%xmm1
2212 vaesenc %xmm15,%xmm12,%xmm12
2213 vmovups 64(%r15),%xmm14
2214 vaesenc %xmm14,%xmm12,%xmm12
2215 vmovups 80(%r15),%xmm15
2217 vaesenc %xmm15,%xmm12,%xmm12
2218 vmovups 96(%r15),%xmm14
2219 vaesenc %xmm14,%xmm12,%xmm12
2220 vmovups 112(%r15),%xmm15
2222 vaesenclast %xmm15,%xmm12,%xmm12
2223 vmovups -112(%r15),%xmm15
2224 vmovups 16-112(%r15),%xmm14
2235 vpalignr $8,%xmm0,%xmm1,%xmm8
2236 vpxor %xmm6,%xmm2,%xmm2
2241 vpxor %xmm3,%xmm2,%xmm2
2244 vpaddd %xmm1,%xmm10,%xmm9
2247 vmovdqu 48(%r12),%xmm13
2248 vpxor %xmm15,%xmm13,%xmm13
2249 vmovups %xmm12,32(%r13,%r12,1)
2250 vpxor %xmm13,%xmm12,%xmm12
2251 vaesenc %xmm14,%xmm12,%xmm12
2252 vmovups -80(%r15),%xmm15
2253 vpxor %xmm8,%xmm2,%xmm2
2258 vpsrld $30,%xmm2,%xmm8
2259 vmovdqa %xmm9,16(%rsp)
2264 vpslld $2,%xmm2,%xmm2
2273 vpor %xmm8,%xmm2,%xmm2
2276 vaesenc %xmm15,%xmm12,%xmm12
2277 vmovups -64(%r15),%xmm14
2295 vpalignr $8,%xmm1,%xmm2,%xmm8
2296 vpxor %xmm7,%xmm3,%xmm3
2298 vaesenc %xmm14,%xmm12,%xmm12
2299 vmovups -48(%r15),%xmm15
2303 vpxor %xmm4,%xmm3,%xmm3
2306 vpaddd %xmm2,%xmm10,%xmm9
2309 vpxor %xmm8,%xmm3,%xmm3
2314 vpsrld $30,%xmm3,%xmm8
2315 vmovdqa %xmm9,32(%rsp)
2320 vpslld $2,%xmm3,%xmm3
2326 vaesenc %xmm15,%xmm12,%xmm12
2327 vmovups -32(%r15),%xmm14
2331 vpor %xmm8,%xmm3,%xmm3
2341 vpaddd %xmm3,%xmm10,%xmm9
2346 vmovdqa %xmm9,48(%rsp)
2351 vaesenc %xmm14,%xmm12,%xmm12
2352 vmovups -16(%r15),%xmm15
2373 vaesenc %xmm15,%xmm12,%xmm12
2374 vmovups 0(%r15),%xmm14
2380 vmovdqa 64(%r11),%xmm9
2381 vmovdqa 0(%r11),%xmm10
2382 vmovdqu 0(%r10),%xmm0
2383 vmovdqu 16(%r10),%xmm1
2384 vmovdqu 32(%r10),%xmm2
2385 vmovdqu 48(%r10),%xmm3
2386 vpshufb %xmm9,%xmm0,%xmm0
2390 vpshufb %xmm9,%xmm1,%xmm1
2393 vpaddd %xmm10,%xmm0,%xmm8
2398 vmovdqa %xmm8,0(%rsp)
2408 vaesenc %xmm14,%xmm12,%xmm12
2409 vmovups 16(%r15),%xmm15
2427 vpshufb %xmm9,%xmm2,%xmm2
2430 vpaddd %xmm10,%xmm1,%xmm8
2432 vaesenc %xmm15,%xmm12,%xmm12
2433 vmovups 32(%r15),%xmm14
2437 vmovdqa %xmm8,16(%rsp)
2455 vaesenc %xmm14,%xmm12,%xmm12
2456 vmovups 48(%r15),%xmm15
2466 vpshufb %xmm9,%xmm3,%xmm3
2469 vpaddd %xmm10,%xmm2,%xmm8
2474 vmovdqa %xmm8,32(%rsp)
2482 vaesenc %xmm15,%xmm12,%xmm12
2483 vmovups 64(%r15),%xmm14
2484 vaesenc %xmm14,%xmm12,%xmm12
2485 vmovups 80(%r15),%xmm15
2487 vaesenc %xmm15,%xmm12,%xmm12
2488 vmovups 96(%r15),%xmm14
2489 vaesenc %xmm14,%xmm12,%xmm12
2490 vmovups 112(%r15),%xmm15
2492 vaesenclast %xmm15,%xmm12,%xmm12
2493 vmovups -112(%r15),%xmm15
2494 vmovups 16-112(%r15),%xmm14
2513 vmovups %xmm12,48(%r13,%r12,1)
2550 vaesenc %xmm14,%xmm12,%xmm12
2551 vmovups 16(%r15),%xmm15
2572 vaesenc %xmm15,%xmm12,%xmm12
2573 vmovups 32(%r15),%xmm14
2594 vaesenc %xmm14,%xmm12,%xmm12
2595 vmovups 48(%r15),%xmm15
2618 vaesenc %xmm15,%xmm12,%xmm12
2619 vmovups 64(%r15),%xmm14
2620 vaesenc %xmm14,%xmm12,%xmm12
2621 vmovups 80(%r15),%xmm15
2623 vaesenc %xmm15,%xmm12,%xmm12
2624 vmovups 96(%r15),%xmm14
2625 vaesenc %xmm14,%xmm12,%xmm12
2626 vmovups 112(%r15),%xmm15
2628 vaesenclast %xmm15,%xmm12,%xmm12
2629 vmovups -112(%r15),%xmm15
2630 vmovups 16-112(%r15),%xmm14
2649 vmovups %xmm12,48(%r13,%r12,1)
2662 vmovups %xmm12,(%r8)
2674 .size aesni_cbc_sha1_enc_avx,.-aesni_cbc_sha1_enc_avx
2677 .long 0x5a827999,0x5a827999,0x5a827999,0x5a827999
2678 .long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
2679 .long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
2680 .long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
2681 .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
2682 .byte 0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0
2684 .byte 65,69,83,78,73,45,67,66,67,43,83,72,65,49,32,115,116,105,116,99,104,32,102,111,114,32,120,56,54,95,54,52,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
2686 .type aesni_cbc_sha1_enc_shaext,@function
2688 aesni_cbc_sha1_enc_shaext:
2692 movdqa K_XX_XX+80(%rip),%xmm7
2694 movl 240(%rcx),%r11d
2696 movups (%rcx),%xmm15
2698 movups 16(%rcx),%xmm0
2701 pshufd $27,%xmm8,%xmm8
2702 pshufd $27,%xmm9,%xmm9
2707 movups 0(%rdi),%xmm14
2710 movups -80(%rcx),%xmm1
2711 .byte 102,15,56,220,208
2714 .byte 102,15,56,0,223
2715 movdqu 16(%r10),%xmm4
2717 movups -64(%rcx),%xmm0
2718 .byte 102,15,56,220,209
2719 .byte 102,15,56,0,231
2722 movdqu 32(%r10),%xmm5
2725 movups -48(%rcx),%xmm1
2726 .byte 102,15,56,220,208
2729 .byte 102,15,56,0,239
2730 .byte 69,15,58,204,193,0
2731 .byte 68,15,56,200,212
2732 movups -32(%rcx),%xmm0
2733 .byte 102,15,56,220,209
2735 movdqu -16(%r10),%xmm6
2737 .byte 102,15,56,0,247
2738 movups -16(%rcx),%xmm1
2739 .byte 102,15,56,220,208
2740 .byte 69,15,58,204,194,0
2741 .byte 68,15,56,200,205
2744 movups 0(%rcx),%xmm0
2745 .byte 102,15,56,220,209
2747 .byte 69,15,58,204,193,0
2748 .byte 68,15,56,200,214
2749 movups 16(%rcx),%xmm1
2750 .byte 102,15,56,220,208
2754 movups 32(%rcx),%xmm0
2755 .byte 102,15,56,220,209
2757 .byte 69,15,58,204,194,0
2758 .byte 68,15,56,200,203
2759 movups 48(%rcx),%xmm1
2760 .byte 102,15,56,220,208
2766 movups 64(%rcx),%xmm0
2767 .byte 102,15,56,220,209
2768 movups 80(%rcx),%xmm1
2769 .byte 102,15,56,220,208
2771 movups 96(%rcx),%xmm0
2772 .byte 102,15,56,220,209
2773 movups 112(%rcx),%xmm1
2774 .byte 102,15,56,220,208
2776 .byte 102,15,56,221,209
2777 movups 16-112(%rcx),%xmm0
2779 .byte 69,15,58,204,193,0
2780 .byte 68,15,56,200,212
2781 movups 16(%rdi),%xmm14
2783 movups %xmm2,0(%rsi,%rdi,1)
2785 movups -80(%rcx),%xmm1
2786 .byte 102,15,56,220,208
2790 movups -64(%rcx),%xmm0
2791 .byte 102,15,56,220,209
2793 .byte 69,15,58,204,194,1
2794 .byte 68,15,56,200,205
2795 movups -48(%rcx),%xmm1
2796 .byte 102,15,56,220,208
2800 movups -32(%rcx),%xmm0
2801 .byte 102,15,56,220,209
2803 .byte 69,15,58,204,193,1
2804 .byte 68,15,56,200,214
2805 movups -16(%rcx),%xmm1
2806 .byte 102,15,56,220,208
2810 movups 0(%rcx),%xmm0
2811 .byte 102,15,56,220,209
2813 .byte 69,15,58,204,194,1
2814 .byte 68,15,56,200,203
2815 movups 16(%rcx),%xmm1
2816 .byte 102,15,56,220,208
2820 movups 32(%rcx),%xmm0
2821 .byte 102,15,56,220,209
2823 .byte 69,15,58,204,193,1
2824 .byte 68,15,56,200,212
2825 movups 48(%rcx),%xmm1
2826 .byte 102,15,56,220,208
2832 movups 64(%rcx),%xmm0
2833 .byte 102,15,56,220,209
2834 movups 80(%rcx),%xmm1
2835 .byte 102,15,56,220,208
2837 movups 96(%rcx),%xmm0
2838 .byte 102,15,56,220,209
2839 movups 112(%rcx),%xmm1
2840 .byte 102,15,56,220,208
2842 .byte 102,15,56,221,209
2843 movups 16-112(%rcx),%xmm0
2845 .byte 69,15,58,204,194,1
2846 .byte 68,15,56,200,205
2847 movups 32(%rdi),%xmm14
2849 movups %xmm2,16(%rsi,%rdi,1)
2851 movups -80(%rcx),%xmm1
2852 .byte 102,15,56,220,208
2856 movups -64(%rcx),%xmm0
2857 .byte 102,15,56,220,209
2859 .byte 69,15,58,204,193,2
2860 .byte 68,15,56,200,214
2861 movups -48(%rcx),%xmm1
2862 .byte 102,15,56,220,208
2866 movups -32(%rcx),%xmm0
2867 .byte 102,15,56,220,209
2869 .byte 69,15,58,204,194,2
2870 .byte 68,15,56,200,203
2871 movups -16(%rcx),%xmm1
2872 .byte 102,15,56,220,208
2876 movups 0(%rcx),%xmm0
2877 .byte 102,15,56,220,209
2879 .byte 69,15,58,204,193,2
2880 .byte 68,15,56,200,212
2881 movups 16(%rcx),%xmm1
2882 .byte 102,15,56,220,208
2886 movups 32(%rcx),%xmm0
2887 .byte 102,15,56,220,209
2889 .byte 69,15,58,204,194,2
2890 .byte 68,15,56,200,205
2891 movups 48(%rcx),%xmm1
2892 .byte 102,15,56,220,208
2898 movups 64(%rcx),%xmm0
2899 .byte 102,15,56,220,209
2900 movups 80(%rcx),%xmm1
2901 .byte 102,15,56,220,208
2903 movups 96(%rcx),%xmm0
2904 .byte 102,15,56,220,209
2905 movups 112(%rcx),%xmm1
2906 .byte 102,15,56,220,208
2908 .byte 102,15,56,221,209
2909 movups 16-112(%rcx),%xmm0
2911 .byte 69,15,58,204,193,2
2912 .byte 68,15,56,200,214
2913 movups 48(%rdi),%xmm14
2915 movups %xmm2,32(%rsi,%rdi,1)
2917 movups -80(%rcx),%xmm1
2918 .byte 102,15,56,220,208
2922 movups -64(%rcx),%xmm0
2923 .byte 102,15,56,220,209
2925 .byte 69,15,58,204,194,3
2926 .byte 68,15,56,200,203
2927 movups -48(%rcx),%xmm1
2928 .byte 102,15,56,220,208
2932 movups -32(%rcx),%xmm0
2933 .byte 102,15,56,220,209
2935 .byte 69,15,58,204,193,3
2936 .byte 68,15,56,200,212
2939 movups -16(%rcx),%xmm1
2940 .byte 102,15,56,220,208
2942 .byte 69,15,58,204,194,3
2943 .byte 68,15,56,200,205
2945 movups 0(%rcx),%xmm0
2946 .byte 102,15,56,220,209
2949 .byte 69,15,58,204,193,3
2950 .byte 68,15,56,200,214
2951 movups 16(%rcx),%xmm1
2952 .byte 102,15,56,220,208
2954 .byte 69,15,58,204,194,3
2955 .byte 68,15,56,200,205
2956 movups 32(%rcx),%xmm0
2957 .byte 102,15,56,220,209
2958 movups 48(%rcx),%xmm1
2959 .byte 102,15,56,220,208
2962 movups 64(%rcx),%xmm0
2963 .byte 102,15,56,220,209
2964 movups 80(%rcx),%xmm1
2965 .byte 102,15,56,220,208
2967 movups 96(%rcx),%xmm0
2968 .byte 102,15,56,220,209
2969 movups 112(%rcx),%xmm1
2970 .byte 102,15,56,220,208
2972 .byte 102,15,56,221,209
2973 movups 16-112(%rcx),%xmm0
2977 movups %xmm2,48(%rsi,%rdi,1)
2981 pshufd $27,%xmm8,%xmm8
2982 pshufd $27,%xmm9,%xmm9
2987 .size aesni_cbc_sha1_enc_shaext,.-aesni_cbc_sha1_enc_shaext