deps/openssl/asm/x86-elf-gas/sha/sha512-586.s

Summary

Maintainability
Test Coverage
.file    "sha512-586.s"
.text
.globl    sha512_block_data_order
.type    sha512_block_data_order,@function
.align    16
sha512_block_data_order:
.L_sha512_block_data_order_begin:
    pushl    %ebp
    pushl    %ebx
    pushl    %esi
    pushl    %edi
    movl    20(%esp),%esi
    movl    24(%esp),%edi
    movl    28(%esp),%eax
    movl    %esp,%ebx
    call    .L000pic_point
.L000pic_point:
    popl    %ebp
    leal    .L001K512-.L000pic_point(%ebp),%ebp
    subl    $16,%esp
    andl    $-64,%esp
    shll    $7,%eax
    addl    %edi,%eax
    movl    %esi,(%esp)
    movl    %edi,4(%esp)
    movl    %eax,8(%esp)
    movl    %ebx,12(%esp)
.align    16
.L002loop_x86:
    movl    (%edi),%eax
    movl    4(%edi),%ebx
    movl    8(%edi),%ecx
    movl    12(%edi),%edx
    bswap    %eax
    bswap    %ebx
    bswap    %ecx
    bswap    %edx
    pushl    %eax
    pushl    %ebx
    pushl    %ecx
    pushl    %edx
    movl    16(%edi),%eax
    movl    20(%edi),%ebx
    movl    24(%edi),%ecx
    movl    28(%edi),%edx
    bswap    %eax
    bswap    %ebx
    bswap    %ecx
    bswap    %edx
    pushl    %eax
    pushl    %ebx
    pushl    %ecx
    pushl    %edx
    movl    32(%edi),%eax
    movl    36(%edi),%ebx
    movl    40(%edi),%ecx
    movl    44(%edi),%edx
    bswap    %eax
    bswap    %ebx
    bswap    %ecx
    bswap    %edx
    pushl    %eax
    pushl    %ebx
    pushl    %ecx
    pushl    %edx
    movl    48(%edi),%eax
    movl    52(%edi),%ebx
    movl    56(%edi),%ecx
    movl    60(%edi),%edx
    bswap    %eax
    bswap    %ebx
    bswap    %ecx
    bswap    %edx
    pushl    %eax
    pushl    %ebx
    pushl    %ecx
    pushl    %edx
    movl    64(%edi),%eax
    movl    68(%edi),%ebx
    movl    72(%edi),%ecx
    movl    76(%edi),%edx
    bswap    %eax
    bswap    %ebx
    bswap    %ecx
    bswap    %edx
    pushl    %eax
    pushl    %ebx
    pushl    %ecx
    pushl    %edx
    movl    80(%edi),%eax
    movl    84(%edi),%ebx
    movl    88(%edi),%ecx
    movl    92(%edi),%edx
    bswap    %eax
    bswap    %ebx
    bswap    %ecx
    bswap    %edx
    pushl    %eax
    pushl    %ebx
    pushl    %ecx
    pushl    %edx
    movl    96(%edi),%eax
    movl    100(%edi),%ebx
    movl    104(%edi),%ecx
    movl    108(%edi),%edx
    bswap    %eax
    bswap    %ebx
    bswap    %ecx
    bswap    %edx
    pushl    %eax
    pushl    %ebx
    pushl    %ecx
    pushl    %edx
    movl    112(%edi),%eax
    movl    116(%edi),%ebx
    movl    120(%edi),%ecx
    movl    124(%edi),%edx
    bswap    %eax
    bswap    %ebx
    bswap    %ecx
    bswap    %edx
    pushl    %eax
    pushl    %ebx
    pushl    %ecx
    pushl    %edx
    addl    $128,%edi
    subl    $72,%esp
    movl    %edi,204(%esp)
    leal    8(%esp),%edi
    movl    $16,%ecx
