4 .globl sha512_block_data_order
5 .type sha512_block_data_order,@function
7 sha512_block_data_order:
8 leaq OPENSSL_ia32cap_P(%rip),%r11
20 cmpl $1342177792,%r10d
31 leaq (%rsi,%rdx,8),%rdx
35 movq %rdx,128+16(%rsp)
36 movq %r11,128+24(%rsp)
1675 movq 128+0(%rsp),%rdi
1688 cmpq 128+16(%rsp),%rsi
1700 movq 128+24(%rsp),%rsi
1710 .size sha512_block_data_order,.-sha512_block_data_order
1714 .quad 0x428a2f98d728ae22,0x7137449123ef65cd
1715 .quad 0x428a2f98d728ae22,0x7137449123ef65cd
1716 .quad 0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc
1717 .quad 0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc
1718 .quad 0x3956c25bf348b538,0x59f111f1b605d019
1719 .quad 0x3956c25bf348b538,0x59f111f1b605d019
1720 .quad 0x923f82a4af194f9b,0xab1c5ed5da6d8118
1721 .quad 0x923f82a4af194f9b,0xab1c5ed5da6d8118
1722 .quad 0xd807aa98a3030242,0x12835b0145706fbe
1723 .quad 0xd807aa98a3030242,0x12835b0145706fbe
1724 .quad 0x243185be4ee4b28c,0x550c7dc3d5ffb4e2
1725 .quad 0x243185be4ee4b28c,0x550c7dc3d5ffb4e2
1726 .quad 0x72be5d74f27b896f,0x80deb1fe3b1696b1
1727 .quad 0x72be5d74f27b896f,0x80deb1fe3b1696b1
1728 .quad 0x9bdc06a725c71235,0xc19bf174cf692694
1729 .quad 0x9bdc06a725c71235,0xc19bf174cf692694
1730 .quad 0xe49b69c19ef14ad2,0xefbe4786384f25e3
1731 .quad 0xe49b69c19ef14ad2,0xefbe4786384f25e3
1732 .quad 0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65
1733 .quad 0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65
1734 .quad 0x2de92c6f592b0275,0x4a7484aa6ea6e483
1735 .quad 0x2de92c6f592b0275,0x4a7484aa6ea6e483
1736 .quad 0x5cb0a9dcbd41fbd4,0x76f988da831153b5
1737 .quad 0x5cb0a9dcbd41fbd4,0x76f988da831153b5
1738 .quad 0x983e5152ee66dfab,0xa831c66d2db43210
1739 .quad 0x983e5152ee66dfab,0xa831c66d2db43210
1740 .quad 0xb00327c898fb213f,0xbf597fc7beef0ee4
1741 .quad 0xb00327c898fb213f,0xbf597fc7beef0ee4
1742 .quad 0xc6e00bf33da88fc2,0xd5a79147930aa725
1743 .quad 0xc6e00bf33da88fc2,0xd5a79147930aa725
1744 .quad 0x06ca6351e003826f,0x142929670a0e6e70
1745 .quad 0x06ca6351e003826f,0x142929670a0e6e70
1746 .quad 0x27b70a8546d22ffc,0x2e1b21385c26c926
1747 .quad 0x27b70a8546d22ffc,0x2e1b21385c26c926
1748 .quad 0x4d2c6dfc5ac42aed,0x53380d139d95b3df
1749 .quad 0x4d2c6dfc5ac42aed,0x53380d139d95b3df
1750 .quad 0x650a73548baf63de,0x766a0abb3c77b2a8
1751 .quad 0x650a73548baf63de,0x766a0abb3c77b2a8
1752 .quad 0x81c2c92e47edaee6,0x92722c851482353b
1753 .quad 0x81c2c92e47edaee6,0x92722c851482353b
1754 .quad 0xa2bfe8a14cf10364,0xa81a664bbc423001
1755 .quad 0xa2bfe8a14cf10364,0xa81a664bbc423001
1756 .quad 0xc24b8b70d0f89791,0xc76c51a30654be30
1757 .quad 0xc24b8b70d0f89791,0xc76c51a30654be30
1758 .quad 0xd192e819d6ef5218,0xd69906245565a910
1759 .quad 0xd192e819d6ef5218,0xd69906245565a910
1760 .quad 0xf40e35855771202a,0x106aa07032bbd1b8
1761 .quad 0xf40e35855771202a,0x106aa07032bbd1b8
1762 .quad 0x19a4c116b8d2d0c8,0x1e376c085141ab53
1763 .quad 0x19a4c116b8d2d0c8,0x1e376c085141ab53
1764 .quad 0x2748774cdf8eeb99,0x34b0bcb5e19b48a8
1765 .quad 0x2748774cdf8eeb99,0x34b0bcb5e19b48a8
1766 .quad 0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb
1767 .quad 0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb
1768 .quad 0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3
1769 .quad 0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3
1770 .quad 0x748f82ee5defb2fc,0x78a5636f43172f60
1771 .quad 0x748f82ee5defb2fc,0x78a5636f43172f60
1772 .quad 0x84c87814a1f0ab72,0x8cc702081a6439ec
1773 .quad 0x84c87814a1f0ab72,0x8cc702081a6439ec
1774 .quad 0x90befffa23631e28,0xa4506cebde82bde9
1775 .quad 0x90befffa23631e28,0xa4506cebde82bde9
1776 .quad 0xbef9a3f7b2c67915,0xc67178f2e372532b
1777 .quad 0xbef9a3f7b2c67915,0xc67178f2e372532b
1778 .quad 0xca273eceea26619c,0xd186b8c721c0c207
1779 .quad 0xca273eceea26619c,0xd186b8c721c0c207
1780 .quad 0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178
1781 .quad 0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178
1782 .quad 0x06f067aa72176fba,0x0a637dc5a2c898a6
1783 .quad 0x06f067aa72176fba,0x0a637dc5a2c898a6
1784 .quad 0x113f9804bef90dae,0x1b710b35131c471b
1785 .quad 0x113f9804bef90dae,0x1b710b35131c471b
1786 .quad 0x28db77f523047d84,0x32caab7b40c72493
1787 .quad 0x28db77f523047d84,0x32caab7b40c72493
1788 .quad 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
1789 .quad 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
1790 .quad 0x4cc5d4becb3e42b6,0x597f299cfc657e2a
1791 .quad 0x4cc5d4becb3e42b6,0x597f299cfc657e2a
1792 .quad 0x5fcb6fab3ad6faec,0x6c44198c4a475817
1793 .quad 0x5fcb6fab3ad6faec,0x6c44198c4a475817
1795 .quad 0x0001020304050607,0x08090a0b0c0d0e0f
1796 .quad 0x0001020304050607,0x08090a0b0c0d0e0f
1797 .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
1798 .type sha512_block_data_order_xop,@function
1800 sha512_block_data_order_xop:
1811 leaq (%rsi,%rdx,8),%rdx
1813 movq %rdi,128+0(%rsp)
1814 movq %rsi,128+8(%rsp)
1815 movq %rdx,128+16(%rsp)
1816 movq %r11,128+24(%rsp)
1831 vmovdqa K512+1280(%rip),%xmm11
1832 vmovdqu 0(%rsi),%xmm0
1833 leaq K512+128(%rip),%rbp
1834 vmovdqu 16(%rsi),%xmm1
1835 vmovdqu 32(%rsi),%xmm2
1836 vpshufb %xmm11,%xmm0,%xmm0
1837 vmovdqu 48(%rsi),%xmm3
1838 vpshufb %xmm11,%xmm1,%xmm1
1839 vmovdqu 64(%rsi),%xmm4
1840 vpshufb %xmm11,%xmm2,%xmm2
1841 vmovdqu 80(%rsi),%xmm5
1842 vpshufb %xmm11,%xmm3,%xmm3
1843 vmovdqu 96(%rsi),%xmm6
1844 vpshufb %xmm11,%xmm4,%xmm4
1845 vmovdqu 112(%rsi),%xmm7
1846 vpshufb %xmm11,%xmm5,%xmm5
1847 vpaddq -128(%rbp),%xmm0,%xmm8
1848 vpshufb %xmm11,%xmm6,%xmm6
1849 vpaddq -96(%rbp),%xmm1,%xmm9
1850 vpshufb %xmm11,%xmm7,%xmm7
1851 vpaddq -64(%rbp),%xmm2,%xmm10
1852 vpaddq -32(%rbp),%xmm3,%xmm11
1853 vmovdqa %xmm8,0(%rsp)
1854 vpaddq 0(%rbp),%xmm4,%xmm8
1855 vmovdqa %xmm9,16(%rsp)
1856 vpaddq 32(%rbp),%xmm5,%xmm9
1857 vmovdqa %xmm10,32(%rsp)
1858 vpaddq 64(%rbp),%xmm6,%xmm10
1859 vmovdqa %xmm11,48(%rsp)
1860 vpaddq 96(%rbp),%xmm7,%xmm11
1861 vmovdqa %xmm8,64(%rsp)
1863 vmovdqa %xmm9,80(%rsp)
1865 vmovdqa %xmm10,96(%rsp)
1867 vmovdqa %xmm11,112(%rsp)
1874 vpalignr $8,%xmm0,%xmm1,%xmm8
1877 vpalignr $8,%xmm4,%xmm5,%xmm11
1880 .byte 143,72,120,195,200,56
1883 vpsrlq $7,%xmm8,%xmm8
1886 vpaddq %xmm11,%xmm0,%xmm0
1891 .byte 143,72,120,195,209,7
1894 vpxor %xmm9,%xmm8,%xmm8
1899 .byte 143,104,120,195,223,3
1902 vpxor %xmm10,%xmm8,%xmm8
1905 vpsrlq $6,%xmm7,%xmm10
1908 vpaddq %xmm8,%xmm0,%xmm0
1911 .byte 143,72,120,195,203,42
1914 vpxor %xmm10,%xmm11,%xmm11
1919 vpxor %xmm9,%xmm11,%xmm11
1924 vpaddq %xmm11,%xmm0,%xmm0
1929 vpaddq -128(%rbp),%xmm0,%xmm10
1942 vmovdqa %xmm10,0(%rsp)
1943 vpalignr $8,%xmm1,%xmm2,%xmm8
1946 vpalignr $8,%xmm5,%xmm6,%xmm11
1949 .byte 143,72,120,195,200,56
1952 vpsrlq $7,%xmm8,%xmm8
1955 vpaddq %xmm11,%xmm1,%xmm1
1960 .byte 143,72,120,195,209,7
1963 vpxor %xmm9,%xmm8,%xmm8
1968 .byte 143,104,120,195,216,3
1971 vpxor %xmm10,%xmm8,%xmm8
1974 vpsrlq $6,%xmm0,%xmm10
1977 vpaddq %xmm8,%xmm1,%xmm1
1980 .byte 143,72,120,195,203,42
1983 vpxor %xmm10,%xmm11,%xmm11
1988 vpxor %xmm9,%xmm11,%xmm11
1993 vpaddq %xmm11,%xmm1,%xmm1
1998 vpaddq -96(%rbp),%xmm1,%xmm10
2011 vmovdqa %xmm10,16(%rsp)
2012 vpalignr $8,%xmm2,%xmm3,%xmm8
2015 vpalignr $8,%xmm6,%xmm7,%xmm11
2018 .byte 143,72,120,195,200,56
2021 vpsrlq $7,%xmm8,%xmm8
2024 vpaddq %xmm11,%xmm2,%xmm2
2029 .byte 143,72,120,195,209,7
2032 vpxor %xmm9,%xmm8,%xmm8
2037 .byte 143,104,120,195,217,3
2040 vpxor %xmm10,%xmm8,%xmm8
2043 vpsrlq $6,%xmm1,%xmm10
2046 vpaddq %xmm8,%xmm2,%xmm2
2049 .byte 143,72,120,195,203,42
2052 vpxor %xmm10,%xmm11,%xmm11
2057 vpxor %xmm9,%xmm11,%xmm11
2062 vpaddq %xmm11,%xmm2,%xmm2
2067 vpaddq -64(%rbp),%xmm2,%xmm10
2080 vmovdqa %xmm10,32(%rsp)
2081 vpalignr $8,%xmm3,%xmm4,%xmm8
2084 vpalignr $8,%xmm7,%xmm0,%xmm11
2087 .byte 143,72,120,195,200,56
2090 vpsrlq $7,%xmm8,%xmm8
2093 vpaddq %xmm11,%xmm3,%xmm3
2098 .byte 143,72,120,195,209,7
2101 vpxor %xmm9,%xmm8,%xmm8
2106 .byte 143,104,120,195,218,3
2109 vpxor %xmm10,%xmm8,%xmm8
2112 vpsrlq $6,%xmm2,%xmm10
2115 vpaddq %xmm8,%xmm3,%xmm3
2118 .byte 143,72,120,195,203,42
2121 vpxor %xmm10,%xmm11,%xmm11
2126 vpxor %xmm9,%xmm11,%xmm11
2131 vpaddq %xmm11,%xmm3,%xmm3
2136 vpaddq -32(%rbp),%xmm3,%xmm10
2149 vmovdqa %xmm10,48(%rsp)
2150 vpalignr $8,%xmm4,%xmm5,%xmm8
2153 vpalignr $8,%xmm0,%xmm1,%xmm11
2156 .byte 143,72,120,195,200,56
2159 vpsrlq $7,%xmm8,%xmm8
2162 vpaddq %xmm11,%xmm4,%xmm4
2167 .byte 143,72,120,195,209,7
2170 vpxor %xmm9,%xmm8,%xmm8
2175 .byte 143,104,120,195,219,3
2178 vpxor %xmm10,%xmm8,%xmm8
2181 vpsrlq $6,%xmm3,%xmm10
2184 vpaddq %xmm8,%xmm4,%xmm4
2187 .byte 143,72,120,195,203,42
2190 vpxor %xmm10,%xmm11,%xmm11
2195 vpxor %xmm9,%xmm11,%xmm11
2200 vpaddq %xmm11,%xmm4,%xmm4
2205 vpaddq 0(%rbp),%xmm4,%xmm10
2218 vmovdqa %xmm10,64(%rsp)
2219 vpalignr $8,%xmm5,%xmm6,%xmm8
2222 vpalignr $8,%xmm1,%xmm2,%xmm11
2225 .byte 143,72,120,195,200,56
2228 vpsrlq $7,%xmm8,%xmm8
2231 vpaddq %xmm11,%xmm5,%xmm5
2236 .byte 143,72,120,195,209,7
2239 vpxor %xmm9,%xmm8,%xmm8
2244 .byte 143,104,120,195,220,3
2247 vpxor %xmm10,%xmm8,%xmm8
2250 vpsrlq $6,%xmm4,%xmm10
2253 vpaddq %xmm8,%xmm5,%xmm5
2256 .byte 143,72,120,195,203,42
2259 vpxor %xmm10,%xmm11,%xmm11
2264 vpxor %xmm9,%xmm11,%xmm11
2269 vpaddq %xmm11,%xmm5,%xmm5
2274 vpaddq 32(%rbp),%xmm5,%xmm10
2287 vmovdqa %xmm10,80(%rsp)
2288 vpalignr $8,%xmm6,%xmm7,%xmm8
2291 vpalignr $8,%xmm2,%xmm3,%xmm11
2294 .byte 143,72,120,195,200,56
2297 vpsrlq $7,%xmm8,%xmm8
2300 vpaddq %xmm11,%xmm6,%xmm6
2305 .byte 143,72,120,195,209,7
2308 vpxor %xmm9,%xmm8,%xmm8
2313 .byte 143,104,120,195,221,3
2316 vpxor %xmm10,%xmm8,%xmm8
2319 vpsrlq $6,%xmm5,%xmm10
2322 vpaddq %xmm8,%xmm6,%xmm6
2325 .byte 143,72,120,195,203,42
2328 vpxor %xmm10,%xmm11,%xmm11
2333 vpxor %xmm9,%xmm11,%xmm11
2338 vpaddq %xmm11,%xmm6,%xmm6
2343 vpaddq 64(%rbp),%xmm6,%xmm10
2356 vmovdqa %xmm10,96(%rsp)
2357 vpalignr $8,%xmm7,%xmm0,%xmm8
2360 vpalignr $8,%xmm3,%xmm4,%xmm11
2363 .byte 143,72,120,195,200,56
2366 vpsrlq $7,%xmm8,%xmm8
2369 vpaddq %xmm11,%xmm7,%xmm7
2374 .byte 143,72,120,195,209,7
2377 vpxor %xmm9,%xmm8,%xmm8
2382 .byte 143,104,120,195,222,3
2385 vpxor %xmm10,%xmm8,%xmm8
2388 vpsrlq $6,%xmm6,%xmm10
2391 vpaddq %xmm8,%xmm7,%xmm7
2394 .byte 143,72,120,195,203,42
2397 vpxor %xmm10,%xmm11,%xmm11
2402 vpxor %xmm9,%xmm11,%xmm11
2407 vpaddq %xmm11,%xmm7,%xmm7
2412 vpaddq 96(%rbp),%xmm7,%xmm10
2425 vmovdqa %xmm10,112(%rsp)
2844 movq 128+0(%rsp),%rdi
2857 cmpq 128+16(%rsp),%rsi
2869 movq 128+24(%rsp),%rsi
2880 .size sha512_block_data_order_xop,.-sha512_block_data_order_xop
2881 .type sha512_block_data_order_avx,@function
2883 sha512_block_data_order_avx:
2894 leaq (%rsi,%rdx,8),%rdx
2896 movq %rdi,128+0(%rsp)
2897 movq %rsi,128+8(%rsp)
2898 movq %rdx,128+16(%rsp)
2899 movq %r11,128+24(%rsp)
2914 vmovdqa K512+1280(%rip),%xmm11
2915 vmovdqu 0(%rsi),%xmm0
2916 leaq K512+128(%rip),%rbp
2917 vmovdqu 16(%rsi),%xmm1
2918 vmovdqu 32(%rsi),%xmm2
2919 vpshufb %xmm11,%xmm0,%xmm0
2920 vmovdqu 48(%rsi),%xmm3
2921 vpshufb %xmm11,%xmm1,%xmm1
2922 vmovdqu 64(%rsi),%xmm4
2923 vpshufb %xmm11,%xmm2,%xmm2
2924 vmovdqu 80(%rsi),%xmm5
2925 vpshufb %xmm11,%xmm3,%xmm3
2926 vmovdqu 96(%rsi),%xmm6
2927 vpshufb %xmm11,%xmm4,%xmm4
2928 vmovdqu 112(%rsi),%xmm7
2929 vpshufb %xmm11,%xmm5,%xmm5
2930 vpaddq -128(%rbp),%xmm0,%xmm8
2931 vpshufb %xmm11,%xmm6,%xmm6
2932 vpaddq -96(%rbp),%xmm1,%xmm9
2933 vpshufb %xmm11,%xmm7,%xmm7
2934 vpaddq -64(%rbp),%xmm2,%xmm10
2935 vpaddq -32(%rbp),%xmm3,%xmm11
2936 vmovdqa %xmm8,0(%rsp)
2937 vpaddq 0(%rbp),%xmm4,%xmm8
2938 vmovdqa %xmm9,16(%rsp)
2939 vpaddq 32(%rbp),%xmm5,%xmm9
2940 vmovdqa %xmm10,32(%rsp)
2941 vpaddq 64(%rbp),%xmm6,%xmm10
2942 vmovdqa %xmm11,48(%rsp)
2943 vpaddq 96(%rbp),%xmm7,%xmm11
2944 vmovdqa %xmm8,64(%rsp)
2946 vmovdqa %xmm9,80(%rsp)
2948 vmovdqa %xmm10,96(%rsp)
2950 vmovdqa %xmm11,112(%rsp)
2957 vpalignr $8,%xmm0,%xmm1,%xmm8
2960 vpalignr $8,%xmm4,%xmm5,%xmm11
2963 vpsrlq $1,%xmm8,%xmm10
2966 vpaddq %xmm11,%xmm0,%xmm0
2969 vpsrlq $7,%xmm8,%xmm11
2972 vpsllq $56,%xmm8,%xmm9
2975 vpxor %xmm10,%xmm11,%xmm8
2978 vpsrlq $7,%xmm10,%xmm10
2981 vpxor %xmm9,%xmm8,%xmm8
2984 vpsllq $7,%xmm9,%xmm9
2987 vpxor %xmm10,%xmm8,%xmm8
2990 vpsrlq $6,%xmm7,%xmm11
2993 vpxor %xmm9,%xmm8,%xmm8
2996 vpsllq $3,%xmm7,%xmm10
2999 vpaddq %xmm8,%xmm0,%xmm0
3002 vpsrlq $19,%xmm7,%xmm9
3005 vpxor %xmm10,%xmm11,%xmm11
3008 vpsllq $42,%xmm10,%xmm10
3011 vpxor %xmm9,%xmm11,%xmm11
3014 vpsrlq $42,%xmm9,%xmm9
3017 vpxor %xmm10,%xmm11,%xmm11
3020 vpxor %xmm9,%xmm11,%xmm11
3023 vpaddq %xmm11,%xmm0,%xmm0
3026 vpaddq -128(%rbp),%xmm0,%xmm10
3033 vmovdqa %xmm10,0(%rsp)
3034 vpalignr $8,%xmm1,%xmm2,%xmm8
3037 vpalignr $8,%xmm5,%xmm6,%xmm11
3040 vpsrlq $1,%xmm8,%xmm10
3043 vpaddq %xmm11,%xmm1,%xmm1
3046 vpsrlq $7,%xmm8,%xmm11
3049 vpsllq $56,%xmm8,%xmm9
3052 vpxor %xmm10,%xmm11,%xmm8
3055 vpsrlq $7,%xmm10,%xmm10
3058 vpxor %xmm9,%xmm8,%xmm8
3061 vpsllq $7,%xmm9,%xmm9
3064 vpxor %xmm10,%xmm8,%xmm8
3067 vpsrlq $6,%xmm0,%xmm11
3070 vpxor %xmm9,%xmm8,%xmm8
3073 vpsllq $3,%xmm0,%xmm10
3076 vpaddq %xmm8,%xmm1,%xmm1
3079 vpsrlq $19,%xmm0,%xmm9
3082 vpxor %xmm10,%xmm11,%xmm11
3085 vpsllq $42,%xmm10,%xmm10
3088 vpxor %xmm9,%xmm11,%xmm11
3091 vpsrlq $42,%xmm9,%xmm9
3094 vpxor %xmm10,%xmm11,%xmm11
3097 vpxor %xmm9,%xmm11,%xmm11
3100 vpaddq %xmm11,%xmm1,%xmm1
3103 vpaddq -96(%rbp),%xmm1,%xmm10
3110 vmovdqa %xmm10,16(%rsp)
3111 vpalignr $8,%xmm2,%xmm3,%xmm8
3114 vpalignr $8,%xmm6,%xmm7,%xmm11
3117 vpsrlq $1,%xmm8,%xmm10
3120 vpaddq %xmm11,%xmm2,%xmm2
3123 vpsrlq $7,%xmm8,%xmm11
3126 vpsllq $56,%xmm8,%xmm9
3129 vpxor %xmm10,%xmm11,%xmm8
3132 vpsrlq $7,%xmm10,%xmm10
3135 vpxor %xmm9,%xmm8,%xmm8
3138 vpsllq $7,%xmm9,%xmm9
3141 vpxor %xmm10,%xmm8,%xmm8
3144 vpsrlq $6,%xmm1,%xmm11
3147 vpxor %xmm9,%xmm8,%xmm8
3150 vpsllq $3,%xmm1,%xmm10
3153 vpaddq %xmm8,%xmm2,%xmm2
3156 vpsrlq $19,%xmm1,%xmm9
3159 vpxor %xmm10,%xmm11,%xmm11
3162 vpsllq $42,%xmm10,%xmm10
3165 vpxor %xmm9,%xmm11,%xmm11
3168 vpsrlq $42,%xmm9,%xmm9
3171 vpxor %xmm10,%xmm11,%xmm11
3174 vpxor %xmm9,%xmm11,%xmm11
3177 vpaddq %xmm11,%xmm2,%xmm2
3180 vpaddq -64(%rbp),%xmm2,%xmm10
3187 vmovdqa %xmm10,32(%rsp)
3188 vpalignr $8,%xmm3,%xmm4,%xmm8
3191 vpalignr $8,%xmm7,%xmm0,%xmm11
3194 vpsrlq $1,%xmm8,%xmm10
3197 vpaddq %xmm11,%xmm3,%xmm3
3200 vpsrlq $7,%xmm8,%xmm11
3203 vpsllq $56,%xmm8,%xmm9
3206 vpxor %xmm10,%xmm11,%xmm8
3209 vpsrlq $7,%xmm10,%xmm10
3212 vpxor %xmm9,%xmm8,%xmm8
3215 vpsllq $7,%xmm9,%xmm9
3218 vpxor %xmm10,%xmm8,%xmm8
3221 vpsrlq $6,%xmm2,%xmm11
3224 vpxor %xmm9,%xmm8,%xmm8
3227 vpsllq $3,%xmm2,%xmm10
3230 vpaddq %xmm8,%xmm3,%xmm3
3233 vpsrlq $19,%xmm2,%xmm9
3236 vpxor %xmm10,%xmm11,%xmm11
3239 vpsllq $42,%xmm10,%xmm10
3242 vpxor %xmm9,%xmm11,%xmm11
3245 vpsrlq $42,%xmm9,%xmm9
3248 vpxor %xmm10,%xmm11,%xmm11
3251 vpxor %xmm9,%xmm11,%xmm11
3254 vpaddq %xmm11,%xmm3,%xmm3
3257 vpaddq -32(%rbp),%xmm3,%xmm10
3264 vmovdqa %xmm10,48(%rsp)
3265 vpalignr $8,%xmm4,%xmm5,%xmm8
3268 vpalignr $8,%xmm0,%xmm1,%xmm11
3271 vpsrlq $1,%xmm8,%xmm10
3274 vpaddq %xmm11,%xmm4,%xmm4
3277 vpsrlq $7,%xmm8,%xmm11
3280 vpsllq $56,%xmm8,%xmm9
3283 vpxor %xmm10,%xmm11,%xmm8
3286 vpsrlq $7,%xmm10,%xmm10
3289 vpxor %xmm9,%xmm8,%xmm8
3292 vpsllq $7,%xmm9,%xmm9
3295 vpxor %xmm10,%xmm8,%xmm8
3298 vpsrlq $6,%xmm3,%xmm11
3301 vpxor %xmm9,%xmm8,%xmm8
3304 vpsllq $3,%xmm3,%xmm10
3307 vpaddq %xmm8,%xmm4,%xmm4
3310 vpsrlq $19,%xmm3,%xmm9
3313 vpxor %xmm10,%xmm11,%xmm11
3316 vpsllq $42,%xmm10,%xmm10
3319 vpxor %xmm9,%xmm11,%xmm11
3322 vpsrlq $42,%xmm9,%xmm9
3325 vpxor %xmm10,%xmm11,%xmm11
3328 vpxor %xmm9,%xmm11,%xmm11
3331 vpaddq %xmm11,%xmm4,%xmm4
3334 vpaddq 0(%rbp),%xmm4,%xmm10
3341 vmovdqa %xmm10,64(%rsp)
3342 vpalignr $8,%xmm5,%xmm6,%xmm8
3345 vpalignr $8,%xmm1,%xmm2,%xmm11
3348 vpsrlq $1,%xmm8,%xmm10
3351 vpaddq %xmm11,%xmm5,%xmm5
3354 vpsrlq $7,%xmm8,%xmm11
3357 vpsllq $56,%xmm8,%xmm9
3360 vpxor %xmm10,%xmm11,%xmm8
3363 vpsrlq $7,%xmm10,%xmm10
3366 vpxor %xmm9,%xmm8,%xmm8
3369 vpsllq $7,%xmm9,%xmm9
3372 vpxor %xmm10,%xmm8,%xmm8
3375 vpsrlq $6,%xmm4,%xmm11
3378 vpxor %xmm9,%xmm8,%xmm8
3381 vpsllq $3,%xmm4,%xmm10
3384 vpaddq %xmm8,%xmm5,%xmm5
3387 vpsrlq $19,%xmm4,%xmm9
3390 vpxor %xmm10,%xmm11,%xmm11
3393 vpsllq $42,%xmm10,%xmm10
3396 vpxor %xmm9,%xmm11,%xmm11
3399 vpsrlq $42,%xmm9,%xmm9
3402 vpxor %xmm10,%xmm11,%xmm11
3405 vpxor %xmm9,%xmm11,%xmm11
3408 vpaddq %xmm11,%xmm5,%xmm5
3411 vpaddq 32(%rbp),%xmm5,%xmm10
3418 vmovdqa %xmm10,80(%rsp)
3419 vpalignr $8,%xmm6,%xmm7,%xmm8
3422 vpalignr $8,%xmm2,%xmm3,%xmm11
3425 vpsrlq $1,%xmm8,%xmm10
3428 vpaddq %xmm11,%xmm6,%xmm6
3431 vpsrlq $7,%xmm8,%xmm11
3434 vpsllq $56,%xmm8,%xmm9
3437 vpxor %xmm10,%xmm11,%xmm8
3440 vpsrlq $7,%xmm10,%xmm10
3443 vpxor %xmm9,%xmm8,%xmm8
3446 vpsllq $7,%xmm9,%xmm9
3449 vpxor %xmm10,%xmm8,%xmm8
3452 vpsrlq $6,%xmm5,%xmm11
3455 vpxor %xmm9,%xmm8,%xmm8
3458 vpsllq $3,%xmm5,%xmm10
3461 vpaddq %xmm8,%xmm6,%xmm6
3464 vpsrlq $19,%xmm5,%xmm9
3467 vpxor %xmm10,%xmm11,%xmm11
3470 vpsllq $42,%xmm10,%xmm10
3473 vpxor %xmm9,%xmm11,%xmm11
3476 vpsrlq $42,%xmm9,%xmm9
3479 vpxor %xmm10,%xmm11,%xmm11
3482 vpxor %xmm9,%xmm11,%xmm11
3485 vpaddq %xmm11,%xmm6,%xmm6
3488 vpaddq 64(%rbp),%xmm6,%xmm10
3495 vmovdqa %xmm10,96(%rsp)
3496 vpalignr $8,%xmm7,%xmm0,%xmm8
3499 vpalignr $8,%xmm3,%xmm4,%xmm11
3502 vpsrlq $1,%xmm8,%xmm10
3505 vpaddq %xmm11,%xmm7,%xmm7
3508 vpsrlq $7,%xmm8,%xmm11
3511 vpsllq $56,%xmm8,%xmm9
3514 vpxor %xmm10,%xmm11,%xmm8
3517 vpsrlq $7,%xmm10,%xmm10
3520 vpxor %xmm9,%xmm8,%xmm8
3523 vpsllq $7,%xmm9,%xmm9
3526 vpxor %xmm10,%xmm8,%xmm8
3529 vpsrlq $6,%xmm6,%xmm11
3532 vpxor %xmm9,%xmm8,%xmm8
3535 vpsllq $3,%xmm6,%xmm10
3538 vpaddq %xmm8,%xmm7,%xmm7
3541 vpsrlq $19,%xmm6,%xmm9
3544 vpxor %xmm10,%xmm11,%xmm11
3547 vpsllq $42,%xmm10,%xmm10
3550 vpxor %xmm9,%xmm11,%xmm11
3553 vpsrlq $42,%xmm9,%xmm9
3556 vpxor %xmm10,%xmm11,%xmm11
3559 vpxor %xmm9,%xmm11,%xmm11
3562 vpaddq %xmm11,%xmm7,%xmm7
3565 vpaddq 96(%rbp),%xmm7,%xmm10
3572 vmovdqa %xmm10,112(%rsp)
3991 movq 128+0(%rsp),%rdi
4004 cmpq 128+16(%rsp),%rsi
4016 movq 128+24(%rsp),%rsi
4027 .size sha512_block_data_order_avx,.-sha512_block_data_order_avx
4028 .type sha512_block_data_order_avx2,@function
4030 sha512_block_data_order_avx2:
4042 leaq (%rsi,%rdx,8),%rdx
4044 movq %rdi,128+0(%rsp)
4045 movq %rsi,128+8(%rsp)
4046 movq %rdx,128+16(%rsp)
4047 movq %r11,128+24(%rsp)
4066 vmovdqu -128(%rsi),%xmm0
4067 vmovdqu -128+16(%rsi),%xmm1
4068 vmovdqu -128+32(%rsi),%xmm2
4069 leaq K512+128(%rip),%rbp
4070 vmovdqu -128+48(%rsi),%xmm3
4071 vmovdqu -128+64(%rsi),%xmm4
4072 vmovdqu -128+80(%rsi),%xmm5
4073 vmovdqu -128+96(%rsi),%xmm6
4074 vmovdqu -128+112(%rsi),%xmm7
4076 vmovdqa 1152(%rbp),%ymm10
4077 vinserti128 $1,(%r12),%ymm0,%ymm0
4078 vinserti128 $1,16(%r12),%ymm1,%ymm1
4079 vpshufb %ymm10,%ymm0,%ymm0
4080 vinserti128 $1,32(%r12),%ymm2,%ymm2
4081 vpshufb %ymm10,%ymm1,%ymm1
4082 vinserti128 $1,48(%r12),%ymm3,%ymm3
4083 vpshufb %ymm10,%ymm2,%ymm2
4084 vinserti128 $1,64(%r12),%ymm4,%ymm4
4085 vpshufb %ymm10,%ymm3,%ymm3
4086 vinserti128 $1,80(%r12),%ymm5,%ymm5
4087 vpshufb %ymm10,%ymm4,%ymm4
4088 vinserti128 $1,96(%r12),%ymm6,%ymm6
4089 vpshufb %ymm10,%ymm5,%ymm5
4090 vinserti128 $1,112(%r12),%ymm7,%ymm7
4092 vpaddq -128(%rbp),%ymm0,%ymm8
4093 vpshufb %ymm10,%ymm6,%ymm6
4094 vpaddq -96(%rbp),%ymm1,%ymm9
4095 vpshufb %ymm10,%ymm7,%ymm7
4096 vpaddq -64(%rbp),%ymm2,%ymm10
4097 vpaddq -32(%rbp),%ymm3,%ymm11
4098 vmovdqa %ymm8,0(%rsp)
4099 vpaddq 0(%rbp),%ymm4,%ymm8
4100 vmovdqa %ymm9,32(%rsp)
4101 vpaddq 32(%rbp),%ymm5,%ymm9
4102 vmovdqa %ymm10,64(%rsp)
4103 vpaddq 64(%rbp),%ymm6,%ymm10
4104 vmovdqa %ymm11,96(%rsp)
4105 leaq -128(%rsp),%rsp
4106 vpaddq 96(%rbp),%ymm7,%ymm11
4107 vmovdqa %ymm8,0(%rsp)
4109 vmovdqa %ymm9,32(%rsp)
4111 vmovdqa %ymm10,64(%rsp)
4113 vmovdqa %ymm11,96(%rsp)
4120 leaq -128(%rsp),%rsp
4121 vpalignr $8,%ymm0,%ymm1,%ymm8
4122 addq 0+256(%rsp),%r11
4125 vpalignr $8,%ymm4,%ymm5,%ymm11
4127 leaq (%rax,%r14,1),%rax
4128 leaq (%r11,%r12,1),%r11
4129 vpsrlq $1,%ymm8,%ymm10
4133 vpaddq %ymm11,%ymm0,%ymm0
4134 vpsrlq $7,%ymm8,%ymm11
4135 leaq (%r11,%r12,1),%r11
4138 vpsllq $56,%ymm8,%ymm9
4139 vpxor %ymm10,%ymm11,%ymm8
4141 leaq (%r11,%r13,1),%r11
4143 vpsrlq $7,%ymm10,%ymm10
4144 vpxor %ymm9,%ymm8,%ymm8
4147 leaq (%rdx,%r11,1),%rdx
4148 vpsllq $7,%ymm9,%ymm9
4149 vpxor %ymm10,%ymm8,%ymm8
4153 vpsrlq $6,%ymm7,%ymm11
4154 vpxor %ymm9,%ymm8,%ymm8
4156 leaq (%r11,%rdi,1),%r11
4158 vpsllq $3,%ymm7,%ymm10
4159 vpaddq %ymm8,%ymm0,%ymm0
4160 addq 8+256(%rsp),%r10
4163 vpsrlq $19,%ymm7,%ymm9
4164 vpxor %ymm10,%ymm11,%ymm11
4166 leaq (%r11,%r14,1),%r11
4167 leaq (%r10,%r12,1),%r10
4168 vpsllq $42,%ymm10,%ymm10
4169 vpxor %ymm9,%ymm11,%ymm11
4173 vpsrlq $42,%ymm9,%ymm9
4174 vpxor %ymm10,%ymm11,%ymm11
4175 leaq (%r10,%r12,1),%r10
4178 vpxor %ymm9,%ymm11,%ymm11
4180 leaq (%r10,%r13,1),%r10
4182 vpaddq %ymm11,%ymm0,%ymm0
4185 leaq (%rcx,%r10,1),%rcx
4186 vpaddq -128(%rbp),%ymm0,%ymm10
4191 leaq (%r10,%r15,1),%r10
4193 vmovdqa %ymm10,0(%rsp)
4194 vpalignr $8,%ymm1,%ymm2,%ymm8
4195 addq 32+256(%rsp),%r9
4198 vpalignr $8,%ymm5,%ymm6,%ymm11
4200 leaq (%r10,%r14,1),%r10
4201 leaq (%r9,%r12,1),%r9
4202 vpsrlq $1,%ymm8,%ymm10
4206 vpaddq %ymm11,%ymm1,%ymm1
4207 vpsrlq $7,%ymm8,%ymm11
4208 leaq (%r9,%r12,1),%r9
4211 vpsllq $56,%ymm8,%ymm9
4212 vpxor %ymm10,%ymm11,%ymm8
4214 leaq (%r9,%r13,1),%r9
4216 vpsrlq $7,%ymm10,%ymm10
4217 vpxor %ymm9,%ymm8,%ymm8
4220 leaq (%rbx,%r9,1),%rbx
4221 vpsllq $7,%ymm9,%ymm9
4222 vpxor %ymm10,%ymm8,%ymm8
4226 vpsrlq $6,%ymm0,%ymm11
4227 vpxor %ymm9,%ymm8,%ymm8
4229 leaq (%r9,%rdi,1),%r9
4231 vpsllq $3,%ymm0,%ymm10
4232 vpaddq %ymm8,%ymm1,%ymm1
4233 addq 40+256(%rsp),%r8
4236 vpsrlq $19,%ymm0,%ymm9
4237 vpxor %ymm10,%ymm11,%ymm11
4239 leaq (%r9,%r14,1),%r9
4240 leaq (%r8,%r12,1),%r8
4241 vpsllq $42,%ymm10,%ymm10
4242 vpxor %ymm9,%ymm11,%ymm11
4243 andnq %rdx,%rbx,%r12
4246 vpsrlq $42,%ymm9,%ymm9
4247 vpxor %ymm10,%ymm11,%ymm11
4248 leaq (%r8,%r12,1),%r8
4251 vpxor %ymm9,%ymm11,%ymm11
4253 leaq (%r8,%r13,1),%r8
4255 vpaddq %ymm11,%ymm1,%ymm1
4258 leaq (%rax,%r8,1),%rax
4259 vpaddq -96(%rbp),%ymm1,%ymm10
4264 leaq (%r8,%r15,1),%r8
4266 vmovdqa %ymm10,32(%rsp)
4267 vpalignr $8,%ymm2,%ymm3,%ymm8
4268 addq 64+256(%rsp),%rdx
4271 vpalignr $8,%ymm6,%ymm7,%ymm11
4273 leaq (%r8,%r14,1),%r8
4274 leaq (%rdx,%r12,1),%rdx
4275 vpsrlq $1,%ymm8,%ymm10
4276 andnq %rcx,%rax,%r12
4279 vpaddq %ymm11,%ymm2,%ymm2
4280 vpsrlq $7,%ymm8,%ymm11
4281 leaq (%rdx,%r12,1),%rdx
4284 vpsllq $56,%ymm8,%ymm9
4285 vpxor %ymm10,%ymm11,%ymm8
4287 leaq (%rdx,%r13,1),%rdx
4289 vpsrlq $7,%ymm10,%ymm10
4290 vpxor %ymm9,%ymm8,%ymm8
4293 leaq (%r11,%rdx,1),%r11
4294 vpsllq $7,%ymm9,%ymm9
4295 vpxor %ymm10,%ymm8,%ymm8
4299 vpsrlq $6,%ymm1,%ymm11
4300 vpxor %ymm9,%ymm8,%ymm8
4302 leaq (%rdx,%rdi,1),%rdx
4304 vpsllq $3,%ymm1,%ymm10
4305 vpaddq %ymm8,%ymm2,%ymm2
4306 addq 72+256(%rsp),%rcx
4309 vpsrlq $19,%ymm1,%ymm9
4310 vpxor %ymm10,%ymm11,%ymm11
4312 leaq (%rdx,%r14,1),%rdx
4313 leaq (%rcx,%r12,1),%rcx
4314 vpsllq $42,%ymm10,%ymm10
4315 vpxor %ymm9,%ymm11,%ymm11
4316 andnq %rbx,%r11,%r12
4319 vpsrlq $42,%ymm9,%ymm9
4320 vpxor %ymm10,%ymm11,%ymm11
4321 leaq (%rcx,%r12,1),%rcx
4324 vpxor %ymm9,%ymm11,%ymm11
4326 leaq (%rcx,%r13,1),%rcx
4328 vpaddq %ymm11,%ymm2,%ymm2
4331 leaq (%r10,%rcx,1),%r10
4332 vpaddq -64(%rbp),%ymm2,%ymm10
4337 leaq (%rcx,%r15,1),%rcx
4339 vmovdqa %ymm10,64(%rsp)
4340 vpalignr $8,%ymm3,%ymm4,%ymm8
4341 addq 96+256(%rsp),%rbx
4344 vpalignr $8,%ymm7,%ymm0,%ymm11
4346 leaq (%rcx,%r14,1),%rcx
4347 leaq (%rbx,%r12,1),%rbx
4348 vpsrlq $1,%ymm8,%ymm10
4349 andnq %rax,%r10,%r12
4352 vpaddq %ymm11,%ymm3,%ymm3
4353 vpsrlq $7,%ymm8,%ymm11
4354 leaq (%rbx,%r12,1),%rbx
4357 vpsllq $56,%ymm8,%ymm9
4358 vpxor %ymm10,%ymm11,%ymm8
4360 leaq (%rbx,%r13,1),%rbx
4362 vpsrlq $7,%ymm10,%ymm10
4363 vpxor %ymm9,%ymm8,%ymm8
4366 leaq (%r9,%rbx,1),%r9
4367 vpsllq $7,%ymm9,%ymm9
4368 vpxor %ymm10,%ymm8,%ymm8
4372 vpsrlq $6,%ymm2,%ymm11
4373 vpxor %ymm9,%ymm8,%ymm8
4375 leaq (%rbx,%rdi,1),%rbx
4377 vpsllq $3,%ymm2,%ymm10
4378 vpaddq %ymm8,%ymm3,%ymm3
4379 addq 104+256(%rsp),%rax
4382 vpsrlq $19,%ymm2,%ymm9
4383 vpxor %ymm10,%ymm11,%ymm11
4385 leaq (%rbx,%r14,1),%rbx
4386 leaq (%rax,%r12,1),%rax
4387 vpsllq $42,%ymm10,%ymm10
4388 vpxor %ymm9,%ymm11,%ymm11
4392 vpsrlq $42,%ymm9,%ymm9
4393 vpxor %ymm10,%ymm11,%ymm11
4394 leaq (%rax,%r12,1),%rax
4397 vpxor %ymm9,%ymm11,%ymm11
4399 leaq (%rax,%r13,1),%rax
4401 vpaddq %ymm11,%ymm3,%ymm3
4404 leaq (%r8,%rax,1),%r8
4405 vpaddq -32(%rbp),%ymm3,%ymm10
4410 leaq (%rax,%r15,1),%rax
4412 vmovdqa %ymm10,96(%rsp)
4413 leaq -128(%rsp),%rsp
4414 vpalignr $8,%ymm4,%ymm5,%ymm8
4415 addq 0+256(%rsp),%r11
4418 vpalignr $8,%ymm0,%ymm1,%ymm11
4420 leaq (%rax,%r14,1),%rax
4421 leaq (%r11,%r12,1),%r11
4422 vpsrlq $1,%ymm8,%ymm10
4426 vpaddq %ymm11,%ymm4,%ymm4
4427 vpsrlq $7,%ymm8,%ymm11
4428 leaq (%r11,%r12,1),%r11
4431 vpsllq $56,%ymm8,%ymm9
4432 vpxor %ymm10,%ymm11,%ymm8
4434 leaq (%r11,%r13,1),%r11
4436 vpsrlq $7,%ymm10,%ymm10
4437 vpxor %ymm9,%ymm8,%ymm8
4440 leaq (%rdx,%r11,1),%rdx
4441 vpsllq $7,%ymm9,%ymm9
4442 vpxor %ymm10,%ymm8,%ymm8
4446 vpsrlq $6,%ymm3,%ymm11
4447 vpxor %ymm9,%ymm8,%ymm8
4449 leaq (%r11,%rdi,1),%r11
4451 vpsllq $3,%ymm3,%ymm10
4452 vpaddq %ymm8,%ymm4,%ymm4
4453 addq 8+256(%rsp),%r10
4456 vpsrlq $19,%ymm3,%ymm9
4457 vpxor %ymm10,%ymm11,%ymm11
4459 leaq (%r11,%r14,1),%r11
4460 leaq (%r10,%r12,1),%r10
4461 vpsllq $42,%ymm10,%ymm10
4462 vpxor %ymm9,%ymm11,%ymm11
4466 vpsrlq $42,%ymm9,%ymm9
4467 vpxor %ymm10,%ymm11,%ymm11
4468 leaq (%r10,%r12,1),%r10
4471 vpxor %ymm9,%ymm11,%ymm11
4473 leaq (%r10,%r13,1),%r10
4475 vpaddq %ymm11,%ymm4,%ymm4
4478 leaq (%rcx,%r10,1),%rcx
4479 vpaddq 0(%rbp),%ymm4,%ymm10
4484 leaq (%r10,%r15,1),%r10
4486 vmovdqa %ymm10,0(%rsp)
4487 vpalignr $8,%ymm5,%ymm6,%ymm8
4488 addq 32+256(%rsp),%r9
4491 vpalignr $8,%ymm1,%ymm2,%ymm11
4493 leaq (%r10,%r14,1),%r10
4494 leaq (%r9,%r12,1),%r9
4495 vpsrlq $1,%ymm8,%ymm10
4499 vpaddq %ymm11,%ymm5,%ymm5
4500 vpsrlq $7,%ymm8,%ymm11
4501 leaq (%r9,%r12,1),%r9
4504 vpsllq $56,%ymm8,%ymm9
4505 vpxor %ymm10,%ymm11,%ymm8
4507 leaq (%r9,%r13,1),%r9
4509 vpsrlq $7,%ymm10,%ymm10
4510 vpxor %ymm9,%ymm8,%ymm8
4513 leaq (%rbx,%r9,1),%rbx
4514 vpsllq $7,%ymm9,%ymm9
4515 vpxor %ymm10,%ymm8,%ymm8
4519 vpsrlq $6,%ymm4,%ymm11
4520 vpxor %ymm9,%ymm8,%ymm8
4522 leaq (%r9,%rdi,1),%r9
4524 vpsllq $3,%ymm4,%ymm10
4525 vpaddq %ymm8,%ymm5,%ymm5
4526 addq 40+256(%rsp),%r8
4529 vpsrlq $19,%ymm4,%ymm9
4530 vpxor %ymm10,%ymm11,%ymm11
4532 leaq (%r9,%r14,1),%r9
4533 leaq (%r8,%r12,1),%r8
4534 vpsllq $42,%ymm10,%ymm10
4535 vpxor %ymm9,%ymm11,%ymm11
4536 andnq %rdx,%rbx,%r12
4539 vpsrlq $42,%ymm9,%ymm9
4540 vpxor %ymm10,%ymm11,%ymm11
4541 leaq (%r8,%r12,1),%r8
4544 vpxor %ymm9,%ymm11,%ymm11
4546 leaq (%r8,%r13,1),%r8
4548 vpaddq %ymm11,%ymm5,%ymm5
4551 leaq (%rax,%r8,1),%rax
4552 vpaddq 32(%rbp),%ymm5,%ymm10
4557 leaq (%r8,%r15,1),%r8
4559 vmovdqa %ymm10,32(%rsp)
4560 vpalignr $8,%ymm6,%ymm7,%ymm8
4561 addq 64+256(%rsp),%rdx
4564 vpalignr $8,%ymm2,%ymm3,%ymm11
4566 leaq (%r8,%r14,1),%r8
4567 leaq (%rdx,%r12,1),%rdx
4568 vpsrlq $1,%ymm8,%ymm10
4569 andnq %rcx,%rax,%r12
4572 vpaddq %ymm11,%ymm6,%ymm6
4573 vpsrlq $7,%ymm8,%ymm11
4574 leaq (%rdx,%r12,1),%rdx
4577 vpsllq $56,%ymm8,%ymm9
4578 vpxor %ymm10,%ymm11,%ymm8
4580 leaq (%rdx,%r13,1),%rdx
4582 vpsrlq $7,%ymm10,%ymm10
4583 vpxor %ymm9,%ymm8,%ymm8
4586 leaq (%r11,%rdx,1),%r11
4587 vpsllq $7,%ymm9,%ymm9
4588 vpxor %ymm10,%ymm8,%ymm8
4592 vpsrlq $6,%ymm5,%ymm11
4593 vpxor %ymm9,%ymm8,%ymm8
4595 leaq (%rdx,%rdi,1),%rdx
4597 vpsllq $3,%ymm5,%ymm10
4598 vpaddq %ymm8,%ymm6,%ymm6
4599 addq 72+256(%rsp),%rcx
4602 vpsrlq $19,%ymm5,%ymm9
4603 vpxor %ymm10,%ymm11,%ymm11
4605 leaq (%rdx,%r14,1),%rdx
4606 leaq (%rcx,%r12,1),%rcx
4607 vpsllq $42,%ymm10,%ymm10
4608 vpxor %ymm9,%ymm11,%ymm11
4609 andnq %rbx,%r11,%r12
4612 vpsrlq $42,%ymm9,%ymm9
4613 vpxor %ymm10,%ymm11,%ymm11
4614 leaq (%rcx,%r12,1),%rcx
4617 vpxor %ymm9,%ymm11,%ymm11
4619 leaq (%rcx,%r13,1),%rcx
4621 vpaddq %ymm11,%ymm6,%ymm6
4624 leaq (%r10,%rcx,1),%r10
4625 vpaddq 64(%rbp),%ymm6,%ymm10
4630 leaq (%rcx,%r15,1),%rcx
4632 vmovdqa %ymm10,64(%rsp)
4633 vpalignr $8,%ymm7,%ymm0,%ymm8
4634 addq 96+256(%rsp),%rbx
4637 vpalignr $8,%ymm3,%ymm4,%ymm11
4639 leaq (%rcx,%r14,1),%rcx
4640 leaq (%rbx,%r12,1),%rbx
4641 vpsrlq $1,%ymm8,%ymm10
4642 andnq %rax,%r10,%r12
4645 vpaddq %ymm11,%ymm7,%ymm7
4646 vpsrlq $7,%ymm8,%ymm11
4647 leaq (%rbx,%r12,1),%rbx
4650 vpsllq $56,%ymm8,%ymm9
4651 vpxor %ymm10,%ymm11,%ymm8
4653 leaq (%rbx,%r13,1),%rbx
4655 vpsrlq $7,%ymm10,%ymm10
4656 vpxor %ymm9,%ymm8,%ymm8
4659 leaq (%r9,%rbx,1),%r9
4660 vpsllq $7,%ymm9,%ymm9
4661 vpxor %ymm10,%ymm8,%ymm8
4665 vpsrlq $6,%ymm6,%ymm11
4666 vpxor %ymm9,%ymm8,%ymm8
4668 leaq (%rbx,%rdi,1),%rbx
4670 vpsllq $3,%ymm6,%ymm10
4671 vpaddq %ymm8,%ymm7,%ymm7
4672 addq 104+256(%rsp),%rax
4675 vpsrlq $19,%ymm6,%ymm9
4676 vpxor %ymm10,%ymm11,%ymm11
4678 leaq (%rbx,%r14,1),%rbx
4679 leaq (%rax,%r12,1),%rax
4680 vpsllq $42,%ymm10,%ymm10
4681 vpxor %ymm9,%ymm11,%ymm11
4685 vpsrlq $42,%ymm9,%ymm9
4686 vpxor %ymm10,%ymm11,%ymm11
4687 leaq (%rax,%r12,1),%rax
4690 vpxor %ymm9,%ymm11,%ymm11
4692 leaq (%rax,%r13,1),%rax
4694 vpaddq %ymm11,%ymm7,%ymm7
4697 leaq (%r8,%rax,1),%r8
4698 vpaddq 96(%rbp),%ymm7,%ymm10
4703 leaq (%rax,%r15,1),%rax
4705 vmovdqa %ymm10,96(%rsp)
4709 addq 0+128(%rsp),%r11
4713 leaq (%rax,%r14,1),%rax
4714 leaq (%r11,%r12,1),%r11
4718 leaq (%r11,%r12,1),%r11
4722 leaq (%r11,%r13,1),%r11
4726 leaq (%rdx,%r11,1),%rdx
4731 leaq (%r11,%rdi,1),%r11
4733 addq 8+128(%rsp),%r10
4737 leaq (%r11,%r14,1),%r11
4738 leaq (%r10,%r12,1),%r10
4742 leaq (%r10,%r12,1),%r10
4746 leaq (%r10,%r13,1),%r10
4750 leaq (%rcx,%r10,1),%rcx
4755 leaq (%r10,%r15,1),%r10
4757 addq 32+128(%rsp),%r9
4761 leaq (%r10,%r14,1),%r10
4762 leaq (%r9,%r12,1),%r9
4766 leaq (%r9,%r12,1),%r9
4770 leaq (%r9,%r13,1),%r9
4774 leaq (%rbx,%r9,1),%rbx
4779 leaq (%r9,%rdi,1),%r9
4781 addq 40+128(%rsp),%r8
4785 leaq (%r9,%r14,1),%r9
4786 leaq (%r8,%r12,1),%r8
4787 andnq %rdx,%rbx,%r12
4790 leaq (%r8,%r12,1),%r8
4794 leaq (%r8,%r13,1),%r8
4798 leaq (%rax,%r8,1),%rax
4803 leaq (%r8,%r15,1),%r8
4805 addq 64+128(%rsp),%rdx
4809 leaq (%r8,%r14,1),%r8
4810 leaq (%rdx,%r12,1),%rdx
4811 andnq %rcx,%rax,%r12
4814 leaq (%rdx,%r12,1),%rdx
4818 leaq (%rdx,%r13,1),%rdx
4822 leaq (%r11,%rdx,1),%r11
4827 leaq (%rdx,%rdi,1),%rdx
4829 addq 72+128(%rsp),%rcx
4833 leaq (%rdx,%r14,1),%rdx
4834 leaq (%rcx,%r12,1),%rcx
4835 andnq %rbx,%r11,%r12
4838 leaq (%rcx,%r12,1),%rcx
4842 leaq (%rcx,%r13,1),%rcx
4846 leaq (%r10,%rcx,1),%r10
4851 leaq (%rcx,%r15,1),%rcx
4853 addq 96+128(%rsp),%rbx
4857 leaq (%rcx,%r14,1),%rcx
4858 leaq (%rbx,%r12,1),%rbx
4859 andnq %rax,%r10,%r12
4862 leaq (%rbx,%r12,1),%rbx
4866 leaq (%rbx,%r13,1),%rbx
4870 leaq (%r9,%rbx,1),%r9
4875 leaq (%rbx,%rdi,1),%rbx
4877 addq 104+128(%rsp),%rax
4881 leaq (%rbx,%r14,1),%rbx
4882 leaq (%rax,%r12,1),%rax
4886 leaq (%rax,%r12,1),%rax
4890 leaq (%rax,%r13,1),%rax
4894 leaq (%r8,%rax,1),%r8
4899 leaq (%rax,%r15,1),%rax
4905 leaq (%rax,%r14,1),%rax
4906 leaq (%r11,%r12,1),%r11
4910 leaq (%r11,%r12,1),%r11
4914 leaq (%r11,%r13,1),%r11
4918 leaq (%rdx,%r11,1),%rdx
4923 leaq (%r11,%rdi,1),%r11
4929 leaq (%r11,%r14,1),%r11
4930 leaq (%r10,%r12,1),%r10
4934 leaq (%r10,%r12,1),%r10
4938 leaq (%r10,%r13,1),%r10
4942 leaq (%rcx,%r10,1),%rcx
4947 leaq (%r10,%r15,1),%r10
4953 leaq (%r10,%r14,1),%r10
4954 leaq (%r9,%r12,1),%r9
4958 leaq (%r9,%r12,1),%r9
4962 leaq (%r9,%r13,1),%r9
4966 leaq (%rbx,%r9,1),%rbx
4971 leaq (%r9,%rdi,1),%r9
4977 leaq (%r9,%r14,1),%r9
4978 leaq (%r8,%r12,1),%r8
4979 andnq %rdx,%rbx,%r12
4982 leaq (%r8,%r12,1),%r8
4986 leaq (%r8,%r13,1),%r8
4990 leaq (%rax,%r8,1),%rax
4995 leaq (%r8,%r15,1),%r8
5001 leaq (%r8,%r14,1),%r8
5002 leaq (%rdx,%r12,1),%rdx
5003 andnq %rcx,%rax,%r12
5006 leaq (%rdx,%r12,1),%rdx
5010 leaq (%rdx,%r13,1),%rdx
5014 leaq (%r11,%rdx,1),%r11
5019 leaq (%rdx,%rdi,1),%rdx
5025 leaq (%rdx,%r14,1),%rdx
5026 leaq (%rcx,%r12,1),%rcx
5027 andnq %rbx,%r11,%r12
5030 leaq (%rcx,%r12,1),%rcx
5034 leaq (%rcx,%r13,1),%rcx
5038 leaq (%r10,%rcx,1),%r10
5043 leaq (%rcx,%r15,1),%rcx
5049 leaq (%rcx,%r14,1),%rcx
5050 leaq (%rbx,%r12,1),%rbx
5051 andnq %rax,%r10,%r12
5054 leaq (%rbx,%r12,1),%rbx
5058 leaq (%rbx,%r13,1),%rbx
5062 leaq (%r9,%rbx,1),%r9
5067 leaq (%rbx,%rdi,1),%rbx
5073 leaq (%rbx,%r14,1),%rbx
5074 leaq (%rax,%r12,1),%rax
5078 leaq (%rax,%r12,1),%rax
5082 leaq (%rax,%r13,1),%rax
5086 leaq (%r8,%rax,1),%r8
5091 leaq (%rax,%r15,1),%rax
5093 movq 1280(%rsp),%rdi
5096 leaq 1152(%rsp),%rbp
5126 addq 0+16(%rbp),%r11
5130 leaq (%rax,%r14,1),%rax
5131 leaq (%r11,%r12,1),%r11
5135 leaq (%r11,%r12,1),%r11
5139 leaq (%r11,%r13,1),%r11
5143 leaq (%rdx,%r11,1),%rdx
5148 leaq (%r11,%rdi,1),%r11
5150 addq 8+16(%rbp),%r10
5154 leaq (%r11,%r14,1),%r11
5155 leaq (%r10,%r12,1),%r10
5159 leaq (%r10,%r12,1),%r10
5163 leaq (%r10,%r13,1),%r10
5167 leaq (%rcx,%r10,1),%rcx
5172 leaq (%r10,%r15,1),%r10
5174 addq 32+16(%rbp),%r9
5178 leaq (%r10,%r14,1),%r10
5179 leaq (%r9,%r12,1),%r9
5183 leaq (%r9,%r12,1),%r9
5187 leaq (%r9,%r13,1),%r9
5191 leaq (%rbx,%r9,1),%rbx
5196 leaq (%r9,%rdi,1),%r9
5198 addq 40+16(%rbp),%r8
5202 leaq (%r9,%r14,1),%r9
5203 leaq (%r8,%r12,1),%r8
5204 andnq %rdx,%rbx,%r12
5207 leaq (%r8,%r12,1),%r8
5211 leaq (%r8,%r13,1),%r8
5215 leaq (%rax,%r8,1),%rax
5220 leaq (%r8,%r15,1),%r8
5222 addq 64+16(%rbp),%rdx
5226 leaq (%r8,%r14,1),%r8
5227 leaq (%rdx,%r12,1),%rdx
5228 andnq %rcx,%rax,%r12
5231 leaq (%rdx,%r12,1),%rdx
5235 leaq (%rdx,%r13,1),%rdx
5239 leaq (%r11,%rdx,1),%r11
5244 leaq (%rdx,%rdi,1),%rdx
5246 addq 72+16(%rbp),%rcx
5250 leaq (%rdx,%r14,1),%rdx
5251 leaq (%rcx,%r12,1),%rcx
5252 andnq %rbx,%r11,%r12
5255 leaq (%rcx,%r12,1),%rcx
5259 leaq (%rcx,%r13,1),%rcx
5263 leaq (%r10,%rcx,1),%r10
5268 leaq (%rcx,%r15,1),%rcx
5270 addq 96+16(%rbp),%rbx
5274 leaq (%rcx,%r14,1),%rcx
5275 leaq (%rbx,%r12,1),%rbx
5276 andnq %rax,%r10,%r12
5279 leaq (%rbx,%r12,1),%rbx
5283 leaq (%rbx,%r13,1),%rbx
5287 leaq (%r9,%rbx,1),%r9
5292 leaq (%rbx,%rdi,1),%rbx
5294 addq 104+16(%rbp),%rax
5298 leaq (%rbx,%r14,1),%rbx
5299 leaq (%rax,%r12,1),%rax
5303 leaq (%rax,%r12,1),%rax
5307 leaq (%rax,%r13,1),%rax
5311 leaq (%r8,%rax,1),%r8
5316 leaq (%rax,%r15,1),%rax
5318 leaq -128(%rbp),%rbp
5322 movq 1280(%rsp),%rdi
5325 leaq 1152(%rsp),%rsp
5337 cmpq 128+16(%rsp),%rsi
5354 movq 128+24(%rsp),%rsi
5365 .size sha512_block_data_order_avx2,.-sha512_block_data_order_avx2
5366 .section .note.GNU-stack,"",%progbits