github.com/icodeface/tls@v0.0.0-20230910023335-34df9250cd12/internal/x/crypto/curve25519/ladderstep_amd64.s (about) 1 // Copyright 2012 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 // This code was translated into a form compatible with 6a from the public 6 // domain sources in SUPERCOP: https://bench.cr.yp.to/supercop.html 7 8 // +build amd64,!gccgo,!appengine 9 10 #include "const_amd64.h" 11 12 // func ladderstep(inout *[5][5]uint64) 13 TEXT ·ladderstep(SB),0,$296-8 14 MOVQ inout+0(FP),DI 15 16 MOVQ 40(DI),SI 17 MOVQ 48(DI),DX 18 MOVQ 56(DI),CX 19 MOVQ 64(DI),R8 20 MOVQ 72(DI),R9 21 MOVQ SI,AX 22 MOVQ DX,R10 23 MOVQ CX,R11 24 MOVQ R8,R12 25 MOVQ R9,R13 26 ADDQ ·_2P0(SB),AX 27 ADDQ ·_2P1234(SB),R10 28 ADDQ ·_2P1234(SB),R11 29 ADDQ ·_2P1234(SB),R12 30 ADDQ ·_2P1234(SB),R13 31 ADDQ 80(DI),SI 32 ADDQ 88(DI),DX 33 ADDQ 96(DI),CX 34 ADDQ 104(DI),R8 35 ADDQ 112(DI),R9 36 SUBQ 80(DI),AX 37 SUBQ 88(DI),R10 38 SUBQ 96(DI),R11 39 SUBQ 104(DI),R12 40 SUBQ 112(DI),R13 41 MOVQ SI,0(SP) 42 MOVQ DX,8(SP) 43 MOVQ CX,16(SP) 44 MOVQ R8,24(SP) 45 MOVQ R9,32(SP) 46 MOVQ AX,40(SP) 47 MOVQ R10,48(SP) 48 MOVQ R11,56(SP) 49 MOVQ R12,64(SP) 50 MOVQ R13,72(SP) 51 MOVQ 40(SP),AX 52 MULQ 40(SP) 53 MOVQ AX,SI 54 MOVQ DX,CX 55 MOVQ 40(SP),AX 56 SHLQ $1,AX 57 MULQ 48(SP) 58 MOVQ AX,R8 59 MOVQ DX,R9 60 MOVQ 40(SP),AX 61 SHLQ $1,AX 62 MULQ 56(SP) 63 MOVQ AX,R10 64 MOVQ DX,R11 65 MOVQ 40(SP),AX 66 SHLQ $1,AX 67 MULQ 64(SP) 68 MOVQ AX,R12 69 MOVQ DX,R13 70 MOVQ 40(SP),AX 71 SHLQ $1,AX 72 MULQ 72(SP) 73 MOVQ AX,R14 74 MOVQ DX,R15 75 MOVQ 48(SP),AX 76 MULQ 48(SP) 77 ADDQ AX,R10 78 ADCQ DX,R11 79 MOVQ 48(SP),AX 80 SHLQ $1,AX 81 MULQ 56(SP) 82 ADDQ AX,R12 83 ADCQ DX,R13 84 MOVQ 48(SP),AX 85 SHLQ $1,AX 86 MULQ 64(SP) 87 ADDQ AX,R14 88 ADCQ DX,R15 89 MOVQ 48(SP),DX 90 IMUL3Q $38,DX,AX 91 MULQ 72(SP) 92 ADDQ AX,SI 93 ADCQ DX,CX 94 MOVQ 56(SP),AX 95 MULQ 56(SP) 96 ADDQ AX,R14 97 ADCQ DX,R15 98 MOVQ 56(SP),DX 99 IMUL3Q $38,DX,AX 100 MULQ 64(SP) 101 ADDQ AX,SI 102 ADCQ DX,CX 103 MOVQ 56(SP),DX 104 IMUL3Q $38,DX,AX 105 MULQ 72(SP) 106 ADDQ AX,R8 107 ADCQ DX,R9 108 MOVQ 64(SP),DX 109 IMUL3Q $19,DX,AX 110 MULQ 64(SP) 111 ADDQ AX,R8 112 ADCQ DX,R9 113 MOVQ 64(SP),DX 114 IMUL3Q $38,DX,AX 115 MULQ 72(SP) 116 ADDQ AX,R10 117 ADCQ DX,R11 118 MOVQ 72(SP),DX 119 IMUL3Q $19,DX,AX 120 MULQ 72(SP) 121 ADDQ AX,R12 122 ADCQ DX,R13 123 MOVQ $REDMASK51,DX 124 SHLQ $13,CX:SI 125 ANDQ DX,SI 126 SHLQ $13,R9:R8 127 ANDQ DX,R8 128 ADDQ CX,R8 129 SHLQ $13,R11:R10 130 ANDQ DX,R10 131 ADDQ R9,R10 132 SHLQ $13,R13:R12 133 ANDQ DX,R12 134 ADDQ R11,R12 135 SHLQ $13,R15:R14 136 ANDQ DX,R14 137 ADDQ R13,R14 138 IMUL3Q $19,R15,CX 139 ADDQ CX,SI 140 MOVQ SI,CX 141 SHRQ $51,CX 142 ADDQ R8,CX 143 ANDQ DX,SI 144 MOVQ CX,R8 145 SHRQ $51,CX 146 ADDQ R10,CX 147 ANDQ DX,R8 148 MOVQ CX,R9 149 SHRQ $51,CX 150 ADDQ R12,CX 151 ANDQ DX,R9 152 MOVQ CX,AX 153 SHRQ $51,CX 154 ADDQ R14,CX 155 ANDQ DX,AX 156 MOVQ CX,R10 157 SHRQ $51,CX 158 IMUL3Q $19,CX,CX 159 ADDQ CX,SI 160 ANDQ DX,R10 161 MOVQ SI,80(SP) 162 MOVQ R8,88(SP) 163 MOVQ R9,96(SP) 164 MOVQ AX,104(SP) 165 MOVQ R10,112(SP) 166 MOVQ 0(SP),AX 167 MULQ 0(SP) 168 MOVQ AX,SI 169 MOVQ DX,CX 170 MOVQ 0(SP),AX 171 SHLQ $1,AX 172 MULQ 8(SP) 173 MOVQ AX,R8 174 MOVQ DX,R9 175 MOVQ 0(SP),AX 176 SHLQ $1,AX 177 MULQ 16(SP) 178 MOVQ AX,R10 179 MOVQ DX,R11 180 MOVQ 0(SP),AX 181 SHLQ $1,AX 182 MULQ 24(SP) 183 MOVQ AX,R12 184 MOVQ DX,R13 185 MOVQ 0(SP),AX 186 SHLQ $1,AX 187 MULQ 32(SP) 188 MOVQ AX,R14 189 MOVQ DX,R15 190 MOVQ 8(SP),AX 191 MULQ 8(SP) 192 ADDQ AX,R10 193 ADCQ DX,R11 194 MOVQ 8(SP),AX 195 SHLQ $1,AX 196 MULQ 16(SP) 197 ADDQ AX,R12 198 ADCQ DX,R13 199 MOVQ 8(SP),AX 200 SHLQ $1,AX 201 MULQ 24(SP) 202 ADDQ AX,R14 203 ADCQ DX,R15 204 MOVQ 8(SP),DX 205 IMUL3Q $38,DX,AX 206 MULQ 32(SP) 207 ADDQ AX,SI 208 ADCQ DX,CX 209 MOVQ 16(SP),AX 210 MULQ 16(SP) 211 ADDQ AX,R14 212 ADCQ DX,R15 213 MOVQ 16(SP),DX 214 IMUL3Q $38,DX,AX 215 MULQ 24(SP) 216 ADDQ AX,SI 217 ADCQ DX,CX 218 MOVQ 16(SP),DX 219 IMUL3Q $38,DX,AX 220 MULQ 32(SP) 221 ADDQ AX,R8 222 ADCQ DX,R9 223 MOVQ 24(SP),DX 224 IMUL3Q $19,DX,AX 225 MULQ 24(SP) 226 ADDQ AX,R8 227 ADCQ DX,R9 228 MOVQ 24(SP),DX 229 IMUL3Q $38,DX,AX 230 MULQ 32(SP) 231 ADDQ AX,R10 232 ADCQ DX,R11 233 MOVQ 32(SP),DX 234 IMUL3Q $19,DX,AX 235 MULQ 32(SP) 236 ADDQ AX,R12 237 ADCQ DX,R13 238 MOVQ $REDMASK51,DX 239 SHLQ $13,CX:SI 240 ANDQ DX,SI 241 SHLQ $13,R9:R8 242 ANDQ DX,R8 243 ADDQ CX,R8 244 SHLQ $13,R11:R10 245 ANDQ DX,R10 246 ADDQ R9,R10 247 SHLQ $13,R13:R12 248 ANDQ DX,R12 249 ADDQ R11,R12 250 SHLQ $13,R15:R14 251 ANDQ DX,R14 252 ADDQ R13,R14 253 IMUL3Q $19,R15,CX 254 ADDQ CX,SI 255 MOVQ SI,CX 256 SHRQ $51,CX 257 ADDQ R8,CX 258 ANDQ DX,SI 259 MOVQ CX,R8 260 SHRQ $51,CX 261 ADDQ R10,CX 262 ANDQ DX,R8 263 MOVQ CX,R9 264 SHRQ $51,CX 265 ADDQ R12,CX 266 ANDQ DX,R9 267 MOVQ CX,AX 268 SHRQ $51,CX 269 ADDQ R14,CX 270 ANDQ DX,AX 271 MOVQ CX,R10 272 SHRQ $51,CX 273 IMUL3Q $19,CX,CX 274 ADDQ CX,SI 275 ANDQ DX,R10 276 MOVQ SI,120(SP) 277 MOVQ R8,128(SP) 278 MOVQ R9,136(SP) 279 MOVQ AX,144(SP) 280 MOVQ R10,152(SP) 281 MOVQ SI,SI 282 MOVQ R8,DX 283 MOVQ R9,CX 284 MOVQ AX,R8 285 MOVQ R10,R9 286 ADDQ ·_2P0(SB),SI 287 ADDQ ·_2P1234(SB),DX 288 ADDQ ·_2P1234(SB),CX 289 ADDQ ·_2P1234(SB),R8 290 ADDQ ·_2P1234(SB),R9 291 SUBQ 80(SP),SI 292 SUBQ 88(SP),DX 293 SUBQ 96(SP),CX 294 SUBQ 104(SP),R8 295 SUBQ 112(SP),R9 296 MOVQ SI,160(SP) 297 MOVQ DX,168(SP) 298 MOVQ CX,176(SP) 299 MOVQ R8,184(SP) 300 MOVQ R9,192(SP) 301 MOVQ 120(DI),SI 302 MOVQ 128(DI),DX 303 MOVQ 136(DI),CX 304 MOVQ 144(DI),R8 305 MOVQ 152(DI),R9 306 MOVQ SI,AX 307 MOVQ DX,R10 308 MOVQ CX,R11 309 MOVQ R8,R12 310 MOVQ R9,R13 311 ADDQ ·_2P0(SB),AX 312 ADDQ ·_2P1234(SB),R10 313 ADDQ ·_2P1234(SB),R11 314 ADDQ ·_2P1234(SB),R12 315 ADDQ ·_2P1234(SB),R13 316 ADDQ 160(DI),SI 317 ADDQ 168(DI),DX 318 ADDQ 176(DI),CX 319 ADDQ 184(DI),R8 320 ADDQ 192(DI),R9 321 SUBQ 160(DI),AX 322 SUBQ 168(DI),R10 323 SUBQ 176(DI),R11 324 SUBQ 184(DI),R12 325 SUBQ 192(DI),R13 326 MOVQ SI,200(SP) 327 MOVQ DX,208(SP) 328 MOVQ CX,216(SP) 329 MOVQ R8,224(SP) 330 MOVQ R9,232(SP) 331 MOVQ AX,240(SP) 332 MOVQ R10,248(SP) 333 MOVQ R11,256(SP) 334 MOVQ R12,264(SP) 335 MOVQ R13,272(SP) 336 MOVQ 224(SP),SI 337 IMUL3Q $19,SI,AX 338 MOVQ AX,280(SP) 339 MULQ 56(SP) 340 MOVQ AX,SI 341 MOVQ DX,CX 342 MOVQ 232(SP),DX 343 IMUL3Q $19,DX,AX 344 MOVQ AX,288(SP) 345 MULQ 48(SP) 346 ADDQ AX,SI 347 ADCQ DX,CX 348 MOVQ 200(SP),AX 349 MULQ 40(SP) 350 ADDQ AX,SI 351 ADCQ DX,CX 352 MOVQ 200(SP),AX 353 MULQ 48(SP) 354 MOVQ AX,R8 355 MOVQ DX,R9 356 MOVQ 200(SP),AX 357 MULQ 56(SP) 358 MOVQ AX,R10 359 MOVQ DX,R11 360 MOVQ 200(SP),AX 361 MULQ 64(SP) 362 MOVQ AX,R12 363 MOVQ DX,R13 364 MOVQ 200(SP),AX 365 MULQ 72(SP) 366 MOVQ AX,R14 367 MOVQ DX,R15 368 MOVQ 208(SP),AX 369 MULQ 40(SP) 370 ADDQ AX,R8 371 ADCQ DX,R9 372 MOVQ 208(SP),AX 373 MULQ 48(SP) 374 ADDQ AX,R10 375 ADCQ DX,R11 376 MOVQ 208(SP),AX 377 MULQ 56(SP) 378 ADDQ AX,R12 379 ADCQ DX,R13 380 MOVQ 208(SP),AX 381 MULQ 64(SP) 382 ADDQ AX,R14 383 ADCQ DX,R15 384 MOVQ 208(SP),DX 385 IMUL3Q $19,DX,AX 386 MULQ 72(SP) 387 ADDQ AX,SI 388 ADCQ DX,CX 389 MOVQ 216(SP),AX 390 MULQ 40(SP) 391 ADDQ AX,R10 392 ADCQ DX,R11 393 MOVQ 216(SP),AX 394 MULQ 48(SP) 395 ADDQ AX,R12 396 ADCQ DX,R13 397 MOVQ 216(SP),AX 398 MULQ 56(SP) 399 ADDQ AX,R14 400 ADCQ DX,R15 401 MOVQ 216(SP),DX 402 IMUL3Q $19,DX,AX 403 MULQ 64(SP) 404 ADDQ AX,SI 405 ADCQ DX,CX 406 MOVQ 216(SP),DX 407 IMUL3Q $19,DX,AX 408 MULQ 72(SP) 409 ADDQ AX,R8 410 ADCQ DX,R9 411 MOVQ 224(SP),AX 412 MULQ 40(SP) 413 ADDQ AX,R12 414 ADCQ DX,R13 415 MOVQ 224(SP),AX 416 MULQ 48(SP) 417 ADDQ AX,R14 418 ADCQ DX,R15 419 MOVQ 280(SP),AX 420 MULQ 64(SP) 421 ADDQ AX,R8 422 ADCQ DX,R9 423 MOVQ 280(SP),AX 424 MULQ 72(SP) 425 ADDQ AX,R10 426 ADCQ DX,R11 427 MOVQ 232(SP),AX 428 MULQ 40(SP) 429 ADDQ AX,R14 430 ADCQ DX,R15 431 MOVQ 288(SP),AX 432 MULQ 56(SP) 433 ADDQ AX,R8 434 ADCQ DX,R9 435 MOVQ 288(SP),AX 436 MULQ 64(SP) 437 ADDQ AX,R10 438 ADCQ DX,R11 439 MOVQ 288(SP),AX 440 MULQ 72(SP) 441 ADDQ AX,R12 442 ADCQ DX,R13 443 MOVQ $REDMASK51,DX 444 SHLQ $13,CX:SI 445 ANDQ DX,SI 446 SHLQ $13,R9:R8 447 ANDQ DX,R8 448 ADDQ CX,R8 449 SHLQ $13,R11:R10 450 ANDQ DX,R10 451 ADDQ R9,R10 452 SHLQ $13,R13:R12 453 ANDQ DX,R12 454 ADDQ R11,R12 455 SHLQ $13,R15:R14 456 ANDQ DX,R14 457 ADDQ R13,R14 458 IMUL3Q $19,R15,CX 459 ADDQ CX,SI 460 MOVQ SI,CX 461 SHRQ $51,CX 462 ADDQ R8,CX 463 MOVQ CX,R8 464 SHRQ $51,CX 465 ANDQ DX,SI 466 ADDQ R10,CX 467 MOVQ CX,R9 468 SHRQ $51,CX 469 ANDQ DX,R8 470 ADDQ R12,CX 471 MOVQ CX,AX 472 SHRQ $51,CX 473 ANDQ DX,R9 474 ADDQ R14,CX 475 MOVQ CX,R10 476 SHRQ $51,CX 477 ANDQ DX,AX 478 IMUL3Q $19,CX,CX 479 ADDQ CX,SI 480 ANDQ DX,R10 481 MOVQ SI,40(SP) 482 MOVQ R8,48(SP) 483 MOVQ R9,56(SP) 484 MOVQ AX,64(SP) 485 MOVQ R10,72(SP) 486 MOVQ 264(SP),SI 487 IMUL3Q $19,SI,AX 488 MOVQ AX,200(SP) 489 MULQ 16(SP) 490 MOVQ AX,SI 491 MOVQ DX,CX 492 MOVQ 272(SP),DX 493 IMUL3Q $19,DX,AX 494 MOVQ AX,208(SP) 495 MULQ 8(SP) 496 ADDQ AX,SI 497 ADCQ DX,CX 498 MOVQ 240(SP),AX 499 MULQ 0(SP) 500 ADDQ AX,SI 501 ADCQ DX,CX 502 MOVQ 240(SP),AX 503 MULQ 8(SP) 504 MOVQ AX,R8 505 MOVQ DX,R9 506 MOVQ 240(SP),AX 507 MULQ 16(SP) 508 MOVQ AX,R10 509 MOVQ DX,R11 510 MOVQ 240(SP),AX 511 MULQ 24(SP) 512 MOVQ AX,R12 513 MOVQ DX,R13 514 MOVQ 240(SP),AX 515 MULQ 32(SP) 516 MOVQ AX,R14 517 MOVQ DX,R15 518 MOVQ 248(SP),AX 519 MULQ 0(SP) 520 ADDQ AX,R8 521 ADCQ DX,R9 522 MOVQ 248(SP),AX 523 MULQ 8(SP) 524 ADDQ AX,R10 525 ADCQ DX,R11 526 MOVQ 248(SP),AX 527 MULQ 16(SP) 528 ADDQ AX,R12 529 ADCQ DX,R13 530 MOVQ 248(SP),AX 531 MULQ 24(SP) 532 ADDQ AX,R14 533 ADCQ DX,R15 534 MOVQ 248(SP),DX 535 IMUL3Q $19,DX,AX 536 MULQ 32(SP) 537 ADDQ AX,SI 538 ADCQ DX,CX 539 MOVQ 256(SP),AX 540 MULQ 0(SP) 541 ADDQ AX,R10 542 ADCQ DX,R11 543 MOVQ 256(SP),AX 544 MULQ 8(SP) 545 ADDQ AX,R12 546 ADCQ DX,R13 547 MOVQ 256(SP),AX 548 MULQ 16(SP) 549 ADDQ AX,R14 550 ADCQ DX,R15 551 MOVQ 256(SP),DX 552 IMUL3Q $19,DX,AX 553 MULQ 24(SP) 554 ADDQ AX,SI 555 ADCQ DX,CX 556 MOVQ 256(SP),DX 557 IMUL3Q $19,DX,AX 558 MULQ 32(SP) 559 ADDQ AX,R8 560 ADCQ DX,R9 561 MOVQ 264(SP),AX 562 MULQ 0(SP) 563 ADDQ AX,R12 564 ADCQ DX,R13 565 MOVQ 264(SP),AX 566 MULQ 8(SP) 567 ADDQ AX,R14 568 ADCQ DX,R15 569 MOVQ 200(SP),AX 570 MULQ 24(SP) 571 ADDQ AX,R8 572 ADCQ DX,R9 573 MOVQ 200(SP),AX 574 MULQ 32(SP) 575 ADDQ AX,R10 576 ADCQ DX,R11 577 MOVQ 272(SP),AX 578 MULQ 0(SP) 579 ADDQ AX,R14 580 ADCQ DX,R15 581 MOVQ 208(SP),AX 582 MULQ 16(SP) 583 ADDQ AX,R8 584 ADCQ DX,R9 585 MOVQ 208(SP),AX 586 MULQ 24(SP) 587 ADDQ AX,R10 588 ADCQ DX,R11 589 MOVQ 208(SP),AX 590 MULQ 32(SP) 591 ADDQ AX,R12 592 ADCQ DX,R13 593 MOVQ $REDMASK51,DX 594 SHLQ $13,CX:SI 595 ANDQ DX,SI 596 SHLQ $13,R9:R8 597 ANDQ DX,R8 598 ADDQ CX,R8 599 SHLQ $13,R11:R10 600 ANDQ DX,R10 601 ADDQ R9,R10 602 SHLQ $13,R13:R12 603 ANDQ DX,R12 604 ADDQ R11,R12 605 SHLQ $13,R15:R14 606 ANDQ DX,R14 607 ADDQ R13,R14 608 IMUL3Q $19,R15,CX 609 ADDQ CX,SI 610 MOVQ SI,CX 611 SHRQ $51,CX 612 ADDQ R8,CX 613 MOVQ CX,R8 614 SHRQ $51,CX 615 ANDQ DX,SI 616 ADDQ R10,CX 617 MOVQ CX,R9 618 SHRQ $51,CX 619 ANDQ DX,R8 620 ADDQ R12,CX 621 MOVQ CX,AX 622 SHRQ $51,CX 623 ANDQ DX,R9 624 ADDQ R14,CX 625 MOVQ CX,R10 626 SHRQ $51,CX 627 ANDQ DX,AX 628 IMUL3Q $19,CX,CX 629 ADDQ CX,SI 630 ANDQ DX,R10 631 MOVQ SI,DX 632 MOVQ R8,CX 633 MOVQ R9,R11 634 MOVQ AX,R12 635 MOVQ R10,R13 636 ADDQ ·_2P0(SB),DX 637 ADDQ ·_2P1234(SB),CX 638 ADDQ ·_2P1234(SB),R11 639 ADDQ ·_2P1234(SB),R12 640 ADDQ ·_2P1234(SB),R13 641 ADDQ 40(SP),SI 642 ADDQ 48(SP),R8 643 ADDQ 56(SP),R9 644 ADDQ 64(SP),AX 645 ADDQ 72(SP),R10 646 SUBQ 40(SP),DX 647 SUBQ 48(SP),CX 648 SUBQ 56(SP),R11 649 SUBQ 64(SP),R12 650 SUBQ 72(SP),R13 651 MOVQ SI,120(DI) 652 MOVQ R8,128(DI) 653 MOVQ R9,136(DI) 654 MOVQ AX,144(DI) 655 MOVQ R10,152(DI) 656 MOVQ DX,160(DI) 657 MOVQ CX,168(DI) 658 MOVQ R11,176(DI) 659 MOVQ R12,184(DI) 660 MOVQ R13,192(DI) 661 MOVQ 120(DI),AX 662 MULQ 120(DI) 663 MOVQ AX,SI 664 MOVQ DX,CX 665 MOVQ 120(DI),AX 666 SHLQ $1,AX 667 MULQ 128(DI) 668 MOVQ AX,R8 669 MOVQ DX,R9 670 MOVQ 120(DI),AX 671 SHLQ $1,AX 672 MULQ 136(DI) 673 MOVQ AX,R10 674 MOVQ DX,R11 675 MOVQ 120(DI),AX 676 SHLQ $1,AX 677 MULQ 144(DI) 678 MOVQ AX,R12 679 MOVQ DX,R13 680 MOVQ 120(DI),AX 681 SHLQ $1,AX 682 MULQ 152(DI) 683 MOVQ AX,R14 684 MOVQ DX,R15 685 MOVQ 128(DI),AX 686 MULQ 128(DI) 687 ADDQ AX,R10 688 ADCQ DX,R11 689 MOVQ 128(DI),AX 690 SHLQ $1,AX 691 MULQ 136(DI) 692 ADDQ AX,R12 693 ADCQ DX,R13 694 MOVQ 128(DI),AX 695 SHLQ $1,AX 696 MULQ 144(DI) 697 ADDQ AX,R14 698 ADCQ DX,R15 699 MOVQ 128(DI),DX 700 IMUL3Q $38,DX,AX 701 MULQ 152(DI) 702 ADDQ AX,SI 703 ADCQ DX,CX 704 MOVQ 136(DI),AX 705 MULQ 136(DI) 706 ADDQ AX,R14 707 ADCQ DX,R15 708 MOVQ 136(DI),DX 709 IMUL3Q $38,DX,AX 710 MULQ 144(DI) 711 ADDQ AX,SI 712 ADCQ DX,CX 713 MOVQ 136(DI),DX 714 IMUL3Q $38,DX,AX 715 MULQ 152(DI) 716 ADDQ AX,R8 717 ADCQ DX,R9 718 MOVQ 144(DI),DX 719 IMUL3Q $19,DX,AX 720 MULQ 144(DI) 721 ADDQ AX,R8 722 ADCQ DX,R9 723 MOVQ 144(DI),DX 724 IMUL3Q $38,DX,AX 725 MULQ 152(DI) 726 ADDQ AX,R10 727 ADCQ DX,R11 728 MOVQ 152(DI),DX 729 IMUL3Q $19,DX,AX 730 MULQ 152(DI) 731 ADDQ AX,R12 732 ADCQ DX,R13 733 MOVQ $REDMASK51,DX 734 SHLQ $13,CX:SI 735 ANDQ DX,SI 736 SHLQ $13,R9:R8 737 ANDQ DX,R8 738 ADDQ CX,R8 739 SHLQ $13,R11:R10 740 ANDQ DX,R10 741 ADDQ R9,R10 742 SHLQ $13,R13:R12 743 ANDQ DX,R12 744 ADDQ R11,R12 745 SHLQ $13,R15:R14 746 ANDQ DX,R14 747 ADDQ R13,R14 748 IMUL3Q $19,R15,CX 749 ADDQ CX,SI 750 MOVQ SI,CX 751 SHRQ $51,CX 752 ADDQ R8,CX 753 ANDQ DX,SI 754 MOVQ CX,R8 755 SHRQ $51,CX 756 ADDQ R10,CX 757 ANDQ DX,R8 758 MOVQ CX,R9 759 SHRQ $51,CX 760 ADDQ R12,CX 761 ANDQ DX,R9 762 MOVQ CX,AX 763 SHRQ $51,CX 764 ADDQ R14,CX 765 ANDQ DX,AX 766 MOVQ CX,R10 767 SHRQ $51,CX 768 IMUL3Q $19,CX,CX 769 ADDQ CX,SI 770 ANDQ DX,R10 771 MOVQ SI,120(DI) 772 MOVQ R8,128(DI) 773 MOVQ R9,136(DI) 774 MOVQ AX,144(DI) 775 MOVQ R10,152(DI) 776 MOVQ 160(DI),AX 777 MULQ 160(DI) 778 MOVQ AX,SI 779 MOVQ DX,CX 780 MOVQ 160(DI),AX 781 SHLQ $1,AX 782 MULQ 168(DI) 783 MOVQ AX,R8 784 MOVQ DX,R9 785 MOVQ 160(DI),AX 786 SHLQ $1,AX 787 MULQ 176(DI) 788 MOVQ AX,R10 789 MOVQ DX,R11 790 MOVQ 160(DI),AX 791 SHLQ $1,AX 792 MULQ 184(DI) 793 MOVQ AX,R12 794 MOVQ DX,R13 795 MOVQ 160(DI),AX 796 SHLQ $1,AX 797 MULQ 192(DI) 798 MOVQ AX,R14 799 MOVQ DX,R15 800 MOVQ 168(DI),AX 801 MULQ 168(DI) 802 ADDQ AX,R10 803 ADCQ DX,R11 804 MOVQ 168(DI),AX 805 SHLQ $1,AX 806 MULQ 176(DI) 807 ADDQ AX,R12 808 ADCQ DX,R13 809 MOVQ 168(DI),AX 810 SHLQ $1,AX 811 MULQ 184(DI) 812 ADDQ AX,R14 813 ADCQ DX,R15 814 MOVQ 168(DI),DX 815 IMUL3Q $38,DX,AX 816 MULQ 192(DI) 817 ADDQ AX,SI 818 ADCQ DX,CX 819 MOVQ 176(DI),AX 820 MULQ 176(DI) 821 ADDQ AX,R14 822 ADCQ DX,R15 823 MOVQ 176(DI),DX 824 IMUL3Q $38,DX,AX 825 MULQ 184(DI) 826 ADDQ AX,SI 827 ADCQ DX,CX 828 MOVQ 176(DI),DX 829 IMUL3Q $38,DX,AX 830 MULQ 192(DI) 831 ADDQ AX,R8 832 ADCQ DX,R9 833 MOVQ 184(DI),DX 834 IMUL3Q $19,DX,AX 835 MULQ 184(DI) 836 ADDQ AX,R8 837 ADCQ DX,R9 838 MOVQ 184(DI),DX 839 IMUL3Q $38,DX,AX 840 MULQ 192(DI) 841 ADDQ AX,R10 842 ADCQ DX,R11 843 MOVQ 192(DI),DX 844 IMUL3Q $19,DX,AX 845 MULQ 192(DI) 846 ADDQ AX,R12 847 ADCQ DX,R13 848 MOVQ $REDMASK51,DX 849 SHLQ $13,CX:SI 850 ANDQ DX,SI 851 SHLQ $13,R9:R8 852 ANDQ DX,R8 853 ADDQ CX,R8 854 SHLQ $13,R11:R10 855 ANDQ DX,R10 856 ADDQ R9,R10 857 SHLQ $13,R13:R12 858 ANDQ DX,R12 859 ADDQ R11,R12 860 SHLQ $13,R15:R14 861 ANDQ DX,R14 862 ADDQ R13,R14 863 IMUL3Q $19,R15,CX 864 ADDQ CX,SI 865 MOVQ SI,CX 866 SHRQ $51,CX 867 ADDQ R8,CX 868 ANDQ DX,SI 869 MOVQ CX,R8 870 SHRQ $51,CX 871 ADDQ R10,CX 872 ANDQ DX,R8 873 MOVQ CX,R9 874 SHRQ $51,CX 875 ADDQ R12,CX 876 ANDQ DX,R9 877 MOVQ CX,AX 878 SHRQ $51,CX 879 ADDQ R14,CX 880 ANDQ DX,AX 881 MOVQ CX,R10 882 SHRQ $51,CX 883 IMUL3Q $19,CX,CX 884 ADDQ CX,SI 885 ANDQ DX,R10 886 MOVQ SI,160(DI) 887 MOVQ R8,168(DI) 888 MOVQ R9,176(DI) 889 MOVQ AX,184(DI) 890 MOVQ R10,192(DI) 891 MOVQ 184(DI),SI 892 IMUL3Q $19,SI,AX 893 MOVQ AX,0(SP) 894 MULQ 16(DI) 895 MOVQ AX,SI 896 MOVQ DX,CX 897 MOVQ 192(DI),DX 898 IMUL3Q $19,DX,AX 899 MOVQ AX,8(SP) 900 MULQ 8(DI) 901 ADDQ AX,SI 902 ADCQ DX,CX 903 MOVQ 160(DI),AX 904 MULQ 0(DI) 905 ADDQ AX,SI 906 ADCQ DX,CX 907 MOVQ 160(DI),AX 908 MULQ 8(DI) 909 MOVQ AX,R8 910 MOVQ DX,R9 911 MOVQ 160(DI),AX 912 MULQ 16(DI) 913 MOVQ AX,R10 914 MOVQ DX,R11 915 MOVQ 160(DI),AX 916 MULQ 24(DI) 917 MOVQ AX,R12 918 MOVQ DX,R13 919 MOVQ 160(DI),AX 920 MULQ 32(DI) 921 MOVQ AX,R14 922 MOVQ DX,R15 923 MOVQ 168(DI),AX 924 MULQ 0(DI) 925 ADDQ AX,R8 926 ADCQ DX,R9 927 MOVQ 168(DI),AX 928 MULQ 8(DI) 929 ADDQ AX,R10 930 ADCQ DX,R11 931 MOVQ 168(DI),AX 932 MULQ 16(DI) 933 ADDQ AX,R12 934 ADCQ DX,R13 935 MOVQ 168(DI),AX 936 MULQ 24(DI) 937 ADDQ AX,R14 938 ADCQ DX,R15 939 MOVQ 168(DI),DX 940 IMUL3Q $19,DX,AX 941 MULQ 32(DI) 942 ADDQ AX,SI 943 ADCQ DX,CX 944 MOVQ 176(DI),AX 945 MULQ 0(DI) 946 ADDQ AX,R10 947 ADCQ DX,R11 948 MOVQ 176(DI),AX 949 MULQ 8(DI) 950 ADDQ AX,R12 951 ADCQ DX,R13 952 MOVQ 176(DI),AX 953 MULQ 16(DI) 954 ADDQ AX,R14 955 ADCQ DX,R15 956 MOVQ 176(DI),DX 957 IMUL3Q $19,DX,AX 958 MULQ 24(DI) 959 ADDQ AX,SI 960 ADCQ DX,CX 961 MOVQ 176(DI),DX 962 IMUL3Q $19,DX,AX 963 MULQ 32(DI) 964 ADDQ AX,R8 965 ADCQ DX,R9 966 MOVQ 184(DI),AX 967 MULQ 0(DI) 968 ADDQ AX,R12 969 ADCQ DX,R13 970 MOVQ 184(DI),AX 971 MULQ 8(DI) 972 ADDQ AX,R14 973 ADCQ DX,R15 974 MOVQ 0(SP),AX 975 MULQ 24(DI) 976 ADDQ AX,R8 977 ADCQ DX,R9 978 MOVQ 0(SP),AX 979 MULQ 32(DI) 980 ADDQ AX,R10 981 ADCQ DX,R11 982 MOVQ 192(DI),AX 983 MULQ 0(DI) 984 ADDQ AX,R14 985 ADCQ DX,R15 986 MOVQ 8(SP),AX 987 MULQ 16(DI) 988 ADDQ AX,R8 989 ADCQ DX,R9 990 MOVQ 8(SP),AX 991 MULQ 24(DI) 992 ADDQ AX,R10 993 ADCQ DX,R11 994 MOVQ 8(SP),AX 995 MULQ 32(DI) 996 ADDQ AX,R12 997 ADCQ DX,R13 998 MOVQ $REDMASK51,DX 999 SHLQ $13,CX:SI 1000 ANDQ DX,SI 1001 SHLQ $13,R9:R8 1002 ANDQ DX,R8 1003 ADDQ CX,R8 1004 SHLQ $13,R11:R10 1005 ANDQ DX,R10 1006 ADDQ R9,R10 1007 SHLQ $13,R13:R12 1008 ANDQ DX,R12 1009 ADDQ R11,R12 1010 SHLQ $13,R15:R14 1011 ANDQ DX,R14 1012 ADDQ R13,R14 1013 IMUL3Q $19,R15,CX 1014 ADDQ CX,SI 1015 MOVQ SI,CX 1016 SHRQ $51,CX 1017 ADDQ R8,CX 1018 MOVQ CX,R8 1019 SHRQ $51,CX 1020 ANDQ DX,SI 1021 ADDQ R10,CX 1022 MOVQ CX,R9 1023 SHRQ $51,CX 1024 ANDQ DX,R8 1025 ADDQ R12,CX 1026 MOVQ CX,AX 1027 SHRQ $51,CX 1028 ANDQ DX,R9 1029 ADDQ R14,CX 1030 MOVQ CX,R10 1031 SHRQ $51,CX 1032 ANDQ DX,AX 1033 IMUL3Q $19,CX,CX 1034 ADDQ CX,SI 1035 ANDQ DX,R10 1036 MOVQ SI,160(DI) 1037 MOVQ R8,168(DI) 1038 MOVQ R9,176(DI) 1039 MOVQ AX,184(DI) 1040 MOVQ R10,192(DI) 1041 MOVQ 144(SP),SI 1042 IMUL3Q $19,SI,AX 1043 MOVQ AX,0(SP) 1044 MULQ 96(SP) 1045 MOVQ AX,SI 1046 MOVQ DX,CX 1047 MOVQ 152(SP),DX 1048 IMUL3Q $19,DX,AX 1049 MOVQ AX,8(SP) 1050 MULQ 88(SP) 1051 ADDQ AX,SI 1052 ADCQ DX,CX 1053 MOVQ 120(SP),AX 1054 MULQ 80(SP) 1055 ADDQ AX,SI 1056 ADCQ DX,CX 1057 MOVQ 120(SP),AX 1058 MULQ 88(SP) 1059 MOVQ AX,R8 1060 MOVQ DX,R9 1061 MOVQ 120(SP),AX 1062 MULQ 96(SP) 1063 MOVQ AX,R10 1064 MOVQ DX,R11 1065 MOVQ 120(SP),AX 1066 MULQ 104(SP) 1067 MOVQ AX,R12 1068 MOVQ DX,R13 1069 MOVQ 120(SP),AX 1070 MULQ 112(SP) 1071 MOVQ AX,R14 1072 MOVQ DX,R15 1073 MOVQ 128(SP),AX 1074 MULQ 80(SP) 1075 ADDQ AX,R8 1076 ADCQ DX,R9 1077 MOVQ 128(SP),AX 1078 MULQ 88(SP) 1079 ADDQ AX,R10 1080 ADCQ DX,R11 1081 MOVQ 128(SP),AX 1082 MULQ 96(SP) 1083 ADDQ AX,R12 1084 ADCQ DX,R13 1085 MOVQ 128(SP),AX 1086 MULQ 104(SP) 1087 ADDQ AX,R14 1088 ADCQ DX,R15 1089 MOVQ 128(SP),DX 1090 IMUL3Q $19,DX,AX 1091 MULQ 112(SP) 1092 ADDQ AX,SI 1093 ADCQ DX,CX 1094 MOVQ 136(SP),AX 1095 MULQ 80(SP) 1096 ADDQ AX,R10 1097 ADCQ DX,R11 1098 MOVQ 136(SP),AX 1099 MULQ 88(SP) 1100 ADDQ AX,R12 1101 ADCQ DX,R13 1102 MOVQ 136(SP),AX 1103 MULQ 96(SP) 1104 ADDQ AX,R14 1105 ADCQ DX,R15 1106 MOVQ 136(SP),DX 1107 IMUL3Q $19,DX,AX 1108 MULQ 104(SP) 1109 ADDQ AX,SI 1110 ADCQ DX,CX 1111 MOVQ 136(SP),DX 1112 IMUL3Q $19,DX,AX 1113 MULQ 112(SP) 1114 ADDQ AX,R8 1115 ADCQ DX,R9 1116 MOVQ 144(SP),AX 1117 MULQ 80(SP) 1118 ADDQ AX,R12 1119 ADCQ DX,R13 1120 MOVQ 144(SP),AX 1121 MULQ 88(SP) 1122 ADDQ AX,R14 1123 ADCQ DX,R15 1124 MOVQ 0(SP),AX 1125 MULQ 104(SP) 1126 ADDQ AX,R8 1127 ADCQ DX,R9 1128 MOVQ 0(SP),AX 1129 MULQ 112(SP) 1130 ADDQ AX,R10 1131 ADCQ DX,R11 1132 MOVQ 152(SP),AX 1133 MULQ 80(SP) 1134 ADDQ AX,R14 1135 ADCQ DX,R15 1136 MOVQ 8(SP),AX 1137 MULQ 96(SP) 1138 ADDQ AX,R8 1139 ADCQ DX,R9 1140 MOVQ 8(SP),AX 1141 MULQ 104(SP) 1142 ADDQ AX,R10 1143 ADCQ DX,R11 1144 MOVQ 8(SP),AX 1145 MULQ 112(SP) 1146 ADDQ AX,R12 1147 ADCQ DX,R13 1148 MOVQ $REDMASK51,DX 1149 SHLQ $13,CX:SI 1150 ANDQ DX,SI 1151 SHLQ $13,R9:R8 1152 ANDQ DX,R8 1153 ADDQ CX,R8 1154 SHLQ $13,R11:R10 1155 ANDQ DX,R10 1156 ADDQ R9,R10 1157 SHLQ $13,R13:R12 1158 ANDQ DX,R12 1159 ADDQ R11,R12 1160 SHLQ $13,R15:R14 1161 ANDQ DX,R14 1162 ADDQ R13,R14 1163 IMUL3Q $19,R15,CX 1164 ADDQ CX,SI 1165 MOVQ SI,CX 1166 SHRQ $51,CX 1167 ADDQ R8,CX 1168 MOVQ CX,R8 1169 SHRQ $51,CX 1170 ANDQ DX,SI 1171 ADDQ R10,CX 1172 MOVQ CX,R9 1173 SHRQ $51,CX 1174 ANDQ DX,R8 1175 ADDQ R12,CX 1176 MOVQ CX,AX 1177 SHRQ $51,CX 1178 ANDQ DX,R9 1179 ADDQ R14,CX 1180 MOVQ CX,R10 1181 SHRQ $51,CX 1182 ANDQ DX,AX 1183 IMUL3Q $19,CX,CX 1184 ADDQ CX,SI 1185 ANDQ DX,R10 1186 MOVQ SI,40(DI) 1187 MOVQ R8,48(DI) 1188 MOVQ R9,56(DI) 1189 MOVQ AX,64(DI) 1190 MOVQ R10,72(DI) 1191 MOVQ 160(SP),AX 1192 MULQ ·_121666_213(SB) 1193 SHRQ $13,AX 1194 MOVQ AX,SI 1195 MOVQ DX,CX 1196 MOVQ 168(SP),AX 1197 MULQ ·_121666_213(SB) 1198 SHRQ $13,AX 1199 ADDQ AX,CX 1200 MOVQ DX,R8 1201 MOVQ 176(SP),AX 1202 MULQ ·_121666_213(SB) 1203 SHRQ $13,AX 1204 ADDQ AX,R8 1205 MOVQ DX,R9 1206 MOVQ 184(SP),AX 1207 MULQ ·_121666_213(SB) 1208 SHRQ $13,AX 1209 ADDQ AX,R9 1210 MOVQ DX,R10 1211 MOVQ 192(SP),AX 1212 MULQ ·_121666_213(SB) 1213 SHRQ $13,AX 1214 ADDQ AX,R10 1215 IMUL3Q $19,DX,DX 1216 ADDQ DX,SI 1217 ADDQ 80(SP),SI 1218 ADDQ 88(SP),CX 1219 ADDQ 96(SP),R8 1220 ADDQ 104(SP),R9 1221 ADDQ 112(SP),R10 1222 MOVQ SI,80(DI) 1223 MOVQ CX,88(DI) 1224 MOVQ R8,96(DI) 1225 MOVQ R9,104(DI) 1226 MOVQ R10,112(DI) 1227 MOVQ 104(DI),SI 1228 IMUL3Q $19,SI,AX 1229 MOVQ AX,0(SP) 1230 MULQ 176(SP) 1231 MOVQ AX,SI 1232 MOVQ DX,CX 1233 MOVQ 112(DI),DX 1234 IMUL3Q $19,DX,AX 1235 MOVQ AX,8(SP) 1236 MULQ 168(SP) 1237 ADDQ AX,SI 1238 ADCQ DX,CX 1239 MOVQ 80(DI),AX 1240 MULQ 160(SP) 1241 ADDQ AX,SI 1242 ADCQ DX,CX 1243 MOVQ 80(DI),AX 1244 MULQ 168(SP) 1245 MOVQ AX,R8 1246 MOVQ DX,R9 1247 MOVQ 80(DI),AX 1248 MULQ 176(SP) 1249 MOVQ AX,R10 1250 MOVQ DX,R11 1251 MOVQ 80(DI),AX 1252 MULQ 184(SP) 1253 MOVQ AX,R12 1254 MOVQ DX,R13 1255 MOVQ 80(DI),AX 1256 MULQ 192(SP) 1257 MOVQ AX,R14 1258 MOVQ DX,R15 1259 MOVQ 88(DI),AX 1260 MULQ 160(SP) 1261 ADDQ AX,R8 1262 ADCQ DX,R9 1263 MOVQ 88(DI),AX 1264 MULQ 168(SP) 1265 ADDQ AX,R10 1266 ADCQ DX,R11 1267 MOVQ 88(DI),AX 1268 MULQ 176(SP) 1269 ADDQ AX,R12 1270 ADCQ DX,R13 1271 MOVQ 88(DI),AX 1272 MULQ 184(SP) 1273 ADDQ AX,R14 1274 ADCQ DX,R15 1275 MOVQ 88(DI),DX 1276 IMUL3Q $19,DX,AX 1277 MULQ 192(SP) 1278 ADDQ AX,SI 1279 ADCQ DX,CX 1280 MOVQ 96(DI),AX 1281 MULQ 160(SP) 1282 ADDQ AX,R10 1283 ADCQ DX,R11 1284 MOVQ 96(DI),AX 1285 MULQ 168(SP) 1286 ADDQ AX,R12 1287 ADCQ DX,R13 1288 MOVQ 96(DI),AX 1289 MULQ 176(SP) 1290 ADDQ AX,R14 1291 ADCQ DX,R15 1292 MOVQ 96(DI),DX 1293 IMUL3Q $19,DX,AX 1294 MULQ 184(SP) 1295 ADDQ AX,SI 1296 ADCQ DX,CX 1297 MOVQ 96(DI),DX 1298 IMUL3Q $19,DX,AX 1299 MULQ 192(SP) 1300 ADDQ AX,R8 1301 ADCQ DX,R9 1302 MOVQ 104(DI),AX 1303 MULQ 160(SP) 1304 ADDQ AX,R12 1305 ADCQ DX,R13 1306 MOVQ 104(DI),AX 1307 MULQ 168(SP) 1308 ADDQ AX,R14 1309 ADCQ DX,R15 1310 MOVQ 0(SP),AX 1311 MULQ 184(SP) 1312 ADDQ AX,R8 1313 ADCQ DX,R9 1314 MOVQ 0(SP),AX 1315 MULQ 192(SP) 1316 ADDQ AX,R10 1317 ADCQ DX,R11 1318 MOVQ 112(DI),AX 1319 MULQ 160(SP) 1320 ADDQ AX,R14 1321 ADCQ DX,R15 1322 MOVQ 8(SP),AX 1323 MULQ 176(SP) 1324 ADDQ AX,R8 1325 ADCQ DX,R9 1326 MOVQ 8(SP),AX 1327 MULQ 184(SP) 1328 ADDQ AX,R10 1329 ADCQ DX,R11 1330 MOVQ 8(SP),AX 1331 MULQ 192(SP) 1332 ADDQ AX,R12 1333 ADCQ DX,R13 1334 MOVQ $REDMASK51,DX 1335 SHLQ $13,CX:SI 1336 ANDQ DX,SI 1337 SHLQ $13,R9:R8 1338 ANDQ DX,R8 1339 ADDQ CX,R8 1340 SHLQ $13,R11:R10 1341 ANDQ DX,R10 1342 ADDQ R9,R10 1343 SHLQ $13,R13:R12 1344 ANDQ DX,R12 1345 ADDQ R11,R12 1346 SHLQ $13,R15:R14 1347 ANDQ DX,R14 1348 ADDQ R13,R14 1349 IMUL3Q $19,R15,CX 1350 ADDQ CX,SI 1351 MOVQ SI,CX 1352 SHRQ $51,CX 1353 ADDQ R8,CX 1354 MOVQ CX,R8 1355 SHRQ $51,CX 1356 ANDQ DX,SI 1357 ADDQ R10,CX 1358 MOVQ CX,R9 1359 SHRQ $51,CX 1360 ANDQ DX,R8 1361 ADDQ R12,CX 1362 MOVQ CX,AX 1363 SHRQ $51,CX 1364 ANDQ DX,R9 1365 ADDQ R14,CX 1366 MOVQ CX,R10 1367 SHRQ $51,CX 1368 ANDQ DX,AX 1369 IMUL3Q $19,CX,CX 1370 ADDQ CX,SI 1371 ANDQ DX,R10 1372 MOVQ SI,80(DI) 1373 MOVQ R8,88(DI) 1374 MOVQ R9,96(DI) 1375 MOVQ AX,104(DI) 1376 MOVQ R10,112(DI) 1377 RET