VirtualBox

source: vbox/trunk/src/libs/openssl-3.1.3/crypto/genasm-macosx/sha512-586.S@ 102427

Last change on this file since 102427 was 97372, checked in by vboxsync, 2 years ago

libs: Switch to openssl-3.0.7, bugref:10317

File size: 10.2 KB
Line 
1.text
2.globl _sha512_block_data_order
3.align 4
4_sha512_block_data_order:
5L_sha512_block_data_order_begin:
6 #ifdef __CET__
7
8.byte 243,15,30,251
9 #endif
10
11 pushl %ebp
12 pushl %ebx
13 pushl %esi
14 pushl %edi
15 movl 20(%esp),%esi
16 movl 24(%esp),%edi
17 movl 28(%esp),%eax
18 movl %esp,%ebx
19 call L000pic_point
20L000pic_point:
21 popl %ebp
22 leal L001K512-L000pic_point(%ebp),%ebp
23 subl $16,%esp
24 andl $-64,%esp
25 shll $7,%eax
26 addl %edi,%eax
27 movl %esi,(%esp)
28 movl %edi,4(%esp)
29 movl %eax,8(%esp)
30 movl %ebx,12(%esp)
31.align 4,0x90
32L002loop_x86:
33 movl (%edi),%eax
34 movl 4(%edi),%ebx
35 movl 8(%edi),%ecx
36 movl 12(%edi),%edx
37 bswap %eax
38 bswap %ebx
39 bswap %ecx
40 bswap %edx
41 pushl %eax
42 pushl %ebx
43 pushl %ecx
44 pushl %edx
45 movl 16(%edi),%eax
46 movl 20(%edi),%ebx
47 movl 24(%edi),%ecx
48 movl 28(%edi),%edx
49 bswap %eax
50 bswap %ebx
51 bswap %ecx
52 bswap %edx
53 pushl %eax
54 pushl %ebx
55 pushl %ecx
56 pushl %edx
57 movl 32(%edi),%eax
58 movl 36(%edi),%ebx
59 movl 40(%edi),%ecx
60 movl 44(%edi),%edx
61 bswap %eax
62 bswap %ebx
63 bswap %ecx
64 bswap %edx
65 pushl %eax
66 pushl %ebx
67 pushl %ecx
68 pushl %edx
69 movl 48(%edi),%eax
70 movl 52(%edi),%ebx
71 movl 56(%edi),%ecx
72 movl 60(%edi),%edx
73 bswap %eax
74 bswap %ebx
75 bswap %ecx
76 bswap %edx
77 pushl %eax
78 pushl %ebx
79 pushl %ecx
80 pushl %edx
81 movl 64(%edi),%eax
82 movl 68(%edi),%ebx
83 movl 72(%edi),%ecx
84 movl 76(%edi),%edx
85 bswap %eax
86 bswap %ebx
87 bswap %ecx
88 bswap %edx
89 pushl %eax
90 pushl %ebx
91 pushl %ecx
92 pushl %edx
93 movl 80(%edi),%eax
94 movl 84(%edi),%ebx
95 movl 88(%edi),%ecx
96 movl 92(%edi),%edx
97 bswap %eax
98 bswap %ebx
99 bswap %ecx
100 bswap %edx
101 pushl %eax
102 pushl %ebx
103 pushl %ecx
104 pushl %edx
105 movl 96(%edi),%eax
106 movl 100(%edi),%ebx
107 movl 104(%edi),%ecx
108 movl 108(%edi),%edx
109 bswap %eax
110 bswap %ebx
111 bswap %ecx
112 bswap %edx
113 pushl %eax
114 pushl %ebx
115 pushl %ecx
116 pushl %edx
117 movl 112(%edi),%eax
118 movl 116(%edi),%ebx
119 movl 120(%edi),%ecx
120 movl 124(%edi),%edx
121 bswap %eax
122 bswap %ebx
123 bswap %ecx
124 bswap %edx
125 pushl %eax
126 pushl %ebx
127 pushl %ecx
128 pushl %edx
129 addl $128,%edi
130 subl $72,%esp
131 movl %edi,204(%esp)
132 leal 8(%esp),%edi
133 movl $16,%ecx
134.long 2784229001
135.align 4,0x90
136L00300_15_x86:
137 movl 40(%esp),%ecx
138 movl 44(%esp),%edx
139 movl %ecx,%esi
140 shrl $9,%ecx
141 movl %edx,%edi
142 shrl $9,%edx
143 movl %ecx,%ebx
144 shll $14,%esi
145 movl %edx,%eax
146 shll $14,%edi
147 xorl %esi,%ebx
148 shrl $5,%ecx
149 xorl %edi,%eax
150 shrl $5,%edx
151 xorl %ecx,%eax
152 shll $4,%esi
153 xorl %edx,%ebx
154 shll $4,%edi
155 xorl %esi,%ebx
156 shrl $4,%ecx
157 xorl %edi,%eax
158 shrl $4,%edx
159 xorl %ecx,%eax
160 shll $5,%esi
161 xorl %edx,%ebx
162 shll $5,%edi
163 xorl %esi,%eax
164 xorl %edi,%ebx
165 movl 48(%esp),%ecx
166 movl 52(%esp),%edx
167 movl 56(%esp),%esi
168 movl 60(%esp),%edi
169 addl 64(%esp),%eax
170 adcl 68(%esp),%ebx
171 xorl %esi,%ecx
172 xorl %edi,%edx
173 andl 40(%esp),%ecx
174 andl 44(%esp),%edx
175 addl 192(%esp),%eax
176 adcl 196(%esp),%ebx
177 xorl %esi,%ecx
178 xorl %edi,%edx
179 movl (%ebp),%esi
180 movl 4(%ebp),%edi
181 addl %ecx,%eax
182 adcl %edx,%ebx
183 movl 32(%esp),%ecx
184 movl 36(%esp),%edx
185 addl %esi,%eax
186 adcl %edi,%ebx
187 movl %eax,(%esp)
188 movl %ebx,4(%esp)
189 addl %ecx,%eax
190 adcl %edx,%ebx
191 movl 8(%esp),%ecx
192 movl 12(%esp),%edx
193 movl %eax,32(%esp)
194 movl %ebx,36(%esp)
195 movl %ecx,%esi
196 shrl $2,%ecx
197 movl %edx,%edi
198 shrl $2,%edx
199 movl %ecx,%ebx
200 shll $4,%esi
201 movl %edx,%eax
202 shll $4,%edi
203 xorl %esi,%ebx
204 shrl $5,%ecx
205 xorl %edi,%eax
206 shrl $5,%edx
207 xorl %ecx,%ebx
208 shll $21,%esi
209 xorl %edx,%eax
210 shll $21,%edi
211 xorl %esi,%eax
212 shrl $21,%ecx
213 xorl %edi,%ebx
214 shrl $21,%edx
215 xorl %ecx,%eax
216 shll $5,%esi
217 xorl %edx,%ebx
218 shll $5,%edi
219 xorl %esi,%eax
220 xorl %edi,%ebx
221 movl 8(%esp),%ecx
222 movl 12(%esp),%edx
223 movl 16(%esp),%esi
224 movl 20(%esp),%edi
225 addl (%esp),%eax
226 adcl 4(%esp),%ebx
227 orl %esi,%ecx
228 orl %edi,%edx
229 andl 24(%esp),%ecx
230 andl 28(%esp),%edx
231 andl 8(%esp),%esi
232 andl 12(%esp),%edi
233 orl %esi,%ecx
234 orl %edi,%edx
235 addl %ecx,%eax
236 adcl %edx,%ebx
237 movl %eax,(%esp)
238 movl %ebx,4(%esp)
239 movb (%ebp),%dl
240 subl $8,%esp
241 leal 8(%ebp),%ebp
242 cmpb $148,%dl
243 jne L00300_15_x86
244.align 4,0x90
245L00416_79_x86:
246 movl 312(%esp),%ecx
247 movl 316(%esp),%edx
248 movl %ecx,%esi
249 shrl $1,%ecx
250 movl %edx,%edi
251 shrl $1,%edx
252 movl %ecx,%eax
253 shll $24,%esi
254 movl %edx,%ebx
255 shll $24,%edi
256 xorl %esi,%ebx
257 shrl $6,%ecx
258 xorl %edi,%eax
259 shrl $6,%edx
260 xorl %ecx,%eax
261 shll $7,%esi
262 xorl %edx,%ebx
263 shll $1,%edi
264 xorl %esi,%ebx
265 shrl $1,%ecx
266 xorl %edi,%eax
267 shrl $1,%edx
268 xorl %ecx,%eax
269 shll $6,%edi
270 xorl %edx,%ebx
271 xorl %edi,%eax
272 movl %eax,(%esp)
273 movl %ebx,4(%esp)
274 movl 208(%esp),%ecx
275 movl 212(%esp),%edx
276 movl %ecx,%esi
277 shrl $6,%ecx
278 movl %edx,%edi
279 shrl $6,%edx
280 movl %ecx,%eax
281 shll $3,%esi
282 movl %edx,%ebx
283 shll $3,%edi
284 xorl %esi,%eax
285 shrl $13,%ecx
286 xorl %edi,%ebx
287 shrl $13,%edx
288 xorl %ecx,%eax
289 shll $10,%esi
290 xorl %edx,%ebx
291 shll $10,%edi
292 xorl %esi,%ebx
293 shrl $10,%ecx
294 xorl %edi,%eax
295 shrl $10,%edx
296 xorl %ecx,%ebx
297 shll $13,%edi
298 xorl %edx,%eax
299 xorl %edi,%eax
300 movl 320(%esp),%ecx
301 movl 324(%esp),%edx
302 addl (%esp),%eax
303 adcl 4(%esp),%ebx
304 movl 248(%esp),%esi
305 movl 252(%esp),%edi
306 addl %ecx,%eax
307 adcl %edx,%ebx
308 addl %esi,%eax
309 adcl %edi,%ebx
310 movl %eax,192(%esp)
311 movl %ebx,196(%esp)
312 movl 40(%esp),%ecx
313 movl 44(%esp),%edx
314 movl %ecx,%esi
315 shrl $9,%ecx
316 movl %edx,%edi
317 shrl $9,%edx
318 movl %ecx,%ebx
319 shll $14,%esi
320 movl %edx,%eax
321 shll $14,%edi
322 xorl %esi,%ebx
323 shrl $5,%ecx
324 xorl %edi,%eax
325 shrl $5,%edx
326 xorl %ecx,%eax
327 shll $4,%esi
328 xorl %edx,%ebx
329 shll $4,%edi
330 xorl %esi,%ebx
331 shrl $4,%ecx
332 xorl %edi,%eax
333 shrl $4,%edx
334 xorl %ecx,%eax
335 shll $5,%esi
336 xorl %edx,%ebx
337 shll $5,%edi
338 xorl %esi,%eax
339 xorl %edi,%ebx
340 movl 48(%esp),%ecx
341 movl 52(%esp),%edx
342 movl 56(%esp),%esi
343 movl 60(%esp),%edi
344 addl 64(%esp),%eax
345 adcl 68(%esp),%ebx
346 xorl %esi,%ecx
347 xorl %edi,%edx
348 andl 40(%esp),%ecx
349 andl 44(%esp),%edx
350 addl 192(%esp),%eax
351 adcl 196(%esp),%ebx
352 xorl %esi,%ecx
353 xorl %edi,%edx
354 movl (%ebp),%esi
355 movl 4(%ebp),%edi
356 addl %ecx,%eax
357 adcl %edx,%ebx
358 movl 32(%esp),%ecx
359 movl 36(%esp),%edx
360 addl %esi,%eax
361 adcl %edi,%ebx
362 movl %eax,(%esp)
363 movl %ebx,4(%esp)
364 addl %ecx,%eax
365 adcl %edx,%ebx
366 movl 8(%esp),%ecx
367 movl 12(%esp),%edx
368 movl %eax,32(%esp)
369 movl %ebx,36(%esp)
370 movl %ecx,%esi
371 shrl $2,%ecx
372 movl %edx,%edi
373 shrl $2,%edx
374 movl %ecx,%ebx
375 shll $4,%esi
376 movl %edx,%eax
377 shll $4,%edi
378 xorl %esi,%ebx
379 shrl $5,%ecx
380 xorl %edi,%eax
381 shrl $5,%edx
382 xorl %ecx,%ebx
383 shll $21,%esi
384 xorl %edx,%eax
385 shll $21,%edi
386 xorl %esi,%eax
387 shrl $21,%ecx
388 xorl %edi,%ebx
389 shrl $21,%edx
390 xorl %ecx,%eax
391 shll $5,%esi
392 xorl %edx,%ebx
393 shll $5,%edi
394 xorl %esi,%eax
395 xorl %edi,%ebx
396 movl 8(%esp),%ecx
397 movl 12(%esp),%edx
398 movl 16(%esp),%esi
399 movl 20(%esp),%edi
400 addl (%esp),%eax
401 adcl 4(%esp),%ebx
402 orl %esi,%ecx
403 orl %edi,%edx
404 andl 24(%esp),%ecx
405 andl 28(%esp),%edx
406 andl 8(%esp),%esi
407 andl 12(%esp),%edi
408 orl %esi,%ecx
409 orl %edi,%edx
410 addl %ecx,%eax
411 adcl %edx,%ebx
412 movl %eax,(%esp)
413 movl %ebx,4(%esp)
414 movb (%ebp),%dl
415 subl $8,%esp
416 leal 8(%ebp),%ebp
417 cmpb $23,%dl
418 jne L00416_79_x86
419 movl 840(%esp),%esi
420 movl 844(%esp),%edi
421 movl (%esi),%eax
422 movl 4(%esi),%ebx
423 movl 8(%esi),%ecx
424 movl 12(%esi),%edx
425 addl 8(%esp),%eax
426 adcl 12(%esp),%ebx
427 movl %eax,(%esi)
428 movl %ebx,4(%esi)
429 addl 16(%esp),%ecx
430 adcl 20(%esp),%edx
431 movl %ecx,8(%esi)
432 movl %edx,12(%esi)
433 movl 16(%esi),%eax
434 movl 20(%esi),%ebx
435 movl 24(%esi),%ecx
436 movl 28(%esi),%edx
437 addl 24(%esp),%eax
438 adcl 28(%esp),%ebx
439 movl %eax,16(%esi)
440 movl %ebx,20(%esi)
441 addl 32(%esp),%ecx
442 adcl 36(%esp),%edx
443 movl %ecx,24(%esi)
444 movl %edx,28(%esi)
445 movl 32(%esi),%eax
446 movl 36(%esi),%ebx
447 movl 40(%esi),%ecx
448 movl 44(%esi),%edx
449 addl 40(%esp),%eax
450 adcl 44(%esp),%ebx
451 movl %eax,32(%esi)
452 movl %ebx,36(%esi)
453 addl 48(%esp),%ecx
454 adcl 52(%esp),%edx
455 movl %ecx,40(%esi)
456 movl %edx,44(%esi)
457 movl 48(%esi),%eax
458 movl 52(%esi),%ebx
459 movl 56(%esi),%ecx
460 movl 60(%esi),%edx
461 addl 56(%esp),%eax
462 adcl 60(%esp),%ebx
463 movl %eax,48(%esi)
464 movl %ebx,52(%esi)
465 addl 64(%esp),%ecx
466 adcl 68(%esp),%edx
467 movl %ecx,56(%esi)
468 movl %edx,60(%esi)
469 addl $840,%esp
470 subl $640,%ebp
471 cmpl 8(%esp),%edi
472 jb L002loop_x86
473 movl 12(%esp),%esp
474 popl %edi
475 popl %esi
476 popl %ebx
477 popl %ebp
478 ret
479.align 6,0x90
480L001K512:
481.long 3609767458,1116352408
482.long 602891725,1899447441
483.long 3964484399,3049323471
484.long 2173295548,3921009573
485.long 4081628472,961987163
486.long 3053834265,1508970993
487.long 2937671579,2453635748
488.long 3664609560,2870763221
489.long 2734883394,3624381080
490.long 1164996542,310598401
491.long 1323610764,607225278
492.long 3590304994,1426881987
493.long 4068182383,1925078388
494.long 991336113,2162078206
495.long 633803317,2614888103
496.long 3479774868,3248222580
497.long 2666613458,3835390401
498.long 944711139,4022224774
499.long 2341262773,264347078
500.long 2007800933,604807628
501.long 1495990901,770255983
502.long 1856431235,1249150122
503.long 3175218132,1555081692
504.long 2198950837,1996064986
505.long 3999719339,2554220882
506.long 766784016,2821834349
507.long 2566594879,2952996808
508.long 3203337956,3210313671
509.long 1034457026,3336571891
510.long 2466948901,3584528711
511.long 3758326383,113926993
512.long 168717936,338241895
513.long 1188179964,666307205
514.long 1546045734,773529912
515.long 1522805485,1294757372
516.long 2643833823,1396182291
517.long 2343527390,1695183700
518.long 1014477480,1986661051
519.long 1206759142,2177026350
520.long 344077627,2456956037
521.long 1290863460,2730485921
522.long 3158454273,2820302411
523.long 3505952657,3259730800
524.long 106217008,3345764771
525.long 3606008344,3516065817
526.long 1432725776,3600352804
527.long 1467031594,4094571909
528.long 851169720,275423344
529.long 3100823752,430227734
530.long 1363258195,506948616
531.long 3750685593,659060556
532.long 3785050280,883997877
533.long 3318307427,958139571
534.long 3812723403,1322822218
535.long 2003034995,1537002063
536.long 3602036899,1747873779
537.long 1575990012,1955562222
538.long 1125592928,2024104815
539.long 2716904306,2227730452
540.long 442776044,2361852424
541.long 593698344,2428436474
542.long 3733110249,2756734187
543.long 2999351573,3204031479
544.long 3815920427,3329325298
545.long 3928383900,3391569614
546.long 566280711,3515267271
547.long 3454069534,3940187606
548.long 4000239992,4118630271
549.long 1914138554,116418474
550.long 2731055270,174292421
551.long 3203993006,289380356
552.long 320620315,460393269
553.long 587496836,685471733
554.long 1086792851,852142971
555.long 365543100,1017036298
556.long 2618297676,1126000580
557.long 3409855158,1288033470
558.long 4234509866,1501505948
559.long 987167468,1607167915
560.long 1246189591,1816402316
561.long 67438087,66051
562.long 202182159,134810123
563.byte 83,72,65,53,49,50,32,98,108,111,99,107,32,116,114,97
564.byte 110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32
565.byte 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
566.byte 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
567.byte 62,0
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette