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

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

Powered by Google App Engine
This is Rietveld 408576698