Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(259)

Side by Side Diff: third_party/boringssl/linux-x86_64/crypto/sha/sha512-x86_64.S

Issue 2219933002: Land BoringSSL roll on master (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 #if defined(__x86_64__) 1 #if defined(__x86_64__)
2 .text 2 .text
3 3
4 .extern OPENSSL_ia32cap_P 4 .extern OPENSSL_ia32cap_P
5 .hidden OPENSSL_ia32cap_P 5 .hidden OPENSSL_ia32cap_P
6 .globl sha512_block_data_order 6 .globl sha512_block_data_order
7 .hidden sha512_block_data_order 7 .hidden sha512_block_data_order
8 .type sha512_block_data_order,@function 8 .type sha512_block_data_order,@function
9 .align 16 9 .align 16
10 sha512_block_data_order: 10 sha512_block_data_order:
11 leaq OPENSSL_ia32cap_P(%rip),%r11
12 movl 0(%r11),%r9d
13 movl 4(%r11),%r10d
14 movl 8(%r11),%r11d
15 testl $2048,%r10d
16 jnz .Lxop_shortcut
17 andl $1073741824,%r9d
18 andl $268435968,%r10d
19 orl %r9d,%r10d
20 cmpl $1342177792,%r10d
21 je .Lavx_shortcut
11 pushq %rbx 22 pushq %rbx
12 pushq %rbp 23 pushq %rbp
13 pushq %r12 24 pushq %r12
14 pushq %r13 25 pushq %r13
15 pushq %r14 26 pushq %r14
16 pushq %r15 27 pushq %r15
17 movq %rsp,%r11 28 movq %rsp,%r11
18 shlq $4,%rdx 29 shlq $4,%rdx
19 subq $128+32,%rsp 30 subq $128+32,%rsp
20 leaq (%rsi,%rdx,8),%rdx 31 leaq (%rsi,%rdx,8),%rdx
(...skipping 1756 matching lines...) Expand 10 before | Expand all | Expand 10 after
1777 .quad 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c 1788 .quad 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
1778 .quad 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c 1789 .quad 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
1779 .quad 0x4cc5d4becb3e42b6,0x597f299cfc657e2a 1790 .quad 0x4cc5d4becb3e42b6,0x597f299cfc657e2a
1780 .quad 0x4cc5d4becb3e42b6,0x597f299cfc657e2a 1791 .quad 0x4cc5d4becb3e42b6,0x597f299cfc657e2a
1781 .quad 0x5fcb6fab3ad6faec,0x6c44198c4a475817 1792 .quad 0x5fcb6fab3ad6faec,0x6c44198c4a475817
1782 .quad 0x5fcb6fab3ad6faec,0x6c44198c4a475817 1793 .quad 0x5fcb6fab3ad6faec,0x6c44198c4a475817
1783 1794
1784 .quad 0x0001020304050607,0x08090a0b0c0d0e0f 1795 .quad 0x0001020304050607,0x08090a0b0c0d0e0f
1785 .quad 0x0001020304050607,0x08090a0b0c0d0e0f 1796 .quad 0x0001020304050607,0x08090a0b0c0d0e0f
1786 .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,6 2,0 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,6 2,0
1798 .type sha512_block_data_order_xop,@function
1799 .align 64
1800 sha512_block_data_order_xop:
1801 .Lxop_shortcut:
1802 pushq %rbx
1803 pushq %rbp
1804 pushq %r12
1805 pushq %r13
1806 pushq %r14
1807 pushq %r15
1808 movq %rsp,%r11
1809 shlq $4,%rdx
1810 subq $160,%rsp
1811 leaq (%rsi,%rdx,8),%rdx
1812 andq $-64,%rsp
1813 movq %rdi,128+0(%rsp)
1814 movq %rsi,128+8(%rsp)
1815 movq %rdx,128+16(%rsp)
1816 movq %r11,128+24(%rsp)
1817 .Lprologue_xop:
1818
1819 vzeroupper
1820 movq 0(%rdi),%rax
1821 movq 8(%rdi),%rbx
1822 movq 16(%rdi),%rcx
1823 movq 24(%rdi),%rdx
1824 movq 32(%rdi),%r8
1825 movq 40(%rdi),%r9
1826 movq 48(%rdi),%r10
1827 movq 56(%rdi),%r11
1828 jmp .Lloop_xop
1829 .align 16
1830 .Lloop_xop:
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)
1862 movq %rax,%r14
1863 vmovdqa %xmm9,80(%rsp)
1864 movq %rbx,%rdi
1865 vmovdqa %xmm10,96(%rsp)
1866 xorq %rcx,%rdi
1867 vmovdqa %xmm11,112(%rsp)
1868 movq %r8,%r13
1869 jmp .Lxop_00_47
1870
1871 .align 16
1872 .Lxop_00_47:
1873 addq $256,%rbp
1874 vpalignr $8,%xmm0,%xmm1,%xmm8
1875 rorq $23,%r13
1876 movq %r14,%rax
1877 vpalignr $8,%xmm4,%xmm5,%xmm11
1878 movq %r9,%r12
1879 rorq $5,%r14
1880 .byte 143,72,120,195,200,56
1881 xorq %r8,%r13
1882 xorq %r10,%r12
1883 vpsrlq $7,%xmm8,%xmm8
1884 rorq $4,%r13
1885 xorq %rax,%r14
1886 vpaddq %xmm11,%xmm0,%xmm0
1887 andq %r8,%r12
1888 xorq %r8,%r13
1889 addq 0(%rsp),%r11
1890 movq %rax,%r15
1891 .byte 143,72,120,195,209,7
1892 xorq %r10,%r12
1893 rorq $6,%r14
1894 vpxor %xmm9,%xmm8,%xmm8
1895 xorq %rbx,%r15
1896 addq %r12,%r11
1897 rorq $14,%r13
1898 andq %r15,%rdi
1899 .byte 143,104,120,195,223,3
1900 xorq %rax,%r14
1901 addq %r13,%r11
1902 vpxor %xmm10,%xmm8,%xmm8
1903 xorq %rbx,%rdi
1904 rorq $28,%r14
1905 vpsrlq $6,%xmm7,%xmm10
1906 addq %r11,%rdx
1907 addq %rdi,%r11
1908 vpaddq %xmm8,%xmm0,%xmm0
1909 movq %rdx,%r13
1910 addq %r11,%r14
1911 .byte 143,72,120,195,203,42
1912 rorq $23,%r13
1913 movq %r14,%r11
1914 vpxor %xmm10,%xmm11,%xmm11
1915 movq %r8,%r12
1916 rorq $5,%r14
1917 xorq %rdx,%r13
1918 xorq %r9,%r12
1919 vpxor %xmm9,%xmm11,%xmm11
1920 rorq $4,%r13
1921 xorq %r11,%r14
1922 andq %rdx,%r12
1923 xorq %rdx,%r13
1924 vpaddq %xmm11,%xmm0,%xmm0
1925 addq 8(%rsp),%r10
1926 movq %r11,%rdi
1927 xorq %r9,%r12
1928 rorq $6,%r14
1929 vpaddq -128(%rbp),%xmm0,%xmm10
1930 xorq %rax,%rdi
1931 addq %r12,%r10
1932 rorq $14,%r13
1933 andq %rdi,%r15
1934 xorq %r11,%r14
1935 addq %r13,%r10
1936 xorq %rax,%r15
1937 rorq $28,%r14
1938 addq %r10,%rcx
1939 addq %r15,%r10
1940 movq %rcx,%r13
1941 addq %r10,%r14
1942 vmovdqa %xmm10,0(%rsp)
1943 vpalignr $8,%xmm1,%xmm2,%xmm8
1944 rorq $23,%r13
1945 movq %r14,%r10
1946 vpalignr $8,%xmm5,%xmm6,%xmm11
1947 movq %rdx,%r12
1948 rorq $5,%r14
1949 .byte 143,72,120,195,200,56
1950 xorq %rcx,%r13
1951 xorq %r8,%r12
1952 vpsrlq $7,%xmm8,%xmm8
1953 rorq $4,%r13
1954 xorq %r10,%r14
1955 vpaddq %xmm11,%xmm1,%xmm1
1956 andq %rcx,%r12
1957 xorq %rcx,%r13
1958 addq 16(%rsp),%r9
1959 movq %r10,%r15
1960 .byte 143,72,120,195,209,7
1961 xorq %r8,%r12
1962 rorq $6,%r14
1963 vpxor %xmm9,%xmm8,%xmm8
1964 xorq %r11,%r15
1965 addq %r12,%r9
1966 rorq $14,%r13
1967 andq %r15,%rdi
1968 .byte 143,104,120,195,216,3
1969 xorq %r10,%r14
1970 addq %r13,%r9
1971 vpxor %xmm10,%xmm8,%xmm8
1972 xorq %r11,%rdi
1973 rorq $28,%r14
1974 vpsrlq $6,%xmm0,%xmm10
1975 addq %r9,%rbx
1976 addq %rdi,%r9
1977 vpaddq %xmm8,%xmm1,%xmm1
1978 movq %rbx,%r13
1979 addq %r9,%r14
1980 .byte 143,72,120,195,203,42
1981 rorq $23,%r13
1982 movq %r14,%r9
1983 vpxor %xmm10,%xmm11,%xmm11
1984 movq %rcx,%r12
1985 rorq $5,%r14
1986 xorq %rbx,%r13
1987 xorq %rdx,%r12
1988 vpxor %xmm9,%xmm11,%xmm11
1989 rorq $4,%r13
1990 xorq %r9,%r14
1991 andq %rbx,%r12
1992 xorq %rbx,%r13
1993 vpaddq %xmm11,%xmm1,%xmm1
1994 addq 24(%rsp),%r8
1995 movq %r9,%rdi
1996 xorq %rdx,%r12
1997 rorq $6,%r14
1998 vpaddq -96(%rbp),%xmm1,%xmm10
1999 xorq %r10,%rdi
2000 addq %r12,%r8
2001 rorq $14,%r13
2002 andq %rdi,%r15
2003 xorq %r9,%r14
2004 addq %r13,%r8
2005 xorq %r10,%r15
2006 rorq $28,%r14
2007 addq %r8,%rax
2008 addq %r15,%r8
2009 movq %rax,%r13
2010 addq %r8,%r14
2011 vmovdqa %xmm10,16(%rsp)
2012 vpalignr $8,%xmm2,%xmm3,%xmm8
2013 rorq $23,%r13
2014 movq %r14,%r8
2015 vpalignr $8,%xmm6,%xmm7,%xmm11
2016 movq %rbx,%r12
2017 rorq $5,%r14
2018 .byte 143,72,120,195,200,56
2019 xorq %rax,%r13
2020 xorq %rcx,%r12
2021 vpsrlq $7,%xmm8,%xmm8
2022 rorq $4,%r13
2023 xorq %r8,%r14
2024 vpaddq %xmm11,%xmm2,%xmm2
2025 andq %rax,%r12
2026 xorq %rax,%r13
2027 addq 32(%rsp),%rdx
2028 movq %r8,%r15
2029 .byte 143,72,120,195,209,7
2030 xorq %rcx,%r12
2031 rorq $6,%r14
2032 vpxor %xmm9,%xmm8,%xmm8
2033 xorq %r9,%r15
2034 addq %r12,%rdx
2035 rorq $14,%r13
2036 andq %r15,%rdi
2037 .byte 143,104,120,195,217,3
2038 xorq %r8,%r14
2039 addq %r13,%rdx
2040 vpxor %xmm10,%xmm8,%xmm8
2041 xorq %r9,%rdi
2042 rorq $28,%r14
2043 vpsrlq $6,%xmm1,%xmm10
2044 addq %rdx,%r11
2045 addq %rdi,%rdx
2046 vpaddq %xmm8,%xmm2,%xmm2
2047 movq %r11,%r13
2048 addq %rdx,%r14
2049 .byte 143,72,120,195,203,42
2050 rorq $23,%r13
2051 movq %r14,%rdx
2052 vpxor %xmm10,%xmm11,%xmm11
2053 movq %rax,%r12
2054 rorq $5,%r14
2055 xorq %r11,%r13
2056 xorq %rbx,%r12
2057 vpxor %xmm9,%xmm11,%xmm11
2058 rorq $4,%r13
2059 xorq %rdx,%r14
2060 andq %r11,%r12
2061 xorq %r11,%r13
2062 vpaddq %xmm11,%xmm2,%xmm2
2063 addq 40(%rsp),%rcx
2064 movq %rdx,%rdi
2065 xorq %rbx,%r12
2066 rorq $6,%r14
2067 vpaddq -64(%rbp),%xmm2,%xmm10
2068 xorq %r8,%rdi
2069 addq %r12,%rcx
2070 rorq $14,%r13
2071 andq %rdi,%r15
2072 xorq %rdx,%r14
2073 addq %r13,%rcx
2074 xorq %r8,%r15
2075 rorq $28,%r14
2076 addq %rcx,%r10
2077 addq %r15,%rcx
2078 movq %r10,%r13
2079 addq %rcx,%r14
2080 vmovdqa %xmm10,32(%rsp)
2081 vpalignr $8,%xmm3,%xmm4,%xmm8
2082 rorq $23,%r13
2083 movq %r14,%rcx
2084 vpalignr $8,%xmm7,%xmm0,%xmm11
2085 movq %r11,%r12
2086 rorq $5,%r14
2087 .byte 143,72,120,195,200,56
2088 xorq %r10,%r13
2089 xorq %rax,%r12
2090 vpsrlq $7,%xmm8,%xmm8
2091 rorq $4,%r13
2092 xorq %rcx,%r14
2093 vpaddq %xmm11,%xmm3,%xmm3
2094 andq %r10,%r12
2095 xorq %r10,%r13
2096 addq 48(%rsp),%rbx
2097 movq %rcx,%r15
2098 .byte 143,72,120,195,209,7
2099 xorq %rax,%r12
2100 rorq $6,%r14
2101 vpxor %xmm9,%xmm8,%xmm8
2102 xorq %rdx,%r15
2103 addq %r12,%rbx
2104 rorq $14,%r13
2105 andq %r15,%rdi
2106 .byte 143,104,120,195,218,3
2107 xorq %rcx,%r14
2108 addq %r13,%rbx
2109 vpxor %xmm10,%xmm8,%xmm8
2110 xorq %rdx,%rdi
2111 rorq $28,%r14
2112 vpsrlq $6,%xmm2,%xmm10
2113 addq %rbx,%r9
2114 addq %rdi,%rbx
2115 vpaddq %xmm8,%xmm3,%xmm3
2116 movq %r9,%r13
2117 addq %rbx,%r14
2118 .byte 143,72,120,195,203,42
2119 rorq $23,%r13
2120 movq %r14,%rbx
2121 vpxor %xmm10,%xmm11,%xmm11
2122 movq %r10,%r12
2123 rorq $5,%r14
2124 xorq %r9,%r13
2125 xorq %r11,%r12
2126 vpxor %xmm9,%xmm11,%xmm11
2127 rorq $4,%r13
2128 xorq %rbx,%r14
2129 andq %r9,%r12
2130 xorq %r9,%r13
2131 vpaddq %xmm11,%xmm3,%xmm3
2132 addq 56(%rsp),%rax
2133 movq %rbx,%rdi
2134 xorq %r11,%r12
2135 rorq $6,%r14
2136 vpaddq -32(%rbp),%xmm3,%xmm10
2137 xorq %rcx,%rdi
2138 addq %r12,%rax
2139 rorq $14,%r13
2140 andq %rdi,%r15
2141 xorq %rbx,%r14
2142 addq %r13,%rax
2143 xorq %rcx,%r15
2144 rorq $28,%r14
2145 addq %rax,%r8
2146 addq %r15,%rax
2147 movq %r8,%r13
2148 addq %rax,%r14
2149 vmovdqa %xmm10,48(%rsp)
2150 vpalignr $8,%xmm4,%xmm5,%xmm8
2151 rorq $23,%r13
2152 movq %r14,%rax
2153 vpalignr $8,%xmm0,%xmm1,%xmm11
2154 movq %r9,%r12
2155 rorq $5,%r14
2156 .byte 143,72,120,195,200,56
2157 xorq %r8,%r13
2158 xorq %r10,%r12
2159 vpsrlq $7,%xmm8,%xmm8
2160 rorq $4,%r13
2161 xorq %rax,%r14
2162 vpaddq %xmm11,%xmm4,%xmm4
2163 andq %r8,%r12
2164 xorq %r8,%r13
2165 addq 64(%rsp),%r11
2166 movq %rax,%r15
2167 .byte 143,72,120,195,209,7
2168 xorq %r10,%r12
2169 rorq $6,%r14
2170 vpxor %xmm9,%xmm8,%xmm8
2171 xorq %rbx,%r15
2172 addq %r12,%r11
2173 rorq $14,%r13
2174 andq %r15,%rdi
2175 .byte 143,104,120,195,219,3
2176 xorq %rax,%r14
2177 addq %r13,%r11
2178 vpxor %xmm10,%xmm8,%xmm8
2179 xorq %rbx,%rdi
2180 rorq $28,%r14
2181 vpsrlq $6,%xmm3,%xmm10
2182 addq %r11,%rdx
2183 addq %rdi,%r11
2184 vpaddq %xmm8,%xmm4,%xmm4
2185 movq %rdx,%r13
2186 addq %r11,%r14
2187 .byte 143,72,120,195,203,42
2188 rorq $23,%r13
2189 movq %r14,%r11
2190 vpxor %xmm10,%xmm11,%xmm11
2191 movq %r8,%r12
2192 rorq $5,%r14
2193 xorq %rdx,%r13
2194 xorq %r9,%r12
2195 vpxor %xmm9,%xmm11,%xmm11
2196 rorq $4,%r13
2197 xorq %r11,%r14
2198 andq %rdx,%r12
2199 xorq %rdx,%r13
2200 vpaddq %xmm11,%xmm4,%xmm4
2201 addq 72(%rsp),%r10
2202 movq %r11,%rdi
2203 xorq %r9,%r12
2204 rorq $6,%r14
2205 vpaddq 0(%rbp),%xmm4,%xmm10
2206 xorq %rax,%rdi
2207 addq %r12,%r10
2208 rorq $14,%r13
2209 andq %rdi,%r15
2210 xorq %r11,%r14
2211 addq %r13,%r10
2212 xorq %rax,%r15
2213 rorq $28,%r14
2214 addq %r10,%rcx
2215 addq %r15,%r10
2216 movq %rcx,%r13
2217 addq %r10,%r14
2218 vmovdqa %xmm10,64(%rsp)
2219 vpalignr $8,%xmm5,%xmm6,%xmm8
2220 rorq $23,%r13
2221 movq %r14,%r10
2222 vpalignr $8,%xmm1,%xmm2,%xmm11
2223 movq %rdx,%r12
2224 rorq $5,%r14
2225 .byte 143,72,120,195,200,56
2226 xorq %rcx,%r13
2227 xorq %r8,%r12
2228 vpsrlq $7,%xmm8,%xmm8
2229 rorq $4,%r13
2230 xorq %r10,%r14
2231 vpaddq %xmm11,%xmm5,%xmm5
2232 andq %rcx,%r12
2233 xorq %rcx,%r13
2234 addq 80(%rsp),%r9
2235 movq %r10,%r15
2236 .byte 143,72,120,195,209,7
2237 xorq %r8,%r12
2238 rorq $6,%r14
2239 vpxor %xmm9,%xmm8,%xmm8
2240 xorq %r11,%r15
2241 addq %r12,%r9
2242 rorq $14,%r13
2243 andq %r15,%rdi
2244 .byte 143,104,120,195,220,3
2245 xorq %r10,%r14
2246 addq %r13,%r9
2247 vpxor %xmm10,%xmm8,%xmm8
2248 xorq %r11,%rdi
2249 rorq $28,%r14
2250 vpsrlq $6,%xmm4,%xmm10
2251 addq %r9,%rbx
2252 addq %rdi,%r9
2253 vpaddq %xmm8,%xmm5,%xmm5
2254 movq %rbx,%r13
2255 addq %r9,%r14
2256 .byte 143,72,120,195,203,42
2257 rorq $23,%r13
2258 movq %r14,%r9
2259 vpxor %xmm10,%xmm11,%xmm11
2260 movq %rcx,%r12
2261 rorq $5,%r14
2262 xorq %rbx,%r13
2263 xorq %rdx,%r12
2264 vpxor %xmm9,%xmm11,%xmm11
2265 rorq $4,%r13
2266 xorq %r9,%r14
2267 andq %rbx,%r12
2268 xorq %rbx,%r13
2269 vpaddq %xmm11,%xmm5,%xmm5
2270 addq 88(%rsp),%r8
2271 movq %r9,%rdi
2272 xorq %rdx,%r12
2273 rorq $6,%r14
2274 vpaddq 32(%rbp),%xmm5,%xmm10
2275 xorq %r10,%rdi
2276 addq %r12,%r8
2277 rorq $14,%r13
2278 andq %rdi,%r15
2279 xorq %r9,%r14
2280 addq %r13,%r8
2281 xorq %r10,%r15
2282 rorq $28,%r14
2283 addq %r8,%rax
2284 addq %r15,%r8
2285 movq %rax,%r13
2286 addq %r8,%r14
2287 vmovdqa %xmm10,80(%rsp)
2288 vpalignr $8,%xmm6,%xmm7,%xmm8
2289 rorq $23,%r13
2290 movq %r14,%r8
2291 vpalignr $8,%xmm2,%xmm3,%xmm11
2292 movq %rbx,%r12
2293 rorq $5,%r14
2294 .byte 143,72,120,195,200,56
2295 xorq %rax,%r13
2296 xorq %rcx,%r12
2297 vpsrlq $7,%xmm8,%xmm8
2298 rorq $4,%r13
2299 xorq %r8,%r14
2300 vpaddq %xmm11,%xmm6,%xmm6
2301 andq %rax,%r12
2302 xorq %rax,%r13
2303 addq 96(%rsp),%rdx
2304 movq %r8,%r15
2305 .byte 143,72,120,195,209,7
2306 xorq %rcx,%r12
2307 rorq $6,%r14
2308 vpxor %xmm9,%xmm8,%xmm8
2309 xorq %r9,%r15
2310 addq %r12,%rdx
2311 rorq $14,%r13
2312 andq %r15,%rdi
2313 .byte 143,104,120,195,221,3
2314 xorq %r8,%r14
2315 addq %r13,%rdx
2316 vpxor %xmm10,%xmm8,%xmm8
2317 xorq %r9,%rdi
2318 rorq $28,%r14
2319 vpsrlq $6,%xmm5,%xmm10
2320 addq %rdx,%r11
2321 addq %rdi,%rdx
2322 vpaddq %xmm8,%xmm6,%xmm6
2323 movq %r11,%r13
2324 addq %rdx,%r14
2325 .byte 143,72,120,195,203,42
2326 rorq $23,%r13
2327 movq %r14,%rdx
2328 vpxor %xmm10,%xmm11,%xmm11
2329 movq %rax,%r12
2330 rorq $5,%r14
2331 xorq %r11,%r13
2332 xorq %rbx,%r12
2333 vpxor %xmm9,%xmm11,%xmm11
2334 rorq $4,%r13
2335 xorq %rdx,%r14
2336 andq %r11,%r12
2337 xorq %r11,%r13
2338 vpaddq %xmm11,%xmm6,%xmm6
2339 addq 104(%rsp),%rcx
2340 movq %rdx,%rdi
2341 xorq %rbx,%r12
2342 rorq $6,%r14
2343 vpaddq 64(%rbp),%xmm6,%xmm10
2344 xorq %r8,%rdi
2345 addq %r12,%rcx
2346 rorq $14,%r13
2347 andq %rdi,%r15
2348 xorq %rdx,%r14
2349 addq %r13,%rcx
2350 xorq %r8,%r15
2351 rorq $28,%r14
2352 addq %rcx,%r10
2353 addq %r15,%rcx
2354 movq %r10,%r13
2355 addq %rcx,%r14
2356 vmovdqa %xmm10,96(%rsp)
2357 vpalignr $8,%xmm7,%xmm0,%xmm8
2358 rorq $23,%r13
2359 movq %r14,%rcx
2360 vpalignr $8,%xmm3,%xmm4,%xmm11
2361 movq %r11,%r12
2362 rorq $5,%r14
2363 .byte 143,72,120,195,200,56
2364 xorq %r10,%r13
2365 xorq %rax,%r12
2366 vpsrlq $7,%xmm8,%xmm8
2367 rorq $4,%r13
2368 xorq %rcx,%r14
2369 vpaddq %xmm11,%xmm7,%xmm7
2370 andq %r10,%r12
2371 xorq %r10,%r13
2372 addq 112(%rsp),%rbx
2373 movq %rcx,%r15
2374 .byte 143,72,120,195,209,7
2375 xorq %rax,%r12
2376 rorq $6,%r14
2377 vpxor %xmm9,%xmm8,%xmm8
2378 xorq %rdx,%r15
2379 addq %r12,%rbx
2380 rorq $14,%r13
2381 andq %r15,%rdi
2382 .byte 143,104,120,195,222,3
2383 xorq %rcx,%r14
2384 addq %r13,%rbx
2385 vpxor %xmm10,%xmm8,%xmm8
2386 xorq %rdx,%rdi
2387 rorq $28,%r14
2388 vpsrlq $6,%xmm6,%xmm10
2389 addq %rbx,%r9
2390 addq %rdi,%rbx
2391 vpaddq %xmm8,%xmm7,%xmm7
2392 movq %r9,%r13
2393 addq %rbx,%r14
2394 .byte 143,72,120,195,203,42
2395 rorq $23,%r13
2396 movq %r14,%rbx
2397 vpxor %xmm10,%xmm11,%xmm11
2398 movq %r10,%r12
2399 rorq $5,%r14
2400 xorq %r9,%r13
2401 xorq %r11,%r12
2402 vpxor %xmm9,%xmm11,%xmm11
2403 rorq $4,%r13
2404 xorq %rbx,%r14
2405 andq %r9,%r12
2406 xorq %r9,%r13
2407 vpaddq %xmm11,%xmm7,%xmm7
2408 addq 120(%rsp),%rax
2409 movq %rbx,%rdi
2410 xorq %r11,%r12
2411 rorq $6,%r14
2412 vpaddq 96(%rbp),%xmm7,%xmm10
2413 xorq %rcx,%rdi
2414 addq %r12,%rax
2415 rorq $14,%r13
2416 andq %rdi,%r15
2417 xorq %rbx,%r14
2418 addq %r13,%rax
2419 xorq %rcx,%r15
2420 rorq $28,%r14
2421 addq %rax,%r8
2422 addq %r15,%rax
2423 movq %r8,%r13
2424 addq %rax,%r14
2425 vmovdqa %xmm10,112(%rsp)
2426 cmpb $0,135(%rbp)
2427 jne .Lxop_00_47
2428 rorq $23,%r13
2429 movq %r14,%rax
2430 movq %r9,%r12
2431 rorq $5,%r14
2432 xorq %r8,%r13
2433 xorq %r10,%r12
2434 rorq $4,%r13
2435 xorq %rax,%r14
2436 andq %r8,%r12
2437 xorq %r8,%r13
2438 addq 0(%rsp),%r11
2439 movq %rax,%r15
2440 xorq %r10,%r12
2441 rorq $6,%r14
2442 xorq %rbx,%r15
2443 addq %r12,%r11
2444 rorq $14,%r13
2445 andq %r15,%rdi
2446 xorq %rax,%r14
2447 addq %r13,%r11
2448 xorq %rbx,%rdi
2449 rorq $28,%r14
2450 addq %r11,%rdx
2451 addq %rdi,%r11
2452 movq %rdx,%r13
2453 addq %r11,%r14
2454 rorq $23,%r13
2455 movq %r14,%r11
2456 movq %r8,%r12
2457 rorq $5,%r14
2458 xorq %rdx,%r13
2459 xorq %r9,%r12
2460 rorq $4,%r13
2461 xorq %r11,%r14
2462 andq %rdx,%r12
2463 xorq %rdx,%r13
2464 addq 8(%rsp),%r10
2465 movq %r11,%rdi
2466 xorq %r9,%r12
2467 rorq $6,%r14
2468 xorq %rax,%rdi
2469 addq %r12,%r10
2470 rorq $14,%r13
2471 andq %rdi,%r15
2472 xorq %r11,%r14
2473 addq %r13,%r10
2474 xorq %rax,%r15
2475 rorq $28,%r14
2476 addq %r10,%rcx
2477 addq %r15,%r10
2478 movq %rcx,%r13
2479 addq %r10,%r14
2480 rorq $23,%r13
2481 movq %r14,%r10
2482 movq %rdx,%r12
2483 rorq $5,%r14
2484 xorq %rcx,%r13
2485 xorq %r8,%r12
2486 rorq $4,%r13
2487 xorq %r10,%r14
2488 andq %rcx,%r12
2489 xorq %rcx,%r13
2490 addq 16(%rsp),%r9
2491 movq %r10,%r15
2492 xorq %r8,%r12
2493 rorq $6,%r14
2494 xorq %r11,%r15
2495 addq %r12,%r9
2496 rorq $14,%r13
2497 andq %r15,%rdi
2498 xorq %r10,%r14
2499 addq %r13,%r9
2500 xorq %r11,%rdi
2501 rorq $28,%r14
2502 addq %r9,%rbx
2503 addq %rdi,%r9
2504 movq %rbx,%r13
2505 addq %r9,%r14
2506 rorq $23,%r13
2507 movq %r14,%r9
2508 movq %rcx,%r12
2509 rorq $5,%r14
2510 xorq %rbx,%r13
2511 xorq %rdx,%r12
2512 rorq $4,%r13
2513 xorq %r9,%r14
2514 andq %rbx,%r12
2515 xorq %rbx,%r13
2516 addq 24(%rsp),%r8
2517 movq %r9,%rdi
2518 xorq %rdx,%r12
2519 rorq $6,%r14
2520 xorq %r10,%rdi
2521 addq %r12,%r8
2522 rorq $14,%r13
2523 andq %rdi,%r15
2524 xorq %r9,%r14
2525 addq %r13,%r8
2526 xorq %r10,%r15
2527 rorq $28,%r14
2528 addq %r8,%rax
2529 addq %r15,%r8
2530 movq %rax,%r13
2531 addq %r8,%r14
2532 rorq $23,%r13
2533 movq %r14,%r8
2534 movq %rbx,%r12
2535 rorq $5,%r14
2536 xorq %rax,%r13
2537 xorq %rcx,%r12
2538 rorq $4,%r13
2539 xorq %r8,%r14
2540 andq %rax,%r12
2541 xorq %rax,%r13
2542 addq 32(%rsp),%rdx
2543 movq %r8,%r15
2544 xorq %rcx,%r12
2545 rorq $6,%r14
2546 xorq %r9,%r15
2547 addq %r12,%rdx
2548 rorq $14,%r13
2549 andq %r15,%rdi
2550 xorq %r8,%r14
2551 addq %r13,%rdx
2552 xorq %r9,%rdi
2553 rorq $28,%r14
2554 addq %rdx,%r11
2555 addq %rdi,%rdx
2556 movq %r11,%r13
2557 addq %rdx,%r14
2558 rorq $23,%r13
2559 movq %r14,%rdx
2560 movq %rax,%r12
2561 rorq $5,%r14
2562 xorq %r11,%r13
2563 xorq %rbx,%r12
2564 rorq $4,%r13
2565 xorq %rdx,%r14
2566 andq %r11,%r12
2567 xorq %r11,%r13
2568 addq 40(%rsp),%rcx
2569 movq %rdx,%rdi
2570 xorq %rbx,%r12
2571 rorq $6,%r14
2572 xorq %r8,%rdi
2573 addq %r12,%rcx
2574 rorq $14,%r13
2575 andq %rdi,%r15
2576 xorq %rdx,%r14
2577 addq %r13,%rcx
2578 xorq %r8,%r15
2579 rorq $28,%r14
2580 addq %rcx,%r10
2581 addq %r15,%rcx
2582 movq %r10,%r13
2583 addq %rcx,%r14
2584 rorq $23,%r13
2585 movq %r14,%rcx
2586 movq %r11,%r12
2587 rorq $5,%r14
2588 xorq %r10,%r13
2589 xorq %rax,%r12
2590 rorq $4,%r13
2591 xorq %rcx,%r14
2592 andq %r10,%r12
2593 xorq %r10,%r13
2594 addq 48(%rsp),%rbx
2595 movq %rcx,%r15
2596 xorq %rax,%r12
2597 rorq $6,%r14
2598 xorq %rdx,%r15
2599 addq %r12,%rbx
2600 rorq $14,%r13
2601 andq %r15,%rdi
2602 xorq %rcx,%r14
2603 addq %r13,%rbx
2604 xorq %rdx,%rdi
2605 rorq $28,%r14
2606 addq %rbx,%r9
2607 addq %rdi,%rbx
2608 movq %r9,%r13
2609 addq %rbx,%r14
2610 rorq $23,%r13
2611 movq %r14,%rbx
2612 movq %r10,%r12
2613 rorq $5,%r14
2614 xorq %r9,%r13
2615 xorq %r11,%r12
2616 rorq $4,%r13
2617 xorq %rbx,%r14
2618 andq %r9,%r12
2619 xorq %r9,%r13
2620 addq 56(%rsp),%rax
2621 movq %rbx,%rdi
2622 xorq %r11,%r12
2623 rorq $6,%r14
2624 xorq %rcx,%rdi
2625 addq %r12,%rax
2626 rorq $14,%r13
2627 andq %rdi,%r15
2628 xorq %rbx,%r14
2629 addq %r13,%rax
2630 xorq %rcx,%r15
2631 rorq $28,%r14
2632 addq %rax,%r8
2633 addq %r15,%rax
2634 movq %r8,%r13
2635 addq %rax,%r14
2636 rorq $23,%r13
2637 movq %r14,%rax
2638 movq %r9,%r12
2639 rorq $5,%r14
2640 xorq %r8,%r13
2641 xorq %r10,%r12
2642 rorq $4,%r13
2643 xorq %rax,%r14
2644 andq %r8,%r12
2645 xorq %r8,%r13
2646 addq 64(%rsp),%r11
2647 movq %rax,%r15
2648 xorq %r10,%r12
2649 rorq $6,%r14
2650 xorq %rbx,%r15
2651 addq %r12,%r11
2652 rorq $14,%r13
2653 andq %r15,%rdi
2654 xorq %rax,%r14
2655 addq %r13,%r11
2656 xorq %rbx,%rdi
2657 rorq $28,%r14
2658 addq %r11,%rdx
2659 addq %rdi,%r11
2660 movq %rdx,%r13
2661 addq %r11,%r14
2662 rorq $23,%r13
2663 movq %r14,%r11
2664 movq %r8,%r12
2665 rorq $5,%r14
2666 xorq %rdx,%r13
2667 xorq %r9,%r12
2668 rorq $4,%r13
2669 xorq %r11,%r14
2670 andq %rdx,%r12
2671 xorq %rdx,%r13
2672 addq 72(%rsp),%r10
2673 movq %r11,%rdi
2674 xorq %r9,%r12
2675 rorq $6,%r14
2676 xorq %rax,%rdi
2677 addq %r12,%r10
2678 rorq $14,%r13
2679 andq %rdi,%r15
2680 xorq %r11,%r14
2681 addq %r13,%r10
2682 xorq %rax,%r15
2683 rorq $28,%r14
2684 addq %r10,%rcx
2685 addq %r15,%r10
2686 movq %rcx,%r13
2687 addq %r10,%r14
2688 rorq $23,%r13
2689 movq %r14,%r10
2690 movq %rdx,%r12
2691 rorq $5,%r14
2692 xorq %rcx,%r13
2693 xorq %r8,%r12
2694 rorq $4,%r13
2695 xorq %r10,%r14
2696 andq %rcx,%r12
2697 xorq %rcx,%r13
2698 addq 80(%rsp),%r9
2699 movq %r10,%r15
2700 xorq %r8,%r12
2701 rorq $6,%r14
2702 xorq %r11,%r15
2703 addq %r12,%r9
2704 rorq $14,%r13
2705 andq %r15,%rdi
2706 xorq %r10,%r14
2707 addq %r13,%r9
2708 xorq %r11,%rdi
2709 rorq $28,%r14
2710 addq %r9,%rbx
2711 addq %rdi,%r9
2712 movq %rbx,%r13
2713 addq %r9,%r14
2714 rorq $23,%r13
2715 movq %r14,%r9
2716 movq %rcx,%r12
2717 rorq $5,%r14
2718 xorq %rbx,%r13
2719 xorq %rdx,%r12
2720 rorq $4,%r13
2721 xorq %r9,%r14
2722 andq %rbx,%r12
2723 xorq %rbx,%r13
2724 addq 88(%rsp),%r8
2725 movq %r9,%rdi
2726 xorq %rdx,%r12
2727 rorq $6,%r14
2728 xorq %r10,%rdi
2729 addq %r12,%r8
2730 rorq $14,%r13
2731 andq %rdi,%r15
2732 xorq %r9,%r14
2733 addq %r13,%r8
2734 xorq %r10,%r15
2735 rorq $28,%r14
2736 addq %r8,%rax
2737 addq %r15,%r8
2738 movq %rax,%r13
2739 addq %r8,%r14
2740 rorq $23,%r13
2741 movq %r14,%r8
2742 movq %rbx,%r12
2743 rorq $5,%r14
2744 xorq %rax,%r13
2745 xorq %rcx,%r12
2746 rorq $4,%r13
2747 xorq %r8,%r14
2748 andq %rax,%r12
2749 xorq %rax,%r13
2750 addq 96(%rsp),%rdx
2751 movq %r8,%r15
2752 xorq %rcx,%r12
2753 rorq $6,%r14
2754 xorq %r9,%r15
2755 addq %r12,%rdx
2756 rorq $14,%r13
2757 andq %r15,%rdi
2758 xorq %r8,%r14
2759 addq %r13,%rdx
2760 xorq %r9,%rdi
2761 rorq $28,%r14
2762 addq %rdx,%r11
2763 addq %rdi,%rdx
2764 movq %r11,%r13
2765 addq %rdx,%r14
2766 rorq $23,%r13
2767 movq %r14,%rdx
2768 movq %rax,%r12
2769 rorq $5,%r14
2770 xorq %r11,%r13
2771 xorq %rbx,%r12
2772 rorq $4,%r13
2773 xorq %rdx,%r14
2774 andq %r11,%r12
2775 xorq %r11,%r13
2776 addq 104(%rsp),%rcx
2777 movq %rdx,%rdi
2778 xorq %rbx,%r12
2779 rorq $6,%r14
2780 xorq %r8,%rdi
2781 addq %r12,%rcx
2782 rorq $14,%r13
2783 andq %rdi,%r15
2784 xorq %rdx,%r14
2785 addq %r13,%rcx
2786 xorq %r8,%r15
2787 rorq $28,%r14
2788 addq %rcx,%r10
2789 addq %r15,%rcx
2790 movq %r10,%r13
2791 addq %rcx,%r14
2792 rorq $23,%r13
2793 movq %r14,%rcx
2794 movq %r11,%r12
2795 rorq $5,%r14
2796 xorq %r10,%r13
2797 xorq %rax,%r12
2798 rorq $4,%r13
2799 xorq %rcx,%r14
2800 andq %r10,%r12
2801 xorq %r10,%r13
2802 addq 112(%rsp),%rbx
2803 movq %rcx,%r15
2804 xorq %rax,%r12
2805 rorq $6,%r14
2806 xorq %rdx,%r15
2807 addq %r12,%rbx
2808 rorq $14,%r13
2809 andq %r15,%rdi
2810 xorq %rcx,%r14
2811 addq %r13,%rbx
2812 xorq %rdx,%rdi
2813 rorq $28,%r14
2814 addq %rbx,%r9
2815 addq %rdi,%rbx
2816 movq %r9,%r13
2817 addq %rbx,%r14
2818 rorq $23,%r13
2819 movq %r14,%rbx
2820 movq %r10,%r12
2821 rorq $5,%r14
2822 xorq %r9,%r13
2823 xorq %r11,%r12
2824 rorq $4,%r13
2825 xorq %rbx,%r14
2826 andq %r9,%r12
2827 xorq %r9,%r13
2828 addq 120(%rsp),%rax
2829 movq %rbx,%rdi
2830 xorq %r11,%r12
2831 rorq $6,%r14
2832 xorq %rcx,%rdi
2833 addq %r12,%rax
2834 rorq $14,%r13
2835 andq %rdi,%r15
2836 xorq %rbx,%r14
2837 addq %r13,%rax
2838 xorq %rcx,%r15
2839 rorq $28,%r14
2840 addq %rax,%r8
2841 addq %r15,%rax
2842 movq %r8,%r13
2843 addq %rax,%r14
2844 movq 128+0(%rsp),%rdi
2845 movq %r14,%rax
2846
2847 addq 0(%rdi),%rax
2848 leaq 128(%rsi),%rsi
2849 addq 8(%rdi),%rbx
2850 addq 16(%rdi),%rcx
2851 addq 24(%rdi),%rdx
2852 addq 32(%rdi),%r8
2853 addq 40(%rdi),%r9
2854 addq 48(%rdi),%r10
2855 addq 56(%rdi),%r11
2856
2857 cmpq 128+16(%rsp),%rsi
2858
2859 movq %rax,0(%rdi)
2860 movq %rbx,8(%rdi)
2861 movq %rcx,16(%rdi)
2862 movq %rdx,24(%rdi)
2863 movq %r8,32(%rdi)
2864 movq %r9,40(%rdi)
2865 movq %r10,48(%rdi)
2866 movq %r11,56(%rdi)
2867 jb .Lloop_xop
2868
2869 movq 128+24(%rsp),%rsi
2870 vzeroupper
2871 movq (%rsi),%r15
2872 movq 8(%rsi),%r14
2873 movq 16(%rsi),%r13
2874 movq 24(%rsi),%r12
2875 movq 32(%rsi),%rbp
2876 movq 40(%rsi),%rbx
2877 leaq 48(%rsi),%rsp
2878 .Lepilogue_xop:
2879 .byte 0xf3,0xc3
2880 .size sha512_block_data_order_xop,.-sha512_block_data_order_xop
2881 .type sha512_block_data_order_avx,@function
2882 .align 64
2883 sha512_block_data_order_avx:
2884 .Lavx_shortcut:
2885 pushq %rbx
2886 pushq %rbp
2887 pushq %r12
2888 pushq %r13
2889 pushq %r14
2890 pushq %r15
2891 movq %rsp,%r11
2892 shlq $4,%rdx
2893 subq $160,%rsp
2894 leaq (%rsi,%rdx,8),%rdx
2895 andq $-64,%rsp
2896 movq %rdi,128+0(%rsp)
2897 movq %rsi,128+8(%rsp)
2898 movq %rdx,128+16(%rsp)
2899 movq %r11,128+24(%rsp)
2900 .Lprologue_avx:
2901
2902 vzeroupper
2903 movq 0(%rdi),%rax
2904 movq 8(%rdi),%rbx
2905 movq 16(%rdi),%rcx
2906 movq 24(%rdi),%rdx
2907 movq 32(%rdi),%r8
2908 movq 40(%rdi),%r9
2909 movq 48(%rdi),%r10
2910 movq 56(%rdi),%r11
2911 jmp .Lloop_avx
2912 .align 16
2913 .Lloop_avx:
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)
2945 movq %rax,%r14
2946 vmovdqa %xmm9,80(%rsp)
2947 movq %rbx,%rdi
2948 vmovdqa %xmm10,96(%rsp)
2949 xorq %rcx,%rdi
2950 vmovdqa %xmm11,112(%rsp)
2951 movq %r8,%r13
2952 jmp .Lavx_00_47
2953
2954 .align 16
2955 .Lavx_00_47:
2956 addq $256,%rbp
2957 vpalignr $8,%xmm0,%xmm1,%xmm8
2958 shrdq $23,%r13,%r13
2959 movq %r14,%rax
2960 vpalignr $8,%xmm4,%xmm5,%xmm11
2961 movq %r9,%r12
2962 shrdq $5,%r14,%r14
2963 vpsrlq $1,%xmm8,%xmm10
2964 xorq %r8,%r13
2965 xorq %r10,%r12
2966 vpaddq %xmm11,%xmm0,%xmm0
2967 shrdq $4,%r13,%r13
2968 xorq %rax,%r14
2969 vpsrlq $7,%xmm8,%xmm11
2970 andq %r8,%r12
2971 xorq %r8,%r13
2972 vpsllq $56,%xmm8,%xmm9
2973 addq 0(%rsp),%r11
2974 movq %rax,%r15
2975 vpxor %xmm10,%xmm11,%xmm8
2976 xorq %r10,%r12
2977 shrdq $6,%r14,%r14
2978 vpsrlq $7,%xmm10,%xmm10
2979 xorq %rbx,%r15
2980 addq %r12,%r11
2981 vpxor %xmm9,%xmm8,%xmm8
2982 shrdq $14,%r13,%r13
2983 andq %r15,%rdi
2984 vpsllq $7,%xmm9,%xmm9
2985 xorq %rax,%r14
2986 addq %r13,%r11
2987 vpxor %xmm10,%xmm8,%xmm8
2988 xorq %rbx,%rdi
2989 shrdq $28,%r14,%r14
2990 vpsrlq $6,%xmm7,%xmm11
2991 addq %r11,%rdx
2992 addq %rdi,%r11
2993 vpxor %xmm9,%xmm8,%xmm8
2994 movq %rdx,%r13
2995 addq %r11,%r14
2996 vpsllq $3,%xmm7,%xmm10
2997 shrdq $23,%r13,%r13
2998 movq %r14,%r11
2999 vpaddq %xmm8,%xmm0,%xmm0
3000 movq %r8,%r12
3001 shrdq $5,%r14,%r14
3002 vpsrlq $19,%xmm7,%xmm9
3003 xorq %rdx,%r13
3004 xorq %r9,%r12
3005 vpxor %xmm10,%xmm11,%xmm11
3006 shrdq $4,%r13,%r13
3007 xorq %r11,%r14
3008 vpsllq $42,%xmm10,%xmm10
3009 andq %rdx,%r12
3010 xorq %rdx,%r13
3011 vpxor %xmm9,%xmm11,%xmm11
3012 addq 8(%rsp),%r10
3013 movq %r11,%rdi
3014 vpsrlq $42,%xmm9,%xmm9
3015 xorq %r9,%r12
3016 shrdq $6,%r14,%r14
3017 vpxor %xmm10,%xmm11,%xmm11
3018 xorq %rax,%rdi
3019 addq %r12,%r10
3020 vpxor %xmm9,%xmm11,%xmm11
3021 shrdq $14,%r13,%r13
3022 andq %rdi,%r15
3023 vpaddq %xmm11,%xmm0,%xmm0
3024 xorq %r11,%r14
3025 addq %r13,%r10
3026 vpaddq -128(%rbp),%xmm0,%xmm10
3027 xorq %rax,%r15
3028 shrdq $28,%r14,%r14
3029 addq %r10,%rcx
3030 addq %r15,%r10
3031 movq %rcx,%r13
3032 addq %r10,%r14
3033 vmovdqa %xmm10,0(%rsp)
3034 vpalignr $8,%xmm1,%xmm2,%xmm8
3035 shrdq $23,%r13,%r13
3036 movq %r14,%r10
3037 vpalignr $8,%xmm5,%xmm6,%xmm11
3038 movq %rdx,%r12
3039 shrdq $5,%r14,%r14
3040 vpsrlq $1,%xmm8,%xmm10
3041 xorq %rcx,%r13
3042 xorq %r8,%r12
3043 vpaddq %xmm11,%xmm1,%xmm1
3044 shrdq $4,%r13,%r13
3045 xorq %r10,%r14
3046 vpsrlq $7,%xmm8,%xmm11
3047 andq %rcx,%r12
3048 xorq %rcx,%r13
3049 vpsllq $56,%xmm8,%xmm9
3050 addq 16(%rsp),%r9
3051 movq %r10,%r15
3052 vpxor %xmm10,%xmm11,%xmm8
3053 xorq %r8,%r12
3054 shrdq $6,%r14,%r14
3055 vpsrlq $7,%xmm10,%xmm10
3056 xorq %r11,%r15
3057 addq %r12,%r9
3058 vpxor %xmm9,%xmm8,%xmm8
3059 shrdq $14,%r13,%r13
3060 andq %r15,%rdi
3061 vpsllq $7,%xmm9,%xmm9
3062 xorq %r10,%r14
3063 addq %r13,%r9
3064 vpxor %xmm10,%xmm8,%xmm8
3065 xorq %r11,%rdi
3066 shrdq $28,%r14,%r14
3067 vpsrlq $6,%xmm0,%xmm11
3068 addq %r9,%rbx
3069 addq %rdi,%r9
3070 vpxor %xmm9,%xmm8,%xmm8
3071 movq %rbx,%r13
3072 addq %r9,%r14
3073 vpsllq $3,%xmm0,%xmm10
3074 shrdq $23,%r13,%r13
3075 movq %r14,%r9
3076 vpaddq %xmm8,%xmm1,%xmm1
3077 movq %rcx,%r12
3078 shrdq $5,%r14,%r14
3079 vpsrlq $19,%xmm0,%xmm9
3080 xorq %rbx,%r13
3081 xorq %rdx,%r12
3082 vpxor %xmm10,%xmm11,%xmm11
3083 shrdq $4,%r13,%r13
3084 xorq %r9,%r14
3085 vpsllq $42,%xmm10,%xmm10
3086 andq %rbx,%r12
3087 xorq %rbx,%r13
3088 vpxor %xmm9,%xmm11,%xmm11
3089 addq 24(%rsp),%r8
3090 movq %r9,%rdi
3091 vpsrlq $42,%xmm9,%xmm9
3092 xorq %rdx,%r12
3093 shrdq $6,%r14,%r14
3094 vpxor %xmm10,%xmm11,%xmm11
3095 xorq %r10,%rdi
3096 addq %r12,%r8
3097 vpxor %xmm9,%xmm11,%xmm11
3098 shrdq $14,%r13,%r13
3099 andq %rdi,%r15
3100 vpaddq %xmm11,%xmm1,%xmm1
3101 xorq %r9,%r14
3102 addq %r13,%r8
3103 vpaddq -96(%rbp),%xmm1,%xmm10
3104 xorq %r10,%r15
3105 shrdq $28,%r14,%r14
3106 addq %r8,%rax
3107 addq %r15,%r8
3108 movq %rax,%r13
3109 addq %r8,%r14
3110 vmovdqa %xmm10,16(%rsp)
3111 vpalignr $8,%xmm2,%xmm3,%xmm8
3112 shrdq $23,%r13,%r13
3113 movq %r14,%r8
3114 vpalignr $8,%xmm6,%xmm7,%xmm11
3115 movq %rbx,%r12
3116 shrdq $5,%r14,%r14
3117 vpsrlq $1,%xmm8,%xmm10
3118 xorq %rax,%r13
3119 xorq %rcx,%r12
3120 vpaddq %xmm11,%xmm2,%xmm2
3121 shrdq $4,%r13,%r13
3122 xorq %r8,%r14
3123 vpsrlq $7,%xmm8,%xmm11
3124 andq %rax,%r12
3125 xorq %rax,%r13
3126 vpsllq $56,%xmm8,%xmm9
3127 addq 32(%rsp),%rdx
3128 movq %r8,%r15
3129 vpxor %xmm10,%xmm11,%xmm8
3130 xorq %rcx,%r12
3131 shrdq $6,%r14,%r14
3132 vpsrlq $7,%xmm10,%xmm10
3133 xorq %r9,%r15
3134 addq %r12,%rdx
3135 vpxor %xmm9,%xmm8,%xmm8
3136 shrdq $14,%r13,%r13
3137 andq %r15,%rdi
3138 vpsllq $7,%xmm9,%xmm9
3139 xorq %r8,%r14
3140 addq %r13,%rdx
3141 vpxor %xmm10,%xmm8,%xmm8
3142 xorq %r9,%rdi
3143 shrdq $28,%r14,%r14
3144 vpsrlq $6,%xmm1,%xmm11
3145 addq %rdx,%r11
3146 addq %rdi,%rdx
3147 vpxor %xmm9,%xmm8,%xmm8
3148 movq %r11,%r13
3149 addq %rdx,%r14
3150 vpsllq $3,%xmm1,%xmm10
3151 shrdq $23,%r13,%r13
3152 movq %r14,%rdx
3153 vpaddq %xmm8,%xmm2,%xmm2
3154 movq %rax,%r12
3155 shrdq $5,%r14,%r14
3156 vpsrlq $19,%xmm1,%xmm9
3157 xorq %r11,%r13
3158 xorq %rbx,%r12
3159 vpxor %xmm10,%xmm11,%xmm11
3160 shrdq $4,%r13,%r13
3161 xorq %rdx,%r14
3162 vpsllq $42,%xmm10,%xmm10
3163 andq %r11,%r12
3164 xorq %r11,%r13
3165 vpxor %xmm9,%xmm11,%xmm11
3166 addq 40(%rsp),%rcx
3167 movq %rdx,%rdi
3168 vpsrlq $42,%xmm9,%xmm9
3169 xorq %rbx,%r12
3170 shrdq $6,%r14,%r14
3171 vpxor %xmm10,%xmm11,%xmm11
3172 xorq %r8,%rdi
3173 addq %r12,%rcx
3174 vpxor %xmm9,%xmm11,%xmm11
3175 shrdq $14,%r13,%r13
3176 andq %rdi,%r15
3177 vpaddq %xmm11,%xmm2,%xmm2
3178 xorq %rdx,%r14
3179 addq %r13,%rcx
3180 vpaddq -64(%rbp),%xmm2,%xmm10
3181 xorq %r8,%r15
3182 shrdq $28,%r14,%r14
3183 addq %rcx,%r10
3184 addq %r15,%rcx
3185 movq %r10,%r13
3186 addq %rcx,%r14
3187 vmovdqa %xmm10,32(%rsp)
3188 vpalignr $8,%xmm3,%xmm4,%xmm8
3189 shrdq $23,%r13,%r13
3190 movq %r14,%rcx
3191 vpalignr $8,%xmm7,%xmm0,%xmm11
3192 movq %r11,%r12
3193 shrdq $5,%r14,%r14
3194 vpsrlq $1,%xmm8,%xmm10
3195 xorq %r10,%r13
3196 xorq %rax,%r12
3197 vpaddq %xmm11,%xmm3,%xmm3
3198 shrdq $4,%r13,%r13
3199 xorq %rcx,%r14
3200 vpsrlq $7,%xmm8,%xmm11
3201 andq %r10,%r12
3202 xorq %r10,%r13
3203 vpsllq $56,%xmm8,%xmm9
3204 addq 48(%rsp),%rbx
3205 movq %rcx,%r15
3206 vpxor %xmm10,%xmm11,%xmm8
3207 xorq %rax,%r12
3208 shrdq $6,%r14,%r14
3209 vpsrlq $7,%xmm10,%xmm10
3210 xorq %rdx,%r15
3211 addq %r12,%rbx
3212 vpxor %xmm9,%xmm8,%xmm8
3213 shrdq $14,%r13,%r13
3214 andq %r15,%rdi
3215 vpsllq $7,%xmm9,%xmm9
3216 xorq %rcx,%r14
3217 addq %r13,%rbx
3218 vpxor %xmm10,%xmm8,%xmm8
3219 xorq %rdx,%rdi
3220 shrdq $28,%r14,%r14
3221 vpsrlq $6,%xmm2,%xmm11
3222 addq %rbx,%r9
3223 addq %rdi,%rbx
3224 vpxor %xmm9,%xmm8,%xmm8
3225 movq %r9,%r13
3226 addq %rbx,%r14
3227 vpsllq $3,%xmm2,%xmm10
3228 shrdq $23,%r13,%r13
3229 movq %r14,%rbx
3230 vpaddq %xmm8,%xmm3,%xmm3
3231 movq %r10,%r12
3232 shrdq $5,%r14,%r14
3233 vpsrlq $19,%xmm2,%xmm9
3234 xorq %r9,%r13
3235 xorq %r11,%r12
3236 vpxor %xmm10,%xmm11,%xmm11
3237 shrdq $4,%r13,%r13
3238 xorq %rbx,%r14
3239 vpsllq $42,%xmm10,%xmm10
3240 andq %r9,%r12
3241 xorq %r9,%r13
3242 vpxor %xmm9,%xmm11,%xmm11
3243 addq 56(%rsp),%rax
3244 movq %rbx,%rdi
3245 vpsrlq $42,%xmm9,%xmm9
3246 xorq %r11,%r12
3247 shrdq $6,%r14,%r14
3248 vpxor %xmm10,%xmm11,%xmm11
3249 xorq %rcx,%rdi
3250 addq %r12,%rax
3251 vpxor %xmm9,%xmm11,%xmm11
3252 shrdq $14,%r13,%r13
3253 andq %rdi,%r15
3254 vpaddq %xmm11,%xmm3,%xmm3
3255 xorq %rbx,%r14
3256 addq %r13,%rax
3257 vpaddq -32(%rbp),%xmm3,%xmm10
3258 xorq %rcx,%r15
3259 shrdq $28,%r14,%r14
3260 addq %rax,%r8
3261 addq %r15,%rax
3262 movq %r8,%r13
3263 addq %rax,%r14
3264 vmovdqa %xmm10,48(%rsp)
3265 vpalignr $8,%xmm4,%xmm5,%xmm8
3266 shrdq $23,%r13,%r13
3267 movq %r14,%rax
3268 vpalignr $8,%xmm0,%xmm1,%xmm11
3269 movq %r9,%r12
3270 shrdq $5,%r14,%r14
3271 vpsrlq $1,%xmm8,%xmm10
3272 xorq %r8,%r13
3273 xorq %r10,%r12
3274 vpaddq %xmm11,%xmm4,%xmm4
3275 shrdq $4,%r13,%r13
3276 xorq %rax,%r14
3277 vpsrlq $7,%xmm8,%xmm11
3278 andq %r8,%r12
3279 xorq %r8,%r13
3280 vpsllq $56,%xmm8,%xmm9
3281 addq 64(%rsp),%r11
3282 movq %rax,%r15
3283 vpxor %xmm10,%xmm11,%xmm8
3284 xorq %r10,%r12
3285 shrdq $6,%r14,%r14
3286 vpsrlq $7,%xmm10,%xmm10
3287 xorq %rbx,%r15
3288 addq %r12,%r11
3289 vpxor %xmm9,%xmm8,%xmm8
3290 shrdq $14,%r13,%r13
3291 andq %r15,%rdi
3292 vpsllq $7,%xmm9,%xmm9
3293 xorq %rax,%r14
3294 addq %r13,%r11
3295 vpxor %xmm10,%xmm8,%xmm8
3296 xorq %rbx,%rdi
3297 shrdq $28,%r14,%r14
3298 vpsrlq $6,%xmm3,%xmm11
3299 addq %r11,%rdx
3300 addq %rdi,%r11
3301 vpxor %xmm9,%xmm8,%xmm8
3302 movq %rdx,%r13
3303 addq %r11,%r14
3304 vpsllq $3,%xmm3,%xmm10
3305 shrdq $23,%r13,%r13
3306 movq %r14,%r11
3307 vpaddq %xmm8,%xmm4,%xmm4
3308 movq %r8,%r12
3309 shrdq $5,%r14,%r14
3310 vpsrlq $19,%xmm3,%xmm9
3311 xorq %rdx,%r13
3312 xorq %r9,%r12
3313 vpxor %xmm10,%xmm11,%xmm11
3314 shrdq $4,%r13,%r13
3315 xorq %r11,%r14
3316 vpsllq $42,%xmm10,%xmm10
3317 andq %rdx,%r12
3318 xorq %rdx,%r13
3319 vpxor %xmm9,%xmm11,%xmm11
3320 addq 72(%rsp),%r10
3321 movq %r11,%rdi
3322 vpsrlq $42,%xmm9,%xmm9
3323 xorq %r9,%r12
3324 shrdq $6,%r14,%r14
3325 vpxor %xmm10,%xmm11,%xmm11
3326 xorq %rax,%rdi
3327 addq %r12,%r10
3328 vpxor %xmm9,%xmm11,%xmm11
3329 shrdq $14,%r13,%r13
3330 andq %rdi,%r15
3331 vpaddq %xmm11,%xmm4,%xmm4
3332 xorq %r11,%r14
3333 addq %r13,%r10
3334 vpaddq 0(%rbp),%xmm4,%xmm10
3335 xorq %rax,%r15
3336 shrdq $28,%r14,%r14
3337 addq %r10,%rcx
3338 addq %r15,%r10
3339 movq %rcx,%r13
3340 addq %r10,%r14
3341 vmovdqa %xmm10,64(%rsp)
3342 vpalignr $8,%xmm5,%xmm6,%xmm8
3343 shrdq $23,%r13,%r13
3344 movq %r14,%r10
3345 vpalignr $8,%xmm1,%xmm2,%xmm11
3346 movq %rdx,%r12
3347 shrdq $5,%r14,%r14
3348 vpsrlq $1,%xmm8,%xmm10
3349 xorq %rcx,%r13
3350 xorq %r8,%r12
3351 vpaddq %xmm11,%xmm5,%xmm5
3352 shrdq $4,%r13,%r13
3353 xorq %r10,%r14
3354 vpsrlq $7,%xmm8,%xmm11
3355 andq %rcx,%r12
3356 xorq %rcx,%r13
3357 vpsllq $56,%xmm8,%xmm9
3358 addq 80(%rsp),%r9
3359 movq %r10,%r15
3360 vpxor %xmm10,%xmm11,%xmm8
3361 xorq %r8,%r12
3362 shrdq $6,%r14,%r14
3363 vpsrlq $7,%xmm10,%xmm10
3364 xorq %r11,%r15
3365 addq %r12,%r9
3366 vpxor %xmm9,%xmm8,%xmm8
3367 shrdq $14,%r13,%r13
3368 andq %r15,%rdi
3369 vpsllq $7,%xmm9,%xmm9
3370 xorq %r10,%r14
3371 addq %r13,%r9
3372 vpxor %xmm10,%xmm8,%xmm8
3373 xorq %r11,%rdi
3374 shrdq $28,%r14,%r14
3375 vpsrlq $6,%xmm4,%xmm11
3376 addq %r9,%rbx
3377 addq %rdi,%r9
3378 vpxor %xmm9,%xmm8,%xmm8
3379 movq %rbx,%r13
3380 addq %r9,%r14
3381 vpsllq $3,%xmm4,%xmm10
3382 shrdq $23,%r13,%r13
3383 movq %r14,%r9
3384 vpaddq %xmm8,%xmm5,%xmm5
3385 movq %rcx,%r12
3386 shrdq $5,%r14,%r14
3387 vpsrlq $19,%xmm4,%xmm9
3388 xorq %rbx,%r13
3389 xorq %rdx,%r12
3390 vpxor %xmm10,%xmm11,%xmm11
3391 shrdq $4,%r13,%r13
3392 xorq %r9,%r14
3393 vpsllq $42,%xmm10,%xmm10
3394 andq %rbx,%r12
3395 xorq %rbx,%r13
3396 vpxor %xmm9,%xmm11,%xmm11
3397 addq 88(%rsp),%r8
3398 movq %r9,%rdi
3399 vpsrlq $42,%xmm9,%xmm9
3400 xorq %rdx,%r12
3401 shrdq $6,%r14,%r14
3402 vpxor %xmm10,%xmm11,%xmm11
3403 xorq %r10,%rdi
3404 addq %r12,%r8
3405 vpxor %xmm9,%xmm11,%xmm11
3406 shrdq $14,%r13,%r13
3407 andq %rdi,%r15
3408 vpaddq %xmm11,%xmm5,%xmm5
3409 xorq %r9,%r14
3410 addq %r13,%r8
3411 vpaddq 32(%rbp),%xmm5,%xmm10
3412 xorq %r10,%r15
3413 shrdq $28,%r14,%r14
3414 addq %r8,%rax
3415 addq %r15,%r8
3416 movq %rax,%r13
3417 addq %r8,%r14
3418 vmovdqa %xmm10,80(%rsp)
3419 vpalignr $8,%xmm6,%xmm7,%xmm8
3420 shrdq $23,%r13,%r13
3421 movq %r14,%r8
3422 vpalignr $8,%xmm2,%xmm3,%xmm11
3423 movq %rbx,%r12
3424 shrdq $5,%r14,%r14
3425 vpsrlq $1,%xmm8,%xmm10
3426 xorq %rax,%r13
3427 xorq %rcx,%r12
3428 vpaddq %xmm11,%xmm6,%xmm6
3429 shrdq $4,%r13,%r13
3430 xorq %r8,%r14
3431 vpsrlq $7,%xmm8,%xmm11
3432 andq %rax,%r12
3433 xorq %rax,%r13
3434 vpsllq $56,%xmm8,%xmm9
3435 addq 96(%rsp),%rdx
3436 movq %r8,%r15
3437 vpxor %xmm10,%xmm11,%xmm8
3438 xorq %rcx,%r12
3439 shrdq $6,%r14,%r14
3440 vpsrlq $7,%xmm10,%xmm10
3441 xorq %r9,%r15
3442 addq %r12,%rdx
3443 vpxor %xmm9,%xmm8,%xmm8
3444 shrdq $14,%r13,%r13
3445 andq %r15,%rdi
3446 vpsllq $7,%xmm9,%xmm9
3447 xorq %r8,%r14
3448 addq %r13,%rdx
3449 vpxor %xmm10,%xmm8,%xmm8
3450 xorq %r9,%rdi
3451 shrdq $28,%r14,%r14
3452 vpsrlq $6,%xmm5,%xmm11
3453 addq %rdx,%r11
3454 addq %rdi,%rdx
3455 vpxor %xmm9,%xmm8,%xmm8
3456 movq %r11,%r13
3457 addq %rdx,%r14
3458 vpsllq $3,%xmm5,%xmm10
3459 shrdq $23,%r13,%r13
3460 movq %r14,%rdx
3461 vpaddq %xmm8,%xmm6,%xmm6
3462 movq %rax,%r12
3463 shrdq $5,%r14,%r14
3464 vpsrlq $19,%xmm5,%xmm9
3465 xorq %r11,%r13
3466 xorq %rbx,%r12
3467 vpxor %xmm10,%xmm11,%xmm11
3468 shrdq $4,%r13,%r13
3469 xorq %rdx,%r14
3470 vpsllq $42,%xmm10,%xmm10
3471 andq %r11,%r12
3472 xorq %r11,%r13
3473 vpxor %xmm9,%xmm11,%xmm11
3474 addq 104(%rsp),%rcx
3475 movq %rdx,%rdi
3476 vpsrlq $42,%xmm9,%xmm9
3477 xorq %rbx,%r12
3478 shrdq $6,%r14,%r14
3479 vpxor %xmm10,%xmm11,%xmm11
3480 xorq %r8,%rdi
3481 addq %r12,%rcx
3482 vpxor %xmm9,%xmm11,%xmm11
3483 shrdq $14,%r13,%r13
3484 andq %rdi,%r15
3485 vpaddq %xmm11,%xmm6,%xmm6
3486 xorq %rdx,%r14
3487 addq %r13,%rcx
3488 vpaddq 64(%rbp),%xmm6,%xmm10
3489 xorq %r8,%r15
3490 shrdq $28,%r14,%r14
3491 addq %rcx,%r10
3492 addq %r15,%rcx
3493 movq %r10,%r13
3494 addq %rcx,%r14
3495 vmovdqa %xmm10,96(%rsp)
3496 vpalignr $8,%xmm7,%xmm0,%xmm8
3497 shrdq $23,%r13,%r13
3498 movq %r14,%rcx
3499 vpalignr $8,%xmm3,%xmm4,%xmm11
3500 movq %r11,%r12
3501 shrdq $5,%r14,%r14
3502 vpsrlq $1,%xmm8,%xmm10
3503 xorq %r10,%r13
3504 xorq %rax,%r12
3505 vpaddq %xmm11,%xmm7,%xmm7
3506 shrdq $4,%r13,%r13
3507 xorq %rcx,%r14
3508 vpsrlq $7,%xmm8,%xmm11
3509 andq %r10,%r12
3510 xorq %r10,%r13
3511 vpsllq $56,%xmm8,%xmm9
3512 addq 112(%rsp),%rbx
3513 movq %rcx,%r15
3514 vpxor %xmm10,%xmm11,%xmm8
3515 xorq %rax,%r12
3516 shrdq $6,%r14,%r14
3517 vpsrlq $7,%xmm10,%xmm10
3518 xorq %rdx,%r15
3519 addq %r12,%rbx
3520 vpxor %xmm9,%xmm8,%xmm8
3521 shrdq $14,%r13,%r13
3522 andq %r15,%rdi
3523 vpsllq $7,%xmm9,%xmm9
3524 xorq %rcx,%r14
3525 addq %r13,%rbx
3526 vpxor %xmm10,%xmm8,%xmm8
3527 xorq %rdx,%rdi
3528 shrdq $28,%r14,%r14
3529 vpsrlq $6,%xmm6,%xmm11
3530 addq %rbx,%r9
3531 addq %rdi,%rbx
3532 vpxor %xmm9,%xmm8,%xmm8
3533 movq %r9,%r13
3534 addq %rbx,%r14
3535 vpsllq $3,%xmm6,%xmm10
3536 shrdq $23,%r13,%r13
3537 movq %r14,%rbx
3538 vpaddq %xmm8,%xmm7,%xmm7
3539 movq %r10,%r12
3540 shrdq $5,%r14,%r14
3541 vpsrlq $19,%xmm6,%xmm9
3542 xorq %r9,%r13
3543 xorq %r11,%r12
3544 vpxor %xmm10,%xmm11,%xmm11
3545 shrdq $4,%r13,%r13
3546 xorq %rbx,%r14
3547 vpsllq $42,%xmm10,%xmm10
3548 andq %r9,%r12
3549 xorq %r9,%r13
3550 vpxor %xmm9,%xmm11,%xmm11
3551 addq 120(%rsp),%rax
3552 movq %rbx,%rdi
3553 vpsrlq $42,%xmm9,%xmm9
3554 xorq %r11,%r12
3555 shrdq $6,%r14,%r14
3556 vpxor %xmm10,%xmm11,%xmm11
3557 xorq %rcx,%rdi
3558 addq %r12,%rax
3559 vpxor %xmm9,%xmm11,%xmm11
3560 shrdq $14,%r13,%r13
3561 andq %rdi,%r15
3562 vpaddq %xmm11,%xmm7,%xmm7
3563 xorq %rbx,%r14
3564 addq %r13,%rax
3565 vpaddq 96(%rbp),%xmm7,%xmm10
3566 xorq %rcx,%r15
3567 shrdq $28,%r14,%r14
3568 addq %rax,%r8
3569 addq %r15,%rax
3570 movq %r8,%r13
3571 addq %rax,%r14
3572 vmovdqa %xmm10,112(%rsp)
3573 cmpb $0,135(%rbp)
3574 jne .Lavx_00_47
3575 shrdq $23,%r13,%r13
3576 movq %r14,%rax
3577 movq %r9,%r12
3578 shrdq $5,%r14,%r14
3579 xorq %r8,%r13
3580 xorq %r10,%r12
3581 shrdq $4,%r13,%r13
3582 xorq %rax,%r14
3583 andq %r8,%r12
3584 xorq %r8,%r13
3585 addq 0(%rsp),%r11
3586 movq %rax,%r15
3587 xorq %r10,%r12
3588 shrdq $6,%r14,%r14
3589 xorq %rbx,%r15
3590 addq %r12,%r11
3591 shrdq $14,%r13,%r13
3592 andq %r15,%rdi
3593 xorq %rax,%r14
3594 addq %r13,%r11
3595 xorq %rbx,%rdi
3596 shrdq $28,%r14,%r14
3597 addq %r11,%rdx
3598 addq %rdi,%r11
3599 movq %rdx,%r13
3600 addq %r11,%r14
3601 shrdq $23,%r13,%r13
3602 movq %r14,%r11
3603 movq %r8,%r12
3604 shrdq $5,%r14,%r14
3605 xorq %rdx,%r13
3606 xorq %r9,%r12
3607 shrdq $4,%r13,%r13
3608 xorq %r11,%r14
3609 andq %rdx,%r12
3610 xorq %rdx,%r13
3611 addq 8(%rsp),%r10
3612 movq %r11,%rdi
3613 xorq %r9,%r12
3614 shrdq $6,%r14,%r14
3615 xorq %rax,%rdi
3616 addq %r12,%r10
3617 shrdq $14,%r13,%r13
3618 andq %rdi,%r15
3619 xorq %r11,%r14
3620 addq %r13,%r10
3621 xorq %rax,%r15
3622 shrdq $28,%r14,%r14
3623 addq %r10,%rcx
3624 addq %r15,%r10
3625 movq %rcx,%r13
3626 addq %r10,%r14
3627 shrdq $23,%r13,%r13
3628 movq %r14,%r10
3629 movq %rdx,%r12
3630 shrdq $5,%r14,%r14
3631 xorq %rcx,%r13
3632 xorq %r8,%r12
3633 shrdq $4,%r13,%r13
3634 xorq %r10,%r14
3635 andq %rcx,%r12
3636 xorq %rcx,%r13
3637 addq 16(%rsp),%r9
3638 movq %r10,%r15
3639 xorq %r8,%r12
3640 shrdq $6,%r14,%r14
3641 xorq %r11,%r15
3642 addq %r12,%r9
3643 shrdq $14,%r13,%r13
3644 andq %r15,%rdi
3645 xorq %r10,%r14
3646 addq %r13,%r9
3647 xorq %r11,%rdi
3648 shrdq $28,%r14,%r14
3649 addq %r9,%rbx
3650 addq %rdi,%r9
3651 movq %rbx,%r13
3652 addq %r9,%r14
3653 shrdq $23,%r13,%r13
3654 movq %r14,%r9
3655 movq %rcx,%r12
3656 shrdq $5,%r14,%r14
3657 xorq %rbx,%r13
3658 xorq %rdx,%r12
3659 shrdq $4,%r13,%r13
3660 xorq %r9,%r14
3661 andq %rbx,%r12
3662 xorq %rbx,%r13
3663 addq 24(%rsp),%r8
3664 movq %r9,%rdi
3665 xorq %rdx,%r12
3666 shrdq $6,%r14,%r14
3667 xorq %r10,%rdi
3668 addq %r12,%r8
3669 shrdq $14,%r13,%r13
3670 andq %rdi,%r15
3671 xorq %r9,%r14
3672 addq %r13,%r8
3673 xorq %r10,%r15
3674 shrdq $28,%r14,%r14
3675 addq %r8,%rax
3676 addq %r15,%r8
3677 movq %rax,%r13
3678 addq %r8,%r14
3679 shrdq $23,%r13,%r13
3680 movq %r14,%r8
3681 movq %rbx,%r12
3682 shrdq $5,%r14,%r14
3683 xorq %rax,%r13
3684 xorq %rcx,%r12
3685 shrdq $4,%r13,%r13
3686 xorq %r8,%r14
3687 andq %rax,%r12
3688 xorq %rax,%r13
3689 addq 32(%rsp),%rdx
3690 movq %r8,%r15
3691 xorq %rcx,%r12
3692 shrdq $6,%r14,%r14
3693 xorq %r9,%r15
3694 addq %r12,%rdx
3695 shrdq $14,%r13,%r13
3696 andq %r15,%rdi
3697 xorq %r8,%r14
3698 addq %r13,%rdx
3699 xorq %r9,%rdi
3700 shrdq $28,%r14,%r14
3701 addq %rdx,%r11
3702 addq %rdi,%rdx
3703 movq %r11,%r13
3704 addq %rdx,%r14
3705 shrdq $23,%r13,%r13
3706 movq %r14,%rdx
3707 movq %rax,%r12
3708 shrdq $5,%r14,%r14
3709 xorq %r11,%r13
3710 xorq %rbx,%r12
3711 shrdq $4,%r13,%r13
3712 xorq %rdx,%r14
3713 andq %r11,%r12
3714 xorq %r11,%r13
3715 addq 40(%rsp),%rcx
3716 movq %rdx,%rdi
3717 xorq %rbx,%r12
3718 shrdq $6,%r14,%r14
3719 xorq %r8,%rdi
3720 addq %r12,%rcx
3721 shrdq $14,%r13,%r13
3722 andq %rdi,%r15
3723 xorq %rdx,%r14
3724 addq %r13,%rcx
3725 xorq %r8,%r15
3726 shrdq $28,%r14,%r14
3727 addq %rcx,%r10
3728 addq %r15,%rcx
3729 movq %r10,%r13
3730 addq %rcx,%r14
3731 shrdq $23,%r13,%r13
3732 movq %r14,%rcx
3733 movq %r11,%r12
3734 shrdq $5,%r14,%r14
3735 xorq %r10,%r13
3736 xorq %rax,%r12
3737 shrdq $4,%r13,%r13
3738 xorq %rcx,%r14
3739 andq %r10,%r12
3740 xorq %r10,%r13
3741 addq 48(%rsp),%rbx
3742 movq %rcx,%r15
3743 xorq %rax,%r12
3744 shrdq $6,%r14,%r14
3745 xorq %rdx,%r15
3746 addq %r12,%rbx
3747 shrdq $14,%r13,%r13
3748 andq %r15,%rdi
3749 xorq %rcx,%r14
3750 addq %r13,%rbx
3751 xorq %rdx,%rdi
3752 shrdq $28,%r14,%r14
3753 addq %rbx,%r9
3754 addq %rdi,%rbx
3755 movq %r9,%r13
3756 addq %rbx,%r14
3757 shrdq $23,%r13,%r13
3758 movq %r14,%rbx
3759 movq %r10,%r12
3760 shrdq $5,%r14,%r14
3761 xorq %r9,%r13
3762 xorq %r11,%r12
3763 shrdq $4,%r13,%r13
3764 xorq %rbx,%r14
3765 andq %r9,%r12
3766 xorq %r9,%r13
3767 addq 56(%rsp),%rax
3768 movq %rbx,%rdi
3769 xorq %r11,%r12
3770 shrdq $6,%r14,%r14
3771 xorq %rcx,%rdi
3772 addq %r12,%rax
3773 shrdq $14,%r13,%r13
3774 andq %rdi,%r15
3775 xorq %rbx,%r14
3776 addq %r13,%rax
3777 xorq %rcx,%r15
3778 shrdq $28,%r14,%r14
3779 addq %rax,%r8
3780 addq %r15,%rax
3781 movq %r8,%r13
3782 addq %rax,%r14
3783 shrdq $23,%r13,%r13
3784 movq %r14,%rax
3785 movq %r9,%r12
3786 shrdq $5,%r14,%r14
3787 xorq %r8,%r13
3788 xorq %r10,%r12
3789 shrdq $4,%r13,%r13
3790 xorq %rax,%r14
3791 andq %r8,%r12
3792 xorq %r8,%r13
3793 addq 64(%rsp),%r11
3794 movq %rax,%r15
3795 xorq %r10,%r12
3796 shrdq $6,%r14,%r14
3797 xorq %rbx,%r15
3798 addq %r12,%r11
3799 shrdq $14,%r13,%r13
3800 andq %r15,%rdi
3801 xorq %rax,%r14
3802 addq %r13,%r11
3803 xorq %rbx,%rdi
3804 shrdq $28,%r14,%r14
3805 addq %r11,%rdx
3806 addq %rdi,%r11
3807 movq %rdx,%r13
3808 addq %r11,%r14
3809 shrdq $23,%r13,%r13
3810 movq %r14,%r11
3811 movq %r8,%r12
3812 shrdq $5,%r14,%r14
3813 xorq %rdx,%r13
3814 xorq %r9,%r12
3815 shrdq $4,%r13,%r13
3816 xorq %r11,%r14
3817 andq %rdx,%r12
3818 xorq %rdx,%r13
3819 addq 72(%rsp),%r10
3820 movq %r11,%rdi
3821 xorq %r9,%r12
3822 shrdq $6,%r14,%r14
3823 xorq %rax,%rdi
3824 addq %r12,%r10
3825 shrdq $14,%r13,%r13
3826 andq %rdi,%r15
3827 xorq %r11,%r14
3828 addq %r13,%r10
3829 xorq %rax,%r15
3830 shrdq $28,%r14,%r14
3831 addq %r10,%rcx
3832 addq %r15,%r10
3833 movq %rcx,%r13
3834 addq %r10,%r14
3835 shrdq $23,%r13,%r13
3836 movq %r14,%r10
3837 movq %rdx,%r12
3838 shrdq $5,%r14,%r14
3839 xorq %rcx,%r13
3840 xorq %r8,%r12
3841 shrdq $4,%r13,%r13
3842 xorq %r10,%r14
3843 andq %rcx,%r12
3844 xorq %rcx,%r13
3845 addq 80(%rsp),%r9
3846 movq %r10,%r15
3847 xorq %r8,%r12
3848 shrdq $6,%r14,%r14
3849 xorq %r11,%r15
3850 addq %r12,%r9
3851 shrdq $14,%r13,%r13
3852 andq %r15,%rdi
3853 xorq %r10,%r14
3854 addq %r13,%r9
3855 xorq %r11,%rdi
3856 shrdq $28,%r14,%r14
3857 addq %r9,%rbx
3858 addq %rdi,%r9
3859 movq %rbx,%r13
3860 addq %r9,%r14
3861 shrdq $23,%r13,%r13
3862 movq %r14,%r9
3863 movq %rcx,%r12
3864 shrdq $5,%r14,%r14
3865 xorq %rbx,%r13
3866 xorq %rdx,%r12
3867 shrdq $4,%r13,%r13
3868 xorq %r9,%r14
3869 andq %rbx,%r12
3870 xorq %rbx,%r13
3871 addq 88(%rsp),%r8
3872 movq %r9,%rdi
3873 xorq %rdx,%r12
3874 shrdq $6,%r14,%r14
3875 xorq %r10,%rdi
3876 addq %r12,%r8
3877 shrdq $14,%r13,%r13
3878 andq %rdi,%r15
3879 xorq %r9,%r14
3880 addq %r13,%r8
3881 xorq %r10,%r15
3882 shrdq $28,%r14,%r14
3883 addq %r8,%rax
3884 addq %r15,%r8
3885 movq %rax,%r13
3886 addq %r8,%r14
3887 shrdq $23,%r13,%r13
3888 movq %r14,%r8
3889 movq %rbx,%r12
3890 shrdq $5,%r14,%r14
3891 xorq %rax,%r13
3892 xorq %rcx,%r12
3893 shrdq $4,%r13,%r13
3894 xorq %r8,%r14
3895 andq %rax,%r12
3896 xorq %rax,%r13
3897 addq 96(%rsp),%rdx
3898 movq %r8,%r15
3899 xorq %rcx,%r12
3900 shrdq $6,%r14,%r14
3901 xorq %r9,%r15
3902 addq %r12,%rdx
3903 shrdq $14,%r13,%r13
3904 andq %r15,%rdi
3905 xorq %r8,%r14
3906 addq %r13,%rdx
3907 xorq %r9,%rdi
3908 shrdq $28,%r14,%r14
3909 addq %rdx,%r11
3910 addq %rdi,%rdx
3911 movq %r11,%r13
3912 addq %rdx,%r14
3913 shrdq $23,%r13,%r13
3914 movq %r14,%rdx
3915 movq %rax,%r12
3916 shrdq $5,%r14,%r14
3917 xorq %r11,%r13
3918 xorq %rbx,%r12
3919 shrdq $4,%r13,%r13
3920 xorq %rdx,%r14
3921 andq %r11,%r12
3922 xorq %r11,%r13
3923 addq 104(%rsp),%rcx
3924 movq %rdx,%rdi
3925 xorq %rbx,%r12
3926 shrdq $6,%r14,%r14
3927 xorq %r8,%rdi
3928 addq %r12,%rcx
3929 shrdq $14,%r13,%r13
3930 andq %rdi,%r15
3931 xorq %rdx,%r14
3932 addq %r13,%rcx
3933 xorq %r8,%r15
3934 shrdq $28,%r14,%r14
3935 addq %rcx,%r10
3936 addq %r15,%rcx
3937 movq %r10,%r13
3938 addq %rcx,%r14
3939 shrdq $23,%r13,%r13
3940 movq %r14,%rcx
3941 movq %r11,%r12
3942 shrdq $5,%r14,%r14
3943 xorq %r10,%r13
3944 xorq %rax,%r12
3945 shrdq $4,%r13,%r13
3946 xorq %rcx,%r14
3947 andq %r10,%r12
3948 xorq %r10,%r13
3949 addq 112(%rsp),%rbx
3950 movq %rcx,%r15
3951 xorq %rax,%r12
3952 shrdq $6,%r14,%r14
3953 xorq %rdx,%r15
3954 addq %r12,%rbx
3955 shrdq $14,%r13,%r13
3956 andq %r15,%rdi
3957 xorq %rcx,%r14
3958 addq %r13,%rbx
3959 xorq %rdx,%rdi
3960 shrdq $28,%r14,%r14
3961 addq %rbx,%r9
3962 addq %rdi,%rbx
3963 movq %r9,%r13
3964 addq %rbx,%r14
3965 shrdq $23,%r13,%r13
3966 movq %r14,%rbx
3967 movq %r10,%r12
3968 shrdq $5,%r14,%r14
3969 xorq %r9,%r13
3970 xorq %r11,%r12
3971 shrdq $4,%r13,%r13
3972 xorq %rbx,%r14
3973 andq %r9,%r12
3974 xorq %r9,%r13
3975 addq 120(%rsp),%rax
3976 movq %rbx,%rdi
3977 xorq %r11,%r12
3978 shrdq $6,%r14,%r14
3979 xorq %rcx,%rdi
3980 addq %r12,%rax
3981 shrdq $14,%r13,%r13
3982 andq %rdi,%r15
3983 xorq %rbx,%r14
3984 addq %r13,%rax
3985 xorq %rcx,%r15
3986 shrdq $28,%r14,%r14
3987 addq %rax,%r8
3988 addq %r15,%rax
3989 movq %r8,%r13
3990 addq %rax,%r14
3991 movq 128+0(%rsp),%rdi
3992 movq %r14,%rax
3993
3994 addq 0(%rdi),%rax
3995 leaq 128(%rsi),%rsi
3996 addq 8(%rdi),%rbx
3997 addq 16(%rdi),%rcx
3998 addq 24(%rdi),%rdx
3999 addq 32(%rdi),%r8
4000 addq 40(%rdi),%r9
4001 addq 48(%rdi),%r10
4002 addq 56(%rdi),%r11
4003
4004 cmpq 128+16(%rsp),%rsi
4005
4006 movq %rax,0(%rdi)
4007 movq %rbx,8(%rdi)
4008 movq %rcx,16(%rdi)
4009 movq %rdx,24(%rdi)
4010 movq %r8,32(%rdi)
4011 movq %r9,40(%rdi)
4012 movq %r10,48(%rdi)
4013 movq %r11,56(%rdi)
4014 jb .Lloop_avx
4015
4016 movq 128+24(%rsp),%rsi
4017 vzeroupper
4018 movq (%rsi),%r15
4019 movq 8(%rsi),%r14
4020 movq 16(%rsi),%r13
4021 movq 24(%rsi),%r12
4022 movq 32(%rsi),%rbp
4023 movq 40(%rsi),%rbx
4024 leaq 48(%rsi),%rsp
4025 .Lepilogue_avx:
4026 .byte 0xf3,0xc3
4027 .size sha512_block_data_order_avx,.-sha512_block_data_order_avx
1787 #endif 4028 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698