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:
11 leaq OPENSSL_ia32cap_P(%rip),%r11
23 cmpl $1342177792,%r10d
26 .cfi_def_cfa_register %rax
41 leaq (%rsi,%rdx,8),%rdx
45 movq %rdx,128+16(%rsp)
47 .cfi_escape 0x0f,0x06,0x77,0x98,0x01,0x06,0x23,0x08
1686 movq 128+0(%rsp),%rdi
1699 cmpq 128+16(%rsp),%rsi
1726 .cfi_def_cfa_register %rsp
1730 .size sha512_block_data_order,.-sha512_block_data_order
1734 .quad 0x428a2f98d728ae22,0x7137449123ef65cd
1735 .quad 0x428a2f98d728ae22,0x7137449123ef65cd
1736 .quad 0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc
1737 .quad 0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc
1738 .quad 0x3956c25bf348b538,0x59f111f1b605d019
1739 .quad 0x3956c25bf348b538,0x59f111f1b605d019
1740 .quad 0x923f82a4af194f9b,0xab1c5ed5da6d8118
1741 .quad 0x923f82a4af194f9b,0xab1c5ed5da6d8118
1742 .quad 0xd807aa98a3030242,0x12835b0145706fbe
1743 .quad 0xd807aa98a3030242,0x12835b0145706fbe
1744 .quad 0x243185be4ee4b28c,0x550c7dc3d5ffb4e2
1745 .quad 0x243185be4ee4b28c,0x550c7dc3d5ffb4e2
1746 .quad 0x72be5d74f27b896f,0x80deb1fe3b1696b1
1747 .quad 0x72be5d74f27b896f,0x80deb1fe3b1696b1
1748 .quad 0x9bdc06a725c71235,0xc19bf174cf692694
1749 .quad 0x9bdc06a725c71235,0xc19bf174cf692694
1750 .quad 0xe49b69c19ef14ad2,0xefbe4786384f25e3
1751 .quad 0xe49b69c19ef14ad2,0xefbe4786384f25e3
1752 .quad 0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65
1753 .quad 0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65
1754 .quad 0x2de92c6f592b0275,0x4a7484aa6ea6e483
1755 .quad 0x2de92c6f592b0275,0x4a7484aa6ea6e483
1756 .quad 0x5cb0a9dcbd41fbd4,0x76f988da831153b5
1757 .quad 0x5cb0a9dcbd41fbd4,0x76f988da831153b5
1758 .quad 0x983e5152ee66dfab,0xa831c66d2db43210
1759 .quad 0x983e5152ee66dfab,0xa831c66d2db43210
1760 .quad 0xb00327c898fb213f,0xbf597fc7beef0ee4
1761 .quad 0xb00327c898fb213f,0xbf597fc7beef0ee4
1762 .quad 0xc6e00bf33da88fc2,0xd5a79147930aa725
1763 .quad 0xc6e00bf33da88fc2,0xd5a79147930aa725
1764 .quad 0x06ca6351e003826f,0x142929670a0e6e70
1765 .quad 0x06ca6351e003826f,0x142929670a0e6e70
1766 .quad 0x27b70a8546d22ffc,0x2e1b21385c26c926
1767 .quad 0x27b70a8546d22ffc,0x2e1b21385c26c926
1768 .quad 0x4d2c6dfc5ac42aed,0x53380d139d95b3df
1769 .quad 0x4d2c6dfc5ac42aed,0x53380d139d95b3df
1770 .quad 0x650a73548baf63de,0x766a0abb3c77b2a8
1771 .quad 0x650a73548baf63de,0x766a0abb3c77b2a8
1772 .quad 0x81c2c92e47edaee6,0x92722c851482353b
1773 .quad 0x81c2c92e47edaee6,0x92722c851482353b
1774 .quad 0xa2bfe8a14cf10364,0xa81a664bbc423001
1775 .quad 0xa2bfe8a14cf10364,0xa81a664bbc423001
1776 .quad 0xc24b8b70d0f89791,0xc76c51a30654be30
1777 .quad 0xc24b8b70d0f89791,0xc76c51a30654be30
1778 .quad 0xd192e819d6ef5218,0xd69906245565a910
1779 .quad 0xd192e819d6ef5218,0xd69906245565a910
1780 .quad 0xf40e35855771202a,0x106aa07032bbd1b8
1781 .quad 0xf40e35855771202a,0x106aa07032bbd1b8
1782 .quad 0x19a4c116b8d2d0c8,0x1e376c085141ab53
1783 .quad 0x19a4c116b8d2d0c8,0x1e376c085141ab53
1784 .quad 0x2748774cdf8eeb99,0x34b0bcb5e19b48a8
1785 .quad 0x2748774cdf8eeb99,0x34b0bcb5e19b48a8
1786 .quad 0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb
1787 .quad 0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb
1788 .quad 0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3
1789 .quad 0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3
1790 .quad 0x748f82ee5defb2fc,0x78a5636f43172f60
1791 .quad 0x748f82ee5defb2fc,0x78a5636f43172f60
1792 .quad 0x84c87814a1f0ab72,0x8cc702081a6439ec
1793 .quad 0x84c87814a1f0ab72,0x8cc702081a6439ec
1794 .quad 0x90befffa23631e28,0xa4506cebde82bde9
1795 .quad 0x90befffa23631e28,0xa4506cebde82bde9
1796 .quad 0xbef9a3f7b2c67915,0xc67178f2e372532b
1797 .quad 0xbef9a3f7b2c67915,0xc67178f2e372532b
1798 .quad 0xca273eceea26619c,0xd186b8c721c0c207
1799 .quad 0xca273eceea26619c,0xd186b8c721c0c207
1800 .quad 0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178
1801 .quad 0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178
1802 .quad 0x06f067aa72176fba,0x0a637dc5a2c898a6
1803 .quad 0x06f067aa72176fba,0x0a637dc5a2c898a6
1804 .quad 0x113f9804bef90dae,0x1b710b35131c471b
1805 .quad 0x113f9804bef90dae,0x1b710b35131c471b
1806 .quad 0x28db77f523047d84,0x32caab7b40c72493
1807 .quad 0x28db77f523047d84,0x32caab7b40c72493
1808 .quad 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
1809 .quad 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
1810 .quad 0x4cc5d4becb3e42b6,0x597f299cfc657e2a
1811 .quad 0x4cc5d4becb3e42b6,0x597f299cfc657e2a
1812 .quad 0x5fcb6fab3ad6faec,0x6c44198c4a475817
1813 .quad 0x5fcb6fab3ad6faec,0x6c44198c4a475817
1815 .quad 0x0001020304050607,0x08090a0b0c0d0e0f
1816 .quad 0x0001020304050607,0x08090a0b0c0d0e0f
1817 .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
1818 .type sha512_block_data_order_xop,@function
1820 sha512_block_data_order_xop:
1824 .cfi_def_cfa_register %rax
1826 .cfi_offset %rbx,-16
1828 .cfi_offset %rbp,-24
1830 .cfi_offset %r12,-32
1832 .cfi_offset %r13,-40
1834 .cfi_offset %r14,-48
1836 .cfi_offset %r15,-56
1839 leaq (%rsi,%rdx,8),%rdx
1841 movq %rdi,128+0(%rsp)
1842 movq %rsi,128+8(%rsp)
1843 movq %rdx,128+16(%rsp)
1845 .cfi_escape 0x0f,0x06,0x77,0x98,0x01,0x06,0x23,0x08
1860 vmovdqa K512+1280(%rip),%xmm11
1861 vmovdqu 0(%rsi),%xmm0
1862 leaq K512+128(%rip),%rbp
1863 vmovdqu 16(%rsi),%xmm1
1864 vmovdqu 32(%rsi),%xmm2
1865 vpshufb %xmm11,%xmm0,%xmm0
1866 vmovdqu 48(%rsi),%xmm3
1867 vpshufb %xmm11,%xmm1,%xmm1
1868 vmovdqu 64(%rsi),%xmm4
1869 vpshufb %xmm11,%xmm2,%xmm2
1870 vmovdqu 80(%rsi),%xmm5
1871 vpshufb %xmm11,%xmm3,%xmm3
1872 vmovdqu 96(%rsi),%xmm6
1873 vpshufb %xmm11,%xmm4,%xmm4
1874 vmovdqu 112(%rsi),%xmm7
1875 vpshufb %xmm11,%xmm5,%xmm5
1876 vpaddq -128(%rbp),%xmm0,%xmm8
1877 vpshufb %xmm11,%xmm6,%xmm6
1878 vpaddq -96(%rbp),%xmm1,%xmm9
1879 vpshufb %xmm11,%xmm7,%xmm7
1880 vpaddq -64(%rbp),%xmm2,%xmm10
1881 vpaddq -32(%rbp),%xmm3,%xmm11
1882 vmovdqa %xmm8,0(%rsp)
1883 vpaddq 0(%rbp),%xmm4,%xmm8
1884 vmovdqa %xmm9,16(%rsp)
1885 vpaddq 32(%rbp),%xmm5,%xmm9
1886 vmovdqa %xmm10,32(%rsp)
1887 vpaddq 64(%rbp),%xmm6,%xmm10
1888 vmovdqa %xmm11,48(%rsp)
1889 vpaddq 96(%rbp),%xmm7,%xmm11
1890 vmovdqa %xmm8,64(%rsp)
1892 vmovdqa %xmm9,80(%rsp)
1894 vmovdqa %xmm10,96(%rsp)
1896 vmovdqa %xmm11,112(%rsp)
1903 vpalignr $8,%xmm0,%xmm1,%xmm8
1906 vpalignr $8,%xmm4,%xmm5,%xmm11
1909 .byte 143,72,120,195,200,56
1912 vpsrlq $7,%xmm8,%xmm8
1915 vpaddq %xmm11,%xmm0,%xmm0
1920 .byte 143,72,120,195,209,7
1923 vpxor %xmm9,%xmm8,%xmm8
1928 .byte 143,104,120,195,223,3
1931 vpxor %xmm10,%xmm8,%xmm8
1934 vpsrlq $6,%xmm7,%xmm10
1937 vpaddq %xmm8,%xmm0,%xmm0
1940 .byte 143,72,120,195,203,42
1943 vpxor %xmm10,%xmm11,%xmm11
1948 vpxor %xmm9,%xmm11,%xmm11
1953 vpaddq %xmm11,%xmm0,%xmm0
1958 vpaddq -128(%rbp),%xmm0,%xmm10
1971 vmovdqa %xmm10,0(%rsp)
1972 vpalignr $8,%xmm1,%xmm2,%xmm8
1975 vpalignr $8,%xmm5,%xmm6,%xmm11
1978 .byte 143,72,120,195,200,56
1981 vpsrlq $7,%xmm8,%xmm8
1984 vpaddq %xmm11,%xmm1,%xmm1
1989 .byte 143,72,120,195,209,7
1992 vpxor %xmm9,%xmm8,%xmm8
1997 .byte 143,104,120,195,216,3
2000 vpxor %xmm10,%xmm8,%xmm8
2003 vpsrlq $6,%xmm0,%xmm10
2006 vpaddq %xmm8,%xmm1,%xmm1
2009 .byte 143,72,120,195,203,42
2012 vpxor %xmm10,%xmm11,%xmm11
2017 vpxor %xmm9,%xmm11,%xmm11
2022 vpaddq %xmm11,%xmm1,%xmm1
2027 vpaddq -96(%rbp),%xmm1,%xmm10
2040 vmovdqa %xmm10,16(%rsp)
2041 vpalignr $8,%xmm2,%xmm3,%xmm8
2044 vpalignr $8,%xmm6,%xmm7,%xmm11
2047 .byte 143,72,120,195,200,56
2050 vpsrlq $7,%xmm8,%xmm8
2053 vpaddq %xmm11,%xmm2,%xmm2
2058 .byte 143,72,120,195,209,7
2061 vpxor %xmm9,%xmm8,%xmm8
2066 .byte 143,104,120,195,217,3
2069 vpxor %xmm10,%xmm8,%xmm8
2072 vpsrlq $6,%xmm1,%xmm10
2075 vpaddq %xmm8,%xmm2,%xmm2
2078 .byte 143,72,120,195,203,42
2081 vpxor %xmm10,%xmm11,%xmm11
2086 vpxor %xmm9,%xmm11,%xmm11
2091 vpaddq %xmm11,%xmm2,%xmm2
2096 vpaddq -64(%rbp),%xmm2,%xmm10
2109 vmovdqa %xmm10,32(%rsp)
2110 vpalignr $8,%xmm3,%xmm4,%xmm8
2113 vpalignr $8,%xmm7,%xmm0,%xmm11
2116 .byte 143,72,120,195,200,56
2119 vpsrlq $7,%xmm8,%xmm8
2122 vpaddq %xmm11,%xmm3,%xmm3
2127 .byte 143,72,120,195,209,7
2130 vpxor %xmm9,%xmm8,%xmm8
2135 .byte 143,104,120,195,218,3
2138 vpxor %xmm10,%xmm8,%xmm8
2141 vpsrlq $6,%xmm2,%xmm10
2144 vpaddq %xmm8,%xmm3,%xmm3
2147 .byte 143,72,120,195,203,42
2150 vpxor %xmm10,%xmm11,%xmm11
2155 vpxor %xmm9,%xmm11,%xmm11
2160 vpaddq %xmm11,%xmm3,%xmm3
2165 vpaddq -32(%rbp),%xmm3,%xmm10
2178 vmovdqa %xmm10,48(%rsp)
2179 vpalignr $8,%xmm4,%xmm5,%xmm8
2182 vpalignr $8,%xmm0,%xmm1,%xmm11
2185 .byte 143,72,120,195,200,56
2188 vpsrlq $7,%xmm8,%xmm8
2191 vpaddq %xmm11,%xmm4,%xmm4
2196 .byte 143,72,120,195,209,7
2199 vpxor %xmm9,%xmm8,%xmm8
2204 .byte 143,104,120,195,219,3
2207 vpxor %xmm10,%xmm8,%xmm8
2210 vpsrlq $6,%xmm3,%xmm10
2213 vpaddq %xmm8,%xmm4,%xmm4
2216 .byte 143,72,120,195,203,42
2219 vpxor %xmm10,%xmm11,%xmm11
2224 vpxor %xmm9,%xmm11,%xmm11
2229 vpaddq %xmm11,%xmm4,%xmm4
2234 vpaddq 0(%rbp),%xmm4,%xmm10
2247 vmovdqa %xmm10,64(%rsp)
2248 vpalignr $8,%xmm5,%xmm6,%xmm8
2251 vpalignr $8,%xmm1,%xmm2,%xmm11
2254 .byte 143,72,120,195,200,56
2257 vpsrlq $7,%xmm8,%xmm8
2260 vpaddq %xmm11,%xmm5,%xmm5
2265 .byte 143,72,120,195,209,7
2268 vpxor %xmm9,%xmm8,%xmm8
2273 .byte 143,104,120,195,220,3
2276 vpxor %xmm10,%xmm8,%xmm8
2279 vpsrlq $6,%xmm4,%xmm10
2282 vpaddq %xmm8,%xmm5,%xmm5
2285 .byte 143,72,120,195,203,42
2288 vpxor %xmm10,%xmm11,%xmm11
2293 vpxor %xmm9,%xmm11,%xmm11
2298 vpaddq %xmm11,%xmm5,%xmm5
2303 vpaddq 32(%rbp),%xmm5,%xmm10
2316 vmovdqa %xmm10,80(%rsp)
2317 vpalignr $8,%xmm6,%xmm7,%xmm8
2320 vpalignr $8,%xmm2,%xmm3,%xmm11
2323 .byte 143,72,120,195,200,56
2326 vpsrlq $7,%xmm8,%xmm8
2329 vpaddq %xmm11,%xmm6,%xmm6
2334 .byte 143,72,120,195,209,7
2337 vpxor %xmm9,%xmm8,%xmm8
2342 .byte 143,104,120,195,221,3
2345 vpxor %xmm10,%xmm8,%xmm8
2348 vpsrlq $6,%xmm5,%xmm10
2351 vpaddq %xmm8,%xmm6,%xmm6
2354 .byte 143,72,120,195,203,42
2357 vpxor %xmm10,%xmm11,%xmm11
2362 vpxor %xmm9,%xmm11,%xmm11
2367 vpaddq %xmm11,%xmm6,%xmm6
2372 vpaddq 64(%rbp),%xmm6,%xmm10
2385 vmovdqa %xmm10,96(%rsp)
2386 vpalignr $8,%xmm7,%xmm0,%xmm8
2389 vpalignr $8,%xmm3,%xmm4,%xmm11
2392 .byte 143,72,120,195,200,56
2395 vpsrlq $7,%xmm8,%xmm8
2398 vpaddq %xmm11,%xmm7,%xmm7
2403 .byte 143,72,120,195,209,7
2406 vpxor %xmm9,%xmm8,%xmm8
2411 .byte 143,104,120,195,222,3
2414 vpxor %xmm10,%xmm8,%xmm8
2417 vpsrlq $6,%xmm6,%xmm10
2420 vpaddq %xmm8,%xmm7,%xmm7
2423 .byte 143,72,120,195,203,42
2426 vpxor %xmm10,%xmm11,%xmm11
2431 vpxor %xmm9,%xmm11,%xmm11
2436 vpaddq %xmm11,%xmm7,%xmm7
2441 vpaddq 96(%rbp),%xmm7,%xmm10
2454 vmovdqa %xmm10,112(%rsp)
2873 movq 128+0(%rsp),%rdi
2886 cmpq 128+16(%rsp),%rsi
2914 .cfi_def_cfa_register %rsp
2918 .size sha512_block_data_order_xop,.-sha512_block_data_order_xop
2919 .type sha512_block_data_order_avx,@function
2921 sha512_block_data_order_avx:
2925 .cfi_def_cfa_register %rax
2927 .cfi_offset %rbx,-16
2929 .cfi_offset %rbp,-24
2931 .cfi_offset %r12,-32
2933 .cfi_offset %r13,-40
2935 .cfi_offset %r14,-48
2937 .cfi_offset %r15,-56
2940 leaq (%rsi,%rdx,8),%rdx
2942 movq %rdi,128+0(%rsp)
2943 movq %rsi,128+8(%rsp)
2944 movq %rdx,128+16(%rsp)
2946 .cfi_escape 0x0f,0x06,0x77,0x98,0x01,0x06,0x23,0x08
2961 vmovdqa K512+1280(%rip),%xmm11
2962 vmovdqu 0(%rsi),%xmm0
2963 leaq K512+128(%rip),%rbp
2964 vmovdqu 16(%rsi),%xmm1
2965 vmovdqu 32(%rsi),%xmm2
2966 vpshufb %xmm11,%xmm0,%xmm0
2967 vmovdqu 48(%rsi),%xmm3
2968 vpshufb %xmm11,%xmm1,%xmm1
2969 vmovdqu 64(%rsi),%xmm4
2970 vpshufb %xmm11,%xmm2,%xmm2
2971 vmovdqu 80(%rsi),%xmm5
2972 vpshufb %xmm11,%xmm3,%xmm3
2973 vmovdqu 96(%rsi),%xmm6
2974 vpshufb %xmm11,%xmm4,%xmm4
2975 vmovdqu 112(%rsi),%xmm7
2976 vpshufb %xmm11,%xmm5,%xmm5
2977 vpaddq -128(%rbp),%xmm0,%xmm8
2978 vpshufb %xmm11,%xmm6,%xmm6
2979 vpaddq -96(%rbp),%xmm1,%xmm9
2980 vpshufb %xmm11,%xmm7,%xmm7
2981 vpaddq -64(%rbp),%xmm2,%xmm10
2982 vpaddq -32(%rbp),%xmm3,%xmm11
2983 vmovdqa %xmm8,0(%rsp)
2984 vpaddq 0(%rbp),%xmm4,%xmm8
2985 vmovdqa %xmm9,16(%rsp)
2986 vpaddq 32(%rbp),%xmm5,%xmm9
2987 vmovdqa %xmm10,32(%rsp)
2988 vpaddq 64(%rbp),%xmm6,%xmm10
2989 vmovdqa %xmm11,48(%rsp)
2990 vpaddq 96(%rbp),%xmm7,%xmm11
2991 vmovdqa %xmm8,64(%rsp)
2993 vmovdqa %xmm9,80(%rsp)
2995 vmovdqa %xmm10,96(%rsp)
2997 vmovdqa %xmm11,112(%rsp)
3004 vpalignr $8,%xmm0,%xmm1,%xmm8
3007 vpalignr $8,%xmm4,%xmm5,%xmm11
3010 vpsrlq $1,%xmm8,%xmm10
3013 vpaddq %xmm11,%xmm0,%xmm0
3016 vpsrlq $7,%xmm8,%xmm11
3019 vpsllq $56,%xmm8,%xmm9
3022 vpxor %xmm10,%xmm11,%xmm8
3025 vpsrlq $7,%xmm10,%xmm10
3028 vpxor %xmm9,%xmm8,%xmm8
3031 vpsllq $7,%xmm9,%xmm9
3034 vpxor %xmm10,%xmm8,%xmm8
3037 vpsrlq $6,%xmm7,%xmm11
3040 vpxor %xmm9,%xmm8,%xmm8
3043 vpsllq $3,%xmm7,%xmm10
3046 vpaddq %xmm8,%xmm0,%xmm0
3049 vpsrlq $19,%xmm7,%xmm9
3052 vpxor %xmm10,%xmm11,%xmm11
3055 vpsllq $42,%xmm10,%xmm10
3058 vpxor %xmm9,%xmm11,%xmm11
3061 vpsrlq $42,%xmm9,%xmm9
3064 vpxor %xmm10,%xmm11,%xmm11
3067 vpxor %xmm9,%xmm11,%xmm11
3070 vpaddq %xmm11,%xmm0,%xmm0
3073 vpaddq -128(%rbp),%xmm0,%xmm10
3080 vmovdqa %xmm10,0(%rsp)
3081 vpalignr $8,%xmm1,%xmm2,%xmm8
3084 vpalignr $8,%xmm5,%xmm6,%xmm11
3087 vpsrlq $1,%xmm8,%xmm10
3090 vpaddq %xmm11,%xmm1,%xmm1
3093 vpsrlq $7,%xmm8,%xmm11
3096 vpsllq $56,%xmm8,%xmm9
3099 vpxor %xmm10,%xmm11,%xmm8
3102 vpsrlq $7,%xmm10,%xmm10
3105 vpxor %xmm9,%xmm8,%xmm8
3108 vpsllq $7,%xmm9,%xmm9
3111 vpxor %xmm10,%xmm8,%xmm8
3114 vpsrlq $6,%xmm0,%xmm11
3117 vpxor %xmm9,%xmm8,%xmm8
3120 vpsllq $3,%xmm0,%xmm10
3123 vpaddq %xmm8,%xmm1,%xmm1
3126 vpsrlq $19,%xmm0,%xmm9
3129 vpxor %xmm10,%xmm11,%xmm11
3132 vpsllq $42,%xmm10,%xmm10
3135 vpxor %xmm9,%xmm11,%xmm11
3138 vpsrlq $42,%xmm9,%xmm9
3141 vpxor %xmm10,%xmm11,%xmm11
3144 vpxor %xmm9,%xmm11,%xmm11
3147 vpaddq %xmm11,%xmm1,%xmm1
3150 vpaddq -96(%rbp),%xmm1,%xmm10
3157 vmovdqa %xmm10,16(%rsp)
3158 vpalignr $8,%xmm2,%xmm3,%xmm8
3161 vpalignr $8,%xmm6,%xmm7,%xmm11
3164 vpsrlq $1,%xmm8,%xmm10
3167 vpaddq %xmm11,%xmm2,%xmm2
3170 vpsrlq $7,%xmm8,%xmm11
3173 vpsllq $56,%xmm8,%xmm9
3176 vpxor %xmm10,%xmm11,%xmm8
3179 vpsrlq $7,%xmm10,%xmm10
3182 vpxor %xmm9,%xmm8,%xmm8
3185 vpsllq $7,%xmm9,%xmm9
3188 vpxor %xmm10,%xmm8,%xmm8
3191 vpsrlq $6,%xmm1,%xmm11
3194 vpxor %xmm9,%xmm8,%xmm8
3197 vpsllq $3,%xmm1,%xmm10
3200 vpaddq %xmm8,%xmm2,%xmm2
3203 vpsrlq $19,%xmm1,%xmm9
3206 vpxor %xmm10,%xmm11,%xmm11
3209 vpsllq $42,%xmm10,%xmm10
3212 vpxor %xmm9,%xmm11,%xmm11
3215 vpsrlq $42,%xmm9,%xmm9
3218 vpxor %xmm10,%xmm11,%xmm11
3221 vpxor %xmm9,%xmm11,%xmm11
3224 vpaddq %xmm11,%xmm2,%xmm2
3227 vpaddq -64(%rbp),%xmm2,%xmm10
3234 vmovdqa %xmm10,32(%rsp)
3235 vpalignr $8,%xmm3,%xmm4,%xmm8
3238 vpalignr $8,%xmm7,%xmm0,%xmm11
3241 vpsrlq $1,%xmm8,%xmm10
3244 vpaddq %xmm11,%xmm3,%xmm3
3247 vpsrlq $7,%xmm8,%xmm11
3250 vpsllq $56,%xmm8,%xmm9
3253 vpxor %xmm10,%xmm11,%xmm8
3256 vpsrlq $7,%xmm10,%xmm10
3259 vpxor %xmm9,%xmm8,%xmm8
3262 vpsllq $7,%xmm9,%xmm9
3265 vpxor %xmm10,%xmm8,%xmm8
3268 vpsrlq $6,%xmm2,%xmm11
3271 vpxor %xmm9,%xmm8,%xmm8
3274 vpsllq $3,%xmm2,%xmm10
3277 vpaddq %xmm8,%xmm3,%xmm3
3280 vpsrlq $19,%xmm2,%xmm9
3283 vpxor %xmm10,%xmm11,%xmm11
3286 vpsllq $42,%xmm10,%xmm10
3289 vpxor %xmm9,%xmm11,%xmm11
3292 vpsrlq $42,%xmm9,%xmm9
3295 vpxor %xmm10,%xmm11,%xmm11
3298 vpxor %xmm9,%xmm11,%xmm11
3301 vpaddq %xmm11,%xmm3,%xmm3
3304 vpaddq -32(%rbp),%xmm3,%xmm10
3311 vmovdqa %xmm10,48(%rsp)
3312 vpalignr $8,%xmm4,%xmm5,%xmm8
3315 vpalignr $8,%xmm0,%xmm1,%xmm11
3318 vpsrlq $1,%xmm8,%xmm10
3321 vpaddq %xmm11,%xmm4,%xmm4
3324 vpsrlq $7,%xmm8,%xmm11
3327 vpsllq $56,%xmm8,%xmm9
3330 vpxor %xmm10,%xmm11,%xmm8
3333 vpsrlq $7,%xmm10,%xmm10
3336 vpxor %xmm9,%xmm8,%xmm8
3339 vpsllq $7,%xmm9,%xmm9
3342 vpxor %xmm10,%xmm8,%xmm8
3345 vpsrlq $6,%xmm3,%xmm11
3348 vpxor %xmm9,%xmm8,%xmm8
3351 vpsllq $3,%xmm3,%xmm10
3354 vpaddq %xmm8,%xmm4,%xmm4
3357 vpsrlq $19,%xmm3,%xmm9
3360 vpxor %xmm10,%xmm11,%xmm11
3363 vpsllq $42,%xmm10,%xmm10
3366 vpxor %xmm9,%xmm11,%xmm11
3369 vpsrlq $42,%xmm9,%xmm9
3372 vpxor %xmm10,%xmm11,%xmm11
3375 vpxor %xmm9,%xmm11,%xmm11
3378 vpaddq %xmm11,%xmm4,%xmm4
3381 vpaddq 0(%rbp),%xmm4,%xmm10
3388 vmovdqa %xmm10,64(%rsp)
3389 vpalignr $8,%xmm5,%xmm6,%xmm8
3392 vpalignr $8,%xmm1,%xmm2,%xmm11
3395 vpsrlq $1,%xmm8,%xmm10
3398 vpaddq %xmm11,%xmm5,%xmm5
3401 vpsrlq $7,%xmm8,%xmm11
3404 vpsllq $56,%xmm8,%xmm9
3407 vpxor %xmm10,%xmm11,%xmm8
3410 vpsrlq $7,%xmm10,%xmm10
3413 vpxor %xmm9,%xmm8,%xmm8
3416 vpsllq $7,%xmm9,%xmm9
3419 vpxor %xmm10,%xmm8,%xmm8
3422 vpsrlq $6,%xmm4,%xmm11
3425 vpxor %xmm9,%xmm8,%xmm8
3428 vpsllq $3,%xmm4,%xmm10
3431 vpaddq %xmm8,%xmm5,%xmm5
3434 vpsrlq $19,%xmm4,%xmm9
3437 vpxor %xmm10,%xmm11,%xmm11
3440 vpsllq $42,%xmm10,%xmm10
3443 vpxor %xmm9,%xmm11,%xmm11
3446 vpsrlq $42,%xmm9,%xmm9
3449 vpxor %xmm10,%xmm11,%xmm11
3452 vpxor %xmm9,%xmm11,%xmm11
3455 vpaddq %xmm11,%xmm5,%xmm5
3458 vpaddq 32(%rbp),%xmm5,%xmm10
3465 vmovdqa %xmm10,80(%rsp)
3466 vpalignr $8,%xmm6,%xmm7,%xmm8
3469 vpalignr $8,%xmm2,%xmm3,%xmm11
3472 vpsrlq $1,%xmm8,%xmm10
3475 vpaddq %xmm11,%xmm6,%xmm6
3478 vpsrlq $7,%xmm8,%xmm11
3481 vpsllq $56,%xmm8,%xmm9
3484 vpxor %xmm10,%xmm11,%xmm8
3487 vpsrlq $7,%xmm10,%xmm10
3490 vpxor %xmm9,%xmm8,%xmm8
3493 vpsllq $7,%xmm9,%xmm9
3496 vpxor %xmm10,%xmm8,%xmm8
3499 vpsrlq $6,%xmm5,%xmm11
3502 vpxor %xmm9,%xmm8,%xmm8
3505 vpsllq $3,%xmm5,%xmm10
3508 vpaddq %xmm8,%xmm6,%xmm6
3511 vpsrlq $19,%xmm5,%xmm9
3514 vpxor %xmm10,%xmm11,%xmm11
3517 vpsllq $42,%xmm10,%xmm10
3520 vpxor %xmm9,%xmm11,%xmm11
3523 vpsrlq $42,%xmm9,%xmm9
3526 vpxor %xmm10,%xmm11,%xmm11
3529 vpxor %xmm9,%xmm11,%xmm11
3532 vpaddq %xmm11,%xmm6,%xmm6
3535 vpaddq 64(%rbp),%xmm6,%xmm10
3542 vmovdqa %xmm10,96(%rsp)
3543 vpalignr $8,%xmm7,%xmm0,%xmm8
3546 vpalignr $8,%xmm3,%xmm4,%xmm11
3549 vpsrlq $1,%xmm8,%xmm10
3552 vpaddq %xmm11,%xmm7,%xmm7
3555 vpsrlq $7,%xmm8,%xmm11
3558 vpsllq $56,%xmm8,%xmm9
3561 vpxor %xmm10,%xmm11,%xmm8
3564 vpsrlq $7,%xmm10,%xmm10
3567 vpxor %xmm9,%xmm8,%xmm8
3570 vpsllq $7,%xmm9,%xmm9
3573 vpxor %xmm10,%xmm8,%xmm8
3576 vpsrlq $6,%xmm6,%xmm11
3579 vpxor %xmm9,%xmm8,%xmm8
3582 vpsllq $3,%xmm6,%xmm10
3585 vpaddq %xmm8,%xmm7,%xmm7
3588 vpsrlq $19,%xmm6,%xmm9
3591 vpxor %xmm10,%xmm11,%xmm11
3594 vpsllq $42,%xmm10,%xmm10
3597 vpxor %xmm9,%xmm11,%xmm11
3600 vpsrlq $42,%xmm9,%xmm9
3603 vpxor %xmm10,%xmm11,%xmm11
3606 vpxor %xmm9,%xmm11,%xmm11
3609 vpaddq %xmm11,%xmm7,%xmm7
3612 vpaddq 96(%rbp),%xmm7,%xmm10
3619 vmovdqa %xmm10,112(%rsp)
4038 movq 128+0(%rsp),%rdi
4051 cmpq 128+16(%rsp),%rsi
4079 .cfi_def_cfa_register %rsp
4083 .size sha512_block_data_order_avx,.-sha512_block_data_order_avx
4084 .type sha512_block_data_order_avx2,@function
4086 sha512_block_data_order_avx2:
4090 .cfi_def_cfa_register %rax
4092 .cfi_offset %rbx,-16
4094 .cfi_offset %rbp,-24
4096 .cfi_offset %r12,-32
4098 .cfi_offset %r13,-40
4100 .cfi_offset %r14,-48
4102 .cfi_offset %r15,-56
4106 leaq (%rsi,%rdx,8),%rdx
4108 movq %rdi,128+0(%rsp)
4109 movq %rsi,128+8(%rsp)
4110 movq %rdx,128+16(%rsp)
4112 .cfi_escape 0x0f,0x06,0x77,0x98,0x01,0x06,0x23,0x08
4131 vmovdqu -128(%rsi),%xmm0
4132 vmovdqu -128+16(%rsi),%xmm1
4133 vmovdqu -128+32(%rsi),%xmm2
4134 leaq K512+128(%rip),%rbp
4135 vmovdqu -128+48(%rsi),%xmm3
4136 vmovdqu -128+64(%rsi),%xmm4
4137 vmovdqu -128+80(%rsi),%xmm5
4138 vmovdqu -128+96(%rsi),%xmm6
4139 vmovdqu -128+112(%rsi),%xmm7
4141 vmovdqa 1152(%rbp),%ymm10
4142 vinserti128 $1,(%r12),%ymm0,%ymm0
4143 vinserti128 $1,16(%r12),%ymm1,%ymm1
4144 vpshufb %ymm10,%ymm0,%ymm0
4145 vinserti128 $1,32(%r12),%ymm2,%ymm2
4146 vpshufb %ymm10,%ymm1,%ymm1
4147 vinserti128 $1,48(%r12),%ymm3,%ymm3
4148 vpshufb %ymm10,%ymm2,%ymm2
4149 vinserti128 $1,64(%r12),%ymm4,%ymm4
4150 vpshufb %ymm10,%ymm3,%ymm3
4151 vinserti128 $1,80(%r12),%ymm5,%ymm5
4152 vpshufb %ymm10,%ymm4,%ymm4
4153 vinserti128 $1,96(%r12),%ymm6,%ymm6
4154 vpshufb %ymm10,%ymm5,%ymm5
4155 vinserti128 $1,112(%r12),%ymm7,%ymm7
4157 vpaddq -128(%rbp),%ymm0,%ymm8
4158 vpshufb %ymm10,%ymm6,%ymm6
4159 vpaddq -96(%rbp),%ymm1,%ymm9
4160 vpshufb %ymm10,%ymm7,%ymm7
4161 vpaddq -64(%rbp),%ymm2,%ymm10
4162 vpaddq -32(%rbp),%ymm3,%ymm11
4163 vmovdqa %ymm8,0(%rsp)
4164 vpaddq 0(%rbp),%ymm4,%ymm8
4165 vmovdqa %ymm9,32(%rsp)
4166 vpaddq 32(%rbp),%ymm5,%ymm9
4167 vmovdqa %ymm10,64(%rsp)
4168 vpaddq 64(%rbp),%ymm6,%ymm10
4169 vmovdqa %ymm11,96(%rsp)
4170 leaq -128(%rsp),%rsp
4171 vpaddq 96(%rbp),%ymm7,%ymm11
4172 vmovdqa %ymm8,0(%rsp)
4174 vmovdqa %ymm9,32(%rsp)
4176 vmovdqa %ymm10,64(%rsp)
4178 vmovdqa %ymm11,96(%rsp)
4185 leaq -128(%rsp),%rsp
4186 vpalignr $8,%ymm0,%ymm1,%ymm8
4187 addq 0+256(%rsp),%r11
4190 vpalignr $8,%ymm4,%ymm5,%ymm11
4192 leaq (%rax,%r14,1),%rax
4193 leaq (%r11,%r12,1),%r11
4194 vpsrlq $1,%ymm8,%ymm10
4198 vpaddq %ymm11,%ymm0,%ymm0
4199 vpsrlq $7,%ymm8,%ymm11
4200 leaq (%r11,%r12,1),%r11
4203 vpsllq $56,%ymm8,%ymm9
4204 vpxor %ymm10,%ymm11,%ymm8
4206 leaq (%r11,%r13,1),%r11
4208 vpsrlq $7,%ymm10,%ymm10
4209 vpxor %ymm9,%ymm8,%ymm8
4212 leaq (%rdx,%r11,1),%rdx
4213 vpsllq $7,%ymm9,%ymm9
4214 vpxor %ymm10,%ymm8,%ymm8
4218 vpsrlq $6,%ymm7,%ymm11
4219 vpxor %ymm9,%ymm8,%ymm8
4221 leaq (%r11,%rdi,1),%r11
4223 vpsllq $3,%ymm7,%ymm10
4224 vpaddq %ymm8,%ymm0,%ymm0
4225 addq 8+256(%rsp),%r10
4228 vpsrlq $19,%ymm7,%ymm9
4229 vpxor %ymm10,%ymm11,%ymm11
4231 leaq (%r11,%r14,1),%r11
4232 leaq (%r10,%r12,1),%r10
4233 vpsllq $42,%ymm10,%ymm10
4234 vpxor %ymm9,%ymm11,%ymm11
4238 vpsrlq $42,%ymm9,%ymm9
4239 vpxor %ymm10,%ymm11,%ymm11
4240 leaq (%r10,%r12,1),%r10
4243 vpxor %ymm9,%ymm11,%ymm11
4245 leaq (%r10,%r13,1),%r10
4247 vpaddq %ymm11,%ymm0,%ymm0
4250 leaq (%rcx,%r10,1),%rcx
4251 vpaddq -128(%rbp),%ymm0,%ymm10
4256 leaq (%r10,%r15,1),%r10
4258 vmovdqa %ymm10,0(%rsp)
4259 vpalignr $8,%ymm1,%ymm2,%ymm8
4260 addq 32+256(%rsp),%r9
4263 vpalignr $8,%ymm5,%ymm6,%ymm11
4265 leaq (%r10,%r14,1),%r10
4266 leaq (%r9,%r12,1),%r9
4267 vpsrlq $1,%ymm8,%ymm10
4271 vpaddq %ymm11,%ymm1,%ymm1
4272 vpsrlq $7,%ymm8,%ymm11
4273 leaq (%r9,%r12,1),%r9
4276 vpsllq $56,%ymm8,%ymm9
4277 vpxor %ymm10,%ymm11,%ymm8
4279 leaq (%r9,%r13,1),%r9
4281 vpsrlq $7,%ymm10,%ymm10
4282 vpxor %ymm9,%ymm8,%ymm8
4285 leaq (%rbx,%r9,1),%rbx
4286 vpsllq $7,%ymm9,%ymm9
4287 vpxor %ymm10,%ymm8,%ymm8
4291 vpsrlq $6,%ymm0,%ymm11
4292 vpxor %ymm9,%ymm8,%ymm8
4294 leaq (%r9,%rdi,1),%r9
4296 vpsllq $3,%ymm0,%ymm10
4297 vpaddq %ymm8,%ymm1,%ymm1
4298 addq 40+256(%rsp),%r8
4301 vpsrlq $19,%ymm0,%ymm9
4302 vpxor %ymm10,%ymm11,%ymm11
4304 leaq (%r9,%r14,1),%r9
4305 leaq (%r8,%r12,1),%r8
4306 vpsllq $42,%ymm10,%ymm10
4307 vpxor %ymm9,%ymm11,%ymm11
4308 andnq %rdx,%rbx,%r12
4311 vpsrlq $42,%ymm9,%ymm9
4312 vpxor %ymm10,%ymm11,%ymm11
4313 leaq (%r8,%r12,1),%r8
4316 vpxor %ymm9,%ymm11,%ymm11
4318 leaq (%r8,%r13,1),%r8
4320 vpaddq %ymm11,%ymm1,%ymm1
4323 leaq (%rax,%r8,1),%rax
4324 vpaddq -96(%rbp),%ymm1,%ymm10
4329 leaq (%r8,%r15,1),%r8
4331 vmovdqa %ymm10,32(%rsp)
4332 vpalignr $8,%ymm2,%ymm3,%ymm8
4333 addq 64+256(%rsp),%rdx
4336 vpalignr $8,%ymm6,%ymm7,%ymm11
4338 leaq (%r8,%r14,1),%r8
4339 leaq (%rdx,%r12,1),%rdx
4340 vpsrlq $1,%ymm8,%ymm10
4341 andnq %rcx,%rax,%r12
4344 vpaddq %ymm11,%ymm2,%ymm2
4345 vpsrlq $7,%ymm8,%ymm11
4346 leaq (%rdx,%r12,1),%rdx
4349 vpsllq $56,%ymm8,%ymm9
4350 vpxor %ymm10,%ymm11,%ymm8
4352 leaq (%rdx,%r13,1),%rdx
4354 vpsrlq $7,%ymm10,%ymm10
4355 vpxor %ymm9,%ymm8,%ymm8
4358 leaq (%r11,%rdx,1),%r11
4359 vpsllq $7,%ymm9,%ymm9
4360 vpxor %ymm10,%ymm8,%ymm8
4364 vpsrlq $6,%ymm1,%ymm11
4365 vpxor %ymm9,%ymm8,%ymm8
4367 leaq (%rdx,%rdi,1),%rdx
4369 vpsllq $3,%ymm1,%ymm10
4370 vpaddq %ymm8,%ymm2,%ymm2
4371 addq 72+256(%rsp),%rcx
4374 vpsrlq $19,%ymm1,%ymm9
4375 vpxor %ymm10,%ymm11,%ymm11
4377 leaq (%rdx,%r14,1),%rdx
4378 leaq (%rcx,%r12,1),%rcx
4379 vpsllq $42,%ymm10,%ymm10
4380 vpxor %ymm9,%ymm11,%ymm11
4381 andnq %rbx,%r11,%r12
4384 vpsrlq $42,%ymm9,%ymm9
4385 vpxor %ymm10,%ymm11,%ymm11
4386 leaq (%rcx,%r12,1),%rcx
4389 vpxor %ymm9,%ymm11,%ymm11
4391 leaq (%rcx,%r13,1),%rcx
4393 vpaddq %ymm11,%ymm2,%ymm2
4396 leaq (%r10,%rcx,1),%r10
4397 vpaddq -64(%rbp),%ymm2,%ymm10
4402 leaq (%rcx,%r15,1),%rcx
4404 vmovdqa %ymm10,64(%rsp)
4405 vpalignr $8,%ymm3,%ymm4,%ymm8
4406 addq 96+256(%rsp),%rbx
4409 vpalignr $8,%ymm7,%ymm0,%ymm11
4411 leaq (%rcx,%r14,1),%rcx
4412 leaq (%rbx,%r12,1),%rbx
4413 vpsrlq $1,%ymm8,%ymm10
4414 andnq %rax,%r10,%r12
4417 vpaddq %ymm11,%ymm3,%ymm3
4418 vpsrlq $7,%ymm8,%ymm11
4419 leaq (%rbx,%r12,1),%rbx
4422 vpsllq $56,%ymm8,%ymm9
4423 vpxor %ymm10,%ymm11,%ymm8
4425 leaq (%rbx,%r13,1),%rbx
4427 vpsrlq $7,%ymm10,%ymm10
4428 vpxor %ymm9,%ymm8,%ymm8
4431 leaq (%r9,%rbx,1),%r9
4432 vpsllq $7,%ymm9,%ymm9
4433 vpxor %ymm10,%ymm8,%ymm8
4437 vpsrlq $6,%ymm2,%ymm11
4438 vpxor %ymm9,%ymm8,%ymm8
4440 leaq (%rbx,%rdi,1),%rbx
4442 vpsllq $3,%ymm2,%ymm10
4443 vpaddq %ymm8,%ymm3,%ymm3
4444 addq 104+256(%rsp),%rax
4447 vpsrlq $19,%ymm2,%ymm9
4448 vpxor %ymm10,%ymm11,%ymm11
4450 leaq (%rbx,%r14,1),%rbx
4451 leaq (%rax,%r12,1),%rax
4452 vpsllq $42,%ymm10,%ymm10
4453 vpxor %ymm9,%ymm11,%ymm11
4457 vpsrlq $42,%ymm9,%ymm9
4458 vpxor %ymm10,%ymm11,%ymm11
4459 leaq (%rax,%r12,1),%rax
4462 vpxor %ymm9,%ymm11,%ymm11
4464 leaq (%rax,%r13,1),%rax
4466 vpaddq %ymm11,%ymm3,%ymm3
4469 leaq (%r8,%rax,1),%r8
4470 vpaddq -32(%rbp),%ymm3,%ymm10
4475 leaq (%rax,%r15,1),%rax
4477 vmovdqa %ymm10,96(%rsp)
4478 leaq -128(%rsp),%rsp
4479 vpalignr $8,%ymm4,%ymm5,%ymm8
4480 addq 0+256(%rsp),%r11
4483 vpalignr $8,%ymm0,%ymm1,%ymm11
4485 leaq (%rax,%r14,1),%rax
4486 leaq (%r11,%r12,1),%r11
4487 vpsrlq $1,%ymm8,%ymm10
4491 vpaddq %ymm11,%ymm4,%ymm4
4492 vpsrlq $7,%ymm8,%ymm11
4493 leaq (%r11,%r12,1),%r11
4496 vpsllq $56,%ymm8,%ymm9
4497 vpxor %ymm10,%ymm11,%ymm8
4499 leaq (%r11,%r13,1),%r11
4501 vpsrlq $7,%ymm10,%ymm10
4502 vpxor %ymm9,%ymm8,%ymm8
4505 leaq (%rdx,%r11,1),%rdx
4506 vpsllq $7,%ymm9,%ymm9
4507 vpxor %ymm10,%ymm8,%ymm8
4511 vpsrlq $6,%ymm3,%ymm11
4512 vpxor %ymm9,%ymm8,%ymm8
4514 leaq (%r11,%rdi,1),%r11
4516 vpsllq $3,%ymm3,%ymm10
4517 vpaddq %ymm8,%ymm4,%ymm4
4518 addq 8+256(%rsp),%r10
4521 vpsrlq $19,%ymm3,%ymm9
4522 vpxor %ymm10,%ymm11,%ymm11
4524 leaq (%r11,%r14,1),%r11
4525 leaq (%r10,%r12,1),%r10
4526 vpsllq $42,%ymm10,%ymm10
4527 vpxor %ymm9,%ymm11,%ymm11
4531 vpsrlq $42,%ymm9,%ymm9
4532 vpxor %ymm10,%ymm11,%ymm11
4533 leaq (%r10,%r12,1),%r10
4536 vpxor %ymm9,%ymm11,%ymm11
4538 leaq (%r10,%r13,1),%r10
4540 vpaddq %ymm11,%ymm4,%ymm4
4543 leaq (%rcx,%r10,1),%rcx
4544 vpaddq 0(%rbp),%ymm4,%ymm10
4549 leaq (%r10,%r15,1),%r10
4551 vmovdqa %ymm10,0(%rsp)
4552 vpalignr $8,%ymm5,%ymm6,%ymm8
4553 addq 32+256(%rsp),%r9
4556 vpalignr $8,%ymm1,%ymm2,%ymm11
4558 leaq (%r10,%r14,1),%r10
4559 leaq (%r9,%r12,1),%r9
4560 vpsrlq $1,%ymm8,%ymm10
4564 vpaddq %ymm11,%ymm5,%ymm5
4565 vpsrlq $7,%ymm8,%ymm11
4566 leaq (%r9,%r12,1),%r9
4569 vpsllq $56,%ymm8,%ymm9
4570 vpxor %ymm10,%ymm11,%ymm8
4572 leaq (%r9,%r13,1),%r9
4574 vpsrlq $7,%ymm10,%ymm10
4575 vpxor %ymm9,%ymm8,%ymm8
4578 leaq (%rbx,%r9,1),%rbx
4579 vpsllq $7,%ymm9,%ymm9
4580 vpxor %ymm10,%ymm8,%ymm8
4584 vpsrlq $6,%ymm4,%ymm11
4585 vpxor %ymm9,%ymm8,%ymm8
4587 leaq (%r9,%rdi,1),%r9
4589 vpsllq $3,%ymm4,%ymm10
4590 vpaddq %ymm8,%ymm5,%ymm5
4591 addq 40+256(%rsp),%r8
4594 vpsrlq $19,%ymm4,%ymm9
4595 vpxor %ymm10,%ymm11,%ymm11
4597 leaq (%r9,%r14,1),%r9
4598 leaq (%r8,%r12,1),%r8
4599 vpsllq $42,%ymm10,%ymm10
4600 vpxor %ymm9,%ymm11,%ymm11
4601 andnq %rdx,%rbx,%r12
4604 vpsrlq $42,%ymm9,%ymm9
4605 vpxor %ymm10,%ymm11,%ymm11
4606 leaq (%r8,%r12,1),%r8
4609 vpxor %ymm9,%ymm11,%ymm11
4611 leaq (%r8,%r13,1),%r8
4613 vpaddq %ymm11,%ymm5,%ymm5
4616 leaq (%rax,%r8,1),%rax
4617 vpaddq 32(%rbp),%ymm5,%ymm10
4622 leaq (%r8,%r15,1),%r8
4624 vmovdqa %ymm10,32(%rsp)
4625 vpalignr $8,%ymm6,%ymm7,%ymm8
4626 addq 64+256(%rsp),%rdx
4629 vpalignr $8,%ymm2,%ymm3,%ymm11
4631 leaq (%r8,%r14,1),%r8
4632 leaq (%rdx,%r12,1),%rdx
4633 vpsrlq $1,%ymm8,%ymm10
4634 andnq %rcx,%rax,%r12
4637 vpaddq %ymm11,%ymm6,%ymm6
4638 vpsrlq $7,%ymm8,%ymm11
4639 leaq (%rdx,%r12,1),%rdx
4642 vpsllq $56,%ymm8,%ymm9
4643 vpxor %ymm10,%ymm11,%ymm8
4645 leaq (%rdx,%r13,1),%rdx
4647 vpsrlq $7,%ymm10,%ymm10
4648 vpxor %ymm9,%ymm8,%ymm8
4651 leaq (%r11,%rdx,1),%r11
4652 vpsllq $7,%ymm9,%ymm9
4653 vpxor %ymm10,%ymm8,%ymm8
4657 vpsrlq $6,%ymm5,%ymm11
4658 vpxor %ymm9,%ymm8,%ymm8
4660 leaq (%rdx,%rdi,1),%rdx
4662 vpsllq $3,%ymm5,%ymm10
4663 vpaddq %ymm8,%ymm6,%ymm6
4664 addq 72+256(%rsp),%rcx
4667 vpsrlq $19,%ymm5,%ymm9
4668 vpxor %ymm10,%ymm11,%ymm11
4670 leaq (%rdx,%r14,1),%rdx
4671 leaq (%rcx,%r12,1),%rcx
4672 vpsllq $42,%ymm10,%ymm10
4673 vpxor %ymm9,%ymm11,%ymm11
4674 andnq %rbx,%r11,%r12
4677 vpsrlq $42,%ymm9,%ymm9
4678 vpxor %ymm10,%ymm11,%ymm11
4679 leaq (%rcx,%r12,1),%rcx
4682 vpxor %ymm9,%ymm11,%ymm11
4684 leaq (%rcx,%r13,1),%rcx
4686 vpaddq %ymm11,%ymm6,%ymm6
4689 leaq (%r10,%rcx,1),%r10
4690 vpaddq 64(%rbp),%ymm6,%ymm10
4695 leaq (%rcx,%r15,1),%rcx
4697 vmovdqa %ymm10,64(%rsp)
4698 vpalignr $8,%ymm7,%ymm0,%ymm8
4699 addq 96+256(%rsp),%rbx
4702 vpalignr $8,%ymm3,%ymm4,%ymm11
4704 leaq (%rcx,%r14,1),%rcx
4705 leaq (%rbx,%r12,1),%rbx
4706 vpsrlq $1,%ymm8,%ymm10
4707 andnq %rax,%r10,%r12
4710 vpaddq %ymm11,%ymm7,%ymm7
4711 vpsrlq $7,%ymm8,%ymm11
4712 leaq (%rbx,%r12,1),%rbx
4715 vpsllq $56,%ymm8,%ymm9
4716 vpxor %ymm10,%ymm11,%ymm8
4718 leaq (%rbx,%r13,1),%rbx
4720 vpsrlq $7,%ymm10,%ymm10
4721 vpxor %ymm9,%ymm8,%ymm8
4724 leaq (%r9,%rbx,1),%r9
4725 vpsllq $7,%ymm9,%ymm9
4726 vpxor %ymm10,%ymm8,%ymm8
4730 vpsrlq $6,%ymm6,%ymm11
4731 vpxor %ymm9,%ymm8,%ymm8
4733 leaq (%rbx,%rdi,1),%rbx
4735 vpsllq $3,%ymm6,%ymm10
4736 vpaddq %ymm8,%ymm7,%ymm7
4737 addq 104+256(%rsp),%rax
4740 vpsrlq $19,%ymm6,%ymm9
4741 vpxor %ymm10,%ymm11,%ymm11
4743 leaq (%rbx,%r14,1),%rbx
4744 leaq (%rax,%r12,1),%rax
4745 vpsllq $42,%ymm10,%ymm10
4746 vpxor %ymm9,%ymm11,%ymm11
4750 vpsrlq $42,%ymm9,%ymm9
4751 vpxor %ymm10,%ymm11,%ymm11
4752 leaq (%rax,%r12,1),%rax
4755 vpxor %ymm9,%ymm11,%ymm11
4757 leaq (%rax,%r13,1),%rax
4759 vpaddq %ymm11,%ymm7,%ymm7
4762 leaq (%r8,%rax,1),%r8
4763 vpaddq 96(%rbp),%ymm7,%ymm10
4768 leaq (%rax,%r15,1),%rax
4770 vmovdqa %ymm10,96(%rsp)
4774 addq 0+128(%rsp),%r11
4778 leaq (%rax,%r14,1),%rax
4779 leaq (%r11,%r12,1),%r11
4783 leaq (%r11,%r12,1),%r11
4787 leaq (%r11,%r13,1),%r11
4791 leaq (%rdx,%r11,1),%rdx
4796 leaq (%r11,%rdi,1),%r11
4798 addq 8+128(%rsp),%r10
4802 leaq (%r11,%r14,1),%r11
4803 leaq (%r10,%r12,1),%r10
4807 leaq (%r10,%r12,1),%r10
4811 leaq (%r10,%r13,1),%r10
4815 leaq (%rcx,%r10,1),%rcx
4820 leaq (%r10,%r15,1),%r10
4822 addq 32+128(%rsp),%r9
4826 leaq (%r10,%r14,1),%r10
4827 leaq (%r9,%r12,1),%r9
4831 leaq (%r9,%r12,1),%r9
4835 leaq (%r9,%r13,1),%r9
4839 leaq (%rbx,%r9,1),%rbx
4844 leaq (%r9,%rdi,1),%r9
4846 addq 40+128(%rsp),%r8
4850 leaq (%r9,%r14,1),%r9
4851 leaq (%r8,%r12,1),%r8
4852 andnq %rdx,%rbx,%r12
4855 leaq (%r8,%r12,1),%r8
4859 leaq (%r8,%r13,1),%r8
4863 leaq (%rax,%r8,1),%rax
4868 leaq (%r8,%r15,1),%r8
4870 addq 64+128(%rsp),%rdx
4874 leaq (%r8,%r14,1),%r8
4875 leaq (%rdx,%r12,1),%rdx
4876 andnq %rcx,%rax,%r12
4879 leaq (%rdx,%r12,1),%rdx
4883 leaq (%rdx,%r13,1),%rdx
4887 leaq (%r11,%rdx,1),%r11
4892 leaq (%rdx,%rdi,1),%rdx
4894 addq 72+128(%rsp),%rcx
4898 leaq (%rdx,%r14,1),%rdx
4899 leaq (%rcx,%r12,1),%rcx
4900 andnq %rbx,%r11,%r12
4903 leaq (%rcx,%r12,1),%rcx
4907 leaq (%rcx,%r13,1),%rcx
4911 leaq (%r10,%rcx,1),%r10
4916 leaq (%rcx,%r15,1),%rcx
4918 addq 96+128(%rsp),%rbx
4922 leaq (%rcx,%r14,1),%rcx
4923 leaq (%rbx,%r12,1),%rbx
4924 andnq %rax,%r10,%r12
4927 leaq (%rbx,%r12,1),%rbx
4931 leaq (%rbx,%r13,1),%rbx
4935 leaq (%r9,%rbx,1),%r9
4940 leaq (%rbx,%rdi,1),%rbx
4942 addq 104+128(%rsp),%rax
4946 leaq (%rbx,%r14,1),%rbx
4947 leaq (%rax,%r12,1),%rax
4951 leaq (%rax,%r12,1),%rax
4955 leaq (%rax,%r13,1),%rax
4959 leaq (%r8,%rax,1),%r8
4964 leaq (%rax,%r15,1),%rax
4970 leaq (%rax,%r14,1),%rax
4971 leaq (%r11,%r12,1),%r11
4975 leaq (%r11,%r12,1),%r11
4979 leaq (%r11,%r13,1),%r11
4983 leaq (%rdx,%r11,1),%rdx
4988 leaq (%r11,%rdi,1),%r11
4994 leaq (%r11,%r14,1),%r11
4995 leaq (%r10,%r12,1),%r10
4999 leaq (%r10,%r12,1),%r10
5003 leaq (%r10,%r13,1),%r10
5007 leaq (%rcx,%r10,1),%rcx
5012 leaq (%r10,%r15,1),%r10
5018 leaq (%r10,%r14,1),%r10
5019 leaq (%r9,%r12,1),%r9
5023 leaq (%r9,%r12,1),%r9
5027 leaq (%r9,%r13,1),%r9
5031 leaq (%rbx,%r9,1),%rbx
5036 leaq (%r9,%rdi,1),%r9
5042 leaq (%r9,%r14,1),%r9
5043 leaq (%r8,%r12,1),%r8
5044 andnq %rdx,%rbx,%r12
5047 leaq (%r8,%r12,1),%r8
5051 leaq (%r8,%r13,1),%r8
5055 leaq (%rax,%r8,1),%rax
5060 leaq (%r8,%r15,1),%r8
5066 leaq (%r8,%r14,1),%r8
5067 leaq (%rdx,%r12,1),%rdx
5068 andnq %rcx,%rax,%r12
5071 leaq (%rdx,%r12,1),%rdx
5075 leaq (%rdx,%r13,1),%rdx
5079 leaq (%r11,%rdx,1),%r11
5084 leaq (%rdx,%rdi,1),%rdx
5090 leaq (%rdx,%r14,1),%rdx
5091 leaq (%rcx,%r12,1),%rcx
5092 andnq %rbx,%r11,%r12
5095 leaq (%rcx,%r12,1),%rcx
5099 leaq (%rcx,%r13,1),%rcx
5103 leaq (%r10,%rcx,1),%r10
5108 leaq (%rcx,%r15,1),%rcx
5114 leaq (%rcx,%r14,1),%rcx
5115 leaq (%rbx,%r12,1),%rbx
5116 andnq %rax,%r10,%r12
5119 leaq (%rbx,%r12,1),%rbx
5123 leaq (%rbx,%r13,1),%rbx
5127 leaq (%r9,%rbx,1),%r9
5132 leaq (%rbx,%rdi,1),%rbx
5138 leaq (%rbx,%r14,1),%rbx
5139 leaq (%rax,%r12,1),%rax
5143 leaq (%rax,%r12,1),%rax
5147 leaq (%rax,%r13,1),%rax
5151 leaq (%r8,%rax,1),%r8
5156 leaq (%rax,%r15,1),%rax
5158 movq 1280(%rsp),%rdi
5161 leaq 1152(%rsp),%rbp
5191 addq 0+16(%rbp),%r11
5195 leaq (%rax,%r14,1),%rax
5196 leaq (%r11,%r12,1),%r11
5200 leaq (%r11,%r12,1),%r11
5204 leaq (%r11,%r13,1),%r11
5208 leaq (%rdx,%r11,1),%rdx
5213 leaq (%r11,%rdi,1),%r11
5215 addq 8+16(%rbp),%r10
5219 leaq (%r11,%r14,1),%r11
5220 leaq (%r10,%r12,1),%r10
5224 leaq (%r10,%r12,1),%r10
5228 leaq (%r10,%r13,1),%r10
5232 leaq (%rcx,%r10,1),%rcx
5237 leaq (%r10,%r15,1),%r10
5239 addq 32+16(%rbp),%r9
5243 leaq (%r10,%r14,1),%r10
5244 leaq (%r9,%r12,1),%r9
5248 leaq (%r9,%r12,1),%r9
5252 leaq (%r9,%r13,1),%r9
5256 leaq (%rbx,%r9,1),%rbx
5261 leaq (%r9,%rdi,1),%r9
5263 addq 40+16(%rbp),%r8
5267 leaq (%r9,%r14,1),%r9
5268 leaq (%r8,%r12,1),%r8
5269 andnq %rdx,%rbx,%r12
5272 leaq (%r8,%r12,1),%r8
5276 leaq (%r8,%r13,1),%r8
5280 leaq (%rax,%r8,1),%rax
5285 leaq (%r8,%r15,1),%r8
5287 addq 64+16(%rbp),%rdx
5291 leaq (%r8,%r14,1),%r8
5292 leaq (%rdx,%r12,1),%rdx
5293 andnq %rcx,%rax,%r12
5296 leaq (%rdx,%r12,1),%rdx
5300 leaq (%rdx,%r13,1),%rdx
5304 leaq (%r11,%rdx,1),%r11
5309 leaq (%rdx,%rdi,1),%rdx
5311 addq 72+16(%rbp),%rcx
5315 leaq (%rdx,%r14,1),%rdx
5316 leaq (%rcx,%r12,1),%rcx
5317 andnq %rbx,%r11,%r12
5320 leaq (%rcx,%r12,1),%rcx
5324 leaq (%rcx,%r13,1),%rcx
5328 leaq (%r10,%rcx,1),%r10
5333 leaq (%rcx,%r15,1),%rcx
5335 addq 96+16(%rbp),%rbx
5339 leaq (%rcx,%r14,1),%rcx
5340 leaq (%rbx,%r12,1),%rbx
5341 andnq %rax,%r10,%r12
5344 leaq (%rbx,%r12,1),%rbx
5348 leaq (%rbx,%r13,1),%rbx
5352 leaq (%r9,%rbx,1),%r9
5357 leaq (%rbx,%rdi,1),%rbx
5359 addq 104+16(%rbp),%rax
5363 leaq (%rbx,%r14,1),%rbx
5364 leaq (%rax,%r12,1),%rax
5368 leaq (%rax,%r12,1),%rax
5372 leaq (%rax,%r13,1),%rax
5376 leaq (%r8,%rax,1),%r8
5381 leaq (%rax,%r15,1),%rax
5383 leaq -128(%rbp),%rbp
5387 movq 1280(%rsp),%rdi
5390 leaq 1152(%rsp),%rsp
5402 cmpq 128+16(%rsp),%rsi
5435 .cfi_def_cfa_register %rsp
5439 .size sha512_block_data_order_avx2,.-sha512_block_data_order_avx2