1238405Sjkim # $FreeBSD$ 2238405Sjkim.file "sha512-586.s" 3238405Sjkim.text 4238405Sjkim.globl sha512_block_data_order 5238405Sjkim.type sha512_block_data_order,@function 6238405Sjkim.align 16 7238405Sjkimsha512_block_data_order: 8238405Sjkim.L_sha512_block_data_order_begin: 9238405Sjkim pushl %ebp 10238405Sjkim pushl %ebx 11238405Sjkim pushl %esi 12238405Sjkim pushl %edi 13238405Sjkim movl 20(%esp),%esi 14238405Sjkim movl 24(%esp),%edi 15238405Sjkim movl 28(%esp),%eax 16238405Sjkim movl %esp,%ebx 17238405Sjkim call .L000pic_point 18238405Sjkim.L000pic_point: 19238405Sjkim popl %ebp 20238405Sjkim leal .L001K512-.L000pic_point(%ebp),%ebp 21238405Sjkim subl $16,%esp 22238405Sjkim andl $-64,%esp 23238405Sjkim shll $7,%eax 24238405Sjkim addl %edi,%eax 25238405Sjkim movl %esi,(%esp) 26238405Sjkim movl %edi,4(%esp) 27238405Sjkim movl %eax,8(%esp) 28238405Sjkim movl %ebx,12(%esp) 29238405Sjkim leal OPENSSL_ia32cap_P,%edx 30238405Sjkim btl $26,(%edx) 31238405Sjkim jnc .L002loop_x86 32238405Sjkim movq (%esi),%mm0 33238405Sjkim movq 8(%esi),%mm1 34238405Sjkim movq 16(%esi),%mm2 35238405Sjkim movq 24(%esi),%mm3 36238405Sjkim movq 32(%esi),%mm4 37238405Sjkim movq 40(%esi),%mm5 38238405Sjkim movq 48(%esi),%mm6 39238405Sjkim movq 56(%esi),%mm7 40238405Sjkim subl $80,%esp 41238405Sjkim.align 16 42238405Sjkim.L003loop_sse2: 43238405Sjkim movq %mm1,8(%esp) 44238405Sjkim movq %mm2,16(%esp) 45238405Sjkim movq %mm3,24(%esp) 46238405Sjkim movq %mm5,40(%esp) 47238405Sjkim movq %mm6,48(%esp) 48238405Sjkim movq %mm7,56(%esp) 49238405Sjkim movl (%edi),%ecx 50238405Sjkim movl 4(%edi),%edx 51238405Sjkim addl $8,%edi 52238405Sjkim bswap %ecx 53238405Sjkim bswap %edx 54238405Sjkim movl %ecx,76(%esp) 55238405Sjkim movl %edx,72(%esp) 56238405Sjkim.align 16 57238405Sjkim.L00400_14_sse2: 58238405Sjkim movl (%edi),%eax 59238405Sjkim movl 4(%edi),%ebx 60238405Sjkim addl $8,%edi 61238405Sjkim bswap %eax 62238405Sjkim bswap %ebx 63238405Sjkim movl %eax,68(%esp) 64238405Sjkim movl %ebx,64(%esp) 65238405Sjkim movq 40(%esp),%mm5 66238405Sjkim movq 48(%esp),%mm6 67238405Sjkim movq 56(%esp),%mm7 68238405Sjkim movq %mm4,%mm1 69238405Sjkim movq %mm4,%mm2 70238405Sjkim psrlq $14,%mm1 71238405Sjkim movq %mm4,32(%esp) 72238405Sjkim psllq $23,%mm2 73238405Sjkim movq %mm1,%mm3 74238405Sjkim psrlq $4,%mm1 75238405Sjkim pxor %mm2,%mm3 76238405Sjkim psllq $23,%mm2 77238405Sjkim pxor %mm1,%mm3 78238405Sjkim psrlq $23,%mm1 79238405Sjkim pxor %mm2,%mm3 80238405Sjkim psllq $4,%mm2 81238405Sjkim pxor %mm1,%mm3 82238405Sjkim paddq (%ebp),%mm7 83238405Sjkim pxor %mm2,%mm3 84238405Sjkim pxor %mm6,%mm5 85238405Sjkim movq 8(%esp),%mm1 86238405Sjkim pand %mm4,%mm5 87238405Sjkim movq 16(%esp),%mm2 88238405Sjkim pxor %mm6,%mm5 89238405Sjkim movq 24(%esp),%mm4 90238405Sjkim paddq %mm5,%mm3 91238405Sjkim movq %mm0,(%esp) 92238405Sjkim paddq %mm7,%mm3 93238405Sjkim movq %mm0,%mm5 94238405Sjkim movq %mm0,%mm6 95238405Sjkim paddq 72(%esp),%mm3 96238405Sjkim psrlq $28,%mm5 97238405Sjkim paddq %mm3,%mm4 98238405Sjkim psllq $25,%mm6 99238405Sjkim movq %mm5,%mm7 100238405Sjkim psrlq $6,%mm5 101238405Sjkim pxor %mm6,%mm7 102238405Sjkim psllq $5,%mm6 103238405Sjkim pxor %mm5,%mm7 104238405Sjkim psrlq $5,%mm5 105238405Sjkim pxor %mm6,%mm7 106238405Sjkim psllq $6,%mm6 107238405Sjkim pxor %mm5,%mm7 108238405Sjkim subl $8,%esp 109238405Sjkim pxor %mm6,%mm7 110238405Sjkim movq %mm0,%mm5 111238405Sjkim por %mm2,%mm0 112238405Sjkim pand %mm2,%mm5 113238405Sjkim pand %mm1,%mm0 114238405Sjkim por %mm0,%mm5 115238405Sjkim paddq %mm5,%mm7 116238405Sjkim movq %mm3,%mm0 117238405Sjkim movb (%ebp),%dl 118238405Sjkim paddq %mm7,%mm0 119238405Sjkim addl $8,%ebp 120238405Sjkim cmpb $53,%dl 121238405Sjkim jne .L00400_14_sse2 122238405Sjkim movq 40(%esp),%mm5 123238405Sjkim movq 48(%esp),%mm6 124238405Sjkim movq 56(%esp),%mm7 125238405Sjkim movq %mm4,%mm1 126238405Sjkim movq %mm4,%mm2 127238405Sjkim psrlq $14,%mm1 128238405Sjkim movq %mm4,32(%esp) 129238405Sjkim psllq $23,%mm2 130238405Sjkim movq %mm1,%mm3 131238405Sjkim psrlq $4,%mm1 132238405Sjkim pxor %mm2,%mm3 133238405Sjkim psllq $23,%mm2 134238405Sjkim pxor %mm1,%mm3 135238405Sjkim psrlq $23,%mm1 136238405Sjkim pxor %mm2,%mm3 137238405Sjkim psllq $4,%mm2 138238405Sjkim pxor %mm1,%mm3 139238405Sjkim paddq (%ebp),%mm7 140238405Sjkim pxor %mm2,%mm3 141238405Sjkim pxor %mm6,%mm5 142238405Sjkim movq 8(%esp),%mm1 143238405Sjkim pand %mm4,%mm5 144238405Sjkim movq 16(%esp),%mm2 145238405Sjkim pxor %mm6,%mm5 146238405Sjkim movq 24(%esp),%mm4 147238405Sjkim paddq %mm5,%mm3 148238405Sjkim movq %mm0,(%esp) 149238405Sjkim paddq %mm7,%mm3 150238405Sjkim movq %mm0,%mm5 151238405Sjkim movq %mm0,%mm6 152238405Sjkim paddq 72(%esp),%mm3 153238405Sjkim psrlq $28,%mm5 154238405Sjkim paddq %mm3,%mm4 155238405Sjkim psllq $25,%mm6 156238405Sjkim movq %mm5,%mm7 157238405Sjkim psrlq $6,%mm5 158238405Sjkim pxor %mm6,%mm7 159238405Sjkim psllq $5,%mm6 160238405Sjkim pxor %mm5,%mm7 161238405Sjkim psrlq $5,%mm5 162238405Sjkim pxor %mm6,%mm7 163238405Sjkim psllq $6,%mm6 164238405Sjkim pxor %mm5,%mm7 165238405Sjkim subl $8,%esp 166238405Sjkim pxor %mm6,%mm7 167238405Sjkim movq %mm0,%mm5 168238405Sjkim por %mm2,%mm0 169238405Sjkim movq 88(%esp),%mm6 170238405Sjkim pand %mm2,%mm5 171238405Sjkim pand %mm1,%mm0 172238405Sjkim movq 192(%esp),%mm2 173238405Sjkim por %mm0,%mm5 174238405Sjkim paddq %mm5,%mm7 175238405Sjkim movq %mm3,%mm0 176238405Sjkim movb (%ebp),%dl 177238405Sjkim paddq %mm7,%mm0 178238405Sjkim addl $8,%ebp 179238405Sjkim.align 16 180238405Sjkim.L00516_79_sse2: 181238405Sjkim movq %mm2,%mm1 182238405Sjkim psrlq $1,%mm2 183238405Sjkim movq %mm6,%mm7 184238405Sjkim psrlq $6,%mm6 185238405Sjkim movq %mm2,%mm3 186238405Sjkim psrlq $6,%mm2 187238405Sjkim movq %mm6,%mm5 188238405Sjkim psrlq $13,%mm6 189238405Sjkim pxor %mm2,%mm3 190238405Sjkim psrlq $1,%mm2 191238405Sjkim pxor %mm6,%mm5 192238405Sjkim psrlq $42,%mm6 193238405Sjkim pxor %mm2,%mm3 194238405Sjkim movq 200(%esp),%mm2 195238405Sjkim psllq $56,%mm1 196238405Sjkim pxor %mm6,%mm5 197238405Sjkim psllq $3,%mm7 198238405Sjkim pxor %mm1,%mm3 199238405Sjkim paddq 128(%esp),%mm2 200238405Sjkim psllq $7,%mm1 201238405Sjkim pxor %mm7,%mm5 202238405Sjkim psllq $42,%mm7 203238405Sjkim pxor %mm1,%mm3 204238405Sjkim pxor %mm7,%mm5 205238405Sjkim paddq %mm5,%mm3 206238405Sjkim paddq %mm2,%mm3 207238405Sjkim movq %mm3,72(%esp) 208238405Sjkim movq 40(%esp),%mm5 209238405Sjkim movq 48(%esp),%mm6 210238405Sjkim movq 56(%esp),%mm7 211238405Sjkim movq %mm4,%mm1 212238405Sjkim movq %mm4,%mm2 213238405Sjkim psrlq $14,%mm1 214238405Sjkim movq %mm4,32(%esp) 215238405Sjkim psllq $23,%mm2 216238405Sjkim movq %mm1,%mm3 217238405Sjkim psrlq $4,%mm1 218238405Sjkim pxor %mm2,%mm3 219238405Sjkim psllq $23,%mm2 220238405Sjkim pxor %mm1,%mm3 221238405Sjkim psrlq $23,%mm1 222238405Sjkim pxor %mm2,%mm3 223238405Sjkim psllq $4,%mm2 224238405Sjkim pxor %mm1,%mm3 225238405Sjkim paddq (%ebp),%mm7 226238405Sjkim pxor %mm2,%mm3 227238405Sjkim pxor %mm6,%mm5 228238405Sjkim movq 8(%esp),%mm1 229238405Sjkim pand %mm4,%mm5 230238405Sjkim movq 16(%esp),%mm2 231238405Sjkim pxor %mm6,%mm5 232238405Sjkim movq 24(%esp),%mm4 233238405Sjkim paddq %mm5,%mm3 234238405Sjkim movq %mm0,(%esp) 235238405Sjkim paddq %mm7,%mm3 236238405Sjkim movq %mm0,%mm5 237238405Sjkim movq %mm0,%mm6 238238405Sjkim paddq 72(%esp),%mm3 239238405Sjkim psrlq $28,%mm5 240238405Sjkim paddq %mm3,%mm4 241238405Sjkim psllq $25,%mm6 242238405Sjkim movq %mm5,%mm7 243238405Sjkim psrlq $6,%mm5 244238405Sjkim pxor %mm6,%mm7 245238405Sjkim psllq $5,%mm6 246238405Sjkim pxor %mm5,%mm7 247238405Sjkim psrlq $5,%mm5 248238405Sjkim pxor %mm6,%mm7 249238405Sjkim psllq $6,%mm6 250238405Sjkim pxor %mm5,%mm7 251238405Sjkim subl $8,%esp 252238405Sjkim pxor %mm6,%mm7 253238405Sjkim movq %mm0,%mm5 254238405Sjkim por %mm2,%mm0 255238405Sjkim movq 88(%esp),%mm6 256238405Sjkim pand %mm2,%mm5 257238405Sjkim pand %mm1,%mm0 258238405Sjkim movq 192(%esp),%mm2 259238405Sjkim por %mm0,%mm5 260238405Sjkim paddq %mm5,%mm7 261238405Sjkim movq %mm3,%mm0 262238405Sjkim movb (%ebp),%dl 263238405Sjkim paddq %mm7,%mm0 264238405Sjkim addl $8,%ebp 265238405Sjkim cmpb $23,%dl 266238405Sjkim jne .L00516_79_sse2 267238405Sjkim movq 8(%esp),%mm1 268238405Sjkim movq 16(%esp),%mm2 269238405Sjkim movq 24(%esp),%mm3 270238405Sjkim movq 40(%esp),%mm5 271238405Sjkim movq 48(%esp),%mm6 272238405Sjkim movq 56(%esp),%mm7 273238405Sjkim paddq (%esi),%mm0 274238405Sjkim paddq 8(%esi),%mm1 275238405Sjkim paddq 16(%esi),%mm2 276238405Sjkim paddq 24(%esi),%mm3 277238405Sjkim paddq 32(%esi),%mm4 278238405Sjkim paddq 40(%esi),%mm5 279238405Sjkim paddq 48(%esi),%mm6 280238405Sjkim paddq 56(%esi),%mm7 281238405Sjkim movq %mm0,(%esi) 282238405Sjkim movq %mm1,8(%esi) 283238405Sjkim movq %mm2,16(%esi) 284238405Sjkim movq %mm3,24(%esi) 285238405Sjkim movq %mm4,32(%esi) 286238405Sjkim movq %mm5,40(%esi) 287238405Sjkim movq %mm6,48(%esi) 288238405Sjkim movq %mm7,56(%esi) 289238405Sjkim addl $640,%esp 290238405Sjkim subl $640,%ebp 291238405Sjkim cmpl 88(%esp),%edi 292238405Sjkim jb .L003loop_sse2 293238405Sjkim emms 294238405Sjkim movl 92(%esp),%esp 295238405Sjkim popl %edi 296238405Sjkim popl %esi 297238405Sjkim popl %ebx 298238405Sjkim popl %ebp 299238405Sjkim ret 300238405Sjkim.align 16 301238405Sjkim.L002loop_x86: 302238405Sjkim movl (%edi),%eax 303238405Sjkim movl 4(%edi),%ebx 304238405Sjkim movl 8(%edi),%ecx 305238405Sjkim movl 12(%edi),%edx 306238405Sjkim bswap %eax 307238405Sjkim bswap %ebx 308238405Sjkim bswap %ecx 309238405Sjkim bswap %edx 310238405Sjkim pushl %eax 311238405Sjkim pushl %ebx 312238405Sjkim pushl %ecx 313238405Sjkim pushl %edx 314238405Sjkim movl 16(%edi),%eax 315238405Sjkim movl 20(%edi),%ebx 316238405Sjkim movl 24(%edi),%ecx 317238405Sjkim movl 28(%edi),%edx 318238405Sjkim bswap %eax 319238405Sjkim bswap %ebx 320238405Sjkim bswap %ecx 321238405Sjkim bswap %edx 322238405Sjkim pushl %eax 323238405Sjkim pushl %ebx 324238405Sjkim pushl %ecx 325238405Sjkim pushl %edx 326238405Sjkim movl 32(%edi),%eax 327238405Sjkim movl 36(%edi),%ebx 328238405Sjkim movl 40(%edi),%ecx 329238405Sjkim movl 44(%edi),%edx 330238405Sjkim bswap %eax 331238405Sjkim bswap %ebx 332238405Sjkim bswap %ecx 333238405Sjkim bswap %edx 334238405Sjkim pushl %eax 335238405Sjkim pushl %ebx 336238405Sjkim pushl %ecx 337238405Sjkim pushl %edx 338238405Sjkim movl 48(%edi),%eax 339238405Sjkim movl 52(%edi),%ebx 340238405Sjkim movl 56(%edi),%ecx 341238405Sjkim movl 60(%edi),%edx 342238405Sjkim bswap %eax 343238405Sjkim bswap %ebx 344238405Sjkim bswap %ecx 345238405Sjkim bswap %edx 346238405Sjkim pushl %eax 347238405Sjkim pushl %ebx 348238405Sjkim pushl %ecx 349238405Sjkim pushl %edx 350238405Sjkim movl 64(%edi),%eax 351238405Sjkim movl 68(%edi),%ebx 352238405Sjkim movl 72(%edi),%ecx 353238405Sjkim movl 76(%edi),%edx 354238405Sjkim bswap %eax 355238405Sjkim bswap %ebx 356238405Sjkim bswap %ecx 357238405Sjkim bswap %edx 358238405Sjkim pushl %eax 359238405Sjkim pushl %ebx 360238405Sjkim pushl %ecx 361238405Sjkim pushl %edx 362238405Sjkim movl 80(%edi),%eax 363238405Sjkim movl 84(%edi),%ebx 364238405Sjkim movl 88(%edi),%ecx 365238405Sjkim movl 92(%edi),%edx 366238405Sjkim bswap %eax 367238405Sjkim bswap %ebx 368238405Sjkim bswap %ecx 369238405Sjkim bswap %edx 370238405Sjkim pushl %eax 371238405Sjkim pushl %ebx 372238405Sjkim pushl %ecx 373238405Sjkim pushl %edx 374238405Sjkim movl 96(%edi),%eax 375238405Sjkim movl 100(%edi),%ebx 376238405Sjkim movl 104(%edi),%ecx 377238405Sjkim movl 108(%edi),%edx 378238405Sjkim bswap %eax 379238405Sjkim bswap %ebx 380238405Sjkim bswap %ecx 381238405Sjkim bswap %edx 382238405Sjkim pushl %eax 383238405Sjkim pushl %ebx 384238405Sjkim pushl %ecx 385238405Sjkim pushl %edx 386238405Sjkim movl 112(%edi),%eax 387238405Sjkim movl 116(%edi),%ebx 388238405Sjkim movl 120(%edi),%ecx 389238405Sjkim movl 124(%edi),%edx 390238405Sjkim bswap %eax 391238405Sjkim bswap %ebx 392238405Sjkim bswap %ecx 393238405Sjkim bswap %edx 394238405Sjkim pushl %eax 395238405Sjkim pushl %ebx 396238405Sjkim pushl %ecx 397238405Sjkim pushl %edx 398238405Sjkim addl $128,%edi 399238405Sjkim subl $72,%esp 400238405Sjkim movl %edi,204(%esp) 401238405Sjkim leal 8(%esp),%edi 402238405Sjkim movl $16,%ecx 403238405Sjkim.long 2784229001 404238405Sjkim.align 16 405238405Sjkim.L00600_15_x86: 406238405Sjkim movl 40(%esp),%ecx 407238405Sjkim movl 44(%esp),%edx 408238405Sjkim movl %ecx,%esi 409238405Sjkim shrl $9,%ecx 410238405Sjkim movl %edx,%edi 411238405Sjkim shrl $9,%edx 412238405Sjkim movl %ecx,%ebx 413238405Sjkim shll $14,%esi 414238405Sjkim movl %edx,%eax 415238405Sjkim shll $14,%edi 416238405Sjkim xorl %esi,%ebx 417238405Sjkim shrl $5,%ecx 418238405Sjkim xorl %edi,%eax 419238405Sjkim shrl $5,%edx 420238405Sjkim xorl %ecx,%eax 421238405Sjkim shll $4,%esi 422238405Sjkim xorl %edx,%ebx 423238405Sjkim shll $4,%edi 424238405Sjkim xorl %esi,%ebx 425238405Sjkim shrl $4,%ecx 426238405Sjkim xorl %edi,%eax 427238405Sjkim shrl $4,%edx 428238405Sjkim xorl %ecx,%eax 429238405Sjkim shll $5,%esi 430238405Sjkim xorl %edx,%ebx 431238405Sjkim shll $5,%edi 432238405Sjkim xorl %esi,%eax 433238405Sjkim xorl %edi,%ebx 434238405Sjkim movl 48(%esp),%ecx 435238405Sjkim movl 52(%esp),%edx 436238405Sjkim movl 56(%esp),%esi 437238405Sjkim movl 60(%esp),%edi 438238405Sjkim addl 64(%esp),%eax 439238405Sjkim adcl 68(%esp),%ebx 440238405Sjkim xorl %esi,%ecx 441238405Sjkim xorl %edi,%edx 442238405Sjkim andl 40(%esp),%ecx 443238405Sjkim andl 44(%esp),%edx 444238405Sjkim addl 192(%esp),%eax 445238405Sjkim adcl 196(%esp),%ebx 446238405Sjkim xorl %esi,%ecx 447238405Sjkim xorl %edi,%edx 448238405Sjkim movl (%ebp),%esi 449238405Sjkim movl 4(%ebp),%edi 450238405Sjkim addl %ecx,%eax 451238405Sjkim adcl %edx,%ebx 452238405Sjkim movl 32(%esp),%ecx 453238405Sjkim movl 36(%esp),%edx 454238405Sjkim addl %esi,%eax 455238405Sjkim adcl %edi,%ebx 456238405Sjkim movl %eax,(%esp) 457238405Sjkim movl %ebx,4(%esp) 458238405Sjkim addl %ecx,%eax 459238405Sjkim adcl %edx,%ebx 460238405Sjkim movl 8(%esp),%ecx 461238405Sjkim movl 12(%esp),%edx 462238405Sjkim movl %eax,32(%esp) 463238405Sjkim movl %ebx,36(%esp) 464238405Sjkim movl %ecx,%esi 465238405Sjkim shrl $2,%ecx 466238405Sjkim movl %edx,%edi 467238405Sjkim shrl $2,%edx 468238405Sjkim movl %ecx,%ebx 469238405Sjkim shll $4,%esi 470238405Sjkim movl %edx,%eax 471238405Sjkim shll $4,%edi 472238405Sjkim xorl %esi,%ebx 473238405Sjkim shrl $5,%ecx 474238405Sjkim xorl %edi,%eax 475238405Sjkim shrl $5,%edx 476238405Sjkim xorl %ecx,%ebx 477238405Sjkim shll $21,%esi 478238405Sjkim xorl %edx,%eax 479238405Sjkim shll $21,%edi 480238405Sjkim xorl %esi,%eax 481238405Sjkim shrl $21,%ecx 482238405Sjkim xorl %edi,%ebx 483238405Sjkim shrl $21,%edx 484238405Sjkim xorl %ecx,%eax 485238405Sjkim shll $5,%esi 486238405Sjkim xorl %edx,%ebx 487238405Sjkim shll $5,%edi 488238405Sjkim xorl %esi,%eax 489238405Sjkim xorl %edi,%ebx 490238405Sjkim movl 8(%esp),%ecx 491238405Sjkim movl 12(%esp),%edx 492238405Sjkim movl 16(%esp),%esi 493238405Sjkim movl 20(%esp),%edi 494238405Sjkim addl (%esp),%eax 495238405Sjkim adcl 4(%esp),%ebx 496238405Sjkim orl %esi,%ecx 497238405Sjkim orl %edi,%edx 498238405Sjkim andl 24(%esp),%ecx 499238405Sjkim andl 28(%esp),%edx 500238405Sjkim andl 8(%esp),%esi 501238405Sjkim andl 12(%esp),%edi 502238405Sjkim orl %esi,%ecx 503238405Sjkim orl %edi,%edx 504238405Sjkim addl %ecx,%eax 505238405Sjkim adcl %edx,%ebx 506238405Sjkim movl %eax,(%esp) 507238405Sjkim movl %ebx,4(%esp) 508238405Sjkim movb (%ebp),%dl 509238405Sjkim subl $8,%esp 510238405Sjkim leal 8(%ebp),%ebp 511238405Sjkim cmpb $148,%dl 512238405Sjkim jne .L00600_15_x86 513238405Sjkim.align 16 514238405Sjkim.L00716_79_x86: 515238405Sjkim movl 312(%esp),%ecx 516238405Sjkim movl 316(%esp),%edx 517238405Sjkim movl %ecx,%esi 518238405Sjkim shrl $1,%ecx 519238405Sjkim movl %edx,%edi 520238405Sjkim shrl $1,%edx 521238405Sjkim movl %ecx,%eax 522238405Sjkim shll $24,%esi 523238405Sjkim movl %edx,%ebx 524238405Sjkim shll $24,%edi 525238405Sjkim xorl %esi,%ebx 526238405Sjkim shrl $6,%ecx 527238405Sjkim xorl %edi,%eax 528238405Sjkim shrl $6,%edx 529238405Sjkim xorl %ecx,%eax 530238405Sjkim shll $7,%esi 531238405Sjkim xorl %edx,%ebx 532238405Sjkim shll $1,%edi 533238405Sjkim xorl %esi,%ebx 534238405Sjkim shrl $1,%ecx 535238405Sjkim xorl %edi,%eax 536238405Sjkim shrl $1,%edx 537238405Sjkim xorl %ecx,%eax 538238405Sjkim shll $6,%edi 539238405Sjkim xorl %edx,%ebx 540238405Sjkim xorl %edi,%eax 541238405Sjkim movl %eax,(%esp) 542238405Sjkim movl %ebx,4(%esp) 543238405Sjkim movl 208(%esp),%ecx 544238405Sjkim movl 212(%esp),%edx 545238405Sjkim movl %ecx,%esi 546238405Sjkim shrl $6,%ecx 547238405Sjkim movl %edx,%edi 548238405Sjkim shrl $6,%edx 549238405Sjkim movl %ecx,%eax 550238405Sjkim shll $3,%esi 551238405Sjkim movl %edx,%ebx 552238405Sjkim shll $3,%edi 553238405Sjkim xorl %esi,%eax 554238405Sjkim shrl $13,%ecx 555238405Sjkim xorl %edi,%ebx 556238405Sjkim shrl $13,%edx 557238405Sjkim xorl %ecx,%eax 558238405Sjkim shll $10,%esi 559238405Sjkim xorl %edx,%ebx 560238405Sjkim shll $10,%edi 561238405Sjkim xorl %esi,%ebx 562238405Sjkim shrl $10,%ecx 563238405Sjkim xorl %edi,%eax 564238405Sjkim shrl $10,%edx 565238405Sjkim xorl %ecx,%ebx 566238405Sjkim shll $13,%edi 567238405Sjkim xorl %edx,%eax 568238405Sjkim xorl %edi,%eax 569238405Sjkim movl 320(%esp),%ecx 570238405Sjkim movl 324(%esp),%edx 571238405Sjkim addl (%esp),%eax 572238405Sjkim adcl 4(%esp),%ebx 573238405Sjkim movl 248(%esp),%esi 574238405Sjkim movl 252(%esp),%edi 575238405Sjkim addl %ecx,%eax 576238405Sjkim adcl %edx,%ebx 577238405Sjkim addl %esi,%eax 578238405Sjkim adcl %edi,%ebx 579238405Sjkim movl %eax,192(%esp) 580238405Sjkim movl %ebx,196(%esp) 581238405Sjkim movl 40(%esp),%ecx 582238405Sjkim movl 44(%esp),%edx 583238405Sjkim movl %ecx,%esi 584238405Sjkim shrl $9,%ecx 585238405Sjkim movl %edx,%edi 586238405Sjkim shrl $9,%edx 587238405Sjkim movl %ecx,%ebx 588238405Sjkim shll $14,%esi 589238405Sjkim movl %edx,%eax 590238405Sjkim shll $14,%edi 591238405Sjkim xorl %esi,%ebx 592238405Sjkim shrl $5,%ecx 593238405Sjkim xorl %edi,%eax 594238405Sjkim shrl $5,%edx 595238405Sjkim xorl %ecx,%eax 596238405Sjkim shll $4,%esi 597238405Sjkim xorl %edx,%ebx 598238405Sjkim shll $4,%edi 599238405Sjkim xorl %esi,%ebx 600238405Sjkim shrl $4,%ecx 601238405Sjkim xorl %edi,%eax 602238405Sjkim shrl $4,%edx 603238405Sjkim xorl %ecx,%eax 604238405Sjkim shll $5,%esi 605238405Sjkim xorl %edx,%ebx 606238405Sjkim shll $5,%edi 607238405Sjkim xorl %esi,%eax 608238405Sjkim xorl %edi,%ebx 609238405Sjkim movl 48(%esp),%ecx 610238405Sjkim movl 52(%esp),%edx 611238405Sjkim movl 56(%esp),%esi 612238405Sjkim movl 60(%esp),%edi 613238405Sjkim addl 64(%esp),%eax 614238405Sjkim adcl 68(%esp),%ebx 615238405Sjkim xorl %esi,%ecx 616238405Sjkim xorl %edi,%edx 617238405Sjkim andl 40(%esp),%ecx 618238405Sjkim andl 44(%esp),%edx 619238405Sjkim addl 192(%esp),%eax 620238405Sjkim adcl 196(%esp),%ebx 621238405Sjkim xorl %esi,%ecx 622238405Sjkim xorl %edi,%edx 623238405Sjkim movl (%ebp),%esi 624238405Sjkim movl 4(%ebp),%edi 625238405Sjkim addl %ecx,%eax 626238405Sjkim adcl %edx,%ebx 627238405Sjkim movl 32(%esp),%ecx 628238405Sjkim movl 36(%esp),%edx 629238405Sjkim addl %esi,%eax 630238405Sjkim adcl %edi,%ebx 631238405Sjkim movl %eax,(%esp) 632238405Sjkim movl %ebx,4(%esp) 633238405Sjkim addl %ecx,%eax 634238405Sjkim adcl %edx,%ebx 635238405Sjkim movl 8(%esp),%ecx 636238405Sjkim movl 12(%esp),%edx 637238405Sjkim movl %eax,32(%esp) 638238405Sjkim movl %ebx,36(%esp) 639238405Sjkim movl %ecx,%esi 640238405Sjkim shrl $2,%ecx 641238405Sjkim movl %edx,%edi 642238405Sjkim shrl $2,%edx 643238405Sjkim movl %ecx,%ebx 644238405Sjkim shll $4,%esi 645238405Sjkim movl %edx,%eax 646238405Sjkim shll $4,%edi 647238405Sjkim xorl %esi,%ebx 648238405Sjkim shrl $5,%ecx 649238405Sjkim xorl %edi,%eax 650238405Sjkim shrl $5,%edx 651238405Sjkim xorl %ecx,%ebx 652238405Sjkim shll $21,%esi 653238405Sjkim xorl %edx,%eax 654238405Sjkim shll $21,%edi 655238405Sjkim xorl %esi,%eax 656238405Sjkim shrl $21,%ecx 657238405Sjkim xorl %edi,%ebx 658238405Sjkim shrl $21,%edx 659238405Sjkim xorl %ecx,%eax 660238405Sjkim shll $5,%esi 661238405Sjkim xorl %edx,%ebx 662238405Sjkim shll $5,%edi 663238405Sjkim xorl %esi,%eax 664238405Sjkim xorl %edi,%ebx 665238405Sjkim movl 8(%esp),%ecx 666238405Sjkim movl 12(%esp),%edx 667238405Sjkim movl 16(%esp),%esi 668238405Sjkim movl 20(%esp),%edi 669238405Sjkim addl (%esp),%eax 670238405Sjkim adcl 4(%esp),%ebx 671238405Sjkim orl %esi,%ecx 672238405Sjkim orl %edi,%edx 673238405Sjkim andl 24(%esp),%ecx 674238405Sjkim andl 28(%esp),%edx 675238405Sjkim andl 8(%esp),%esi 676238405Sjkim andl 12(%esp),%edi 677238405Sjkim orl %esi,%ecx 678238405Sjkim orl %edi,%edx 679238405Sjkim addl %ecx,%eax 680238405Sjkim adcl %edx,%ebx 681238405Sjkim movl %eax,(%esp) 682238405Sjkim movl %ebx,4(%esp) 683238405Sjkim movb (%ebp),%dl 684238405Sjkim subl $8,%esp 685238405Sjkim leal 8(%ebp),%ebp 686238405Sjkim cmpb $23,%dl 687238405Sjkim jne .L00716_79_x86 688238405Sjkim movl 840(%esp),%esi 689238405Sjkim movl 844(%esp),%edi 690238405Sjkim movl (%esi),%eax 691238405Sjkim movl 4(%esi),%ebx 692238405Sjkim movl 8(%esi),%ecx 693238405Sjkim movl 12(%esi),%edx 694238405Sjkim addl 8(%esp),%eax 695238405Sjkim adcl 12(%esp),%ebx 696238405Sjkim movl %eax,(%esi) 697238405Sjkim movl %ebx,4(%esi) 698238405Sjkim addl 16(%esp),%ecx 699238405Sjkim adcl 20(%esp),%edx 700238405Sjkim movl %ecx,8(%esi) 701238405Sjkim movl %edx,12(%esi) 702238405Sjkim movl 16(%esi),%eax 703238405Sjkim movl 20(%esi),%ebx 704238405Sjkim movl 24(%esi),%ecx 705238405Sjkim movl 28(%esi),%edx 706238405Sjkim addl 24(%esp),%eax 707238405Sjkim adcl 28(%esp),%ebx 708238405Sjkim movl %eax,16(%esi) 709238405Sjkim movl %ebx,20(%esi) 710238405Sjkim addl 32(%esp),%ecx 711238405Sjkim adcl 36(%esp),%edx 712238405Sjkim movl %ecx,24(%esi) 713238405Sjkim movl %edx,28(%esi) 714238405Sjkim movl 32(%esi),%eax 715238405Sjkim movl 36(%esi),%ebx 716238405Sjkim movl 40(%esi),%ecx 717238405Sjkim movl 44(%esi),%edx 718238405Sjkim addl 40(%esp),%eax 719238405Sjkim adcl 44(%esp),%ebx 720238405Sjkim movl %eax,32(%esi) 721238405Sjkim movl %ebx,36(%esi) 722238405Sjkim addl 48(%esp),%ecx 723238405Sjkim adcl 52(%esp),%edx 724238405Sjkim movl %ecx,40(%esi) 725238405Sjkim movl %edx,44(%esi) 726238405Sjkim movl 48(%esi),%eax 727238405Sjkim movl 52(%esi),%ebx 728238405Sjkim movl 56(%esi),%ecx 729238405Sjkim movl 60(%esi),%edx 730238405Sjkim addl 56(%esp),%eax 731238405Sjkim adcl 60(%esp),%ebx 732238405Sjkim movl %eax,48(%esi) 733238405Sjkim movl %ebx,52(%esi) 734238405Sjkim addl 64(%esp),%ecx 735238405Sjkim adcl 68(%esp),%edx 736238405Sjkim movl %ecx,56(%esi) 737238405Sjkim movl %edx,60(%esi) 738238405Sjkim addl $840,%esp 739238405Sjkim subl $640,%ebp 740238405Sjkim cmpl 8(%esp),%edi 741238405Sjkim jb .L002loop_x86 742238405Sjkim movl 12(%esp),%esp 743238405Sjkim popl %edi 744238405Sjkim popl %esi 745238405Sjkim popl %ebx 746238405Sjkim popl %ebp 747238405Sjkim ret 748238405Sjkim.align 64 749238405Sjkim.L001K512: 750238405Sjkim.long 3609767458,1116352408 751238405Sjkim.long 602891725,1899447441 752238405Sjkim.long 3964484399,3049323471 753238405Sjkim.long 2173295548,3921009573 754238405Sjkim.long 4081628472,961987163 755238405Sjkim.long 3053834265,1508970993 756238405Sjkim.long 2937671579,2453635748 757238405Sjkim.long 3664609560,2870763221 758238405Sjkim.long 2734883394,3624381080 759238405Sjkim.long 1164996542,310598401 760238405Sjkim.long 1323610764,607225278 761238405Sjkim.long 3590304994,1426881987 762238405Sjkim.long 4068182383,1925078388 763238405Sjkim.long 991336113,2162078206 764238405Sjkim.long 633803317,2614888103 765238405Sjkim.long 3479774868,3248222580 766238405Sjkim.long 2666613458,3835390401 767238405Sjkim.long 944711139,4022224774 768238405Sjkim.long 2341262773,264347078 769238405Sjkim.long 2007800933,604807628 770238405Sjkim.long 1495990901,770255983 771238405Sjkim.long 1856431235,1249150122 772238405Sjkim.long 3175218132,1555081692 773238405Sjkim.long 2198950837,1996064986 774238405Sjkim.long 3999719339,2554220882 775238405Sjkim.long 766784016,2821834349 776238405Sjkim.long 2566594879,2952996808 777238405Sjkim.long 3203337956,3210313671 778238405Sjkim.long 1034457026,3336571891 779238405Sjkim.long 2466948901,3584528711 780238405Sjkim.long 3758326383,113926993 781238405Sjkim.long 168717936,338241895 782238405Sjkim.long 1188179964,666307205 783238405Sjkim.long 1546045734,773529912 784238405Sjkim.long 1522805485,1294757372 785238405Sjkim.long 2643833823,1396182291 786238405Sjkim.long 2343527390,1695183700 787238405Sjkim.long 1014477480,1986661051 788238405Sjkim.long 1206759142,2177026350 789238405Sjkim.long 344077627,2456956037 790238405Sjkim.long 1290863460,2730485921 791238405Sjkim.long 3158454273,2820302411 792238405Sjkim.long 3505952657,3259730800 793238405Sjkim.long 106217008,3345764771 794238405Sjkim.long 3606008344,3516065817 795238405Sjkim.long 1432725776,3600352804 796238405Sjkim.long 1467031594,4094571909 797238405Sjkim.long 851169720,275423344 798238405Sjkim.long 3100823752,430227734 799238405Sjkim.long 1363258195,506948616 800238405Sjkim.long 3750685593,659060556 801238405Sjkim.long 3785050280,883997877 802238405Sjkim.long 3318307427,958139571 803238405Sjkim.long 3812723403,1322822218 804238405Sjkim.long 2003034995,1537002063 805238405Sjkim.long 3602036899,1747873779 806238405Sjkim.long 1575990012,1955562222 807238405Sjkim.long 1125592928,2024104815 808238405Sjkim.long 2716904306,2227730452 809238405Sjkim.long 442776044,2361852424 810238405Sjkim.long 593698344,2428436474 811238405Sjkim.long 3733110249,2756734187 812238405Sjkim.long 2999351573,3204031479 813238405Sjkim.long 3815920427,3329325298 814238405Sjkim.long 3928383900,3391569614 815238405Sjkim.long 566280711,3515267271 816238405Sjkim.long 3454069534,3940187606 817238405Sjkim.long 4000239992,4118630271 818238405Sjkim.long 1914138554,116418474 819238405Sjkim.long 2731055270,174292421 820238405Sjkim.long 3203993006,289380356 821238405Sjkim.long 320620315,460393269 822238405Sjkim.long 587496836,685471733 823238405Sjkim.long 1086792851,852142971 824238405Sjkim.long 365543100,1017036298 825238405Sjkim.long 2618297676,1126000580 826238405Sjkim.long 3409855158,1288033470 827238405Sjkim.long 4234509866,1501505948 828238405Sjkim.long 987167468,1607167915 829238405Sjkim.long 1246189591,1816402316 830238405Sjkim.size sha512_block_data_order,.-.L_sha512_block_data_order_begin 831238405Sjkim.byte 83,72,65,53,49,50,32,98,108,111,99,107,32,116,114,97 832238405Sjkim.byte 110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32 833238405Sjkim.byte 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97 834238405Sjkim.byte 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103 835238405Sjkim.byte 62,0 836238405Sjkim.comm OPENSSL_ia32cap_P,8,4 837