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