VirtualBox

Ignore:
Timestamp:
Jun 8, 2022 8:35:57 AM (3 years ago)
Author:
vboxsync
Message:

libs/openssl-3.0.3: Recreated openssl assembler files, bugref:10128

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/libs/openssl-3.0.3/crypto/genasm-nasm/aesni-sha1-x86_64.S

    r94083 r95221  
    1717        bt      r11,61
    1818        jc      NEAR aesni_cbc_sha1_enc_shaext
    19         and     r11d,268435456
    20         and     r10d,1073741824
    21         or      r10d,r11d
    22         cmp     r10d,1342177280
    23         je      NEAR aesni_cbc_sha1_enc_avx
    2419        jmp     NEAR aesni_cbc_sha1_enc_ssse3
    2520        DB      0F3h,0C3h               ;repret
     
    14321427
    14331428$L$SEH_end_aesni_cbc_sha1_enc_ssse3:
    1434 
    1435 ALIGN   32
    1436 aesni_cbc_sha1_enc_avx:
    1437         mov     QWORD[8+rsp],rdi        ;WIN64 prologue
    1438         mov     QWORD[16+rsp],rsi
    1439         mov     rax,rsp
    1440 $L$SEH_begin_aesni_cbc_sha1_enc_avx:
    1441         mov     rdi,rcx
    1442         mov     rsi,rdx
    1443         mov     rdx,r8
    1444         mov     rcx,r9
    1445         mov     r8,QWORD[40+rsp]
    1446         mov     r9,QWORD[48+rsp]
    1447 
    1448 
    1449 
    1450         mov     r10,QWORD[56+rsp]
    1451 
    1452 
    1453         push    rbx
    1454 
    1455         push    rbp
    1456 
    1457         push    r12
    1458 
    1459         push    r13
    1460 
    1461         push    r14
    1462 
    1463         push    r15
    1464 
    1465         lea     rsp,[((-264))+rsp]
    1466 
    1467 
    1468 
    1469         movaps  XMMWORD[(96+0)+rsp],xmm6
    1470         movaps  XMMWORD[(96+16)+rsp],xmm7
    1471         movaps  XMMWORD[(96+32)+rsp],xmm8
    1472         movaps  XMMWORD[(96+48)+rsp],xmm9
    1473         movaps  XMMWORD[(96+64)+rsp],xmm10
    1474         movaps  XMMWORD[(96+80)+rsp],xmm11
    1475         movaps  XMMWORD[(96+96)+rsp],xmm12
    1476         movaps  XMMWORD[(96+112)+rsp],xmm13
    1477         movaps  XMMWORD[(96+128)+rsp],xmm14
    1478         movaps  XMMWORD[(96+144)+rsp],xmm15
    1479 $L$prologue_avx:
    1480         vzeroall
    1481         mov     r12,rdi
    1482         mov     r13,rsi
    1483         mov     r14,rdx
    1484         lea     r15,[112+rcx]
    1485         vmovdqu xmm12,XMMWORD[r8]
    1486         mov     QWORD[88+rsp],r8
    1487         shl     r14,6
    1488         sub     r13,r12
    1489         mov     r8d,DWORD[((240-112))+r15]
    1490         add     r14,r10
    1491 
    1492         lea     r11,[K_XX_XX]
    1493         mov     eax,DWORD[r9]
    1494         mov     ebx,DWORD[4+r9]
    1495         mov     ecx,DWORD[8+r9]
    1496         mov     edx,DWORD[12+r9]
    1497         mov     esi,ebx
    1498         mov     ebp,DWORD[16+r9]
    1499         mov     edi,ecx
    1500         xor     edi,edx
    1501         and     esi,edi
    1502 
    1503         vmovdqa xmm6,XMMWORD[64+r11]
    1504         vmovdqa xmm10,XMMWORD[r11]
    1505         vmovdqu xmm0,XMMWORD[r10]
    1506         vmovdqu xmm1,XMMWORD[16+r10]
    1507         vmovdqu xmm2,XMMWORD[32+r10]
    1508         vmovdqu xmm3,XMMWORD[48+r10]
    1509         vpshufb xmm0,xmm0,xmm6
    1510         add     r10,64
    1511         vpshufb xmm1,xmm1,xmm6
    1512         vpshufb xmm2,xmm2,xmm6
    1513         vpshufb xmm3,xmm3,xmm6
    1514         vpaddd  xmm4,xmm0,xmm10
    1515         vpaddd  xmm5,xmm1,xmm10
    1516         vpaddd  xmm6,xmm2,xmm10
    1517         vmovdqa XMMWORD[rsp],xmm4
    1518         vmovdqa XMMWORD[16+rsp],xmm5
    1519         vmovdqa XMMWORD[32+rsp],xmm6
    1520         vmovups xmm15,XMMWORD[((-112))+r15]
    1521         vmovups xmm14,XMMWORD[((16-112))+r15]
    1522         jmp     NEAR $L$oop_avx
    1523 ALIGN   32
    1524 $L$oop_avx:
    1525         shrd    ebx,ebx,2
    1526         vmovdqu xmm13,XMMWORD[r12]
    1527         vpxor   xmm13,xmm13,xmm15
    1528         vpxor   xmm12,xmm12,xmm13
    1529         vaesenc xmm12,xmm12,xmm14
    1530         vmovups xmm15,XMMWORD[((-80))+r15]
    1531         xor     esi,edx
    1532         vpalignr        xmm4,xmm1,xmm0,8
    1533         mov     edi,eax
    1534         add     ebp,DWORD[rsp]
    1535         vpaddd  xmm9,xmm10,xmm3
    1536         xor     ebx,ecx
    1537         shld    eax,eax,5
    1538         vpsrldq xmm8,xmm3,4
    1539         add     ebp,esi
    1540         and     edi,ebx
    1541         vpxor   xmm4,xmm4,xmm0
    1542         xor     ebx,ecx
    1543         add     ebp,eax
    1544         vpxor   xmm8,xmm8,xmm2
    1545         shrd    eax,eax,7
    1546         xor     edi,ecx
    1547         mov     esi,ebp
    1548         add     edx,DWORD[4+rsp]
    1549         vpxor   xmm4,xmm4,xmm8
    1550         xor     eax,ebx
    1551         shld    ebp,ebp,5
    1552         vmovdqa XMMWORD[48+rsp],xmm9
    1553         add     edx,edi
    1554         vaesenc xmm12,xmm12,xmm15
    1555         vmovups xmm14,XMMWORD[((-64))+r15]
    1556         and     esi,eax
    1557         vpsrld  xmm8,xmm4,31
    1558         xor     eax,ebx
    1559         add     edx,ebp
    1560         shrd    ebp,ebp,7
    1561         xor     esi,ebx
    1562         vpslldq xmm9,xmm4,12
    1563         vpaddd  xmm4,xmm4,xmm4
    1564         mov     edi,edx
    1565         add     ecx,DWORD[8+rsp]
    1566         xor     ebp,eax
    1567         shld    edx,edx,5
    1568         vpor    xmm4,xmm4,xmm8
    1569         vpsrld  xmm8,xmm9,30
    1570         add     ecx,esi
    1571         and     edi,ebp
    1572         xor     ebp,eax
    1573         add     ecx,edx
    1574         vpslld  xmm9,xmm9,2
    1575         vpxor   xmm4,xmm4,xmm8
    1576         shrd    edx,edx,7
    1577         xor     edi,eax
    1578         mov     esi,ecx
    1579         add     ebx,DWORD[12+rsp]
    1580         vaesenc xmm12,xmm12,xmm14
    1581         vmovups xmm15,XMMWORD[((-48))+r15]
    1582         vpxor   xmm4,xmm4,xmm9
    1583         xor     edx,ebp
    1584         shld    ecx,ecx,5
    1585         add     ebx,edi
    1586         and     esi,edx
    1587         xor     edx,ebp
    1588         add     ebx,ecx
    1589         shrd    ecx,ecx,7
    1590         xor     esi,ebp
    1591         vpalignr        xmm5,xmm2,xmm1,8
    1592         mov     edi,ebx
    1593         add     eax,DWORD[16+rsp]
    1594         vpaddd  xmm9,xmm10,xmm4
    1595         xor     ecx,edx
    1596         shld    ebx,ebx,5
    1597         vpsrldq xmm8,xmm4,4
    1598         add     eax,esi
    1599         and     edi,ecx
    1600         vpxor   xmm5,xmm5,xmm1
    1601         xor     ecx,edx
    1602         add     eax,ebx
    1603         vpxor   xmm8,xmm8,xmm3
    1604         shrd    ebx,ebx,7
    1605         vaesenc xmm12,xmm12,xmm15
    1606         vmovups xmm14,XMMWORD[((-32))+r15]
    1607         xor     edi,edx
    1608         mov     esi,eax
    1609         add     ebp,DWORD[20+rsp]
    1610         vpxor   xmm5,xmm5,xmm8
    1611         xor     ebx,ecx
    1612         shld    eax,eax,5
    1613         vmovdqa XMMWORD[rsp],xmm9
    1614         add     ebp,edi
    1615         and     esi,ebx
    1616         vpsrld  xmm8,xmm5,31
    1617         xor     ebx,ecx
    1618         add     ebp,eax
    1619         shrd    eax,eax,7
    1620         xor     esi,ecx
    1621         vpslldq xmm9,xmm5,12
    1622         vpaddd  xmm5,xmm5,xmm5
    1623         mov     edi,ebp
    1624         add     edx,DWORD[24+rsp]
    1625         xor     eax,ebx
    1626         shld    ebp,ebp,5
    1627         vpor    xmm5,xmm5,xmm8
    1628         vpsrld  xmm8,xmm9,30
    1629         add     edx,esi
    1630         vaesenc xmm12,xmm12,xmm14
    1631         vmovups xmm15,XMMWORD[((-16))+r15]
    1632         and     edi,eax
    1633         xor     eax,ebx
    1634         add     edx,ebp
    1635         vpslld  xmm9,xmm9,2
    1636         vpxor   xmm5,xmm5,xmm8
    1637         shrd    ebp,ebp,7
    1638         xor     edi,ebx
    1639         mov     esi,edx
    1640         add     ecx,DWORD[28+rsp]
    1641         vpxor   xmm5,xmm5,xmm9
    1642         xor     ebp,eax
    1643         shld    edx,edx,5
    1644         vmovdqa xmm10,XMMWORD[16+r11]
    1645         add     ecx,edi
    1646         and     esi,ebp
    1647         xor     ebp,eax
    1648         add     ecx,edx
    1649         shrd    edx,edx,7
    1650         xor     esi,eax
    1651         vpalignr        xmm6,xmm3,xmm2,8
    1652         mov     edi,ecx
    1653         add     ebx,DWORD[32+rsp]
    1654         vaesenc xmm12,xmm12,xmm15
    1655         vmovups xmm14,XMMWORD[r15]
    1656         vpaddd  xmm9,xmm10,xmm5
    1657         xor     edx,ebp
    1658         shld    ecx,ecx,5
    1659         vpsrldq xmm8,xmm5,4
    1660         add     ebx,esi
    1661         and     edi,edx
    1662         vpxor   xmm6,xmm6,xmm2
    1663         xor     edx,ebp
    1664         add     ebx,ecx
    1665         vpxor   xmm8,xmm8,xmm4
    1666         shrd    ecx,ecx,7
    1667         xor     edi,ebp
    1668         mov     esi,ebx
    1669         add     eax,DWORD[36+rsp]
    1670         vpxor   xmm6,xmm6,xmm8
    1671         xor     ecx,edx
    1672         shld    ebx,ebx,5
    1673         vmovdqa XMMWORD[16+rsp],xmm9
    1674         add     eax,edi
    1675         and     esi,ecx
    1676         vpsrld  xmm8,xmm6,31
    1677         xor     ecx,edx
    1678         add     eax,ebx
    1679         shrd    ebx,ebx,7
    1680         vaesenc xmm12,xmm12,xmm14
    1681         vmovups xmm15,XMMWORD[16+r15]
    1682         xor     esi,edx
    1683         vpslldq xmm9,xmm6,12
    1684         vpaddd  xmm6,xmm6,xmm6
    1685         mov     edi,eax
    1686         add     ebp,DWORD[40+rsp]
    1687         xor     ebx,ecx
    1688         shld    eax,eax,5
    1689         vpor    xmm6,xmm6,xmm8
    1690         vpsrld  xmm8,xmm9,30
    1691         add     ebp,esi
    1692         and     edi,ebx
    1693         xor     ebx,ecx
    1694         add     ebp,eax
    1695         vpslld  xmm9,xmm9,2
    1696         vpxor   xmm6,xmm6,xmm8
    1697         shrd    eax,eax,7
    1698         xor     edi,ecx
    1699         mov     esi,ebp
    1700         add     edx,DWORD[44+rsp]
    1701         vpxor   xmm6,xmm6,xmm9
    1702         xor     eax,ebx
    1703         shld    ebp,ebp,5
    1704         add     edx,edi
    1705         vaesenc xmm12,xmm12,xmm15
    1706         vmovups xmm14,XMMWORD[32+r15]
    1707         and     esi,eax
    1708         xor     eax,ebx
    1709         add     edx,ebp
    1710         shrd    ebp,ebp,7
    1711         xor     esi,ebx
    1712         vpalignr        xmm7,xmm4,xmm3,8
    1713         mov     edi,edx
    1714         add     ecx,DWORD[48+rsp]
    1715         vpaddd  xmm9,xmm10,xmm6
    1716         xor     ebp,eax
    1717         shld    edx,edx,5
    1718         vpsrldq xmm8,xmm6,4
    1719         add     ecx,esi
    1720         and     edi,ebp
    1721         vpxor   xmm7,xmm7,xmm3
    1722         xor     ebp,eax
    1723         add     ecx,edx
    1724         vpxor   xmm8,xmm8,xmm5
    1725         shrd    edx,edx,7
    1726         xor     edi,eax
    1727         mov     esi,ecx
    1728         add     ebx,DWORD[52+rsp]
    1729         vaesenc xmm12,xmm12,xmm14
    1730         vmovups xmm15,XMMWORD[48+r15]
    1731         vpxor   xmm7,xmm7,xmm8
    1732         xor     edx,ebp
    1733         shld    ecx,ecx,5
    1734         vmovdqa XMMWORD[32+rsp],xmm9
    1735         add     ebx,edi
    1736         and     esi,edx
    1737         vpsrld  xmm8,xmm7,31
    1738         xor     edx,ebp
    1739         add     ebx,ecx
    1740         shrd    ecx,ecx,7
    1741         xor     esi,ebp
    1742         vpslldq xmm9,xmm7,12
    1743         vpaddd  xmm7,xmm7,xmm7
    1744         mov     edi,ebx
    1745         add     eax,DWORD[56+rsp]
    1746         xor     ecx,edx
    1747         shld    ebx,ebx,5
    1748         vpor    xmm7,xmm7,xmm8
    1749         vpsrld  xmm8,xmm9,30
    1750         add     eax,esi
    1751         and     edi,ecx
    1752         xor     ecx,edx
    1753         add     eax,ebx
    1754         vpslld  xmm9,xmm9,2
    1755         vpxor   xmm7,xmm7,xmm8
    1756         shrd    ebx,ebx,7
    1757         cmp     r8d,11
    1758         jb      NEAR $L$vaesenclast6
    1759         vaesenc xmm12,xmm12,xmm15
    1760         vmovups xmm14,XMMWORD[64+r15]
    1761         vaesenc xmm12,xmm12,xmm14
    1762         vmovups xmm15,XMMWORD[80+r15]
    1763         je      NEAR $L$vaesenclast6
    1764         vaesenc xmm12,xmm12,xmm15
    1765         vmovups xmm14,XMMWORD[96+r15]
    1766         vaesenc xmm12,xmm12,xmm14
    1767         vmovups xmm15,XMMWORD[112+r15]
    1768 $L$vaesenclast6:
    1769         vaesenclast     xmm12,xmm12,xmm15
    1770         vmovups xmm15,XMMWORD[((-112))+r15]
    1771         vmovups xmm14,XMMWORD[((16-112))+r15]
    1772         xor     edi,edx
    1773         mov     esi,eax
    1774         add     ebp,DWORD[60+rsp]
    1775         vpxor   xmm7,xmm7,xmm9
    1776         xor     ebx,ecx
    1777         shld    eax,eax,5
    1778         add     ebp,edi
    1779         and     esi,ebx
    1780         xor     ebx,ecx
    1781         add     ebp,eax
    1782         vpalignr        xmm8,xmm7,xmm6,8
    1783         vpxor   xmm0,xmm0,xmm4
    1784         shrd    eax,eax,7
    1785         xor     esi,ecx
    1786         mov     edi,ebp
    1787         add     edx,DWORD[rsp]
    1788         vpxor   xmm0,xmm0,xmm1
    1789         xor     eax,ebx
    1790         shld    ebp,ebp,5
    1791         vpaddd  xmm9,xmm10,xmm7
    1792         add     edx,esi
    1793         vmovdqu xmm13,XMMWORD[16+r12]
    1794         vpxor   xmm13,xmm13,xmm15
    1795         vmovups XMMWORD[r13*1+r12],xmm12
    1796         vpxor   xmm12,xmm12,xmm13
    1797         vaesenc xmm12,xmm12,xmm14
    1798         vmovups xmm15,XMMWORD[((-80))+r15]
    1799         and     edi,eax
    1800         vpxor   xmm0,xmm0,xmm8
    1801         xor     eax,ebx
    1802         add     edx,ebp
    1803         shrd    ebp,ebp,7
    1804         xor     edi,ebx
    1805         vpsrld  xmm8,xmm0,30
    1806         vmovdqa XMMWORD[48+rsp],xmm9
    1807         mov     esi,edx
    1808         add     ecx,DWORD[4+rsp]
    1809         xor     ebp,eax
    1810         shld    edx,edx,5
    1811         vpslld  xmm0,xmm0,2
    1812         add     ecx,edi
    1813         and     esi,ebp
    1814         xor     ebp,eax
    1815         add     ecx,edx
    1816         shrd    edx,edx,7
    1817         xor     esi,eax
    1818         mov     edi,ecx
    1819         add     ebx,DWORD[8+rsp]
    1820         vaesenc xmm12,xmm12,xmm15
    1821         vmovups xmm14,XMMWORD[((-64))+r15]
    1822         vpor    xmm0,xmm0,xmm8
    1823         xor     edx,ebp
    1824         shld    ecx,ecx,5
    1825         add     ebx,esi
    1826         and     edi,edx
    1827         xor     edx,ebp
    1828         add     ebx,ecx
    1829         add     eax,DWORD[12+rsp]
    1830         xor     edi,ebp
    1831         mov     esi,ebx
    1832         shld    ebx,ebx,5
    1833         add     eax,edi
    1834         xor     esi,edx
    1835         shrd    ecx,ecx,7
    1836         add     eax,ebx
    1837         vpalignr        xmm8,xmm0,xmm7,8
    1838         vpxor   xmm1,xmm1,xmm5
    1839         add     ebp,DWORD[16+rsp]
    1840         vaesenc xmm12,xmm12,xmm14
    1841         vmovups xmm15,XMMWORD[((-48))+r15]
    1842         xor     esi,ecx
    1843         mov     edi,eax
    1844         shld    eax,eax,5
    1845         vpxor   xmm1,xmm1,xmm2
    1846         add     ebp,esi
    1847         xor     edi,ecx
    1848         vpaddd  xmm9,xmm10,xmm0
    1849         shrd    ebx,ebx,7
    1850         add     ebp,eax
    1851         vpxor   xmm1,xmm1,xmm8
    1852         add     edx,DWORD[20+rsp]
    1853         xor     edi,ebx
    1854         mov     esi,ebp
    1855         shld    ebp,ebp,5
    1856         vpsrld  xmm8,xmm1,30
    1857         vmovdqa XMMWORD[rsp],xmm9
    1858         add     edx,edi
    1859         xor     esi,ebx
    1860         shrd    eax,eax,7
    1861         add     edx,ebp
    1862         vpslld  xmm1,xmm1,2
    1863         add     ecx,DWORD[24+rsp]
    1864         xor     esi,eax
    1865         mov     edi,edx
    1866         shld    edx,edx,5
    1867         add     ecx,esi
    1868         vaesenc xmm12,xmm12,xmm15
    1869         vmovups xmm14,XMMWORD[((-32))+r15]
    1870         xor     edi,eax
    1871         shrd    ebp,ebp,7
    1872         add     ecx,edx
    1873         vpor    xmm1,xmm1,xmm8
    1874         add     ebx,DWORD[28+rsp]
    1875         xor     edi,ebp
    1876         mov     esi,ecx
    1877         shld    ecx,ecx,5
    1878         add     ebx,edi
    1879         xor     esi,ebp
    1880         shrd    edx,edx,7
    1881         add     ebx,ecx
    1882         vpalignr        xmm8,xmm1,xmm0,8
    1883         vpxor   xmm2,xmm2,xmm6
    1884         add     eax,DWORD[32+rsp]
    1885         xor     esi,edx
    1886         mov     edi,ebx
    1887         shld    ebx,ebx,5
    1888         vpxor   xmm2,xmm2,xmm3
    1889         add     eax,esi
    1890         xor     edi,edx
    1891         vpaddd  xmm9,xmm10,xmm1
    1892         vmovdqa xmm10,XMMWORD[32+r11]
    1893         shrd    ecx,ecx,7
    1894         add     eax,ebx
    1895         vpxor   xmm2,xmm2,xmm8
    1896         add     ebp,DWORD[36+rsp]
    1897         vaesenc xmm12,xmm12,xmm14
    1898         vmovups xmm15,XMMWORD[((-16))+r15]
    1899         xor     edi,ecx
    1900         mov     esi,eax
    1901         shld    eax,eax,5
    1902         vpsrld  xmm8,xmm2,30
    1903         vmovdqa XMMWORD[16+rsp],xmm9
    1904         add     ebp,edi
    1905         xor     esi,ecx
    1906         shrd    ebx,ebx,7
    1907         add     ebp,eax
    1908         vpslld  xmm2,xmm2,2
    1909         add     edx,DWORD[40+rsp]
    1910         xor     esi,ebx
    1911         mov     edi,ebp
    1912         shld    ebp,ebp,5
    1913         add     edx,esi
    1914         xor     edi,ebx
    1915         shrd    eax,eax,7
    1916         add     edx,ebp
    1917         vpor    xmm2,xmm2,xmm8
    1918         add     ecx,DWORD[44+rsp]
    1919         xor     edi,eax
    1920         mov     esi,edx
    1921         shld    edx,edx,5
    1922         add     ecx,edi
    1923         vaesenc xmm12,xmm12,xmm15
    1924         vmovups xmm14,XMMWORD[r15]
    1925         xor     esi,eax
    1926         shrd    ebp,ebp,7
    1927         add     ecx,edx
    1928         vpalignr        xmm8,xmm2,xmm1,8
    1929         vpxor   xmm3,xmm3,xmm7
    1930         add     ebx,DWORD[48+rsp]
    1931         xor     esi,ebp
    1932         mov     edi,ecx
    1933         shld    ecx,ecx,5
    1934         vpxor   xmm3,xmm3,xmm4
    1935         add     ebx,esi
    1936         xor     edi,ebp
    1937         vpaddd  xmm9,xmm10,xmm2
    1938         shrd    edx,edx,7
    1939         add     ebx,ecx
    1940         vpxor   xmm3,xmm3,xmm8
    1941         add     eax,DWORD[52+rsp]
    1942         xor     edi,edx
    1943         mov     esi,ebx
    1944         shld    ebx,ebx,5
    1945         vpsrld  xmm8,xmm3,30
    1946         vmovdqa XMMWORD[32+rsp],xmm9
    1947         add     eax,edi
    1948         xor     esi,edx
    1949         shrd    ecx,ecx,7
    1950         add     eax,ebx
    1951         vpslld  xmm3,xmm3,2
    1952         add     ebp,DWORD[56+rsp]
    1953         vaesenc xmm12,xmm12,xmm14
    1954         vmovups xmm15,XMMWORD[16+r15]
    1955         xor     esi,ecx
    1956         mov     edi,eax
    1957         shld    eax,eax,5
    1958         add     ebp,esi
    1959         xor     edi,ecx
    1960         shrd    ebx,ebx,7
    1961         add     ebp,eax
    1962         vpor    xmm3,xmm3,xmm8
    1963         add     edx,DWORD[60+rsp]
    1964         xor     edi,ebx
    1965         mov     esi,ebp
    1966         shld    ebp,ebp,5
    1967         add     edx,edi
    1968         xor     esi,ebx
    1969         shrd    eax,eax,7
    1970         add     edx,ebp
    1971         vpalignr        xmm8,xmm3,xmm2,8
    1972         vpxor   xmm4,xmm4,xmm0
    1973         add     ecx,DWORD[rsp]
    1974         xor     esi,eax
    1975         mov     edi,edx
    1976         shld    edx,edx,5
    1977         vpxor   xmm4,xmm4,xmm5
    1978         add     ecx,esi
    1979         vaesenc xmm12,xmm12,xmm15
    1980         vmovups xmm14,XMMWORD[32+r15]
    1981         xor     edi,eax
    1982         vpaddd  xmm9,xmm10,xmm3
    1983         shrd    ebp,ebp,7
    1984         add     ecx,edx
    1985         vpxor   xmm4,xmm4,xmm8
    1986         add     ebx,DWORD[4+rsp]
    1987         xor     edi,ebp
    1988         mov     esi,ecx
    1989         shld    ecx,ecx,5
    1990         vpsrld  xmm8,xmm4,30
    1991         vmovdqa XMMWORD[48+rsp],xmm9
    1992         add     ebx,edi
    1993         xor     esi,ebp
    1994         shrd    edx,edx,7
    1995         add     ebx,ecx
    1996         vpslld  xmm4,xmm4,2
    1997         add     eax,DWORD[8+rsp]
    1998         xor     esi,edx
    1999         mov     edi,ebx
    2000         shld    ebx,ebx,5
    2001         add     eax,esi
    2002         xor     edi,edx
    2003         shrd    ecx,ecx,7
    2004         add     eax,ebx
    2005         vpor    xmm4,xmm4,xmm8
    2006         add     ebp,DWORD[12+rsp]
    2007         vaesenc xmm12,xmm12,xmm14
    2008         vmovups xmm15,XMMWORD[48+r15]
    2009         xor     edi,ecx
    2010         mov     esi,eax
    2011         shld    eax,eax,5
    2012         add     ebp,edi
    2013         xor     esi,ecx
    2014         shrd    ebx,ebx,7
    2015         add     ebp,eax
    2016         vpalignr        xmm8,xmm4,xmm3,8
    2017         vpxor   xmm5,xmm5,xmm1
    2018         add     edx,DWORD[16+rsp]
    2019         xor     esi,ebx
    2020         mov     edi,ebp
    2021         shld    ebp,ebp,5
    2022         vpxor   xmm5,xmm5,xmm6
    2023         add     edx,esi
    2024         xor     edi,ebx
    2025         vpaddd  xmm9,xmm10,xmm4
    2026         shrd    eax,eax,7
    2027         add     edx,ebp
    2028         vpxor   xmm5,xmm5,xmm8
    2029         add     ecx,DWORD[20+rsp]
    2030         xor     edi,eax
    2031         mov     esi,edx
    2032         shld    edx,edx,5
    2033         vpsrld  xmm8,xmm5,30
    2034         vmovdqa XMMWORD[rsp],xmm9
    2035         add     ecx,edi
    2036         cmp     r8d,11
    2037         jb      NEAR $L$vaesenclast7
    2038         vaesenc xmm12,xmm12,xmm15
    2039         vmovups xmm14,XMMWORD[64+r15]
    2040         vaesenc xmm12,xmm12,xmm14
    2041         vmovups xmm15,XMMWORD[80+r15]
    2042         je      NEAR $L$vaesenclast7
    2043         vaesenc xmm12,xmm12,xmm15
    2044         vmovups xmm14,XMMWORD[96+r15]
    2045         vaesenc xmm12,xmm12,xmm14
    2046         vmovups xmm15,XMMWORD[112+r15]
    2047 $L$vaesenclast7:
    2048         vaesenclast     xmm12,xmm12,xmm15
    2049         vmovups xmm15,XMMWORD[((-112))+r15]
    2050         vmovups xmm14,XMMWORD[((16-112))+r15]
    2051         xor     esi,eax
    2052         shrd    ebp,ebp,7
    2053         add     ecx,edx
    2054         vpslld  xmm5,xmm5,2
    2055         add     ebx,DWORD[24+rsp]
    2056         xor     esi,ebp
    2057         mov     edi,ecx
    2058         shld    ecx,ecx,5
    2059         add     ebx,esi
    2060         xor     edi,ebp
    2061         shrd    edx,edx,7
    2062         add     ebx,ecx
    2063         vpor    xmm5,xmm5,xmm8
    2064         add     eax,DWORD[28+rsp]
    2065         shrd    ecx,ecx,7
    2066         mov     esi,ebx
    2067         xor     edi,edx
    2068         shld    ebx,ebx,5
    2069         add     eax,edi
    2070         xor     esi,ecx
    2071         xor     ecx,edx
    2072         add     eax,ebx
    2073         vpalignr        xmm8,xmm5,xmm4,8
    2074         vpxor   xmm6,xmm6,xmm2
    2075         add     ebp,DWORD[32+rsp]
    2076         vmovdqu xmm13,XMMWORD[32+r12]
    2077         vpxor   xmm13,xmm13,xmm15
    2078         vmovups XMMWORD[16+r12*1+r13],xmm12
    2079         vpxor   xmm12,xmm12,xmm13
    2080         vaesenc xmm12,xmm12,xmm14
    2081         vmovups xmm15,XMMWORD[((-80))+r15]
    2082         and     esi,ecx
    2083         xor     ecx,edx
    2084         shrd    ebx,ebx,7
    2085         vpxor   xmm6,xmm6,xmm7
    2086         mov     edi,eax
    2087         xor     esi,ecx
    2088         vpaddd  xmm9,xmm10,xmm5
    2089         shld    eax,eax,5
    2090         add     ebp,esi
    2091         vpxor   xmm6,xmm6,xmm8
    2092         xor     edi,ebx
    2093         xor     ebx,ecx
    2094         add     ebp,eax
    2095         add     edx,DWORD[36+rsp]
    2096         vpsrld  xmm8,xmm6,30
    2097         vmovdqa XMMWORD[16+rsp],xmm9
    2098         and     edi,ebx
    2099         xor     ebx,ecx
    2100         shrd    eax,eax,7
    2101         mov     esi,ebp
    2102         vpslld  xmm6,xmm6,2
    2103         xor     edi,ebx
    2104         shld    ebp,ebp,5
    2105         add     edx,edi
    2106         vaesenc xmm12,xmm12,xmm15
    2107         vmovups xmm14,XMMWORD[((-64))+r15]
    2108         xor     esi,eax
    2109         xor     eax,ebx
    2110         add     edx,ebp
    2111         add     ecx,DWORD[40+rsp]
    2112         and     esi,eax
    2113         vpor    xmm6,xmm6,xmm8
    2114         xor     eax,ebx
    2115         shrd    ebp,ebp,7
    2116         mov     edi,edx
    2117         xor     esi,eax
    2118         shld    edx,edx,5
    2119         add     ecx,esi
    2120         xor     edi,ebp
    2121         xor     ebp,eax
    2122         add     ecx,edx
    2123         add     ebx,DWORD[44+rsp]
    2124         and     edi,ebp
    2125         xor     ebp,eax
    2126         shrd    edx,edx,7
    2127         vaesenc xmm12,xmm12,xmm14
    2128         vmovups xmm15,XMMWORD[((-48))+r15]
    2129         mov     esi,ecx
    2130         xor     edi,ebp
    2131         shld    ecx,ecx,5
    2132         add     ebx,edi
    2133         xor     esi,edx
    2134         xor     edx,ebp
    2135         add     ebx,ecx
    2136         vpalignr        xmm8,xmm6,xmm5,8
    2137         vpxor   xmm7,xmm7,xmm3
    2138         add     eax,DWORD[48+rsp]
    2139         and     esi,edx
    2140         xor     edx,ebp
    2141         shrd    ecx,ecx,7
    2142         vpxor   xmm7,xmm7,xmm0
    2143         mov     edi,ebx
    2144         xor     esi,edx
    2145         vpaddd  xmm9,xmm10,xmm6
    2146         vmovdqa xmm10,XMMWORD[48+r11]
    2147         shld    ebx,ebx,5
    2148         add     eax,esi
    2149         vpxor   xmm7,xmm7,xmm8
    2150         xor     edi,ecx
    2151         xor     ecx,edx
    2152         add     eax,ebx
    2153         add     ebp,DWORD[52+rsp]
    2154         vaesenc xmm12,xmm12,xmm15
    2155         vmovups xmm14,XMMWORD[((-32))+r15]
    2156         vpsrld  xmm8,xmm7,30
    2157         vmovdqa XMMWORD[32+rsp],xmm9
    2158         and     edi,ecx
    2159         xor     ecx,edx
    2160         shrd    ebx,ebx,7
    2161         mov     esi,eax
    2162         vpslld  xmm7,xmm7,2
    2163         xor     edi,ecx
    2164         shld    eax,eax,5
    2165         add     ebp,edi
    2166         xor     esi,ebx
    2167         xor     ebx,ecx
    2168         add     ebp,eax
    2169         add     edx,DWORD[56+rsp]
    2170         and     esi,ebx
    2171         vpor    xmm7,xmm7,xmm8
    2172         xor     ebx,ecx
    2173         shrd    eax,eax,7
    2174         mov     edi,ebp
    2175         xor     esi,ebx
    2176         shld    ebp,ebp,5
    2177         add     edx,esi
    2178         vaesenc xmm12,xmm12,xmm14
    2179         vmovups xmm15,XMMWORD[((-16))+r15]
    2180         xor     edi,eax
    2181         xor     eax,ebx
    2182         add     edx,ebp
    2183         add     ecx,DWORD[60+rsp]
    2184         and     edi,eax
    2185         xor     eax,ebx
    2186         shrd    ebp,ebp,7
    2187         mov     esi,edx
    2188         xor     edi,eax
    2189         shld    edx,edx,5
    2190         add     ecx,edi
    2191         xor     esi,ebp
    2192         xor     ebp,eax
    2193         add     ecx,edx
    2194         vpalignr        xmm8,xmm7,xmm6,8
    2195         vpxor   xmm0,xmm0,xmm4
    2196         add     ebx,DWORD[rsp]
    2197         and     esi,ebp
    2198         xor     ebp,eax
    2199         shrd    edx,edx,7
    2200         vaesenc xmm12,xmm12,xmm15
    2201         vmovups xmm14,XMMWORD[r15]
    2202         vpxor   xmm0,xmm0,xmm1
    2203         mov     edi,ecx
    2204         xor     esi,ebp
    2205         vpaddd  xmm9,xmm10,xmm7
    2206         shld    ecx,ecx,5
    2207         add     ebx,esi
    2208         vpxor   xmm0,xmm0,xmm8
    2209         xor     edi,edx
    2210         xor     edx,ebp
    2211         add     ebx,ecx
    2212         add     eax,DWORD[4+rsp]
    2213         vpsrld  xmm8,xmm0,30
    2214         vmovdqa XMMWORD[48+rsp],xmm9
    2215         and     edi,edx
    2216         xor     edx,ebp
    2217         shrd    ecx,ecx,7
    2218         mov     esi,ebx
    2219         vpslld  xmm0,xmm0,2
    2220         xor     edi,edx
    2221         shld    ebx,ebx,5
    2222         add     eax,edi
    2223         xor     esi,ecx
    2224         xor     ecx,edx
    2225         add     eax,ebx
    2226         add     ebp,DWORD[8+rsp]
    2227         vaesenc xmm12,xmm12,xmm14
    2228         vmovups xmm15,XMMWORD[16+r15]
    2229         and     esi,ecx
    2230         vpor    xmm0,xmm0,xmm8
    2231         xor     ecx,edx
    2232         shrd    ebx,ebx,7
    2233         mov     edi,eax
    2234         xor     esi,ecx
    2235         shld    eax,eax,5
    2236         add     ebp,esi
    2237         xor     edi,ebx
    2238         xor     ebx,ecx
    2239         add     ebp,eax
    2240         add     edx,DWORD[12+rsp]
    2241         and     edi,ebx
    2242         xor     ebx,ecx
    2243         shrd    eax,eax,7
    2244         mov     esi,ebp
    2245         xor     edi,ebx
    2246         shld    ebp,ebp,5
    2247         add     edx,edi
    2248         vaesenc xmm12,xmm12,xmm15
    2249         vmovups xmm14,XMMWORD[32+r15]
    2250         xor     esi,eax
    2251         xor     eax,ebx
    2252         add     edx,ebp
    2253         vpalignr        xmm8,xmm0,xmm7,8
    2254         vpxor   xmm1,xmm1,xmm5
    2255         add     ecx,DWORD[16+rsp]
    2256         and     esi,eax
    2257         xor     eax,ebx
    2258         shrd    ebp,ebp,7
    2259         vpxor   xmm1,xmm1,xmm2
    2260         mov     edi,edx
    2261         xor     esi,eax
    2262         vpaddd  xmm9,xmm10,xmm0
    2263         shld    edx,edx,5
    2264         add     ecx,esi
    2265         vpxor   xmm1,xmm1,xmm8
    2266         xor     edi,ebp
    2267         xor     ebp,eax
    2268         add     ecx,edx
    2269         add     ebx,DWORD[20+rsp]
    2270         vpsrld  xmm8,xmm1,30
    2271         vmovdqa XMMWORD[rsp],xmm9
    2272         and     edi,ebp
    2273         xor     ebp,eax
    2274         shrd    edx,edx,7
    2275         vaesenc xmm12,xmm12,xmm14
    2276         vmovups xmm15,XMMWORD[48+r15]
    2277         mov     esi,ecx
    2278         vpslld  xmm1,xmm1,2
    2279         xor     edi,ebp
    2280         shld    ecx,ecx,5
    2281         add     ebx,edi
    2282         xor     esi,edx
    2283         xor     edx,ebp
    2284         add     ebx,ecx
    2285         add     eax,DWORD[24+rsp]
    2286         and     esi,edx
    2287         vpor    xmm1,xmm1,xmm8
    2288         xor     edx,ebp
    2289         shrd    ecx,ecx,7
    2290         mov     edi,ebx
    2291         xor     esi,edx
    2292         shld    ebx,ebx,5
    2293         add     eax,esi
    2294         xor     edi,ecx
    2295         xor     ecx,edx
    2296         add     eax,ebx
    2297         add     ebp,DWORD[28+rsp]
    2298         cmp     r8d,11
    2299         jb      NEAR $L$vaesenclast8
    2300         vaesenc xmm12,xmm12,xmm15
    2301         vmovups xmm14,XMMWORD[64+r15]
    2302         vaesenc xmm12,xmm12,xmm14
    2303         vmovups xmm15,XMMWORD[80+r15]
    2304         je      NEAR $L$vaesenclast8
    2305         vaesenc xmm12,xmm12,xmm15
    2306         vmovups xmm14,XMMWORD[96+r15]
    2307         vaesenc xmm12,xmm12,xmm14
    2308         vmovups xmm15,XMMWORD[112+r15]
    2309 $L$vaesenclast8:
    2310         vaesenclast     xmm12,xmm12,xmm15
    2311         vmovups xmm15,XMMWORD[((-112))+r15]
    2312         vmovups xmm14,XMMWORD[((16-112))+r15]
    2313         and     edi,ecx
    2314         xor     ecx,edx
    2315         shrd    ebx,ebx,7
    2316         mov     esi,eax
    2317         xor     edi,ecx
    2318         shld    eax,eax,5
    2319         add     ebp,edi
    2320         xor     esi,ebx
    2321         xor     ebx,ecx
    2322         add     ebp,eax
    2323         vpalignr        xmm8,xmm1,xmm0,8
    2324         vpxor   xmm2,xmm2,xmm6
    2325         add     edx,DWORD[32+rsp]
    2326         and     esi,ebx
    2327         xor     ebx,ecx
    2328         shrd    eax,eax,7
    2329         vpxor   xmm2,xmm2,xmm3
    2330         mov     edi,ebp
    2331         xor     esi,ebx
    2332         vpaddd  xmm9,xmm10,xmm1
    2333         shld    ebp,ebp,5
    2334         add     edx,esi
    2335         vmovdqu xmm13,XMMWORD[48+r12]
    2336         vpxor   xmm13,xmm13,xmm15
    2337         vmovups XMMWORD[32+r12*1+r13],xmm12
    2338         vpxor   xmm12,xmm12,xmm13
    2339         vaesenc xmm12,xmm12,xmm14
    2340         vmovups xmm15,XMMWORD[((-80))+r15]
    2341         vpxor   xmm2,xmm2,xmm8
    2342         xor     edi,eax
    2343         xor     eax,ebx
    2344         add     edx,ebp
    2345         add     ecx,DWORD[36+rsp]
    2346         vpsrld  xmm8,xmm2,30
    2347         vmovdqa XMMWORD[16+rsp],xmm9
    2348         and     edi,eax
    2349         xor     eax,ebx
    2350         shrd    ebp,ebp,7
    2351         mov     esi,edx
    2352         vpslld  xmm2,xmm2,2
    2353         xor     edi,eax
    2354         shld    edx,edx,5
    2355         add     ecx,edi
    2356         xor     esi,ebp
    2357         xor     ebp,eax
    2358         add     ecx,edx
    2359         add     ebx,DWORD[40+rsp]
    2360         and     esi,ebp
    2361         vpor    xmm2,xmm2,xmm8
    2362         xor     ebp,eax
    2363         shrd    edx,edx,7
    2364         vaesenc xmm12,xmm12,xmm15
    2365         vmovups xmm14,XMMWORD[((-64))+r15]
    2366         mov     edi,ecx
    2367         xor     esi,ebp
    2368         shld    ecx,ecx,5
    2369         add     ebx,esi
    2370         xor     edi,edx
    2371         xor     edx,ebp
    2372         add     ebx,ecx
    2373         add     eax,DWORD[44+rsp]
    2374         and     edi,edx
    2375         xor     edx,ebp
    2376         shrd    ecx,ecx,7
    2377         mov     esi,ebx
    2378         xor     edi,edx
    2379         shld    ebx,ebx,5
    2380         add     eax,edi
    2381         xor     esi,edx
    2382         add     eax,ebx
    2383         vpalignr        xmm8,xmm2,xmm1,8
    2384         vpxor   xmm3,xmm3,xmm7
    2385         add     ebp,DWORD[48+rsp]
    2386         vaesenc xmm12,xmm12,xmm14
    2387         vmovups xmm15,XMMWORD[((-48))+r15]
    2388         xor     esi,ecx
    2389         mov     edi,eax
    2390         shld    eax,eax,5
    2391         vpxor   xmm3,xmm3,xmm4
    2392         add     ebp,esi
    2393         xor     edi,ecx
    2394         vpaddd  xmm9,xmm10,xmm2
    2395         shrd    ebx,ebx,7
    2396         add     ebp,eax
    2397         vpxor   xmm3,xmm3,xmm8
    2398         add     edx,DWORD[52+rsp]
    2399         xor     edi,ebx
    2400         mov     esi,ebp
    2401         shld    ebp,ebp,5
    2402         vpsrld  xmm8,xmm3,30
    2403         vmovdqa XMMWORD[32+rsp],xmm9
    2404         add     edx,edi
    2405         xor     esi,ebx
    2406         shrd    eax,eax,7
    2407         add     edx,ebp
    2408         vpslld  xmm3,xmm3,2
    2409         add     ecx,DWORD[56+rsp]
    2410         xor     esi,eax
    2411         mov     edi,edx
    2412         shld    edx,edx,5
    2413         add     ecx,esi
    2414         vaesenc xmm12,xmm12,xmm15
    2415         vmovups xmm14,XMMWORD[((-32))+r15]
    2416         xor     edi,eax
    2417         shrd    ebp,ebp,7
    2418         add     ecx,edx
    2419         vpor    xmm3,xmm3,xmm8
    2420         add     ebx,DWORD[60+rsp]
    2421         xor     edi,ebp
    2422         mov     esi,ecx
    2423         shld    ecx,ecx,5
    2424         add     ebx,edi
    2425         xor     esi,ebp
    2426         shrd    edx,edx,7
    2427         add     ebx,ecx
    2428         add     eax,DWORD[rsp]
    2429         vpaddd  xmm9,xmm10,xmm3
    2430         xor     esi,edx
    2431         mov     edi,ebx
    2432         shld    ebx,ebx,5
    2433         add     eax,esi
    2434         vmovdqa XMMWORD[48+rsp],xmm9
    2435         xor     edi,edx
    2436         shrd    ecx,ecx,7
    2437         add     eax,ebx
    2438         add     ebp,DWORD[4+rsp]
    2439         vaesenc xmm12,xmm12,xmm14
    2440         vmovups xmm15,XMMWORD[((-16))+r15]
    2441         xor     edi,ecx
    2442         mov     esi,eax
    2443         shld    eax,eax,5
    2444         add     ebp,edi
    2445         xor     esi,ecx
    2446         shrd    ebx,ebx,7
    2447         add     ebp,eax
    2448         add     edx,DWORD[8+rsp]
    2449         xor     esi,ebx
    2450         mov     edi,ebp
    2451         shld    ebp,ebp,5
    2452         add     edx,esi
    2453         xor     edi,ebx
    2454         shrd    eax,eax,7
    2455         add     edx,ebp
    2456         add     ecx,DWORD[12+rsp]
    2457         xor     edi,eax
    2458         mov     esi,edx
    2459         shld    edx,edx,5
    2460         add     ecx,edi
    2461         vaesenc xmm12,xmm12,xmm15
    2462         vmovups xmm14,XMMWORD[r15]
    2463         xor     esi,eax
    2464         shrd    ebp,ebp,7
    2465         add     ecx,edx
    2466         cmp     r10,r14
    2467         je      NEAR $L$done_avx
    2468         vmovdqa xmm9,XMMWORD[64+r11]
    2469         vmovdqa xmm10,XMMWORD[r11]
    2470         vmovdqu xmm0,XMMWORD[r10]
    2471         vmovdqu xmm1,XMMWORD[16+r10]
    2472         vmovdqu xmm2,XMMWORD[32+r10]
    2473         vmovdqu xmm3,XMMWORD[48+r10]
    2474         vpshufb xmm0,xmm0,xmm9
    2475         add     r10,64
    2476         add     ebx,DWORD[16+rsp]
    2477         xor     esi,ebp
    2478         vpshufb xmm1,xmm1,xmm9
    2479         mov     edi,ecx
    2480         shld    ecx,ecx,5
    2481         vpaddd  xmm8,xmm0,xmm10
    2482         add     ebx,esi
    2483         xor     edi,ebp
    2484         shrd    edx,edx,7
    2485         add     ebx,ecx
    2486         vmovdqa XMMWORD[rsp],xmm8
    2487         add     eax,DWORD[20+rsp]
    2488         xor     edi,edx
    2489         mov     esi,ebx
    2490         shld    ebx,ebx,5
    2491         add     eax,edi
    2492         xor     esi,edx
    2493         shrd    ecx,ecx,7
    2494         add     eax,ebx
    2495         add     ebp,DWORD[24+rsp]
    2496         vaesenc xmm12,xmm12,xmm14
    2497         vmovups xmm15,XMMWORD[16+r15]
    2498         xor     esi,ecx
    2499         mov     edi,eax
    2500         shld    eax,eax,5
    2501         add     ebp,esi
    2502         xor     edi,ecx
    2503         shrd    ebx,ebx,7
    2504         add     ebp,eax
    2505         add     edx,DWORD[28+rsp]
    2506         xor     edi,ebx
    2507         mov     esi,ebp
    2508         shld    ebp,ebp,5
    2509         add     edx,edi
    2510         xor     esi,ebx
    2511         shrd    eax,eax,7
    2512         add     edx,ebp
    2513         add     ecx,DWORD[32+rsp]
    2514         xor     esi,eax
    2515         vpshufb xmm2,xmm2,xmm9
    2516         mov     edi,edx
    2517         shld    edx,edx,5
    2518         vpaddd  xmm8,xmm1,xmm10
    2519         add     ecx,esi
    2520         vaesenc xmm12,xmm12,xmm15
    2521         vmovups xmm14,XMMWORD[32+r15]
    2522         xor     edi,eax
    2523         shrd    ebp,ebp,7
    2524         add     ecx,edx
    2525         vmovdqa XMMWORD[16+rsp],xmm8
    2526         add     ebx,DWORD[36+rsp]
    2527         xor     edi,ebp
    2528         mov     esi,ecx
    2529         shld    ecx,ecx,5
    2530         add     ebx,edi
    2531         xor     esi,ebp
    2532         shrd    edx,edx,7
    2533         add     ebx,ecx
    2534         add     eax,DWORD[40+rsp]
    2535         xor     esi,edx
    2536         mov     edi,ebx
    2537         shld    ebx,ebx,5
    2538         add     eax,esi
    2539         xor     edi,edx
    2540         shrd    ecx,ecx,7
    2541         add     eax,ebx
    2542         add     ebp,DWORD[44+rsp]
    2543         vaesenc xmm12,xmm12,xmm14
    2544         vmovups xmm15,XMMWORD[48+r15]
    2545         xor     edi,ecx
    2546         mov     esi,eax
    2547         shld    eax,eax,5
    2548         add     ebp,edi
    2549         xor     esi,ecx
    2550         shrd    ebx,ebx,7
    2551         add     ebp,eax
    2552         add     edx,DWORD[48+rsp]
    2553         xor     esi,ebx
    2554         vpshufb xmm3,xmm3,xmm9
    2555         mov     edi,ebp
    2556         shld    ebp,ebp,5
    2557         vpaddd  xmm8,xmm2,xmm10
    2558         add     edx,esi
    2559         xor     edi,ebx
    2560         shrd    eax,eax,7
    2561         add     edx,ebp
    2562         vmovdqa XMMWORD[32+rsp],xmm8
    2563         add     ecx,DWORD[52+rsp]
    2564         xor     edi,eax
    2565         mov     esi,edx
    2566         shld    edx,edx,5
    2567         add     ecx,edi
    2568         cmp     r8d,11
    2569         jb      NEAR $L$vaesenclast9
    2570         vaesenc xmm12,xmm12,xmm15
    2571         vmovups xmm14,XMMWORD[64+r15]
    2572         vaesenc xmm12,xmm12,xmm14
    2573         vmovups xmm15,XMMWORD[80+r15]
    2574         je      NEAR $L$vaesenclast9
    2575         vaesenc xmm12,xmm12,xmm15
    2576         vmovups xmm14,XMMWORD[96+r15]
    2577         vaesenc xmm12,xmm12,xmm14
    2578         vmovups xmm15,XMMWORD[112+r15]
    2579 $L$vaesenclast9:
    2580         vaesenclast     xmm12,xmm12,xmm15
    2581         vmovups xmm15,XMMWORD[((-112))+r15]
    2582         vmovups xmm14,XMMWORD[((16-112))+r15]
    2583         xor     esi,eax
    2584         shrd    ebp,ebp,7
    2585         add     ecx,edx
    2586         add     ebx,DWORD[56+rsp]
    2587         xor     esi,ebp
    2588         mov     edi,ecx
    2589         shld    ecx,ecx,5
    2590         add     ebx,esi
    2591         xor     edi,ebp
    2592         shrd    edx,edx,7
    2593         add     ebx,ecx
    2594         add     eax,DWORD[60+rsp]
    2595         xor     edi,edx
    2596         mov     esi,ebx
    2597         shld    ebx,ebx,5
    2598         add     eax,edi
    2599         shrd    ecx,ecx,7
    2600         add     eax,ebx
    2601         vmovups XMMWORD[48+r12*1+r13],xmm12
    2602         lea     r12,[64+r12]
    2603 
    2604         add     eax,DWORD[r9]
    2605         add     esi,DWORD[4+r9]
    2606         add     ecx,DWORD[8+r9]
    2607         add     edx,DWORD[12+r9]
    2608         mov     DWORD[r9],eax
    2609         add     ebp,DWORD[16+r9]
    2610         mov     DWORD[4+r9],esi
    2611         mov     ebx,esi
    2612         mov     DWORD[8+r9],ecx
    2613         mov     edi,ecx
    2614         mov     DWORD[12+r9],edx
    2615         xor     edi,edx
    2616         mov     DWORD[16+r9],ebp
    2617         and     esi,edi
    2618         jmp     NEAR $L$oop_avx
    2619 
    2620 $L$done_avx:
    2621         add     ebx,DWORD[16+rsp]
    2622         xor     esi,ebp
    2623         mov     edi,ecx
    2624         shld    ecx,ecx,5
    2625         add     ebx,esi
    2626         xor     edi,ebp
    2627         shrd    edx,edx,7
    2628         add     ebx,ecx
    2629         add     eax,DWORD[20+rsp]
    2630         xor     edi,edx
    2631         mov     esi,ebx
    2632         shld    ebx,ebx,5
    2633         add     eax,edi
    2634         xor     esi,edx
    2635         shrd    ecx,ecx,7
    2636         add     eax,ebx
    2637         add     ebp,DWORD[24+rsp]
    2638         vaesenc xmm12,xmm12,xmm14
    2639         vmovups xmm15,XMMWORD[16+r15]
    2640         xor     esi,ecx
    2641         mov     edi,eax
    2642         shld    eax,eax,5
    2643         add     ebp,esi
    2644         xor     edi,ecx
    2645         shrd    ebx,ebx,7
    2646         add     ebp,eax
    2647         add     edx,DWORD[28+rsp]
    2648         xor     edi,ebx
    2649         mov     esi,ebp
    2650         shld    ebp,ebp,5
    2651         add     edx,edi
    2652         xor     esi,ebx
    2653         shrd    eax,eax,7
    2654         add     edx,ebp
    2655         add     ecx,DWORD[32+rsp]
    2656         xor     esi,eax
    2657         mov     edi,edx
    2658         shld    edx,edx,5
    2659         add     ecx,esi
    2660         vaesenc xmm12,xmm12,xmm15
    2661         vmovups xmm14,XMMWORD[32+r15]
    2662         xor     edi,eax
    2663         shrd    ebp,ebp,7
    2664         add     ecx,edx
    2665         add     ebx,DWORD[36+rsp]
    2666         xor     edi,ebp
    2667         mov     esi,ecx
    2668         shld    ecx,ecx,5
    2669         add     ebx,edi
    2670         xor     esi,ebp
    2671         shrd    edx,edx,7
    2672         add     ebx,ecx
    2673         add     eax,DWORD[40+rsp]
    2674         xor     esi,edx
    2675         mov     edi,ebx
    2676         shld    ebx,ebx,5
    2677         add     eax,esi
    2678         xor     edi,edx
    2679         shrd    ecx,ecx,7
    2680         add     eax,ebx
    2681         add     ebp,DWORD[44+rsp]
    2682         vaesenc xmm12,xmm12,xmm14
    2683         vmovups xmm15,XMMWORD[48+r15]
    2684         xor     edi,ecx
    2685         mov     esi,eax
    2686         shld    eax,eax,5
    2687         add     ebp,edi
    2688         xor     esi,ecx
    2689         shrd    ebx,ebx,7
    2690         add     ebp,eax
    2691         add     edx,DWORD[48+rsp]
    2692         xor     esi,ebx
    2693         mov     edi,ebp
    2694         shld    ebp,ebp,5
    2695         add     edx,esi
    2696         xor     edi,ebx
    2697         shrd    eax,eax,7
    2698         add     edx,ebp
    2699         add     ecx,DWORD[52+rsp]
    2700         xor     edi,eax
    2701         mov     esi,edx
    2702         shld    edx,edx,5
    2703         add     ecx,edi
    2704         cmp     r8d,11
    2705         jb      NEAR $L$vaesenclast10
    2706         vaesenc xmm12,xmm12,xmm15
    2707         vmovups xmm14,XMMWORD[64+r15]
    2708         vaesenc xmm12,xmm12,xmm14
    2709         vmovups xmm15,XMMWORD[80+r15]
    2710         je      NEAR $L$vaesenclast10
    2711         vaesenc xmm12,xmm12,xmm15
    2712         vmovups xmm14,XMMWORD[96+r15]
    2713         vaesenc xmm12,xmm12,xmm14
    2714         vmovups xmm15,XMMWORD[112+r15]
    2715 $L$vaesenclast10:
    2716         vaesenclast     xmm12,xmm12,xmm15
    2717         vmovups xmm15,XMMWORD[((-112))+r15]
    2718         vmovups xmm14,XMMWORD[((16-112))+r15]
    2719         xor     esi,eax
    2720         shrd    ebp,ebp,7
    2721         add     ecx,edx
    2722         add     ebx,DWORD[56+rsp]
    2723         xor     esi,ebp
    2724         mov     edi,ecx
    2725         shld    ecx,ecx,5
    2726         add     ebx,esi
    2727         xor     edi,ebp
    2728         shrd    edx,edx,7
    2729         add     ebx,ecx
    2730         add     eax,DWORD[60+rsp]
    2731         xor     edi,edx
    2732         mov     esi,ebx
    2733         shld    ebx,ebx,5
    2734         add     eax,edi
    2735         shrd    ecx,ecx,7
    2736         add     eax,ebx
    2737         vmovups XMMWORD[48+r12*1+r13],xmm12
    2738         mov     r8,QWORD[88+rsp]
    2739 
    2740         add     eax,DWORD[r9]
    2741         add     esi,DWORD[4+r9]
    2742         add     ecx,DWORD[8+r9]
    2743         mov     DWORD[r9],eax
    2744         add     edx,DWORD[12+r9]
    2745         mov     DWORD[4+r9],esi
    2746         add     ebp,DWORD[16+r9]
    2747         mov     DWORD[8+r9],ecx
    2748         mov     DWORD[12+r9],edx
    2749         mov     DWORD[16+r9],ebp
    2750         vmovups XMMWORD[r8],xmm12
    2751         vzeroall
    2752         movaps  xmm6,XMMWORD[((96+0))+rsp]
    2753         movaps  xmm7,XMMWORD[((96+16))+rsp]
    2754         movaps  xmm8,XMMWORD[((96+32))+rsp]
    2755         movaps  xmm9,XMMWORD[((96+48))+rsp]
    2756         movaps  xmm10,XMMWORD[((96+64))+rsp]
    2757         movaps  xmm11,XMMWORD[((96+80))+rsp]
    2758         movaps  xmm12,XMMWORD[((96+96))+rsp]
    2759         movaps  xmm13,XMMWORD[((96+112))+rsp]
    2760         movaps  xmm14,XMMWORD[((96+128))+rsp]
    2761         movaps  xmm15,XMMWORD[((96+144))+rsp]
    2762         lea     rsi,[264+rsp]
    2763 
    2764         mov     r15,QWORD[rsi]
    2765 
    2766         mov     r14,QWORD[8+rsi]
    2767 
    2768         mov     r13,QWORD[16+rsi]
    2769 
    2770         mov     r12,QWORD[24+rsi]
    2771 
    2772         mov     rbp,QWORD[32+rsi]
    2773 
    2774         mov     rbx,QWORD[40+rsi]
    2775 
    2776         lea     rsp,[48+rsi]
    2777 
    2778 $L$epilogue_avx:
    2779         mov     rdi,QWORD[8+rsp]        ;WIN64 epilogue
    2780         mov     rsi,QWORD[16+rsp]
    2781         DB      0F3h,0C3h               ;repret
    2782 
    2783 $L$SEH_end_aesni_cbc_sha1_enc_avx:
    27841429ALIGN   64
    27851430K_XX_XX:
     
    29011546DB      15,56,201,243
    29021547        cmp     r11d,11
    2903         jb      NEAR $L$aesenclast11
     1548        jb      NEAR $L$aesenclast6
    29041549        movups  xmm0,XMMWORD[64+rcx]
    29051550DB      102,15,56,220,209
    29061551        movups  xmm1,XMMWORD[80+rcx]
    29071552DB      102,15,56,220,208
    2908         je      NEAR $L$aesenclast11
     1553        je      NEAR $L$aesenclast6
    29091554        movups  xmm0,XMMWORD[96+rcx]
    29101555DB      102,15,56,220,209
    29111556        movups  xmm1,XMMWORD[112+rcx]
    29121557DB      102,15,56,220,208
    2913 $L$aesenclast11:
     1558$L$aesenclast6:
    29141559DB      102,15,56,221,209
    29151560        movups  xmm0,XMMWORD[((16-112))+rcx]
     
    29671612DB      15,56,201,220
    29681613        cmp     r11d,11
    2969         jb      NEAR $L$aesenclast12
     1614        jb      NEAR $L$aesenclast7
    29701615        movups  xmm0,XMMWORD[64+rcx]
    29711616DB      102,15,56,220,209
    29721617        movups  xmm1,XMMWORD[80+rcx]
    29731618DB      102,15,56,220,208
    2974         je      NEAR $L$aesenclast12
     1619        je      NEAR $L$aesenclast7
    29751620        movups  xmm0,XMMWORD[96+rcx]
    29761621DB      102,15,56,220,209
    29771622        movups  xmm1,XMMWORD[112+rcx]
    29781623DB      102,15,56,220,208
    2979 $L$aesenclast12:
     1624$L$aesenclast7:
    29801625DB      102,15,56,221,209
    29811626        movups  xmm0,XMMWORD[((16-112))+rcx]
     
    30331678DB      15,56,201,229
    30341679        cmp     r11d,11
    3035         jb      NEAR $L$aesenclast13
     1680        jb      NEAR $L$aesenclast8
    30361681        movups  xmm0,XMMWORD[64+rcx]
    30371682DB      102,15,56,220,209
    30381683        movups  xmm1,XMMWORD[80+rcx]
    30391684DB      102,15,56,220,208
    3040         je      NEAR $L$aesenclast13
     1685        je      NEAR $L$aesenclast8
    30411686        movups  xmm0,XMMWORD[96+rcx]
    30421687DB      102,15,56,220,209
    30431688        movups  xmm1,XMMWORD[112+rcx]
    30441689DB      102,15,56,220,208
    3045 $L$aesenclast13:
     1690$L$aesenclast8:
    30461691DB      102,15,56,221,209
    30471692        movups  xmm0,XMMWORD[((16-112))+rcx]
     
    30971742DB      102,15,56,220,208
    30981743        cmp     r11d,11
    3099         jb      NEAR $L$aesenclast14
     1744        jb      NEAR $L$aesenclast9
    31001745        movups  xmm0,XMMWORD[64+rcx]
    31011746DB      102,15,56,220,209
    31021747        movups  xmm1,XMMWORD[80+rcx]
    31031748DB      102,15,56,220,208
    3104         je      NEAR $L$aesenclast14
     1749        je      NEAR $L$aesenclast9
    31051750        movups  xmm0,XMMWORD[96+rcx]
    31061751DB      102,15,56,220,209
    31071752        movups  xmm1,XMMWORD[112+rcx]
    31081753DB      102,15,56,220,208
    3109 $L$aesenclast14:
     1754$L$aesenclast9:
    31101755DB      102,15,56,221,209
    31111756        movups  xmm0,XMMWORD[((16-112))+rcx]
     
    32471892        DD      $L$SEH_end_aesni_cbc_sha1_enc_ssse3 wrt ..imagebase
    32481893        DD      $L$SEH_info_aesni_cbc_sha1_enc_ssse3 wrt ..imagebase
    3249         DD      $L$SEH_begin_aesni_cbc_sha1_enc_avx wrt ..imagebase
    3250         DD      $L$SEH_end_aesni_cbc_sha1_enc_avx wrt ..imagebase
    3251         DD      $L$SEH_info_aesni_cbc_sha1_enc_avx wrt ..imagebase
    32521894        DD      $L$SEH_begin_aesni_cbc_sha1_enc_shaext wrt ..imagebase
    32531895        DD      $L$SEH_end_aesni_cbc_sha1_enc_shaext wrt ..imagebase
     
    32591901        DD      ssse3_handler wrt ..imagebase
    32601902        DD      $L$prologue_ssse3 wrt ..imagebase,$L$epilogue_ssse3 wrt ..imagebase
    3261 $L$SEH_info_aesni_cbc_sha1_enc_avx:
    3262 DB      9,0,0,0
    3263         DD      ssse3_handler wrt ..imagebase
    3264         DD      $L$prologue_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase
    32651903$L$SEH_info_aesni_cbc_sha1_enc_shaext:
    32661904DB      9,0,0,0
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette