1# This file is generated from a similarly-named Perl script in the BoringSSL 2# source tree. Do not edit by hand. 3 4#if defined(__i386__) 5#if defined(BORINGSSL_PREFIX) 6#include <boringssl_prefix_symbols_asm.h> 7#endif 8.text 9.LONE_mont: 10.long 1,0,0,-1,-1,-1,-2,0 11.hidden _ecp_nistz256_div_by_2 12.type _ecp_nistz256_div_by_2,@function 13.align 16 14_ecp_nistz256_div_by_2: 15 movl (%esi),%ebp 16 xorl %edx,%edx 17 movl 4(%esi),%ebx 18 movl %ebp,%eax 19 andl $1,%ebp 20 movl 8(%esi),%ecx 21 subl %ebp,%edx 22 addl %edx,%eax 23 adcl %edx,%ebx 24 movl %eax,(%edi) 25 adcl %edx,%ecx 26 movl %ebx,4(%edi) 27 movl %ecx,8(%edi) 28 movl 12(%esi),%eax 29 movl 16(%esi),%ebx 30 adcl $0,%eax 31 movl 20(%esi),%ecx 32 adcl $0,%ebx 33 movl %eax,12(%edi) 34 adcl $0,%ecx 35 movl %ebx,16(%edi) 36 movl %ecx,20(%edi) 37 movl 24(%esi),%eax 38 movl 28(%esi),%ebx 39 adcl %ebp,%eax 40 adcl %edx,%ebx 41 movl %eax,24(%edi) 42 sbbl %esi,%esi 43 movl %ebx,28(%edi) 44 movl (%edi),%eax 45 movl 4(%edi),%ebx 46 movl 8(%edi),%ecx 47 movl 12(%edi),%edx 48 shrl $1,%eax 49 movl %ebx,%ebp 50 shll $31,%ebx 51 orl %ebx,%eax 52 shrl $1,%ebp 53 movl %ecx,%ebx 54 shll $31,%ecx 55 movl %eax,(%edi) 56 orl %ecx,%ebp 57 movl 16(%edi),%eax 58 shrl $1,%ebx 59 movl %edx,%ecx 60 shll $31,%edx 61 movl %ebp,4(%edi) 62 orl %edx,%ebx 63 movl 20(%edi),%ebp 64 shrl $1,%ecx 65 movl %eax,%edx 66 shll $31,%eax 67 movl %ebx,8(%edi) 68 orl %eax,%ecx 69 movl 24(%edi),%ebx 70 shrl $1,%edx 71 movl %ebp,%eax 72 shll $31,%ebp 73 movl %ecx,12(%edi) 74 orl %ebp,%edx 75 movl 28(%edi),%ecx 76 shrl $1,%eax 77 movl %ebx,%ebp 78 shll $31,%ebx 79 movl %edx,16(%edi) 80 orl %ebx,%eax 81 shrl $1,%ebp 82 movl %ecx,%ebx 83 shll $31,%ecx 84 movl %eax,20(%edi) 85 orl %ecx,%ebp 86 shrl $1,%ebx 87 shll $31,%esi 88 movl %ebp,24(%edi) 89 orl %esi,%ebx 90 movl %ebx,28(%edi) 91 ret 92.size _ecp_nistz256_div_by_2,.-_ecp_nistz256_div_by_2 93.globl GFp_nistz256_add 94.hidden GFp_nistz256_add 95.type GFp_nistz256_add,@function 96.align 16 97GFp_nistz256_add: 98.L_GFp_nistz256_add_begin: 99 pushl %ebp 100 pushl %ebx 101 pushl %esi 102 pushl %edi 103 movl 24(%esp),%esi 104 movl 28(%esp),%ebp 105 movl 20(%esp),%edi 106 call _ecp_nistz256_add 107 popl %edi 108 popl %esi 109 popl %ebx 110 popl %ebp 111 ret 112.size GFp_nistz256_add,.-.L_GFp_nistz256_add_begin 113.hidden _ecp_nistz256_add 114.type _ecp_nistz256_add,@function 115.align 16 116_ecp_nistz256_add: 117 movl (%esi),%eax 118 movl 4(%esi),%ebx 119 movl 8(%esi),%ecx 120 addl (%ebp),%eax 121 movl 12(%esi),%edx 122 adcl 4(%ebp),%ebx 123 movl %eax,(%edi) 124 adcl 8(%ebp),%ecx 125 movl %ebx,4(%edi) 126 adcl 12(%ebp),%edx 127 movl %ecx,8(%edi) 128 movl %edx,12(%edi) 129 movl 16(%esi),%eax 130 movl 20(%esi),%ebx 131 movl 24(%esi),%ecx 132 adcl 16(%ebp),%eax 133 movl 28(%esi),%edx 134 adcl 20(%ebp),%ebx 135 movl %eax,16(%edi) 136 adcl 24(%ebp),%ecx 137 movl %ebx,20(%edi) 138 movl $0,%esi 139 adcl 28(%ebp),%edx 140 movl %ecx,24(%edi) 141 adcl $0,%esi 142 movl %edx,28(%edi) 143 movl (%edi),%eax 144 movl 4(%edi),%ebx 145 movl 8(%edi),%ecx 146 subl $-1,%eax 147 movl 12(%edi),%edx 148 sbbl $-1,%ebx 149 movl 16(%edi),%eax 150 sbbl $-1,%ecx 151 movl 20(%edi),%ebx 152 sbbl $0,%edx 153 movl 24(%edi),%ecx 154 sbbl $0,%eax 155 movl 28(%edi),%edx 156 sbbl $0,%ebx 157 sbbl $1,%ecx 158 sbbl $-1,%edx 159 sbbl $0,%esi 160 notl %esi 161 movl (%edi),%eax 162 movl %esi,%ebp 163 movl 4(%edi),%ebx 164 shrl $31,%ebp 165 movl 8(%edi),%ecx 166 subl %esi,%eax 167 movl 12(%edi),%edx 168 sbbl %esi,%ebx 169 movl %eax,(%edi) 170 sbbl %esi,%ecx 171 movl %ebx,4(%edi) 172 sbbl $0,%edx 173 movl %ecx,8(%edi) 174 movl %edx,12(%edi) 175 movl 16(%edi),%eax 176 movl 20(%edi),%ebx 177 movl 24(%edi),%ecx 178 sbbl $0,%eax 179 movl 28(%edi),%edx 180 sbbl $0,%ebx 181 movl %eax,16(%edi) 182 sbbl %ebp,%ecx 183 movl %ebx,20(%edi) 184 sbbl %esi,%edx 185 movl %ecx,24(%edi) 186 movl %edx,28(%edi) 187 ret 188.size _ecp_nistz256_add,.-_ecp_nistz256_add 189.hidden _ecp_nistz256_sub 190.type _ecp_nistz256_sub,@function 191.align 16 192_ecp_nistz256_sub: 193 movl (%esi),%eax 194 movl 4(%esi),%ebx 195 movl 8(%esi),%ecx 196 subl (%ebp),%eax 197 movl 12(%esi),%edx 198 sbbl 4(%ebp),%ebx 199 movl %eax,(%edi) 200 sbbl 8(%ebp),%ecx 201 movl %ebx,4(%edi) 202 sbbl 12(%ebp),%edx 203 movl %ecx,8(%edi) 204 movl %edx,12(%edi) 205 movl 16(%esi),%eax 206 movl 20(%esi),%ebx 207 movl 24(%esi),%ecx 208 sbbl 16(%ebp),%eax 209 movl 28(%esi),%edx 210 sbbl 20(%ebp),%ebx 211 sbbl 24(%ebp),%ecx 212 movl %eax,16(%edi) 213 sbbl 28(%ebp),%edx 214 movl %ebx,20(%edi) 215 sbbl %esi,%esi 216 movl %ecx,24(%edi) 217 movl %edx,28(%edi) 218 movl (%edi),%eax 219 movl %esi,%ebp 220 movl 4(%edi),%ebx 221 shrl $31,%ebp 222 movl 8(%edi),%ecx 223 addl %esi,%eax 224 movl 12(%edi),%edx 225 adcl %esi,%ebx 226 movl %eax,(%edi) 227 adcl %esi,%ecx 228 movl %ebx,4(%edi) 229 adcl $0,%edx 230 movl %ecx,8(%edi) 231 movl %edx,12(%edi) 232 movl 16(%edi),%eax 233 movl 20(%edi),%ebx 234 movl 24(%edi),%ecx 235 adcl $0,%eax 236 movl 28(%edi),%edx 237 adcl $0,%ebx 238 movl %eax,16(%edi) 239 adcl %ebp,%ecx 240 movl %ebx,20(%edi) 241 adcl %esi,%edx 242 movl %ecx,24(%edi) 243 movl %edx,28(%edi) 244 ret 245.size _ecp_nistz256_sub,.-_ecp_nistz256_sub 246.globl GFp_nistz256_neg 247.hidden GFp_nistz256_neg 248.type GFp_nistz256_neg,@function 249.align 16 250GFp_nistz256_neg: 251.L_GFp_nistz256_neg_begin: 252 pushl %ebp 253 pushl %ebx 254 pushl %esi 255 pushl %edi 256 movl 24(%esp),%ebp 257 movl 20(%esp),%edi 258 xorl %eax,%eax 259 subl $32,%esp 260 movl %eax,(%esp) 261 movl %esp,%esi 262 movl %eax,4(%esp) 263 movl %eax,8(%esp) 264 movl %eax,12(%esp) 265 movl %eax,16(%esp) 266 movl %eax,20(%esp) 267 movl %eax,24(%esp) 268 movl %eax,28(%esp) 269 call _ecp_nistz256_sub 270 addl $32,%esp 271 popl %edi 272 popl %esi 273 popl %ebx 274 popl %ebp 275 ret 276.size GFp_nistz256_neg,.-.L_GFp_nistz256_neg_begin 277.hidden _picup_eax 278.type _picup_eax,@function 279.align 16 280_picup_eax: 281 movl (%esp),%eax 282 ret 283.size _picup_eax,.-_picup_eax 284.globl GFp_nistz256_mul_mont 285.hidden GFp_nistz256_mul_mont 286.type GFp_nistz256_mul_mont,@function 287.align 16 288GFp_nistz256_mul_mont: 289.L_GFp_nistz256_mul_mont_begin: 290 pushl %ebp 291 pushl %ebx 292 pushl %esi 293 pushl %edi 294 movl 24(%esp),%esi 295 movl 28(%esp),%ebp 296 call _picup_eax 297.L000pic: 298 leal GFp_ia32cap_P-.L000pic(%eax),%eax 299 movl (%eax),%eax 300 movl 20(%esp),%edi 301 call _ecp_nistz256_mul_mont 302 popl %edi 303 popl %esi 304 popl %ebx 305 popl %ebp 306 ret 307.size GFp_nistz256_mul_mont,.-.L_GFp_nistz256_mul_mont_begin 308.hidden _ecp_nistz256_mul_mont 309.type _ecp_nistz256_mul_mont,@function 310.align 16 311_ecp_nistz256_mul_mont: 312 movl %esp,%edx 313 subl $256,%esp 314 movd (%ebp),%xmm7 315 leal 4(%ebp),%ebp 316 pcmpeqd %xmm6,%xmm6 317 psrlq $48,%xmm6 318 pshuflw $220,%xmm7,%xmm7 319 andl $-64,%esp 320 pshufd $220,%xmm7,%xmm7 321 leal 128(%esp),%ebx 322 movd (%esi),%xmm0 323 pshufd $204,%xmm0,%xmm0 324 movd 4(%esi),%xmm1 325 movdqa %xmm0,(%ebx) 326 pmuludq %xmm7,%xmm0 327 movd 8(%esi),%xmm2 328 pshufd $204,%xmm1,%xmm1 329 movdqa %xmm1,16(%ebx) 330 pmuludq %xmm7,%xmm1 331 movq %xmm0,%xmm4 332 pslldq $6,%xmm4 333 paddq %xmm0,%xmm4 334 movdqa %xmm4,%xmm5 335 psrldq $10,%xmm4 336 pand %xmm6,%xmm5 337 movd 12(%esi),%xmm3 338 pshufd $204,%xmm2,%xmm2 339 movdqa %xmm2,32(%ebx) 340 pmuludq %xmm7,%xmm2 341 paddq %xmm4,%xmm1 342 movdqa %xmm1,(%esp) 343 movd 16(%esi),%xmm0 344 pshufd $204,%xmm3,%xmm3 345 movdqa %xmm3,48(%ebx) 346 pmuludq %xmm7,%xmm3 347 movdqa %xmm2,16(%esp) 348 movd 20(%esi),%xmm1 349 pshufd $204,%xmm0,%xmm0 350 movdqa %xmm0,64(%ebx) 351 pmuludq %xmm7,%xmm0 352 paddq %xmm5,%xmm3 353 movdqa %xmm3,32(%esp) 354 movd 24(%esi),%xmm2 355 pshufd $204,%xmm1,%xmm1 356 movdqa %xmm1,80(%ebx) 357 pmuludq %xmm7,%xmm1 358 movdqa %xmm0,48(%esp) 359 pshufd $177,%xmm5,%xmm4 360 movd 28(%esi),%xmm3 361 pshufd $204,%xmm2,%xmm2 362 movdqa %xmm2,96(%ebx) 363 pmuludq %xmm7,%xmm2 364 movdqa %xmm1,64(%esp) 365 psubq %xmm5,%xmm4 366 movd (%ebp),%xmm0 367 pshufd $204,%xmm3,%xmm3 368 movdqa %xmm3,112(%ebx) 369 pmuludq %xmm7,%xmm3 370 pshuflw $220,%xmm0,%xmm7 371 movdqa (%ebx),%xmm0 372 pshufd $220,%xmm7,%xmm7 373 movl $6,%ecx 374 leal 4(%ebp),%ebp 375 jmp .L001madd_sse2 376.align 16 377.L001madd_sse2: 378 paddq %xmm5,%xmm2 379 paddq %xmm4,%xmm3 380 movdqa 16(%ebx),%xmm1 381 pmuludq %xmm7,%xmm0 382 movdqa %xmm2,80(%esp) 383 movdqa 32(%ebx),%xmm2 384 pmuludq %xmm7,%xmm1 385 movdqa %xmm3,96(%esp) 386 paddq (%esp),%xmm0 387 movdqa 48(%ebx),%xmm3 388 pmuludq %xmm7,%xmm2 389 movq %xmm0,%xmm4 390 pslldq $6,%xmm4 391 paddq 16(%esp),%xmm1 392 paddq %xmm0,%xmm4 393 movdqa %xmm4,%xmm5 394 psrldq $10,%xmm4 395 movdqa 64(%ebx),%xmm0 396 pmuludq %xmm7,%xmm3 397 paddq %xmm4,%xmm1 398 paddq 32(%esp),%xmm2 399 movdqa %xmm1,(%esp) 400 movdqa 80(%ebx),%xmm1 401 pmuludq %xmm7,%xmm0 402 paddq 48(%esp),%xmm3 403 movdqa %xmm2,16(%esp) 404 pand %xmm6,%xmm5 405 movdqa 96(%ebx),%xmm2 406 pmuludq %xmm7,%xmm1 407 paddq %xmm5,%xmm3 408 paddq 64(%esp),%xmm0 409 movdqa %xmm3,32(%esp) 410 pshufd $177,%xmm5,%xmm4 411 movdqa %xmm7,%xmm3 412 pmuludq %xmm7,%xmm2 413 movd (%ebp),%xmm7 414 leal 4(%ebp),%ebp 415 paddq 80(%esp),%xmm1 416 psubq %xmm5,%xmm4 417 movdqa %xmm0,48(%esp) 418 pshuflw $220,%xmm7,%xmm7 419 pmuludq 112(%ebx),%xmm3 420 pshufd $220,%xmm7,%xmm7 421 movdqa (%ebx),%xmm0 422 movdqa %xmm1,64(%esp) 423 paddq 96(%esp),%xmm2 424 decl %ecx 425 jnz .L001madd_sse2 426 paddq %xmm5,%xmm2 427 paddq %xmm4,%xmm3 428 movdqa 16(%ebx),%xmm1 429 pmuludq %xmm7,%xmm0 430 movdqa %xmm2,80(%esp) 431 movdqa 32(%ebx),%xmm2 432 pmuludq %xmm7,%xmm1 433 movdqa %xmm3,96(%esp) 434 paddq (%esp),%xmm0 435 movdqa 48(%ebx),%xmm3 436 pmuludq %xmm7,%xmm2 437 movq %xmm0,%xmm4 438 pslldq $6,%xmm4 439 paddq 16(%esp),%xmm1 440 paddq %xmm0,%xmm4 441 movdqa %xmm4,%xmm5 442 psrldq $10,%xmm4 443 movdqa 64(%ebx),%xmm0 444 pmuludq %xmm7,%xmm3 445 paddq %xmm4,%xmm1 446 paddq 32(%esp),%xmm2 447 movdqa %xmm1,(%esp) 448 movdqa 80(%ebx),%xmm1 449 pmuludq %xmm7,%xmm0 450 paddq 48(%esp),%xmm3 451 movdqa %xmm2,16(%esp) 452 pand %xmm6,%xmm5 453 movdqa 96(%ebx),%xmm2 454 pmuludq %xmm7,%xmm1 455 paddq %xmm5,%xmm3 456 paddq 64(%esp),%xmm0 457 movdqa %xmm3,32(%esp) 458 pshufd $177,%xmm5,%xmm4 459 movdqa 112(%ebx),%xmm3 460 pmuludq %xmm7,%xmm2 461 paddq 80(%esp),%xmm1 462 psubq %xmm5,%xmm4 463 movdqa %xmm0,48(%esp) 464 pmuludq %xmm7,%xmm3 465 pcmpeqd %xmm7,%xmm7 466 movdqa (%esp),%xmm0 467 pslldq $8,%xmm7 468 movdqa %xmm1,64(%esp) 469 paddq 96(%esp),%xmm2 470 paddq %xmm5,%xmm2 471 paddq %xmm4,%xmm3 472 movdqa %xmm2,80(%esp) 473 movdqa %xmm3,96(%esp) 474 movdqa 16(%esp),%xmm1 475 movdqa 32(%esp),%xmm2 476 movdqa 48(%esp),%xmm3 477 movq %xmm0,%xmm4 478 pand %xmm7,%xmm0 479 xorl %ebp,%ebp 480 pslldq $6,%xmm4 481 movq %xmm1,%xmm5 482 paddq %xmm4,%xmm0 483 pand %xmm7,%xmm1 484 psrldq $6,%xmm0 485 movd %xmm0,%eax 486 psrldq $4,%xmm0 487 paddq %xmm0,%xmm5 488 movdqa 64(%esp),%xmm0 489 subl $-1,%eax 490 pslldq $6,%xmm5 491 movq %xmm2,%xmm4 492 paddq %xmm5,%xmm1 493 pand %xmm7,%xmm2 494 psrldq $6,%xmm1 495 movl %eax,(%edi) 496 movd %xmm1,%eax 497 psrldq $4,%xmm1 498 paddq %xmm1,%xmm4 499 movdqa 80(%esp),%xmm1 500 sbbl $-1,%eax 501 pslldq $6,%xmm4 502 movq %xmm3,%xmm5 503 paddq %xmm4,%xmm2 504 pand %xmm7,%xmm3 505 psrldq $6,%xmm2 506 movl %eax,4(%edi) 507 movd %xmm2,%eax 508 psrldq $4,%xmm2 509 paddq %xmm2,%xmm5 510 movdqa 96(%esp),%xmm2 511 sbbl $-1,%eax 512 pslldq $6,%xmm5 513 movq %xmm0,%xmm4 514 paddq %xmm5,%xmm3 515 pand %xmm7,%xmm0 516 psrldq $6,%xmm3 517 movl %eax,8(%edi) 518 movd %xmm3,%eax 519 psrldq $4,%xmm3 520 paddq %xmm3,%xmm4 521 sbbl $0,%eax 522 pslldq $6,%xmm4 523 movq %xmm1,%xmm5 524 paddq %xmm4,%xmm0 525 pand %xmm7,%xmm1 526 psrldq $6,%xmm0 527 movl %eax,12(%edi) 528 movd %xmm0,%eax 529 psrldq $4,%xmm0 530 paddq %xmm0,%xmm5 531 sbbl $0,%eax 532 pslldq $6,%xmm5 533 movq %xmm2,%xmm4 534 paddq %xmm5,%xmm1 535 pand %xmm7,%xmm2 536 psrldq $6,%xmm1 537 movd %xmm1,%ebx 538 psrldq $4,%xmm1 539 movl %edx,%esp 540 paddq %xmm1,%xmm4 541 pslldq $6,%xmm4 542 paddq %xmm4,%xmm2 543 psrldq $6,%xmm2 544 movd %xmm2,%ecx 545 psrldq $4,%xmm2 546 sbbl $0,%ebx 547 movd %xmm2,%edx 548 pextrw $2,%xmm2,%esi 549 sbbl $1,%ecx 550 sbbl $-1,%edx 551 sbbl $0,%esi 552 subl %esi,%ebp 553 addl %esi,(%edi) 554 adcl %esi,4(%edi) 555 adcl %esi,8(%edi) 556 adcl $0,12(%edi) 557 adcl $0,%eax 558 adcl $0,%ebx 559 movl %eax,16(%edi) 560 adcl %ebp,%ecx 561 movl %ebx,20(%edi) 562 adcl %esi,%edx 563 movl %ecx,24(%edi) 564 movl %edx,28(%edi) 565 ret 566.size _ecp_nistz256_mul_mont,.-_ecp_nistz256_mul_mont 567.globl GFp_nistz256_point_double 568.hidden GFp_nistz256_point_double 569.type GFp_nistz256_point_double,@function 570.align 16 571GFp_nistz256_point_double: 572.L_GFp_nistz256_point_double_begin: 573 pushl %ebp 574 pushl %ebx 575 pushl %esi 576 pushl %edi 577 movl 24(%esp),%esi 578 subl $164,%esp 579 call _picup_eax 580.L002pic: 581 leal GFp_ia32cap_P-.L002pic(%eax),%edx 582 movl (%edx),%ebp 583.Lpoint_double_shortcut: 584 movl (%esi),%eax 585 movl 4(%esi),%ebx 586 movl 8(%esi),%ecx 587 movl 12(%esi),%edx 588 movl %eax,96(%esp) 589 movl %ebx,100(%esp) 590 movl %ecx,104(%esp) 591 movl %edx,108(%esp) 592 movl 16(%esi),%eax 593 movl 20(%esi),%ebx 594 movl 24(%esi),%ecx 595 movl 28(%esi),%edx 596 movl %eax,112(%esp) 597 movl %ebx,116(%esp) 598 movl %ecx,120(%esp) 599 movl %edx,124(%esp) 600 movl %ebp,160(%esp) 601 leal 32(%esi),%ebp 602 leal 32(%esi),%esi 603 leal (%esp),%edi 604 call _ecp_nistz256_add 605 movl 160(%esp),%eax 606 movl $64,%esi 607 addl 188(%esp),%esi 608 leal 64(%esp),%edi 609 movl %esi,%ebp 610 call _ecp_nistz256_mul_mont 611 movl 160(%esp),%eax 612 leal (%esp),%esi 613 leal (%esp),%ebp 614 leal (%esp),%edi 615 call _ecp_nistz256_mul_mont 616 movl 160(%esp),%eax 617 movl 188(%esp),%ebp 618 leal 32(%ebp),%esi 619 leal 64(%ebp),%ebp 620 leal 128(%esp),%edi 621 call _ecp_nistz256_mul_mont 622 leal 96(%esp),%esi 623 leal 64(%esp),%ebp 624 leal 32(%esp),%edi 625 call _ecp_nistz256_add 626 movl $64,%edi 627 leal 128(%esp),%esi 628 leal 128(%esp),%ebp 629 addl 184(%esp),%edi 630 call _ecp_nistz256_add 631 leal 96(%esp),%esi 632 leal 64(%esp),%ebp 633 leal 64(%esp),%edi 634 call _ecp_nistz256_sub 635 movl 160(%esp),%eax 636 leal (%esp),%esi 637 leal (%esp),%ebp 638 leal 128(%esp),%edi 639 call _ecp_nistz256_mul_mont 640 movl 160(%esp),%eax 641 leal 32(%esp),%esi 642 leal 64(%esp),%ebp 643 leal 32(%esp),%edi 644 call _ecp_nistz256_mul_mont 645 movl $32,%edi 646 leal 128(%esp),%esi 647 addl 184(%esp),%edi 648 call _ecp_nistz256_div_by_2 649 leal 32(%esp),%esi 650 leal 32(%esp),%ebp 651 leal 128(%esp),%edi 652 call _ecp_nistz256_add 653 movl 160(%esp),%eax 654 leal 96(%esp),%esi 655 leal (%esp),%ebp 656 leal (%esp),%edi 657 call _ecp_nistz256_mul_mont 658 leal 128(%esp),%esi 659 leal 32(%esp),%ebp 660 leal 32(%esp),%edi 661 call _ecp_nistz256_add 662 leal (%esp),%esi 663 leal (%esp),%ebp 664 leal 128(%esp),%edi 665 call _ecp_nistz256_add 666 movl 160(%esp),%eax 667 leal 32(%esp),%esi 668 leal 32(%esp),%ebp 669 movl 184(%esp),%edi 670 call _ecp_nistz256_mul_mont 671 movl %edi,%esi 672 leal 128(%esp),%ebp 673 call _ecp_nistz256_sub 674 leal (%esp),%esi 675 movl %edi,%ebp 676 leal (%esp),%edi 677 call _ecp_nistz256_sub 678 movl 160(%esp),%eax 679 movl %edi,%esi 680 leal 32(%esp),%ebp 681 call _ecp_nistz256_mul_mont 682 movl $32,%ebp 683 leal (%esp),%esi 684 addl 184(%esp),%ebp 685 movl %ebp,%edi 686 call _ecp_nistz256_sub 687 addl $164,%esp 688 popl %edi 689 popl %esi 690 popl %ebx 691 popl %ebp 692 ret 693.size GFp_nistz256_point_double,.-.L_GFp_nistz256_point_double_begin 694.globl GFp_nistz256_point_add_affine 695.hidden GFp_nistz256_point_add_affine 696.type GFp_nistz256_point_add_affine,@function 697.align 16 698GFp_nistz256_point_add_affine: 699.L_GFp_nistz256_point_add_affine_begin: 700 pushl %ebp 701 pushl %ebx 702 pushl %esi 703 pushl %edi 704 movl 24(%esp),%esi 705 subl $492,%esp 706 call _picup_eax 707.L003pic: 708 leal GFp_ia32cap_P-.L003pic(%eax),%edx 709 movl (%edx),%ebp 710 leal 96(%esp),%edi 711 movl (%esi),%eax 712 movl 4(%esi),%ebx 713 movl 8(%esi),%ecx 714 movl 12(%esi),%edx 715 movl %eax,(%edi) 716 movl %ebp,488(%esp) 717 movl %ebx,4(%edi) 718 movl %ecx,8(%edi) 719 movl %edx,12(%edi) 720 movl 16(%esi),%eax 721 movl 20(%esi),%ebx 722 movl 24(%esi),%ecx 723 movl 28(%esi),%edx 724 movl %eax,16(%edi) 725 movl %ebx,20(%edi) 726 movl %ecx,24(%edi) 727 movl %edx,28(%edi) 728 movl 32(%esi),%eax 729 movl 36(%esi),%ebx 730 movl 40(%esi),%ecx 731 movl 44(%esi),%edx 732 movl %eax,32(%edi) 733 movl %ebx,36(%edi) 734 movl %ecx,40(%edi) 735 movl %edx,44(%edi) 736 movl 48(%esi),%eax 737 movl 52(%esi),%ebx 738 movl 56(%esi),%ecx 739 movl 60(%esi),%edx 740 movl %eax,48(%edi) 741 movl %ebx,52(%edi) 742 movl %ecx,56(%edi) 743 movl %edx,60(%edi) 744 movl 64(%esi),%eax 745 movl 68(%esi),%ebx 746 movl 72(%esi),%ecx 747 movl 76(%esi),%edx 748 movl %eax,64(%edi) 749 movl %eax,%ebp 750 movl %ebx,68(%edi) 751 orl %ebx,%ebp 752 movl %ecx,72(%edi) 753 orl %ecx,%ebp 754 movl %edx,76(%edi) 755 orl %edx,%ebp 756 movl 80(%esi),%eax 757 movl 84(%esi),%ebx 758 movl 88(%esi),%ecx 759 movl 92(%esi),%edx 760 movl %eax,80(%edi) 761 orl %eax,%ebp 762 movl %ebx,84(%edi) 763 orl %ebx,%ebp 764 movl %ecx,88(%edi) 765 orl %ecx,%ebp 766 movl %edx,92(%edi) 767 orl %edx,%ebp 768 xorl %eax,%eax 769 movl 520(%esp),%esi 770 subl %ebp,%eax 771 orl %eax,%ebp 772 sarl $31,%ebp 773 movl %ebp,480(%esp) 774 leal 192(%esp),%edi 775 movl (%esi),%eax 776 movl 4(%esi),%ebx 777 movl 8(%esi),%ecx 778 movl 12(%esi),%edx 779 movl %eax,(%edi) 780 movl %eax,%ebp 781 movl %ebx,4(%edi) 782 orl %ebx,%ebp 783 movl %ecx,8(%edi) 784 orl %ecx,%ebp 785 movl %edx,12(%edi) 786 orl %edx,%ebp 787 movl 16(%esi),%eax 788 movl 20(%esi),%ebx 789 movl 24(%esi),%ecx 790 movl 28(%esi),%edx 791 movl %eax,16(%edi) 792 orl %eax,%ebp 793 movl %ebx,20(%edi) 794 orl %ebx,%ebp 795 movl %ecx,24(%edi) 796 orl %ecx,%ebp 797 movl %edx,28(%edi) 798 orl %edx,%ebp 799 movl 32(%esi),%eax 800 movl 36(%esi),%ebx 801 movl 40(%esi),%ecx 802 movl 44(%esi),%edx 803 movl %eax,32(%edi) 804 orl %eax,%ebp 805 movl %ebx,36(%edi) 806 orl %ebx,%ebp 807 movl %ecx,40(%edi) 808 orl %ecx,%ebp 809 movl %edx,44(%edi) 810 orl %edx,%ebp 811 movl 48(%esi),%eax 812 movl 52(%esi),%ebx 813 movl 56(%esi),%ecx 814 movl 60(%esi),%edx 815 movl %eax,48(%edi) 816 orl %eax,%ebp 817 movl %ebx,52(%edi) 818 orl %ebx,%ebp 819 movl %ecx,56(%edi) 820 orl %ecx,%ebp 821 movl %edx,60(%edi) 822 orl %edx,%ebp 823 xorl %ebx,%ebx 824 movl 488(%esp),%eax 825 subl %ebp,%ebx 826 leal 160(%esp),%esi 827 orl %ebp,%ebx 828 leal 160(%esp),%ebp 829 sarl $31,%ebx 830 leal 288(%esp),%edi 831 movl %ebx,484(%esp) 832 call _ecp_nistz256_mul_mont 833 movl 488(%esp),%eax 834 leal 192(%esp),%esi 835 movl %edi,%ebp 836 leal 256(%esp),%edi 837 call _ecp_nistz256_mul_mont 838 movl 488(%esp),%eax 839 leal 160(%esp),%esi 840 leal 288(%esp),%ebp 841 leal 288(%esp),%edi 842 call _ecp_nistz256_mul_mont 843 leal 256(%esp),%esi 844 leal 96(%esp),%ebp 845 leal 320(%esp),%edi 846 call _ecp_nistz256_sub 847 movl 488(%esp),%eax 848 leal 224(%esp),%esi 849 leal 288(%esp),%ebp 850 leal 288(%esp),%edi 851 call _ecp_nistz256_mul_mont 852 movl 488(%esp),%eax 853 leal 160(%esp),%esi 854 leal 320(%esp),%ebp 855 leal 64(%esp),%edi 856 call _ecp_nistz256_mul_mont 857 leal 288(%esp),%esi 858 leal 128(%esp),%ebp 859 leal 352(%esp),%edi 860 call _ecp_nistz256_sub 861 movl 488(%esp),%eax 862 leal 320(%esp),%esi 863 leal 320(%esp),%ebp 864 leal 384(%esp),%edi 865 call _ecp_nistz256_mul_mont 866 movl 488(%esp),%eax 867 leal 352(%esp),%esi 868 leal 352(%esp),%ebp 869 leal 448(%esp),%edi 870 call _ecp_nistz256_mul_mont 871 movl 488(%esp),%eax 872 leal 96(%esp),%esi 873 leal 384(%esp),%ebp 874 leal 256(%esp),%edi 875 call _ecp_nistz256_mul_mont 876 movl 488(%esp),%eax 877 leal 320(%esp),%esi 878 leal 384(%esp),%ebp 879 leal 416(%esp),%edi 880 call _ecp_nistz256_mul_mont 881 leal 256(%esp),%esi 882 leal 256(%esp),%ebp 883 leal 384(%esp),%edi 884 call _ecp_nistz256_add 885 leal 448(%esp),%esi 886 leal 384(%esp),%ebp 887 leal (%esp),%edi 888 call _ecp_nistz256_sub 889 leal (%esp),%esi 890 leal 416(%esp),%ebp 891 leal (%esp),%edi 892 call _ecp_nistz256_sub 893 leal 256(%esp),%esi 894 leal (%esp),%ebp 895 leal 32(%esp),%edi 896 call _ecp_nistz256_sub 897 movl 488(%esp),%eax 898 leal 416(%esp),%esi 899 leal 128(%esp),%ebp 900 leal 288(%esp),%edi 901 call _ecp_nistz256_mul_mont 902 movl 488(%esp),%eax 903 leal 352(%esp),%esi 904 leal 32(%esp),%ebp 905 leal 32(%esp),%edi 906 call _ecp_nistz256_mul_mont 907 leal 32(%esp),%esi 908 leal 288(%esp),%ebp 909 leal 32(%esp),%edi 910 call _ecp_nistz256_sub 911 movl 480(%esp),%ebp 912 movl 484(%esp),%esi 913 movl 512(%esp),%edi 914 movl %ebp,%edx 915 notl %ebp 916 andl %esi,%edx 917 andl %esi,%ebp 918 notl %esi 919 movl %edx,%eax 920 andl 64(%esp),%eax 921 movl %ebp,%ebx 922 andl $1,%ebx 923 movl %esi,%ecx 924 andl 160(%esp),%ecx 925 orl %ebx,%eax 926 orl %ecx,%eax 927 movl %eax,64(%edi) 928 movl %edx,%eax 929 andl 68(%esp),%eax 930 movl %esi,%ecx 931 andl 164(%esp),%ecx 932 orl %ecx,%eax 933 movl %eax,68(%edi) 934 movl %edx,%eax 935 andl 72(%esp),%eax 936 movl %esi,%ecx 937 andl 168(%esp),%ecx 938 orl %ecx,%eax 939 movl %eax,72(%edi) 940 movl %edx,%eax 941 andl 76(%esp),%eax 942 movl %esi,%ecx 943 andl 172(%esp),%ecx 944 orl %ebp,%eax 945 orl %ecx,%eax 946 movl %eax,76(%edi) 947 movl %edx,%eax 948 andl 80(%esp),%eax 949 movl %esi,%ecx 950 andl 176(%esp),%ecx 951 orl %ebp,%eax 952 orl %ecx,%eax 953 movl %eax,80(%edi) 954 movl %edx,%eax 955 andl 84(%esp),%eax 956 movl %esi,%ecx 957 andl 180(%esp),%ecx 958 orl %ebp,%eax 959 orl %ecx,%eax 960 movl %eax,84(%edi) 961 movl %edx,%eax 962 andl 88(%esp),%eax 963 movl %ebp,%ebx 964 andl $-2,%ebx 965 movl %esi,%ecx 966 andl 184(%esp),%ecx 967 orl %ebx,%eax 968 orl %ecx,%eax 969 movl %eax,88(%edi) 970 movl %edx,%eax 971 andl 92(%esp),%eax 972 movl %esi,%ecx 973 andl 188(%esp),%ecx 974 orl %ecx,%eax 975 movl %eax,92(%edi) 976 movl %edx,%eax 977 andl (%esp),%eax 978 movl %ebp,%ebx 979 andl 192(%esp),%ebx 980 movl %esi,%ecx 981 andl 96(%esp),%ecx 982 orl %ebx,%eax 983 orl %ecx,%eax 984 movl %eax,(%edi) 985 movl %edx,%eax 986 andl 4(%esp),%eax 987 movl %ebp,%ebx 988 andl 196(%esp),%ebx 989 movl %esi,%ecx 990 andl 100(%esp),%ecx 991 orl %ebx,%eax 992 orl %ecx,%eax 993 movl %eax,4(%edi) 994 movl %edx,%eax 995 andl 8(%esp),%eax 996 movl %ebp,%ebx 997 andl 200(%esp),%ebx 998 movl %esi,%ecx 999 andl 104(%esp),%ecx 1000 orl %ebx,%eax 1001 orl %ecx,%eax 1002 movl %eax,8(%edi) 1003 movl %edx,%eax 1004 andl 12(%esp),%eax 1005 movl %ebp,%ebx 1006 andl 204(%esp),%ebx 1007 movl %esi,%ecx 1008 andl 108(%esp),%ecx 1009 orl %ebx,%eax 1010 orl %ecx,%eax 1011 movl %eax,12(%edi) 1012 movl %edx,%eax 1013 andl 16(%esp),%eax 1014 movl %ebp,%ebx 1015 andl 208(%esp),%ebx 1016 movl %esi,%ecx 1017 andl 112(%esp),%ecx 1018 orl %ebx,%eax 1019 orl %ecx,%eax 1020 movl %eax,16(%edi) 1021 movl %edx,%eax 1022 andl 20(%esp),%eax 1023 movl %ebp,%ebx 1024 andl 212(%esp),%ebx 1025 movl %esi,%ecx 1026 andl 116(%esp),%ecx 1027 orl %ebx,%eax 1028 orl %ecx,%eax 1029 movl %eax,20(%edi) 1030 movl %edx,%eax 1031 andl 24(%esp),%eax 1032 movl %ebp,%ebx 1033 andl 216(%esp),%ebx 1034 movl %esi,%ecx 1035 andl 120(%esp),%ecx 1036 orl %ebx,%eax 1037 orl %ecx,%eax 1038 movl %eax,24(%edi) 1039 movl %edx,%eax 1040 andl 28(%esp),%eax 1041 movl %ebp,%ebx 1042 andl 220(%esp),%ebx 1043 movl %esi,%ecx 1044 andl 124(%esp),%ecx 1045 orl %ebx,%eax 1046 orl %ecx,%eax 1047 movl %eax,28(%edi) 1048 movl %edx,%eax 1049 andl 32(%esp),%eax 1050 movl %ebp,%ebx 1051 andl 224(%esp),%ebx 1052 movl %esi,%ecx 1053 andl 128(%esp),%ecx 1054 orl %ebx,%eax 1055 orl %ecx,%eax 1056 movl %eax,32(%edi) 1057 movl %edx,%eax 1058 andl 36(%esp),%eax 1059 movl %ebp,%ebx 1060 andl 228(%esp),%ebx 1061 movl %esi,%ecx 1062 andl 132(%esp),%ecx 1063 orl %ebx,%eax 1064 orl %ecx,%eax 1065 movl %eax,36(%edi) 1066 movl %edx,%eax 1067 andl 40(%esp),%eax 1068 movl %ebp,%ebx 1069 andl 232(%esp),%ebx 1070 movl %esi,%ecx 1071 andl 136(%esp),%ecx 1072 orl %ebx,%eax 1073 orl %ecx,%eax 1074 movl %eax,40(%edi) 1075 movl %edx,%eax 1076 andl 44(%esp),%eax 1077 movl %ebp,%ebx 1078 andl 236(%esp),%ebx 1079 movl %esi,%ecx 1080 andl 140(%esp),%ecx 1081 orl %ebx,%eax 1082 orl %ecx,%eax 1083 movl %eax,44(%edi) 1084 movl %edx,%eax 1085 andl 48(%esp),%eax 1086 movl %ebp,%ebx 1087 andl 240(%esp),%ebx 1088 movl %esi,%ecx 1089 andl 144(%esp),%ecx 1090 orl %ebx,%eax 1091 orl %ecx,%eax 1092 movl %eax,48(%edi) 1093 movl %edx,%eax 1094 andl 52(%esp),%eax 1095 movl %ebp,%ebx 1096 andl 244(%esp),%ebx 1097 movl %esi,%ecx 1098 andl 148(%esp),%ecx 1099 orl %ebx,%eax 1100 orl %ecx,%eax 1101 movl %eax,52(%edi) 1102 movl %edx,%eax 1103 andl 56(%esp),%eax 1104 movl %ebp,%ebx 1105 andl 248(%esp),%ebx 1106 movl %esi,%ecx 1107 andl 152(%esp),%ecx 1108 orl %ebx,%eax 1109 orl %ecx,%eax 1110 movl %eax,56(%edi) 1111 movl %edx,%eax 1112 andl 60(%esp),%eax 1113 movl %ebp,%ebx 1114 andl 252(%esp),%ebx 1115 movl %esi,%ecx 1116 andl 156(%esp),%ecx 1117 orl %ebx,%eax 1118 orl %ecx,%eax 1119 movl %eax,60(%edi) 1120 addl $492,%esp 1121 popl %edi 1122 popl %esi 1123 popl %ebx 1124 popl %ebp 1125 ret 1126.size GFp_nistz256_point_add_affine,.-.L_GFp_nistz256_point_add_affine_begin 1127#endif 1128.section .note.GNU-stack,"",@progbits 1129