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