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

Side by Side Diff: third_party/boringssl/win-x86/crypto/sha/sha256-586.asm

Issue 1459783002: Roll src/third_party/boringssl/src d7421ebf6..3ac32b1ed (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix build, estark comments Created 5 years, 1 month 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 %ifidn __OUTPUT_FORMAT__,obj 1 %ifidn __OUTPUT_FORMAT__,obj
2 section code use32 class=code align=64 2 section code use32 class=code align=64
3 %elifidn __OUTPUT_FORMAT__,win32 3 %elifidn __OUTPUT_FORMAT__,win32
4 %ifdef __YASM_VERSION_ID__ 4 %ifdef __YASM_VERSION_ID__
5 %if __YASM_VERSION_ID__ < 01010000h 5 %if __YASM_VERSION_ID__ < 01010000h
6 %error yasm version 1.1.0 or later needed. 6 %error yasm version 1.1.0 or later needed.
7 %endif 7 %endif
8 ; Yasm automatically includes .00 and complains about redefining it. 8 ; Yasm automatically includes .00 and complains about redefining it.
9 ; https://www.tortall.net/projects/yasm/manual/html/objfmt-win32-safeseh.html 9 ; https://www.tortall.net/projects/yasm/manual/html/objfmt-win32-safeseh.html
10 %else 10 %else
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 test ecx,1048576 45 test ecx,1048576
46 jnz NEAR L$002loop 46 jnz NEAR L$002loop
47 mov edx,DWORD [8+edx] 47 mov edx,DWORD [8+edx]
48 test ecx,16777216 48 test ecx,16777216
49 jz NEAR L$003no_xmm 49 jz NEAR L$003no_xmm
50 and ecx,1073741824 50 and ecx,1073741824
51 and ebx,268435968 51 and ebx,268435968
52 or ecx,ebx 52 or ecx,ebx
53 and ecx,1342177280 53 and ecx,1342177280
54 cmp ecx,1342177280 54 cmp ecx,1342177280
55 je NEAR L$004AVX
55 test ebx,512 56 test ebx,512
56 » jnz» NEAR L$004SSSE3 57 » jnz» NEAR L$005SSSE3
57 L$003no_xmm: 58 L$003no_xmm:
58 sub eax,edi 59 sub eax,edi
59 cmp eax,256 60 cmp eax,256
60 » jae» NEAR L$005unrolled 61 » jae» NEAR L$006unrolled
61 jmp NEAR L$002loop 62 jmp NEAR L$002loop
62 align 16 63 align 16
63 L$002loop: 64 L$002loop:
64 mov eax,DWORD [edi] 65 mov eax,DWORD [edi]
65 mov ebx,DWORD [4+edi] 66 mov ebx,DWORD [4+edi]
66 mov ecx,DWORD [8+edi] 67 mov ecx,DWORD [8+edi]
67 bswap eax 68 bswap eax
68 mov edx,DWORD [12+edi] 69 mov edx,DWORD [12+edi]
69 bswap ebx 70 bswap ebx
70 push eax 71 push eax
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 mov DWORD [16+esp],edi 123 mov DWORD [16+esp],edi
123 mov DWORD [esp],ebx 124 mov DWORD [esp],ebx
124 mov edx,DWORD [16+esi] 125 mov edx,DWORD [16+esi]
125 mov ebx,DWORD [20+esi] 126 mov ebx,DWORD [20+esi]
126 mov ecx,DWORD [24+esi] 127 mov ecx,DWORD [24+esi]
127 mov edi,DWORD [28+esi] 128 mov edi,DWORD [28+esi]
128 mov DWORD [24+esp],ebx 129 mov DWORD [24+esp],ebx
129 mov DWORD [28+esp],ecx 130 mov DWORD [28+esp],ecx
130 mov DWORD [32+esp],edi 131 mov DWORD [32+esp],edi
131 align 16 132 align 16
132 L$00600_15: 133 L$00700_15:
133 mov ecx,edx 134 mov ecx,edx
134 mov esi,DWORD [24+esp] 135 mov esi,DWORD [24+esp]
135 ror ecx,14 136 ror ecx,14
136 mov edi,DWORD [28+esp] 137 mov edi,DWORD [28+esp]
137 xor ecx,edx 138 xor ecx,edx
138 xor esi,edi 139 xor esi,edi
139 mov ebx,DWORD [96+esp] 140 mov ebx,DWORD [96+esp]
140 ror ecx,5 141 ror ecx,5
141 and esi,edx 142 and esi,edx
142 mov DWORD [20+esp],edx 143 mov DWORD [20+esp],edx
(...skipping 17 matching lines...) Expand all
160 ror ecx,2 161 ror ecx,2
161 add ebx,esi 162 add ebx,esi
162 mov DWORD [esp],eax 163 mov DWORD [esp],eax
163 add edx,ebx 164 add edx,ebx
164 and eax,DWORD [4+esp] 165 and eax,DWORD [4+esp]
165 add ebx,ecx 166 add ebx,ecx
166 xor eax,edi 167 xor eax,edi
167 add ebp,4 168 add ebp,4
168 add eax,ebx 169 add eax,ebx
169 cmp esi,3248222580 170 cmp esi,3248222580
170 » jne» NEAR L$00600_15 171 » jne» NEAR L$00700_15
171 mov ecx,DWORD [156+esp] 172 mov ecx,DWORD [156+esp]
172 » jmp» NEAR L$00716_63 173 » jmp» NEAR L$00816_63
173 align 16 174 align 16
174 L$00716_63: 175 L$00816_63:
175 mov ebx,ecx 176 mov ebx,ecx
176 mov esi,DWORD [104+esp] 177 mov esi,DWORD [104+esp]
177 ror ecx,11 178 ror ecx,11
178 mov edi,esi 179 mov edi,esi
179 ror esi,2 180 ror esi,2
180 xor ecx,ebx 181 xor ecx,ebx
181 shr ebx,3 182 shr ebx,3
182 ror ecx,7 183 ror ecx,7
183 xor esi,edi 184 xor esi,edi
184 xor ebx,ecx 185 xor ebx,ecx
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 add ebx,esi 220 add ebx,esi
220 mov DWORD [esp],eax 221 mov DWORD [esp],eax
221 add edx,ebx 222 add edx,ebx
222 and eax,DWORD [4+esp] 223 and eax,DWORD [4+esp]
223 add ebx,ecx 224 add ebx,ecx
224 xor eax,edi 225 xor eax,edi
225 mov ecx,DWORD [156+esp] 226 mov ecx,DWORD [156+esp]
226 add ebp,4 227 add ebp,4
227 add eax,ebx 228 add eax,ebx
228 cmp esi,3329325298 229 cmp esi,3329325298
229 » jne» NEAR L$00716_63 230 » jne» NEAR L$00816_63
230 mov esi,DWORD [356+esp] 231 mov esi,DWORD [356+esp]
231 mov ebx,DWORD [8+esp] 232 mov ebx,DWORD [8+esp]
232 mov ecx,DWORD [16+esp] 233 mov ecx,DWORD [16+esp]
233 add eax,DWORD [esi] 234 add eax,DWORD [esi]
234 add ebx,DWORD [4+esi] 235 add ebx,DWORD [4+esi]
235 add edi,DWORD [8+esi] 236 add edi,DWORD [8+esi]
236 add ecx,DWORD [12+esi] 237 add ecx,DWORD [12+esi]
237 mov DWORD [esi],eax 238 mov DWORD [esi],eax
238 mov DWORD [4+esi],ebx 239 mov DWORD [4+esi],ebx
239 mov DWORD [8+esi],edi 240 mov DWORD [8+esi],edi
(...skipping 23 matching lines...) Expand all
263 align 64 264 align 64
264 L$001K256: 265 L$001K256:
265 dd 1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635 748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2 614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150 122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891 ,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,169518 3700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,334576477 1,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,88399 7877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452 ,2361852424,2428436474,2756734187,3204031479,3329325298 266 dd 1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635 748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2 614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150 122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891 ,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,169518 3700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,334576477 1,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,88399 7877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452 ,2361852424,2428436474,2756734187,3204031479,3329325298
266 dd 66051,67438087,134810123,202182159 267 dd 66051,67438087,134810123,202182159
267 db 83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97 268 db 83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97
268 db 110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32 269 db 110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32
269 db 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97 270 db 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
270 db 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103 271 db 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
271 db 62,0 272 db 62,0
272 align 16 273 align 16
273 L$005unrolled: 274 L$006unrolled:
274 lea esp,[esp-96] 275 lea esp,[esp-96]
275 mov eax,DWORD [esi] 276 mov eax,DWORD [esi]
276 mov ebp,DWORD [4+esi] 277 mov ebp,DWORD [4+esi]
277 mov ecx,DWORD [8+esi] 278 mov ecx,DWORD [8+esi]
278 mov ebx,DWORD [12+esi] 279 mov ebx,DWORD [12+esi]
279 mov DWORD [4+esp],ebp 280 mov DWORD [4+esp],ebp
280 xor ebp,ecx 281 xor ebp,ecx
281 mov DWORD [8+esp],ecx 282 mov DWORD [8+esp],ecx
282 mov DWORD [12+esp],ebx 283 mov DWORD [12+esp],ebx
283 mov edx,DWORD [16+esi] 284 mov edx,DWORD [16+esi]
284 mov ebx,DWORD [20+esi] 285 mov ebx,DWORD [20+esi]
285 mov ecx,DWORD [24+esi] 286 mov ecx,DWORD [24+esi]
286 mov esi,DWORD [28+esi] 287 mov esi,DWORD [28+esi]
287 mov DWORD [20+esp],ebx 288 mov DWORD [20+esp],ebx
288 mov DWORD [24+esp],ecx 289 mov DWORD [24+esp],ecx
289 mov DWORD [28+esp],esi 290 mov DWORD [28+esp],esi
290 » jmp» NEAR L$008grand_loop 291 » jmp» NEAR L$009grand_loop
291 align 16 292 align 16
292 L$008grand_loop: 293 L$009grand_loop:
293 mov ebx,DWORD [edi] 294 mov ebx,DWORD [edi]
294 mov ecx,DWORD [4+edi] 295 mov ecx,DWORD [4+edi]
295 bswap ebx 296 bswap ebx
296 mov esi,DWORD [8+edi] 297 mov esi,DWORD [8+edi]
297 bswap ecx 298 bswap ecx
298 mov DWORD [32+esp],ebx 299 mov DWORD [32+esp],ebx
299 bswap esi 300 bswap esi
300 mov DWORD [36+esp],ecx 301 mov DWORD [36+esp],ecx
301 mov DWORD [40+esp],esi 302 mov DWORD [40+esp],esi
302 mov ebx,DWORD [12+edi] 303 mov ebx,DWORD [12+edi]
(...skipping 2859 matching lines...) Expand 10 before | Expand all | Expand 10 after
3162 add ecx,DWORD [28+esi] 3163 add ecx,DWORD [28+esi]
3163 mov DWORD [16+esi],edx 3164 mov DWORD [16+esi],edx
3164 mov DWORD [20+esi],edi 3165 mov DWORD [20+esi],edi
3165 mov DWORD [24+esi],ebx 3166 mov DWORD [24+esi],ebx
3166 mov DWORD [28+esi],ecx 3167 mov DWORD [28+esi],ecx
3167 mov DWORD [20+esp],edi 3168 mov DWORD [20+esp],edi
3168 mov edi,DWORD [100+esp] 3169 mov edi,DWORD [100+esp]
3169 mov DWORD [24+esp],ebx 3170 mov DWORD [24+esp],ebx
3170 mov DWORD [28+esp],ecx 3171 mov DWORD [28+esp],ecx
3171 cmp edi,DWORD [104+esp] 3172 cmp edi,DWORD [104+esp]
3172 » jb» NEAR L$008grand_loop 3173 » jb» NEAR L$009grand_loop
3173 mov esp,DWORD [108+esp] 3174 mov esp,DWORD [108+esp]
3174 pop edi 3175 pop edi
3175 pop esi 3176 pop esi
3176 pop ebx 3177 pop ebx
3177 pop ebp 3178 pop ebp
3178 ret 3179 ret
3179 align 32 3180 align 32
3180 L$004SSSE3: 3181 L$005SSSE3:
3181 lea esp,[esp-96] 3182 lea esp,[esp-96]
3182 mov eax,DWORD [esi] 3183 mov eax,DWORD [esi]
3183 mov ebx,DWORD [4+esi] 3184 mov ebx,DWORD [4+esi]
3184 mov ecx,DWORD [8+esi] 3185 mov ecx,DWORD [8+esi]
3185 mov edi,DWORD [12+esi] 3186 mov edi,DWORD [12+esi]
3186 mov DWORD [4+esp],ebx 3187 mov DWORD [4+esp],ebx
3187 xor ebx,ecx 3188 xor ebx,ecx
3188 mov DWORD [8+esp],ecx 3189 mov DWORD [8+esp],ecx
3189 mov DWORD [12+esp],edi 3190 mov DWORD [12+esp],edi
3190 mov edx,DWORD [16+esi] 3191 mov edx,DWORD [16+esi]
3191 mov edi,DWORD [20+esi] 3192 mov edi,DWORD [20+esi]
3192 mov ecx,DWORD [24+esi] 3193 mov ecx,DWORD [24+esi]
3193 mov esi,DWORD [28+esi] 3194 mov esi,DWORD [28+esi]
3194 mov DWORD [20+esp],edi 3195 mov DWORD [20+esp],edi
3195 mov edi,DWORD [100+esp] 3196 mov edi,DWORD [100+esp]
3196 mov DWORD [24+esp],ecx 3197 mov DWORD [24+esp],ecx
3197 mov DWORD [28+esp],esi 3198 mov DWORD [28+esp],esi
3198 movdqa xmm7,[256+ebp] 3199 movdqa xmm7,[256+ebp]
3199 » jmp» NEAR L$009grand_ssse3 3200 » jmp» NEAR L$010grand_ssse3
3200 align 16 3201 align 16
3201 L$009grand_ssse3: 3202 L$010grand_ssse3:
3202 movdqu xmm0,[edi] 3203 movdqu xmm0,[edi]
3203 movdqu xmm1,[16+edi] 3204 movdqu xmm1,[16+edi]
3204 movdqu xmm2,[32+edi] 3205 movdqu xmm2,[32+edi]
3205 movdqu xmm3,[48+edi] 3206 movdqu xmm3,[48+edi]
3206 add edi,64 3207 add edi,64
3207 db 102,15,56,0,199 3208 db 102,15,56,0,199
3208 mov DWORD [100+esp],edi 3209 mov DWORD [100+esp],edi
3209 db 102,15,56,0,207 3210 db 102,15,56,0,207
3210 movdqa xmm4,[ebp] 3211 movdqa xmm4,[ebp]
3211 db 102,15,56,0,215 3212 db 102,15,56,0,215
3212 movdqa xmm5,[16+ebp] 3213 movdqa xmm5,[16+ebp]
3213 paddd xmm4,xmm0 3214 paddd xmm4,xmm0
3214 db 102,15,56,0,223 3215 db 102,15,56,0,223
3215 movdqa xmm6,[32+ebp] 3216 movdqa xmm6,[32+ebp]
3216 paddd xmm5,xmm1 3217 paddd xmm5,xmm1
3217 movdqa xmm7,[48+ebp] 3218 movdqa xmm7,[48+ebp]
3218 movdqa [32+esp],xmm4 3219 movdqa [32+esp],xmm4
3219 paddd xmm6,xmm2 3220 paddd xmm6,xmm2
3220 movdqa [48+esp],xmm5 3221 movdqa [48+esp],xmm5
3221 paddd xmm7,xmm3 3222 paddd xmm7,xmm3
3222 movdqa [64+esp],xmm6 3223 movdqa [64+esp],xmm6
3223 movdqa [80+esp],xmm7 3224 movdqa [80+esp],xmm7
3224 » jmp» NEAR L$010ssse3_00_47 3225 » jmp» NEAR L$011ssse3_00_47
3225 align 16 3226 align 16
3226 L$010ssse3_00_47: 3227 L$011ssse3_00_47:
3227 add ebp,64 3228 add ebp,64
3228 mov ecx,edx 3229 mov ecx,edx
3229 movdqa xmm4,xmm1 3230 movdqa xmm4,xmm1
3230 ror edx,14 3231 ror edx,14
3231 mov esi,DWORD [20+esp] 3232 mov esi,DWORD [20+esp]
3232 movdqa xmm7,xmm3 3233 movdqa xmm7,xmm3
3233 xor edx,ecx 3234 xor edx,ecx
3234 mov edi,DWORD [24+esp] 3235 mov edi,DWORD [24+esp]
3235 db 102,15,58,15,224,4 3236 db 102,15,58,15,224,4
3236 xor esi,edi 3237 xor esi,edi
(...skipping 622 matching lines...) Expand 10 before | Expand all | Expand 10 after
3859 and eax,ebx 3860 and eax,ebx
3860 xor ecx,esi 3861 xor ecx,esi
3861 add edx,DWORD [92+esp] 3862 add edx,DWORD [92+esp]
3862 xor eax,edi 3863 xor eax,edi
3863 ror ecx,2 3864 ror ecx,2
3864 add eax,edx 3865 add eax,edx
3865 add edx,DWORD [16+esp] 3866 add edx,DWORD [16+esp]
3866 add eax,ecx 3867 add eax,ecx
3867 movdqa [80+esp],xmm6 3868 movdqa [80+esp],xmm6
3868 cmp DWORD [64+ebp],66051 3869 cmp DWORD [64+ebp],66051
3869 » jne» NEAR L$010ssse3_00_47 3870 » jne» NEAR L$011ssse3_00_47
3870 mov ecx,edx 3871 mov ecx,edx
3871 ror edx,14 3872 ror edx,14
3872 mov esi,DWORD [20+esp] 3873 mov esi,DWORD [20+esp]
3873 xor edx,ecx 3874 xor edx,ecx
3874 mov edi,DWORD [24+esp] 3875 mov edi,DWORD [24+esp]
3875 xor esi,edi 3876 xor esi,edi
3876 ror edx,5 3877 ror edx,5
3877 and esi,ecx 3878 and esi,ecx
3878 mov DWORD [16+esp],ecx 3879 mov DWORD [16+esp],ecx
3879 xor edx,ecx 3880 xor edx,ecx
(...skipping 493 matching lines...) Expand 10 before | Expand all | Expand 10 after
4373 mov edi,DWORD [28+esp] 4374 mov edi,DWORD [28+esp]
4374 mov DWORD [24+esi],ecx 4375 mov DWORD [24+esi],ecx
4375 add edi,DWORD [28+esi] 4376 add edi,DWORD [28+esi]
4376 mov DWORD [24+esp],ecx 4377 mov DWORD [24+esp],ecx
4377 mov DWORD [28+esi],edi 4378 mov DWORD [28+esi],edi
4378 mov DWORD [28+esp],edi 4379 mov DWORD [28+esp],edi
4379 mov edi,DWORD [100+esp] 4380 mov edi,DWORD [100+esp]
4380 movdqa xmm7,[64+ebp] 4381 movdqa xmm7,[64+ebp]
4381 sub ebp,192 4382 sub ebp,192
4382 cmp edi,DWORD [104+esp] 4383 cmp edi,DWORD [104+esp]
4383 » jb» NEAR L$009grand_ssse3 4384 » jb» NEAR L$010grand_ssse3
4384 mov esp,DWORD [108+esp] 4385 mov esp,DWORD [108+esp]
4385 pop edi 4386 pop edi
4386 pop esi 4387 pop esi
4387 pop ebx 4388 pop ebx
4388 pop ebp 4389 pop ebp
4389 ret 4390 ret
4391 align 32
4392 L$004AVX:
4393 lea esp,[esp-96]
4394 vzeroall
4395 mov eax,DWORD [esi]
4396 mov ebx,DWORD [4+esi]
4397 mov ecx,DWORD [8+esi]
4398 mov edi,DWORD [12+esi]
4399 mov DWORD [4+esp],ebx
4400 xor ebx,ecx
4401 mov DWORD [8+esp],ecx
4402 mov DWORD [12+esp],edi
4403 mov edx,DWORD [16+esi]
4404 mov edi,DWORD [20+esi]
4405 mov ecx,DWORD [24+esi]
4406 mov esi,DWORD [28+esi]
4407 mov DWORD [20+esp],edi
4408 mov edi,DWORD [100+esp]
4409 mov DWORD [24+esp],ecx
4410 mov DWORD [28+esp],esi
4411 vmovdqa xmm7,[256+ebp]
4412 jmp NEAR L$012grand_avx
4413 align 32
4414 L$012grand_avx:
4415 vmovdqu xmm0,[edi]
4416 vmovdqu xmm1,[16+edi]
4417 vmovdqu xmm2,[32+edi]
4418 vmovdqu xmm3,[48+edi]
4419 add edi,64
4420 vpshufb xmm0,xmm0,xmm7
4421 mov DWORD [100+esp],edi
4422 vpshufb xmm1,xmm1,xmm7
4423 vpshufb xmm2,xmm2,xmm7
4424 vpaddd xmm4,xmm0,[ebp]
4425 vpshufb xmm3,xmm3,xmm7
4426 vpaddd xmm5,xmm1,[16+ebp]
4427 vpaddd xmm6,xmm2,[32+ebp]
4428 vpaddd xmm7,xmm3,[48+ebp]
4429 vmovdqa [32+esp],xmm4
4430 vmovdqa [48+esp],xmm5
4431 vmovdqa [64+esp],xmm6
4432 vmovdqa [80+esp],xmm7
4433 jmp NEAR L$013avx_00_47
4434 align 16
4435 L$013avx_00_47:
4436 add ebp,64
4437 vpalignr xmm4,xmm1,xmm0,4
4438 mov ecx,edx
4439 shrd edx,edx,14
4440 mov esi,DWORD [20+esp]
4441 vpalignr xmm7,xmm3,xmm2,4
4442 xor edx,ecx
4443 mov edi,DWORD [24+esp]
4444 xor esi,edi
4445 vpsrld xmm6,xmm4,7
4446 shrd edx,edx,5
4447 and esi,ecx
4448 mov DWORD [16+esp],ecx
4449 vpaddd xmm0,xmm0,xmm7
4450 xor edx,ecx
4451 xor edi,esi
4452 shrd edx,edx,6
4453 vpsrld xmm7,xmm4,3
4454 mov ecx,eax
4455 add edx,edi
4456 mov edi,DWORD [4+esp]
4457 vpslld xmm5,xmm4,14
4458 mov esi,eax
4459 shrd ecx,ecx,9
4460 mov DWORD [esp],eax
4461 vpxor xmm4,xmm7,xmm6
4462 xor ecx,eax
4463 xor eax,edi
4464 add edx,DWORD [28+esp]
4465 vpshufd xmm7,xmm3,250
4466 shrd ecx,ecx,11
4467 and ebx,eax
4468 xor ecx,esi
4469 vpsrld xmm6,xmm6,11
4470 add edx,DWORD [32+esp]
4471 xor ebx,edi
4472 shrd ecx,ecx,2
4473 vpxor xmm4,xmm4,xmm5
4474 add ebx,edx
4475 add edx,DWORD [12+esp]
4476 add ebx,ecx
4477 vpslld xmm5,xmm5,11
4478 mov ecx,edx
4479 shrd edx,edx,14
4480 mov esi,DWORD [16+esp]
4481 vpxor xmm4,xmm4,xmm6
4482 xor edx,ecx
4483 mov edi,DWORD [20+esp]
4484 xor esi,edi
4485 vpsrld xmm6,xmm7,10
4486 shrd edx,edx,5
4487 and esi,ecx
4488 mov DWORD [12+esp],ecx
4489 vpxor xmm4,xmm4,xmm5
4490 xor edx,ecx
4491 xor edi,esi
4492 shrd edx,edx,6
4493 vpsrlq xmm5,xmm7,17
4494 mov ecx,ebx
4495 add edx,edi
4496 mov edi,DWORD [esp]
4497 vpaddd xmm0,xmm0,xmm4
4498 mov esi,ebx
4499 shrd ecx,ecx,9
4500 mov DWORD [28+esp],ebx
4501 vpxor xmm6,xmm6,xmm5
4502 xor ecx,ebx
4503 xor ebx,edi
4504 add edx,DWORD [24+esp]
4505 vpsrlq xmm7,xmm7,19
4506 shrd ecx,ecx,11
4507 and eax,ebx
4508 xor ecx,esi
4509 vpxor xmm6,xmm6,xmm7
4510 add edx,DWORD [36+esp]
4511 xor eax,edi
4512 shrd ecx,ecx,2
4513 vpshufd xmm7,xmm6,132
4514 add eax,edx
4515 add edx,DWORD [8+esp]
4516 add eax,ecx
4517 vpsrldq xmm7,xmm7,8
4518 mov ecx,edx
4519 shrd edx,edx,14
4520 mov esi,DWORD [12+esp]
4521 vpaddd xmm0,xmm0,xmm7
4522 xor edx,ecx
4523 mov edi,DWORD [16+esp]
4524 xor esi,edi
4525 vpshufd xmm7,xmm0,80
4526 shrd edx,edx,5
4527 and esi,ecx
4528 mov DWORD [8+esp],ecx
4529 vpsrld xmm6,xmm7,10
4530 xor edx,ecx
4531 xor edi,esi
4532 shrd edx,edx,6
4533 vpsrlq xmm5,xmm7,17
4534 mov ecx,eax
4535 add edx,edi
4536 mov edi,DWORD [28+esp]
4537 vpxor xmm6,xmm6,xmm5
4538 mov esi,eax
4539 shrd ecx,ecx,9
4540 mov DWORD [24+esp],eax
4541 vpsrlq xmm7,xmm7,19
4542 xor ecx,eax
4543 xor eax,edi
4544 add edx,DWORD [20+esp]
4545 vpxor xmm6,xmm6,xmm7
4546 shrd ecx,ecx,11
4547 and ebx,eax
4548 xor ecx,esi
4549 vpshufd xmm7,xmm6,232
4550 add edx,DWORD [40+esp]
4551 xor ebx,edi
4552 shrd ecx,ecx,2
4553 vpslldq xmm7,xmm7,8
4554 add ebx,edx
4555 add edx,DWORD [4+esp]
4556 add ebx,ecx
4557 vpaddd xmm0,xmm0,xmm7
4558 mov ecx,edx
4559 shrd edx,edx,14
4560 mov esi,DWORD [8+esp]
4561 vpaddd xmm6,xmm0,[ebp]
4562 xor edx,ecx
4563 mov edi,DWORD [12+esp]
4564 xor esi,edi
4565 shrd edx,edx,5
4566 and esi,ecx
4567 mov DWORD [4+esp],ecx
4568 xor edx,ecx
4569 xor edi,esi
4570 shrd edx,edx,6
4571 mov ecx,ebx
4572 add edx,edi
4573 mov edi,DWORD [24+esp]
4574 mov esi,ebx
4575 shrd ecx,ecx,9
4576 mov DWORD [20+esp],ebx
4577 xor ecx,ebx
4578 xor ebx,edi
4579 add edx,DWORD [16+esp]
4580 shrd ecx,ecx,11
4581 and eax,ebx
4582 xor ecx,esi
4583 add edx,DWORD [44+esp]
4584 xor eax,edi
4585 shrd ecx,ecx,2
4586 add eax,edx
4587 add edx,DWORD [esp]
4588 add eax,ecx
4589 vmovdqa [32+esp],xmm6
4590 vpalignr xmm4,xmm2,xmm1,4
4591 mov ecx,edx
4592 shrd edx,edx,14
4593 mov esi,DWORD [4+esp]
4594 vpalignr xmm7,xmm0,xmm3,4
4595 xor edx,ecx
4596 mov edi,DWORD [8+esp]
4597 xor esi,edi
4598 vpsrld xmm6,xmm4,7
4599 shrd edx,edx,5
4600 and esi,ecx
4601 mov DWORD [esp],ecx
4602 vpaddd xmm1,xmm1,xmm7
4603 xor edx,ecx
4604 xor edi,esi
4605 shrd edx,edx,6
4606 vpsrld xmm7,xmm4,3
4607 mov ecx,eax
4608 add edx,edi
4609 mov edi,DWORD [20+esp]
4610 vpslld xmm5,xmm4,14
4611 mov esi,eax
4612 shrd ecx,ecx,9
4613 mov DWORD [16+esp],eax
4614 vpxor xmm4,xmm7,xmm6
4615 xor ecx,eax
4616 xor eax,edi
4617 add edx,DWORD [12+esp]
4618 vpshufd xmm7,xmm0,250
4619 shrd ecx,ecx,11
4620 and ebx,eax
4621 xor ecx,esi
4622 vpsrld xmm6,xmm6,11
4623 add edx,DWORD [48+esp]
4624 xor ebx,edi
4625 shrd ecx,ecx,2
4626 vpxor xmm4,xmm4,xmm5
4627 add ebx,edx
4628 add edx,DWORD [28+esp]
4629 add ebx,ecx
4630 vpslld xmm5,xmm5,11
4631 mov ecx,edx
4632 shrd edx,edx,14
4633 mov esi,DWORD [esp]
4634 vpxor xmm4,xmm4,xmm6
4635 xor edx,ecx
4636 mov edi,DWORD [4+esp]
4637 xor esi,edi
4638 vpsrld xmm6,xmm7,10
4639 shrd edx,edx,5
4640 and esi,ecx
4641 mov DWORD [28+esp],ecx
4642 vpxor xmm4,xmm4,xmm5
4643 xor edx,ecx
4644 xor edi,esi
4645 shrd edx,edx,6
4646 vpsrlq xmm5,xmm7,17
4647 mov ecx,ebx
4648 add edx,edi
4649 mov edi,DWORD [16+esp]
4650 vpaddd xmm1,xmm1,xmm4
4651 mov esi,ebx
4652 shrd ecx,ecx,9
4653 mov DWORD [12+esp],ebx
4654 vpxor xmm6,xmm6,xmm5
4655 xor ecx,ebx
4656 xor ebx,edi
4657 add edx,DWORD [8+esp]
4658 vpsrlq xmm7,xmm7,19
4659 shrd ecx,ecx,11
4660 and eax,ebx
4661 xor ecx,esi
4662 vpxor xmm6,xmm6,xmm7
4663 add edx,DWORD [52+esp]
4664 xor eax,edi
4665 shrd ecx,ecx,2
4666 vpshufd xmm7,xmm6,132
4667 add eax,edx
4668 add edx,DWORD [24+esp]
4669 add eax,ecx
4670 vpsrldq xmm7,xmm7,8
4671 mov ecx,edx
4672 shrd edx,edx,14
4673 mov esi,DWORD [28+esp]
4674 vpaddd xmm1,xmm1,xmm7
4675 xor edx,ecx
4676 mov edi,DWORD [esp]
4677 xor esi,edi
4678 vpshufd xmm7,xmm1,80
4679 shrd edx,edx,5
4680 and esi,ecx
4681 mov DWORD [24+esp],ecx
4682 vpsrld xmm6,xmm7,10
4683 xor edx,ecx
4684 xor edi,esi
4685 shrd edx,edx,6
4686 vpsrlq xmm5,xmm7,17
4687 mov ecx,eax
4688 add edx,edi
4689 mov edi,DWORD [12+esp]
4690 vpxor xmm6,xmm6,xmm5
4691 mov esi,eax
4692 shrd ecx,ecx,9
4693 mov DWORD [8+esp],eax
4694 vpsrlq xmm7,xmm7,19
4695 xor ecx,eax
4696 xor eax,edi
4697 add edx,DWORD [4+esp]
4698 vpxor xmm6,xmm6,xmm7
4699 shrd ecx,ecx,11
4700 and ebx,eax
4701 xor ecx,esi
4702 vpshufd xmm7,xmm6,232
4703 add edx,DWORD [56+esp]
4704 xor ebx,edi
4705 shrd ecx,ecx,2
4706 vpslldq xmm7,xmm7,8
4707 add ebx,edx
4708 add edx,DWORD [20+esp]
4709 add ebx,ecx
4710 vpaddd xmm1,xmm1,xmm7
4711 mov ecx,edx
4712 shrd edx,edx,14
4713 mov esi,DWORD [24+esp]
4714 vpaddd xmm6,xmm1,[16+ebp]
4715 xor edx,ecx
4716 mov edi,DWORD [28+esp]
4717 xor esi,edi
4718 shrd edx,edx,5
4719 and esi,ecx
4720 mov DWORD [20+esp],ecx
4721 xor edx,ecx
4722 xor edi,esi
4723 shrd edx,edx,6
4724 mov ecx,ebx
4725 add edx,edi
4726 mov edi,DWORD [8+esp]
4727 mov esi,ebx
4728 shrd ecx,ecx,9
4729 mov DWORD [4+esp],ebx
4730 xor ecx,ebx
4731 xor ebx,edi
4732 add edx,DWORD [esp]
4733 shrd ecx,ecx,11
4734 and eax,ebx
4735 xor ecx,esi
4736 add edx,DWORD [60+esp]
4737 xor eax,edi
4738 shrd ecx,ecx,2
4739 add eax,edx
4740 add edx,DWORD [16+esp]
4741 add eax,ecx
4742 vmovdqa [48+esp],xmm6
4743 vpalignr xmm4,xmm3,xmm2,4
4744 mov ecx,edx
4745 shrd edx,edx,14
4746 mov esi,DWORD [20+esp]
4747 vpalignr xmm7,xmm1,xmm0,4
4748 xor edx,ecx
4749 mov edi,DWORD [24+esp]
4750 xor esi,edi
4751 vpsrld xmm6,xmm4,7
4752 shrd edx,edx,5
4753 and esi,ecx
4754 mov DWORD [16+esp],ecx
4755 vpaddd xmm2,xmm2,xmm7
4756 xor edx,ecx
4757 xor edi,esi
4758 shrd edx,edx,6
4759 vpsrld xmm7,xmm4,3
4760 mov ecx,eax
4761 add edx,edi
4762 mov edi,DWORD [4+esp]
4763 vpslld xmm5,xmm4,14
4764 mov esi,eax
4765 shrd ecx,ecx,9
4766 mov DWORD [esp],eax
4767 vpxor xmm4,xmm7,xmm6
4768 xor ecx,eax
4769 xor eax,edi
4770 add edx,DWORD [28+esp]
4771 vpshufd xmm7,xmm1,250
4772 shrd ecx,ecx,11
4773 and ebx,eax
4774 xor ecx,esi
4775 vpsrld xmm6,xmm6,11
4776 add edx,DWORD [64+esp]
4777 xor ebx,edi
4778 shrd ecx,ecx,2
4779 vpxor xmm4,xmm4,xmm5
4780 add ebx,edx
4781 add edx,DWORD [12+esp]
4782 add ebx,ecx
4783 vpslld xmm5,xmm5,11
4784 mov ecx,edx
4785 shrd edx,edx,14
4786 mov esi,DWORD [16+esp]
4787 vpxor xmm4,xmm4,xmm6
4788 xor edx,ecx
4789 mov edi,DWORD [20+esp]
4790 xor esi,edi
4791 vpsrld xmm6,xmm7,10
4792 shrd edx,edx,5
4793 and esi,ecx
4794 mov DWORD [12+esp],ecx
4795 vpxor xmm4,xmm4,xmm5
4796 xor edx,ecx
4797 xor edi,esi
4798 shrd edx,edx,6
4799 vpsrlq xmm5,xmm7,17
4800 mov ecx,ebx
4801 add edx,edi
4802 mov edi,DWORD [esp]
4803 vpaddd xmm2,xmm2,xmm4
4804 mov esi,ebx
4805 shrd ecx,ecx,9
4806 mov DWORD [28+esp],ebx
4807 vpxor xmm6,xmm6,xmm5
4808 xor ecx,ebx
4809 xor ebx,edi
4810 add edx,DWORD [24+esp]
4811 vpsrlq xmm7,xmm7,19
4812 shrd ecx,ecx,11
4813 and eax,ebx
4814 xor ecx,esi
4815 vpxor xmm6,xmm6,xmm7
4816 add edx,DWORD [68+esp]
4817 xor eax,edi
4818 shrd ecx,ecx,2
4819 vpshufd xmm7,xmm6,132
4820 add eax,edx
4821 add edx,DWORD [8+esp]
4822 add eax,ecx
4823 vpsrldq xmm7,xmm7,8
4824 mov ecx,edx
4825 shrd edx,edx,14
4826 mov esi,DWORD [12+esp]
4827 vpaddd xmm2,xmm2,xmm7
4828 xor edx,ecx
4829 mov edi,DWORD [16+esp]
4830 xor esi,edi
4831 vpshufd xmm7,xmm2,80
4832 shrd edx,edx,5
4833 and esi,ecx
4834 mov DWORD [8+esp],ecx
4835 vpsrld xmm6,xmm7,10
4836 xor edx,ecx
4837 xor edi,esi
4838 shrd edx,edx,6
4839 vpsrlq xmm5,xmm7,17
4840 mov ecx,eax
4841 add edx,edi
4842 mov edi,DWORD [28+esp]
4843 vpxor xmm6,xmm6,xmm5
4844 mov esi,eax
4845 shrd ecx,ecx,9
4846 mov DWORD [24+esp],eax
4847 vpsrlq xmm7,xmm7,19
4848 xor ecx,eax
4849 xor eax,edi
4850 add edx,DWORD [20+esp]
4851 vpxor xmm6,xmm6,xmm7
4852 shrd ecx,ecx,11
4853 and ebx,eax
4854 xor ecx,esi
4855 vpshufd xmm7,xmm6,232
4856 add edx,DWORD [72+esp]
4857 xor ebx,edi
4858 shrd ecx,ecx,2
4859 vpslldq xmm7,xmm7,8
4860 add ebx,edx
4861 add edx,DWORD [4+esp]
4862 add ebx,ecx
4863 vpaddd xmm2,xmm2,xmm7
4864 mov ecx,edx
4865 shrd edx,edx,14
4866 mov esi,DWORD [8+esp]
4867 vpaddd xmm6,xmm2,[32+ebp]
4868 xor edx,ecx
4869 mov edi,DWORD [12+esp]
4870 xor esi,edi
4871 shrd edx,edx,5
4872 and esi,ecx
4873 mov DWORD [4+esp],ecx
4874 xor edx,ecx
4875 xor edi,esi
4876 shrd edx,edx,6
4877 mov ecx,ebx
4878 add edx,edi
4879 mov edi,DWORD [24+esp]
4880 mov esi,ebx
4881 shrd ecx,ecx,9
4882 mov DWORD [20+esp],ebx
4883 xor ecx,ebx
4884 xor ebx,edi
4885 add edx,DWORD [16+esp]
4886 shrd ecx,ecx,11
4887 and eax,ebx
4888 xor ecx,esi
4889 add edx,DWORD [76+esp]
4890 xor eax,edi
4891 shrd ecx,ecx,2
4892 add eax,edx
4893 add edx,DWORD [esp]
4894 add eax,ecx
4895 vmovdqa [64+esp],xmm6
4896 vpalignr xmm4,xmm0,xmm3,4
4897 mov ecx,edx
4898 shrd edx,edx,14
4899 mov esi,DWORD [4+esp]
4900 vpalignr xmm7,xmm2,xmm1,4
4901 xor edx,ecx
4902 mov edi,DWORD [8+esp]
4903 xor esi,edi
4904 vpsrld xmm6,xmm4,7
4905 shrd edx,edx,5
4906 and esi,ecx
4907 mov DWORD [esp],ecx
4908 vpaddd xmm3,xmm3,xmm7
4909 xor edx,ecx
4910 xor edi,esi
4911 shrd edx,edx,6
4912 vpsrld xmm7,xmm4,3
4913 mov ecx,eax
4914 add edx,edi
4915 mov edi,DWORD [20+esp]
4916 vpslld xmm5,xmm4,14
4917 mov esi,eax
4918 shrd ecx,ecx,9
4919 mov DWORD [16+esp],eax
4920 vpxor xmm4,xmm7,xmm6
4921 xor ecx,eax
4922 xor eax,edi
4923 add edx,DWORD [12+esp]
4924 vpshufd xmm7,xmm2,250
4925 shrd ecx,ecx,11
4926 and ebx,eax
4927 xor ecx,esi
4928 vpsrld xmm6,xmm6,11
4929 add edx,DWORD [80+esp]
4930 xor ebx,edi
4931 shrd ecx,ecx,2
4932 vpxor xmm4,xmm4,xmm5
4933 add ebx,edx
4934 add edx,DWORD [28+esp]
4935 add ebx,ecx
4936 vpslld xmm5,xmm5,11
4937 mov ecx,edx
4938 shrd edx,edx,14
4939 mov esi,DWORD [esp]
4940 vpxor xmm4,xmm4,xmm6
4941 xor edx,ecx
4942 mov edi,DWORD [4+esp]
4943 xor esi,edi
4944 vpsrld xmm6,xmm7,10
4945 shrd edx,edx,5
4946 and esi,ecx
4947 mov DWORD [28+esp],ecx
4948 vpxor xmm4,xmm4,xmm5
4949 xor edx,ecx
4950 xor edi,esi
4951 shrd edx,edx,6
4952 vpsrlq xmm5,xmm7,17
4953 mov ecx,ebx
4954 add edx,edi
4955 mov edi,DWORD [16+esp]
4956 vpaddd xmm3,xmm3,xmm4
4957 mov esi,ebx
4958 shrd ecx,ecx,9
4959 mov DWORD [12+esp],ebx
4960 vpxor xmm6,xmm6,xmm5
4961 xor ecx,ebx
4962 xor ebx,edi
4963 add edx,DWORD [8+esp]
4964 vpsrlq xmm7,xmm7,19
4965 shrd ecx,ecx,11
4966 and eax,ebx
4967 xor ecx,esi
4968 vpxor xmm6,xmm6,xmm7
4969 add edx,DWORD [84+esp]
4970 xor eax,edi
4971 shrd ecx,ecx,2
4972 vpshufd xmm7,xmm6,132
4973 add eax,edx
4974 add edx,DWORD [24+esp]
4975 add eax,ecx
4976 vpsrldq xmm7,xmm7,8
4977 mov ecx,edx
4978 shrd edx,edx,14
4979 mov esi,DWORD [28+esp]
4980 vpaddd xmm3,xmm3,xmm7
4981 xor edx,ecx
4982 mov edi,DWORD [esp]
4983 xor esi,edi
4984 vpshufd xmm7,xmm3,80
4985 shrd edx,edx,5
4986 and esi,ecx
4987 mov DWORD [24+esp],ecx
4988 vpsrld xmm6,xmm7,10
4989 xor edx,ecx
4990 xor edi,esi
4991 shrd edx,edx,6
4992 vpsrlq xmm5,xmm7,17
4993 mov ecx,eax
4994 add edx,edi
4995 mov edi,DWORD [12+esp]
4996 vpxor xmm6,xmm6,xmm5
4997 mov esi,eax
4998 shrd ecx,ecx,9
4999 mov DWORD [8+esp],eax
5000 vpsrlq xmm7,xmm7,19
5001 xor ecx,eax
5002 xor eax,edi
5003 add edx,DWORD [4+esp]
5004 vpxor xmm6,xmm6,xmm7
5005 shrd ecx,ecx,11
5006 and ebx,eax
5007 xor ecx,esi
5008 vpshufd xmm7,xmm6,232
5009 add edx,DWORD [88+esp]
5010 xor ebx,edi
5011 shrd ecx,ecx,2
5012 vpslldq xmm7,xmm7,8
5013 add ebx,edx
5014 add edx,DWORD [20+esp]
5015 add ebx,ecx
5016 vpaddd xmm3,xmm3,xmm7
5017 mov ecx,edx
5018 shrd edx,edx,14
5019 mov esi,DWORD [24+esp]
5020 vpaddd xmm6,xmm3,[48+ebp]
5021 xor edx,ecx
5022 mov edi,DWORD [28+esp]
5023 xor esi,edi
5024 shrd edx,edx,5
5025 and esi,ecx
5026 mov DWORD [20+esp],ecx
5027 xor edx,ecx
5028 xor edi,esi
5029 shrd edx,edx,6
5030 mov ecx,ebx
5031 add edx,edi
5032 mov edi,DWORD [8+esp]
5033 mov esi,ebx
5034 shrd ecx,ecx,9
5035 mov DWORD [4+esp],ebx
5036 xor ecx,ebx
5037 xor ebx,edi
5038 add edx,DWORD [esp]
5039 shrd ecx,ecx,11
5040 and eax,ebx
5041 xor ecx,esi
5042 add edx,DWORD [92+esp]
5043 xor eax,edi
5044 shrd ecx,ecx,2
5045 add eax,edx
5046 add edx,DWORD [16+esp]
5047 add eax,ecx
5048 vmovdqa [80+esp],xmm6
5049 cmp DWORD [64+ebp],66051
5050 jne NEAR L$013avx_00_47
5051 mov ecx,edx
5052 shrd edx,edx,14
5053 mov esi,DWORD [20+esp]
5054 xor edx,ecx
5055 mov edi,DWORD [24+esp]
5056 xor esi,edi
5057 shrd edx,edx,5
5058 and esi,ecx
5059 mov DWORD [16+esp],ecx
5060 xor edx,ecx
5061 xor edi,esi
5062 shrd edx,edx,6
5063 mov ecx,eax
5064 add edx,edi
5065 mov edi,DWORD [4+esp]
5066 mov esi,eax
5067 shrd ecx,ecx,9
5068 mov DWORD [esp],eax
5069 xor ecx,eax
5070 xor eax,edi
5071 add edx,DWORD [28+esp]
5072 shrd ecx,ecx,11
5073 and ebx,eax
5074 xor ecx,esi
5075 add edx,DWORD [32+esp]
5076 xor ebx,edi
5077 shrd ecx,ecx,2
5078 add ebx,edx
5079 add edx,DWORD [12+esp]
5080 add ebx,ecx
5081 mov ecx,edx
5082 shrd edx,edx,14
5083 mov esi,DWORD [16+esp]
5084 xor edx,ecx
5085 mov edi,DWORD [20+esp]
5086 xor esi,edi
5087 shrd edx,edx,5
5088 and esi,ecx
5089 mov DWORD [12+esp],ecx
5090 xor edx,ecx
5091 xor edi,esi
5092 shrd edx,edx,6
5093 mov ecx,ebx
5094 add edx,edi
5095 mov edi,DWORD [esp]
5096 mov esi,ebx
5097 shrd ecx,ecx,9
5098 mov DWORD [28+esp],ebx
5099 xor ecx,ebx
5100 xor ebx,edi
5101 add edx,DWORD [24+esp]
5102 shrd ecx,ecx,11
5103 and eax,ebx
5104 xor ecx,esi
5105 add edx,DWORD [36+esp]
5106 xor eax,edi
5107 shrd ecx,ecx,2
5108 add eax,edx
5109 add edx,DWORD [8+esp]
5110 add eax,ecx
5111 mov ecx,edx
5112 shrd edx,edx,14
5113 mov esi,DWORD [12+esp]
5114 xor edx,ecx
5115 mov edi,DWORD [16+esp]
5116 xor esi,edi
5117 shrd edx,edx,5
5118 and esi,ecx
5119 mov DWORD [8+esp],ecx
5120 xor edx,ecx
5121 xor edi,esi
5122 shrd edx,edx,6
5123 mov ecx,eax
5124 add edx,edi
5125 mov edi,DWORD [28+esp]
5126 mov esi,eax
5127 shrd ecx,ecx,9
5128 mov DWORD [24+esp],eax
5129 xor ecx,eax
5130 xor eax,edi
5131 add edx,DWORD [20+esp]
5132 shrd ecx,ecx,11
5133 and ebx,eax
5134 xor ecx,esi
5135 add edx,DWORD [40+esp]
5136 xor ebx,edi
5137 shrd ecx,ecx,2
5138 add ebx,edx
5139 add edx,DWORD [4+esp]
5140 add ebx,ecx
5141 mov ecx,edx
5142 shrd edx,edx,14
5143 mov esi,DWORD [8+esp]
5144 xor edx,ecx
5145 mov edi,DWORD [12+esp]
5146 xor esi,edi
5147 shrd edx,edx,5
5148 and esi,ecx
5149 mov DWORD [4+esp],ecx
5150 xor edx,ecx
5151 xor edi,esi
5152 shrd edx,edx,6
5153 mov ecx,ebx
5154 add edx,edi
5155 mov edi,DWORD [24+esp]
5156 mov esi,ebx
5157 shrd ecx,ecx,9
5158 mov DWORD [20+esp],ebx
5159 xor ecx,ebx
5160 xor ebx,edi
5161 add edx,DWORD [16+esp]
5162 shrd ecx,ecx,11
5163 and eax,ebx
5164 xor ecx,esi
5165 add edx,DWORD [44+esp]
5166 xor eax,edi
5167 shrd ecx,ecx,2
5168 add eax,edx
5169 add edx,DWORD [esp]
5170 add eax,ecx
5171 mov ecx,edx
5172 shrd edx,edx,14
5173 mov esi,DWORD [4+esp]
5174 xor edx,ecx
5175 mov edi,DWORD [8+esp]
5176 xor esi,edi
5177 shrd edx,edx,5
5178 and esi,ecx
5179 mov DWORD [esp],ecx
5180 xor edx,ecx
5181 xor edi,esi
5182 shrd edx,edx,6
5183 mov ecx,eax
5184 add edx,edi
5185 mov edi,DWORD [20+esp]
5186 mov esi,eax
5187 shrd ecx,ecx,9
5188 mov DWORD [16+esp],eax
5189 xor ecx,eax
5190 xor eax,edi
5191 add edx,DWORD [12+esp]
5192 shrd ecx,ecx,11
5193 and ebx,eax
5194 xor ecx,esi
5195 add edx,DWORD [48+esp]
5196 xor ebx,edi
5197 shrd ecx,ecx,2
5198 add ebx,edx
5199 add edx,DWORD [28+esp]
5200 add ebx,ecx
5201 mov ecx,edx
5202 shrd edx,edx,14
5203 mov esi,DWORD [esp]
5204 xor edx,ecx
5205 mov edi,DWORD [4+esp]
5206 xor esi,edi
5207 shrd edx,edx,5
5208 and esi,ecx
5209 mov DWORD [28+esp],ecx
5210 xor edx,ecx
5211 xor edi,esi
5212 shrd edx,edx,6
5213 mov ecx,ebx
5214 add edx,edi
5215 mov edi,DWORD [16+esp]
5216 mov esi,ebx
5217 shrd ecx,ecx,9
5218 mov DWORD [12+esp],ebx
5219 xor ecx,ebx
5220 xor ebx,edi
5221 add edx,DWORD [8+esp]
5222 shrd ecx,ecx,11
5223 and eax,ebx
5224 xor ecx,esi
5225 add edx,DWORD [52+esp]
5226 xor eax,edi
5227 shrd ecx,ecx,2
5228 add eax,edx
5229 add edx,DWORD [24+esp]
5230 add eax,ecx
5231 mov ecx,edx
5232 shrd edx,edx,14
5233 mov esi,DWORD [28+esp]
5234 xor edx,ecx
5235 mov edi,DWORD [esp]
5236 xor esi,edi
5237 shrd edx,edx,5
5238 and esi,ecx
5239 mov DWORD [24+esp],ecx
5240 xor edx,ecx
5241 xor edi,esi
5242 shrd edx,edx,6
5243 mov ecx,eax
5244 add edx,edi
5245 mov edi,DWORD [12+esp]
5246 mov esi,eax
5247 shrd ecx,ecx,9
5248 mov DWORD [8+esp],eax
5249 xor ecx,eax
5250 xor eax,edi
5251 add edx,DWORD [4+esp]
5252 shrd ecx,ecx,11
5253 and ebx,eax
5254 xor ecx,esi
5255 add edx,DWORD [56+esp]
5256 xor ebx,edi
5257 shrd ecx,ecx,2
5258 add ebx,edx
5259 add edx,DWORD [20+esp]
5260 add ebx,ecx
5261 mov ecx,edx
5262 shrd edx,edx,14
5263 mov esi,DWORD [24+esp]
5264 xor edx,ecx
5265 mov edi,DWORD [28+esp]
5266 xor esi,edi
5267 shrd edx,edx,5
5268 and esi,ecx
5269 mov DWORD [20+esp],ecx
5270 xor edx,ecx
5271 xor edi,esi
5272 shrd edx,edx,6
5273 mov ecx,ebx
5274 add edx,edi
5275 mov edi,DWORD [8+esp]
5276 mov esi,ebx
5277 shrd ecx,ecx,9
5278 mov DWORD [4+esp],ebx
5279 xor ecx,ebx
5280 xor ebx,edi
5281 add edx,DWORD [esp]
5282 shrd ecx,ecx,11
5283 and eax,ebx
5284 xor ecx,esi
5285 add edx,DWORD [60+esp]
5286 xor eax,edi
5287 shrd ecx,ecx,2
5288 add eax,edx
5289 add edx,DWORD [16+esp]
5290 add eax,ecx
5291 mov ecx,edx
5292 shrd edx,edx,14
5293 mov esi,DWORD [20+esp]
5294 xor edx,ecx
5295 mov edi,DWORD [24+esp]
5296 xor esi,edi
5297 shrd edx,edx,5
5298 and esi,ecx
5299 mov DWORD [16+esp],ecx
5300 xor edx,ecx
5301 xor edi,esi
5302 shrd edx,edx,6
5303 mov ecx,eax
5304 add edx,edi
5305 mov edi,DWORD [4+esp]
5306 mov esi,eax
5307 shrd ecx,ecx,9
5308 mov DWORD [esp],eax
5309 xor ecx,eax
5310 xor eax,edi
5311 add edx,DWORD [28+esp]
5312 shrd ecx,ecx,11
5313 and ebx,eax
5314 xor ecx,esi
5315 add edx,DWORD [64+esp]
5316 xor ebx,edi
5317 shrd ecx,ecx,2
5318 add ebx,edx
5319 add edx,DWORD [12+esp]
5320 add ebx,ecx
5321 mov ecx,edx
5322 shrd edx,edx,14
5323 mov esi,DWORD [16+esp]
5324 xor edx,ecx
5325 mov edi,DWORD [20+esp]
5326 xor esi,edi
5327 shrd edx,edx,5
5328 and esi,ecx
5329 mov DWORD [12+esp],ecx
5330 xor edx,ecx
5331 xor edi,esi
5332 shrd edx,edx,6
5333 mov ecx,ebx
5334 add edx,edi
5335 mov edi,DWORD [esp]
5336 mov esi,ebx
5337 shrd ecx,ecx,9
5338 mov DWORD [28+esp],ebx
5339 xor ecx,ebx
5340 xor ebx,edi
5341 add edx,DWORD [24+esp]
5342 shrd ecx,ecx,11
5343 and eax,ebx
5344 xor ecx,esi
5345 add edx,DWORD [68+esp]
5346 xor eax,edi
5347 shrd ecx,ecx,2
5348 add eax,edx
5349 add edx,DWORD [8+esp]
5350 add eax,ecx
5351 mov ecx,edx
5352 shrd edx,edx,14
5353 mov esi,DWORD [12+esp]
5354 xor edx,ecx
5355 mov edi,DWORD [16+esp]
5356 xor esi,edi
5357 shrd edx,edx,5
5358 and esi,ecx
5359 mov DWORD [8+esp],ecx
5360 xor edx,ecx
5361 xor edi,esi
5362 shrd edx,edx,6
5363 mov ecx,eax
5364 add edx,edi
5365 mov edi,DWORD [28+esp]
5366 mov esi,eax
5367 shrd ecx,ecx,9
5368 mov DWORD [24+esp],eax
5369 xor ecx,eax
5370 xor eax,edi
5371 add edx,DWORD [20+esp]
5372 shrd ecx,ecx,11
5373 and ebx,eax
5374 xor ecx,esi
5375 add edx,DWORD [72+esp]
5376 xor ebx,edi
5377 shrd ecx,ecx,2
5378 add ebx,edx
5379 add edx,DWORD [4+esp]
5380 add ebx,ecx
5381 mov ecx,edx
5382 shrd edx,edx,14
5383 mov esi,DWORD [8+esp]
5384 xor edx,ecx
5385 mov edi,DWORD [12+esp]
5386 xor esi,edi
5387 shrd edx,edx,5
5388 and esi,ecx
5389 mov DWORD [4+esp],ecx
5390 xor edx,ecx
5391 xor edi,esi
5392 shrd edx,edx,6
5393 mov ecx,ebx
5394 add edx,edi
5395 mov edi,DWORD [24+esp]
5396 mov esi,ebx
5397 shrd ecx,ecx,9
5398 mov DWORD [20+esp],ebx
5399 xor ecx,ebx
5400 xor ebx,edi
5401 add edx,DWORD [16+esp]
5402 shrd ecx,ecx,11
5403 and eax,ebx
5404 xor ecx,esi
5405 add edx,DWORD [76+esp]
5406 xor eax,edi
5407 shrd ecx,ecx,2
5408 add eax,edx
5409 add edx,DWORD [esp]
5410 add eax,ecx
5411 mov ecx,edx
5412 shrd edx,edx,14
5413 mov esi,DWORD [4+esp]
5414 xor edx,ecx
5415 mov edi,DWORD [8+esp]
5416 xor esi,edi
5417 shrd edx,edx,5
5418 and esi,ecx
5419 mov DWORD [esp],ecx
5420 xor edx,ecx
5421 xor edi,esi
5422 shrd edx,edx,6
5423 mov ecx,eax
5424 add edx,edi
5425 mov edi,DWORD [20+esp]
5426 mov esi,eax
5427 shrd ecx,ecx,9
5428 mov DWORD [16+esp],eax
5429 xor ecx,eax
5430 xor eax,edi
5431 add edx,DWORD [12+esp]
5432 shrd ecx,ecx,11
5433 and ebx,eax
5434 xor ecx,esi
5435 add edx,DWORD [80+esp]
5436 xor ebx,edi
5437 shrd ecx,ecx,2
5438 add ebx,edx
5439 add edx,DWORD [28+esp]
5440 add ebx,ecx
5441 mov ecx,edx
5442 shrd edx,edx,14
5443 mov esi,DWORD [esp]
5444 xor edx,ecx
5445 mov edi,DWORD [4+esp]
5446 xor esi,edi
5447 shrd edx,edx,5
5448 and esi,ecx
5449 mov DWORD [28+esp],ecx
5450 xor edx,ecx
5451 xor edi,esi
5452 shrd edx,edx,6
5453 mov ecx,ebx
5454 add edx,edi
5455 mov edi,DWORD [16+esp]
5456 mov esi,ebx
5457 shrd ecx,ecx,9
5458 mov DWORD [12+esp],ebx
5459 xor ecx,ebx
5460 xor ebx,edi
5461 add edx,DWORD [8+esp]
5462 shrd ecx,ecx,11
5463 and eax,ebx
5464 xor ecx,esi
5465 add edx,DWORD [84+esp]
5466 xor eax,edi
5467 shrd ecx,ecx,2
5468 add eax,edx
5469 add edx,DWORD [24+esp]
5470 add eax,ecx
5471 mov ecx,edx
5472 shrd edx,edx,14
5473 mov esi,DWORD [28+esp]
5474 xor edx,ecx
5475 mov edi,DWORD [esp]
5476 xor esi,edi
5477 shrd edx,edx,5
5478 and esi,ecx
5479 mov DWORD [24+esp],ecx
5480 xor edx,ecx
5481 xor edi,esi
5482 shrd edx,edx,6
5483 mov ecx,eax
5484 add edx,edi
5485 mov edi,DWORD [12+esp]
5486 mov esi,eax
5487 shrd ecx,ecx,9
5488 mov DWORD [8+esp],eax
5489 xor ecx,eax
5490 xor eax,edi
5491 add edx,DWORD [4+esp]
5492 shrd ecx,ecx,11
5493 and ebx,eax
5494 xor ecx,esi
5495 add edx,DWORD [88+esp]
5496 xor ebx,edi
5497 shrd ecx,ecx,2
5498 add ebx,edx
5499 add edx,DWORD [20+esp]
5500 add ebx,ecx
5501 mov ecx,edx
5502 shrd edx,edx,14
5503 mov esi,DWORD [24+esp]
5504 xor edx,ecx
5505 mov edi,DWORD [28+esp]
5506 xor esi,edi
5507 shrd edx,edx,5
5508 and esi,ecx
5509 mov DWORD [20+esp],ecx
5510 xor edx,ecx
5511 xor edi,esi
5512 shrd edx,edx,6
5513 mov ecx,ebx
5514 add edx,edi
5515 mov edi,DWORD [8+esp]
5516 mov esi,ebx
5517 shrd ecx,ecx,9
5518 mov DWORD [4+esp],ebx
5519 xor ecx,ebx
5520 xor ebx,edi
5521 add edx,DWORD [esp]
5522 shrd ecx,ecx,11
5523 and eax,ebx
5524 xor ecx,esi
5525 add edx,DWORD [92+esp]
5526 xor eax,edi
5527 shrd ecx,ecx,2
5528 add eax,edx
5529 add edx,DWORD [16+esp]
5530 add eax,ecx
5531 mov esi,DWORD [96+esp]
5532 xor ebx,edi
5533 mov ecx,DWORD [12+esp]
5534 add eax,DWORD [esi]
5535 add ebx,DWORD [4+esi]
5536 add edi,DWORD [8+esi]
5537 add ecx,DWORD [12+esi]
5538 mov DWORD [esi],eax
5539 mov DWORD [4+esi],ebx
5540 mov DWORD [8+esi],edi
5541 mov DWORD [12+esi],ecx
5542 mov DWORD [4+esp],ebx
5543 xor ebx,edi
5544 mov DWORD [8+esp],edi
5545 mov DWORD [12+esp],ecx
5546 mov edi,DWORD [20+esp]
5547 mov ecx,DWORD [24+esp]
5548 add edx,DWORD [16+esi]
5549 add edi,DWORD [20+esi]
5550 add ecx,DWORD [24+esi]
5551 mov DWORD [16+esi],edx
5552 mov DWORD [20+esi],edi
5553 mov DWORD [20+esp],edi
5554 mov edi,DWORD [28+esp]
5555 mov DWORD [24+esi],ecx
5556 add edi,DWORD [28+esi]
5557 mov DWORD [24+esp],ecx
5558 mov DWORD [28+esi],edi
5559 mov DWORD [28+esp],edi
5560 mov edi,DWORD [100+esp]
5561 vmovdqa xmm7,[64+ebp]
5562 sub ebp,192
5563 cmp edi,DWORD [104+esp]
5564 jb NEAR L$012grand_avx
5565 mov esp,DWORD [108+esp]
5566 vzeroall
5567 pop edi
5568 pop esi
5569 pop ebx
5570 pop ebp
5571 ret
4390 segment .bss 5572 segment .bss
4391 common _OPENSSL_ia32cap_P 16 5573 common _OPENSSL_ia32cap_P 16
OLDNEW
« no previous file with comments | « third_party/boringssl/win-x86/crypto/sha/sha1-586.asm ('k') | third_party/boringssl/win-x86_64/crypto/sha/sha1-x86_64.asm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698