3 .globl __sha512_init_ctx
4 .type __sha512_init_ctx, @function
6 movabsq $
7640891576956012808, %rax
10 movabsq $
-4942790177534073029, %rax
13 movabsq $
4354685564936845355, %rax
15 movabsq $
-6534734903238641935, %rax
17 movabsq $
5840696475078001361, %rax
19 movabsq $
-7276294671716946913, %rax
21 movabsq $
2270897969802886507, %rax
23 movabsq $
6620516959819538809, %rax
26 .size __sha512_init_ctx, .-__sha512_init_ctx
28 .globl __sha512_process_block
29 .type __sha512_process_block, @function
30 __sha512_process_block
:
77 movq
(%rcx
,%rax
), %rdx
79 movq
%rdx
, (%r14,%rax
)
113 movq
-120(%rsp
), %rax
116 movq
-112(%rsp
), %rbp
118 movabsq $
4794697086780616226, %r12
119 movq
-104(%rsp
), %r13
128 movq
(%r15,%r9), %r12
155 addq
(%r14,%r9), %rax
172 leaq
(%rax
,%r13), %rcx
179 addq
%r10, -104(%rsp
)
181 addq
%rdi
, -112(%rsp
)
183 addq
%rbx
, -120(%rsp
)
194 movq
-104(%rsp
), %rbx
198 movq
-112(%rsp
), %rbx
202 movq
-120(%rsp
), %rbx
212 .size __sha512_process_block, .-__sha512_process_block
214 .globl __sha512_finish_ctx
215 .type __sha512_finish_ctx, @function
236 leaq
88(%rbx
,%rax
), %rdi
237 leaq fillbuf
(%rip
), %rsi
242 leaq
0(,%rdx
,8), %rax
245 movq
%rax
, 88(%rbx
,%r14,8)
251 movq
%rax
, 88(%rbx
,%r13,8)
252 call __sha512_process_block
257 movq
(%rbx
,%rax
), %rdx
259 movq
%rdx
, 0(%rbp
,%rax
)
279 .size __sha512_finish_ctx, .-__sha512_finish_ctx
281 .globl __sha512_process_bytes
282 .type __sha512_process_bytes, @function
283 __sha512_process_bytes
:
316 leaq
88(%rbp
,%r8), %rdx
350 call __sha512_process_block
356 leaq
88(%rdx
,%r14), %rdi
381 movq
-8(%r12,%rax
), %rcx
382 movq
%rcx
, -8(%rdx
,%rax
)
384 leal
(%rbx
,%rdx
), %ecx
397 call __sha512_process_block
412 call __sha512_process_block
414 leaq
88(%rbp
,%r14), %rsi
428 movzwl
-2(%rsi
,%rax
), %edx
429 movw
%dx
, -2(%r15,%rax
)
439 movq
-8(%rsi
,%rdx
), %rcx
440 movq
%rcx
, -8(%r15,%rdx
)
442 leal
(%rax
,%r15), %ecx
453 movl
-4(%rsi
,%rax
), %edx
454 movl
%edx
, -4(%r15,%rax
)
462 movl
-4(%r12,%rax
), %ecx
463 movl
%ecx
, -4(%rdx
,%rax
)
467 movzwl
-2(%r12,%rax
), %ecx
468 movw
%cx
, -2(%rdx
,%rax
)
470 .size __sha512_process_bytes, .-__sha512_process_bytes
476 .quad 4794697086780616226
477 .quad 8158064640168781261
478 .quad -5349999486874862801
479 .quad -1606136188198331460
480 .quad 4131703408338449720
481 .quad 6480981068601479193
482 .quad -7908458776815382629
483 .quad -6116909921290321640
484 .quad -2880145864133508542
485 .quad 1334009975649890238
486 .quad 2608012711638119052
487 .quad 6128411473006802146
488 .quad 8268148722764581231
489 .quad -9160688886553864527
490 .quad -7215885187991268811
491 .quad -4495734319001033068
492 .quad -1973867731355612462
493 .quad -1171420211273849373
494 .quad 1135362057144423861
495 .quad 2597628984639134821
496 .quad 3308224258029322869
497 .quad 5365058923640841347
498 .quad 6679025012923562964
499 .quad 8573033837759648693
500 .quad -7476448914759557205
501 .quad -6327057829258317296
502 .quad -5763719355590565569
503 .quad -4658551843659510044
504 .quad -4116276920077217854
505 .quad -3051310485924567259
506 .quad 489312712824947311
507 .quad 1452737877330783856
508 .quad 2861767655752347644
509 .quad 3322285676063803686
510 .quad 5560940570517711597
511 .quad 5996557281743188959
512 .quad 7280758554555802590
513 .quad 8532644243296465576
514 .quad -9096487096722542874
515 .quad -7894198246740708037
516 .quad -6719396339535248540
517 .quad -6333637450476146687
518 .quad -4446306890439682159
519 .quad -4076793802049405392
520 .quad -3345356375505022440
521 .quad -2983346525034927856
522 .quad -860691631967231958
523 .quad 1182934255886127544
524 .quad 1847814050463011016
525 .quad 2177327727835720531
526 .quad 2830643537854262169
527 .quad 3796741975233480872
528 .quad 4115178125766777443
529 .quad 5681478168544905931
530 .quad 6601373596472566643
531 .quad 7507060721942968483
532 .quad 8399075790359081724
533 .quad 8693463985226723168
534 .quad -8878714635349349518
535 .quad -8302665154208450068
536 .quad -8016688836872298968
537 .quad -6606660893046293015
538 .quad -4685533653050689259
539 .quad -4147400797238176981
540 .quad -3880063495543823972
541 .quad -3348786107499101689
542 .quad -1523767162380948706
543 .quad -757361751448694408
544 .quad 500013540394364858
545 .quad 748580250866718886
546 .quad 1242879168328830382
547 .quad 1977374033974150939
548 .quad 2944078676154940804
549 .quad 3659926193048069267
550 .quad 4368137639120453308
551 .quad 4836135668995329356
552 .quad 5532061633213252278
553 .quad 6448918945643986474
554 .quad 6902733635092675308
555 .quad 7801388544844847127
557 .type fillbuf, @object