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