4 .globl aesni_cbc_sha1_enc
5 .type aesni_cbc_sha1_enc,@function
9 movl OPENSSL_ia32cap_P+0(%rip),%r10d
10 movq OPENSSL_ia32cap_P+4(%rip),%r11
12 jc aesni_cbc_sha1_enc_shaext
14 andl $1073741824,%r10d
16 cmpl $1342177280,%r10d
17 je aesni_cbc_sha1_enc_avx
18 jmp aesni_cbc_sha1_enc_ssse3
20 .size aesni_cbc_sha1_enc,.-aesni_cbc_sha1_enc
21 .type aesni_cbc_sha1_enc_ssse3,@function
23 aesni_cbc_sha1_enc_ssse3:
44 movl 240-112(%r15),%r8d
47 leaq K_XX_XX(%rip),%r11
78 movups -112(%r15),%xmm15
79 movups 16-112(%r15),%xmm0
87 movups -80(%r15),%xmm1
88 .byte 102,15,56,220,208
89 pshufd $238,%xmm4,%xmm8
95 punpcklqdq %xmm5,%xmm8
112 movdqa %xmm13,48(%rsp)
114 movups -64(%r15),%xmm0
115 .byte 102,15,56,220,209
141 movups -48(%r15),%xmm1
142 .byte 102,15,56,220,208
154 pshufd $238,%xmm5,%xmm9
160 punpcklqdq %xmm6,%xmm9
170 movups -32(%r15),%xmm0
171 .byte 102,15,56,220,209
196 movups -16(%r15),%xmm1
197 .byte 102,15,56,220,208
211 movdqa 16(%r11),%xmm12
219 pshufd $238,%xmm6,%xmm10
226 .byte 102,15,56,220,209
227 punpcklqdq %xmm7,%xmm10
244 movdqa %xmm12,16(%rsp)
251 movups 16(%r15),%xmm1
252 .byte 102,15,56,220,208
276 movdqa 16(%r11),%xmm13
279 movups 32(%r15),%xmm0
280 .byte 102,15,56,220,209
286 pshufd $238,%xmm7,%xmm11
292 punpcklqdq %xmm8,%xmm11
306 movups 48(%r15),%xmm1
307 .byte 102,15,56,220,208
311 movdqa %xmm13,32(%rsp)
336 movups 64(%r15),%xmm0
337 .byte 102,15,56,220,209
338 movups 80(%r15),%xmm1
339 .byte 102,15,56,220,208
341 movups 96(%r15),%xmm0
342 .byte 102,15,56,220,209
343 movups 112(%r15),%xmm1
344 .byte 102,15,56,220,208
346 .byte 102,15,56,221,209
347 movups 16-112(%r15),%xmm0
355 movdqa 16(%r11),%xmm3
360 pshufd $238,%xmm10,%xmm13
368 punpcklqdq %xmm11,%xmm13
373 movups 16(%r12),%xmm14
375 movups %xmm2,0(%r12,%r13,1)
377 movups -80(%r15),%xmm1
378 .byte 102,15,56,220,208
392 movdqa %xmm3,48(%rsp)
403 movups -64(%r15),%xmm0
404 .byte 102,15,56,220,209
408 pshufd $238,%xmm11,%xmm3
423 movups -48(%r15),%xmm1
424 .byte 102,15,56,220,208
426 punpcklqdq %xmm4,%xmm3
444 movdqa %xmm12,0(%rsp)
454 movups -32(%r15),%xmm0
455 .byte 102,15,56,220,209
461 pshufd $238,%xmm4,%xmm12
472 punpcklqdq %xmm5,%xmm12
478 movdqa 32(%r11),%xmm3
484 movups -16(%r15),%xmm1
485 .byte 102,15,56,220,208
492 movdqa %xmm13,16(%rsp)
507 pshufd $238,%xmm5,%xmm13
513 .byte 102,15,56,220,209
520 punpcklqdq %xmm6,%xmm13
538 movdqa %xmm3,32(%rsp)
542 movups 16(%r15),%xmm1
543 .byte 102,15,56,220,208
555 pshufd $238,%xmm6,%xmm3
566 punpcklqdq %xmm7,%xmm3
571 movups 32(%r15),%xmm0
572 .byte 102,15,56,220,209
586 movdqa %xmm12,48(%rsp)
601 movups 48(%r15),%xmm1
602 .byte 102,15,56,220,208
603 pshufd $238,%xmm7,%xmm12
614 punpcklqdq %xmm8,%xmm12
633 movups 64(%r15),%xmm0
634 .byte 102,15,56,220,209
635 movups 80(%r15),%xmm1
636 .byte 102,15,56,220,208
638 movups 96(%r15),%xmm0
639 .byte 102,15,56,220,209
640 movups 112(%r15),%xmm1
641 .byte 102,15,56,220,208
643 .byte 102,15,56,221,209
644 movups 16-112(%r15),%xmm0
646 movdqa %xmm13,0(%rsp)
661 pshufd $238,%xmm8,%xmm13
672 movups 32(%r12),%xmm14
674 movups %xmm2,16(%r13,%r12,1)
676 movups -80(%r15),%xmm1
677 .byte 102,15,56,220,208
681 punpcklqdq %xmm9,%xmm13
700 movdqa %xmm3,16(%rsp)
703 movups -64(%r15),%xmm0
704 .byte 102,15,56,220,209
718 pshufd $238,%xmm9,%xmm3
727 movups -48(%r15),%xmm1
728 .byte 102,15,56,220,208
741 punpcklqdq %xmm10,%xmm3
747 movdqa 48(%r11),%xmm13
754 movups -32(%r15),%xmm0
755 .byte 102,15,56,220,209
762 movdqa %xmm12,32(%rsp)
778 pshufd $238,%xmm10,%xmm12
780 movups -16(%r15),%xmm1
781 .byte 102,15,56,220,208
802 .byte 102,15,56,220,209
803 punpcklqdq %xmm11,%xmm12
822 movdqa %xmm13,48(%rsp)
831 movups 16(%r15),%xmm1
832 .byte 102,15,56,220,208
840 pshufd $238,%xmm11,%xmm13
853 movups 32(%r15),%xmm0
854 .byte 102,15,56,220,209
863 punpcklqdq %xmm4,%xmm13
879 movups 48(%r15),%xmm1
880 .byte 102,15,56,220,208
900 pshufd $238,%xmm4,%xmm3
908 movups 64(%r15),%xmm0
909 .byte 102,15,56,220,209
910 movups 80(%r15),%xmm1
911 .byte 102,15,56,220,208
913 movups 96(%r15),%xmm0
914 .byte 102,15,56,220,209
915 movups 112(%r15),%xmm1
916 .byte 102,15,56,220,208
918 .byte 102,15,56,221,209
919 movups 16-112(%r15),%xmm0
935 punpcklqdq %xmm5,%xmm3
941 movups 48(%r12),%xmm14
943 movups %xmm2,32(%r13,%r12,1)
945 movups -80(%r15),%xmm1
946 .byte 102,15,56,220,208
960 movdqa %xmm12,16(%rsp)
973 movups -64(%r15),%xmm0
974 .byte 102,15,56,220,209
978 pshufd $238,%xmm5,%xmm12
995 movups -48(%r15),%xmm1
996 .byte 102,15,56,220,208
998 punpcklqdq %xmm6,%xmm12
1016 movdqa %xmm13,32(%rsp)
1026 movups -32(%r15),%xmm0
1027 .byte 102,15,56,220,209
1047 movdqa %xmm3,48(%rsp)
1051 movups -16(%r15),%xmm1
1052 .byte 102,15,56,220,208
1073 movups 0(%r15),%xmm0
1074 .byte 102,15,56,220,209
1080 movdqa 64(%r11),%xmm3
1081 movdqa 0(%r11),%xmm13
1082 movdqu 0(%r10),%xmm4
1083 movdqu 16(%r10),%xmm5
1084 movdqu 32(%r10),%xmm6
1085 movdqu 48(%r10),%xmm7
1086 .byte 102,15,56,0,227
1091 .byte 102,15,56,0,235
1101 movdqa %xmm4,0(%rsp)
1109 movups 16(%r15),%xmm1
1110 .byte 102,15,56,220,208
1129 .byte 102,15,56,0,243
1132 movups 32(%r15),%xmm0
1133 .byte 102,15,56,220,209
1141 movdqa %xmm5,16(%rsp)
1157 movups 48(%r15),%xmm1
1158 .byte 102,15,56,220,208
1169 .byte 102,15,56,0,251
1179 movdqa %xmm6,32(%rsp)
1184 movups 64(%r15),%xmm0
1185 .byte 102,15,56,220,209
1186 movups 80(%r15),%xmm1
1187 .byte 102,15,56,220,208
1189 movups 96(%r15),%xmm0
1190 .byte 102,15,56,220,209
1191 movups 112(%r15),%xmm1
1192 .byte 102,15,56,220,208
1194 .byte 102,15,56,221,209
1195 movups 16-112(%r15),%xmm0
1215 movups %xmm2,48(%r13,%r12,1)
1252 movups 16(%r15),%xmm1
1253 .byte 102,15,56,220,208
1274 movups 32(%r15),%xmm0
1275 .byte 102,15,56,220,209
1296 movups 48(%r15),%xmm1
1297 .byte 102,15,56,220,208
1320 movups 64(%r15),%xmm0
1321 .byte 102,15,56,220,209
1322 movups 80(%r15),%xmm1
1323 .byte 102,15,56,220,208
1325 movups 96(%r15),%xmm0
1326 .byte 102,15,56,220,209
1327 movups 112(%r15),%xmm1
1328 .byte 102,15,56,220,208
1330 .byte 102,15,56,221,209
1331 movups 16-112(%r15),%xmm0
1350 movups %xmm2,48(%r13,%r12,1)
1374 .size aesni_cbc_sha1_enc_ssse3,.-aesni_cbc_sha1_enc_ssse3
1375 .type aesni_cbc_sha1_enc_avx,@function
1377 aesni_cbc_sha1_enc_avx:
1387 leaq -104(%rsp),%rsp
1395 vmovdqu (%r8),%xmm12
1399 movl 240-112(%r15),%r8d
1402 leaq K_XX_XX(%rip),%r11
1413 vmovdqa 64(%r11),%xmm6
1414 vmovdqa 0(%r11),%xmm10
1415 vmovdqu 0(%r10),%xmm0
1416 vmovdqu 16(%r10),%xmm1
1417 vmovdqu 32(%r10),%xmm2
1418 vmovdqu 48(%r10),%xmm3
1419 vpshufb %xmm6,%xmm0,%xmm0
1421 vpshufb %xmm6,%xmm1,%xmm1
1422 vpshufb %xmm6,%xmm2,%xmm2
1423 vpshufb %xmm6,%xmm3,%xmm3
1424 vpaddd %xmm10,%xmm0,%xmm4
1425 vpaddd %xmm10,%xmm1,%xmm5
1426 vpaddd %xmm10,%xmm2,%xmm6
1427 vmovdqa %xmm4,0(%rsp)
1428 vmovdqa %xmm5,16(%rsp)
1429 vmovdqa %xmm6,32(%rsp)
1430 vmovups -112(%r15),%xmm15
1431 vmovups 16-112(%r15),%xmm14
1436 vmovdqu 0(%r12),%xmm13
1437 vpxor %xmm15,%xmm13,%xmm13
1438 vpxor %xmm13,%xmm12,%xmm12
1439 vaesenc %xmm14,%xmm12,%xmm12
1440 vmovups -80(%r15),%xmm15
1442 vpalignr $8,%xmm0,%xmm1,%xmm4
1445 vpaddd %xmm3,%xmm10,%xmm9
1448 vpsrldq $4,%xmm3,%xmm8
1451 vpxor %xmm0,%xmm4,%xmm4
1454 vpxor %xmm2,%xmm8,%xmm8
1459 vpxor %xmm8,%xmm4,%xmm4
1462 vmovdqa %xmm9,48(%rsp)
1464 vaesenc %xmm15,%xmm12,%xmm12
1465 vmovups -64(%r15),%xmm14
1467 vpsrld $31,%xmm4,%xmm8
1472 vpslldq $12,%xmm4,%xmm9
1473 vpaddd %xmm4,%xmm4,%xmm4
1478 vpor %xmm8,%xmm4,%xmm4
1479 vpsrld $30,%xmm9,%xmm8
1484 vpslld $2,%xmm9,%xmm9
1485 vpxor %xmm8,%xmm4,%xmm4
1490 vaesenc %xmm14,%xmm12,%xmm12
1491 vmovups -48(%r15),%xmm15
1492 vpxor %xmm9,%xmm4,%xmm4
1501 vpalignr $8,%xmm1,%xmm2,%xmm5
1504 vpaddd %xmm4,%xmm10,%xmm9
1507 vpsrldq $4,%xmm4,%xmm8
1510 vpxor %xmm1,%xmm5,%xmm5
1513 vpxor %xmm3,%xmm8,%xmm8
1515 vaesenc %xmm15,%xmm12,%xmm12
1516 vmovups -32(%r15),%xmm14
1520 vpxor %xmm8,%xmm5,%xmm5
1523 vmovdqa %xmm9,0(%rsp)
1526 vpsrld $31,%xmm5,%xmm8
1531 vpslldq $12,%xmm5,%xmm9
1532 vpaddd %xmm5,%xmm5,%xmm5
1537 vpor %xmm8,%xmm5,%xmm5
1538 vpsrld $30,%xmm9,%xmm8
1540 vaesenc %xmm14,%xmm12,%xmm12
1541 vmovups -16(%r15),%xmm15
1545 vpslld $2,%xmm9,%xmm9
1546 vpxor %xmm8,%xmm5,%xmm5
1551 vpxor %xmm9,%xmm5,%xmm5
1554 vmovdqa 16(%r11),%xmm10
1561 vpalignr $8,%xmm2,%xmm3,%xmm6
1564 vaesenc %xmm15,%xmm12,%xmm12
1565 vmovups 0(%r15),%xmm14
1566 vpaddd %xmm5,%xmm10,%xmm9
1569 vpsrldq $4,%xmm5,%xmm8
1572 vpxor %xmm2,%xmm6,%xmm6
1575 vpxor %xmm4,%xmm8,%xmm8
1580 vpxor %xmm8,%xmm6,%xmm6
1583 vmovdqa %xmm9,16(%rsp)
1586 vpsrld $31,%xmm6,%xmm8
1590 vaesenc %xmm14,%xmm12,%xmm12
1591 vmovups 16(%r15),%xmm15
1593 vpslldq $12,%xmm6,%xmm9
1594 vpaddd %xmm6,%xmm6,%xmm6
1599 vpor %xmm8,%xmm6,%xmm6
1600 vpsrld $30,%xmm9,%xmm8
1605 vpslld $2,%xmm9,%xmm9
1606 vpxor %xmm8,%xmm6,%xmm6
1611 vpxor %xmm9,%xmm6,%xmm6
1615 vaesenc %xmm15,%xmm12,%xmm12
1616 vmovups 32(%r15),%xmm14
1622 vpalignr $8,%xmm3,%xmm4,%xmm7
1625 vpaddd %xmm6,%xmm10,%xmm9
1628 vpsrldq $4,%xmm6,%xmm8
1631 vpxor %xmm3,%xmm7,%xmm7
1634 vpxor %xmm5,%xmm8,%xmm8
1639 vaesenc %xmm14,%xmm12,%xmm12
1640 vmovups 48(%r15),%xmm15
1641 vpxor %xmm8,%xmm7,%xmm7
1644 vmovdqa %xmm9,32(%rsp)
1647 vpsrld $31,%xmm7,%xmm8
1652 vpslldq $12,%xmm7,%xmm9
1653 vpaddd %xmm7,%xmm7,%xmm7
1658 vpor %xmm8,%xmm7,%xmm7
1659 vpsrld $30,%xmm9,%xmm8
1664 vpslld $2,%xmm9,%xmm9
1665 vpxor %xmm8,%xmm7,%xmm7
1669 vaesenc %xmm15,%xmm12,%xmm12
1670 vmovups 64(%r15),%xmm14
1671 vaesenc %xmm14,%xmm12,%xmm12
1672 vmovups 80(%r15),%xmm15
1674 vaesenc %xmm15,%xmm12,%xmm12
1675 vmovups 96(%r15),%xmm14
1676 vaesenc %xmm14,%xmm12,%xmm12
1677 vmovups 112(%r15),%xmm15
1679 vaesenclast %xmm15,%xmm12,%xmm12
1680 vmovups -112(%r15),%xmm15
1681 vmovups 16-112(%r15),%xmm14
1685 vpxor %xmm9,%xmm7,%xmm7
1692 vpalignr $8,%xmm6,%xmm7,%xmm8
1693 vpxor %xmm4,%xmm0,%xmm0
1698 vpxor %xmm1,%xmm0,%xmm0
1701 vpaddd %xmm7,%xmm10,%xmm9
1703 vmovdqu 16(%r12),%xmm13
1704 vpxor %xmm15,%xmm13,%xmm13
1705 vmovups %xmm12,0(%r12,%r13,1)
1706 vpxor %xmm13,%xmm12,%xmm12
1707 vaesenc %xmm14,%xmm12,%xmm12
1708 vmovups -80(%r15),%xmm15
1710 vpxor %xmm8,%xmm0,%xmm0
1715 vpsrld $30,%xmm0,%xmm8
1716 vmovdqa %xmm9,48(%rsp)
1721 vpslld $2,%xmm0,%xmm0
1730 vaesenc %xmm15,%xmm12,%xmm12
1731 vmovups -64(%r15),%xmm14
1732 vpor %xmm8,%xmm0,%xmm0
1747 vpalignr $8,%xmm7,%xmm0,%xmm8
1748 vpxor %xmm5,%xmm1,%xmm1
1750 vaesenc %xmm14,%xmm12,%xmm12
1751 vmovups -48(%r15),%xmm15
1755 vpxor %xmm2,%xmm1,%xmm1
1758 vpaddd %xmm0,%xmm10,%xmm9
1761 vpxor %xmm8,%xmm1,%xmm1
1766 vpsrld $30,%xmm1,%xmm8
1767 vmovdqa %xmm9,0(%rsp)
1772 vpslld $2,%xmm1,%xmm1
1778 vaesenc %xmm15,%xmm12,%xmm12
1779 vmovups -32(%r15),%xmm14
1783 vpor %xmm8,%xmm1,%xmm1
1792 vpalignr $8,%xmm0,%xmm1,%xmm8
1793 vpxor %xmm6,%xmm2,%xmm2
1798 vpxor %xmm3,%xmm2,%xmm2
1801 vpaddd %xmm1,%xmm10,%xmm9
1802 vmovdqa 32(%r11),%xmm10
1805 vpxor %xmm8,%xmm2,%xmm2
1807 vaesenc %xmm14,%xmm12,%xmm12
1808 vmovups -16(%r15),%xmm15
1812 vpsrld $30,%xmm2,%xmm8
1813 vmovdqa %xmm9,16(%rsp)
1818 vpslld $2,%xmm2,%xmm2
1827 vpor %xmm8,%xmm2,%xmm2
1833 vaesenc %xmm15,%xmm12,%xmm12
1834 vmovups 0(%r15),%xmm14
1838 vpalignr $8,%xmm1,%xmm2,%xmm8
1839 vpxor %xmm7,%xmm3,%xmm3
1844 vpxor %xmm4,%xmm3,%xmm3
1847 vpaddd %xmm2,%xmm10,%xmm9
1850 vpxor %xmm8,%xmm3,%xmm3
1855 vpsrld $30,%xmm3,%xmm8
1856 vmovdqa %xmm9,32(%rsp)
1861 vpslld $2,%xmm3,%xmm3
1863 vaesenc %xmm14,%xmm12,%xmm12
1864 vmovups 16(%r15),%xmm15
1872 vpor %xmm8,%xmm3,%xmm3
1881 vpalignr $8,%xmm2,%xmm3,%xmm8
1882 vpxor %xmm0,%xmm4,%xmm4
1887 vpxor %xmm5,%xmm4,%xmm4
1889 vaesenc %xmm15,%xmm12,%xmm12
1890 vmovups 32(%r15),%xmm14
1892 vpaddd %xmm3,%xmm10,%xmm9
1895 vpxor %xmm8,%xmm4,%xmm4
1900 vpsrld $30,%xmm4,%xmm8
1901 vmovdqa %xmm9,48(%rsp)
1906 vpslld $2,%xmm4,%xmm4
1915 vpor %xmm8,%xmm4,%xmm4
1917 vaesenc %xmm14,%xmm12,%xmm12
1918 vmovups 48(%r15),%xmm15
1926 vpalignr $8,%xmm3,%xmm4,%xmm8
1927 vpxor %xmm1,%xmm5,%xmm5
1932 vpxor %xmm6,%xmm5,%xmm5
1935 vpaddd %xmm4,%xmm10,%xmm9
1938 vpxor %xmm8,%xmm5,%xmm5
1943 vpsrld $30,%xmm5,%xmm8
1944 vmovdqa %xmm9,0(%rsp)
1948 vaesenc %xmm15,%xmm12,%xmm12
1949 vmovups 64(%r15),%xmm14
1950 vaesenc %xmm14,%xmm12,%xmm12
1951 vmovups 80(%r15),%xmm15
1953 vaesenc %xmm15,%xmm12,%xmm12
1954 vmovups 96(%r15),%xmm14
1955 vaesenc %xmm14,%xmm12,%xmm12
1956 vmovups 112(%r15),%xmm15
1958 vaesenclast %xmm15,%xmm12,%xmm12
1959 vmovups -112(%r15),%xmm15
1960 vmovups 16-112(%r15),%xmm14
1964 vpslld $2,%xmm5,%xmm5
1973 vpor %xmm8,%xmm5,%xmm5
1983 vpalignr $8,%xmm4,%xmm5,%xmm8
1984 vpxor %xmm2,%xmm6,%xmm6
1986 vmovdqu 32(%r12),%xmm13
1987 vpxor %xmm15,%xmm13,%xmm13
1988 vmovups %xmm12,16(%r13,%r12,1)
1989 vpxor %xmm13,%xmm12,%xmm12
1990 vaesenc %xmm14,%xmm12,%xmm12
1991 vmovups -80(%r15),%xmm15
1995 vpxor %xmm7,%xmm6,%xmm6
1998 vpaddd %xmm5,%xmm10,%xmm9
2001 vpxor %xmm8,%xmm6,%xmm6
2006 vpsrld $30,%xmm6,%xmm8
2007 vmovdqa %xmm9,16(%rsp)
2012 vpslld $2,%xmm6,%xmm6
2016 vaesenc %xmm15,%xmm12,%xmm12
2017 vmovups -64(%r15),%xmm14
2023 vpor %xmm8,%xmm6,%xmm6
2037 vaesenc %xmm14,%xmm12,%xmm12
2038 vmovups -48(%r15),%xmm15
2046 vpalignr $8,%xmm5,%xmm6,%xmm8
2047 vpxor %xmm3,%xmm7,%xmm7
2052 vpxor %xmm0,%xmm7,%xmm7
2055 vpaddd %xmm6,%xmm10,%xmm9
2056 vmovdqa 48(%r11),%xmm10
2059 vpxor %xmm8,%xmm7,%xmm7
2064 vaesenc %xmm15,%xmm12,%xmm12
2065 vmovups -32(%r15),%xmm14
2066 vpsrld $30,%xmm7,%xmm8
2067 vmovdqa %xmm9,32(%rsp)
2072 vpslld $2,%xmm7,%xmm7
2081 vpor %xmm8,%xmm7,%xmm7
2088 vaesenc %xmm14,%xmm12,%xmm12
2089 vmovups -16(%r15),%xmm15
2104 vpalignr $8,%xmm6,%xmm7,%xmm8
2105 vpxor %xmm4,%xmm0,%xmm0
2110 vaesenc %xmm15,%xmm12,%xmm12
2111 vmovups 0(%r15),%xmm14
2112 vpxor %xmm1,%xmm0,%xmm0
2115 vpaddd %xmm7,%xmm10,%xmm9
2118 vpxor %xmm8,%xmm0,%xmm0
2123 vpsrld $30,%xmm0,%xmm8
2124 vmovdqa %xmm9,48(%rsp)
2129 vpslld $2,%xmm0,%xmm0
2137 vaesenc %xmm14,%xmm12,%xmm12
2138 vmovups 16(%r15),%xmm15
2140 vpor %xmm8,%xmm0,%xmm0
2158 vaesenc %xmm15,%xmm12,%xmm12
2159 vmovups 32(%r15),%xmm14
2163 vpalignr $8,%xmm7,%xmm0,%xmm8
2164 vpxor %xmm5,%xmm1,%xmm1
2169 vpxor %xmm2,%xmm1,%xmm1
2172 vpaddd %xmm0,%xmm10,%xmm9
2175 vpxor %xmm8,%xmm1,%xmm1
2180 vpsrld $30,%xmm1,%xmm8
2181 vmovdqa %xmm9,0(%rsp)
2185 vaesenc %xmm14,%xmm12,%xmm12
2186 vmovups 48(%r15),%xmm15
2188 vpslld $2,%xmm1,%xmm1
2197 vpor %xmm8,%xmm1,%xmm1
2210 vaesenc %xmm15,%xmm12,%xmm12
2211 vmovups 64(%r15),%xmm14
2212 vaesenc %xmm14,%xmm12,%xmm12
2213 vmovups 80(%r15),%xmm15
2215 vaesenc %xmm15,%xmm12,%xmm12
2216 vmovups 96(%r15),%xmm14
2217 vaesenc %xmm14,%xmm12,%xmm12
2218 vmovups 112(%r15),%xmm15
2220 vaesenclast %xmm15,%xmm12,%xmm12
2221 vmovups -112(%r15),%xmm15
2222 vmovups 16-112(%r15),%xmm14
2233 vpalignr $8,%xmm0,%xmm1,%xmm8
2234 vpxor %xmm6,%xmm2,%xmm2
2239 vpxor %xmm3,%xmm2,%xmm2
2242 vpaddd %xmm1,%xmm10,%xmm9
2245 vmovdqu 48(%r12),%xmm13
2246 vpxor %xmm15,%xmm13,%xmm13
2247 vmovups %xmm12,32(%r13,%r12,1)
2248 vpxor %xmm13,%xmm12,%xmm12
2249 vaesenc %xmm14,%xmm12,%xmm12
2250 vmovups -80(%r15),%xmm15
2251 vpxor %xmm8,%xmm2,%xmm2
2256 vpsrld $30,%xmm2,%xmm8
2257 vmovdqa %xmm9,16(%rsp)
2262 vpslld $2,%xmm2,%xmm2
2271 vpor %xmm8,%xmm2,%xmm2
2274 vaesenc %xmm15,%xmm12,%xmm12
2275 vmovups -64(%r15),%xmm14
2293 vpalignr $8,%xmm1,%xmm2,%xmm8
2294 vpxor %xmm7,%xmm3,%xmm3
2296 vaesenc %xmm14,%xmm12,%xmm12
2297 vmovups -48(%r15),%xmm15
2301 vpxor %xmm4,%xmm3,%xmm3
2304 vpaddd %xmm2,%xmm10,%xmm9
2307 vpxor %xmm8,%xmm3,%xmm3
2312 vpsrld $30,%xmm3,%xmm8
2313 vmovdqa %xmm9,32(%rsp)
2318 vpslld $2,%xmm3,%xmm3
2324 vaesenc %xmm15,%xmm12,%xmm12
2325 vmovups -32(%r15),%xmm14
2329 vpor %xmm8,%xmm3,%xmm3
2339 vpaddd %xmm3,%xmm10,%xmm9
2344 vmovdqa %xmm9,48(%rsp)
2349 vaesenc %xmm14,%xmm12,%xmm12
2350 vmovups -16(%r15),%xmm15
2371 vaesenc %xmm15,%xmm12,%xmm12
2372 vmovups 0(%r15),%xmm14
2378 vmovdqa 64(%r11),%xmm9
2379 vmovdqa 0(%r11),%xmm10
2380 vmovdqu 0(%r10),%xmm0
2381 vmovdqu 16(%r10),%xmm1
2382 vmovdqu 32(%r10),%xmm2
2383 vmovdqu 48(%r10),%xmm3
2384 vpshufb %xmm9,%xmm0,%xmm0
2388 vpshufb %xmm9,%xmm1,%xmm1
2391 vpaddd %xmm10,%xmm0,%xmm8
2396 vmovdqa %xmm8,0(%rsp)
2406 vaesenc %xmm14,%xmm12,%xmm12
2407 vmovups 16(%r15),%xmm15
2425 vpshufb %xmm9,%xmm2,%xmm2
2428 vpaddd %xmm10,%xmm1,%xmm8
2430 vaesenc %xmm15,%xmm12,%xmm12
2431 vmovups 32(%r15),%xmm14
2435 vmovdqa %xmm8,16(%rsp)
2453 vaesenc %xmm14,%xmm12,%xmm12
2454 vmovups 48(%r15),%xmm15
2464 vpshufb %xmm9,%xmm3,%xmm3
2467 vpaddd %xmm10,%xmm2,%xmm8
2472 vmovdqa %xmm8,32(%rsp)
2480 vaesenc %xmm15,%xmm12,%xmm12
2481 vmovups 64(%r15),%xmm14
2482 vaesenc %xmm14,%xmm12,%xmm12
2483 vmovups 80(%r15),%xmm15
2485 vaesenc %xmm15,%xmm12,%xmm12
2486 vmovups 96(%r15),%xmm14
2487 vaesenc %xmm14,%xmm12,%xmm12
2488 vmovups 112(%r15),%xmm15
2490 vaesenclast %xmm15,%xmm12,%xmm12
2491 vmovups -112(%r15),%xmm15
2492 vmovups 16-112(%r15),%xmm14
2511 vmovups %xmm12,48(%r13,%r12,1)
2548 vaesenc %xmm14,%xmm12,%xmm12
2549 vmovups 16(%r15),%xmm15
2570 vaesenc %xmm15,%xmm12,%xmm12
2571 vmovups 32(%r15),%xmm14
2592 vaesenc %xmm14,%xmm12,%xmm12
2593 vmovups 48(%r15),%xmm15
2616 vaesenc %xmm15,%xmm12,%xmm12
2617 vmovups 64(%r15),%xmm14
2618 vaesenc %xmm14,%xmm12,%xmm12
2619 vmovups 80(%r15),%xmm15
2621 vaesenc %xmm15,%xmm12,%xmm12
2622 vmovups 96(%r15),%xmm14
2623 vaesenc %xmm14,%xmm12,%xmm12
2624 vmovups 112(%r15),%xmm15
2626 vaesenclast %xmm15,%xmm12,%xmm12
2627 vmovups -112(%r15),%xmm15
2628 vmovups 16-112(%r15),%xmm14
2647 vmovups %xmm12,48(%r13,%r12,1)
2660 vmovups %xmm12,(%r8)
2672 .size aesni_cbc_sha1_enc_avx,.-aesni_cbc_sha1_enc_avx
2675 .long 0x5a827999,0x5a827999,0x5a827999,0x5a827999
2676 .long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
2677 .long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
2678 .long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
2679 .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
2680 .byte 0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0
2682 .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
2684 .type aesni_cbc_sha1_enc_shaext,@function
2686 aesni_cbc_sha1_enc_shaext:
2690 movdqa K_XX_XX+80(%rip),%xmm7
2692 movl 240(%rcx),%r11d
2694 movups (%rcx),%xmm15
2695 movups 16(%rcx),%xmm0
2698 pshufd $27,%xmm8,%xmm8
2699 pshufd $27,%xmm9,%xmm9
2704 movups 0(%rdi),%xmm14
2707 movups -80(%rcx),%xmm1
2708 .byte 102,15,56,220,208
2711 .byte 102,15,56,0,223
2712 movdqu 16(%r10),%xmm4
2714 movups -64(%rcx),%xmm0
2715 .byte 102,15,56,220,209
2716 .byte 102,15,56,0,231
2719 movdqu 32(%r10),%xmm5
2722 movups -48(%rcx),%xmm1
2723 .byte 102,15,56,220,208
2726 .byte 102,15,56,0,239
2727 .byte 69,15,58,204,193,0
2728 .byte 68,15,56,200,212
2729 movups -32(%rcx),%xmm0
2730 .byte 102,15,56,220,209
2732 movdqu -16(%r10),%xmm6
2734 .byte 102,15,56,0,247
2735 movups -16(%rcx),%xmm1
2736 .byte 102,15,56,220,208
2737 .byte 69,15,58,204,194,0
2738 .byte 68,15,56,200,205
2741 movups 0(%rcx),%xmm0
2742 .byte 102,15,56,220,209
2744 .byte 69,15,58,204,193,0
2745 .byte 68,15,56,200,214
2746 movups 16(%rcx),%xmm1
2747 .byte 102,15,56,220,208
2751 movups 32(%rcx),%xmm0
2752 .byte 102,15,56,220,209
2754 .byte 69,15,58,204,194,0
2755 .byte 68,15,56,200,203
2756 movups 48(%rcx),%xmm1
2757 .byte 102,15,56,220,208
2763 movups 64(%rcx),%xmm0
2764 .byte 102,15,56,220,209
2765 movups 80(%rcx),%xmm1
2766 .byte 102,15,56,220,208
2768 movups 96(%rcx),%xmm0
2769 .byte 102,15,56,220,209
2770 movups 112(%rcx),%xmm1
2771 .byte 102,15,56,220,208
2773 .byte 102,15,56,221,209
2774 movups 16-112(%rcx),%xmm0
2776 .byte 69,15,58,204,193,0
2777 .byte 68,15,56,200,212
2778 movups 16(%rdi),%xmm14
2780 movups %xmm2,0(%rsi,%rdi,1)
2782 movups -80(%rcx),%xmm1
2783 .byte 102,15,56,220,208
2787 movups -64(%rcx),%xmm0
2788 .byte 102,15,56,220,209
2790 .byte 69,15,58,204,194,1
2791 .byte 68,15,56,200,205
2792 movups -48(%rcx),%xmm1
2793 .byte 102,15,56,220,208
2797 movups -32(%rcx),%xmm0
2798 .byte 102,15,56,220,209
2800 .byte 69,15,58,204,193,1
2801 .byte 68,15,56,200,214
2802 movups -16(%rcx),%xmm1
2803 .byte 102,15,56,220,208
2807 movups 0(%rcx),%xmm0
2808 .byte 102,15,56,220,209
2810 .byte 69,15,58,204,194,1
2811 .byte 68,15,56,200,203
2812 movups 16(%rcx),%xmm1
2813 .byte 102,15,56,220,208
2817 movups 32(%rcx),%xmm0
2818 .byte 102,15,56,220,209
2820 .byte 69,15,58,204,193,1
2821 .byte 68,15,56,200,212
2822 movups 48(%rcx),%xmm1
2823 .byte 102,15,56,220,208
2829 movups 64(%rcx),%xmm0
2830 .byte 102,15,56,220,209
2831 movups 80(%rcx),%xmm1
2832 .byte 102,15,56,220,208
2834 movups 96(%rcx),%xmm0
2835 .byte 102,15,56,220,209
2836 movups 112(%rcx),%xmm1
2837 .byte 102,15,56,220,208
2839 .byte 102,15,56,221,209
2840 movups 16-112(%rcx),%xmm0
2842 .byte 69,15,58,204,194,1
2843 .byte 68,15,56,200,205
2844 movups 32(%rdi),%xmm14
2846 movups %xmm2,16(%rsi,%rdi,1)
2848 movups -80(%rcx),%xmm1
2849 .byte 102,15,56,220,208
2853 movups -64(%rcx),%xmm0
2854 .byte 102,15,56,220,209
2856 .byte 69,15,58,204,193,2
2857 .byte 68,15,56,200,214
2858 movups -48(%rcx),%xmm1
2859 .byte 102,15,56,220,208
2863 movups -32(%rcx),%xmm0
2864 .byte 102,15,56,220,209
2866 .byte 69,15,58,204,194,2
2867 .byte 68,15,56,200,203
2868 movups -16(%rcx),%xmm1
2869 .byte 102,15,56,220,208
2873 movups 0(%rcx),%xmm0
2874 .byte 102,15,56,220,209
2876 .byte 69,15,58,204,193,2
2877 .byte 68,15,56,200,212
2878 movups 16(%rcx),%xmm1
2879 .byte 102,15,56,220,208
2883 movups 32(%rcx),%xmm0
2884 .byte 102,15,56,220,209
2886 .byte 69,15,58,204,194,2
2887 .byte 68,15,56,200,205
2888 movups 48(%rcx),%xmm1
2889 .byte 102,15,56,220,208
2895 movups 64(%rcx),%xmm0
2896 .byte 102,15,56,220,209
2897 movups 80(%rcx),%xmm1
2898 .byte 102,15,56,220,208
2900 movups 96(%rcx),%xmm0
2901 .byte 102,15,56,220,209
2902 movups 112(%rcx),%xmm1
2903 .byte 102,15,56,220,208
2905 .byte 102,15,56,221,209
2906 movups 16-112(%rcx),%xmm0
2908 .byte 69,15,58,204,193,2
2909 .byte 68,15,56,200,214
2910 movups 48(%rdi),%xmm14
2912 movups %xmm2,32(%rsi,%rdi,1)
2914 movups -80(%rcx),%xmm1
2915 .byte 102,15,56,220,208
2919 movups -64(%rcx),%xmm0
2920 .byte 102,15,56,220,209
2922 .byte 69,15,58,204,194,3
2923 .byte 68,15,56,200,203
2924 movups -48(%rcx),%xmm1
2925 .byte 102,15,56,220,208
2929 movups -32(%rcx),%xmm0
2930 .byte 102,15,56,220,209
2932 .byte 69,15,58,204,193,3
2933 .byte 68,15,56,200,212
2936 movups -16(%rcx),%xmm1
2937 .byte 102,15,56,220,208
2939 .byte 69,15,58,204,194,3
2940 .byte 68,15,56,200,205
2942 movups 0(%rcx),%xmm0
2943 .byte 102,15,56,220,209
2946 .byte 69,15,58,204,193,3
2947 .byte 68,15,56,200,214
2948 movups 16(%rcx),%xmm1
2949 .byte 102,15,56,220,208
2951 .byte 69,15,58,204,194,3
2952 .byte 68,15,56,200,205
2953 movups 32(%rcx),%xmm0
2954 .byte 102,15,56,220,209
2955 movups 48(%rcx),%xmm1
2956 .byte 102,15,56,220,208
2959 movups 64(%rcx),%xmm0
2960 .byte 102,15,56,220,209
2961 movups 80(%rcx),%xmm1
2962 .byte 102,15,56,220,208
2964 movups 96(%rcx),%xmm0
2965 .byte 102,15,56,220,209
2966 movups 112(%rcx),%xmm1
2967 .byte 102,15,56,220,208
2969 .byte 102,15,56,221,209
2970 movups 16-112(%rcx),%xmm0
2974 movups %xmm2,48(%rsi,%rdi,1)
2978 pshufd $27,%xmm8,%xmm8
2979 pshufd $27,%xmm9,%xmm9
2984 .size aesni_cbc_sha1_enc_shaext,.-aesni_cbc_sha1_enc_shaext
2985 .section .note.GNU-stack,"",%progbits