.long    2784229001
.align    16
.L00300_15_x86:
    movl    40(%esp),%ecx
    movl    44(%esp),%edx
    movl    %ecx,%esi
    shrl    $9,%ecx
    movl    %edx,%edi
    shrl    $9,%edx
    movl    %ecx,%ebx
    shll    $14,%esi
    movl    %edx,%eax
    shll    $14,%edi
    xorl    %esi,%ebx
    shrl    $5,%ecx
    xorl    %edi,%eax
    shrl    $5,%edx
    xorl    %ecx,%eax
    shll    $4,%esi
    xorl    %edx,%ebx
    shll    $4,%edi
    xorl    %esi,%ebx
    shrl    $4,%ecx
    xorl    %edi,%eax
    shrl    $4,%edx
    xorl    %ecx,%eax
    shll    $5,%esi
    xorl    %edx,%ebx
    shll    $5,%edi
    xorl    %esi,%eax
    xorl    %edi,%ebx
    movl    48(%esp),%ecx
    movl    52(%esp),%edx
    movl    56(%esp),%esi
    movl    60(%esp),%edi
    addl    64(%esp),%eax
    adcl    68(%esp),%ebx
    xorl    %esi,%ecx
    xorl    %edi,%edx
    andl    40(%esp),%ecx
    andl    44(%esp),%edx
    addl    192(%esp),%eax
    adcl    196(%esp),%ebx
    xorl    %esi,%ecx
    xorl    %edi,%edx
    movl    (%ebp),%esi
    movl    4(%ebp),%edi
    addl    %ecx,%eax
    adcl    %edx,%ebx
    movl    32(%esp),%ecx
    movl    36(%esp),%edx
    addl    %esi,%eax
    adcl    %edi,%ebx
    movl    %eax,(%esp)
    movl    %ebx,4(%esp)
    addl    %ecx,%eax
    adcl    %edx,%ebx
    movl    8(%esp),%ecx
    movl    12(%esp),%edx
    movl    %eax,32(%esp)
    movl    %ebx,36(%esp)
    movl    %ecx,%esi
    shrl    $2,%ecx
    movl    %edx,%edi
    shrl    $2,%edx
    movl    %ecx,%ebx
    shll    $4,%esi
    movl    %edx,%eax
    shll    $4,%edi
    xorl    %esi,%ebx
    shrl    $5,%ecx
    xorl    %edi,%eax
    shrl    $5,%edx
    xorl    %ecx,%ebx
    shll    $21,%esi
    xorl    %edx,%eax
    shll    $21,%edi
    xorl    %esi,%eax
    shrl    $21,%ecx
    xorl    %edi,%ebx
    shrl    $21,%edx
    xorl    %ecx,%eax
    shll    $5,%esi
    xorl    %edx,%ebx
    shll    $5,%edi
    xorl    %esi,%eax
    xorl    %edi,%ebx
    movl    8(%esp),%ecx
    movl    12(%esp),%edx
    movl    16(%esp),%esi
    movl    20(%esp),%edi
    addl    (%esp),%eax
    adcl    4(%esp),%ebx
    orl    %esi,%ecx
    orl    %edi,%edx
    andl    24(%esp),%ecx
    andl    28(%esp),%edx
    andl    8(%esp),%esi
    andl    12(%esp),%edi
    orl    %esi,%ecx
    orl    %edi,%edx
    addl    %ecx,%eax
    adcl    %edx,%ebx
    movl    %eax,(%esp)
    movl    %ebx,4(%esp)
    movb    (%ebp),%dl
    subl    $8,%esp
    leal    8(%ebp),%ebp
    cmpb    $148,%dl
    jne    .L00300_15_x86
