2 # Do not modify. This file is auto-generated from sha512-x86_64.pl.
6 .globl sha512_block_data_order
7 .type sha512_block_data_order,@function
9 sha512_block_data_order:
10 leaq OPENSSL_ia32cap_P(%rip),%r11
22 cmpl $1342177792,%r10d
33 leaq (%rsi,%rdx,8),%rdx
37 movq %rdx,128+16(%rsp)
38 movq %r11,128+24(%rsp)
1677 movq 128+0(%rsp),%rdi
1690 cmpq 128+16(%rsp),%rsi
1702 movq 128+24(%rsp),%rsi
1712 .size sha512_block_data_order,.-sha512_block_data_order
1716 .quad 0x428a2f98d728ae22,0x7137449123ef65cd
1717 .quad 0x428a2f98d728ae22,0x7137449123ef65cd
1718 .quad 0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc
1719 .quad 0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc
1720 .quad 0x3956c25bf348b538,0x59f111f1b605d019
1721 .quad 0x3956c25bf348b538,0x59f111f1b605d019
1722 .quad 0x923f82a4af194f9b,0xab1c5ed5da6d8118
1723 .quad 0x923f82a4af194f9b,0xab1c5ed5da6d8118
1724 .quad 0xd807aa98a3030242,0x12835b0145706fbe
1725 .quad 0xd807aa98a3030242,0x12835b0145706fbe
1726 .quad 0x243185be4ee4b28c,0x550c7dc3d5ffb4e2
1727 .quad 0x243185be4ee4b28c,0x550c7dc3d5ffb4e2
1728 .quad 0x72be5d74f27b896f,0x80deb1fe3b1696b1
1729 .quad 0x72be5d74f27b896f,0x80deb1fe3b1696b1
1730 .quad 0x9bdc06a725c71235,0xc19bf174cf692694
1731 .quad 0x9bdc06a725c71235,0xc19bf174cf692694
1732 .quad 0xe49b69c19ef14ad2,0xefbe4786384f25e3
1733 .quad 0xe49b69c19ef14ad2,0xefbe4786384f25e3
1734 .quad 0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65
1735 .quad 0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65
1736 .quad 0x2de92c6f592b0275,0x4a7484aa6ea6e483
1737 .quad 0x2de92c6f592b0275,0x4a7484aa6ea6e483
1738 .quad 0x5cb0a9dcbd41fbd4,0x76f988da831153b5
1739 .quad 0x5cb0a9dcbd41fbd4,0x76f988da831153b5
1740 .quad 0x983e5152ee66dfab,0xa831c66d2db43210
1741 .quad 0x983e5152ee66dfab,0xa831c66d2db43210
1742 .quad 0xb00327c898fb213f,0xbf597fc7beef0ee4
1743 .quad 0xb00327c898fb213f,0xbf597fc7beef0ee4
1744 .quad 0xc6e00bf33da88fc2,0xd5a79147930aa725
1745 .quad 0xc6e00bf33da88fc2,0xd5a79147930aa725
1746 .quad 0x06ca6351e003826f,0x142929670a0e6e70
1747 .quad 0x06ca6351e003826f,0x142929670a0e6e70
1748 .quad 0x27b70a8546d22ffc,0x2e1b21385c26c926
1749 .quad 0x27b70a8546d22ffc,0x2e1b21385c26c926
1750 .quad 0x4d2c6dfc5ac42aed,0x53380d139d95b3df
1751 .quad 0x4d2c6dfc5ac42aed,0x53380d139d95b3df
1752 .quad 0x650a73548baf63de,0x766a0abb3c77b2a8
1753 .quad 0x650a73548baf63de,0x766a0abb3c77b2a8
1754 .quad 0x81c2c92e47edaee6,0x92722c851482353b
1755 .quad 0x81c2c92e47edaee6,0x92722c851482353b
1756 .quad 0xa2bfe8a14cf10364,0xa81a664bbc423001
1757 .quad 0xa2bfe8a14cf10364,0xa81a664bbc423001
1758 .quad 0xc24b8b70d0f89791,0xc76c51a30654be30
1759 .quad 0xc24b8b70d0f89791,0xc76c51a30654be30
1760 .quad 0xd192e819d6ef5218,0xd69906245565a910
1761 .quad 0xd192e819d6ef5218,0xd69906245565a910
1762 .quad 0xf40e35855771202a,0x106aa07032bbd1b8
1763 .quad 0xf40e35855771202a,0x106aa07032bbd1b8
1764 .quad 0x19a4c116b8d2d0c8,0x1e376c085141ab53
1765 .quad 0x19a4c116b8d2d0c8,0x1e376c085141ab53
1766 .quad 0x2748774cdf8eeb99,0x34b0bcb5e19b48a8
1767 .quad 0x2748774cdf8eeb99,0x34b0bcb5e19b48a8
1768 .quad 0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb
1769 .quad 0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb
1770 .quad 0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3
1771 .quad 0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3
1772 .quad 0x748f82ee5defb2fc,0x78a5636f43172f60
1773 .quad 0x748f82ee5defb2fc,0x78a5636f43172f60
1774 .quad 0x84c87814a1f0ab72,0x8cc702081a6439ec
1775 .quad 0x84c87814a1f0ab72,0x8cc702081a6439ec
1776 .quad 0x90befffa23631e28,0xa4506cebde82bde9
1777 .quad 0x90befffa23631e28,0xa4506cebde82bde9
1778 .quad 0xbef9a3f7b2c67915,0xc67178f2e372532b
1779 .quad 0xbef9a3f7b2c67915,0xc67178f2e372532b
1780 .quad 0xca273eceea26619c,0xd186b8c721c0c207
1781 .quad 0xca273eceea26619c,0xd186b8c721c0c207
1782 .quad 0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178
1783 .quad 0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178
1784 .quad 0x06f067aa72176fba,0x0a637dc5a2c898a6
1785 .quad 0x06f067aa72176fba,0x0a637dc5a2c898a6
1786 .quad 0x113f9804bef90dae,0x1b710b35131c471b
1787 .quad 0x113f9804bef90dae,0x1b710b35131c471b
1788 .quad 0x28db77f523047d84,0x32caab7b40c72493
1789 .quad 0x28db77f523047d84,0x32caab7b40c72493
1790 .quad 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
1791 .quad 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
1792 .quad 0x4cc5d4becb3e42b6,0x597f299cfc657e2a
1793 .quad 0x4cc5d4becb3e42b6,0x597f299cfc657e2a
1794 .quad 0x5fcb6fab3ad6faec,0x6c44198c4a475817
1795 .quad 0x5fcb6fab3ad6faec,0x6c44198c4a475817
1797 .quad 0x0001020304050607,0x08090a0b0c0d0e0f
1798 .quad 0x0001020304050607,0x08090a0b0c0d0e0f
1799 .byte 83,72,65,53,49,50,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,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
1800 .type sha512_block_data_order_xop,@function
1802 sha512_block_data_order_xop:
1813 leaq (%rsi,%rdx,8),%rdx
1815 movq %rdi,128+0(%rsp)
1816 movq %rsi,128+8(%rsp)
1817 movq %rdx,128+16(%rsp)
1818 movq %r11,128+24(%rsp)
1833 vmovdqa K512+1280(%rip),%xmm11
1834 vmovdqu 0(%rsi),%xmm0
1835 leaq K512+128(%rip),%rbp
1836 vmovdqu 16(%rsi),%xmm1
1837 vmovdqu 32(%rsi),%xmm2
1838 vpshufb %xmm11,%xmm0,%xmm0
1839 vmovdqu 48(%rsi),%xmm3
1840 vpshufb %xmm11,%xmm1,%xmm1
1841 vmovdqu 64(%rsi),%xmm4
1842 vpshufb %xmm11,%xmm2,%xmm2
1843 vmovdqu 80(%rsi),%xmm5
1844 vpshufb %xmm11,%xmm3,%xmm3
1845 vmovdqu 96(%rsi),%xmm6
1846 vpshufb %xmm11,%xmm4,%xmm4
1847 vmovdqu 112(%rsi),%xmm7
1848 vpshufb %xmm11,%xmm5,%xmm5
1849 vpaddq -128(%rbp),%xmm0,%xmm8
1850 vpshufb %xmm11,%xmm6,%xmm6
1851 vpaddq -96(%rbp),%xmm1,%xmm9
1852 vpshufb %xmm11,%xmm7,%xmm7
1853 vpaddq -64(%rbp),%xmm2,%xmm10
1854 vpaddq -32(%rbp),%xmm3,%xmm11
1855 vmovdqa %xmm8,0(%rsp)
1856 vpaddq 0(%rbp),%xmm4,%xmm8
1857 vmovdqa %xmm9,16(%rsp)
1858 vpaddq 32(%rbp),%xmm5,%xmm9
1859 vmovdqa %xmm10,32(%rsp)
1860 vpaddq 64(%rbp),%xmm6,%xmm10
1861 vmovdqa %xmm11,48(%rsp)
1862 vpaddq 96(%rbp),%xmm7,%xmm11
1863 vmovdqa %xmm8,64(%rsp)
1865 vmovdqa %xmm9,80(%rsp)
1867 vmovdqa %xmm10,96(%rsp)
1869 vmovdqa %xmm11,112(%rsp)
1876 vpalignr $8,%xmm0,%xmm1,%xmm8
1879 vpalignr $8,%xmm4,%xmm5,%xmm11
1882 .byte 143,72,120,195,200,56
1885 vpsrlq $7,%xmm8,%xmm8
1888 vpaddq %xmm11,%xmm0,%xmm0
1893 .byte 143,72,120,195,209,7
1896 vpxor %xmm9,%xmm8,%xmm8
1901 .byte 143,104,120,195,223,3
1904 vpxor %xmm10,%xmm8,%xmm8
1907 vpsrlq $6,%xmm7,%xmm10
1910 vpaddq %xmm8,%xmm0,%xmm0
1913 .byte 143,72,120,195,203,42
1916 vpxor %xmm10,%xmm11,%xmm11
1921 vpxor %xmm9,%xmm11,%xmm11
1926 vpaddq %xmm11,%xmm0,%xmm0
1931 vpaddq -128(%rbp),%xmm0,%xmm10
1944 vmovdqa %xmm10,0(%rsp)
1945 vpalignr $8,%xmm1,%xmm2,%xmm8
1948 vpalignr $8,%xmm5,%xmm6,%xmm11
1951 .byte 143,72,120,195,200,56
1954 vpsrlq $7,%xmm8,%xmm8
1957 vpaddq %xmm11,%xmm1,%xmm1
1962 .byte 143,72,120,195,209,7
1965 vpxor %xmm9,%xmm8,%xmm8
1970 .byte 143,104,120,195,216,3
1973 vpxor %xmm10,%xmm8,%xmm8
1976 vpsrlq $6,%xmm0,%xmm10
1979 vpaddq %xmm8,%xmm1,%xmm1
1982 .byte 143,72,120,195,203,42
1985 vpxor %xmm10,%xmm11,%xmm11
1990 vpxor %xmm9,%xmm11,%xmm11
1995 vpaddq %xmm11,%xmm1,%xmm1
2000 vpaddq -96(%rbp),%xmm1,%xmm10
2013 vmovdqa %xmm10,16(%rsp)
2014 vpalignr $8,%xmm2,%xmm3,%xmm8
2017 vpalignr $8,%xmm6,%xmm7,%xmm11
2020 .byte 143,72,120,195,200,56
2023 vpsrlq $7,%xmm8,%xmm8
2026 vpaddq %xmm11,%xmm2,%xmm2
2031 .byte 143,72,120,195,209,7
2034 vpxor %xmm9,%xmm8,%xmm8
2039 .byte 143,104,120,195,217,3
2042 vpxor %xmm10,%xmm8,%xmm8
2045 vpsrlq $6,%xmm1,%xmm10
2048 vpaddq %xmm8,%xmm2,%xmm2
2051 .byte 143,72,120,195,203,42
2054 vpxor %xmm10,%xmm11,%xmm11
2059 vpxor %xmm9,%xmm11,%xmm11
2064 vpaddq %xmm11,%xmm2,%xmm2
2069 vpaddq -64(%rbp),%xmm2,%xmm10
2082 vmovdqa %xmm10,32(%rsp)
2083 vpalignr $8,%xmm3,%xmm4,%xmm8
2086 vpalignr $8,%xmm7,%xmm0,%xmm11
2089 .byte 143,72,120,195,200,56
2092 vpsrlq $7,%xmm8,%xmm8
2095 vpaddq %xmm11,%xmm3,%xmm3
2100 .byte 143,72,120,195,209,7
2103 vpxor %xmm9,%xmm8,%xmm8
2108 .byte 143,104,120,195,218,3
2111 vpxor %xmm10,%xmm8,%xmm8
2114 vpsrlq $6,%xmm2,%xmm10
2117 vpaddq %xmm8,%xmm3,%xmm3
2120 .byte 143,72,120,195,203,42
2123 vpxor %xmm10,%xmm11,%xmm11
2128 vpxor %xmm9,%xmm11,%xmm11
2133 vpaddq %xmm11,%xmm3,%xmm3
2138 vpaddq -32(%rbp),%xmm3,%xmm10
2151 vmovdqa %xmm10,48(%rsp)
2152 vpalignr $8,%xmm4,%xmm5,%xmm8
2155 vpalignr $8,%xmm0,%xmm1,%xmm11
2158 .byte 143,72,120,195,200,56
2161 vpsrlq $7,%xmm8,%xmm8
2164 vpaddq %xmm11,%xmm4,%xmm4
2169 .byte 143,72,120,195,209,7
2172 vpxor %xmm9,%xmm8,%xmm8
2177 .byte 143,104,120,195,219,3
2180 vpxor %xmm10,%xmm8,%xmm8
2183 vpsrlq $6,%xmm3,%xmm10
2186 vpaddq %xmm8,%xmm4,%xmm4
2189 .byte 143,72,120,195,203,42
2192 vpxor %xmm10,%xmm11,%xmm11
2197 vpxor %xmm9,%xmm11,%xmm11
2202 vpaddq %xmm11,%xmm4,%xmm4
2207 vpaddq 0(%rbp),%xmm4,%xmm10
2220 vmovdqa %xmm10,64(%rsp)
2221 vpalignr $8,%xmm5,%xmm6,%xmm8
2224 vpalignr $8,%xmm1,%xmm2,%xmm11
2227 .byte 143,72,120,195,200,56
2230 vpsrlq $7,%xmm8,%xmm8
2233 vpaddq %xmm11,%xmm5,%xmm5
2238 .byte 143,72,120,195,209,7
2241 vpxor %xmm9,%xmm8,%xmm8
2246 .byte 143,104,120,195,220,3
2249 vpxor %xmm10,%xmm8,%xmm8
2252 vpsrlq $6,%xmm4,%xmm10
2255 vpaddq %xmm8,%xmm5,%xmm5
2258 .byte 143,72,120,195,203,42
2261 vpxor %xmm10,%xmm11,%xmm11
2266 vpxor %xmm9,%xmm11,%xmm11
2271 vpaddq %xmm11,%xmm5,%xmm5
2276 vpaddq 32(%rbp),%xmm5,%xmm10
2289 vmovdqa %xmm10,80(%rsp)
2290 vpalignr $8,%xmm6,%xmm7,%xmm8
2293 vpalignr $8,%xmm2,%xmm3,%xmm11
2296 .byte 143,72,120,195,200,56
2299 vpsrlq $7,%xmm8,%xmm8
2302 vpaddq %xmm11,%xmm6,%xmm6
2307 .byte 143,72,120,195,209,7
2310 vpxor %xmm9,%xmm8,%xmm8
2315 .byte 143,104,120,195,221,3
2318 vpxor %xmm10,%xmm8,%xmm8
2321 vpsrlq $6,%xmm5,%xmm10
2324 vpaddq %xmm8,%xmm6,%xmm6
2327 .byte 143,72,120,195,203,42
2330 vpxor %xmm10,%xmm11,%xmm11
2335 vpxor %xmm9,%xmm11,%xmm11
2340 vpaddq %xmm11,%xmm6,%xmm6
2345 vpaddq 64(%rbp),%xmm6,%xmm10
2358 vmovdqa %xmm10,96(%rsp)
2359 vpalignr $8,%xmm7,%xmm0,%xmm8
2362 vpalignr $8,%xmm3,%xmm4,%xmm11
2365 .byte 143,72,120,195,200,56
2368 vpsrlq $7,%xmm8,%xmm8
2371 vpaddq %xmm11,%xmm7,%xmm7
2376 .byte 143,72,120,195,209,7
2379 vpxor %xmm9,%xmm8,%xmm8
2384 .byte 143,104,120,195,222,3
2387 vpxor %xmm10,%xmm8,%xmm8
2390 vpsrlq $6,%xmm6,%xmm10
2393 vpaddq %xmm8,%xmm7,%xmm7
2396 .byte 143,72,120,195,203,42
2399 vpxor %xmm10,%xmm11,%xmm11
2404 vpxor %xmm9,%xmm11,%xmm11
2409 vpaddq %xmm11,%xmm7,%xmm7
2414 vpaddq 96(%rbp),%xmm7,%xmm10
2427 vmovdqa %xmm10,112(%rsp)
2846 movq 128+0(%rsp),%rdi
2859 cmpq 128+16(%rsp),%rsi
2871 movq 128+24(%rsp),%rsi
2882 .size sha512_block_data_order_xop,.-sha512_block_data_order_xop
2883 .type sha512_block_data_order_avx,@function
2885 sha512_block_data_order_avx:
2896 leaq (%rsi,%rdx,8),%rdx
2898 movq %rdi,128+0(%rsp)
2899 movq %rsi,128+8(%rsp)
2900 movq %rdx,128+16(%rsp)
2901 movq %r11,128+24(%rsp)
2916 vmovdqa K512+1280(%rip),%xmm11
2917 vmovdqu 0(%rsi),%xmm0
2918 leaq K512+128(%rip),%rbp
2919 vmovdqu 16(%rsi),%xmm1
2920 vmovdqu 32(%rsi),%xmm2
2921 vpshufb %xmm11,%xmm0,%xmm0
2922 vmovdqu 48(%rsi),%xmm3
2923 vpshufb %xmm11,%xmm1,%xmm1
2924 vmovdqu 64(%rsi),%xmm4
2925 vpshufb %xmm11,%xmm2,%xmm2
2926 vmovdqu 80(%rsi),%xmm5
2927 vpshufb %xmm11,%xmm3,%xmm3
2928 vmovdqu 96(%rsi),%xmm6
2929 vpshufb %xmm11,%xmm4,%xmm4
2930 vmovdqu 112(%rsi),%xmm7
2931 vpshufb %xmm11,%xmm5,%xmm5
2932 vpaddq -128(%rbp),%xmm0,%xmm8
2933 vpshufb %xmm11,%xmm6,%xmm6
2934 vpaddq -96(%rbp),%xmm1,%xmm9
2935 vpshufb %xmm11,%xmm7,%xmm7
2936 vpaddq -64(%rbp),%xmm2,%xmm10
2937 vpaddq -32(%rbp),%xmm3,%xmm11
2938 vmovdqa %xmm8,0(%rsp)
2939 vpaddq 0(%rbp),%xmm4,%xmm8
2940 vmovdqa %xmm9,16(%rsp)
2941 vpaddq 32(%rbp),%xmm5,%xmm9
2942 vmovdqa %xmm10,32(%rsp)
2943 vpaddq 64(%rbp),%xmm6,%xmm10
2944 vmovdqa %xmm11,48(%rsp)
2945 vpaddq 96(%rbp),%xmm7,%xmm11
2946 vmovdqa %xmm8,64(%rsp)
2948 vmovdqa %xmm9,80(%rsp)
2950 vmovdqa %xmm10,96(%rsp)
2952 vmovdqa %xmm11,112(%rsp)
2959 vpalignr $8,%xmm0,%xmm1,%xmm8
2962 vpalignr $8,%xmm4,%xmm5,%xmm11
2965 vpsrlq $1,%xmm8,%xmm10
2968 vpaddq %xmm11,%xmm0,%xmm0
2971 vpsrlq $7,%xmm8,%xmm11
2974 vpsllq $56,%xmm8,%xmm9
2977 vpxor %xmm10,%xmm11,%xmm8
2980 vpsrlq $7,%xmm10,%xmm10
2983 vpxor %xmm9,%xmm8,%xmm8
2986 vpsllq $7,%xmm9,%xmm9
2989 vpxor %xmm10,%xmm8,%xmm8
2992 vpsrlq $6,%xmm7,%xmm11
2995 vpxor %xmm9,%xmm8,%xmm8
2998 vpsllq $3,%xmm7,%xmm10
3001 vpaddq %xmm8,%xmm0,%xmm0
3004 vpsrlq $19,%xmm7,%xmm9
3007 vpxor %xmm10,%xmm11,%xmm11
3010 vpsllq $42,%xmm10,%xmm10
3013 vpxor %xmm9,%xmm11,%xmm11
3016 vpsrlq $42,%xmm9,%xmm9
3019 vpxor %xmm10,%xmm11,%xmm11
3022 vpxor %xmm9,%xmm11,%xmm11
3025 vpaddq %xmm11,%xmm0,%xmm0
3028 vpaddq -128(%rbp),%xmm0,%xmm10
3035 vmovdqa %xmm10,0(%rsp)
3036 vpalignr $8,%xmm1,%xmm2,%xmm8
3039 vpalignr $8,%xmm5,%xmm6,%xmm11
3042 vpsrlq $1,%xmm8,%xmm10
3045 vpaddq %xmm11,%xmm1,%xmm1
3048 vpsrlq $7,%xmm8,%xmm11
3051 vpsllq $56,%xmm8,%xmm9
3054 vpxor %xmm10,%xmm11,%xmm8
3057 vpsrlq $7,%xmm10,%xmm10
3060 vpxor %xmm9,%xmm8,%xmm8
3063 vpsllq $7,%xmm9,%xmm9
3066 vpxor %xmm10,%xmm8,%xmm8
3069 vpsrlq $6,%xmm0,%xmm11
3072 vpxor %xmm9,%xmm8,%xmm8
3075 vpsllq $3,%xmm0,%xmm10
3078 vpaddq %xmm8,%xmm1,%xmm1
3081 vpsrlq $19,%xmm0,%xmm9
3084 vpxor %xmm10,%xmm11,%xmm11
3087 vpsllq $42,%xmm10,%xmm10
3090 vpxor %xmm9,%xmm11,%xmm11
3093 vpsrlq $42,%xmm9,%xmm9
3096 vpxor %xmm10,%xmm11,%xmm11
3099 vpxor %xmm9,%xmm11,%xmm11
3102 vpaddq %xmm11,%xmm1,%xmm1
3105 vpaddq -96(%rbp),%xmm1,%xmm10
3112 vmovdqa %xmm10,16(%rsp)
3113 vpalignr $8,%xmm2,%xmm3,%xmm8
3116 vpalignr $8,%xmm6,%xmm7,%xmm11
3119 vpsrlq $1,%xmm8,%xmm10
3122 vpaddq %xmm11,%xmm2,%xmm2
3125 vpsrlq $7,%xmm8,%xmm11
3128 vpsllq $56,%xmm8,%xmm9
3131 vpxor %xmm10,%xmm11,%xmm8
3134 vpsrlq $7,%xmm10,%xmm10
3137 vpxor %xmm9,%xmm8,%xmm8
3140 vpsllq $7,%xmm9,%xmm9
3143 vpxor %xmm10,%xmm8,%xmm8
3146 vpsrlq $6,%xmm1,%xmm11
3149 vpxor %xmm9,%xmm8,%xmm8
3152 vpsllq $3,%xmm1,%xmm10
3155 vpaddq %xmm8,%xmm2,%xmm2
3158 vpsrlq $19,%xmm1,%xmm9
3161 vpxor %xmm10,%xmm11,%xmm11
3164 vpsllq $42,%xmm10,%xmm10
3167 vpxor %xmm9,%xmm11,%xmm11
3170 vpsrlq $42,%xmm9,%xmm9
3173 vpxor %xmm10,%xmm11,%xmm11
3176 vpxor %xmm9,%xmm11,%xmm11
3179 vpaddq %xmm11,%xmm2,%xmm2
3182 vpaddq -64(%rbp),%xmm2,%xmm10
3189 vmovdqa %xmm10,32(%rsp)
3190 vpalignr $8,%xmm3,%xmm4,%xmm8
3193 vpalignr $8,%xmm7,%xmm0,%xmm11
3196 vpsrlq $1,%xmm8,%xmm10
3199 vpaddq %xmm11,%xmm3,%xmm3
3202 vpsrlq $7,%xmm8,%xmm11
3205 vpsllq $56,%xmm8,%xmm9
3208 vpxor %xmm10,%xmm11,%xmm8
3211 vpsrlq $7,%xmm10,%xmm10
3214 vpxor %xmm9,%xmm8,%xmm8
3217 vpsllq $7,%xmm9,%xmm9
3220 vpxor %xmm10,%xmm8,%xmm8
3223 vpsrlq $6,%xmm2,%xmm11
3226 vpxor %xmm9,%xmm8,%xmm8
3229 vpsllq $3,%xmm2,%xmm10
3232 vpaddq %xmm8,%xmm3,%xmm3
3235 vpsrlq $19,%xmm2,%xmm9
3238 vpxor %xmm10,%xmm11,%xmm11
3241 vpsllq $42,%xmm10,%xmm10
3244 vpxor %xmm9,%xmm11,%xmm11
3247 vpsrlq $42,%xmm9,%xmm9
3250 vpxor %xmm10,%xmm11,%xmm11
3253 vpxor %xmm9,%xmm11,%xmm11
3256 vpaddq %xmm11,%xmm3,%xmm3
3259 vpaddq -32(%rbp),%xmm3,%xmm10
3266 vmovdqa %xmm10,48(%rsp)
3267 vpalignr $8,%xmm4,%xmm5,%xmm8
3270 vpalignr $8,%xmm0,%xmm1,%xmm11
3273 vpsrlq $1,%xmm8,%xmm10
3276 vpaddq %xmm11,%xmm4,%xmm4
3279 vpsrlq $7,%xmm8,%xmm11
3282 vpsllq $56,%xmm8,%xmm9
3285 vpxor %xmm10,%xmm11,%xmm8
3288 vpsrlq $7,%xmm10,%xmm10
3291 vpxor %xmm9,%xmm8,%xmm8
3294 vpsllq $7,%xmm9,%xmm9
3297 vpxor %xmm10,%xmm8,%xmm8
3300 vpsrlq $6,%xmm3,%xmm11
3303 vpxor %xmm9,%xmm8,%xmm8
3306 vpsllq $3,%xmm3,%xmm10
3309 vpaddq %xmm8,%xmm4,%xmm4
3312 vpsrlq $19,%xmm3,%xmm9
3315 vpxor %xmm10,%xmm11,%xmm11
3318 vpsllq $42,%xmm10,%xmm10
3321 vpxor %xmm9,%xmm11,%xmm11
3324 vpsrlq $42,%xmm9,%xmm9
3327 vpxor %xmm10,%xmm11,%xmm11
3330 vpxor %xmm9,%xmm11,%xmm11
3333 vpaddq %xmm11,%xmm4,%xmm4
3336 vpaddq 0(%rbp),%xmm4,%xmm10
3343 vmovdqa %xmm10,64(%rsp)
3344 vpalignr $8,%xmm5,%xmm6,%xmm8
3347 vpalignr $8,%xmm1,%xmm2,%xmm11
3350 vpsrlq $1,%xmm8,%xmm10
3353 vpaddq %xmm11,%xmm5,%xmm5
3356 vpsrlq $7,%xmm8,%xmm11
3359 vpsllq $56,%xmm8,%xmm9
3362 vpxor %xmm10,%xmm11,%xmm8
3365 vpsrlq $7,%xmm10,%xmm10
3368 vpxor %xmm9,%xmm8,%xmm8
3371 vpsllq $7,%xmm9,%xmm9
3374 vpxor %xmm10,%xmm8,%xmm8
3377 vpsrlq $6,%xmm4,%xmm11
3380 vpxor %xmm9,%xmm8,%xmm8
3383 vpsllq $3,%xmm4,%xmm10
3386 vpaddq %xmm8,%xmm5,%xmm5
3389 vpsrlq $19,%xmm4,%xmm9
3392 vpxor %xmm10,%xmm11,%xmm11
3395 vpsllq $42,%xmm10,%xmm10
3398 vpxor %xmm9,%xmm11,%xmm11
3401 vpsrlq $42,%xmm9,%xmm9
3404 vpxor %xmm10,%xmm11,%xmm11
3407 vpxor %xmm9,%xmm11,%xmm11
3410 vpaddq %xmm11,%xmm5,%xmm5
3413 vpaddq 32(%rbp),%xmm5,%xmm10
3420 vmovdqa %xmm10,80(%rsp)
3421 vpalignr $8,%xmm6,%xmm7,%xmm8
3424 vpalignr $8,%xmm2,%xmm3,%xmm11
3427 vpsrlq $1,%xmm8,%xmm10
3430 vpaddq %xmm11,%xmm6,%xmm6
3433 vpsrlq $7,%xmm8,%xmm11
3436 vpsllq $56,%xmm8,%xmm9
3439 vpxor %xmm10,%xmm11,%xmm8
3442 vpsrlq $7,%xmm10,%xmm10
3445 vpxor %xmm9,%xmm8,%xmm8
3448 vpsllq $7,%xmm9,%xmm9
3451 vpxor %xmm10,%xmm8,%xmm8
3454 vpsrlq $6,%xmm5,%xmm11
3457 vpxor %xmm9,%xmm8,%xmm8
3460 vpsllq $3,%xmm5,%xmm10
3463 vpaddq %xmm8,%xmm6,%xmm6
3466 vpsrlq $19,%xmm5,%xmm9
3469 vpxor %xmm10,%xmm11,%xmm11
3472 vpsllq $42,%xmm10,%xmm10
3475 vpxor %xmm9,%xmm11,%xmm11
3478 vpsrlq $42,%xmm9,%xmm9
3481 vpxor %xmm10,%xmm11,%xmm11
3484 vpxor %xmm9,%xmm11,%xmm11
3487 vpaddq %xmm11,%xmm6,%xmm6
3490 vpaddq 64(%rbp),%xmm6,%xmm10
3497 vmovdqa %xmm10,96(%rsp)
3498 vpalignr $8,%xmm7,%xmm0,%xmm8
3501 vpalignr $8,%xmm3,%xmm4,%xmm11
3504 vpsrlq $1,%xmm8,%xmm10
3507 vpaddq %xmm11,%xmm7,%xmm7
3510 vpsrlq $7,%xmm8,%xmm11
3513 vpsllq $56,%xmm8,%xmm9
3516 vpxor %xmm10,%xmm11,%xmm8
3519 vpsrlq $7,%xmm10,%xmm10
3522 vpxor %xmm9,%xmm8,%xmm8
3525 vpsllq $7,%xmm9,%xmm9
3528 vpxor %xmm10,%xmm8,%xmm8
3531 vpsrlq $6,%xmm6,%xmm11
3534 vpxor %xmm9,%xmm8,%xmm8
3537 vpsllq $3,%xmm6,%xmm10
3540 vpaddq %xmm8,%xmm7,%xmm7
3543 vpsrlq $19,%xmm6,%xmm9
3546 vpxor %xmm10,%xmm11,%xmm11
3549 vpsllq $42,%xmm10,%xmm10
3552 vpxor %xmm9,%xmm11,%xmm11
3555 vpsrlq $42,%xmm9,%xmm9
3558 vpxor %xmm10,%xmm11,%xmm11
3561 vpxor %xmm9,%xmm11,%xmm11
3564 vpaddq %xmm11,%xmm7,%xmm7
3567 vpaddq 96(%rbp),%xmm7,%xmm10
3574 vmovdqa %xmm10,112(%rsp)
3993 movq 128+0(%rsp),%rdi
4006 cmpq 128+16(%rsp),%rsi
4018 movq 128+24(%rsp),%rsi
4029 .size sha512_block_data_order_avx,.-sha512_block_data_order_avx
4030 .type sha512_block_data_order_avx2,@function
4032 sha512_block_data_order_avx2:
4044 leaq (%rsi,%rdx,8),%rdx
4046 movq %rdi,128+0(%rsp)
4047 movq %rsi,128+8(%rsp)
4048 movq %rdx,128+16(%rsp)
4049 movq %r11,128+24(%rsp)
4068 vmovdqu -128(%rsi),%xmm0
4069 vmovdqu -128+16(%rsi),%xmm1
4070 vmovdqu -128+32(%rsi),%xmm2
4071 leaq K512+128(%rip),%rbp
4072 vmovdqu -128+48(%rsi),%xmm3
4073 vmovdqu -128+64(%rsi),%xmm4
4074 vmovdqu -128+80(%rsi),%xmm5
4075 vmovdqu -128+96(%rsi),%xmm6
4076 vmovdqu -128+112(%rsi),%xmm7
4078 vmovdqa 1152(%rbp),%ymm10
4079 vinserti128 $1,(%r12),%ymm0,%ymm0
4080 vinserti128 $1,16(%r12),%ymm1,%ymm1
4081 vpshufb %ymm10,%ymm0,%ymm0
4082 vinserti128 $1,32(%r12),%ymm2,%ymm2
4083 vpshufb %ymm10,%ymm1,%ymm1
4084 vinserti128 $1,48(%r12),%ymm3,%ymm3
4085 vpshufb %ymm10,%ymm2,%ymm2
4086 vinserti128 $1,64(%r12),%ymm4,%ymm4
4087 vpshufb %ymm10,%ymm3,%ymm3
4088 vinserti128 $1,80(%r12),%ymm5,%ymm5
4089 vpshufb %ymm10,%ymm4,%ymm4
4090 vinserti128 $1,96(%r12),%ymm6,%ymm6
4091 vpshufb %ymm10,%ymm5,%ymm5
4092 vinserti128 $1,112(%r12),%ymm7,%ymm7
4094 vpaddq -128(%rbp),%ymm0,%ymm8
4095 vpshufb %ymm10,%ymm6,%ymm6
4096 vpaddq -96(%rbp),%ymm1,%ymm9
4097 vpshufb %ymm10,%ymm7,%ymm7
4098 vpaddq -64(%rbp),%ymm2,%ymm10
4099 vpaddq -32(%rbp),%ymm3,%ymm11
4100 vmovdqa %ymm8,0(%rsp)
4101 vpaddq 0(%rbp),%ymm4,%ymm8
4102 vmovdqa %ymm9,32(%rsp)
4103 vpaddq 32(%rbp),%ymm5,%ymm9
4104 vmovdqa %ymm10,64(%rsp)
4105 vpaddq 64(%rbp),%ymm6,%ymm10
4106 vmovdqa %ymm11,96(%rsp)
4107 leaq -128(%rsp),%rsp
4108 vpaddq 96(%rbp),%ymm7,%ymm11
4109 vmovdqa %ymm8,0(%rsp)
4111 vmovdqa %ymm9,32(%rsp)
4113 vmovdqa %ymm10,64(%rsp)
4115 vmovdqa %ymm11,96(%rsp)
4122 leaq -128(%rsp),%rsp
4123 vpalignr $8,%ymm0,%ymm1,%ymm8
4124 addq 0+256(%rsp),%r11
4127 vpalignr $8,%ymm4,%ymm5,%ymm11
4129 leaq (%rax,%r14,1),%rax
4130 leaq (%r11,%r12,1),%r11
4131 vpsrlq $1,%ymm8,%ymm10
4135 vpaddq %ymm11,%ymm0,%ymm0
4136 vpsrlq $7,%ymm8,%ymm11
4137 leaq (%r11,%r12,1),%r11
4140 vpsllq $56,%ymm8,%ymm9
4141 vpxor %ymm10,%ymm11,%ymm8
4143 leaq (%r11,%r13,1),%r11
4145 vpsrlq $7,%ymm10,%ymm10
4146 vpxor %ymm9,%ymm8,%ymm8
4149 leaq (%rdx,%r11,1),%rdx
4150 vpsllq $7,%ymm9,%ymm9
4151 vpxor %ymm10,%ymm8,%ymm8
4155 vpsrlq $6,%ymm7,%ymm11
4156 vpxor %ymm9,%ymm8,%ymm8
4158 leaq (%r11,%rdi,1),%r11
4160 vpsllq $3,%ymm7,%ymm10
4161 vpaddq %ymm8,%ymm0,%ymm0
4162 addq 8+256(%rsp),%r10
4165 vpsrlq $19,%ymm7,%ymm9
4166 vpxor %ymm10,%ymm11,%ymm11
4168 leaq (%r11,%r14,1),%r11
4169 leaq (%r10,%r12,1),%r10
4170 vpsllq $42,%ymm10,%ymm10
4171 vpxor %ymm9,%ymm11,%ymm11
4175 vpsrlq $42,%ymm9,%ymm9
4176 vpxor %ymm10,%ymm11,%ymm11
4177 leaq (%r10,%r12,1),%r10
4180 vpxor %ymm9,%ymm11,%ymm11
4182 leaq (%r10,%r13,1),%r10
4184 vpaddq %ymm11,%ymm0,%ymm0
4187 leaq (%rcx,%r10,1),%rcx
4188 vpaddq -128(%rbp),%ymm0,%ymm10
4193 leaq (%r10,%r15,1),%r10
4195 vmovdqa %ymm10,0(%rsp)
4196 vpalignr $8,%ymm1,%ymm2,%ymm8
4197 addq 32+256(%rsp),%r9
4200 vpalignr $8,%ymm5,%ymm6,%ymm11
4202 leaq (%r10,%r14,1),%r10
4203 leaq (%r9,%r12,1),%r9
4204 vpsrlq $1,%ymm8,%ymm10
4208 vpaddq %ymm11,%ymm1,%ymm1
4209 vpsrlq $7,%ymm8,%ymm11
4210 leaq (%r9,%r12,1),%r9
4213 vpsllq $56,%ymm8,%ymm9
4214 vpxor %ymm10,%ymm11,%ymm8
4216 leaq (%r9,%r13,1),%r9
4218 vpsrlq $7,%ymm10,%ymm10
4219 vpxor %ymm9,%ymm8,%ymm8
4222 leaq (%rbx,%r9,1),%rbx
4223 vpsllq $7,%ymm9,%ymm9
4224 vpxor %ymm10,%ymm8,%ymm8
4228 vpsrlq $6,%ymm0,%ymm11
4229 vpxor %ymm9,%ymm8,%ymm8
4231 leaq (%r9,%rdi,1),%r9
4233 vpsllq $3,%ymm0,%ymm10
4234 vpaddq %ymm8,%ymm1,%ymm1
4235 addq 40+256(%rsp),%r8
4238 vpsrlq $19,%ymm0,%ymm9
4239 vpxor %ymm10,%ymm11,%ymm11
4241 leaq (%r9,%r14,1),%r9
4242 leaq (%r8,%r12,1),%r8
4243 vpsllq $42,%ymm10,%ymm10
4244 vpxor %ymm9,%ymm11,%ymm11
4245 andnq %rdx,%rbx,%r12
4248 vpsrlq $42,%ymm9,%ymm9
4249 vpxor %ymm10,%ymm11,%ymm11
4250 leaq (%r8,%r12,1),%r8
4253 vpxor %ymm9,%ymm11,%ymm11
4255 leaq (%r8,%r13,1),%r8
4257 vpaddq %ymm11,%ymm1,%ymm1
4260 leaq (%rax,%r8,1),%rax
4261 vpaddq -96(%rbp),%ymm1,%ymm10
4266 leaq (%r8,%r15,1),%r8
4268 vmovdqa %ymm10,32(%rsp)
4269 vpalignr $8,%ymm2,%ymm3,%ymm8
4270 addq 64+256(%rsp),%rdx
4273 vpalignr $8,%ymm6,%ymm7,%ymm11
4275 leaq (%r8,%r14,1),%r8
4276 leaq (%rdx,%r12,1),%rdx
4277 vpsrlq $1,%ymm8,%ymm10
4278 andnq %rcx,%rax,%r12
4281 vpaddq %ymm11,%ymm2,%ymm2
4282 vpsrlq $7,%ymm8,%ymm11
4283 leaq (%rdx,%r12,1),%rdx
4286 vpsllq $56,%ymm8,%ymm9
4287 vpxor %ymm10,%ymm11,%ymm8
4289 leaq (%rdx,%r13,1),%rdx
4291 vpsrlq $7,%ymm10,%ymm10
4292 vpxor %ymm9,%ymm8,%ymm8
4295 leaq (%r11,%rdx,1),%r11
4296 vpsllq $7,%ymm9,%ymm9
4297 vpxor %ymm10,%ymm8,%ymm8
4301 vpsrlq $6,%ymm1,%ymm11
4302 vpxor %ymm9,%ymm8,%ymm8
4304 leaq (%rdx,%rdi,1),%rdx
4306 vpsllq $3,%ymm1,%ymm10
4307 vpaddq %ymm8,%ymm2,%ymm2
4308 addq 72+256(%rsp),%rcx
4311 vpsrlq $19,%ymm1,%ymm9
4312 vpxor %ymm10,%ymm11,%ymm11
4314 leaq (%rdx,%r14,1),%rdx
4315 leaq (%rcx,%r12,1),%rcx
4316 vpsllq $42,%ymm10,%ymm10
4317 vpxor %ymm9,%ymm11,%ymm11
4318 andnq %rbx,%r11,%r12
4321 vpsrlq $42,%ymm9,%ymm9
4322 vpxor %ymm10,%ymm11,%ymm11
4323 leaq (%rcx,%r12,1),%rcx
4326 vpxor %ymm9,%ymm11,%ymm11
4328 leaq (%rcx,%r13,1),%rcx
4330 vpaddq %ymm11,%ymm2,%ymm2
4333 leaq (%r10,%rcx,1),%r10
4334 vpaddq -64(%rbp),%ymm2,%ymm10
4339 leaq (%rcx,%r15,1),%rcx
4341 vmovdqa %ymm10,64(%rsp)
4342 vpalignr $8,%ymm3,%ymm4,%ymm8
4343 addq 96+256(%rsp),%rbx
4346 vpalignr $8,%ymm7,%ymm0,%ymm11
4348 leaq (%rcx,%r14,1),%rcx
4349 leaq (%rbx,%r12,1),%rbx
4350 vpsrlq $1,%ymm8,%ymm10
4351 andnq %rax,%r10,%r12
4354 vpaddq %ymm11,%ymm3,%ymm3
4355 vpsrlq $7,%ymm8,%ymm11
4356 leaq (%rbx,%r12,1),%rbx
4359 vpsllq $56,%ymm8,%ymm9
4360 vpxor %ymm10,%ymm11,%ymm8
4362 leaq (%rbx,%r13,1),%rbx
4364 vpsrlq $7,%ymm10,%ymm10
4365 vpxor %ymm9,%ymm8,%ymm8
4368 leaq (%r9,%rbx,1),%r9
4369 vpsllq $7,%ymm9,%ymm9
4370 vpxor %ymm10,%ymm8,%ymm8
4374 vpsrlq $6,%ymm2,%ymm11
4375 vpxor %ymm9,%ymm8,%ymm8
4377 leaq (%rbx,%rdi,1),%rbx
4379 vpsllq $3,%ymm2,%ymm10
4380 vpaddq %ymm8,%ymm3,%ymm3
4381 addq 104+256(%rsp),%rax
4384 vpsrlq $19,%ymm2,%ymm9
4385 vpxor %ymm10,%ymm11,%ymm11
4387 leaq (%rbx,%r14,1),%rbx
4388 leaq (%rax,%r12,1),%rax
4389 vpsllq $42,%ymm10,%ymm10
4390 vpxor %ymm9,%ymm11,%ymm11
4394 vpsrlq $42,%ymm9,%ymm9
4395 vpxor %ymm10,%ymm11,%ymm11
4396 leaq (%rax,%r12,1),%rax
4399 vpxor %ymm9,%ymm11,%ymm11
4401 leaq (%rax,%r13,1),%rax
4403 vpaddq %ymm11,%ymm3,%ymm3
4406 leaq (%r8,%rax,1),%r8
4407 vpaddq -32(%rbp),%ymm3,%ymm10
4412 leaq (%rax,%r15,1),%rax
4414 vmovdqa %ymm10,96(%rsp)
4415 leaq -128(%rsp),%rsp
4416 vpalignr $8,%ymm4,%ymm5,%ymm8
4417 addq 0+256(%rsp),%r11
4420 vpalignr $8,%ymm0,%ymm1,%ymm11
4422 leaq (%rax,%r14,1),%rax
4423 leaq (%r11,%r12,1),%r11
4424 vpsrlq $1,%ymm8,%ymm10
4428 vpaddq %ymm11,%ymm4,%ymm4
4429 vpsrlq $7,%ymm8,%ymm11
4430 leaq (%r11,%r12,1),%r11
4433 vpsllq $56,%ymm8,%ymm9
4434 vpxor %ymm10,%ymm11,%ymm8
4436 leaq (%r11,%r13,1),%r11
4438 vpsrlq $7,%ymm10,%ymm10
4439 vpxor %ymm9,%ymm8,%ymm8
4442 leaq (%rdx,%r11,1),%rdx
4443 vpsllq $7,%ymm9,%ymm9
4444 vpxor %ymm10,%ymm8,%ymm8
4448 vpsrlq $6,%ymm3,%ymm11
4449 vpxor %ymm9,%ymm8,%ymm8
4451 leaq (%r11,%rdi,1),%r11
4453 vpsllq $3,%ymm3,%ymm10
4454 vpaddq %ymm8,%ymm4,%ymm4
4455 addq 8+256(%rsp),%r10
4458 vpsrlq $19,%ymm3,%ymm9
4459 vpxor %ymm10,%ymm11,%ymm11
4461 leaq (%r11,%r14,1),%r11
4462 leaq (%r10,%r12,1),%r10
4463 vpsllq $42,%ymm10,%ymm10
4464 vpxor %ymm9,%ymm11,%ymm11
4468 vpsrlq $42,%ymm9,%ymm9
4469 vpxor %ymm10,%ymm11,%ymm11
4470 leaq (%r10,%r12,1),%r10
4473 vpxor %ymm9,%ymm11,%ymm11
4475 leaq (%r10,%r13,1),%r10
4477 vpaddq %ymm11,%ymm4,%ymm4
4480 leaq (%rcx,%r10,1),%rcx
4481 vpaddq 0(%rbp),%ymm4,%ymm10
4486 leaq (%r10,%r15,1),%r10
4488 vmovdqa %ymm10,0(%rsp)
4489 vpalignr $8,%ymm5,%ymm6,%ymm8
4490 addq 32+256(%rsp),%r9
4493 vpalignr $8,%ymm1,%ymm2,%ymm11
4495 leaq (%r10,%r14,1),%r10
4496 leaq (%r9,%r12,1),%r9
4497 vpsrlq $1,%ymm8,%ymm10
4501 vpaddq %ymm11,%ymm5,%ymm5
4502 vpsrlq $7,%ymm8,%ymm11
4503 leaq (%r9,%r12,1),%r9
4506 vpsllq $56,%ymm8,%ymm9
4507 vpxor %ymm10,%ymm11,%ymm8
4509 leaq (%r9,%r13,1),%r9
4511 vpsrlq $7,%ymm10,%ymm10
4512 vpxor %ymm9,%ymm8,%ymm8
4515 leaq (%rbx,%r9,1),%rbx
4516 vpsllq $7,%ymm9,%ymm9
4517 vpxor %ymm10,%ymm8,%ymm8
4521 vpsrlq $6,%ymm4,%ymm11
4522 vpxor %ymm9,%ymm8,%ymm8
4524 leaq (%r9,%rdi,1),%r9
4526 vpsllq $3,%ymm4,%ymm10
4527 vpaddq %ymm8,%ymm5,%ymm5
4528 addq 40+256(%rsp),%r8
4531 vpsrlq $19,%ymm4,%ymm9
4532 vpxor %ymm10,%ymm11,%ymm11
4534 leaq (%r9,%r14,1),%r9
4535 leaq (%r8,%r12,1),%r8
4536 vpsllq $42,%ymm10,%ymm10
4537 vpxor %ymm9,%ymm11,%ymm11
4538 andnq %rdx,%rbx,%r12
4541 vpsrlq $42,%ymm9,%ymm9
4542 vpxor %ymm10,%ymm11,%ymm11
4543 leaq (%r8,%r12,1),%r8
4546 vpxor %ymm9,%ymm11,%ymm11
4548 leaq (%r8,%r13,1),%r8
4550 vpaddq %ymm11,%ymm5,%ymm5
4553 leaq (%rax,%r8,1),%rax
4554 vpaddq 32(%rbp),%ymm5,%ymm10
4559 leaq (%r8,%r15,1),%r8
4561 vmovdqa %ymm10,32(%rsp)
4562 vpalignr $8,%ymm6,%ymm7,%ymm8
4563 addq 64+256(%rsp),%rdx
4566 vpalignr $8,%ymm2,%ymm3,%ymm11
4568 leaq (%r8,%r14,1),%r8
4569 leaq (%rdx,%r12,1),%rdx
4570 vpsrlq $1,%ymm8,%ymm10
4571 andnq %rcx,%rax,%r12
4574 vpaddq %ymm11,%ymm6,%ymm6
4575 vpsrlq $7,%ymm8,%ymm11
4576 leaq (%rdx,%r12,1),%rdx
4579 vpsllq $56,%ymm8,%ymm9
4580 vpxor %ymm10,%ymm11,%ymm8
4582 leaq (%rdx,%r13,1),%rdx
4584 vpsrlq $7,%ymm10,%ymm10
4585 vpxor %ymm9,%ymm8,%ymm8
4588 leaq (%r11,%rdx,1),%r11
4589 vpsllq $7,%ymm9,%ymm9
4590 vpxor %ymm10,%ymm8,%ymm8
4594 vpsrlq $6,%ymm5,%ymm11
4595 vpxor %ymm9,%ymm8,%ymm8
4597 leaq (%rdx,%rdi,1),%rdx
4599 vpsllq $3,%ymm5,%ymm10
4600 vpaddq %ymm8,%ymm6,%ymm6
4601 addq 72+256(%rsp),%rcx
4604 vpsrlq $19,%ymm5,%ymm9
4605 vpxor %ymm10,%ymm11,%ymm11
4607 leaq (%rdx,%r14,1),%rdx
4608 leaq (%rcx,%r12,1),%rcx
4609 vpsllq $42,%ymm10,%ymm10
4610 vpxor %ymm9,%ymm11,%ymm11
4611 andnq %rbx,%r11,%r12
4614 vpsrlq $42,%ymm9,%ymm9
4615 vpxor %ymm10,%ymm11,%ymm11
4616 leaq (%rcx,%r12,1),%rcx
4619 vpxor %ymm9,%ymm11,%ymm11
4621 leaq (%rcx,%r13,1),%rcx
4623 vpaddq %ymm11,%ymm6,%ymm6
4626 leaq (%r10,%rcx,1),%r10
4627 vpaddq 64(%rbp),%ymm6,%ymm10
4632 leaq (%rcx,%r15,1),%rcx
4634 vmovdqa %ymm10,64(%rsp)
4635 vpalignr $8,%ymm7,%ymm0,%ymm8
4636 addq 96+256(%rsp),%rbx
4639 vpalignr $8,%ymm3,%ymm4,%ymm11
4641 leaq (%rcx,%r14,1),%rcx
4642 leaq (%rbx,%r12,1),%rbx
4643 vpsrlq $1,%ymm8,%ymm10
4644 andnq %rax,%r10,%r12
4647 vpaddq %ymm11,%ymm7,%ymm7
4648 vpsrlq $7,%ymm8,%ymm11
4649 leaq (%rbx,%r12,1),%rbx
4652 vpsllq $56,%ymm8,%ymm9
4653 vpxor %ymm10,%ymm11,%ymm8
4655 leaq (%rbx,%r13,1),%rbx
4657 vpsrlq $7,%ymm10,%ymm10
4658 vpxor %ymm9,%ymm8,%ymm8
4661 leaq (%r9,%rbx,1),%r9
4662 vpsllq $7,%ymm9,%ymm9
4663 vpxor %ymm10,%ymm8,%ymm8
4667 vpsrlq $6,%ymm6,%ymm11
4668 vpxor %ymm9,%ymm8,%ymm8
4670 leaq (%rbx,%rdi,1),%rbx
4672 vpsllq $3,%ymm6,%ymm10
4673 vpaddq %ymm8,%ymm7,%ymm7
4674 addq 104+256(%rsp),%rax
4677 vpsrlq $19,%ymm6,%ymm9
4678 vpxor %ymm10,%ymm11,%ymm11
4680 leaq (%rbx,%r14,1),%rbx
4681 leaq (%rax,%r12,1),%rax
4682 vpsllq $42,%ymm10,%ymm10
4683 vpxor %ymm9,%ymm11,%ymm11
4687 vpsrlq $42,%ymm9,%ymm9
4688 vpxor %ymm10,%ymm11,%ymm11
4689 leaq (%rax,%r12,1),%rax
4692 vpxor %ymm9,%ymm11,%ymm11
4694 leaq (%rax,%r13,1),%rax
4696 vpaddq %ymm11,%ymm7,%ymm7
4699 leaq (%r8,%rax,1),%r8
4700 vpaddq 96(%rbp),%ymm7,%ymm10
4705 leaq (%rax,%r15,1),%rax
4707 vmovdqa %ymm10,96(%rsp)
4711 addq 0+128(%rsp),%r11
4715 leaq (%rax,%r14,1),%rax
4716 leaq (%r11,%r12,1),%r11
4720 leaq (%r11,%r12,1),%r11
4724 leaq (%r11,%r13,1),%r11
4728 leaq (%rdx,%r11,1),%rdx
4733 leaq (%r11,%rdi,1),%r11
4735 addq 8+128(%rsp),%r10
4739 leaq (%r11,%r14,1),%r11
4740 leaq (%r10,%r12,1),%r10
4744 leaq (%r10,%r12,1),%r10
4748 leaq (%r10,%r13,1),%r10
4752 leaq (%rcx,%r10,1),%rcx
4757 leaq (%r10,%r15,1),%r10
4759 addq 32+128(%rsp),%r9
4763 leaq (%r10,%r14,1),%r10
4764 leaq (%r9,%r12,1),%r9
4768 leaq (%r9,%r12,1),%r9
4772 leaq (%r9,%r13,1),%r9
4776 leaq (%rbx,%r9,1),%rbx
4781 leaq (%r9,%rdi,1),%r9
4783 addq 40+128(%rsp),%r8
4787 leaq (%r9,%r14,1),%r9
4788 leaq (%r8,%r12,1),%r8
4789 andnq %rdx,%rbx,%r12
4792 leaq (%r8,%r12,1),%r8
4796 leaq (%r8,%r13,1),%r8
4800 leaq (%rax,%r8,1),%rax
4805 leaq (%r8,%r15,1),%r8
4807 addq 64+128(%rsp),%rdx
4811 leaq (%r8,%r14,1),%r8
4812 leaq (%rdx,%r12,1),%rdx
4813 andnq %rcx,%rax,%r12
4816 leaq (%rdx,%r12,1),%rdx
4820 leaq (%rdx,%r13,1),%rdx
4824 leaq (%r11,%rdx,1),%r11
4829 leaq (%rdx,%rdi,1),%rdx
4831 addq 72+128(%rsp),%rcx
4835 leaq (%rdx,%r14,1),%rdx
4836 leaq (%rcx,%r12,1),%rcx
4837 andnq %rbx,%r11,%r12
4840 leaq (%rcx,%r12,1),%rcx
4844 leaq (%rcx,%r13,1),%rcx
4848 leaq (%r10,%rcx,1),%r10
4853 leaq (%rcx,%r15,1),%rcx
4855 addq 96+128(%rsp),%rbx
4859 leaq (%rcx,%r14,1),%rcx
4860 leaq (%rbx,%r12,1),%rbx
4861 andnq %rax,%r10,%r12
4864 leaq (%rbx,%r12,1),%rbx
4868 leaq (%rbx,%r13,1),%rbx
4872 leaq (%r9,%rbx,1),%r9
4877 leaq (%rbx,%rdi,1),%rbx
4879 addq 104+128(%rsp),%rax
4883 leaq (%rbx,%r14,1),%rbx
4884 leaq (%rax,%r12,1),%rax
4888 leaq (%rax,%r12,1),%rax
4892 leaq (%rax,%r13,1),%rax
4896 leaq (%r8,%rax,1),%r8
4901 leaq (%rax,%r15,1),%rax
4907 leaq (%rax,%r14,1),%rax
4908 leaq (%r11,%r12,1),%r11
4912 leaq (%r11,%r12,1),%r11
4916 leaq (%r11,%r13,1),%r11
4920 leaq (%rdx,%r11,1),%rdx
4925 leaq (%r11,%rdi,1),%r11
4931 leaq (%r11,%r14,1),%r11
4932 leaq (%r10,%r12,1),%r10
4936 leaq (%r10,%r12,1),%r10
4940 leaq (%r10,%r13,1),%r10
4944 leaq (%rcx,%r10,1),%rcx
4949 leaq (%r10,%r15,1),%r10
4955 leaq (%r10,%r14,1),%r10
4956 leaq (%r9,%r12,1),%r9
4960 leaq (%r9,%r12,1),%r9
4964 leaq (%r9,%r13,1),%r9
4968 leaq (%rbx,%r9,1),%rbx
4973 leaq (%r9,%rdi,1),%r9
4979 leaq (%r9,%r14,1),%r9
4980 leaq (%r8,%r12,1),%r8
4981 andnq %rdx,%rbx,%r12
4984 leaq (%r8,%r12,1),%r8
4988 leaq (%r8,%r13,1),%r8
4992 leaq (%rax,%r8,1),%rax
4997 leaq (%r8,%r15,1),%r8
5003 leaq (%r8,%r14,1),%r8
5004 leaq (%rdx,%r12,1),%rdx
5005 andnq %rcx,%rax,%r12
5008 leaq (%rdx,%r12,1),%rdx
5012 leaq (%rdx,%r13,1),%rdx
5016 leaq (%r11,%rdx,1),%r11
5021 leaq (%rdx,%rdi,1),%rdx
5027 leaq (%rdx,%r14,1),%rdx
5028 leaq (%rcx,%r12,1),%rcx
5029 andnq %rbx,%r11,%r12
5032 leaq (%rcx,%r12,1),%rcx
5036 leaq (%rcx,%r13,1),%rcx
5040 leaq (%r10,%rcx,1),%r10
5045 leaq (%rcx,%r15,1),%rcx
5051 leaq (%rcx,%r14,1),%rcx
5052 leaq (%rbx,%r12,1),%rbx
5053 andnq %rax,%r10,%r12
5056 leaq (%rbx,%r12,1),%rbx
5060 leaq (%rbx,%r13,1),%rbx
5064 leaq (%r9,%rbx,1),%r9
5069 leaq (%rbx,%rdi,1),%rbx
5075 leaq (%rbx,%r14,1),%rbx
5076 leaq (%rax,%r12,1),%rax
5080 leaq (%rax,%r12,1),%rax
5084 leaq (%rax,%r13,1),%rax
5088 leaq (%r8,%rax,1),%r8
5093 leaq (%rax,%r15,1),%rax
5095 movq 1280(%rsp),%rdi
5098 leaq 1152(%rsp),%rbp
5128 addq 0+16(%rbp),%r11
5132 leaq (%rax,%r14,1),%rax
5133 leaq (%r11,%r12,1),%r11
5137 leaq (%r11,%r12,1),%r11
5141 leaq (%r11,%r13,1),%r11
5145 leaq (%rdx,%r11,1),%rdx
5150 leaq (%r11,%rdi,1),%r11
5152 addq 8+16(%rbp),%r10
5156 leaq (%r11,%r14,1),%r11
5157 leaq (%r10,%r12,1),%r10
5161 leaq (%r10,%r12,1),%r10
5165 leaq (%r10,%r13,1),%r10
5169 leaq (%rcx,%r10,1),%rcx
5174 leaq (%r10,%r15,1),%r10
5176 addq 32+16(%rbp),%r9
5180 leaq (%r10,%r14,1),%r10
5181 leaq (%r9,%r12,1),%r9
5185 leaq (%r9,%r12,1),%r9
5189 leaq (%r9,%r13,1),%r9
5193 leaq (%rbx,%r9,1),%rbx
5198 leaq (%r9,%rdi,1),%r9
5200 addq 40+16(%rbp),%r8
5204 leaq (%r9,%r14,1),%r9
5205 leaq (%r8,%r12,1),%r8
5206 andnq %rdx,%rbx,%r12
5209 leaq (%r8,%r12,1),%r8
5213 leaq (%r8,%r13,1),%r8
5217 leaq (%rax,%r8,1),%rax
5222 leaq (%r8,%r15,1),%r8
5224 addq 64+16(%rbp),%rdx
5228 leaq (%r8,%r14,1),%r8
5229 leaq (%rdx,%r12,1),%rdx
5230 andnq %rcx,%rax,%r12
5233 leaq (%rdx,%r12,1),%rdx
5237 leaq (%rdx,%r13,1),%rdx
5241 leaq (%r11,%rdx,1),%r11
5246 leaq (%rdx,%rdi,1),%rdx
5248 addq 72+16(%rbp),%rcx
5252 leaq (%rdx,%r14,1),%rdx
5253 leaq (%rcx,%r12,1),%rcx
5254 andnq %rbx,%r11,%r12
5257 leaq (%rcx,%r12,1),%rcx
5261 leaq (%rcx,%r13,1),%rcx
5265 leaq (%r10,%rcx,1),%r10
5270 leaq (%rcx,%r15,1),%rcx
5272 addq 96+16(%rbp),%rbx
5276 leaq (%rcx,%r14,1),%rcx
5277 leaq (%rbx,%r12,1),%rbx
5278 andnq %rax,%r10,%r12
5281 leaq (%rbx,%r12,1),%rbx
5285 leaq (%rbx,%r13,1),%rbx
5289 leaq (%r9,%rbx,1),%r9
5294 leaq (%rbx,%rdi,1),%rbx
5296 addq 104+16(%rbp),%rax
5300 leaq (%rbx,%r14,1),%rbx
5301 leaq (%rax,%r12,1),%rax
5305 leaq (%rax,%r12,1),%rax
5309 leaq (%rax,%r13,1),%rax
5313 leaq (%r8,%rax,1),%r8
5318 leaq (%rax,%r15,1),%rax
5320 leaq -128(%rbp),%rbp
5324 movq 1280(%rsp),%rdi
5327 leaq 1152(%rsp),%rsp
5339 cmpq 128+16(%rsp),%rsi
5356 movq 128+24(%rsp),%rsi
5367 .size sha512_block_data_order_avx2,.-sha512_block_data_order_avx2