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