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:
31 .cfi_adjust_cfa_offset 8
34 .cfi_adjust_cfa_offset 8
37 .cfi_adjust_cfa_offset 8
40 .cfi_adjust_cfa_offset 8
43 .cfi_adjust_cfa_offset 8
46 .cfi_adjust_cfa_offset 8
49 .cfi_adjust_cfa_offset 104
60 movl 240-112(%r15),%r8d
63 leaq K_XX_XX(%rip),%r11
94 movups -112(%r15),%xmm15
95 movups 16-112(%r15),%xmm0
100 movups 0(%r12),%xmm14
103 movups -80(%r15),%xmm1
104 .byte 102,15,56,220,208
105 pshufd $238,%xmm4,%xmm8
111 punpcklqdq %xmm5,%xmm8
128 movdqa %xmm13,48(%rsp)
130 movups -64(%r15),%xmm0
131 .byte 102,15,56,220,209
157 movups -48(%r15),%xmm1
158 .byte 102,15,56,220,208
170 pshufd $238,%xmm5,%xmm9
176 punpcklqdq %xmm6,%xmm9
186 movups -32(%r15),%xmm0
187 .byte 102,15,56,220,209
212 movups -16(%r15),%xmm1
213 .byte 102,15,56,220,208
227 movdqa 16(%r11),%xmm12
235 pshufd $238,%xmm6,%xmm10
242 .byte 102,15,56,220,209
243 punpcklqdq %xmm7,%xmm10
260 movdqa %xmm12,16(%rsp)
267 movups 16(%r15),%xmm1
268 .byte 102,15,56,220,208
292 movdqa 16(%r11),%xmm13
295 movups 32(%r15),%xmm0
296 .byte 102,15,56,220,209
302 pshufd $238,%xmm7,%xmm11
308 punpcklqdq %xmm8,%xmm11
322 movups 48(%r15),%xmm1
323 .byte 102,15,56,220,208
327 movdqa %xmm13,32(%rsp)
352 movups 64(%r15),%xmm0
353 .byte 102,15,56,220,209
354 movups 80(%r15),%xmm1
355 .byte 102,15,56,220,208
357 movups 96(%r15),%xmm0
358 .byte 102,15,56,220,209
359 movups 112(%r15),%xmm1
360 .byte 102,15,56,220,208
362 .byte 102,15,56,221,209
363 movups 16-112(%r15),%xmm0
371 movdqa 16(%r11),%xmm3
376 pshufd $238,%xmm10,%xmm13
384 punpcklqdq %xmm11,%xmm13
389 movups 16(%r12),%xmm14
391 movups %xmm2,0(%r12,%r13,1)
393 movups -80(%r15),%xmm1
394 .byte 102,15,56,220,208
408 movdqa %xmm3,48(%rsp)
419 movups -64(%r15),%xmm0
420 .byte 102,15,56,220,209
424 pshufd $238,%xmm11,%xmm3
439 movups -48(%r15),%xmm1
440 .byte 102,15,56,220,208
442 punpcklqdq %xmm4,%xmm3
460 movdqa %xmm12,0(%rsp)
470 movups -32(%r15),%xmm0
471 .byte 102,15,56,220,209
477 pshufd $238,%xmm4,%xmm12
488 punpcklqdq %xmm5,%xmm12
494 movdqa 32(%r11),%xmm3
500 movups -16(%r15),%xmm1
501 .byte 102,15,56,220,208
508 movdqa %xmm13,16(%rsp)
523 pshufd $238,%xmm5,%xmm13
529 .byte 102,15,56,220,209
536 punpcklqdq %xmm6,%xmm13
554 movdqa %xmm3,32(%rsp)
558 movups 16(%r15),%xmm1
559 .byte 102,15,56,220,208
571 pshufd $238,%xmm6,%xmm3
582 punpcklqdq %xmm7,%xmm3
587 movups 32(%r15),%xmm0
588 .byte 102,15,56,220,209
602 movdqa %xmm12,48(%rsp)
617 movups 48(%r15),%xmm1
618 .byte 102,15,56,220,208
619 pshufd $238,%xmm7,%xmm12
630 punpcklqdq %xmm8,%xmm12
649 movups 64(%r15),%xmm0
650 .byte 102,15,56,220,209
651 movups 80(%r15),%xmm1
652 .byte 102,15,56,220,208
654 movups 96(%r15),%xmm0
655 .byte 102,15,56,220,209
656 movups 112(%r15),%xmm1
657 .byte 102,15,56,220,208
659 .byte 102,15,56,221,209
660 movups 16-112(%r15),%xmm0
662 movdqa %xmm13,0(%rsp)
677 pshufd $238,%xmm8,%xmm13
688 movups 32(%r12),%xmm14
690 movups %xmm2,16(%r13,%r12,1)
692 movups -80(%r15),%xmm1
693 .byte 102,15,56,220,208
697 punpcklqdq %xmm9,%xmm13
716 movdqa %xmm3,16(%rsp)
719 movups -64(%r15),%xmm0
720 .byte 102,15,56,220,209
734 pshufd $238,%xmm9,%xmm3
743 movups -48(%r15),%xmm1
744 .byte 102,15,56,220,208
757 punpcklqdq %xmm10,%xmm3
763 movdqa 48(%r11),%xmm13
770 movups -32(%r15),%xmm0
771 .byte 102,15,56,220,209
778 movdqa %xmm12,32(%rsp)
794 pshufd $238,%xmm10,%xmm12
796 movups -16(%r15),%xmm1
797 .byte 102,15,56,220,208
818 .byte 102,15,56,220,209
819 punpcklqdq %xmm11,%xmm12
838 movdqa %xmm13,48(%rsp)
847 movups 16(%r15),%xmm1
848 .byte 102,15,56,220,208
856 pshufd $238,%xmm11,%xmm13
869 movups 32(%r15),%xmm0
870 .byte 102,15,56,220,209
879 punpcklqdq %xmm4,%xmm13
895 movups 48(%r15),%xmm1
896 .byte 102,15,56,220,208
916 pshufd $238,%xmm4,%xmm3
924 movups 64(%r15),%xmm0
925 .byte 102,15,56,220,209
926 movups 80(%r15),%xmm1
927 .byte 102,15,56,220,208
929 movups 96(%r15),%xmm0
930 .byte 102,15,56,220,209
931 movups 112(%r15),%xmm1
932 .byte 102,15,56,220,208
934 .byte 102,15,56,221,209
935 movups 16-112(%r15),%xmm0
951 punpcklqdq %xmm5,%xmm3
957 movups 48(%r12),%xmm14
959 movups %xmm2,32(%r13,%r12,1)
961 movups -80(%r15),%xmm1
962 .byte 102,15,56,220,208
976 movdqa %xmm12,16(%rsp)
989 movups -64(%r15),%xmm0
990 .byte 102,15,56,220,209
994 pshufd $238,%xmm5,%xmm12
1011 movups -48(%r15),%xmm1
1012 .byte 102,15,56,220,208
1014 punpcklqdq %xmm6,%xmm12
1032 movdqa %xmm13,32(%rsp)
1042 movups -32(%r15),%xmm0
1043 .byte 102,15,56,220,209
1063 movdqa %xmm3,48(%rsp)
1067 movups -16(%r15),%xmm1
1068 .byte 102,15,56,220,208
1089 movups 0(%r15),%xmm0
1090 .byte 102,15,56,220,209
1096 movdqa 64(%r11),%xmm3
1097 movdqa 0(%r11),%xmm13
1098 movdqu 0(%r10),%xmm4
1099 movdqu 16(%r10),%xmm5
1100 movdqu 32(%r10),%xmm6
1101 movdqu 48(%r10),%xmm7
1102 .byte 102,15,56,0,227
1107 .byte 102,15,56,0,235
1117 movdqa %xmm4,0(%rsp)
1125 movups 16(%r15),%xmm1
1126 .byte 102,15,56,220,208
1145 .byte 102,15,56,0,243
1148 movups 32(%r15),%xmm0
1149 .byte 102,15,56,220,209
1157 movdqa %xmm5,16(%rsp)
1173 movups 48(%r15),%xmm1
1174 .byte 102,15,56,220,208
1185 .byte 102,15,56,0,251
1195 movdqa %xmm6,32(%rsp)
1200 movups 64(%r15),%xmm0
1201 .byte 102,15,56,220,209
1202 movups 80(%r15),%xmm1
1203 .byte 102,15,56,220,208
1205 movups 96(%r15),%xmm0
1206 .byte 102,15,56,220,209
1207 movups 112(%r15),%xmm1
1208 .byte 102,15,56,220,208
1210 .byte 102,15,56,221,209
1211 movups 16-112(%r15),%xmm0
1231 movups %xmm2,48(%r13,%r12,1)
1268 movups 16(%r15),%xmm1
1269 .byte 102,15,56,220,208
1290 movups 32(%r15),%xmm0
1291 .byte 102,15,56,220,209
1312 movups 48(%r15),%xmm1
1313 .byte 102,15,56,220,208
1336 movups 64(%r15),%xmm0
1337 .byte 102,15,56,220,209
1338 movups 80(%r15),%xmm1
1339 .byte 102,15,56,220,208
1341 movups 96(%r15),%xmm0
1342 .byte 102,15,56,220,209
1343 movups 112(%r15),%xmm1
1344 .byte 102,15,56,220,208
1346 .byte 102,15,56,221,209
1347 movups 16-112(%r15),%xmm0
1366 movups %xmm2,48(%r13,%r12,1)
1381 .cfi_def_cfa %rsi,56
1399 .size aesni_cbc_sha1_enc_ssse3,.-aesni_cbc_sha1_enc_ssse3
1400 .type aesni_cbc_sha1_enc_avx,@function
1402 aesni_cbc_sha1_enc_avx:
1408 .cfi_adjust_cfa_offset 8
1409 .cfi_offset %rbx,-16
1411 .cfi_adjust_cfa_offset 8
1412 .cfi_offset %rbp,-24
1414 .cfi_adjust_cfa_offset 8
1415 .cfi_offset %r12,-32
1417 .cfi_adjust_cfa_offset 8
1418 .cfi_offset %r13,-40
1420 .cfi_adjust_cfa_offset 8
1421 .cfi_offset %r14,-48
1423 .cfi_adjust_cfa_offset 8
1424 .cfi_offset %r15,-56
1425 leaq -104(%rsp),%rsp
1426 .cfi_adjust_cfa_offset 104
1434 vmovdqu (%r8),%xmm12
1438 movl 240-112(%r15),%r8d
1441 leaq K_XX_XX(%rip),%r11
1452 vmovdqa 64(%r11),%xmm6
1453 vmovdqa 0(%r11),%xmm10
1454 vmovdqu 0(%r10),%xmm0
1455 vmovdqu 16(%r10),%xmm1
1456 vmovdqu 32(%r10),%xmm2
1457 vmovdqu 48(%r10),%xmm3
1458 vpshufb %xmm6,%xmm0,%xmm0
1460 vpshufb %xmm6,%xmm1,%xmm1
1461 vpshufb %xmm6,%xmm2,%xmm2
1462 vpshufb %xmm6,%xmm3,%xmm3
1463 vpaddd %xmm10,%xmm0,%xmm4
1464 vpaddd %xmm10,%xmm1,%xmm5
1465 vpaddd %xmm10,%xmm2,%xmm6
1466 vmovdqa %xmm4,0(%rsp)
1467 vmovdqa %xmm5,16(%rsp)
1468 vmovdqa %xmm6,32(%rsp)
1469 vmovups -112(%r15),%xmm15
1470 vmovups 16-112(%r15),%xmm14
1475 vmovdqu 0(%r12),%xmm13
1476 vpxor %xmm15,%xmm13,%xmm13
1477 vpxor %xmm13,%xmm12,%xmm12
1478 vaesenc %xmm14,%xmm12,%xmm12
1479 vmovups -80(%r15),%xmm15
1481 vpalignr $8,%xmm0,%xmm1,%xmm4
1484 vpaddd %xmm3,%xmm10,%xmm9
1487 vpsrldq $4,%xmm3,%xmm8
1490 vpxor %xmm0,%xmm4,%xmm4
1493 vpxor %xmm2,%xmm8,%xmm8
1498 vpxor %xmm8,%xmm4,%xmm4
1501 vmovdqa %xmm9,48(%rsp)
1503 vaesenc %xmm15,%xmm12,%xmm12
1504 vmovups -64(%r15),%xmm14
1506 vpsrld $31,%xmm4,%xmm8
1511 vpslldq $12,%xmm4,%xmm9
1512 vpaddd %xmm4,%xmm4,%xmm4
1517 vpor %xmm8,%xmm4,%xmm4
1518 vpsrld $30,%xmm9,%xmm8
1523 vpslld $2,%xmm9,%xmm9
1524 vpxor %xmm8,%xmm4,%xmm4
1529 vaesenc %xmm14,%xmm12,%xmm12
1530 vmovups -48(%r15),%xmm15
1531 vpxor %xmm9,%xmm4,%xmm4
1540 vpalignr $8,%xmm1,%xmm2,%xmm5
1543 vpaddd %xmm4,%xmm10,%xmm9
1546 vpsrldq $4,%xmm4,%xmm8
1549 vpxor %xmm1,%xmm5,%xmm5
1552 vpxor %xmm3,%xmm8,%xmm8
1554 vaesenc %xmm15,%xmm12,%xmm12
1555 vmovups -32(%r15),%xmm14
1559 vpxor %xmm8,%xmm5,%xmm5
1562 vmovdqa %xmm9,0(%rsp)
1565 vpsrld $31,%xmm5,%xmm8
1570 vpslldq $12,%xmm5,%xmm9
1571 vpaddd %xmm5,%xmm5,%xmm5
1576 vpor %xmm8,%xmm5,%xmm5
1577 vpsrld $30,%xmm9,%xmm8
1579 vaesenc %xmm14,%xmm12,%xmm12
1580 vmovups -16(%r15),%xmm15
1584 vpslld $2,%xmm9,%xmm9
1585 vpxor %xmm8,%xmm5,%xmm5
1590 vpxor %xmm9,%xmm5,%xmm5
1593 vmovdqa 16(%r11),%xmm10
1600 vpalignr $8,%xmm2,%xmm3,%xmm6
1603 vaesenc %xmm15,%xmm12,%xmm12
1604 vmovups 0(%r15),%xmm14
1605 vpaddd %xmm5,%xmm10,%xmm9
1608 vpsrldq $4,%xmm5,%xmm8
1611 vpxor %xmm2,%xmm6,%xmm6
1614 vpxor %xmm4,%xmm8,%xmm8
1619 vpxor %xmm8,%xmm6,%xmm6
1622 vmovdqa %xmm9,16(%rsp)
1625 vpsrld $31,%xmm6,%xmm8
1629 vaesenc %xmm14,%xmm12,%xmm12
1630 vmovups 16(%r15),%xmm15
1632 vpslldq $12,%xmm6,%xmm9
1633 vpaddd %xmm6,%xmm6,%xmm6
1638 vpor %xmm8,%xmm6,%xmm6
1639 vpsrld $30,%xmm9,%xmm8
1644 vpslld $2,%xmm9,%xmm9
1645 vpxor %xmm8,%xmm6,%xmm6
1650 vpxor %xmm9,%xmm6,%xmm6
1654 vaesenc %xmm15,%xmm12,%xmm12
1655 vmovups 32(%r15),%xmm14
1661 vpalignr $8,%xmm3,%xmm4,%xmm7
1664 vpaddd %xmm6,%xmm10,%xmm9
1667 vpsrldq $4,%xmm6,%xmm8
1670 vpxor %xmm3,%xmm7,%xmm7
1673 vpxor %xmm5,%xmm8,%xmm8
1678 vaesenc %xmm14,%xmm12,%xmm12
1679 vmovups 48(%r15),%xmm15
1680 vpxor %xmm8,%xmm7,%xmm7
1683 vmovdqa %xmm9,32(%rsp)
1686 vpsrld $31,%xmm7,%xmm8
1691 vpslldq $12,%xmm7,%xmm9
1692 vpaddd %xmm7,%xmm7,%xmm7
1697 vpor %xmm8,%xmm7,%xmm7
1698 vpsrld $30,%xmm9,%xmm8
1703 vpslld $2,%xmm9,%xmm9
1704 vpxor %xmm8,%xmm7,%xmm7
1708 vaesenc %xmm15,%xmm12,%xmm12
1709 vmovups 64(%r15),%xmm14
1710 vaesenc %xmm14,%xmm12,%xmm12
1711 vmovups 80(%r15),%xmm15
1713 vaesenc %xmm15,%xmm12,%xmm12
1714 vmovups 96(%r15),%xmm14
1715 vaesenc %xmm14,%xmm12,%xmm12
1716 vmovups 112(%r15),%xmm15
1718 vaesenclast %xmm15,%xmm12,%xmm12
1719 vmovups -112(%r15),%xmm15
1720 vmovups 16-112(%r15),%xmm14
1724 vpxor %xmm9,%xmm7,%xmm7
1731 vpalignr $8,%xmm6,%xmm7,%xmm8
1732 vpxor %xmm4,%xmm0,%xmm0
1737 vpxor %xmm1,%xmm0,%xmm0
1740 vpaddd %xmm7,%xmm10,%xmm9
1742 vmovdqu 16(%r12),%xmm13
1743 vpxor %xmm15,%xmm13,%xmm13
1744 vmovups %xmm12,0(%r12,%r13,1)
1745 vpxor %xmm13,%xmm12,%xmm12
1746 vaesenc %xmm14,%xmm12,%xmm12
1747 vmovups -80(%r15),%xmm15
1749 vpxor %xmm8,%xmm0,%xmm0
1754 vpsrld $30,%xmm0,%xmm8
1755 vmovdqa %xmm9,48(%rsp)
1760 vpslld $2,%xmm0,%xmm0
1769 vaesenc %xmm15,%xmm12,%xmm12
1770 vmovups -64(%r15),%xmm14
1771 vpor %xmm8,%xmm0,%xmm0
1786 vpalignr $8,%xmm7,%xmm0,%xmm8
1787 vpxor %xmm5,%xmm1,%xmm1
1789 vaesenc %xmm14,%xmm12,%xmm12
1790 vmovups -48(%r15),%xmm15
1794 vpxor %xmm2,%xmm1,%xmm1
1797 vpaddd %xmm0,%xmm10,%xmm9
1800 vpxor %xmm8,%xmm1,%xmm1
1805 vpsrld $30,%xmm1,%xmm8
1806 vmovdqa %xmm9,0(%rsp)
1811 vpslld $2,%xmm1,%xmm1
1817 vaesenc %xmm15,%xmm12,%xmm12
1818 vmovups -32(%r15),%xmm14
1822 vpor %xmm8,%xmm1,%xmm1
1831 vpalignr $8,%xmm0,%xmm1,%xmm8
1832 vpxor %xmm6,%xmm2,%xmm2
1837 vpxor %xmm3,%xmm2,%xmm2
1840 vpaddd %xmm1,%xmm10,%xmm9
1841 vmovdqa 32(%r11),%xmm10
1844 vpxor %xmm8,%xmm2,%xmm2
1846 vaesenc %xmm14,%xmm12,%xmm12
1847 vmovups -16(%r15),%xmm15
1851 vpsrld $30,%xmm2,%xmm8
1852 vmovdqa %xmm9,16(%rsp)
1857 vpslld $2,%xmm2,%xmm2
1866 vpor %xmm8,%xmm2,%xmm2
1872 vaesenc %xmm15,%xmm12,%xmm12
1873 vmovups 0(%r15),%xmm14
1877 vpalignr $8,%xmm1,%xmm2,%xmm8
1878 vpxor %xmm7,%xmm3,%xmm3
1883 vpxor %xmm4,%xmm3,%xmm3
1886 vpaddd %xmm2,%xmm10,%xmm9
1889 vpxor %xmm8,%xmm3,%xmm3
1894 vpsrld $30,%xmm3,%xmm8
1895 vmovdqa %xmm9,32(%rsp)
1900 vpslld $2,%xmm3,%xmm3
1902 vaesenc %xmm14,%xmm12,%xmm12
1903 vmovups 16(%r15),%xmm15
1911 vpor %xmm8,%xmm3,%xmm3
1920 vpalignr $8,%xmm2,%xmm3,%xmm8
1921 vpxor %xmm0,%xmm4,%xmm4
1926 vpxor %xmm5,%xmm4,%xmm4
1928 vaesenc %xmm15,%xmm12,%xmm12
1929 vmovups 32(%r15),%xmm14
1931 vpaddd %xmm3,%xmm10,%xmm9
1934 vpxor %xmm8,%xmm4,%xmm4
1939 vpsrld $30,%xmm4,%xmm8
1940 vmovdqa %xmm9,48(%rsp)
1945 vpslld $2,%xmm4,%xmm4
1954 vpor %xmm8,%xmm4,%xmm4
1956 vaesenc %xmm14,%xmm12,%xmm12
1957 vmovups 48(%r15),%xmm15
1965 vpalignr $8,%xmm3,%xmm4,%xmm8
1966 vpxor %xmm1,%xmm5,%xmm5
1971 vpxor %xmm6,%xmm5,%xmm5
1974 vpaddd %xmm4,%xmm10,%xmm9
1977 vpxor %xmm8,%xmm5,%xmm5
1982 vpsrld $30,%xmm5,%xmm8
1983 vmovdqa %xmm9,0(%rsp)
1987 vaesenc %xmm15,%xmm12,%xmm12
1988 vmovups 64(%r15),%xmm14
1989 vaesenc %xmm14,%xmm12,%xmm12
1990 vmovups 80(%r15),%xmm15
1992 vaesenc %xmm15,%xmm12,%xmm12
1993 vmovups 96(%r15),%xmm14
1994 vaesenc %xmm14,%xmm12,%xmm12
1995 vmovups 112(%r15),%xmm15
1997 vaesenclast %xmm15,%xmm12,%xmm12
1998 vmovups -112(%r15),%xmm15
1999 vmovups 16-112(%r15),%xmm14
2003 vpslld $2,%xmm5,%xmm5
2012 vpor %xmm8,%xmm5,%xmm5
2022 vpalignr $8,%xmm4,%xmm5,%xmm8
2023 vpxor %xmm2,%xmm6,%xmm6
2025 vmovdqu 32(%r12),%xmm13
2026 vpxor %xmm15,%xmm13,%xmm13
2027 vmovups %xmm12,16(%r13,%r12,1)
2028 vpxor %xmm13,%xmm12,%xmm12
2029 vaesenc %xmm14,%xmm12,%xmm12
2030 vmovups -80(%r15),%xmm15
2034 vpxor %xmm7,%xmm6,%xmm6
2037 vpaddd %xmm5,%xmm10,%xmm9
2040 vpxor %xmm8,%xmm6,%xmm6
2045 vpsrld $30,%xmm6,%xmm8
2046 vmovdqa %xmm9,16(%rsp)
2051 vpslld $2,%xmm6,%xmm6
2055 vaesenc %xmm15,%xmm12,%xmm12
2056 vmovups -64(%r15),%xmm14
2062 vpor %xmm8,%xmm6,%xmm6
2076 vaesenc %xmm14,%xmm12,%xmm12
2077 vmovups -48(%r15),%xmm15
2085 vpalignr $8,%xmm5,%xmm6,%xmm8
2086 vpxor %xmm3,%xmm7,%xmm7
2091 vpxor %xmm0,%xmm7,%xmm7
2094 vpaddd %xmm6,%xmm10,%xmm9
2095 vmovdqa 48(%r11),%xmm10
2098 vpxor %xmm8,%xmm7,%xmm7
2103 vaesenc %xmm15,%xmm12,%xmm12
2104 vmovups -32(%r15),%xmm14
2105 vpsrld $30,%xmm7,%xmm8
2106 vmovdqa %xmm9,32(%rsp)
2111 vpslld $2,%xmm7,%xmm7
2120 vpor %xmm8,%xmm7,%xmm7
2127 vaesenc %xmm14,%xmm12,%xmm12
2128 vmovups -16(%r15),%xmm15
2143 vpalignr $8,%xmm6,%xmm7,%xmm8
2144 vpxor %xmm4,%xmm0,%xmm0
2149 vaesenc %xmm15,%xmm12,%xmm12
2150 vmovups 0(%r15),%xmm14
2151 vpxor %xmm1,%xmm0,%xmm0
2154 vpaddd %xmm7,%xmm10,%xmm9
2157 vpxor %xmm8,%xmm0,%xmm0
2162 vpsrld $30,%xmm0,%xmm8
2163 vmovdqa %xmm9,48(%rsp)
2168 vpslld $2,%xmm0,%xmm0
2176 vaesenc %xmm14,%xmm12,%xmm12
2177 vmovups 16(%r15),%xmm15
2179 vpor %xmm8,%xmm0,%xmm0
2197 vaesenc %xmm15,%xmm12,%xmm12
2198 vmovups 32(%r15),%xmm14
2202 vpalignr $8,%xmm7,%xmm0,%xmm8
2203 vpxor %xmm5,%xmm1,%xmm1
2208 vpxor %xmm2,%xmm1,%xmm1
2211 vpaddd %xmm0,%xmm10,%xmm9
2214 vpxor %xmm8,%xmm1,%xmm1
2219 vpsrld $30,%xmm1,%xmm8
2220 vmovdqa %xmm9,0(%rsp)
2224 vaesenc %xmm14,%xmm12,%xmm12
2225 vmovups 48(%r15),%xmm15
2227 vpslld $2,%xmm1,%xmm1
2236 vpor %xmm8,%xmm1,%xmm1
2249 vaesenc %xmm15,%xmm12,%xmm12
2250 vmovups 64(%r15),%xmm14
2251 vaesenc %xmm14,%xmm12,%xmm12
2252 vmovups 80(%r15),%xmm15
2254 vaesenc %xmm15,%xmm12,%xmm12
2255 vmovups 96(%r15),%xmm14
2256 vaesenc %xmm14,%xmm12,%xmm12
2257 vmovups 112(%r15),%xmm15
2259 vaesenclast %xmm15,%xmm12,%xmm12
2260 vmovups -112(%r15),%xmm15
2261 vmovups 16-112(%r15),%xmm14
2272 vpalignr $8,%xmm0,%xmm1,%xmm8
2273 vpxor %xmm6,%xmm2,%xmm2
2278 vpxor %xmm3,%xmm2,%xmm2
2281 vpaddd %xmm1,%xmm10,%xmm9
2284 vmovdqu 48(%r12),%xmm13
2285 vpxor %xmm15,%xmm13,%xmm13
2286 vmovups %xmm12,32(%r13,%r12,1)
2287 vpxor %xmm13,%xmm12,%xmm12
2288 vaesenc %xmm14,%xmm12,%xmm12
2289 vmovups -80(%r15),%xmm15
2290 vpxor %xmm8,%xmm2,%xmm2
2295 vpsrld $30,%xmm2,%xmm8
2296 vmovdqa %xmm9,16(%rsp)
2301 vpslld $2,%xmm2,%xmm2
2310 vpor %xmm8,%xmm2,%xmm2
2313 vaesenc %xmm15,%xmm12,%xmm12
2314 vmovups -64(%r15),%xmm14
2332 vpalignr $8,%xmm1,%xmm2,%xmm8
2333 vpxor %xmm7,%xmm3,%xmm3
2335 vaesenc %xmm14,%xmm12,%xmm12
2336 vmovups -48(%r15),%xmm15
2340 vpxor %xmm4,%xmm3,%xmm3
2343 vpaddd %xmm2,%xmm10,%xmm9
2346 vpxor %xmm8,%xmm3,%xmm3
2351 vpsrld $30,%xmm3,%xmm8
2352 vmovdqa %xmm9,32(%rsp)
2357 vpslld $2,%xmm3,%xmm3
2363 vaesenc %xmm15,%xmm12,%xmm12
2364 vmovups -32(%r15),%xmm14
2368 vpor %xmm8,%xmm3,%xmm3
2378 vpaddd %xmm3,%xmm10,%xmm9
2383 vmovdqa %xmm9,48(%rsp)
2388 vaesenc %xmm14,%xmm12,%xmm12
2389 vmovups -16(%r15),%xmm15
2410 vaesenc %xmm15,%xmm12,%xmm12
2411 vmovups 0(%r15),%xmm14
2417 vmovdqa 64(%r11),%xmm9
2418 vmovdqa 0(%r11),%xmm10
2419 vmovdqu 0(%r10),%xmm0
2420 vmovdqu 16(%r10),%xmm1
2421 vmovdqu 32(%r10),%xmm2
2422 vmovdqu 48(%r10),%xmm3
2423 vpshufb %xmm9,%xmm0,%xmm0
2427 vpshufb %xmm9,%xmm1,%xmm1
2430 vpaddd %xmm10,%xmm0,%xmm8
2435 vmovdqa %xmm8,0(%rsp)
2445 vaesenc %xmm14,%xmm12,%xmm12
2446 vmovups 16(%r15),%xmm15
2464 vpshufb %xmm9,%xmm2,%xmm2
2467 vpaddd %xmm10,%xmm1,%xmm8
2469 vaesenc %xmm15,%xmm12,%xmm12
2470 vmovups 32(%r15),%xmm14
2474 vmovdqa %xmm8,16(%rsp)
2492 vaesenc %xmm14,%xmm12,%xmm12
2493 vmovups 48(%r15),%xmm15
2503 vpshufb %xmm9,%xmm3,%xmm3
2506 vpaddd %xmm10,%xmm2,%xmm8
2511 vmovdqa %xmm8,32(%rsp)
2519 vaesenc %xmm15,%xmm12,%xmm12
2520 vmovups 64(%r15),%xmm14
2521 vaesenc %xmm14,%xmm12,%xmm12
2522 vmovups 80(%r15),%xmm15
2524 vaesenc %xmm15,%xmm12,%xmm12
2525 vmovups 96(%r15),%xmm14
2526 vaesenc %xmm14,%xmm12,%xmm12
2527 vmovups 112(%r15),%xmm15
2529 vaesenclast %xmm15,%xmm12,%xmm12
2530 vmovups -112(%r15),%xmm15
2531 vmovups 16-112(%r15),%xmm14
2550 vmovups %xmm12,48(%r13,%r12,1)
2587 vaesenc %xmm14,%xmm12,%xmm12
2588 vmovups 16(%r15),%xmm15
2609 vaesenc %xmm15,%xmm12,%xmm12
2610 vmovups 32(%r15),%xmm14
2631 vaesenc %xmm14,%xmm12,%xmm12
2632 vmovups 48(%r15),%xmm15
2655 vaesenc %xmm15,%xmm12,%xmm12
2656 vmovups 64(%r15),%xmm14
2657 vaesenc %xmm14,%xmm12,%xmm12
2658 vmovups 80(%r15),%xmm15
2660 vaesenc %xmm15,%xmm12,%xmm12
2661 vmovups 96(%r15),%xmm14
2662 vaesenc %xmm14,%xmm12,%xmm12
2663 vmovups 112(%r15),%xmm15
2665 vaesenclast %xmm15,%xmm12,%xmm12
2666 vmovups -112(%r15),%xmm15
2667 vmovups 16-112(%r15),%xmm14
2686 vmovups %xmm12,48(%r13,%r12,1)
2699 vmovups %xmm12,(%r8)
2702 .cfi_def_cfa %rsi,56
2720 .size aesni_cbc_sha1_enc_avx,.-aesni_cbc_sha1_enc_avx
2723 .long 0x5a827999,0x5a827999,0x5a827999,0x5a827999
2724 .long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
2725 .long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
2726 .long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
2727 .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
2728 .byte 0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0
2730 .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
2732 .type aesni_cbc_sha1_enc_shaext,@function
2734 aesni_cbc_sha1_enc_shaext:
2738 movdqa K_XX_XX+80(%rip),%xmm7
2740 movl 240(%rcx),%r11d
2742 movups (%rcx),%xmm15
2744 movups 16(%rcx),%xmm0
2747 pshufd $27,%xmm8,%xmm8
2748 pshufd $27,%xmm9,%xmm9
2753 movups 0(%rdi),%xmm14
2756 movups -80(%rcx),%xmm1
2757 .byte 102,15,56,220,208
2760 .byte 102,15,56,0,223
2761 movdqu 16(%r10),%xmm4
2763 movups -64(%rcx),%xmm0
2764 .byte 102,15,56,220,209
2765 .byte 102,15,56,0,231
2768 movdqu 32(%r10),%xmm5
2771 movups -48(%rcx),%xmm1
2772 .byte 102,15,56,220,208
2775 .byte 102,15,56,0,239
2776 .byte 69,15,58,204,193,0
2777 .byte 68,15,56,200,212
2778 movups -32(%rcx),%xmm0
2779 .byte 102,15,56,220,209
2781 movdqu -16(%r10),%xmm6
2783 .byte 102,15,56,0,247
2784 movups -16(%rcx),%xmm1
2785 .byte 102,15,56,220,208
2786 .byte 69,15,58,204,194,0
2787 .byte 68,15,56,200,205
2790 movups 0(%rcx),%xmm0
2791 .byte 102,15,56,220,209
2793 .byte 69,15,58,204,193,0
2794 .byte 68,15,56,200,214
2795 movups 16(%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,194,0
2804 .byte 68,15,56,200,203
2805 movups 48(%rcx),%xmm1
2806 .byte 102,15,56,220,208
2812 movups 64(%rcx),%xmm0
2813 .byte 102,15,56,220,209
2814 movups 80(%rcx),%xmm1
2815 .byte 102,15,56,220,208
2817 movups 96(%rcx),%xmm0
2818 .byte 102,15,56,220,209
2819 movups 112(%rcx),%xmm1
2820 .byte 102,15,56,220,208
2822 .byte 102,15,56,221,209
2823 movups 16-112(%rcx),%xmm0
2825 .byte 69,15,58,204,193,0
2826 .byte 68,15,56,200,212
2827 movups 16(%rdi),%xmm14
2829 movups %xmm2,0(%rsi,%rdi,1)
2831 movups -80(%rcx),%xmm1
2832 .byte 102,15,56,220,208
2836 movups -64(%rcx),%xmm0
2837 .byte 102,15,56,220,209
2839 .byte 69,15,58,204,194,1
2840 .byte 68,15,56,200,205
2841 movups -48(%rcx),%xmm1
2842 .byte 102,15,56,220,208
2846 movups -32(%rcx),%xmm0
2847 .byte 102,15,56,220,209
2849 .byte 69,15,58,204,193,1
2850 .byte 68,15,56,200,214
2851 movups -16(%rcx),%xmm1
2852 .byte 102,15,56,220,208
2856 movups 0(%rcx),%xmm0
2857 .byte 102,15,56,220,209
2859 .byte 69,15,58,204,194,1
2860 .byte 68,15,56,200,203
2861 movups 16(%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,193,1
2870 .byte 68,15,56,200,212
2871 movups 48(%rcx),%xmm1
2872 .byte 102,15,56,220,208
2878 movups 64(%rcx),%xmm0
2879 .byte 102,15,56,220,209
2880 movups 80(%rcx),%xmm1
2881 .byte 102,15,56,220,208
2883 movups 96(%rcx),%xmm0
2884 .byte 102,15,56,220,209
2885 movups 112(%rcx),%xmm1
2886 .byte 102,15,56,220,208
2888 .byte 102,15,56,221,209
2889 movups 16-112(%rcx),%xmm0
2891 .byte 69,15,58,204,194,1
2892 .byte 68,15,56,200,205
2893 movups 32(%rdi),%xmm14
2895 movups %xmm2,16(%rsi,%rdi,1)
2897 movups -80(%rcx),%xmm1
2898 .byte 102,15,56,220,208
2902 movups -64(%rcx),%xmm0
2903 .byte 102,15,56,220,209
2905 .byte 69,15,58,204,193,2
2906 .byte 68,15,56,200,214
2907 movups -48(%rcx),%xmm1
2908 .byte 102,15,56,220,208
2912 movups -32(%rcx),%xmm0
2913 .byte 102,15,56,220,209
2915 .byte 69,15,58,204,194,2
2916 .byte 68,15,56,200,203
2917 movups -16(%rcx),%xmm1
2918 .byte 102,15,56,220,208
2922 movups 0(%rcx),%xmm0
2923 .byte 102,15,56,220,209
2925 .byte 69,15,58,204,193,2
2926 .byte 68,15,56,200,212
2927 movups 16(%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,194,2
2936 .byte 68,15,56,200,205
2937 movups 48(%rcx),%xmm1
2938 .byte 102,15,56,220,208
2944 movups 64(%rcx),%xmm0
2945 .byte 102,15,56,220,209
2946 movups 80(%rcx),%xmm1
2947 .byte 102,15,56,220,208
2949 movups 96(%rcx),%xmm0
2950 .byte 102,15,56,220,209
2951 movups 112(%rcx),%xmm1
2952 .byte 102,15,56,220,208
2954 .byte 102,15,56,221,209
2955 movups 16-112(%rcx),%xmm0
2957 .byte 69,15,58,204,193,2
2958 .byte 68,15,56,200,214
2959 movups 48(%rdi),%xmm14
2961 movups %xmm2,32(%rsi,%rdi,1)
2963 movups -80(%rcx),%xmm1
2964 .byte 102,15,56,220,208
2968 movups -64(%rcx),%xmm0
2969 .byte 102,15,56,220,209
2971 .byte 69,15,58,204,194,3
2972 .byte 68,15,56,200,203
2973 movups -48(%rcx),%xmm1
2974 .byte 102,15,56,220,208
2978 movups -32(%rcx),%xmm0
2979 .byte 102,15,56,220,209
2981 .byte 69,15,58,204,193,3
2982 .byte 68,15,56,200,212
2985 movups -16(%rcx),%xmm1
2986 .byte 102,15,56,220,208
2988 .byte 69,15,58,204,194,3
2989 .byte 68,15,56,200,205
2991 movups 0(%rcx),%xmm0
2992 .byte 102,15,56,220,209
2995 .byte 69,15,58,204,193,3
2996 .byte 68,15,56,200,214
2997 movups 16(%rcx),%xmm1
2998 .byte 102,15,56,220,208
3000 .byte 69,15,58,204,194,3
3001 .byte 68,15,56,200,205
3002 movups 32(%rcx),%xmm0
3003 .byte 102,15,56,220,209
3004 movups 48(%rcx),%xmm1
3005 .byte 102,15,56,220,208
3008 movups 64(%rcx),%xmm0
3009 .byte 102,15,56,220,209
3010 movups 80(%rcx),%xmm1
3011 .byte 102,15,56,220,208
3013 movups 96(%rcx),%xmm0
3014 .byte 102,15,56,220,209
3015 movups 112(%rcx),%xmm1
3016 .byte 102,15,56,220,208
3018 .byte 102,15,56,221,209
3019 movups 16-112(%rcx),%xmm0
3023 movups %xmm2,48(%rsi,%rdi,1)
3027 pshufd $27,%xmm8,%xmm8
3028 pshufd $27,%xmm9,%xmm9
3033 .size aesni_cbc_sha1_enc_shaext,.-aesni_cbc_sha1_enc_shaext