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