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)
4173 leaq -128(%rsp),%rsp
4178 .cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08
4179 vpaddq 96(%rbp),%ymm7,%ymm11
4180 vmovdqa %ymm8,0(%rsp)
4182 vmovdqa %ymm9,32(%rsp)
4184 vmovdqa %ymm10,64(%rsp)
4186 vmovdqa %ymm11,96(%rsp)
4193 leaq -128(%rsp),%rsp
4194 .cfi_escape 0x0f,0x06,0x77,0xf8,0x00,0x06,0x23,0x08
4197 .cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08
4199 .cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08
4200 vpalignr $8,%ymm0,%ymm1,%ymm8
4201 addq 0+256(%rsp),%r11
4204 vpalignr $8,%ymm4,%ymm5,%ymm11
4206 leaq (%rax,%r14,1),%rax
4207 leaq (%r11,%r12,1),%r11
4208 vpsrlq $1,%ymm8,%ymm10
4212 vpaddq %ymm11,%ymm0,%ymm0
4213 vpsrlq $7,%ymm8,%ymm11
4214 leaq (%r11,%r12,1),%r11
4217 vpsllq $56,%ymm8,%ymm9
4218 vpxor %ymm10,%ymm11,%ymm8
4220 leaq (%r11,%r13,1),%r11
4222 vpsrlq $7,%ymm10,%ymm10
4223 vpxor %ymm9,%ymm8,%ymm8
4226 leaq (%rdx,%r11,1),%rdx
4227 vpsllq $7,%ymm9,%ymm9
4228 vpxor %ymm10,%ymm8,%ymm8
4232 vpsrlq $6,%ymm7,%ymm11
4233 vpxor %ymm9,%ymm8,%ymm8
4235 leaq (%r11,%rdi,1),%r11
4237 vpsllq $3,%ymm7,%ymm10
4238 vpaddq %ymm8,%ymm0,%ymm0
4239 addq 8+256(%rsp),%r10
4242 vpsrlq $19,%ymm7,%ymm9
4243 vpxor %ymm10,%ymm11,%ymm11
4245 leaq (%r11,%r14,1),%r11
4246 leaq (%r10,%r12,1),%r10
4247 vpsllq $42,%ymm10,%ymm10
4248 vpxor %ymm9,%ymm11,%ymm11
4252 vpsrlq $42,%ymm9,%ymm9
4253 vpxor %ymm10,%ymm11,%ymm11
4254 leaq (%r10,%r12,1),%r10
4257 vpxor %ymm9,%ymm11,%ymm11
4259 leaq (%r10,%r13,1),%r10
4261 vpaddq %ymm11,%ymm0,%ymm0
4264 leaq (%rcx,%r10,1),%rcx
4265 vpaddq -128(%rbp),%ymm0,%ymm10
4270 leaq (%r10,%r15,1),%r10
4272 vmovdqa %ymm10,0(%rsp)
4273 vpalignr $8,%ymm1,%ymm2,%ymm8
4274 addq 32+256(%rsp),%r9
4277 vpalignr $8,%ymm5,%ymm6,%ymm11
4279 leaq (%r10,%r14,1),%r10
4280 leaq (%r9,%r12,1),%r9
4281 vpsrlq $1,%ymm8,%ymm10
4285 vpaddq %ymm11,%ymm1,%ymm1
4286 vpsrlq $7,%ymm8,%ymm11
4287 leaq (%r9,%r12,1),%r9
4290 vpsllq $56,%ymm8,%ymm9
4291 vpxor %ymm10,%ymm11,%ymm8
4293 leaq (%r9,%r13,1),%r9
4295 vpsrlq $7,%ymm10,%ymm10
4296 vpxor %ymm9,%ymm8,%ymm8
4299 leaq (%rbx,%r9,1),%rbx
4300 vpsllq $7,%ymm9,%ymm9
4301 vpxor %ymm10,%ymm8,%ymm8
4305 vpsrlq $6,%ymm0,%ymm11
4306 vpxor %ymm9,%ymm8,%ymm8
4308 leaq (%r9,%rdi,1),%r9
4310 vpsllq $3,%ymm0,%ymm10
4311 vpaddq %ymm8,%ymm1,%ymm1
4312 addq 40+256(%rsp),%r8
4315 vpsrlq $19,%ymm0,%ymm9
4316 vpxor %ymm10,%ymm11,%ymm11
4318 leaq (%r9,%r14,1),%r9
4319 leaq (%r8,%r12,1),%r8
4320 vpsllq $42,%ymm10,%ymm10
4321 vpxor %ymm9,%ymm11,%ymm11
4322 andnq %rdx,%rbx,%r12
4325 vpsrlq $42,%ymm9,%ymm9
4326 vpxor %ymm10,%ymm11,%ymm11
4327 leaq (%r8,%r12,1),%r8
4330 vpxor %ymm9,%ymm11,%ymm11
4332 leaq (%r8,%r13,1),%r8
4334 vpaddq %ymm11,%ymm1,%ymm1
4337 leaq (%rax,%r8,1),%rax
4338 vpaddq -96(%rbp),%ymm1,%ymm10
4343 leaq (%r8,%r15,1),%r8
4345 vmovdqa %ymm10,32(%rsp)
4346 vpalignr $8,%ymm2,%ymm3,%ymm8
4347 addq 64+256(%rsp),%rdx
4350 vpalignr $8,%ymm6,%ymm7,%ymm11
4352 leaq (%r8,%r14,1),%r8
4353 leaq (%rdx,%r12,1),%rdx
4354 vpsrlq $1,%ymm8,%ymm10
4355 andnq %rcx,%rax,%r12
4358 vpaddq %ymm11,%ymm2,%ymm2
4359 vpsrlq $7,%ymm8,%ymm11
4360 leaq (%rdx,%r12,1),%rdx
4363 vpsllq $56,%ymm8,%ymm9
4364 vpxor %ymm10,%ymm11,%ymm8
4366 leaq (%rdx,%r13,1),%rdx
4368 vpsrlq $7,%ymm10,%ymm10
4369 vpxor %ymm9,%ymm8,%ymm8
4372 leaq (%r11,%rdx,1),%r11
4373 vpsllq $7,%ymm9,%ymm9
4374 vpxor %ymm10,%ymm8,%ymm8
4378 vpsrlq $6,%ymm1,%ymm11
4379 vpxor %ymm9,%ymm8,%ymm8
4381 leaq (%rdx,%rdi,1),%rdx
4383 vpsllq $3,%ymm1,%ymm10
4384 vpaddq %ymm8,%ymm2,%ymm2
4385 addq 72+256(%rsp),%rcx
4388 vpsrlq $19,%ymm1,%ymm9
4389 vpxor %ymm10,%ymm11,%ymm11
4391 leaq (%rdx,%r14,1),%rdx
4392 leaq (%rcx,%r12,1),%rcx
4393 vpsllq $42,%ymm10,%ymm10
4394 vpxor %ymm9,%ymm11,%ymm11
4395 andnq %rbx,%r11,%r12
4398 vpsrlq $42,%ymm9,%ymm9
4399 vpxor %ymm10,%ymm11,%ymm11
4400 leaq (%rcx,%r12,1),%rcx
4403 vpxor %ymm9,%ymm11,%ymm11
4405 leaq (%rcx,%r13,1),%rcx
4407 vpaddq %ymm11,%ymm2,%ymm2
4410 leaq (%r10,%rcx,1),%r10
4411 vpaddq -64(%rbp),%ymm2,%ymm10
4416 leaq (%rcx,%r15,1),%rcx
4418 vmovdqa %ymm10,64(%rsp)
4419 vpalignr $8,%ymm3,%ymm4,%ymm8
4420 addq 96+256(%rsp),%rbx
4423 vpalignr $8,%ymm7,%ymm0,%ymm11
4425 leaq (%rcx,%r14,1),%rcx
4426 leaq (%rbx,%r12,1),%rbx
4427 vpsrlq $1,%ymm8,%ymm10
4428 andnq %rax,%r10,%r12
4431 vpaddq %ymm11,%ymm3,%ymm3
4432 vpsrlq $7,%ymm8,%ymm11
4433 leaq (%rbx,%r12,1),%rbx
4436 vpsllq $56,%ymm8,%ymm9
4437 vpxor %ymm10,%ymm11,%ymm8
4439 leaq (%rbx,%r13,1),%rbx
4441 vpsrlq $7,%ymm10,%ymm10
4442 vpxor %ymm9,%ymm8,%ymm8
4445 leaq (%r9,%rbx,1),%r9
4446 vpsllq $7,%ymm9,%ymm9
4447 vpxor %ymm10,%ymm8,%ymm8
4451 vpsrlq $6,%ymm2,%ymm11
4452 vpxor %ymm9,%ymm8,%ymm8
4454 leaq (%rbx,%rdi,1),%rbx
4456 vpsllq $3,%ymm2,%ymm10
4457 vpaddq %ymm8,%ymm3,%ymm3
4458 addq 104+256(%rsp),%rax
4461 vpsrlq $19,%ymm2,%ymm9
4462 vpxor %ymm10,%ymm11,%ymm11
4464 leaq (%rbx,%r14,1),%rbx
4465 leaq (%rax,%r12,1),%rax
4466 vpsllq $42,%ymm10,%ymm10
4467 vpxor %ymm9,%ymm11,%ymm11
4471 vpsrlq $42,%ymm9,%ymm9
4472 vpxor %ymm10,%ymm11,%ymm11
4473 leaq (%rax,%r12,1),%rax
4476 vpxor %ymm9,%ymm11,%ymm11
4478 leaq (%rax,%r13,1),%rax
4480 vpaddq %ymm11,%ymm3,%ymm3
4483 leaq (%r8,%rax,1),%r8
4484 vpaddq -32(%rbp),%ymm3,%ymm10
4489 leaq (%rax,%r15,1),%rax
4491 vmovdqa %ymm10,96(%rsp)
4492 leaq -128(%rsp),%rsp
4493 .cfi_escape 0x0f,0x06,0x77,0xf8,0x00,0x06,0x23,0x08
4496 .cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08
4498 .cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08
4499 vpalignr $8,%ymm4,%ymm5,%ymm8
4500 addq 0+256(%rsp),%r11
4503 vpalignr $8,%ymm0,%ymm1,%ymm11
4505 leaq (%rax,%r14,1),%rax
4506 leaq (%r11,%r12,1),%r11
4507 vpsrlq $1,%ymm8,%ymm10
4511 vpaddq %ymm11,%ymm4,%ymm4
4512 vpsrlq $7,%ymm8,%ymm11
4513 leaq (%r11,%r12,1),%r11
4516 vpsllq $56,%ymm8,%ymm9
4517 vpxor %ymm10,%ymm11,%ymm8
4519 leaq (%r11,%r13,1),%r11
4521 vpsrlq $7,%ymm10,%ymm10
4522 vpxor %ymm9,%ymm8,%ymm8
4525 leaq (%rdx,%r11,1),%rdx
4526 vpsllq $7,%ymm9,%ymm9
4527 vpxor %ymm10,%ymm8,%ymm8
4531 vpsrlq $6,%ymm3,%ymm11
4532 vpxor %ymm9,%ymm8,%ymm8
4534 leaq (%r11,%rdi,1),%r11
4536 vpsllq $3,%ymm3,%ymm10
4537 vpaddq %ymm8,%ymm4,%ymm4
4538 addq 8+256(%rsp),%r10
4541 vpsrlq $19,%ymm3,%ymm9
4542 vpxor %ymm10,%ymm11,%ymm11
4544 leaq (%r11,%r14,1),%r11
4545 leaq (%r10,%r12,1),%r10
4546 vpsllq $42,%ymm10,%ymm10
4547 vpxor %ymm9,%ymm11,%ymm11
4551 vpsrlq $42,%ymm9,%ymm9
4552 vpxor %ymm10,%ymm11,%ymm11
4553 leaq (%r10,%r12,1),%r10
4556 vpxor %ymm9,%ymm11,%ymm11
4558 leaq (%r10,%r13,1),%r10
4560 vpaddq %ymm11,%ymm4,%ymm4
4563 leaq (%rcx,%r10,1),%rcx
4564 vpaddq 0(%rbp),%ymm4,%ymm10
4569 leaq (%r10,%r15,1),%r10
4571 vmovdqa %ymm10,0(%rsp)
4572 vpalignr $8,%ymm5,%ymm6,%ymm8
4573 addq 32+256(%rsp),%r9
4576 vpalignr $8,%ymm1,%ymm2,%ymm11
4578 leaq (%r10,%r14,1),%r10
4579 leaq (%r9,%r12,1),%r9
4580 vpsrlq $1,%ymm8,%ymm10
4584 vpaddq %ymm11,%ymm5,%ymm5
4585 vpsrlq $7,%ymm8,%ymm11
4586 leaq (%r9,%r12,1),%r9
4589 vpsllq $56,%ymm8,%ymm9
4590 vpxor %ymm10,%ymm11,%ymm8
4592 leaq (%r9,%r13,1),%r9
4594 vpsrlq $7,%ymm10,%ymm10
4595 vpxor %ymm9,%ymm8,%ymm8
4598 leaq (%rbx,%r9,1),%rbx
4599 vpsllq $7,%ymm9,%ymm9
4600 vpxor %ymm10,%ymm8,%ymm8
4604 vpsrlq $6,%ymm4,%ymm11
4605 vpxor %ymm9,%ymm8,%ymm8
4607 leaq (%r9,%rdi,1),%r9
4609 vpsllq $3,%ymm4,%ymm10
4610 vpaddq %ymm8,%ymm5,%ymm5
4611 addq 40+256(%rsp),%r8
4614 vpsrlq $19,%ymm4,%ymm9
4615 vpxor %ymm10,%ymm11,%ymm11
4617 leaq (%r9,%r14,1),%r9
4618 leaq (%r8,%r12,1),%r8
4619 vpsllq $42,%ymm10,%ymm10
4620 vpxor %ymm9,%ymm11,%ymm11
4621 andnq %rdx,%rbx,%r12
4624 vpsrlq $42,%ymm9,%ymm9
4625 vpxor %ymm10,%ymm11,%ymm11
4626 leaq (%r8,%r12,1),%r8
4629 vpxor %ymm9,%ymm11,%ymm11
4631 leaq (%r8,%r13,1),%r8
4633 vpaddq %ymm11,%ymm5,%ymm5
4636 leaq (%rax,%r8,1),%rax
4637 vpaddq 32(%rbp),%ymm5,%ymm10
4642 leaq (%r8,%r15,1),%r8
4644 vmovdqa %ymm10,32(%rsp)
4645 vpalignr $8,%ymm6,%ymm7,%ymm8
4646 addq 64+256(%rsp),%rdx
4649 vpalignr $8,%ymm2,%ymm3,%ymm11
4651 leaq (%r8,%r14,1),%r8
4652 leaq (%rdx,%r12,1),%rdx
4653 vpsrlq $1,%ymm8,%ymm10
4654 andnq %rcx,%rax,%r12
4657 vpaddq %ymm11,%ymm6,%ymm6
4658 vpsrlq $7,%ymm8,%ymm11
4659 leaq (%rdx,%r12,1),%rdx
4662 vpsllq $56,%ymm8,%ymm9
4663 vpxor %ymm10,%ymm11,%ymm8
4665 leaq (%rdx,%r13,1),%rdx
4667 vpsrlq $7,%ymm10,%ymm10
4668 vpxor %ymm9,%ymm8,%ymm8
4671 leaq (%r11,%rdx,1),%r11
4672 vpsllq $7,%ymm9,%ymm9
4673 vpxor %ymm10,%ymm8,%ymm8
4677 vpsrlq $6,%ymm5,%ymm11
4678 vpxor %ymm9,%ymm8,%ymm8
4680 leaq (%rdx,%rdi,1),%rdx
4682 vpsllq $3,%ymm5,%ymm10
4683 vpaddq %ymm8,%ymm6,%ymm6
4684 addq 72+256(%rsp),%rcx
4687 vpsrlq $19,%ymm5,%ymm9
4688 vpxor %ymm10,%ymm11,%ymm11
4690 leaq (%rdx,%r14,1),%rdx
4691 leaq (%rcx,%r12,1),%rcx
4692 vpsllq $42,%ymm10,%ymm10
4693 vpxor %ymm9,%ymm11,%ymm11
4694 andnq %rbx,%r11,%r12
4697 vpsrlq $42,%ymm9,%ymm9
4698 vpxor %ymm10,%ymm11,%ymm11
4699 leaq (%rcx,%r12,1),%rcx
4702 vpxor %ymm9,%ymm11,%ymm11
4704 leaq (%rcx,%r13,1),%rcx
4706 vpaddq %ymm11,%ymm6,%ymm6
4709 leaq (%r10,%rcx,1),%r10
4710 vpaddq 64(%rbp),%ymm6,%ymm10
4715 leaq (%rcx,%r15,1),%rcx
4717 vmovdqa %ymm10,64(%rsp)
4718 vpalignr $8,%ymm7,%ymm0,%ymm8
4719 addq 96+256(%rsp),%rbx
4722 vpalignr $8,%ymm3,%ymm4,%ymm11
4724 leaq (%rcx,%r14,1),%rcx
4725 leaq (%rbx,%r12,1),%rbx
4726 vpsrlq $1,%ymm8,%ymm10
4727 andnq %rax,%r10,%r12
4730 vpaddq %ymm11,%ymm7,%ymm7
4731 vpsrlq $7,%ymm8,%ymm11
4732 leaq (%rbx,%r12,1),%rbx
4735 vpsllq $56,%ymm8,%ymm9
4736 vpxor %ymm10,%ymm11,%ymm8
4738 leaq (%rbx,%r13,1),%rbx
4740 vpsrlq $7,%ymm10,%ymm10
4741 vpxor %ymm9,%ymm8,%ymm8
4744 leaq (%r9,%rbx,1),%r9
4745 vpsllq $7,%ymm9,%ymm9
4746 vpxor %ymm10,%ymm8,%ymm8
4750 vpsrlq $6,%ymm6,%ymm11
4751 vpxor %ymm9,%ymm8,%ymm8
4753 leaq (%rbx,%rdi,1),%rbx
4755 vpsllq $3,%ymm6,%ymm10
4756 vpaddq %ymm8,%ymm7,%ymm7
4757 addq 104+256(%rsp),%rax
4760 vpsrlq $19,%ymm6,%ymm9
4761 vpxor %ymm10,%ymm11,%ymm11
4763 leaq (%rbx,%r14,1),%rbx
4764 leaq (%rax,%r12,1),%rax
4765 vpsllq $42,%ymm10,%ymm10
4766 vpxor %ymm9,%ymm11,%ymm11
4770 vpsrlq $42,%ymm9,%ymm9
4771 vpxor %ymm10,%ymm11,%ymm11
4772 leaq (%rax,%r12,1),%rax
4775 vpxor %ymm9,%ymm11,%ymm11
4777 leaq (%rax,%r13,1),%rax
4779 vpaddq %ymm11,%ymm7,%ymm7
4782 leaq (%r8,%rax,1),%r8
4783 vpaddq 96(%rbp),%ymm7,%ymm10
4788 leaq (%rax,%r15,1),%rax
4790 vmovdqa %ymm10,96(%rsp)
4794 addq 0+128(%rsp),%r11
4798 leaq (%rax,%r14,1),%rax
4799 leaq (%r11,%r12,1),%r11
4803 leaq (%r11,%r12,1),%r11
4807 leaq (%r11,%r13,1),%r11
4811 leaq (%rdx,%r11,1),%rdx
4816 leaq (%r11,%rdi,1),%r11
4818 addq 8+128(%rsp),%r10
4822 leaq (%r11,%r14,1),%r11
4823 leaq (%r10,%r12,1),%r10
4827 leaq (%r10,%r12,1),%r10
4831 leaq (%r10,%r13,1),%r10
4835 leaq (%rcx,%r10,1),%rcx
4840 leaq (%r10,%r15,1),%r10
4842 addq 32+128(%rsp),%r9
4846 leaq (%r10,%r14,1),%r10
4847 leaq (%r9,%r12,1),%r9
4851 leaq (%r9,%r12,1),%r9
4855 leaq (%r9,%r13,1),%r9
4859 leaq (%rbx,%r9,1),%rbx
4864 leaq (%r9,%rdi,1),%r9
4866 addq 40+128(%rsp),%r8
4870 leaq (%r9,%r14,1),%r9
4871 leaq (%r8,%r12,1),%r8
4872 andnq %rdx,%rbx,%r12
4875 leaq (%r8,%r12,1),%r8
4879 leaq (%r8,%r13,1),%r8
4883 leaq (%rax,%r8,1),%rax
4888 leaq (%r8,%r15,1),%r8
4890 addq 64+128(%rsp),%rdx
4894 leaq (%r8,%r14,1),%r8
4895 leaq (%rdx,%r12,1),%rdx
4896 andnq %rcx,%rax,%r12
4899 leaq (%rdx,%r12,1),%rdx
4903 leaq (%rdx,%r13,1),%rdx
4907 leaq (%r11,%rdx,1),%r11
4912 leaq (%rdx,%rdi,1),%rdx
4914 addq 72+128(%rsp),%rcx
4918 leaq (%rdx,%r14,1),%rdx
4919 leaq (%rcx,%r12,1),%rcx
4920 andnq %rbx,%r11,%r12
4923 leaq (%rcx,%r12,1),%rcx
4927 leaq (%rcx,%r13,1),%rcx
4931 leaq (%r10,%rcx,1),%r10
4936 leaq (%rcx,%r15,1),%rcx
4938 addq 96+128(%rsp),%rbx
4942 leaq (%rcx,%r14,1),%rcx
4943 leaq (%rbx,%r12,1),%rbx
4944 andnq %rax,%r10,%r12
4947 leaq (%rbx,%r12,1),%rbx
4951 leaq (%rbx,%r13,1),%rbx
4955 leaq (%r9,%rbx,1),%r9
4960 leaq (%rbx,%rdi,1),%rbx
4962 addq 104+128(%rsp),%rax
4966 leaq (%rbx,%r14,1),%rbx
4967 leaq (%rax,%r12,1),%rax
4971 leaq (%rax,%r12,1),%rax
4975 leaq (%rax,%r13,1),%rax
4979 leaq (%r8,%rax,1),%r8
4984 leaq (%rax,%r15,1),%rax
4990 leaq (%rax,%r14,1),%rax
4991 leaq (%r11,%r12,1),%r11
4995 leaq (%r11,%r12,1),%r11
4999 leaq (%r11,%r13,1),%r11
5003 leaq (%rdx,%r11,1),%rdx
5008 leaq (%r11,%rdi,1),%r11
5014 leaq (%r11,%r14,1),%r11
5015 leaq (%r10,%r12,1),%r10
5019 leaq (%r10,%r12,1),%r10
5023 leaq (%r10,%r13,1),%r10
5027 leaq (%rcx,%r10,1),%rcx
5032 leaq (%r10,%r15,1),%r10
5038 leaq (%r10,%r14,1),%r10
5039 leaq (%r9,%r12,1),%r9
5043 leaq (%r9,%r12,1),%r9
5047 leaq (%r9,%r13,1),%r9
5051 leaq (%rbx,%r9,1),%rbx
5056 leaq (%r9,%rdi,1),%r9
5062 leaq (%r9,%r14,1),%r9
5063 leaq (%r8,%r12,1),%r8
5064 andnq %rdx,%rbx,%r12
5067 leaq (%r8,%r12,1),%r8
5071 leaq (%r8,%r13,1),%r8
5075 leaq (%rax,%r8,1),%rax
5080 leaq (%r8,%r15,1),%r8
5086 leaq (%r8,%r14,1),%r8
5087 leaq (%rdx,%r12,1),%rdx
5088 andnq %rcx,%rax,%r12
5091 leaq (%rdx,%r12,1),%rdx
5095 leaq (%rdx,%r13,1),%rdx
5099 leaq (%r11,%rdx,1),%r11
5104 leaq (%rdx,%rdi,1),%rdx
5110 leaq (%rdx,%r14,1),%rdx
5111 leaq (%rcx,%r12,1),%rcx
5112 andnq %rbx,%r11,%r12
5115 leaq (%rcx,%r12,1),%rcx
5119 leaq (%rcx,%r13,1),%rcx
5123 leaq (%r10,%rcx,1),%r10
5128 leaq (%rcx,%r15,1),%rcx
5134 leaq (%rcx,%r14,1),%rcx
5135 leaq (%rbx,%r12,1),%rbx
5136 andnq %rax,%r10,%r12
5139 leaq (%rbx,%r12,1),%rbx
5143 leaq (%rbx,%r13,1),%rbx
5147 leaq (%r9,%rbx,1),%r9
5152 leaq (%rbx,%rdi,1),%rbx
5158 leaq (%rbx,%r14,1),%rbx
5159 leaq (%rax,%r12,1),%rax
5163 leaq (%rax,%r12,1),%rax
5167 leaq (%rax,%r13,1),%rax
5171 leaq (%r8,%rax,1),%r8
5176 leaq (%rax,%r15,1),%rax
5178 movq 1280(%rsp),%rdi
5181 leaq 1152(%rsp),%rbp
5211 addq 0+16(%rbp),%r11
5215 leaq (%rax,%r14,1),%rax
5216 leaq (%r11,%r12,1),%r11
5220 leaq (%r11,%r12,1),%r11
5224 leaq (%r11,%r13,1),%r11
5228 leaq (%rdx,%r11,1),%rdx
5233 leaq (%r11,%rdi,1),%r11
5235 addq 8+16(%rbp),%r10
5239 leaq (%r11,%r14,1),%r11
5240 leaq (%r10,%r12,1),%r10
5244 leaq (%r10,%r12,1),%r10
5248 leaq (%r10,%r13,1),%r10
5252 leaq (%rcx,%r10,1),%rcx
5257 leaq (%r10,%r15,1),%r10
5259 addq 32+16(%rbp),%r9
5263 leaq (%r10,%r14,1),%r10
5264 leaq (%r9,%r12,1),%r9
5268 leaq (%r9,%r12,1),%r9
5272 leaq (%r9,%r13,1),%r9
5276 leaq (%rbx,%r9,1),%rbx
5281 leaq (%r9,%rdi,1),%r9
5283 addq 40+16(%rbp),%r8
5287 leaq (%r9,%r14,1),%r9
5288 leaq (%r8,%r12,1),%r8
5289 andnq %rdx,%rbx,%r12
5292 leaq (%r8,%r12,1),%r8
5296 leaq (%r8,%r13,1),%r8
5300 leaq (%rax,%r8,1),%rax
5305 leaq (%r8,%r15,1),%r8
5307 addq 64+16(%rbp),%rdx
5311 leaq (%r8,%r14,1),%r8
5312 leaq (%rdx,%r12,1),%rdx
5313 andnq %rcx,%rax,%r12
5316 leaq (%rdx,%r12,1),%rdx
5320 leaq (%rdx,%r13,1),%rdx
5324 leaq (%r11,%rdx,1),%r11
5329 leaq (%rdx,%rdi,1),%rdx
5331 addq 72+16(%rbp),%rcx
5335 leaq (%rdx,%r14,1),%rdx
5336 leaq (%rcx,%r12,1),%rcx
5337 andnq %rbx,%r11,%r12
5340 leaq (%rcx,%r12,1),%rcx
5344 leaq (%rcx,%r13,1),%rcx
5348 leaq (%r10,%rcx,1),%r10
5353 leaq (%rcx,%r15,1),%rcx
5355 addq 96+16(%rbp),%rbx
5359 leaq (%rcx,%r14,1),%rcx
5360 leaq (%rbx,%r12,1),%rbx
5361 andnq %rax,%r10,%r12
5364 leaq (%rbx,%r12,1),%rbx
5368 leaq (%rbx,%r13,1),%rbx
5372 leaq (%r9,%rbx,1),%r9
5377 leaq (%rbx,%rdi,1),%rbx
5379 addq 104+16(%rbp),%rax
5383 leaq (%rbx,%r14,1),%rbx
5384 leaq (%rax,%r12,1),%rax
5388 leaq (%rax,%r12,1),%rax
5392 leaq (%rax,%r13,1),%rax
5396 leaq (%r8,%rax,1),%r8
5401 leaq (%rax,%r15,1),%rax
5403 leaq -128(%rbp),%rbp
5407 movq 1280(%rsp),%rdi
5410 leaq 1152(%rsp),%rsp
5412 .cfi_escape 0x0f,0x06,0x77,0x98,0x01,0x06,0x23,0x08
5424 cmpq 128+16(%rsp),%rsi
5440 .cfi_escape 0x0f,0x06,0x76,0x98,0x01,0x06,0x23,0x08
5459 .cfi_def_cfa_register %rsp
5463 .size sha512_block_data_order_avx2,.-sha512_block_data_order_avx2