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

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

Issue 683113005: Update from chromium https://crrev.com/302282 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 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
« no previous file with comments | « third_party/boringssl/win-x86/crypto/sha/sha256-586.asm ('k') | third_party/libxml/libxml.gyp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 %ifidn __OUTPUT_FORMAT__,obj
2 section code use32 class=code align=64
3 %elifidn __OUTPUT_FORMAT__,win32
4 %ifdef __YASM_VERSION_ID__
5 %if __YASM_VERSION_ID__ < 01010000h
6 %error yasm version 1.1.0 or later needed.
7 %endif
8 ; Yasm automatically includes .00 and complains about redefining it.
9 ; https://www.tortall.net/projects/yasm/manual/html/objfmt-win32-safeseh.html
10 %else
11 $@feat.00 equ 1
12 %endif
13 section .text code align=64
14 %else
15 section .text code
16 %endif
17 global _sha512_block_data_order
18 align 16
19 _sha512_block_data_order:
20 L$_sha512_block_data_order_begin:
21 push ebp
22 push ebx
23 push esi
24 push edi
25 mov esi,DWORD [20+esp]
26 mov edi,DWORD [24+esp]
27 mov eax,DWORD [28+esp]
28 mov ebx,esp
29 call L$000pic_point
30 L$000pic_point:
31 pop ebp
32 lea ebp,[(L$001K512-L$000pic_point)+ebp]
33 sub esp,16
34 and esp,-64
35 shl eax,7
36 add eax,edi
37 mov DWORD [esp],esi
38 mov DWORD [4+esp],edi
39 mov DWORD [8+esp],eax
40 mov DWORD [12+esp],ebx
41 align 16
42 L$002loop_x86:
43 mov eax,DWORD [edi]
44 mov ebx,DWORD [4+edi]
45 mov ecx,DWORD [8+edi]
46 mov edx,DWORD [12+edi]
47 bswap eax
48 bswap ebx
49 bswap ecx
50 bswap edx
51 push eax
52 push ebx
53 push ecx
54 push edx
55 mov eax,DWORD [16+edi]
56 mov ebx,DWORD [20+edi]
57 mov ecx,DWORD [24+edi]
58 mov edx,DWORD [28+edi]
59 bswap eax
60 bswap ebx
61 bswap ecx
62 bswap edx
63 push eax
64 push ebx
65 push ecx
66 push edx
67 mov eax,DWORD [32+edi]
68 mov ebx,DWORD [36+edi]
69 mov ecx,DWORD [40+edi]
70 mov edx,DWORD [44+edi]
71 bswap eax
72 bswap ebx
73 bswap ecx
74 bswap edx
75 push eax
76 push ebx
77 push ecx
78 push edx
79 mov eax,DWORD [48+edi]
80 mov ebx,DWORD [52+edi]
81 mov ecx,DWORD [56+edi]
82 mov edx,DWORD [60+edi]
83 bswap eax
84 bswap ebx
85 bswap ecx
86 bswap edx
87 push eax
88 push ebx
89 push ecx
90 push edx
91 mov eax,DWORD [64+edi]
92 mov ebx,DWORD [68+edi]
93 mov ecx,DWORD [72+edi]
94 mov edx,DWORD [76+edi]
95 bswap eax
96 bswap ebx
97 bswap ecx
98 bswap edx
99 push eax
100 push ebx
101 push ecx
102 push edx
103 mov eax,DWORD [80+edi]
104 mov ebx,DWORD [84+edi]
105 mov ecx,DWORD [88+edi]
106 mov edx,DWORD [92+edi]
107 bswap eax
108 bswap ebx
109 bswap ecx
110 bswap edx
111 push eax
112 push ebx
113 push ecx
114 push edx
115 mov eax,DWORD [96+edi]
116 mov ebx,DWORD [100+edi]
117 mov ecx,DWORD [104+edi]
118 mov edx,DWORD [108+edi]
119 bswap eax
120 bswap ebx
121 bswap ecx
122 bswap edx
123 push eax
124 push ebx
125 push ecx
126 push edx
127 mov eax,DWORD [112+edi]
128 mov ebx,DWORD [116+edi]
129 mov ecx,DWORD [120+edi]
130 mov edx,DWORD [124+edi]
131 bswap eax
132 bswap ebx
133 bswap ecx
134 bswap edx
135 push eax
136 push ebx
137 push ecx
138 push edx
139 add edi,128
140 sub esp,72
141 mov DWORD [204+esp],edi
142 lea edi,[8+esp]
143 mov ecx,16
144 dd 2784229001
145 align 16
146 L$00300_15_x86:
147 mov ecx,DWORD [40+esp]
148 mov edx,DWORD [44+esp]
149 mov esi,ecx
150 shr ecx,9
151 mov edi,edx
152 shr edx,9
153 mov ebx,ecx
154 shl esi,14
155 mov eax,edx
156 shl edi,14
157 xor ebx,esi
158 shr ecx,5
159 xor eax,edi
160 shr edx,5
161 xor eax,ecx
162 shl esi,4
163 xor ebx,edx
164 shl edi,4
165 xor ebx,esi
166 shr ecx,4
167 xor eax,edi
168 shr edx,4
169 xor eax,ecx
170 shl esi,5
171 xor ebx,edx
172 shl edi,5
173 xor eax,esi
174 xor ebx,edi
175 mov ecx,DWORD [48+esp]
176 mov edx,DWORD [52+esp]
177 mov esi,DWORD [56+esp]
178 mov edi,DWORD [60+esp]
179 add eax,DWORD [64+esp]
180 adc ebx,DWORD [68+esp]
181 xor ecx,esi
182 xor edx,edi
183 and ecx,DWORD [40+esp]
184 and edx,DWORD [44+esp]
185 add eax,DWORD [192+esp]
186 adc ebx,DWORD [196+esp]
187 xor ecx,esi
188 xor edx,edi
189 mov esi,DWORD [ebp]
190 mov edi,DWORD [4+ebp]
191 add eax,ecx
192 adc ebx,edx
193 mov ecx,DWORD [32+esp]
194 mov edx,DWORD [36+esp]
195 add eax,esi
196 adc ebx,edi
197 mov DWORD [esp],eax
198 mov DWORD [4+esp],ebx
199 add eax,ecx
200 adc ebx,edx
201 mov ecx,DWORD [8+esp]
202 mov edx,DWORD [12+esp]
203 mov DWORD [32+esp],eax
204 mov DWORD [36+esp],ebx
205 mov esi,ecx
206 shr ecx,2
207 mov edi,edx
208 shr edx,2
209 mov ebx,ecx
210 shl esi,4
211 mov eax,edx
212 shl edi,4
213 xor ebx,esi
214 shr ecx,5
215 xor eax,edi
216 shr edx,5
217 xor ebx,ecx
218 shl esi,21
219 xor eax,edx
220 shl edi,21
221 xor eax,esi
222 shr ecx,21
223 xor ebx,edi
224 shr edx,21
225 xor eax,ecx
226 shl esi,5
227 xor ebx,edx
228 shl edi,5
229 xor eax,esi
230 xor ebx,edi
231 mov ecx,DWORD [8+esp]
232 mov edx,DWORD [12+esp]
233 mov esi,DWORD [16+esp]
234 mov edi,DWORD [20+esp]
235 add eax,DWORD [esp]
236 adc ebx,DWORD [4+esp]
237 or ecx,esi
238 or edx,edi
239 and ecx,DWORD [24+esp]
240 and edx,DWORD [28+esp]
241 and esi,DWORD [8+esp]
242 and edi,DWORD [12+esp]
243 or ecx,esi
244 or edx,edi
245 add eax,ecx
246 adc ebx,edx
247 mov DWORD [esp],eax
248 mov DWORD [4+esp],ebx
249 mov dl,BYTE [ebp]
250 sub esp,8
251 lea ebp,[8+ebp]
252 cmp dl,148
253 jne NEAR L$00300_15_x86
254 align 16
255 L$00416_79_x86:
256 mov ecx,DWORD [312+esp]
257 mov edx,DWORD [316+esp]
258 mov esi,ecx
259 shr ecx,1
260 mov edi,edx
261 shr edx,1
262 mov eax,ecx
263 shl esi,24
264 mov ebx,edx
265 shl edi,24
266 xor ebx,esi
267 shr ecx,6
268 xor eax,edi
269 shr edx,6
270 xor eax,ecx
271 shl esi,7
272 xor ebx,edx
273 shl edi,1
274 xor ebx,esi
275 shr ecx,1
276 xor eax,edi
277 shr edx,1
278 xor eax,ecx
279 shl edi,6
280 xor ebx,edx
281 xor eax,edi
282 mov DWORD [esp],eax
283 mov DWORD [4+esp],ebx
284 mov ecx,DWORD [208+esp]
285 mov edx,DWORD [212+esp]
286 mov esi,ecx
287 shr ecx,6
288 mov edi,edx
289 shr edx,6
290 mov eax,ecx
291 shl esi,3
292 mov ebx,edx
293 shl edi,3
294 xor eax,esi
295 shr ecx,13
296 xor ebx,edi
297 shr edx,13
298 xor eax,ecx
299 shl esi,10
300 xor ebx,edx
301 shl edi,10
302 xor ebx,esi
303 shr ecx,10
304 xor eax,edi
305 shr edx,10
306 xor ebx,ecx
307 shl edi,13
308 xor eax,edx
309 xor eax,edi
310 mov ecx,DWORD [320+esp]
311 mov edx,DWORD [324+esp]
312 add eax,DWORD [esp]
313 adc ebx,DWORD [4+esp]
314 mov esi,DWORD [248+esp]
315 mov edi,DWORD [252+esp]
316 add eax,ecx
317 adc ebx,edx
318 add eax,esi
319 adc ebx,edi
320 mov DWORD [192+esp],eax
321 mov DWORD [196+esp],ebx
322 mov ecx,DWORD [40+esp]
323 mov edx,DWORD [44+esp]
324 mov esi,ecx
325 shr ecx,9
326 mov edi,edx
327 shr edx,9
328 mov ebx,ecx
329 shl esi,14
330 mov eax,edx
331 shl edi,14
332 xor ebx,esi
333 shr ecx,5
334 xor eax,edi
335 shr edx,5
336 xor eax,ecx
337 shl esi,4
338 xor ebx,edx
339 shl edi,4
340 xor ebx,esi
341 shr ecx,4
342 xor eax,edi
343 shr edx,4
344 xor eax,ecx
345 shl esi,5
346 xor ebx,edx
347 shl edi,5
348 xor eax,esi
349 xor ebx,edi
350 mov ecx,DWORD [48+esp]
351 mov edx,DWORD [52+esp]
352 mov esi,DWORD [56+esp]
353 mov edi,DWORD [60+esp]
354 add eax,DWORD [64+esp]
355 adc ebx,DWORD [68+esp]
356 xor ecx,esi
357 xor edx,edi
358 and ecx,DWORD [40+esp]
359 and edx,DWORD [44+esp]
360 add eax,DWORD [192+esp]
361 adc ebx,DWORD [196+esp]
362 xor ecx,esi
363 xor edx,edi
364 mov esi,DWORD [ebp]
365 mov edi,DWORD [4+ebp]
366 add eax,ecx
367 adc ebx,edx
368 mov ecx,DWORD [32+esp]
369 mov edx,DWORD [36+esp]
370 add eax,esi
371 adc ebx,edi
372 mov DWORD [esp],eax
373 mov DWORD [4+esp],ebx
374 add eax,ecx
375 adc ebx,edx
376 mov ecx,DWORD [8+esp]
377 mov edx,DWORD [12+esp]
378 mov DWORD [32+esp],eax
379 mov DWORD [36+esp],ebx
380 mov esi,ecx
381 shr ecx,2
382 mov edi,edx
383 shr edx,2
384 mov ebx,ecx
385 shl esi,4
386 mov eax,edx
387 shl edi,4
388 xor ebx,esi
389 shr ecx,5
390 xor eax,edi
391 shr edx,5
392 xor ebx,ecx
393 shl esi,21
394 xor eax,edx
395 shl edi,21
396 xor eax,esi
397 shr ecx,21
398 xor ebx,edi
399 shr edx,21
400 xor eax,ecx
401 shl esi,5
402 xor ebx,edx
403 shl edi,5
404 xor eax,esi
405 xor ebx,edi
406 mov ecx,DWORD [8+esp]
407 mov edx,DWORD [12+esp]
408 mov esi,DWORD [16+esp]
409 mov edi,DWORD [20+esp]
410 add eax,DWORD [esp]
411 adc ebx,DWORD [4+esp]
412 or ecx,esi
413 or edx,edi
414 and ecx,DWORD [24+esp]
415 and edx,DWORD [28+esp]
416 and esi,DWORD [8+esp]
417 and edi,DWORD [12+esp]
418 or ecx,esi
419 or edx,edi
420 add eax,ecx
421 adc ebx,edx
422 mov DWORD [esp],eax
423 mov DWORD [4+esp],ebx
424 mov dl,BYTE [ebp]
425 sub esp,8
426 lea ebp,[8+ebp]
427 cmp dl,23
428 jne NEAR L$00416_79_x86
429 mov esi,DWORD [840+esp]
430 mov edi,DWORD [844+esp]
431 mov eax,DWORD [esi]
432 mov ebx,DWORD [4+esi]
433 mov ecx,DWORD [8+esi]
434 mov edx,DWORD [12+esi]
435 add eax,DWORD [8+esp]
436 adc ebx,DWORD [12+esp]
437 mov DWORD [esi],eax
438 mov DWORD [4+esi],ebx
439 add ecx,DWORD [16+esp]
440 adc edx,DWORD [20+esp]
441 mov DWORD [8+esi],ecx
442 mov DWORD [12+esi],edx
443 mov eax,DWORD [16+esi]
444 mov ebx,DWORD [20+esi]
445 mov ecx,DWORD [24+esi]
446 mov edx,DWORD [28+esi]
447 add eax,DWORD [24+esp]
448 adc ebx,DWORD [28+esp]
449 mov DWORD [16+esi],eax
450 mov DWORD [20+esi],ebx
451 add ecx,DWORD [32+esp]
452 adc edx,DWORD [36+esp]
453 mov DWORD [24+esi],ecx
454 mov DWORD [28+esi],edx
455 mov eax,DWORD [32+esi]
456 mov ebx,DWORD [36+esi]
457 mov ecx,DWORD [40+esi]
458 mov edx,DWORD [44+esi]
459 add eax,DWORD [40+esp]
460 adc ebx,DWORD [44+esp]
461 mov DWORD [32+esi],eax
462 mov DWORD [36+esi],ebx
463 add ecx,DWORD [48+esp]
464 adc edx,DWORD [52+esp]
465 mov DWORD [40+esi],ecx
466 mov DWORD [44+esi],edx
467 mov eax,DWORD [48+esi]
468 mov ebx,DWORD [52+esi]
469 mov ecx,DWORD [56+esi]
470 mov edx,DWORD [60+esi]
471 add eax,DWORD [56+esp]
472 adc ebx,DWORD [60+esp]
473 mov DWORD [48+esi],eax
474 mov DWORD [52+esi],ebx
475 add ecx,DWORD [64+esp]
476 adc edx,DWORD [68+esp]
477 mov DWORD [56+esi],ecx
478 mov DWORD [60+esi],edx
479 add esp,840
480 sub ebp,640
481 cmp edi,DWORD [8+esp]
482 jb NEAR L$002loop_x86
483 mov esp,DWORD [12+esp]
484 pop edi
485 pop esi
486 pop ebx
487 pop ebp
488 ret
489 align 64
490 L$001K512:
491 dd 3609767458,1116352408
492 dd 602891725,1899447441
493 dd 3964484399,3049323471
494 dd 2173295548,3921009573
495 dd 4081628472,961987163
496 dd 3053834265,1508970993
497 dd 2937671579,2453635748
498 dd 3664609560,2870763221
499 dd 2734883394,3624381080
500 dd 1164996542,310598401
501 dd 1323610764,607225278
502 dd 3590304994,1426881987
503 dd 4068182383,1925078388
504 dd 991336113,2162078206
505 dd 633803317,2614888103
506 dd 3479774868,3248222580
507 dd 2666613458,3835390401
508 dd 944711139,4022224774
509 dd 2341262773,264347078
510 dd 2007800933,604807628
511 dd 1495990901,770255983
512 dd 1856431235,1249150122
513 dd 3175218132,1555081692
514 dd 2198950837,1996064986
515 dd 3999719339,2554220882
516 dd 766784016,2821834349
517 dd 2566594879,2952996808
518 dd 3203337956,3210313671
519 dd 1034457026,3336571891
520 dd 2466948901,3584528711
521 dd 3758326383,113926993
522 dd 168717936,338241895
523 dd 1188179964,666307205
524 dd 1546045734,773529912
525 dd 1522805485,1294757372
526 dd 2643833823,1396182291
527 dd 2343527390,1695183700
528 dd 1014477480,1986661051
529 dd 1206759142,2177026350
530 dd 344077627,2456956037
531 dd 1290863460,2730485921
532 dd 3158454273,2820302411
533 dd 3505952657,3259730800
534 dd 106217008,3345764771
535 dd 3606008344,3516065817
536 dd 1432725776,3600352804
537 dd 1467031594,4094571909
538 dd 851169720,275423344
539 dd 3100823752,430227734
540 dd 1363258195,506948616
541 dd 3750685593,659060556
542 dd 3785050280,883997877
543 dd 3318307427,958139571
544 dd 3812723403,1322822218
545 dd 2003034995,1537002063
546 dd 3602036899,1747873779
547 dd 1575990012,1955562222
548 dd 1125592928,2024104815
549 dd 2716904306,2227730452
550 dd 442776044,2361852424
551 dd 593698344,2428436474
552 dd 3733110249,2756734187
553 dd 2999351573,3204031479
554 dd 3815920427,3329325298
555 dd 3928383900,3391569614
556 dd 566280711,3515267271
557 dd 3454069534,3940187606
558 dd 4000239992,4118630271
559 dd 1914138554,116418474
560 dd 2731055270,174292421
561 dd 3203993006,289380356
562 dd 320620315,460393269
563 dd 587496836,685471733
564 dd 1086792851,852142971
565 dd 365543100,1017036298
566 dd 2618297676,1126000580
567 dd 3409855158,1288033470
568 dd 4234509866,1501505948
569 dd 987167468,1607167915
570 dd 1246189591,1816402316
571 dd 67438087,66051
572 dd 202182159,134810123
573 db 83,72,65,53,49,50,32,98,108,111,99,107,32,116,114,97
574 db 110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32
575 db 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
576 db 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
577 db 62,0
OLDNEW
« no previous file with comments | « third_party/boringssl/win-x86/crypto/sha/sha256-586.asm ('k') | third_party/libxml/libxml.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698