.align    16
.L00416_79_x86:
    movl    312(%esp),%ecx
    movl    316(%esp),%edx
    movl    %ecx,%esi
    shrl    $1,%ecx
    movl    %edx,%edi
    shrl    $1,%edx
    movl    %ecx,%eax
    shll    $24,%esi
    movl    %edx,%ebx
    shll    $24,%edi
    xorl    %esi,%ebx
    shrl    $6,%ecx
    xorl    %edi,%eax
    shrl    $6,%edx
    xorl    %ecx,%eax
    shll    $7,%esi
    xorl    %edx,%ebx
    shll    $1,%edi
    xorl    %esi,%ebx
    shrl    $1,%ecx
    xorl    %edi,%eax
    shrl    $1,%edx
    xorl    %ecx,%eax
    shll    $6,%edi
    xorl    %edx,%ebx
    xorl    %edi,%eax
    movl    %eax,(%esp)
    movl    %ebx,4(%esp)
    movl    208(%esp),%ecx
    movl    212(%esp),%edx
    movl    %ecx,%esi
    shrl    $6,%ecx
    movl    %edx,%edi
    shrl    $6,%edx
    movl    %ecx,%eax
    shll    $3,%esi
    movl    %edx,%ebx
    shll    $3,%edi
    xorl    %esi,%eax
    shrl    $13,%ecx
    xorl    %edi,%ebx
    shrl    $13,%edx
    xorl    %ecx,%eax
    shll    $10,%esi
    xorl    %edx,%ebx
    shll    $10,%edi
    xorl    %esi,%ebx
    shrl    $10,%ecx
    xorl    %edi,%eax
    shrl    $10,%edx
    xorl    %ecx,%ebx
    shll    $13,%edi
    xorl    %edx,%eax
    xorl    %edi,%eax
    movl    320(%esp),%ecx
    movl    324(%esp),%edx
    addl    (%esp),%eax
    adcl    4(%esp),%ebx
    movl    248(%esp),%esi
    movl    252(%esp),%edi
    addl    %ecx,%eax
    adcl    %edx,%ebx
    addl    %esi,%eax
    adcl    %edi,%ebx
    movl    %eax,192(%esp)
    movl    %ebx,196(%esp)
    movl    40(%esp),%ecx
    movl    44(%esp),%edx
    movl    %ecx,%esi
    shrl    $9,%ecx
    movl    %edx,%edi
    shrl    $9,%edx
    movl    %ecx,%ebx
    shll    $14,%esi
    movl    %edx,%eax
    shll    $14,%edi
    xorl    %esi,%ebx
    shrl    $5,%ecx
    xorl    %edi,%eax
    shrl    $5,%edx
    xorl    %ecx,%eax
    shll    $4,%esi
    xorl    %edx,%ebx
    shll    $4,%edi
    xorl    %esi,%ebx
    shrl    $4,%ecx
    xorl    %edi,%eax
    shrl    $4,%edx
    xorl    %ecx,%eax
    shll    $5,%esi
    xorl    %edx,%ebx
    shll    $5,%edi
    xorl    %esi,%eax
    xorl    %edi,%ebx
    movl    48(%esp),%ecx
    movl    52(%esp),%edx
    movl    56(%esp),%esi
    movl    60(%esp),%edi
    addl    64(%esp),%eax
    adcl    68(%esp),%ebx
    xorl    %esi,%ecx
    xorl    %edi,%edx
    andl    40(%esp),%ecx
    andl    44(%esp),%edx
    addl    192(%esp),%eax
    adcl    196(%esp),%ebx
    xorl    %esi,%ecx
    xorl    %edi,%edx
    movl    (%ebp),%esi
    movl    4(%ebp),%edi
    addl    %ecx,%eax
    adcl    %edx,%ebx
    movl    32(%esp),%ecx
    movl    36(%esp),%edx
    addl    %esi,%eax
    adcl    %edi,%ebx
    movl    %eax,(%esp)
    movl    %ebx,4(%esp)
    addl    %ecx,%eax
    adcl    %edx,%ebx
    movl    8(%esp),%ecx
    movl    12(%esp),%edx
    movl    %eax,32(%esp)
    movl    %ebx,36(%esp)
    movl    %ecx,%esi
    shrl    $2,%ecx
    movl    %edx,%edi
    shrl    $2,%edx
    movl    %ecx,%ebx
    shll    $4,%esi
    movl    %edx,%eax
    shll    $4,%edi
    xorl    %esi,%ebx
    shrl    $5,%ecx
    xorl    %edi,%eax
    shrl    $5,%edx
    xorl    %ecx,%ebx
    shll    $21,%esi
    xorl    %edx,%eax
    shll    $21,%edi
    xorl    %esi,%eax
    shrl    $21,%ecx
    xorl    %edi,%ebx
    shrl    $21,%edx
    xorl    %ecx,%eax
    shll    $5,%esi
    xorl    %edx,%ebx
    shll    $5,%edi
    xorl    %esi,%eax
    xorl    %edi,%ebx
    movl    8(%esp),%ecx
    movl    12(%esp),%edx
    movl    16(%esp),%esi
    movl    20(%esp),%edi
    addl    (%esp),%eax
    adcl    4(%esp),%ebx
    orl    %esi,%ecx
    orl    %edi,%edx
    andl    24(%esp),%ecx
    andl    28(%esp),%edx
    andl    8(%esp),%esi
    andl    12(%esp),%edi
    orl    %esi,%ecx
    orl    %edi,%edx
    addl    %ecx,%eax
    adcl    %edx,%ebx
    movl    %eax,(%esp)
    movl    %ebx,4(%esp)
    movb    (%ebp),%dl
    subl    $8,%esp
    leal    8(%ebp),%ebp
    cmpb    $23,%dl
    jne    .L00416_79_x86
    movl    840(%esp),%esi
    movl    844(%esp),%edi
    movl    (%esi),%eax
    movl    4(%esi),%ebx
    movl    8(%esi),%ecx
    movl    12(%esi),%edx
    addl    8(%esp),%eax
    adcl    12(%esp),%ebx
    movl    %eax,(%esi)
    movl    %ebx,4(%esi)
    addl    16(%esp),%ecx
    adcl    20(%esp),%edx
    movl    %ecx,8(%esi)
    movl    %edx,12(%esi)
    movl    16(%esi),%eax
    movl    20(%esi),%ebx
    movl    24(%esi),%ecx
    movl    28(%esi),%edx
    addl    24(%esp),%eax
    adcl    28(%esp),%ebx
    movl    %eax,16(%esi)
    movl    %ebx,20(%esi)
    addl    32(%esp),%ecx
    adcl    36(%esp),%edx
    movl    %ecx,24(%esi)
    movl    %edx,28(%esi)
    movl    32(%esi),%eax
    movl    36(%esi),%ebx
    movl    40(%esi),%ecx
    movl    44(%esi),%edx
    addl    40(%esp),%eax
    adcl    44(%esp),%ebx
    movl    %eax,32(%esi)
    movl    %ebx,36(%esi)
    addl    48(%esp),%ecx
    adcl    52(%esp),%edx
    movl    %ecx,40(%esi)
    movl    %edx,44(%esi)
    movl    48(%esi),%eax
    movl    52(%esi),%ebx
    movl    56(%esi),%ecx
    movl    60(%esi),%edx
    addl    56(%esp),%eax
    adcl    60(%esp),%ebx
    movl    %eax,48(%esi)
    movl    %ebx,52(%esi)
    addl    64(%esp),%ecx
    adcl    68(%esp),%edx
    movl    %ecx,56(%esi)
    movl    %edx,60(%esi)
    addl    $840,%esp
    subl    $640,%ebp
    cmpl    8(%esp),%edi
    jb    .L002loop_x86
    movl    12(%esp),%esp
    popl    %edi
    popl    %esi
    popl    %ebx
    popl    %ebp
    ret
