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