.align    64
.L001K512:
.long    3609767458,1116352408
.long    602891725,1899447441
.long    3964484399,3049323471
.long    2173295548,3921009573
.long    4081628472,961987163
.long    3053834265,1508970993
.long    2937671579,2453635748
.long    3664609560,2870763221
.long    2734883394,3624381080
.long    1164996542,310598401
.long    1323610764,607225278
.long    3590304994,1426881987
.long    4068182383,1925078388
.long    991336113,2162078206
.long    633803317,2614888103
.long    3479774868,3248222580
.long    2666613458,3835390401
.long    944711139,4022224774
.long    2341262773,264347078
.long    2007800933,604807628
.long    1495990901,770255983
.long    1856431235,1249150122
.long    3175218132,1555081692
.long    2198950837,1996064986
.long    3999719339,2554220882
.long    766784016,2821834349
.long    2566594879,2952996808
.long    3203337956,3210313671
.long    1034457026,3336571891
.long    2466948901,3584528711
.long    3758326383,113926993
.long    168717936,338241895
.long    1188179964,666307205
.long    1546045734,773529912
.long    1522805485,1294757372
.long    2643833823,1396182291
.long    2343527390,1695183700
.long    1014477480,1986661051
.long    1206759142,2177026350
.long    344077627,2456956037
.long    1290863460,2730485921
.long    3158454273,2820302411
.long    3505952657,3259730800
.long    106217008,3345764771
.long    3606008344,3516065817
.long    1432725776,3600352804
.long    1467031594,4094571909
.long    851169720,275423344
.long    3100823752,430227734
.long    1363258195,506948616
.long    3750685593,659060556
.long    3785050280,883997877
.long    3318307427,958139571
.long    3812723403,1322822218
.long    2003034995,1537002063
.long    3602036899,1747873779
.long    1575990012,1955562222
.long    1125592928,2024104815
.long    2716904306,2227730452
.long    442776044,2361852424
.long    593698344,2428436474
.long    3733110249,2756734187
.long    2999351573,3204031479
.long    3815920427,3329325298
.long    3928383900,3391569614
.long    566280711,3515267271
.long    3454069534,3940187606
.long    4000239992,4118630271
.long    1914138554,116418474
.long    2731055270,174292421
.long    3203993006,289380356
.long    320620315,460393269
.long    587496836,685471733
.long    1086792851,852142971
.long    365543100,1017036298
.long    2618297676,1126000580
.long    3409855158,1288033470
.long    4234509866,1501505948
.long    987167468,1607167915
.long    1246189591,1816402316
.size    sha512_block_data_order,.-.L_sha512_block_data_order_begin
.byte    83,72,65,53,49,50,32,98,108,111,99,107,32,116,114,97
.byte    110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32
.byte    67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
.byte    112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
.byte    62,0