1.data 2.p2align 5 3mask_low13words: 4.word 0xffff 5.word 0xffff 6.word 0xffff 7.word 0xffff 8.word 0xffff 9.word 0xffff 10.word 0xffff 11.word 0xffff 12.word 0xffff 13.word 0xffff 14.word 0xffff 15.word 0xffff 16.word 0xffff 17.word 0x0 18.word 0x0 19.word 0x0 20const3: 21.word 3 22.word 3 23.word 3 24.word 3 25.word 3 26.word 3 27.word 3 28.word 3 29.word 3 30.word 3 31.word 3 32.word 3 33.word 3 34.word 3 35.word 3 36.word 3 37const9: 38.word 9 39.word 9 40.word 9 41.word 9 42.word 9 43.word 9 44.word 9 45.word 9 46.word 9 47.word 9 48.word 9 49.word 9 50.word 9 51.word 9 52.word 9 53.word 9 54const0: 55.word 0 56.word 0 57.word 0 58.word 0 59.word 0 60.word 0 61.word 0 62.word 0 63.word 0 64.word 0 65.word 0 66.word 0 67.word 0 68.word 0 69.word 0 70.word 0 71const729: 72.word 729 73.word 729 74.word 729 75.word 729 76.word 729 77.word 729 78.word 729 79.word 729 80.word 729 81.word 729 82.word 729 83.word 729 84.word 729 85.word 729 86.word 729 87.word 729 88const3_inv: 89.word 43691 90.word 43691 91.word 43691 92.word 43691 93.word 43691 94.word 43691 95.word 43691 96.word 43691 97.word 43691 98.word 43691 99.word 43691 100.word 43691 101.word 43691 102.word 43691 103.word 43691 104.word 43691 105const5_inv: 106.word 52429 107.word 52429 108.word 52429 109.word 52429 110.word 52429 111.word 52429 112.word 52429 113.word 52429 114.word 52429 115.word 52429 116.word 52429 117.word 52429 118.word 52429 119.word 52429 120.word 52429 121.word 52429 122shuf48_16: 123.byte 10 124.byte 11 125.byte 12 126.byte 13 127.byte 14 128.byte 15 129.byte 0 130.byte 1 131.byte 2 132.byte 3 133.byte 4 134.byte 5 135.byte 6 136.byte 7 137.byte 8 138.byte 9 139.byte 10 140.byte 11 141.byte 12 142.byte 13 143.byte 14 144.byte 15 145.byte 0 146.byte 1 147.byte 2 148.byte 3 149.byte 4 150.byte 5 151.byte 6 152.byte 7 153.byte 8 154.byte 9 155shufmin5_mask3: 156.byte 10 157.byte 11 158.byte 12 159.byte 13 160.byte 14 161.byte 15 162.byte 255 163.byte 255 164.byte 255 165.byte 255 166.byte 255 167.byte 255 168.byte 255 169.byte 255 170.byte 255 171.byte 255 172.byte 255 173.byte 255 174.byte 255 175.byte 255 176.byte 255 177.byte 255 178.byte 255 179.byte 255 180.byte 255 181.byte 255 182.byte 255 183.byte 255 184.byte 255 185.byte 255 186.byte 255 187.byte 255 188mask32_to_16: 189.word 0xffff 190.word 0x0 191.word 0xffff 192.word 0x0 193.word 0xffff 194.word 0x0 195.word 0xffff 196.word 0x0 197.word 0xffff 198.word 0x0 199.word 0xffff 200.word 0x0 201.word 0xffff 202.word 0x0 203.word 0xffff 204.word 0x0 205mask5_3_5_3: 206.word 0 207.word 0 208.word 0 209.word 65535 210.word 65535 211.word 65535 212.word 65535 213.word 65535 214.word 0 215.word 0 216.word 0 217.word 65535 218.word 65535 219.word 65535 220.word 65535 221.word 65535 222mask3_5_3_5: 223.word 65535 224.word 65535 225.word 65535 226.word 0 227.word 0 228.word 0 229.word 0 230.word 0 231.word 65535 232.word 65535 233.word 65535 234.word 0 235.word 0 236.word 0 237.word 0 238.word 0 239mask_keephigh: 240.word 0 241.word 0 242.word 0 243.word 0 244.word 0 245.word 0 246.word 0 247.word 0 248.word 65535 249.word 65535 250.word 65535 251.word 65535 252.word 65535 253.word 65535 254.word 65535 255.word 65535 256.text 257.global PQCLEAN_NTRUHPS2048509_AVX2_poly_Rq_mul 258.global _PQCLEAN_NTRUHPS2048509_AVX2_poly_Rq_mul 259PQCLEAN_NTRUHPS2048509_AVX2_poly_Rq_mul: 260_PQCLEAN_NTRUHPS2048509_AVX2_poly_Rq_mul: 261push %r12 262mov %rsp, %r8 263andq $-32, %rsp 264subq $4096, %rsp 265mov %rsp, %rax 266subq $4096, %rsp 267mov %rsp, %r11 268subq $8192, %rsp 269mov %rsp, %r12 270subq $512, %rsp 271vmovdqa const3(%rip), %ymm3 272vmovdqa 0(%rsi), %ymm0 273vmovdqa 64(%rsi), %ymm1 274vmovdqa 128(%rsi), %ymm2 275vmovdqa 192(%rsi), %ymm12 276vmovdqa 768(%rsi), %ymm4 277vmovdqa 832(%rsi), %ymm5 278vmovdqa 896(%rsi), %ymm6 279vmovdqa 960(%rsi), %ymm7 280vmovdqa 256(%rsi), %ymm8 281vmovdqa 320(%rsi), %ymm9 282vmovdqa 384(%rsi), %ymm10 283vmovdqa 448(%rsi), %ymm11 284vmovdqa %ymm0, 0(%rax) 285vmovdqa %ymm1, 64(%rax) 286vpaddw %ymm0, %ymm1, %ymm14 287vmovdqa %ymm14, 128(%rax) 288vmovdqa %ymm2, 192(%rax) 289vmovdqa %ymm12, 256(%rax) 290vpaddw %ymm2, %ymm12, %ymm14 291vmovdqa %ymm14, 320(%rax) 292vpaddw %ymm0, %ymm2, %ymm14 293vmovdqa %ymm14, 384(%rax) 294vpaddw %ymm1, %ymm12, %ymm15 295vmovdqa %ymm15, 448(%rax) 296vpaddw %ymm14, %ymm15, %ymm14 297vmovdqa %ymm14, 512(%rax) 298vmovdqa %ymm4, 3456(%rax) 299vmovdqa %ymm5, 3520(%rax) 300vpaddw %ymm4, %ymm5, %ymm14 301vmovdqa %ymm14, 3584(%rax) 302vmovdqa %ymm6, 3648(%rax) 303vmovdqa %ymm7, 3712(%rax) 304vpaddw %ymm6, %ymm7, %ymm14 305vmovdqa %ymm14, 3776(%rax) 306vpaddw %ymm4, %ymm6, %ymm14 307vmovdqa %ymm14, 3840(%rax) 308vpaddw %ymm5, %ymm7, %ymm15 309vmovdqa %ymm15, 3904(%rax) 310vpaddw %ymm14, %ymm15, %ymm14 311vmovdqa %ymm14, 3968(%rax) 312vmovdqa %ymm0, 0(%rsp) 313vmovdqa %ymm1, 32(%rsp) 314vmovdqa %ymm2, 64(%rsp) 315vmovdqa %ymm12, 96(%rsp) 316vmovdqa %ymm8, 128(%rsp) 317vmovdqa %ymm9, 160(%rsp) 318vmovdqa %ymm10, 192(%rsp) 319vmovdqa %ymm11, 224(%rsp) 320vmovdqa 512(%rsi), %ymm0 321vpaddw 0(%rsp), %ymm0, %ymm1 322vpaddw 128(%rsp), %ymm4, %ymm2 323vpaddw %ymm2, %ymm1, %ymm8 324vpsubw %ymm2, %ymm1, %ymm12 325vmovdqa %ymm0, 256(%rsp) 326vmovdqa 576(%rsi), %ymm0 327vpaddw 32(%rsp), %ymm0, %ymm1 328vpaddw 160(%rsp), %ymm5, %ymm2 329vpaddw %ymm2, %ymm1, %ymm9 330vpsubw %ymm2, %ymm1, %ymm13 331vmovdqa %ymm0, 288(%rsp) 332vmovdqa 640(%rsi), %ymm0 333vpaddw 64(%rsp), %ymm0, %ymm1 334vpaddw 192(%rsp), %ymm6, %ymm2 335vpaddw %ymm2, %ymm1, %ymm10 336vpsubw %ymm2, %ymm1, %ymm14 337vmovdqa %ymm0, 320(%rsp) 338vmovdqa 704(%rsi), %ymm0 339vpaddw 96(%rsp), %ymm0, %ymm1 340vpaddw 224(%rsp), %ymm7, %ymm2 341vpaddw %ymm2, %ymm1, %ymm11 342vpsubw %ymm2, %ymm1, %ymm15 343vmovdqa %ymm0, 352(%rsp) 344vmovdqa %ymm8, 576(%rax) 345vmovdqa %ymm9, 640(%rax) 346vpaddw %ymm8, %ymm9, %ymm0 347vmovdqa %ymm0, 704(%rax) 348vmovdqa %ymm10, 768(%rax) 349vmovdqa %ymm11, 832(%rax) 350vpaddw %ymm10, %ymm11, %ymm0 351vmovdqa %ymm0, 896(%rax) 352vpaddw %ymm8, %ymm10, %ymm0 353vmovdqa %ymm0, 960(%rax) 354vpaddw %ymm9, %ymm11, %ymm1 355vmovdqa %ymm1, 1024(%rax) 356vpaddw %ymm0, %ymm1, %ymm0 357vmovdqa %ymm0, 1088(%rax) 358vmovdqa %ymm12, 1152(%rax) 359vmovdqa %ymm13, 1216(%rax) 360vpaddw %ymm12, %ymm13, %ymm0 361vmovdqa %ymm0, 1280(%rax) 362vmovdqa %ymm14, 1344(%rax) 363vmovdqa %ymm15, 1408(%rax) 364vpaddw %ymm14, %ymm15, %ymm0 365vmovdqa %ymm0, 1472(%rax) 366vpaddw %ymm12, %ymm14, %ymm0 367vmovdqa %ymm0, 1536(%rax) 368vpaddw %ymm13, %ymm15, %ymm1 369vmovdqa %ymm1, 1600(%rax) 370vpaddw %ymm0, %ymm1, %ymm0 371vmovdqa %ymm0, 1664(%rax) 372vmovdqa 256(%rsp), %ymm0 373vpsllw $2, %ymm0, %ymm0 374vpaddw 0(%rsp), %ymm0, %ymm0 375vpsllw $2, %ymm4, %ymm1 376vpaddw 128(%rsp), %ymm1, %ymm1 377vpsllw $1, %ymm1, %ymm1 378vpaddw %ymm1, %ymm0, %ymm8 379vpsubw %ymm1, %ymm0, %ymm12 380vmovdqa 288(%rsp), %ymm0 381vpsllw $2, %ymm0, %ymm0 382vpaddw 32(%rsp), %ymm0, %ymm0 383vpsllw $2, %ymm5, %ymm1 384vpaddw 160(%rsp), %ymm1, %ymm1 385vpsllw $1, %ymm1, %ymm1 386vpaddw %ymm1, %ymm0, %ymm9 387vpsubw %ymm1, %ymm0, %ymm13 388vmovdqa 320(%rsp), %ymm0 389vpsllw $2, %ymm0, %ymm0 390vpaddw 64(%rsp), %ymm0, %ymm0 391vpsllw $2, %ymm6, %ymm1 392vpaddw 192(%rsp), %ymm1, %ymm1 393vpsllw $1, %ymm1, %ymm1 394vpaddw %ymm1, %ymm0, %ymm10 395vpsubw %ymm1, %ymm0, %ymm14 396vmovdqa 352(%rsp), %ymm0 397vpsllw $2, %ymm0, %ymm0 398vpaddw 96(%rsp), %ymm0, %ymm0 399vpsllw $2, %ymm7, %ymm1 400vpaddw 224(%rsp), %ymm1, %ymm1 401vpsllw $1, %ymm1, %ymm1 402vpaddw %ymm1, %ymm0, %ymm11 403vpsubw %ymm1, %ymm0, %ymm15 404vmovdqa %ymm8, 1728(%rax) 405vmovdqa %ymm9, 1792(%rax) 406vpaddw %ymm8, %ymm9, %ymm0 407vmovdqa %ymm0, 1856(%rax) 408vmovdqa %ymm10, 1920(%rax) 409vmovdqa %ymm11, 1984(%rax) 410vpaddw %ymm10, %ymm11, %ymm0 411vmovdqa %ymm0, 2048(%rax) 412vpaddw %ymm8, %ymm10, %ymm0 413vmovdqa %ymm0, 2112(%rax) 414vpaddw %ymm9, %ymm11, %ymm1 415vmovdqa %ymm1, 2176(%rax) 416vpaddw %ymm0, %ymm1, %ymm0 417vmovdqa %ymm0, 2240(%rax) 418vmovdqa %ymm12, 2304(%rax) 419vmovdqa %ymm13, 2368(%rax) 420vpaddw %ymm12, %ymm13, %ymm0 421vmovdqa %ymm0, 2432(%rax) 422vmovdqa %ymm14, 2496(%rax) 423vmovdqa %ymm15, 2560(%rax) 424vpaddw %ymm14, %ymm15, %ymm0 425vmovdqa %ymm0, 2624(%rax) 426vpaddw %ymm12, %ymm14, %ymm0 427vmovdqa %ymm0, 2688(%rax) 428vpaddw %ymm13, %ymm15, %ymm1 429vmovdqa %ymm1, 2752(%rax) 430vpaddw %ymm0, %ymm1, %ymm0 431vmovdqa %ymm0, 2816(%rax) 432vpmullw %ymm3, %ymm4, %ymm0 433vpaddw 256(%rsp), %ymm0, %ymm0 434vpmullw %ymm3, %ymm0, %ymm0 435vpaddw 128(%rsp), %ymm0, %ymm0 436vpmullw %ymm3, %ymm0, %ymm0 437vpaddw 0(%rsp), %ymm0, %ymm12 438vpmullw %ymm3, %ymm5, %ymm0 439vpaddw 288(%rsp), %ymm0, %ymm0 440vpmullw %ymm3, %ymm0, %ymm0 441vpaddw 160(%rsp), %ymm0, %ymm0 442vpmullw %ymm3, %ymm0, %ymm0 443vpaddw 32(%rsp), %ymm0, %ymm13 444vpmullw %ymm3, %ymm6, %ymm0 445vpaddw 320(%rsp), %ymm0, %ymm0 446vpmullw %ymm3, %ymm0, %ymm0 447vpaddw 192(%rsp), %ymm0, %ymm0 448vpmullw %ymm3, %ymm0, %ymm0 449vpaddw 64(%rsp), %ymm0, %ymm14 450vpmullw %ymm3, %ymm7, %ymm0 451vpaddw 352(%rsp), %ymm0, %ymm0 452vpmullw %ymm3, %ymm0, %ymm0 453vpaddw 224(%rsp), %ymm0, %ymm0 454vpmullw %ymm3, %ymm0, %ymm0 455vpaddw 96(%rsp), %ymm0, %ymm15 456vmovdqa %ymm12, 2880(%rax) 457vmovdqa %ymm13, 2944(%rax) 458vpaddw %ymm12, %ymm13, %ymm0 459vmovdqa %ymm0, 3008(%rax) 460vmovdqa %ymm14, 3072(%rax) 461vmovdqa %ymm15, 3136(%rax) 462vpaddw %ymm14, %ymm15, %ymm0 463vmovdqa %ymm0, 3200(%rax) 464vpaddw %ymm12, %ymm14, %ymm0 465vmovdqa %ymm0, 3264(%rax) 466vpaddw %ymm13, %ymm15, %ymm1 467vmovdqa %ymm1, 3328(%rax) 468vpaddw %ymm0, %ymm1, %ymm0 469vmovdqa %ymm0, 3392(%rax) 470vmovdqa 32(%rsi), %ymm0 471vmovdqa 96(%rsi), %ymm1 472vmovdqa 160(%rsi), %ymm2 473vmovdqa 224(%rsi), %ymm12 474vmovdqa 800(%rsi), %ymm4 475vmovdqa 864(%rsi), %ymm5 476vmovdqa 928(%rsi), %ymm6 477vmovdqa 992(%rsi), %ymm7 478vpand mask_low13words(%rip), %ymm7, %ymm7 479vmovdqa 288(%rsi), %ymm8 480vmovdqa 352(%rsi), %ymm9 481vmovdqa 416(%rsi), %ymm10 482vmovdqa 480(%rsi), %ymm11 483vmovdqa %ymm0, 32(%rax) 484vmovdqa %ymm1, 96(%rax) 485vpaddw %ymm0, %ymm1, %ymm14 486vmovdqa %ymm14, 160(%rax) 487vmovdqa %ymm2, 224(%rax) 488vmovdqa %ymm12, 288(%rax) 489vpaddw %ymm2, %ymm12, %ymm14 490vmovdqa %ymm14, 352(%rax) 491vpaddw %ymm0, %ymm2, %ymm14 492vmovdqa %ymm14, 416(%rax) 493vpaddw %ymm1, %ymm12, %ymm15 494vmovdqa %ymm15, 480(%rax) 495vpaddw %ymm14, %ymm15, %ymm14 496vmovdqa %ymm14, 544(%rax) 497vmovdqa %ymm4, 3488(%rax) 498vmovdqa %ymm5, 3552(%rax) 499vpaddw %ymm4, %ymm5, %ymm14 500vmovdqa %ymm14, 3616(%rax) 501vmovdqa %ymm6, 3680(%rax) 502vmovdqa %ymm7, 3744(%rax) 503vpaddw %ymm6, %ymm7, %ymm14 504vmovdqa %ymm14, 3808(%rax) 505vpaddw %ymm4, %ymm6, %ymm14 506vmovdqa %ymm14, 3872(%rax) 507vpaddw %ymm5, %ymm7, %ymm15 508vmovdqa %ymm15, 3936(%rax) 509vpaddw %ymm14, %ymm15, %ymm14 510vmovdqa %ymm14, 4000(%rax) 511vmovdqa %ymm0, 0(%rsp) 512vmovdqa %ymm1, 32(%rsp) 513vmovdqa %ymm2, 64(%rsp) 514vmovdqa %ymm12, 96(%rsp) 515vmovdqa %ymm8, 128(%rsp) 516vmovdqa %ymm9, 160(%rsp) 517vmovdqa %ymm10, 192(%rsp) 518vmovdqa %ymm11, 224(%rsp) 519vmovdqa 544(%rsi), %ymm0 520vpaddw 0(%rsp), %ymm0, %ymm1 521vpaddw 128(%rsp), %ymm4, %ymm2 522vpaddw %ymm2, %ymm1, %ymm8 523vpsubw %ymm2, %ymm1, %ymm12 524vmovdqa %ymm0, 256(%rsp) 525vmovdqa 608(%rsi), %ymm0 526vpaddw 32(%rsp), %ymm0, %ymm1 527vpaddw 160(%rsp), %ymm5, %ymm2 528vpaddw %ymm2, %ymm1, %ymm9 529vpsubw %ymm2, %ymm1, %ymm13 530vmovdqa %ymm0, 288(%rsp) 531vmovdqa 672(%rsi), %ymm0 532vpaddw 64(%rsp), %ymm0, %ymm1 533vpaddw 192(%rsp), %ymm6, %ymm2 534vpaddw %ymm2, %ymm1, %ymm10 535vpsubw %ymm2, %ymm1, %ymm14 536vmovdqa %ymm0, 320(%rsp) 537vmovdqa 736(%rsi), %ymm0 538vpaddw 96(%rsp), %ymm0, %ymm1 539vpaddw 224(%rsp), %ymm7, %ymm2 540vpaddw %ymm2, %ymm1, %ymm11 541vpsubw %ymm2, %ymm1, %ymm15 542vmovdqa %ymm0, 352(%rsp) 543vmovdqa %ymm8, 608(%rax) 544vmovdqa %ymm9, 672(%rax) 545vpaddw %ymm8, %ymm9, %ymm0 546vmovdqa %ymm0, 736(%rax) 547vmovdqa %ymm10, 800(%rax) 548vmovdqa %ymm11, 864(%rax) 549vpaddw %ymm10, %ymm11, %ymm0 550vmovdqa %ymm0, 928(%rax) 551vpaddw %ymm8, %ymm10, %ymm0 552vmovdqa %ymm0, 992(%rax) 553vpaddw %ymm9, %ymm11, %ymm1 554vmovdqa %ymm1, 1056(%rax) 555vpaddw %ymm0, %ymm1, %ymm0 556vmovdqa %ymm0, 1120(%rax) 557vmovdqa %ymm12, 1184(%rax) 558vmovdqa %ymm13, 1248(%rax) 559vpaddw %ymm12, %ymm13, %ymm0 560vmovdqa %ymm0, 1312(%rax) 561vmovdqa %ymm14, 1376(%rax) 562vmovdqa %ymm15, 1440(%rax) 563vpaddw %ymm14, %ymm15, %ymm0 564vmovdqa %ymm0, 1504(%rax) 565vpaddw %ymm12, %ymm14, %ymm0 566vmovdqa %ymm0, 1568(%rax) 567vpaddw %ymm13, %ymm15, %ymm1 568vmovdqa %ymm1, 1632(%rax) 569vpaddw %ymm0, %ymm1, %ymm0 570vmovdqa %ymm0, 1696(%rax) 571vmovdqa 256(%rsp), %ymm0 572vpsllw $2, %ymm0, %ymm0 573vpaddw 0(%rsp), %ymm0, %ymm0 574vpsllw $2, %ymm4, %ymm1 575vpaddw 128(%rsp), %ymm1, %ymm1 576vpsllw $1, %ymm1, %ymm1 577vpaddw %ymm1, %ymm0, %ymm8 578vpsubw %ymm1, %ymm0, %ymm12 579vmovdqa 288(%rsp), %ymm0 580vpsllw $2, %ymm0, %ymm0 581vpaddw 32(%rsp), %ymm0, %ymm0 582vpsllw $2, %ymm5, %ymm1 583vpaddw 160(%rsp), %ymm1, %ymm1 584vpsllw $1, %ymm1, %ymm1 585vpaddw %ymm1, %ymm0, %ymm9 586vpsubw %ymm1, %ymm0, %ymm13 587vmovdqa 320(%rsp), %ymm0 588vpsllw $2, %ymm0, %ymm0 589vpaddw 64(%rsp), %ymm0, %ymm0 590vpsllw $2, %ymm6, %ymm1 591vpaddw 192(%rsp), %ymm1, %ymm1 592vpsllw $1, %ymm1, %ymm1 593vpaddw %ymm1, %ymm0, %ymm10 594vpsubw %ymm1, %ymm0, %ymm14 595vmovdqa 352(%rsp), %ymm0 596vpsllw $2, %ymm0, %ymm0 597vpaddw 96(%rsp), %ymm0, %ymm0 598vpsllw $2, %ymm7, %ymm1 599vpaddw 224(%rsp), %ymm1, %ymm1 600vpsllw $1, %ymm1, %ymm1 601vpaddw %ymm1, %ymm0, %ymm11 602vpsubw %ymm1, %ymm0, %ymm15 603vmovdqa %ymm8, 1760(%rax) 604vmovdqa %ymm9, 1824(%rax) 605vpaddw %ymm8, %ymm9, %ymm0 606vmovdqa %ymm0, 1888(%rax) 607vmovdqa %ymm10, 1952(%rax) 608vmovdqa %ymm11, 2016(%rax) 609vpaddw %ymm10, %ymm11, %ymm0 610vmovdqa %ymm0, 2080(%rax) 611vpaddw %ymm8, %ymm10, %ymm0 612vmovdqa %ymm0, 2144(%rax) 613vpaddw %ymm9, %ymm11, %ymm1 614vmovdqa %ymm1, 2208(%rax) 615vpaddw %ymm0, %ymm1, %ymm0 616vmovdqa %ymm0, 2272(%rax) 617vmovdqa %ymm12, 2336(%rax) 618vmovdqa %ymm13, 2400(%rax) 619vpaddw %ymm12, %ymm13, %ymm0 620vmovdqa %ymm0, 2464(%rax) 621vmovdqa %ymm14, 2528(%rax) 622vmovdqa %ymm15, 2592(%rax) 623vpaddw %ymm14, %ymm15, %ymm0 624vmovdqa %ymm0, 2656(%rax) 625vpaddw %ymm12, %ymm14, %ymm0 626vmovdqa %ymm0, 2720(%rax) 627vpaddw %ymm13, %ymm15, %ymm1 628vmovdqa %ymm1, 2784(%rax) 629vpaddw %ymm0, %ymm1, %ymm0 630vmovdqa %ymm0, 2848(%rax) 631vpmullw %ymm3, %ymm4, %ymm0 632vpaddw 256(%rsp), %ymm0, %ymm0 633vpmullw %ymm3, %ymm0, %ymm0 634vpaddw 128(%rsp), %ymm0, %ymm0 635vpmullw %ymm3, %ymm0, %ymm0 636vpaddw 0(%rsp), %ymm0, %ymm12 637vpmullw %ymm3, %ymm5, %ymm0 638vpaddw 288(%rsp), %ymm0, %ymm0 639vpmullw %ymm3, %ymm0, %ymm0 640vpaddw 160(%rsp), %ymm0, %ymm0 641vpmullw %ymm3, %ymm0, %ymm0 642vpaddw 32(%rsp), %ymm0, %ymm13 643vpmullw %ymm3, %ymm6, %ymm0 644vpaddw 320(%rsp), %ymm0, %ymm0 645vpmullw %ymm3, %ymm0, %ymm0 646vpaddw 192(%rsp), %ymm0, %ymm0 647vpmullw %ymm3, %ymm0, %ymm0 648vpaddw 64(%rsp), %ymm0, %ymm14 649vpmullw %ymm3, %ymm7, %ymm0 650vpaddw 352(%rsp), %ymm0, %ymm0 651vpmullw %ymm3, %ymm0, %ymm0 652vpaddw 224(%rsp), %ymm0, %ymm0 653vpmullw %ymm3, %ymm0, %ymm0 654vpaddw 96(%rsp), %ymm0, %ymm15 655vmovdqa %ymm12, 2912(%rax) 656vmovdqa %ymm13, 2976(%rax) 657vpaddw %ymm12, %ymm13, %ymm0 658vmovdqa %ymm0, 3040(%rax) 659vmovdqa %ymm14, 3104(%rax) 660vmovdqa %ymm15, 3168(%rax) 661vpaddw %ymm14, %ymm15, %ymm0 662vmovdqa %ymm0, 3232(%rax) 663vpaddw %ymm12, %ymm14, %ymm0 664vmovdqa %ymm0, 3296(%rax) 665vpaddw %ymm13, %ymm15, %ymm1 666vmovdqa %ymm1, 3360(%rax) 667vpaddw %ymm0, %ymm1, %ymm0 668vmovdqa %ymm0, 3424(%rax) 669vmovdqa 0(%rdx), %ymm0 670vmovdqa 64(%rdx), %ymm1 671vmovdqa 128(%rdx), %ymm2 672vmovdqa 192(%rdx), %ymm12 673vmovdqa 768(%rdx), %ymm4 674vmovdqa 832(%rdx), %ymm5 675vmovdqa 896(%rdx), %ymm6 676vmovdqa 960(%rdx), %ymm7 677vmovdqa 256(%rdx), %ymm8 678vmovdqa 320(%rdx), %ymm9 679vmovdqa 384(%rdx), %ymm10 680vmovdqa 448(%rdx), %ymm11 681vmovdqa %ymm0, 0(%r11) 682vmovdqa %ymm1, 64(%r11) 683vpaddw %ymm0, %ymm1, %ymm14 684vmovdqa %ymm14, 128(%r11) 685vmovdqa %ymm2, 192(%r11) 686vmovdqa %ymm12, 256(%r11) 687vpaddw %ymm2, %ymm12, %ymm14 688vmovdqa %ymm14, 320(%r11) 689vpaddw %ymm0, %ymm2, %ymm14 690vmovdqa %ymm14, 384(%r11) 691vpaddw %ymm1, %ymm12, %ymm15 692vmovdqa %ymm15, 448(%r11) 693vpaddw %ymm14, %ymm15, %ymm14 694vmovdqa %ymm14, 512(%r11) 695vmovdqa %ymm4, 3456(%r11) 696vmovdqa %ymm5, 3520(%r11) 697vpaddw %ymm4, %ymm5, %ymm14 698vmovdqa %ymm14, 3584(%r11) 699vmovdqa %ymm6, 3648(%r11) 700vmovdqa %ymm7, 3712(%r11) 701vpaddw %ymm6, %ymm7, %ymm14 702vmovdqa %ymm14, 3776(%r11) 703vpaddw %ymm4, %ymm6, %ymm14 704vmovdqa %ymm14, 3840(%r11) 705vpaddw %ymm5, %ymm7, %ymm15 706vmovdqa %ymm15, 3904(%r11) 707vpaddw %ymm14, %ymm15, %ymm14 708vmovdqa %ymm14, 3968(%r11) 709vmovdqa %ymm0, 0(%rsp) 710vmovdqa %ymm1, 32(%rsp) 711vmovdqa %ymm2, 64(%rsp) 712vmovdqa %ymm12, 96(%rsp) 713vmovdqa %ymm8, 128(%rsp) 714vmovdqa %ymm9, 160(%rsp) 715vmovdqa %ymm10, 192(%rsp) 716vmovdqa %ymm11, 224(%rsp) 717vmovdqa 512(%rdx), %ymm0 718vpaddw 0(%rsp), %ymm0, %ymm1 719vpaddw 128(%rsp), %ymm4, %ymm2 720vpaddw %ymm2, %ymm1, %ymm8 721vpsubw %ymm2, %ymm1, %ymm12 722vmovdqa %ymm0, 256(%rsp) 723vmovdqa 576(%rdx), %ymm0 724vpaddw 32(%rsp), %ymm0, %ymm1 725vpaddw 160(%rsp), %ymm5, %ymm2 726vpaddw %ymm2, %ymm1, %ymm9 727vpsubw %ymm2, %ymm1, %ymm13 728vmovdqa %ymm0, 288(%rsp) 729vmovdqa 640(%rdx), %ymm0 730vpaddw 64(%rsp), %ymm0, %ymm1 731vpaddw 192(%rsp), %ymm6, %ymm2 732vpaddw %ymm2, %ymm1, %ymm10 733vpsubw %ymm2, %ymm1, %ymm14 734vmovdqa %ymm0, 320(%rsp) 735vmovdqa 704(%rdx), %ymm0 736vpaddw 96(%rsp), %ymm0, %ymm1 737vpaddw 224(%rsp), %ymm7, %ymm2 738vpaddw %ymm2, %ymm1, %ymm11 739vpsubw %ymm2, %ymm1, %ymm15 740vmovdqa %ymm0, 352(%rsp) 741vmovdqa %ymm8, 576(%r11) 742vmovdqa %ymm9, 640(%r11) 743vpaddw %ymm8, %ymm9, %ymm0 744vmovdqa %ymm0, 704(%r11) 745vmovdqa %ymm10, 768(%r11) 746vmovdqa %ymm11, 832(%r11) 747vpaddw %ymm10, %ymm11, %ymm0 748vmovdqa %ymm0, 896(%r11) 749vpaddw %ymm8, %ymm10, %ymm0 750vmovdqa %ymm0, 960(%r11) 751vpaddw %ymm9, %ymm11, %ymm1 752vmovdqa %ymm1, 1024(%r11) 753vpaddw %ymm0, %ymm1, %ymm0 754vmovdqa %ymm0, 1088(%r11) 755vmovdqa %ymm12, 1152(%r11) 756vmovdqa %ymm13, 1216(%r11) 757vpaddw %ymm12, %ymm13, %ymm0 758vmovdqa %ymm0, 1280(%r11) 759vmovdqa %ymm14, 1344(%r11) 760vmovdqa %ymm15, 1408(%r11) 761vpaddw %ymm14, %ymm15, %ymm0 762vmovdqa %ymm0, 1472(%r11) 763vpaddw %ymm12, %ymm14, %ymm0 764vmovdqa %ymm0, 1536(%r11) 765vpaddw %ymm13, %ymm15, %ymm1 766vmovdqa %ymm1, 1600(%r11) 767vpaddw %ymm0, %ymm1, %ymm0 768vmovdqa %ymm0, 1664(%r11) 769vmovdqa 256(%rsp), %ymm0 770vpsllw $2, %ymm0, %ymm0 771vpaddw 0(%rsp), %ymm0, %ymm0 772vpsllw $2, %ymm4, %ymm1 773vpaddw 128(%rsp), %ymm1, %ymm1 774vpsllw $1, %ymm1, %ymm1 775vpaddw %ymm1, %ymm0, %ymm8 776vpsubw %ymm1, %ymm0, %ymm12 777vmovdqa 288(%rsp), %ymm0 778vpsllw $2, %ymm0, %ymm0 779vpaddw 32(%rsp), %ymm0, %ymm0 780vpsllw $2, %ymm5, %ymm1 781vpaddw 160(%rsp), %ymm1, %ymm1 782vpsllw $1, %ymm1, %ymm1 783vpaddw %ymm1, %ymm0, %ymm9 784vpsubw %ymm1, %ymm0, %ymm13 785vmovdqa 320(%rsp), %ymm0 786vpsllw $2, %ymm0, %ymm0 787vpaddw 64(%rsp), %ymm0, %ymm0 788vpsllw $2, %ymm6, %ymm1 789vpaddw 192(%rsp), %ymm1, %ymm1 790vpsllw $1, %ymm1, %ymm1 791vpaddw %ymm1, %ymm0, %ymm10 792vpsubw %ymm1, %ymm0, %ymm14 793vmovdqa 352(%rsp), %ymm0 794vpsllw $2, %ymm0, %ymm0 795vpaddw 96(%rsp), %ymm0, %ymm0 796vpsllw $2, %ymm7, %ymm1 797vpaddw 224(%rsp), %ymm1, %ymm1 798vpsllw $1, %ymm1, %ymm1 799vpaddw %ymm1, %ymm0, %ymm11 800vpsubw %ymm1, %ymm0, %ymm15 801vmovdqa %ymm8, 1728(%r11) 802vmovdqa %ymm9, 1792(%r11) 803vpaddw %ymm8, %ymm9, %ymm0 804vmovdqa %ymm0, 1856(%r11) 805vmovdqa %ymm10, 1920(%r11) 806vmovdqa %ymm11, 1984(%r11) 807vpaddw %ymm10, %ymm11, %ymm0 808vmovdqa %ymm0, 2048(%r11) 809vpaddw %ymm8, %ymm10, %ymm0 810vmovdqa %ymm0, 2112(%r11) 811vpaddw %ymm9, %ymm11, %ymm1 812vmovdqa %ymm1, 2176(%r11) 813vpaddw %ymm0, %ymm1, %ymm0 814vmovdqa %ymm0, 2240(%r11) 815vmovdqa %ymm12, 2304(%r11) 816vmovdqa %ymm13, 2368(%r11) 817vpaddw %ymm12, %ymm13, %ymm0 818vmovdqa %ymm0, 2432(%r11) 819vmovdqa %ymm14, 2496(%r11) 820vmovdqa %ymm15, 2560(%r11) 821vpaddw %ymm14, %ymm15, %ymm0 822vmovdqa %ymm0, 2624(%r11) 823vpaddw %ymm12, %ymm14, %ymm0 824vmovdqa %ymm0, 2688(%r11) 825vpaddw %ymm13, %ymm15, %ymm1 826vmovdqa %ymm1, 2752(%r11) 827vpaddw %ymm0, %ymm1, %ymm0 828vmovdqa %ymm0, 2816(%r11) 829vpmullw %ymm3, %ymm4, %ymm0 830vpaddw 256(%rsp), %ymm0, %ymm0 831vpmullw %ymm3, %ymm0, %ymm0 832vpaddw 128(%rsp), %ymm0, %ymm0 833vpmullw %ymm3, %ymm0, %ymm0 834vpaddw 0(%rsp), %ymm0, %ymm12 835vpmullw %ymm3, %ymm5, %ymm0 836vpaddw 288(%rsp), %ymm0, %ymm0 837vpmullw %ymm3, %ymm0, %ymm0 838vpaddw 160(%rsp), %ymm0, %ymm0 839vpmullw %ymm3, %ymm0, %ymm0 840vpaddw 32(%rsp), %ymm0, %ymm13 841vpmullw %ymm3, %ymm6, %ymm0 842vpaddw 320(%rsp), %ymm0, %ymm0 843vpmullw %ymm3, %ymm0, %ymm0 844vpaddw 192(%rsp), %ymm0, %ymm0 845vpmullw %ymm3, %ymm0, %ymm0 846vpaddw 64(%rsp), %ymm0, %ymm14 847vpmullw %ymm3, %ymm7, %ymm0 848vpaddw 352(%rsp), %ymm0, %ymm0 849vpmullw %ymm3, %ymm0, %ymm0 850vpaddw 224(%rsp), %ymm0, %ymm0 851vpmullw %ymm3, %ymm0, %ymm0 852vpaddw 96(%rsp), %ymm0, %ymm15 853vmovdqa %ymm12, 2880(%r11) 854vmovdqa %ymm13, 2944(%r11) 855vpaddw %ymm12, %ymm13, %ymm0 856vmovdqa %ymm0, 3008(%r11) 857vmovdqa %ymm14, 3072(%r11) 858vmovdqa %ymm15, 3136(%r11) 859vpaddw %ymm14, %ymm15, %ymm0 860vmovdqa %ymm0, 3200(%r11) 861vpaddw %ymm12, %ymm14, %ymm0 862vmovdqa %ymm0, 3264(%r11) 863vpaddw %ymm13, %ymm15, %ymm1 864vmovdqa %ymm1, 3328(%r11) 865vpaddw %ymm0, %ymm1, %ymm0 866vmovdqa %ymm0, 3392(%r11) 867vmovdqa 32(%rdx), %ymm0 868vmovdqa 96(%rdx), %ymm1 869vmovdqa 160(%rdx), %ymm2 870vmovdqa 224(%rdx), %ymm12 871vmovdqa 800(%rdx), %ymm4 872vmovdqa 864(%rdx), %ymm5 873vmovdqa 928(%rdx), %ymm6 874vmovdqa 992(%rdx), %ymm7 875vpand mask_low13words(%rip), %ymm7, %ymm7 876vmovdqa 288(%rdx), %ymm8 877vmovdqa 352(%rdx), %ymm9 878vmovdqa 416(%rdx), %ymm10 879vmovdqa 480(%rdx), %ymm11 880vmovdqa %ymm0, 32(%r11) 881vmovdqa %ymm1, 96(%r11) 882vpaddw %ymm0, %ymm1, %ymm14 883vmovdqa %ymm14, 160(%r11) 884vmovdqa %ymm2, 224(%r11) 885vmovdqa %ymm12, 288(%r11) 886vpaddw %ymm2, %ymm12, %ymm14 887vmovdqa %ymm14, 352(%r11) 888vpaddw %ymm0, %ymm2, %ymm14 889vmovdqa %ymm14, 416(%r11) 890vpaddw %ymm1, %ymm12, %ymm15 891vmovdqa %ymm15, 480(%r11) 892vpaddw %ymm14, %ymm15, %ymm14 893vmovdqa %ymm14, 544(%r11) 894vmovdqa %ymm4, 3488(%r11) 895vmovdqa %ymm5, 3552(%r11) 896vpaddw %ymm4, %ymm5, %ymm14 897vmovdqa %ymm14, 3616(%r11) 898vmovdqa %ymm6, 3680(%r11) 899vmovdqa %ymm7, 3744(%r11) 900vpaddw %ymm6, %ymm7, %ymm14 901vmovdqa %ymm14, 3808(%r11) 902vpaddw %ymm4, %ymm6, %ymm14 903vmovdqa %ymm14, 3872(%r11) 904vpaddw %ymm5, %ymm7, %ymm15 905vmovdqa %ymm15, 3936(%r11) 906vpaddw %ymm14, %ymm15, %ymm14 907vmovdqa %ymm14, 4000(%r11) 908vmovdqa %ymm0, 0(%rsp) 909vmovdqa %ymm1, 32(%rsp) 910vmovdqa %ymm2, 64(%rsp) 911vmovdqa %ymm12, 96(%rsp) 912vmovdqa %ymm8, 128(%rsp) 913vmovdqa %ymm9, 160(%rsp) 914vmovdqa %ymm10, 192(%rsp) 915vmovdqa %ymm11, 224(%rsp) 916vmovdqa 544(%rdx), %ymm0 917vpaddw 0(%rsp), %ymm0, %ymm1 918vpaddw 128(%rsp), %ymm4, %ymm2 919vpaddw %ymm2, %ymm1, %ymm8 920vpsubw %ymm2, %ymm1, %ymm12 921vmovdqa %ymm0, 256(%rsp) 922vmovdqa 608(%rdx), %ymm0 923vpaddw 32(%rsp), %ymm0, %ymm1 924vpaddw 160(%rsp), %ymm5, %ymm2 925vpaddw %ymm2, %ymm1, %ymm9 926vpsubw %ymm2, %ymm1, %ymm13 927vmovdqa %ymm0, 288(%rsp) 928vmovdqa 672(%rdx), %ymm0 929vpaddw 64(%rsp), %ymm0, %ymm1 930vpaddw 192(%rsp), %ymm6, %ymm2 931vpaddw %ymm2, %ymm1, %ymm10 932vpsubw %ymm2, %ymm1, %ymm14 933vmovdqa %ymm0, 320(%rsp) 934vmovdqa 736(%rdx), %ymm0 935vpaddw 96(%rsp), %ymm0, %ymm1 936vpaddw 224(%rsp), %ymm7, %ymm2 937vpaddw %ymm2, %ymm1, %ymm11 938vpsubw %ymm2, %ymm1, %ymm15 939vmovdqa %ymm0, 352(%rsp) 940vmovdqa %ymm8, 608(%r11) 941vmovdqa %ymm9, 672(%r11) 942vpaddw %ymm8, %ymm9, %ymm0 943vmovdqa %ymm0, 736(%r11) 944vmovdqa %ymm10, 800(%r11) 945vmovdqa %ymm11, 864(%r11) 946vpaddw %ymm10, %ymm11, %ymm0 947vmovdqa %ymm0, 928(%r11) 948vpaddw %ymm8, %ymm10, %ymm0 949vmovdqa %ymm0, 992(%r11) 950vpaddw %ymm9, %ymm11, %ymm1 951vmovdqa %ymm1, 1056(%r11) 952vpaddw %ymm0, %ymm1, %ymm0 953vmovdqa %ymm0, 1120(%r11) 954vmovdqa %ymm12, 1184(%r11) 955vmovdqa %ymm13, 1248(%r11) 956vpaddw %ymm12, %ymm13, %ymm0 957vmovdqa %ymm0, 1312(%r11) 958vmovdqa %ymm14, 1376(%r11) 959vmovdqa %ymm15, 1440(%r11) 960vpaddw %ymm14, %ymm15, %ymm0 961vmovdqa %ymm0, 1504(%r11) 962vpaddw %ymm12, %ymm14, %ymm0 963vmovdqa %ymm0, 1568(%r11) 964vpaddw %ymm13, %ymm15, %ymm1 965vmovdqa %ymm1, 1632(%r11) 966vpaddw %ymm0, %ymm1, %ymm0 967vmovdqa %ymm0, 1696(%r11) 968vmovdqa 256(%rsp), %ymm0 969vpsllw $2, %ymm0, %ymm0 970vpaddw 0(%rsp), %ymm0, %ymm0 971vpsllw $2, %ymm4, %ymm1 972vpaddw 128(%rsp), %ymm1, %ymm1 973vpsllw $1, %ymm1, %ymm1 974vpaddw %ymm1, %ymm0, %ymm8 975vpsubw %ymm1, %ymm0, %ymm12 976vmovdqa 288(%rsp), %ymm0 977vpsllw $2, %ymm0, %ymm0 978vpaddw 32(%rsp), %ymm0, %ymm0 979vpsllw $2, %ymm5, %ymm1 980vpaddw 160(%rsp), %ymm1, %ymm1 981vpsllw $1, %ymm1, %ymm1 982vpaddw %ymm1, %ymm0, %ymm9 983vpsubw %ymm1, %ymm0, %ymm13 984vmovdqa 320(%rsp), %ymm0 985vpsllw $2, %ymm0, %ymm0 986vpaddw 64(%rsp), %ymm0, %ymm0 987vpsllw $2, %ymm6, %ymm1 988vpaddw 192(%rsp), %ymm1, %ymm1 989vpsllw $1, %ymm1, %ymm1 990vpaddw %ymm1, %ymm0, %ymm10 991vpsubw %ymm1, %ymm0, %ymm14 992vmovdqa 352(%rsp), %ymm0 993vpsllw $2, %ymm0, %ymm0 994vpaddw 96(%rsp), %ymm0, %ymm0 995vpsllw $2, %ymm7, %ymm1 996vpaddw 224(%rsp), %ymm1, %ymm1 997vpsllw $1, %ymm1, %ymm1 998vpaddw %ymm1, %ymm0, %ymm11 999vpsubw %ymm1, %ymm0, %ymm15 1000vmovdqa %ymm8, 1760(%r11) 1001vmovdqa %ymm9, 1824(%r11) 1002vpaddw %ymm8, %ymm9, %ymm0 1003vmovdqa %ymm0, 1888(%r11) 1004vmovdqa %ymm10, 1952(%r11) 1005vmovdqa %ymm11, 2016(%r11) 1006vpaddw %ymm10, %ymm11, %ymm0 1007vmovdqa %ymm0, 2080(%r11) 1008vpaddw %ymm8, %ymm10, %ymm0 1009vmovdqa %ymm0, 2144(%r11) 1010vpaddw %ymm9, %ymm11, %ymm1 1011vmovdqa %ymm1, 2208(%r11) 1012vpaddw %ymm0, %ymm1, %ymm0 1013vmovdqa %ymm0, 2272(%r11) 1014vmovdqa %ymm12, 2336(%r11) 1015vmovdqa %ymm13, 2400(%r11) 1016vpaddw %ymm12, %ymm13, %ymm0 1017vmovdqa %ymm0, 2464(%r11) 1018vmovdqa %ymm14, 2528(%r11) 1019vmovdqa %ymm15, 2592(%r11) 1020vpaddw %ymm14, %ymm15, %ymm0 1021vmovdqa %ymm0, 2656(%r11) 1022vpaddw %ymm12, %ymm14, %ymm0 1023vmovdqa %ymm0, 2720(%r11) 1024vpaddw %ymm13, %ymm15, %ymm1 1025vmovdqa %ymm1, 2784(%r11) 1026vpaddw %ymm0, %ymm1, %ymm0 1027vmovdqa %ymm0, 2848(%r11) 1028vpmullw %ymm3, %ymm4, %ymm0 1029vpaddw 256(%rsp), %ymm0, %ymm0 1030vpmullw %ymm3, %ymm0, %ymm0 1031vpaddw 128(%rsp), %ymm0, %ymm0 1032vpmullw %ymm3, %ymm0, %ymm0 1033vpaddw 0(%rsp), %ymm0, %ymm12 1034vpmullw %ymm3, %ymm5, %ymm0 1035vpaddw 288(%rsp), %ymm0, %ymm0 1036vpmullw %ymm3, %ymm0, %ymm0 1037vpaddw 160(%rsp), %ymm0, %ymm0 1038vpmullw %ymm3, %ymm0, %ymm0 1039vpaddw 32(%rsp), %ymm0, %ymm13 1040vpmullw %ymm3, %ymm6, %ymm0 1041vpaddw 320(%rsp), %ymm0, %ymm0 1042vpmullw %ymm3, %ymm0, %ymm0 1043vpaddw 192(%rsp), %ymm0, %ymm0 1044vpmullw %ymm3, %ymm0, %ymm0 1045vpaddw 64(%rsp), %ymm0, %ymm14 1046vpmullw %ymm3, %ymm7, %ymm0 1047vpaddw 352(%rsp), %ymm0, %ymm0 1048vpmullw %ymm3, %ymm0, %ymm0 1049vpaddw 224(%rsp), %ymm0, %ymm0 1050vpmullw %ymm3, %ymm0, %ymm0 1051vpaddw 96(%rsp), %ymm0, %ymm15 1052vmovdqa %ymm12, 2912(%r11) 1053vmovdqa %ymm13, 2976(%r11) 1054vpaddw %ymm12, %ymm13, %ymm0 1055vmovdqa %ymm0, 3040(%r11) 1056vmovdqa %ymm14, 3104(%r11) 1057vmovdqa %ymm15, 3168(%r11) 1058vpaddw %ymm14, %ymm15, %ymm0 1059vmovdqa %ymm0, 3232(%r11) 1060vpaddw %ymm12, %ymm14, %ymm0 1061vmovdqa %ymm0, 3296(%r11) 1062vpaddw %ymm13, %ymm15, %ymm1 1063vmovdqa %ymm1, 3360(%r11) 1064vpaddw %ymm0, %ymm1, %ymm0 1065vmovdqa %ymm0, 3424(%r11) 1066subq $6656, %rsp 1067mov $4, %ecx 1068karatsuba_loop_1: 1069mov %rsp, %r9 1070mov %rsp, %r10 1071subq $32, %rsp 1072vmovdqa 0(%rax), %ymm0 1073vmovdqa 128(%rax), %ymm1 1074vmovdqa 256(%rax), %ymm2 1075vmovdqa 384(%rax), %ymm3 1076vpunpcklwd 64(%rax), %ymm0, %ymm4 1077vpunpckhwd 64(%rax), %ymm0, %ymm5 1078vpunpcklwd 192(%rax), %ymm1, %ymm6 1079vpunpckhwd 192(%rax), %ymm1, %ymm7 1080vpunpcklwd 320(%rax), %ymm2, %ymm8 1081vpunpckhwd 320(%rax), %ymm2, %ymm9 1082vpunpcklwd 448(%rax), %ymm3, %ymm10 1083vpunpckhwd 448(%rax), %ymm3, %ymm11 1084vpunpckldq %ymm6, %ymm4, %ymm0 1085vpunpckhdq %ymm6, %ymm4, %ymm1 1086vpunpckldq %ymm7, %ymm5, %ymm2 1087vpunpckhdq %ymm7, %ymm5, %ymm3 1088vpunpckldq %ymm10, %ymm8, %ymm12 1089vpunpckhdq %ymm10, %ymm8, %ymm13 1090vpunpckldq %ymm11, %ymm9, %ymm14 1091vpunpckhdq %ymm11, %ymm9, %ymm15 1092vpunpcklqdq %ymm12, %ymm0, %ymm4 1093vpunpckhqdq %ymm12, %ymm0, %ymm5 1094vpunpcklqdq %ymm13, %ymm1, %ymm6 1095vpunpckhqdq %ymm13, %ymm1, %ymm7 1096vpunpcklqdq %ymm14, %ymm2, %ymm8 1097vpunpckhqdq %ymm14, %ymm2, %ymm9 1098vpunpcklqdq %ymm15, %ymm3, %ymm10 1099vpunpckhqdq %ymm15, %ymm3, %ymm11 1100vmovdqa 512(%rax), %ymm0 1101vmovdqa 640(%rax), %ymm1 1102vmovdqa 768(%rax), %ymm2 1103vmovdqa 896(%rax), %ymm3 1104vpunpcklwd 576(%rax), %ymm0, %ymm12 1105vpunpckhwd 576(%rax), %ymm0, %ymm13 1106vpunpcklwd 704(%rax), %ymm1, %ymm14 1107vpunpckhwd 704(%rax), %ymm1, %ymm15 1108vpunpcklwd 832(%rax), %ymm2, %ymm0 1109vpunpckhwd 832(%rax), %ymm2, %ymm1 1110vpunpcklwd 960(%rax), %ymm3, %ymm2 1111vpunpckhwd 960(%rax), %ymm3, %ymm3 1112vmovdqa %ymm11, 0(%rsp) 1113vpunpckldq %ymm14, %ymm12, %ymm11 1114vpunpckhdq %ymm14, %ymm12, %ymm12 1115vpunpckldq %ymm15, %ymm13, %ymm14 1116vpunpckhdq %ymm15, %ymm13, %ymm15 1117vpunpckldq %ymm2, %ymm0, %ymm13 1118vpunpckhdq %ymm2, %ymm0, %ymm0 1119vpunpckldq %ymm3, %ymm1, %ymm2 1120vpunpckhdq %ymm3, %ymm1, %ymm1 1121vpunpcklqdq %ymm13, %ymm11, %ymm3 1122vpunpckhqdq %ymm13, %ymm11, %ymm13 1123vpunpcklqdq %ymm0, %ymm12, %ymm11 1124vpunpckhqdq %ymm0, %ymm12, %ymm0 1125vpunpcklqdq %ymm2, %ymm14, %ymm12 1126vpunpckhqdq %ymm2, %ymm14, %ymm2 1127vpunpcklqdq %ymm1, %ymm15, %ymm14 1128vpunpckhqdq %ymm1, %ymm15, %ymm1 1129vinserti128 $1, %xmm3, %ymm4, %ymm15 1130vmovdqa %ymm15, 0(%r9) 1131vinserti128 $1, %xmm13, %ymm5, %ymm15 1132vmovdqa %ymm15, 32(%r9) 1133vinserti128 $1, %xmm11, %ymm6, %ymm15 1134vmovdqa %ymm15, 64(%r9) 1135vinserti128 $1, %xmm0, %ymm7, %ymm15 1136vmovdqa %ymm15, 96(%r9) 1137vinserti128 $1, %xmm12, %ymm8, %ymm15 1138vmovdqa %ymm15, 128(%r9) 1139vinserti128 $1, %xmm2, %ymm9, %ymm15 1140vmovdqa %ymm15, 160(%r9) 1141vinserti128 $1, %xmm14, %ymm10, %ymm15 1142vmovdqa %ymm15, 192(%r9) 1143vpermq $78, %ymm4, %ymm4 1144vpermq $78, %ymm5, %ymm5 1145vpermq $78, %ymm6, %ymm6 1146vpermq $78, %ymm7, %ymm7 1147vpermq $78, %ymm8, %ymm8 1148vpermq $78, %ymm9, %ymm9 1149vpermq $78, %ymm10, %ymm10 1150vinserti128 $0, %xmm4, %ymm3, %ymm15 1151vmovdqa %ymm15, 256(%r9) 1152vinserti128 $0, %xmm5, %ymm13, %ymm15 1153vmovdqa %ymm15, 288(%r9) 1154vinserti128 $0, %xmm6, %ymm11, %ymm15 1155vmovdqa %ymm15, 320(%r9) 1156vinserti128 $0, %xmm7, %ymm0, %ymm15 1157vmovdqa %ymm15, 352(%r9) 1158vinserti128 $0, %xmm8, %ymm12, %ymm15 1159vmovdqa %ymm15, 384(%r9) 1160vinserti128 $0, %xmm9, %ymm2, %ymm15 1161vmovdqa %ymm15, 416(%r9) 1162vinserti128 $0, %xmm10, %ymm14, %ymm15 1163vmovdqa %ymm15, 448(%r9) 1164vmovdqa 0(%rsp), %ymm11 1165vinserti128 $1, %xmm1, %ymm11, %ymm14 1166vmovdqa %ymm14, 224(%r9) 1167vpermq $78, %ymm11, %ymm11 1168vinserti128 $0, %xmm11, %ymm1, %ymm1 1169vmovdqa %ymm1, 480(%r9) 1170vmovdqa 32(%rax), %ymm0 1171vmovdqa 160(%rax), %ymm1 1172vmovdqa 288(%rax), %ymm2 1173vmovdqa 416(%rax), %ymm3 1174vpunpcklwd 96(%rax), %ymm0, %ymm4 1175vpunpckhwd 96(%rax), %ymm0, %ymm5 1176vpunpcklwd 224(%rax), %ymm1, %ymm6 1177vpunpckhwd 224(%rax), %ymm1, %ymm7 1178vpunpcklwd 352(%rax), %ymm2, %ymm8 1179vpunpckhwd 352(%rax), %ymm2, %ymm9 1180vpunpcklwd 480(%rax), %ymm3, %ymm10 1181vpunpckhwd 480(%rax), %ymm3, %ymm11 1182vpunpckldq %ymm6, %ymm4, %ymm0 1183vpunpckhdq %ymm6, %ymm4, %ymm1 1184vpunpckldq %ymm7, %ymm5, %ymm2 1185vpunpckhdq %ymm7, %ymm5, %ymm3 1186vpunpckldq %ymm10, %ymm8, %ymm12 1187vpunpckhdq %ymm10, %ymm8, %ymm13 1188vpunpckldq %ymm11, %ymm9, %ymm14 1189vpunpckhdq %ymm11, %ymm9, %ymm15 1190vpunpcklqdq %ymm12, %ymm0, %ymm4 1191vpunpckhqdq %ymm12, %ymm0, %ymm5 1192vpunpcklqdq %ymm13, %ymm1, %ymm6 1193vpunpckhqdq %ymm13, %ymm1, %ymm7 1194vpunpcklqdq %ymm14, %ymm2, %ymm8 1195vpunpckhqdq %ymm14, %ymm2, %ymm9 1196vpunpcklqdq %ymm15, %ymm3, %ymm10 1197vpunpckhqdq %ymm15, %ymm3, %ymm11 1198vmovdqa 544(%rax), %ymm0 1199vmovdqa 672(%rax), %ymm1 1200vmovdqa 800(%rax), %ymm2 1201vmovdqa 928(%rax), %ymm3 1202vpunpcklwd 608(%rax), %ymm0, %ymm12 1203vpunpckhwd 608(%rax), %ymm0, %ymm13 1204vpunpcklwd 736(%rax), %ymm1, %ymm14 1205vpunpckhwd 736(%rax), %ymm1, %ymm15 1206vpunpcklwd 864(%rax), %ymm2, %ymm0 1207vpunpckhwd 864(%rax), %ymm2, %ymm1 1208vpunpcklwd 992(%rax), %ymm3, %ymm2 1209vpunpckhwd 992(%rax), %ymm3, %ymm3 1210vmovdqa %ymm11, 0(%rsp) 1211vpunpckldq %ymm14, %ymm12, %ymm11 1212vpunpckhdq %ymm14, %ymm12, %ymm12 1213vpunpckldq %ymm15, %ymm13, %ymm14 1214vpunpckhdq %ymm15, %ymm13, %ymm15 1215vpunpckldq %ymm2, %ymm0, %ymm13 1216vpunpckhdq %ymm2, %ymm0, %ymm0 1217vpunpckldq %ymm3, %ymm1, %ymm2 1218vpunpckhdq %ymm3, %ymm1, %ymm1 1219vpunpcklqdq %ymm13, %ymm11, %ymm3 1220vpunpckhqdq %ymm13, %ymm11, %ymm13 1221vpunpcklqdq %ymm0, %ymm12, %ymm11 1222vpunpckhqdq %ymm0, %ymm12, %ymm0 1223vpunpcklqdq %ymm2, %ymm14, %ymm12 1224vpunpckhqdq %ymm2, %ymm14, %ymm2 1225vpunpcklqdq %ymm1, %ymm15, %ymm14 1226vpunpckhqdq %ymm1, %ymm15, %ymm1 1227vinserti128 $1, %xmm3, %ymm4, %ymm15 1228vmovdqa %ymm15, 512(%r9) 1229vinserti128 $1, %xmm13, %ymm5, %ymm15 1230vmovdqa %ymm15, 544(%r9) 1231vinserti128 $1, %xmm11, %ymm6, %ymm15 1232vmovdqa %ymm15, 576(%r9) 1233vinserti128 $1, %xmm0, %ymm7, %ymm15 1234vmovdqa %ymm15, 608(%r9) 1235vinserti128 $1, %xmm12, %ymm8, %ymm15 1236vmovdqa %ymm15, 640(%r9) 1237vinserti128 $1, %xmm2, %ymm9, %ymm15 1238vmovdqa %ymm15, 672(%r9) 1239vinserti128 $1, %xmm14, %ymm10, %ymm15 1240vmovdqa %ymm15, 704(%r9) 1241vpermq $78, %ymm4, %ymm4 1242vpermq $78, %ymm5, %ymm5 1243vpermq $78, %ymm6, %ymm6 1244vpermq $78, %ymm7, %ymm7 1245vpermq $78, %ymm8, %ymm8 1246vpermq $78, %ymm9, %ymm9 1247vpermq $78, %ymm10, %ymm10 1248vinserti128 $0, %xmm4, %ymm3, %ymm15 1249vmovdqa %ymm15, 768(%r9) 1250vinserti128 $0, %xmm5, %ymm13, %ymm15 1251vmovdqa %ymm15, 800(%r9) 1252vinserti128 $0, %xmm6, %ymm11, %ymm15 1253vmovdqa %ymm15, 832(%r9) 1254vinserti128 $0, %xmm7, %ymm0, %ymm15 1255vmovdqa %ymm15, 864(%r9) 1256vinserti128 $0, %xmm8, %ymm12, %ymm15 1257vmovdqa %ymm15, 896(%r9) 1258vinserti128 $0, %xmm9, %ymm2, %ymm15 1259vmovdqa %ymm15, 928(%r9) 1260vinserti128 $0, %xmm10, %ymm14, %ymm15 1261vmovdqa %ymm15, 960(%r9) 1262vmovdqa 0(%rsp), %ymm11 1263vinserti128 $1, %xmm1, %ymm11, %ymm14 1264vmovdqa %ymm14, 736(%r9) 1265vpermq $78, %ymm11, %ymm11 1266vinserti128 $0, %xmm11, %ymm1, %ymm1 1267vmovdqa %ymm1, 992(%r9) 1268addq $32, %rsp 1269subq $32, %rsp 1270vmovdqa 0(%r11), %ymm0 1271vmovdqa 128(%r11), %ymm1 1272vmovdqa 256(%r11), %ymm2 1273vmovdqa 384(%r11), %ymm3 1274vpunpcklwd 64(%r11), %ymm0, %ymm4 1275vpunpckhwd 64(%r11), %ymm0, %ymm5 1276vpunpcklwd 192(%r11), %ymm1, %ymm6 1277vpunpckhwd 192(%r11), %ymm1, %ymm7 1278vpunpcklwd 320(%r11), %ymm2, %ymm8 1279vpunpckhwd 320(%r11), %ymm2, %ymm9 1280vpunpcklwd 448(%r11), %ymm3, %ymm10 1281vpunpckhwd 448(%r11), %ymm3, %ymm11 1282vpunpckldq %ymm6, %ymm4, %ymm0 1283vpunpckhdq %ymm6, %ymm4, %ymm1 1284vpunpckldq %ymm7, %ymm5, %ymm2 1285vpunpckhdq %ymm7, %ymm5, %ymm3 1286vpunpckldq %ymm10, %ymm8, %ymm12 1287vpunpckhdq %ymm10, %ymm8, %ymm13 1288vpunpckldq %ymm11, %ymm9, %ymm14 1289vpunpckhdq %ymm11, %ymm9, %ymm15 1290vpunpcklqdq %ymm12, %ymm0, %ymm4 1291vpunpckhqdq %ymm12, %ymm0, %ymm5 1292vpunpcklqdq %ymm13, %ymm1, %ymm6 1293vpunpckhqdq %ymm13, %ymm1, %ymm7 1294vpunpcklqdq %ymm14, %ymm2, %ymm8 1295vpunpckhqdq %ymm14, %ymm2, %ymm9 1296vpunpcklqdq %ymm15, %ymm3, %ymm10 1297vpunpckhqdq %ymm15, %ymm3, %ymm11 1298vmovdqa 512(%r11), %ymm0 1299vmovdqa 640(%r11), %ymm1 1300vmovdqa 768(%r11), %ymm2 1301vmovdqa 896(%r11), %ymm3 1302vpunpcklwd 576(%r11), %ymm0, %ymm12 1303vpunpckhwd 576(%r11), %ymm0, %ymm13 1304vpunpcklwd 704(%r11), %ymm1, %ymm14 1305vpunpckhwd 704(%r11), %ymm1, %ymm15 1306vpunpcklwd 832(%r11), %ymm2, %ymm0 1307vpunpckhwd 832(%r11), %ymm2, %ymm1 1308vpunpcklwd 960(%r11), %ymm3, %ymm2 1309vpunpckhwd 960(%r11), %ymm3, %ymm3 1310vmovdqa %ymm11, 0(%rsp) 1311vpunpckldq %ymm14, %ymm12, %ymm11 1312vpunpckhdq %ymm14, %ymm12, %ymm12 1313vpunpckldq %ymm15, %ymm13, %ymm14 1314vpunpckhdq %ymm15, %ymm13, %ymm15 1315vpunpckldq %ymm2, %ymm0, %ymm13 1316vpunpckhdq %ymm2, %ymm0, %ymm0 1317vpunpckldq %ymm3, %ymm1, %ymm2 1318vpunpckhdq %ymm3, %ymm1, %ymm1 1319vpunpcklqdq %ymm13, %ymm11, %ymm3 1320vpunpckhqdq %ymm13, %ymm11, %ymm13 1321vpunpcklqdq %ymm0, %ymm12, %ymm11 1322vpunpckhqdq %ymm0, %ymm12, %ymm0 1323vpunpcklqdq %ymm2, %ymm14, %ymm12 1324vpunpckhqdq %ymm2, %ymm14, %ymm2 1325vpunpcklqdq %ymm1, %ymm15, %ymm14 1326vpunpckhqdq %ymm1, %ymm15, %ymm1 1327vinserti128 $1, %xmm3, %ymm4, %ymm15 1328vmovdqa %ymm15, 1024(%r9) 1329vinserti128 $1, %xmm13, %ymm5, %ymm15 1330vmovdqa %ymm15, 1056(%r9) 1331vinserti128 $1, %xmm11, %ymm6, %ymm15 1332vmovdqa %ymm15, 1088(%r9) 1333vinserti128 $1, %xmm0, %ymm7, %ymm15 1334vmovdqa %ymm15, 1120(%r9) 1335vinserti128 $1, %xmm12, %ymm8, %ymm15 1336vmovdqa %ymm15, 1152(%r9) 1337vinserti128 $1, %xmm2, %ymm9, %ymm15 1338vmovdqa %ymm15, 1184(%r9) 1339vinserti128 $1, %xmm14, %ymm10, %ymm15 1340vmovdqa %ymm15, 1216(%r9) 1341vpermq $78, %ymm4, %ymm4 1342vpermq $78, %ymm5, %ymm5 1343vpermq $78, %ymm6, %ymm6 1344vpermq $78, %ymm7, %ymm7 1345vpermq $78, %ymm8, %ymm8 1346vpermq $78, %ymm9, %ymm9 1347vpermq $78, %ymm10, %ymm10 1348vinserti128 $0, %xmm4, %ymm3, %ymm15 1349vmovdqa %ymm15, 1280(%r9) 1350vinserti128 $0, %xmm5, %ymm13, %ymm15 1351vmovdqa %ymm15, 1312(%r9) 1352vinserti128 $0, %xmm6, %ymm11, %ymm15 1353vmovdqa %ymm15, 1344(%r9) 1354vinserti128 $0, %xmm7, %ymm0, %ymm15 1355vmovdqa %ymm15, 1376(%r9) 1356vinserti128 $0, %xmm8, %ymm12, %ymm15 1357vmovdqa %ymm15, 1408(%r9) 1358vinserti128 $0, %xmm9, %ymm2, %ymm15 1359vmovdqa %ymm15, 1440(%r9) 1360vinserti128 $0, %xmm10, %ymm14, %ymm15 1361vmovdqa %ymm15, 1472(%r9) 1362vmovdqa 0(%rsp), %ymm11 1363vinserti128 $1, %xmm1, %ymm11, %ymm14 1364vmovdqa %ymm14, 1248(%r9) 1365vpermq $78, %ymm11, %ymm11 1366vinserti128 $0, %xmm11, %ymm1, %ymm1 1367vmovdqa %ymm1, 1504(%r9) 1368vmovdqa 32(%r11), %ymm0 1369vmovdqa 160(%r11), %ymm1 1370vmovdqa 288(%r11), %ymm2 1371vmovdqa 416(%r11), %ymm3 1372vpunpcklwd 96(%r11), %ymm0, %ymm4 1373vpunpckhwd 96(%r11), %ymm0, %ymm5 1374vpunpcklwd 224(%r11), %ymm1, %ymm6 1375vpunpckhwd 224(%r11), %ymm1, %ymm7 1376vpunpcklwd 352(%r11), %ymm2, %ymm8 1377vpunpckhwd 352(%r11), %ymm2, %ymm9 1378vpunpcklwd 480(%r11), %ymm3, %ymm10 1379vpunpckhwd 480(%r11), %ymm3, %ymm11 1380vpunpckldq %ymm6, %ymm4, %ymm0 1381vpunpckhdq %ymm6, %ymm4, %ymm1 1382vpunpckldq %ymm7, %ymm5, %ymm2 1383vpunpckhdq %ymm7, %ymm5, %ymm3 1384vpunpckldq %ymm10, %ymm8, %ymm12 1385vpunpckhdq %ymm10, %ymm8, %ymm13 1386vpunpckldq %ymm11, %ymm9, %ymm14 1387vpunpckhdq %ymm11, %ymm9, %ymm15 1388vpunpcklqdq %ymm12, %ymm0, %ymm4 1389vpunpckhqdq %ymm12, %ymm0, %ymm5 1390vpunpcklqdq %ymm13, %ymm1, %ymm6 1391vpunpckhqdq %ymm13, %ymm1, %ymm7 1392vpunpcklqdq %ymm14, %ymm2, %ymm8 1393vpunpckhqdq %ymm14, %ymm2, %ymm9 1394vpunpcklqdq %ymm15, %ymm3, %ymm10 1395vpunpckhqdq %ymm15, %ymm3, %ymm11 1396vmovdqa 544(%r11), %ymm0 1397vmovdqa 672(%r11), %ymm1 1398vmovdqa 800(%r11), %ymm2 1399vmovdqa 928(%r11), %ymm3 1400vpunpcklwd 608(%r11), %ymm0, %ymm12 1401vpunpckhwd 608(%r11), %ymm0, %ymm13 1402vpunpcklwd 736(%r11), %ymm1, %ymm14 1403vpunpckhwd 736(%r11), %ymm1, %ymm15 1404vpunpcklwd 864(%r11), %ymm2, %ymm0 1405vpunpckhwd 864(%r11), %ymm2, %ymm1 1406vpunpcklwd 992(%r11), %ymm3, %ymm2 1407vpunpckhwd 992(%r11), %ymm3, %ymm3 1408vmovdqa %ymm11, 0(%rsp) 1409vpunpckldq %ymm14, %ymm12, %ymm11 1410vpunpckhdq %ymm14, %ymm12, %ymm12 1411vpunpckldq %ymm15, %ymm13, %ymm14 1412vpunpckhdq %ymm15, %ymm13, %ymm15 1413vpunpckldq %ymm2, %ymm0, %ymm13 1414vpunpckhdq %ymm2, %ymm0, %ymm0 1415vpunpckldq %ymm3, %ymm1, %ymm2 1416vpunpckhdq %ymm3, %ymm1, %ymm1 1417vpunpcklqdq %ymm13, %ymm11, %ymm3 1418vpunpckhqdq %ymm13, %ymm11, %ymm13 1419vpunpcklqdq %ymm0, %ymm12, %ymm11 1420vpunpckhqdq %ymm0, %ymm12, %ymm0 1421vpunpcklqdq %ymm2, %ymm14, %ymm12 1422vpunpckhqdq %ymm2, %ymm14, %ymm2 1423vpunpcklqdq %ymm1, %ymm15, %ymm14 1424vpunpckhqdq %ymm1, %ymm15, %ymm1 1425vinserti128 $1, %xmm3, %ymm4, %ymm15 1426vmovdqa %ymm15, 1536(%r9) 1427vinserti128 $1, %xmm13, %ymm5, %ymm15 1428vmovdqa %ymm15, 1568(%r9) 1429vinserti128 $1, %xmm11, %ymm6, %ymm15 1430vmovdqa %ymm15, 1600(%r9) 1431vinserti128 $1, %xmm0, %ymm7, %ymm15 1432vmovdqa %ymm15, 1632(%r9) 1433vinserti128 $1, %xmm12, %ymm8, %ymm15 1434vmovdqa %ymm15, 1664(%r9) 1435vinserti128 $1, %xmm2, %ymm9, %ymm15 1436vmovdqa %ymm15, 1696(%r9) 1437vinserti128 $1, %xmm14, %ymm10, %ymm15 1438vmovdqa %ymm15, 1728(%r9) 1439vpermq $78, %ymm4, %ymm4 1440vpermq $78, %ymm5, %ymm5 1441vpermq $78, %ymm6, %ymm6 1442vpermq $78, %ymm7, %ymm7 1443vpermq $78, %ymm8, %ymm8 1444vpermq $78, %ymm9, %ymm9 1445vpermq $78, %ymm10, %ymm10 1446vinserti128 $0, %xmm4, %ymm3, %ymm15 1447vmovdqa %ymm15, 1792(%r9) 1448vinserti128 $0, %xmm5, %ymm13, %ymm15 1449vmovdqa %ymm15, 1824(%r9) 1450vinserti128 $0, %xmm6, %ymm11, %ymm15 1451vmovdqa %ymm15, 1856(%r9) 1452vinserti128 $0, %xmm7, %ymm0, %ymm15 1453vmovdqa %ymm15, 1888(%r9) 1454vinserti128 $0, %xmm8, %ymm12, %ymm15 1455vmovdqa %ymm15, 1920(%r9) 1456vinserti128 $0, %xmm9, %ymm2, %ymm15 1457vmovdqa %ymm15, 1952(%r9) 1458vinserti128 $0, %xmm10, %ymm14, %ymm15 1459vmovdqa %ymm15, 1984(%r9) 1460vmovdqa 0(%rsp), %ymm11 1461vinserti128 $1, %xmm1, %ymm11, %ymm14 1462vmovdqa %ymm14, 1760(%r9) 1463vpermq $78, %ymm11, %ymm11 1464vinserti128 $0, %xmm11, %ymm1, %ymm1 1465vmovdqa %ymm1, 2016(%r9) 1466addq $32, %rsp 1467innerloop_1: 1468vmovdqa 0(%r9), %ymm0 1469vmovdqa 1024(%r9), %ymm4 1470vmovdqa 32(%r9), %ymm1 1471vmovdqa 1056(%r9), %ymm5 1472vmovdqa 64(%r9), %ymm2 1473vmovdqa 1088(%r9), %ymm6 1474vmovdqa 96(%r9), %ymm3 1475vmovdqa 1120(%r9), %ymm7 1476vpmullw %ymm0, %ymm4, %ymm12 1477vmovdqa %ymm12, 2048(%r10) 1478vpmullw %ymm0, %ymm5, %ymm13 1479vpmullw %ymm1, %ymm4, %ymm15 1480vpaddw %ymm13, %ymm15, %ymm13 1481vmovdqa %ymm13, 2080(%r10) 1482vpmullw %ymm0, %ymm6, %ymm12 1483vpmullw %ymm1, %ymm5, %ymm15 1484vpaddw %ymm12, %ymm15, %ymm12 1485vpmullw %ymm2, %ymm4, %ymm15 1486vpaddw %ymm12, %ymm15, %ymm12 1487vmovdqa %ymm12, 2112(%r10) 1488vpmullw %ymm0, %ymm7, %ymm13 1489vpmullw %ymm1, %ymm6, %ymm15 1490vpaddw %ymm13, %ymm15, %ymm13 1491vpmullw %ymm2, %ymm5, %ymm15 1492vpaddw %ymm13, %ymm15, %ymm13 1493vpmullw %ymm3, %ymm4, %ymm15 1494vpaddw %ymm13, %ymm15, %ymm13 1495vmovdqa %ymm13, 2144(%r10) 1496vpmullw %ymm1, %ymm7, %ymm12 1497vpmullw %ymm2, %ymm6, %ymm15 1498vpaddw %ymm12, %ymm15, %ymm12 1499vpmullw %ymm3, %ymm5, %ymm15 1500vpaddw %ymm12, %ymm15, %ymm12 1501vmovdqa %ymm12, 2176(%r10) 1502vpmullw %ymm2, %ymm7, %ymm13 1503vpmullw %ymm3, %ymm6, %ymm15 1504vpaddw %ymm13, %ymm15, %ymm13 1505vmovdqa %ymm13, 2208(%r10) 1506vpmullw %ymm3, %ymm7, %ymm12 1507vmovdqa %ymm12, 2240(%r10) 1508vmovdqa 128(%r9), %ymm0 1509vmovdqa 1152(%r9), %ymm4 1510vmovdqa 160(%r9), %ymm1 1511vmovdqa 1184(%r9), %ymm5 1512vmovdqa 192(%r9), %ymm2 1513vmovdqa 1216(%r9), %ymm6 1514vmovdqa 224(%r9), %ymm3 1515vmovdqa 1248(%r9), %ymm7 1516vpmullw %ymm0, %ymm4, %ymm12 1517vmovdqa %ymm12, 2304(%r10) 1518vpmullw %ymm0, %ymm5, %ymm13 1519vpmullw %ymm1, %ymm4, %ymm15 1520vpaddw %ymm13, %ymm15, %ymm13 1521vmovdqa %ymm13, 2336(%r10) 1522vpmullw %ymm0, %ymm6, %ymm12 1523vpmullw %ymm1, %ymm5, %ymm15 1524vpaddw %ymm12, %ymm15, %ymm12 1525vpmullw %ymm2, %ymm4, %ymm15 1526vpaddw %ymm12, %ymm15, %ymm12 1527vmovdqa %ymm12, 2368(%r10) 1528vpmullw %ymm0, %ymm7, %ymm13 1529vpmullw %ymm1, %ymm6, %ymm15 1530vpaddw %ymm13, %ymm15, %ymm13 1531vpmullw %ymm2, %ymm5, %ymm15 1532vpaddw %ymm13, %ymm15, %ymm13 1533vpmullw %ymm3, %ymm4, %ymm15 1534vpaddw %ymm13, %ymm15, %ymm13 1535vmovdqa %ymm13, 2400(%r10) 1536vpmullw %ymm1, %ymm7, %ymm12 1537vpmullw %ymm2, %ymm6, %ymm15 1538vpaddw %ymm12, %ymm15, %ymm12 1539vpmullw %ymm3, %ymm5, %ymm15 1540vpaddw %ymm12, %ymm15, %ymm12 1541vmovdqa %ymm12, 2432(%r10) 1542vpmullw %ymm2, %ymm7, %ymm13 1543vpmullw %ymm3, %ymm6, %ymm15 1544vpaddw %ymm13, %ymm15, %ymm13 1545vmovdqa %ymm13, 2464(%r10) 1546vpmullw %ymm3, %ymm7, %ymm12 1547vmovdqa %ymm12, 2496(%r10) 1548vpaddw 0(%r9), %ymm0, %ymm0 1549vpaddw 1024(%r9), %ymm4, %ymm4 1550vpaddw 32(%r9), %ymm1, %ymm1 1551vpaddw 1056(%r9), %ymm5, %ymm5 1552vpaddw 64(%r9), %ymm2, %ymm2 1553vpaddw 1088(%r9), %ymm6, %ymm6 1554vpaddw 96(%r9), %ymm3, %ymm3 1555vpaddw 1120(%r9), %ymm7, %ymm7 1556vpmullw %ymm0, %ymm4, %ymm9 1557vpmullw %ymm0, %ymm5, %ymm10 1558vpmullw %ymm1, %ymm4, %ymm8 1559vpaddw %ymm8, %ymm10, %ymm10 1560vpmullw %ymm0, %ymm6, %ymm11 1561vpmullw %ymm1, %ymm5, %ymm8 1562vpaddw %ymm8, %ymm11, %ymm11 1563vpmullw %ymm2, %ymm4, %ymm8 1564vpaddw %ymm8, %ymm11, %ymm11 1565vpmullw %ymm0, %ymm7, %ymm12 1566vpmullw %ymm1, %ymm6, %ymm8 1567vpaddw %ymm8, %ymm12, %ymm12 1568vpmullw %ymm2, %ymm5, %ymm8 1569vpaddw %ymm8, %ymm12, %ymm12 1570vpmullw %ymm3, %ymm4, %ymm8 1571vpaddw %ymm8, %ymm12, %ymm12 1572vpmullw %ymm1, %ymm7, %ymm13 1573vpmullw %ymm2, %ymm6, %ymm8 1574vpaddw %ymm8, %ymm13, %ymm13 1575vpmullw %ymm3, %ymm5, %ymm8 1576vpaddw %ymm8, %ymm13, %ymm13 1577vpmullw %ymm2, %ymm7, %ymm14 1578vpmullw %ymm3, %ymm6, %ymm8 1579vpaddw %ymm8, %ymm14, %ymm14 1580vpmullw %ymm3, %ymm7, %ymm15 1581vpsubw 2048(%r10), %ymm9, %ymm9 1582vmovdqa 2304(%r10), %ymm3 1583vpsubw %ymm3, %ymm9, %ymm9 1584vpsubw 2080(%r10), %ymm10, %ymm10 1585vmovdqa 2336(%r10), %ymm4 1586vpsubw %ymm4, %ymm10, %ymm10 1587vpsubw 2112(%r10), %ymm11, %ymm11 1588vmovdqa 2368(%r10), %ymm5 1589vpsubw %ymm5, %ymm11, %ymm11 1590vpsubw 2144(%r10), %ymm12, %ymm12 1591vpsubw 2400(%r10), %ymm12, %ymm12 1592vmovdqa 2176(%r10), %ymm0 1593vpsubw %ymm0, %ymm13, %ymm13 1594vpsubw 2432(%r10), %ymm13, %ymm13 1595vmovdqa 2208(%r10), %ymm1 1596vpsubw %ymm1, %ymm14, %ymm14 1597vpsubw 2464(%r10), %ymm14, %ymm14 1598vmovdqa 2240(%r10), %ymm2 1599vpsubw %ymm2, %ymm15, %ymm15 1600vpsubw 2496(%r10), %ymm15, %ymm15 1601vpaddw %ymm0, %ymm9, %ymm9 1602vmovdqa %ymm9, 2176(%r10) 1603vpaddw %ymm1, %ymm10, %ymm10 1604vmovdqa %ymm10, 2208(%r10) 1605vpaddw %ymm2, %ymm11, %ymm11 1606vmovdqa %ymm11, 2240(%r10) 1607vmovdqa %ymm12, 2272(%r10) 1608vpaddw %ymm3, %ymm13, %ymm13 1609vmovdqa %ymm13, 2304(%r10) 1610vpaddw %ymm4, %ymm14, %ymm14 1611vmovdqa %ymm14, 2336(%r10) 1612vpaddw %ymm5, %ymm15, %ymm15 1613vmovdqa %ymm15, 2368(%r10) 1614vmovdqa 256(%r9), %ymm0 1615vmovdqa 1280(%r9), %ymm4 1616vmovdqa 288(%r9), %ymm1 1617vmovdqa 1312(%r9), %ymm5 1618vmovdqa 320(%r9), %ymm2 1619vmovdqa 1344(%r9), %ymm6 1620vmovdqa 352(%r9), %ymm3 1621vmovdqa 1376(%r9), %ymm7 1622vpmullw %ymm0, %ymm4, %ymm12 1623vmovdqa %ymm12, 2560(%r10) 1624vpmullw %ymm0, %ymm5, %ymm13 1625vpmullw %ymm1, %ymm4, %ymm15 1626vpaddw %ymm13, %ymm15, %ymm13 1627vmovdqa %ymm13, 2592(%r10) 1628vpmullw %ymm0, %ymm6, %ymm12 1629vpmullw %ymm1, %ymm5, %ymm15 1630vpaddw %ymm12, %ymm15, %ymm12 1631vpmullw %ymm2, %ymm4, %ymm15 1632vpaddw %ymm12, %ymm15, %ymm12 1633vmovdqa %ymm12, 2624(%r10) 1634vpmullw %ymm0, %ymm7, %ymm13 1635vpmullw %ymm1, %ymm6, %ymm15 1636vpaddw %ymm13, %ymm15, %ymm13 1637vpmullw %ymm2, %ymm5, %ymm15 1638vpaddw %ymm13, %ymm15, %ymm13 1639vpmullw %ymm3, %ymm4, %ymm15 1640vpaddw %ymm13, %ymm15, %ymm13 1641vmovdqa %ymm13, 2656(%r10) 1642vpmullw %ymm1, %ymm7, %ymm12 1643vpmullw %ymm2, %ymm6, %ymm15 1644vpaddw %ymm12, %ymm15, %ymm12 1645vpmullw %ymm3, %ymm5, %ymm15 1646vpaddw %ymm12, %ymm15, %ymm12 1647vmovdqa %ymm12, 2688(%r10) 1648vpmullw %ymm2, %ymm7, %ymm13 1649vpmullw %ymm3, %ymm6, %ymm15 1650vpaddw %ymm13, %ymm15, %ymm13 1651vmovdqa %ymm13, 2720(%r10) 1652vpmullw %ymm3, %ymm7, %ymm12 1653vmovdqa %ymm12, 2752(%r10) 1654vmovdqa 384(%r9), %ymm0 1655vmovdqa 1408(%r9), %ymm4 1656vmovdqa 416(%r9), %ymm1 1657vmovdqa 1440(%r9), %ymm5 1658vmovdqa 448(%r9), %ymm2 1659vmovdqa 1472(%r9), %ymm6 1660vmovdqa 480(%r9), %ymm3 1661vmovdqa 1504(%r9), %ymm7 1662vpmullw %ymm0, %ymm4, %ymm12 1663vmovdqa %ymm12, 2816(%r10) 1664vpmullw %ymm0, %ymm5, %ymm13 1665vpmullw %ymm1, %ymm4, %ymm15 1666vpaddw %ymm13, %ymm15, %ymm13 1667vmovdqa %ymm13, 2848(%r10) 1668vpmullw %ymm0, %ymm6, %ymm12 1669vpmullw %ymm1, %ymm5, %ymm15 1670vpaddw %ymm12, %ymm15, %ymm12 1671vpmullw %ymm2, %ymm4, %ymm15 1672vpaddw %ymm12, %ymm15, %ymm12 1673vmovdqa %ymm12, 2880(%r10) 1674vpmullw %ymm0, %ymm7, %ymm13 1675vpmullw %ymm1, %ymm6, %ymm15 1676vpaddw %ymm13, %ymm15, %ymm13 1677vpmullw %ymm2, %ymm5, %ymm15 1678vpaddw %ymm13, %ymm15, %ymm13 1679vpmullw %ymm3, %ymm4, %ymm15 1680vpaddw %ymm13, %ymm15, %ymm13 1681vmovdqa %ymm13, 2912(%r10) 1682vpmullw %ymm1, %ymm7, %ymm12 1683vpmullw %ymm2, %ymm6, %ymm15 1684vpaddw %ymm12, %ymm15, %ymm12 1685vpmullw %ymm3, %ymm5, %ymm15 1686vpaddw %ymm12, %ymm15, %ymm12 1687vmovdqa %ymm12, 2944(%r10) 1688vpmullw %ymm2, %ymm7, %ymm13 1689vpmullw %ymm3, %ymm6, %ymm15 1690vpaddw %ymm13, %ymm15, %ymm13 1691vmovdqa %ymm13, 2976(%r10) 1692vpmullw %ymm3, %ymm7, %ymm12 1693vmovdqa %ymm12, 3008(%r10) 1694vpaddw 256(%r9), %ymm0, %ymm0 1695vpaddw 1280(%r9), %ymm4, %ymm4 1696vpaddw 288(%r9), %ymm1, %ymm1 1697vpaddw 1312(%r9), %ymm5, %ymm5 1698vpaddw 320(%r9), %ymm2, %ymm2 1699vpaddw 1344(%r9), %ymm6, %ymm6 1700vpaddw 352(%r9), %ymm3, %ymm3 1701vpaddw 1376(%r9), %ymm7, %ymm7 1702vpmullw %ymm0, %ymm4, %ymm9 1703vpmullw %ymm0, %ymm5, %ymm10 1704vpmullw %ymm1, %ymm4, %ymm8 1705vpaddw %ymm8, %ymm10, %ymm10 1706vpmullw %ymm0, %ymm6, %ymm11 1707vpmullw %ymm1, %ymm5, %ymm8 1708vpaddw %ymm8, %ymm11, %ymm11 1709vpmullw %ymm2, %ymm4, %ymm8 1710vpaddw %ymm8, %ymm11, %ymm11 1711vpmullw %ymm0, %ymm7, %ymm12 1712vpmullw %ymm1, %ymm6, %ymm8 1713vpaddw %ymm8, %ymm12, %ymm12 1714vpmullw %ymm2, %ymm5, %ymm8 1715vpaddw %ymm8, %ymm12, %ymm12 1716vpmullw %ymm3, %ymm4, %ymm8 1717vpaddw %ymm8, %ymm12, %ymm12 1718vpmullw %ymm1, %ymm7, %ymm13 1719vpmullw %ymm2, %ymm6, %ymm8 1720vpaddw %ymm8, %ymm13, %ymm13 1721vpmullw %ymm3, %ymm5, %ymm8 1722vpaddw %ymm8, %ymm13, %ymm13 1723vpmullw %ymm2, %ymm7, %ymm14 1724vpmullw %ymm3, %ymm6, %ymm8 1725vpaddw %ymm8, %ymm14, %ymm14 1726vpmullw %ymm3, %ymm7, %ymm15 1727vpsubw 2560(%r10), %ymm9, %ymm9 1728vmovdqa 2816(%r10), %ymm3 1729vpsubw %ymm3, %ymm9, %ymm9 1730vpsubw 2592(%r10), %ymm10, %ymm10 1731vmovdqa 2848(%r10), %ymm4 1732vpsubw %ymm4, %ymm10, %ymm10 1733vpsubw 2624(%r10), %ymm11, %ymm11 1734vmovdqa 2880(%r10), %ymm5 1735vpsubw %ymm5, %ymm11, %ymm11 1736vpsubw 2656(%r10), %ymm12, %ymm12 1737vpsubw 2912(%r10), %ymm12, %ymm12 1738vmovdqa 2688(%r10), %ymm0 1739vpsubw %ymm0, %ymm13, %ymm13 1740vpsubw 2944(%r10), %ymm13, %ymm13 1741vmovdqa 2720(%r10), %ymm1 1742vpsubw %ymm1, %ymm14, %ymm14 1743vpsubw 2976(%r10), %ymm14, %ymm14 1744vmovdqa 2752(%r10), %ymm2 1745vpsubw %ymm2, %ymm15, %ymm15 1746vpsubw 3008(%r10), %ymm15, %ymm15 1747vpaddw %ymm0, %ymm9, %ymm9 1748vmovdqa %ymm9, 2688(%r10) 1749vpaddw %ymm1, %ymm10, %ymm10 1750vmovdqa %ymm10, 2720(%r10) 1751vpaddw %ymm2, %ymm11, %ymm11 1752vmovdqa %ymm11, 2752(%r10) 1753vmovdqa %ymm12, 2784(%r10) 1754vpaddw %ymm3, %ymm13, %ymm13 1755vmovdqa %ymm13, 2816(%r10) 1756vpaddw %ymm4, %ymm14, %ymm14 1757vmovdqa %ymm14, 2848(%r10) 1758vpaddw %ymm5, %ymm15, %ymm15 1759vmovdqa %ymm15, 2880(%r10) 1760vmovdqa 0(%r9), %ymm0 1761vmovdqa 1024(%r9), %ymm4 1762vpaddw 256(%r9), %ymm0, %ymm0 1763vpaddw 1280(%r9), %ymm4, %ymm4 1764vmovdqa 32(%r9), %ymm1 1765vmovdqa 1056(%r9), %ymm5 1766vpaddw 288(%r9), %ymm1, %ymm1 1767vpaddw 1312(%r9), %ymm5, %ymm5 1768vmovdqa 64(%r9), %ymm2 1769vmovdqa 1088(%r9), %ymm6 1770vpaddw 320(%r9), %ymm2, %ymm2 1771vpaddw 1344(%r9), %ymm6, %ymm6 1772vmovdqa 96(%r9), %ymm3 1773vmovdqa 1120(%r9), %ymm7 1774vpaddw 352(%r9), %ymm3, %ymm3 1775vpaddw 1376(%r9), %ymm7, %ymm7 1776vpmullw %ymm0, %ymm4, %ymm12 1777vmovdqa %ymm12, 4096(%rsp) 1778vpmullw %ymm0, %ymm5, %ymm13 1779vpmullw %ymm1, %ymm4, %ymm15 1780vpaddw %ymm13, %ymm15, %ymm13 1781vmovdqa %ymm13, 4128(%rsp) 1782vpmullw %ymm0, %ymm6, %ymm12 1783vpmullw %ymm1, %ymm5, %ymm15 1784vpaddw %ymm12, %ymm15, %ymm12 1785vpmullw %ymm2, %ymm4, %ymm15 1786vpaddw %ymm12, %ymm15, %ymm12 1787vmovdqa %ymm12, 4160(%rsp) 1788vpmullw %ymm0, %ymm7, %ymm13 1789vpmullw %ymm1, %ymm6, %ymm15 1790vpaddw %ymm13, %ymm15, %ymm13 1791vpmullw %ymm2, %ymm5, %ymm15 1792vpaddw %ymm13, %ymm15, %ymm13 1793vpmullw %ymm3, %ymm4, %ymm15 1794vpaddw %ymm13, %ymm15, %ymm13 1795vmovdqa %ymm13, 4192(%rsp) 1796vpmullw %ymm1, %ymm7, %ymm12 1797vpmullw %ymm2, %ymm6, %ymm15 1798vpaddw %ymm12, %ymm15, %ymm12 1799vpmullw %ymm3, %ymm5, %ymm15 1800vpaddw %ymm12, %ymm15, %ymm12 1801vmovdqa %ymm12, 4224(%rsp) 1802vpmullw %ymm2, %ymm7, %ymm13 1803vpmullw %ymm3, %ymm6, %ymm15 1804vpaddw %ymm13, %ymm15, %ymm13 1805vmovdqa %ymm13, 4256(%rsp) 1806vpmullw %ymm3, %ymm7, %ymm12 1807vmovdqa %ymm12, 4288(%rsp) 1808vmovdqa 128(%r9), %ymm0 1809vmovdqa 1152(%r9), %ymm4 1810vpaddw 384(%r9), %ymm0, %ymm0 1811vpaddw 1408(%r9), %ymm4, %ymm4 1812vmovdqa 160(%r9), %ymm1 1813vmovdqa 1184(%r9), %ymm5 1814vpaddw 416(%r9), %ymm1, %ymm1 1815vpaddw 1440(%r9), %ymm5, %ymm5 1816vmovdqa 192(%r9), %ymm2 1817vmovdqa 1216(%r9), %ymm6 1818vpaddw 448(%r9), %ymm2, %ymm2 1819vpaddw 1472(%r9), %ymm6, %ymm6 1820vmovdqa 224(%r9), %ymm3 1821vmovdqa 1248(%r9), %ymm7 1822vpaddw 480(%r9), %ymm3, %ymm3 1823vpaddw 1504(%r9), %ymm7, %ymm7 1824vpmullw %ymm0, %ymm4, %ymm12 1825vmovdqa %ymm12, 4352(%rsp) 1826vpmullw %ymm0, %ymm5, %ymm13 1827vpmullw %ymm1, %ymm4, %ymm15 1828vpaddw %ymm13, %ymm15, %ymm13 1829vmovdqa %ymm13, 4384(%rsp) 1830vpmullw %ymm0, %ymm6, %ymm12 1831vpmullw %ymm1, %ymm5, %ymm15 1832vpaddw %ymm12, %ymm15, %ymm12 1833vpmullw %ymm2, %ymm4, %ymm15 1834vpaddw %ymm12, %ymm15, %ymm12 1835vmovdqa %ymm12, 4416(%rsp) 1836vpmullw %ymm0, %ymm7, %ymm13 1837vpmullw %ymm1, %ymm6, %ymm15 1838vpaddw %ymm13, %ymm15, %ymm13 1839vpmullw %ymm2, %ymm5, %ymm15 1840vpaddw %ymm13, %ymm15, %ymm13 1841vpmullw %ymm3, %ymm4, %ymm15 1842vpaddw %ymm13, %ymm15, %ymm13 1843vmovdqa %ymm13, 4448(%rsp) 1844vpmullw %ymm1, %ymm7, %ymm12 1845vpmullw %ymm2, %ymm6, %ymm15 1846vpaddw %ymm12, %ymm15, %ymm12 1847vpmullw %ymm3, %ymm5, %ymm15 1848vpaddw %ymm12, %ymm15, %ymm12 1849vmovdqa %ymm12, 4480(%rsp) 1850vpmullw %ymm2, %ymm7, %ymm13 1851vpmullw %ymm3, %ymm6, %ymm15 1852vpaddw %ymm13, %ymm15, %ymm13 1853vmovdqa %ymm13, 4512(%rsp) 1854vpmullw %ymm3, %ymm7, %ymm12 1855vmovdqa %ymm12, 4544(%rsp) 1856vpaddw 0(%r9), %ymm0, %ymm0 1857vpaddw 1024(%r9), %ymm4, %ymm4 1858vpaddw 256(%r9), %ymm0, %ymm0 1859vpaddw 1280(%r9), %ymm4, %ymm4 1860vpaddw 32(%r9), %ymm1, %ymm1 1861vpaddw 1056(%r9), %ymm5, %ymm5 1862vpaddw 288(%r9), %ymm1, %ymm1 1863vpaddw 1312(%r9), %ymm5, %ymm5 1864vpaddw 64(%r9), %ymm2, %ymm2 1865vpaddw 1088(%r9), %ymm6, %ymm6 1866vpaddw 320(%r9), %ymm2, %ymm2 1867vpaddw 1344(%r9), %ymm6, %ymm6 1868vpaddw 96(%r9), %ymm3, %ymm3 1869vpaddw 1120(%r9), %ymm7, %ymm7 1870vpaddw 352(%r9), %ymm3, %ymm3 1871vpaddw 1376(%r9), %ymm7, %ymm7 1872vpmullw %ymm0, %ymm4, %ymm9 1873vpmullw %ymm0, %ymm5, %ymm10 1874vpmullw %ymm1, %ymm4, %ymm8 1875vpaddw %ymm8, %ymm10, %ymm10 1876vpmullw %ymm0, %ymm6, %ymm11 1877vpmullw %ymm1, %ymm5, %ymm8 1878vpaddw %ymm8, %ymm11, %ymm11 1879vpmullw %ymm2, %ymm4, %ymm8 1880vpaddw %ymm8, %ymm11, %ymm11 1881vpmullw %ymm0, %ymm7, %ymm12 1882vpmullw %ymm1, %ymm6, %ymm8 1883vpaddw %ymm8, %ymm12, %ymm12 1884vpmullw %ymm2, %ymm5, %ymm8 1885vpaddw %ymm8, %ymm12, %ymm12 1886vpmullw %ymm3, %ymm4, %ymm8 1887vpaddw %ymm8, %ymm12, %ymm12 1888vpmullw %ymm1, %ymm7, %ymm13 1889vpmullw %ymm2, %ymm6, %ymm8 1890vpaddw %ymm8, %ymm13, %ymm13 1891vpmullw %ymm3, %ymm5, %ymm8 1892vpaddw %ymm8, %ymm13, %ymm13 1893vpmullw %ymm2, %ymm7, %ymm14 1894vpmullw %ymm3, %ymm6, %ymm8 1895vpaddw %ymm8, %ymm14, %ymm14 1896vpmullw %ymm3, %ymm7, %ymm15 1897vpsubw 4096(%rsp), %ymm9, %ymm9 1898vmovdqa 4352(%rsp), %ymm3 1899vpsubw %ymm3, %ymm9, %ymm9 1900vpsubw 4128(%rsp), %ymm10, %ymm10 1901vmovdqa 4384(%rsp), %ymm4 1902vpsubw %ymm4, %ymm10, %ymm10 1903vpsubw 4160(%rsp), %ymm11, %ymm11 1904vmovdqa 4416(%rsp), %ymm5 1905vpsubw %ymm5, %ymm11, %ymm11 1906vpsubw 4192(%rsp), %ymm12, %ymm12 1907vpsubw 4448(%rsp), %ymm12, %ymm12 1908vmovdqa 4224(%rsp), %ymm0 1909vpsubw %ymm0, %ymm13, %ymm13 1910vpsubw 4480(%rsp), %ymm13, %ymm13 1911vmovdqa 4256(%rsp), %ymm1 1912vpsubw %ymm1, %ymm14, %ymm14 1913vpsubw 4512(%rsp), %ymm14, %ymm14 1914vmovdqa 4288(%rsp), %ymm2 1915vpsubw %ymm2, %ymm15, %ymm15 1916vpsubw 4544(%rsp), %ymm15, %ymm15 1917vpaddw %ymm0, %ymm9, %ymm9 1918vmovdqa %ymm9, 4224(%rsp) 1919vpaddw %ymm1, %ymm10, %ymm10 1920vmovdqa %ymm10, 4256(%rsp) 1921vpaddw %ymm2, %ymm11, %ymm11 1922vmovdqa %ymm11, 4288(%rsp) 1923vmovdqa %ymm12, 4320(%rsp) 1924vpaddw %ymm3, %ymm13, %ymm13 1925vmovdqa %ymm13, 4352(%rsp) 1926vpaddw %ymm4, %ymm14, %ymm14 1927vmovdqa %ymm14, 4384(%rsp) 1928vpaddw %ymm5, %ymm15, %ymm15 1929vmovdqa %ymm15, 4416(%rsp) 1930vmovdqa 4320(%rsp), %ymm0 1931vpsubw 2272(%r10), %ymm0, %ymm0 1932vpsubw 2784(%r10), %ymm0, %ymm0 1933vmovdqa %ymm0, 2528(%r10) 1934vmovdqa 2304(%r10), %ymm0 1935vpsubw 2560(%r10), %ymm0, %ymm0 1936vmovdqa 4352(%rsp), %ymm1 1937vpsubw %ymm0, %ymm1, %ymm1 1938vpsubw 2816(%r10), %ymm1, %ymm1 1939vpsubw 2048(%r10), %ymm0, %ymm0 1940vpaddw 4096(%rsp), %ymm0, %ymm0 1941vmovdqa %ymm0, 2304(%r10) 1942vmovdqa %ymm1, 2560(%r10) 1943vmovdqa 2336(%r10), %ymm0 1944vpsubw 2592(%r10), %ymm0, %ymm0 1945vmovdqa 4384(%rsp), %ymm1 1946vpsubw %ymm0, %ymm1, %ymm1 1947vpsubw 2848(%r10), %ymm1, %ymm1 1948vpsubw 2080(%r10), %ymm0, %ymm0 1949vpaddw 4128(%rsp), %ymm0, %ymm0 1950vmovdqa %ymm0, 2336(%r10) 1951vmovdqa %ymm1, 2592(%r10) 1952vmovdqa 2368(%r10), %ymm0 1953vpsubw 2624(%r10), %ymm0, %ymm0 1954vmovdqa 4416(%rsp), %ymm1 1955vpsubw %ymm0, %ymm1, %ymm1 1956vpsubw 2880(%r10), %ymm1, %ymm1 1957vpsubw 2112(%r10), %ymm0, %ymm0 1958vpaddw 4160(%rsp), %ymm0, %ymm0 1959vmovdqa %ymm0, 2368(%r10) 1960vmovdqa %ymm1, 2624(%r10) 1961vmovdqa 2400(%r10), %ymm0 1962vpsubw 2656(%r10), %ymm0, %ymm0 1963vmovdqa 4448(%rsp), %ymm1 1964vpsubw %ymm0, %ymm1, %ymm1 1965vpsubw 2912(%r10), %ymm1, %ymm1 1966vpsubw 2144(%r10), %ymm0, %ymm0 1967vpaddw 4192(%rsp), %ymm0, %ymm0 1968vmovdqa %ymm0, 2400(%r10) 1969vmovdqa %ymm1, 2656(%r10) 1970vmovdqa 2432(%r10), %ymm0 1971vpsubw 2688(%r10), %ymm0, %ymm0 1972vmovdqa 4480(%rsp), %ymm1 1973vpsubw %ymm0, %ymm1, %ymm1 1974vpsubw 2944(%r10), %ymm1, %ymm1 1975vpsubw 2176(%r10), %ymm0, %ymm0 1976vpaddw 4224(%rsp), %ymm0, %ymm0 1977vmovdqa %ymm0, 2432(%r10) 1978vmovdqa %ymm1, 2688(%r10) 1979vmovdqa 2464(%r10), %ymm0 1980vpsubw 2720(%r10), %ymm0, %ymm0 1981vmovdqa 4512(%rsp), %ymm1 1982vpsubw %ymm0, %ymm1, %ymm1 1983vpsubw 2976(%r10), %ymm1, %ymm1 1984vpsubw 2208(%r10), %ymm0, %ymm0 1985vpaddw 4256(%rsp), %ymm0, %ymm0 1986vmovdqa %ymm0, 2464(%r10) 1987vmovdqa %ymm1, 2720(%r10) 1988vmovdqa 2496(%r10), %ymm0 1989vpsubw 2752(%r10), %ymm0, %ymm0 1990vmovdqa 4544(%rsp), %ymm1 1991vpsubw %ymm0, %ymm1, %ymm1 1992vpsubw 3008(%r10), %ymm1, %ymm1 1993vpsubw 2240(%r10), %ymm0, %ymm0 1994vpaddw 4288(%rsp), %ymm0, %ymm0 1995vmovdqa %ymm0, 2496(%r10) 1996vmovdqa %ymm1, 2752(%r10) 1997neg %ecx 1998jns done_1 1999add $512, %r9 2000add $1024, %r10 2001jmp innerloop_1 2002done_1: 2003sub $512, %r9 2004sub $1024, %r10 2005vmovdqa 0(%r9), %ymm0 2006vpaddw 512(%r9), %ymm0, %ymm0 2007vmovdqa %ymm0, 4608(%rsp) 2008vmovdqa 1024(%r9), %ymm0 2009vpaddw 1536(%r9), %ymm0, %ymm0 2010vmovdqa %ymm0, 5120(%rsp) 2011vmovdqa 32(%r9), %ymm0 2012vpaddw 544(%r9), %ymm0, %ymm0 2013vmovdqa %ymm0, 4640(%rsp) 2014vmovdqa 1056(%r9), %ymm0 2015vpaddw 1568(%r9), %ymm0, %ymm0 2016vmovdqa %ymm0, 5152(%rsp) 2017vmovdqa 64(%r9), %ymm0 2018vpaddw 576(%r9), %ymm0, %ymm0 2019vmovdqa %ymm0, 4672(%rsp) 2020vmovdqa 1088(%r9), %ymm0 2021vpaddw 1600(%r9), %ymm0, %ymm0 2022vmovdqa %ymm0, 5184(%rsp) 2023vmovdqa 96(%r9), %ymm0 2024vpaddw 608(%r9), %ymm0, %ymm0 2025vmovdqa %ymm0, 4704(%rsp) 2026vmovdqa 1120(%r9), %ymm0 2027vpaddw 1632(%r9), %ymm0, %ymm0 2028vmovdqa %ymm0, 5216(%rsp) 2029vmovdqa 128(%r9), %ymm0 2030vpaddw 640(%r9), %ymm0, %ymm0 2031vmovdqa %ymm0, 4736(%rsp) 2032vmovdqa 1152(%r9), %ymm0 2033vpaddw 1664(%r9), %ymm0, %ymm0 2034vmovdqa %ymm0, 5248(%rsp) 2035vmovdqa 160(%r9), %ymm0 2036vpaddw 672(%r9), %ymm0, %ymm0 2037vmovdqa %ymm0, 4768(%rsp) 2038vmovdqa 1184(%r9), %ymm0 2039vpaddw 1696(%r9), %ymm0, %ymm0 2040vmovdqa %ymm0, 5280(%rsp) 2041vmovdqa 192(%r9), %ymm0 2042vpaddw 704(%r9), %ymm0, %ymm0 2043vmovdqa %ymm0, 4800(%rsp) 2044vmovdqa 1216(%r9), %ymm0 2045vpaddw 1728(%r9), %ymm0, %ymm0 2046vmovdqa %ymm0, 5312(%rsp) 2047vmovdqa 224(%r9), %ymm0 2048vpaddw 736(%r9), %ymm0, %ymm0 2049vmovdqa %ymm0, 4832(%rsp) 2050vmovdqa 1248(%r9), %ymm0 2051vpaddw 1760(%r9), %ymm0, %ymm0 2052vmovdqa %ymm0, 5344(%rsp) 2053vmovdqa 256(%r9), %ymm0 2054vpaddw 768(%r9), %ymm0, %ymm0 2055vmovdqa %ymm0, 4864(%rsp) 2056vmovdqa 1280(%r9), %ymm0 2057vpaddw 1792(%r9), %ymm0, %ymm0 2058vmovdqa %ymm0, 5376(%rsp) 2059vmovdqa 288(%r9), %ymm0 2060vpaddw 800(%r9), %ymm0, %ymm0 2061vmovdqa %ymm0, 4896(%rsp) 2062vmovdqa 1312(%r9), %ymm0 2063vpaddw 1824(%r9), %ymm0, %ymm0 2064vmovdqa %ymm0, 5408(%rsp) 2065vmovdqa 320(%r9), %ymm0 2066vpaddw 832(%r9), %ymm0, %ymm0 2067vmovdqa %ymm0, 4928(%rsp) 2068vmovdqa 1344(%r9), %ymm0 2069vpaddw 1856(%r9), %ymm0, %ymm0 2070vmovdqa %ymm0, 5440(%rsp) 2071vmovdqa 352(%r9), %ymm0 2072vpaddw 864(%r9), %ymm0, %ymm0 2073vmovdqa %ymm0, 4960(%rsp) 2074vmovdqa 1376(%r9), %ymm0 2075vpaddw 1888(%r9), %ymm0, %ymm0 2076vmovdqa %ymm0, 5472(%rsp) 2077vmovdqa 384(%r9), %ymm0 2078vpaddw 896(%r9), %ymm0, %ymm0 2079vmovdqa %ymm0, 4992(%rsp) 2080vmovdqa 1408(%r9), %ymm0 2081vpaddw 1920(%r9), %ymm0, %ymm0 2082vmovdqa %ymm0, 5504(%rsp) 2083vmovdqa 416(%r9), %ymm0 2084vpaddw 928(%r9), %ymm0, %ymm0 2085vmovdqa %ymm0, 5024(%rsp) 2086vmovdqa 1440(%r9), %ymm0 2087vpaddw 1952(%r9), %ymm0, %ymm0 2088vmovdqa %ymm0, 5536(%rsp) 2089vmovdqa 448(%r9), %ymm0 2090vpaddw 960(%r9), %ymm0, %ymm0 2091vmovdqa %ymm0, 5056(%rsp) 2092vmovdqa 1472(%r9), %ymm0 2093vpaddw 1984(%r9), %ymm0, %ymm0 2094vmovdqa %ymm0, 5568(%rsp) 2095vmovdqa 480(%r9), %ymm0 2096vpaddw 992(%r9), %ymm0, %ymm0 2097vmovdqa %ymm0, 5088(%rsp) 2098vmovdqa 1504(%r9), %ymm0 2099vpaddw 2016(%r9), %ymm0, %ymm0 2100vmovdqa %ymm0, 5600(%rsp) 2101vmovdqa 4608(%rsp), %ymm0 2102vmovdqa 5120(%rsp), %ymm4 2103vmovdqa 4640(%rsp), %ymm1 2104vmovdqa 5152(%rsp), %ymm5 2105vmovdqa 4672(%rsp), %ymm2 2106vmovdqa 5184(%rsp), %ymm6 2107vmovdqa 4704(%rsp), %ymm3 2108vmovdqa 5216(%rsp), %ymm7 2109vpmullw %ymm0, %ymm4, %ymm12 2110vmovdqa %ymm12, 5632(%rsp) 2111vpmullw %ymm0, %ymm5, %ymm13 2112vpmullw %ymm1, %ymm4, %ymm15 2113vpaddw %ymm13, %ymm15, %ymm13 2114vmovdqa %ymm13, 5664(%rsp) 2115vpmullw %ymm0, %ymm6, %ymm12 2116vpmullw %ymm1, %ymm5, %ymm15 2117vpaddw %ymm12, %ymm15, %ymm12 2118vpmullw %ymm2, %ymm4, %ymm15 2119vpaddw %ymm12, %ymm15, %ymm12 2120vmovdqa %ymm12, 5696(%rsp) 2121vpmullw %ymm0, %ymm7, %ymm13 2122vpmullw %ymm1, %ymm6, %ymm15 2123vpaddw %ymm13, %ymm15, %ymm13 2124vpmullw %ymm2, %ymm5, %ymm15 2125vpaddw %ymm13, %ymm15, %ymm13 2126vpmullw %ymm3, %ymm4, %ymm15 2127vpaddw %ymm13, %ymm15, %ymm13 2128vmovdqa %ymm13, 5728(%rsp) 2129vpmullw %ymm1, %ymm7, %ymm12 2130vpmullw %ymm2, %ymm6, %ymm15 2131vpaddw %ymm12, %ymm15, %ymm12 2132vpmullw %ymm3, %ymm5, %ymm15 2133vpaddw %ymm12, %ymm15, %ymm12 2134vmovdqa %ymm12, 5760(%rsp) 2135vpmullw %ymm2, %ymm7, %ymm13 2136vpmullw %ymm3, %ymm6, %ymm15 2137vpaddw %ymm13, %ymm15, %ymm13 2138vmovdqa %ymm13, 5792(%rsp) 2139vpmullw %ymm3, %ymm7, %ymm12 2140vmovdqa %ymm12, 5824(%rsp) 2141vmovdqa 4736(%rsp), %ymm0 2142vmovdqa 5248(%rsp), %ymm4 2143vmovdqa 4768(%rsp), %ymm1 2144vmovdqa 5280(%rsp), %ymm5 2145vmovdqa 4800(%rsp), %ymm2 2146vmovdqa 5312(%rsp), %ymm6 2147vmovdqa 4832(%rsp), %ymm3 2148vmovdqa 5344(%rsp), %ymm7 2149vpmullw %ymm0, %ymm4, %ymm12 2150vmovdqa %ymm12, 5888(%rsp) 2151vpmullw %ymm0, %ymm5, %ymm13 2152vpmullw %ymm1, %ymm4, %ymm15 2153vpaddw %ymm13, %ymm15, %ymm13 2154vmovdqa %ymm13, 5920(%rsp) 2155vpmullw %ymm0, %ymm6, %ymm12 2156vpmullw %ymm1, %ymm5, %ymm15 2157vpaddw %ymm12, %ymm15, %ymm12 2158vpmullw %ymm2, %ymm4, %ymm15 2159vpaddw %ymm12, %ymm15, %ymm12 2160vmovdqa %ymm12, 5952(%rsp) 2161vpmullw %ymm0, %ymm7, %ymm13 2162vpmullw %ymm1, %ymm6, %ymm15 2163vpaddw %ymm13, %ymm15, %ymm13 2164vpmullw %ymm2, %ymm5, %ymm15 2165vpaddw %ymm13, %ymm15, %ymm13 2166vpmullw %ymm3, %ymm4, %ymm15 2167vpaddw %ymm13, %ymm15, %ymm13 2168vmovdqa %ymm13, 5984(%rsp) 2169vpmullw %ymm1, %ymm7, %ymm12 2170vpmullw %ymm2, %ymm6, %ymm15 2171vpaddw %ymm12, %ymm15, %ymm12 2172vpmullw %ymm3, %ymm5, %ymm15 2173vpaddw %ymm12, %ymm15, %ymm12 2174vmovdqa %ymm12, 6016(%rsp) 2175vpmullw %ymm2, %ymm7, %ymm13 2176vpmullw %ymm3, %ymm6, %ymm15 2177vpaddw %ymm13, %ymm15, %ymm13 2178vmovdqa %ymm13, 6048(%rsp) 2179vpmullw %ymm3, %ymm7, %ymm12 2180vmovdqa %ymm12, 6080(%rsp) 2181vpaddw 4608(%rsp), %ymm0, %ymm0 2182vpaddw 5120(%rsp), %ymm4, %ymm4 2183vpaddw 4640(%rsp), %ymm1, %ymm1 2184vpaddw 5152(%rsp), %ymm5, %ymm5 2185vpaddw 4672(%rsp), %ymm2, %ymm2 2186vpaddw 5184(%rsp), %ymm6, %ymm6 2187vpaddw 4704(%rsp), %ymm3, %ymm3 2188vpaddw 5216(%rsp), %ymm7, %ymm7 2189vpmullw %ymm0, %ymm4, %ymm9 2190vpmullw %ymm0, %ymm5, %ymm10 2191vpmullw %ymm1, %ymm4, %ymm8 2192vpaddw %ymm8, %ymm10, %ymm10 2193vpmullw %ymm0, %ymm6, %ymm11 2194vpmullw %ymm1, %ymm5, %ymm8 2195vpaddw %ymm8, %ymm11, %ymm11 2196vpmullw %ymm2, %ymm4, %ymm8 2197vpaddw %ymm8, %ymm11, %ymm11 2198vpmullw %ymm0, %ymm7, %ymm12 2199vpmullw %ymm1, %ymm6, %ymm8 2200vpaddw %ymm8, %ymm12, %ymm12 2201vpmullw %ymm2, %ymm5, %ymm8 2202vpaddw %ymm8, %ymm12, %ymm12 2203vpmullw %ymm3, %ymm4, %ymm8 2204vpaddw %ymm8, %ymm12, %ymm12 2205vpmullw %ymm1, %ymm7, %ymm13 2206vpmullw %ymm2, %ymm6, %ymm8 2207vpaddw %ymm8, %ymm13, %ymm13 2208vpmullw %ymm3, %ymm5, %ymm8 2209vpaddw %ymm8, %ymm13, %ymm13 2210vpmullw %ymm2, %ymm7, %ymm14 2211vpmullw %ymm3, %ymm6, %ymm8 2212vpaddw %ymm8, %ymm14, %ymm14 2213vpmullw %ymm3, %ymm7, %ymm15 2214vpsubw 5632(%rsp), %ymm9, %ymm9 2215vmovdqa 5888(%rsp), %ymm3 2216vpsubw %ymm3, %ymm9, %ymm9 2217vpsubw 5664(%rsp), %ymm10, %ymm10 2218vmovdqa 5920(%rsp), %ymm4 2219vpsubw %ymm4, %ymm10, %ymm10 2220vpsubw 5696(%rsp), %ymm11, %ymm11 2221vmovdqa 5952(%rsp), %ymm5 2222vpsubw %ymm5, %ymm11, %ymm11 2223vpsubw 5728(%rsp), %ymm12, %ymm12 2224vpsubw 5984(%rsp), %ymm12, %ymm12 2225vmovdqa 5760(%rsp), %ymm0 2226vpsubw %ymm0, %ymm13, %ymm13 2227vpsubw 6016(%rsp), %ymm13, %ymm13 2228vmovdqa 5792(%rsp), %ymm1 2229vpsubw %ymm1, %ymm14, %ymm14 2230vpsubw 6048(%rsp), %ymm14, %ymm14 2231vmovdqa 5824(%rsp), %ymm2 2232vpsubw %ymm2, %ymm15, %ymm15 2233vpsubw 6080(%rsp), %ymm15, %ymm15 2234vpaddw %ymm0, %ymm9, %ymm9 2235vmovdqa %ymm9, 5760(%rsp) 2236vpaddw %ymm1, %ymm10, %ymm10 2237vmovdqa %ymm10, 5792(%rsp) 2238vpaddw %ymm2, %ymm11, %ymm11 2239vmovdqa %ymm11, 5824(%rsp) 2240vmovdqa %ymm12, 5856(%rsp) 2241vpaddw %ymm3, %ymm13, %ymm13 2242vmovdqa %ymm13, 5888(%rsp) 2243vpaddw %ymm4, %ymm14, %ymm14 2244vmovdqa %ymm14, 5920(%rsp) 2245vpaddw %ymm5, %ymm15, %ymm15 2246vmovdqa %ymm15, 5952(%rsp) 2247vmovdqa 4864(%rsp), %ymm0 2248vmovdqa 5376(%rsp), %ymm4 2249vmovdqa 4896(%rsp), %ymm1 2250vmovdqa 5408(%rsp), %ymm5 2251vmovdqa 4928(%rsp), %ymm2 2252vmovdqa 5440(%rsp), %ymm6 2253vmovdqa 4960(%rsp), %ymm3 2254vmovdqa 5472(%rsp), %ymm7 2255vpmullw %ymm0, %ymm4, %ymm12 2256vmovdqa %ymm12, 6144(%rsp) 2257vpmullw %ymm0, %ymm5, %ymm13 2258vpmullw %ymm1, %ymm4, %ymm15 2259vpaddw %ymm13, %ymm15, %ymm13 2260vmovdqa %ymm13, 6176(%rsp) 2261vpmullw %ymm0, %ymm6, %ymm12 2262vpmullw %ymm1, %ymm5, %ymm15 2263vpaddw %ymm12, %ymm15, %ymm12 2264vpmullw %ymm2, %ymm4, %ymm15 2265vpaddw %ymm12, %ymm15, %ymm12 2266vmovdqa %ymm12, 6208(%rsp) 2267vpmullw %ymm0, %ymm7, %ymm13 2268vpmullw %ymm1, %ymm6, %ymm15 2269vpaddw %ymm13, %ymm15, %ymm13 2270vpmullw %ymm2, %ymm5, %ymm15 2271vpaddw %ymm13, %ymm15, %ymm13 2272vpmullw %ymm3, %ymm4, %ymm15 2273vpaddw %ymm13, %ymm15, %ymm13 2274vmovdqa %ymm13, 6240(%rsp) 2275vpmullw %ymm1, %ymm7, %ymm12 2276vpmullw %ymm2, %ymm6, %ymm15 2277vpaddw %ymm12, %ymm15, %ymm12 2278vpmullw %ymm3, %ymm5, %ymm15 2279vpaddw %ymm12, %ymm15, %ymm12 2280vmovdqa %ymm12, 6272(%rsp) 2281vpmullw %ymm2, %ymm7, %ymm13 2282vpmullw %ymm3, %ymm6, %ymm15 2283vpaddw %ymm13, %ymm15, %ymm13 2284vmovdqa %ymm13, 6304(%rsp) 2285vpmullw %ymm3, %ymm7, %ymm12 2286vmovdqa %ymm12, 6336(%rsp) 2287vmovdqa 4992(%rsp), %ymm0 2288vmovdqa 5504(%rsp), %ymm4 2289vmovdqa 5024(%rsp), %ymm1 2290vmovdqa 5536(%rsp), %ymm5 2291vmovdqa 5056(%rsp), %ymm2 2292vmovdqa 5568(%rsp), %ymm6 2293vmovdqa 5088(%rsp), %ymm3 2294vmovdqa 5600(%rsp), %ymm7 2295vpmullw %ymm0, %ymm4, %ymm12 2296vmovdqa %ymm12, 6400(%rsp) 2297vpmullw %ymm0, %ymm5, %ymm13 2298vpmullw %ymm1, %ymm4, %ymm15 2299vpaddw %ymm13, %ymm15, %ymm13 2300vmovdqa %ymm13, 6432(%rsp) 2301vpmullw %ymm0, %ymm6, %ymm12 2302vpmullw %ymm1, %ymm5, %ymm15 2303vpaddw %ymm12, %ymm15, %ymm12 2304vpmullw %ymm2, %ymm4, %ymm15 2305vpaddw %ymm12, %ymm15, %ymm12 2306vmovdqa %ymm12, 6464(%rsp) 2307vpmullw %ymm0, %ymm7, %ymm13 2308vpmullw %ymm1, %ymm6, %ymm15 2309vpaddw %ymm13, %ymm15, %ymm13 2310vpmullw %ymm2, %ymm5, %ymm15 2311vpaddw %ymm13, %ymm15, %ymm13 2312vpmullw %ymm3, %ymm4, %ymm15 2313vpaddw %ymm13, %ymm15, %ymm13 2314vmovdqa %ymm13, 6496(%rsp) 2315vpmullw %ymm1, %ymm7, %ymm12 2316vpmullw %ymm2, %ymm6, %ymm15 2317vpaddw %ymm12, %ymm15, %ymm12 2318vpmullw %ymm3, %ymm5, %ymm15 2319vpaddw %ymm12, %ymm15, %ymm12 2320vmovdqa %ymm12, 6528(%rsp) 2321vpmullw %ymm2, %ymm7, %ymm13 2322vpmullw %ymm3, %ymm6, %ymm15 2323vpaddw %ymm13, %ymm15, %ymm13 2324vmovdqa %ymm13, 6560(%rsp) 2325vpmullw %ymm3, %ymm7, %ymm12 2326vmovdqa %ymm12, 6592(%rsp) 2327vpaddw 4864(%rsp), %ymm0, %ymm0 2328vpaddw 5376(%rsp), %ymm4, %ymm4 2329vpaddw 4896(%rsp), %ymm1, %ymm1 2330vpaddw 5408(%rsp), %ymm5, %ymm5 2331vpaddw 4928(%rsp), %ymm2, %ymm2 2332vpaddw 5440(%rsp), %ymm6, %ymm6 2333vpaddw 4960(%rsp), %ymm3, %ymm3 2334vpaddw 5472(%rsp), %ymm7, %ymm7 2335vpmullw %ymm0, %ymm4, %ymm9 2336vpmullw %ymm0, %ymm5, %ymm10 2337vpmullw %ymm1, %ymm4, %ymm8 2338vpaddw %ymm8, %ymm10, %ymm10 2339vpmullw %ymm0, %ymm6, %ymm11 2340vpmullw %ymm1, %ymm5, %ymm8 2341vpaddw %ymm8, %ymm11, %ymm11 2342vpmullw %ymm2, %ymm4, %ymm8 2343vpaddw %ymm8, %ymm11, %ymm11 2344vpmullw %ymm0, %ymm7, %ymm12 2345vpmullw %ymm1, %ymm6, %ymm8 2346vpaddw %ymm8, %ymm12, %ymm12 2347vpmullw %ymm2, %ymm5, %ymm8 2348vpaddw %ymm8, %ymm12, %ymm12 2349vpmullw %ymm3, %ymm4, %ymm8 2350vpaddw %ymm8, %ymm12, %ymm12 2351vpmullw %ymm1, %ymm7, %ymm13 2352vpmullw %ymm2, %ymm6, %ymm8 2353vpaddw %ymm8, %ymm13, %ymm13 2354vpmullw %ymm3, %ymm5, %ymm8 2355vpaddw %ymm8, %ymm13, %ymm13 2356vpmullw %ymm2, %ymm7, %ymm14 2357vpmullw %ymm3, %ymm6, %ymm8 2358vpaddw %ymm8, %ymm14, %ymm14 2359vpmullw %ymm3, %ymm7, %ymm15 2360vpsubw 6144(%rsp), %ymm9, %ymm9 2361vmovdqa 6400(%rsp), %ymm3 2362vpsubw %ymm3, %ymm9, %ymm9 2363vpsubw 6176(%rsp), %ymm10, %ymm10 2364vmovdqa 6432(%rsp), %ymm4 2365vpsubw %ymm4, %ymm10, %ymm10 2366vpsubw 6208(%rsp), %ymm11, %ymm11 2367vmovdqa 6464(%rsp), %ymm5 2368vpsubw %ymm5, %ymm11, %ymm11 2369vpsubw 6240(%rsp), %ymm12, %ymm12 2370vpsubw 6496(%rsp), %ymm12, %ymm12 2371vmovdqa 6272(%rsp), %ymm0 2372vpsubw %ymm0, %ymm13, %ymm13 2373vpsubw 6528(%rsp), %ymm13, %ymm13 2374vmovdqa 6304(%rsp), %ymm1 2375vpsubw %ymm1, %ymm14, %ymm14 2376vpsubw 6560(%rsp), %ymm14, %ymm14 2377vmovdqa 6336(%rsp), %ymm2 2378vpsubw %ymm2, %ymm15, %ymm15 2379vpsubw 6592(%rsp), %ymm15, %ymm15 2380vpaddw %ymm0, %ymm9, %ymm9 2381vmovdqa %ymm9, 6272(%rsp) 2382vpaddw %ymm1, %ymm10, %ymm10 2383vmovdqa %ymm10, 6304(%rsp) 2384vpaddw %ymm2, %ymm11, %ymm11 2385vmovdqa %ymm11, 6336(%rsp) 2386vmovdqa %ymm12, 6368(%rsp) 2387vpaddw %ymm3, %ymm13, %ymm13 2388vmovdqa %ymm13, 6400(%rsp) 2389vpaddw %ymm4, %ymm14, %ymm14 2390vmovdqa %ymm14, 6432(%rsp) 2391vpaddw %ymm5, %ymm15, %ymm15 2392vmovdqa %ymm15, 6464(%rsp) 2393vmovdqa 4608(%rsp), %ymm0 2394vmovdqa 5120(%rsp), %ymm4 2395vpaddw 4864(%rsp), %ymm0, %ymm0 2396vpaddw 5376(%rsp), %ymm4, %ymm4 2397vmovdqa 4640(%rsp), %ymm1 2398vmovdqa 5152(%rsp), %ymm5 2399vpaddw 4896(%rsp), %ymm1, %ymm1 2400vpaddw 5408(%rsp), %ymm5, %ymm5 2401vmovdqa 4672(%rsp), %ymm2 2402vmovdqa 5184(%rsp), %ymm6 2403vpaddw 4928(%rsp), %ymm2, %ymm2 2404vpaddw 5440(%rsp), %ymm6, %ymm6 2405vmovdqa 4704(%rsp), %ymm3 2406vmovdqa 5216(%rsp), %ymm7 2407vpaddw 4960(%rsp), %ymm3, %ymm3 2408vpaddw 5472(%rsp), %ymm7, %ymm7 2409vpmullw %ymm0, %ymm4, %ymm12 2410vmovdqa %ymm12, 4096(%rsp) 2411vpmullw %ymm0, %ymm5, %ymm13 2412vpmullw %ymm1, %ymm4, %ymm15 2413vpaddw %ymm13, %ymm15, %ymm13 2414vmovdqa %ymm13, 4128(%rsp) 2415vpmullw %ymm0, %ymm6, %ymm12 2416vpmullw %ymm1, %ymm5, %ymm15 2417vpaddw %ymm12, %ymm15, %ymm12 2418vpmullw %ymm2, %ymm4, %ymm15 2419vpaddw %ymm12, %ymm15, %ymm12 2420vmovdqa %ymm12, 4160(%rsp) 2421vpmullw %ymm0, %ymm7, %ymm13 2422vpmullw %ymm1, %ymm6, %ymm15 2423vpaddw %ymm13, %ymm15, %ymm13 2424vpmullw %ymm2, %ymm5, %ymm15 2425vpaddw %ymm13, %ymm15, %ymm13 2426vpmullw %ymm3, %ymm4, %ymm15 2427vpaddw %ymm13, %ymm15, %ymm13 2428vmovdqa %ymm13, 4192(%rsp) 2429vpmullw %ymm1, %ymm7, %ymm12 2430vpmullw %ymm2, %ymm6, %ymm15 2431vpaddw %ymm12, %ymm15, %ymm12 2432vpmullw %ymm3, %ymm5, %ymm15 2433vpaddw %ymm12, %ymm15, %ymm12 2434vmovdqa %ymm12, 4224(%rsp) 2435vpmullw %ymm2, %ymm7, %ymm13 2436vpmullw %ymm3, %ymm6, %ymm15 2437vpaddw %ymm13, %ymm15, %ymm13 2438vmovdqa %ymm13, 4256(%rsp) 2439vpmullw %ymm3, %ymm7, %ymm12 2440vmovdqa %ymm12, 4288(%rsp) 2441vmovdqa 4736(%rsp), %ymm0 2442vmovdqa 5248(%rsp), %ymm4 2443vpaddw 4992(%rsp), %ymm0, %ymm0 2444vpaddw 5504(%rsp), %ymm4, %ymm4 2445vmovdqa 4768(%rsp), %ymm1 2446vmovdqa 5280(%rsp), %ymm5 2447vpaddw 5024(%rsp), %ymm1, %ymm1 2448vpaddw 5536(%rsp), %ymm5, %ymm5 2449vmovdqa 4800(%rsp), %ymm2 2450vmovdqa 5312(%rsp), %ymm6 2451vpaddw 5056(%rsp), %ymm2, %ymm2 2452vpaddw 5568(%rsp), %ymm6, %ymm6 2453vmovdqa 4832(%rsp), %ymm3 2454vmovdqa 5344(%rsp), %ymm7 2455vpaddw 5088(%rsp), %ymm3, %ymm3 2456vpaddw 5600(%rsp), %ymm7, %ymm7 2457vpmullw %ymm0, %ymm4, %ymm12 2458vmovdqa %ymm12, 4352(%rsp) 2459vpmullw %ymm0, %ymm5, %ymm13 2460vpmullw %ymm1, %ymm4, %ymm15 2461vpaddw %ymm13, %ymm15, %ymm13 2462vmovdqa %ymm13, 4384(%rsp) 2463vpmullw %ymm0, %ymm6, %ymm12 2464vpmullw %ymm1, %ymm5, %ymm15 2465vpaddw %ymm12, %ymm15, %ymm12 2466vpmullw %ymm2, %ymm4, %ymm15 2467vpaddw %ymm12, %ymm15, %ymm12 2468vmovdqa %ymm12, 4416(%rsp) 2469vpmullw %ymm0, %ymm7, %ymm13 2470vpmullw %ymm1, %ymm6, %ymm15 2471vpaddw %ymm13, %ymm15, %ymm13 2472vpmullw %ymm2, %ymm5, %ymm15 2473vpaddw %ymm13, %ymm15, %ymm13 2474vpmullw %ymm3, %ymm4, %ymm15 2475vpaddw %ymm13, %ymm15, %ymm13 2476vmovdqa %ymm13, 4448(%rsp) 2477vpmullw %ymm1, %ymm7, %ymm12 2478vpmullw %ymm2, %ymm6, %ymm15 2479vpaddw %ymm12, %ymm15, %ymm12 2480vpmullw %ymm3, %ymm5, %ymm15 2481vpaddw %ymm12, %ymm15, %ymm12 2482vmovdqa %ymm12, 4480(%rsp) 2483vpmullw %ymm2, %ymm7, %ymm13 2484vpmullw %ymm3, %ymm6, %ymm15 2485vpaddw %ymm13, %ymm15, %ymm13 2486vmovdqa %ymm13, 4512(%rsp) 2487vpmullw %ymm3, %ymm7, %ymm12 2488vmovdqa %ymm12, 4544(%rsp) 2489vpaddw 4608(%rsp), %ymm0, %ymm0 2490vpaddw 5120(%rsp), %ymm4, %ymm4 2491vpaddw 4864(%rsp), %ymm0, %ymm0 2492vpaddw 5376(%rsp), %ymm4, %ymm4 2493vpaddw 4640(%rsp), %ymm1, %ymm1 2494vpaddw 5152(%rsp), %ymm5, %ymm5 2495vpaddw 4896(%rsp), %ymm1, %ymm1 2496vpaddw 5408(%rsp), %ymm5, %ymm5 2497vpaddw 4672(%rsp), %ymm2, %ymm2 2498vpaddw 5184(%rsp), %ymm6, %ymm6 2499vpaddw 4928(%rsp), %ymm2, %ymm2 2500vpaddw 5440(%rsp), %ymm6, %ymm6 2501vpaddw 4704(%rsp), %ymm3, %ymm3 2502vpaddw 5216(%rsp), %ymm7, %ymm7 2503vpaddw 4960(%rsp), %ymm3, %ymm3 2504vpaddw 5472(%rsp), %ymm7, %ymm7 2505vpmullw %ymm0, %ymm4, %ymm9 2506vpmullw %ymm0, %ymm5, %ymm10 2507vpmullw %ymm1, %ymm4, %ymm8 2508vpaddw %ymm8, %ymm10, %ymm10 2509vpmullw %ymm0, %ymm6, %ymm11 2510vpmullw %ymm1, %ymm5, %ymm8 2511vpaddw %ymm8, %ymm11, %ymm11 2512vpmullw %ymm2, %ymm4, %ymm8 2513vpaddw %ymm8, %ymm11, %ymm11 2514vpmullw %ymm0, %ymm7, %ymm12 2515vpmullw %ymm1, %ymm6, %ymm8 2516vpaddw %ymm8, %ymm12, %ymm12 2517vpmullw %ymm2, %ymm5, %ymm8 2518vpaddw %ymm8, %ymm12, %ymm12 2519vpmullw %ymm3, %ymm4, %ymm8 2520vpaddw %ymm8, %ymm12, %ymm12 2521vpmullw %ymm1, %ymm7, %ymm13 2522vpmullw %ymm2, %ymm6, %ymm8 2523vpaddw %ymm8, %ymm13, %ymm13 2524vpmullw %ymm3, %ymm5, %ymm8 2525vpaddw %ymm8, %ymm13, %ymm13 2526vpmullw %ymm2, %ymm7, %ymm14 2527vpmullw %ymm3, %ymm6, %ymm8 2528vpaddw %ymm8, %ymm14, %ymm14 2529vpmullw %ymm3, %ymm7, %ymm15 2530vpsubw 4096(%rsp), %ymm9, %ymm9 2531vmovdqa 4352(%rsp), %ymm3 2532vpsubw %ymm3, %ymm9, %ymm9 2533vpsubw 4128(%rsp), %ymm10, %ymm10 2534vmovdqa 4384(%rsp), %ymm4 2535vpsubw %ymm4, %ymm10, %ymm10 2536vpsubw 4160(%rsp), %ymm11, %ymm11 2537vmovdqa 4416(%rsp), %ymm5 2538vpsubw %ymm5, %ymm11, %ymm11 2539vpsubw 4192(%rsp), %ymm12, %ymm12 2540vpsubw 4448(%rsp), %ymm12, %ymm12 2541vmovdqa 4224(%rsp), %ymm0 2542vpsubw %ymm0, %ymm13, %ymm13 2543vpsubw 4480(%rsp), %ymm13, %ymm13 2544vmovdqa 4256(%rsp), %ymm1 2545vpsubw %ymm1, %ymm14, %ymm14 2546vpsubw 4512(%rsp), %ymm14, %ymm14 2547vmovdqa 4288(%rsp), %ymm2 2548vpsubw %ymm2, %ymm15, %ymm15 2549vpsubw 4544(%rsp), %ymm15, %ymm15 2550vpaddw %ymm0, %ymm9, %ymm9 2551vmovdqa %ymm9, 4224(%rsp) 2552vpaddw %ymm1, %ymm10, %ymm10 2553vmovdqa %ymm10, 4256(%rsp) 2554vpaddw %ymm2, %ymm11, %ymm11 2555vmovdqa %ymm11, 4288(%rsp) 2556vmovdqa %ymm12, 4320(%rsp) 2557vpaddw %ymm3, %ymm13, %ymm13 2558vmovdqa %ymm13, 4352(%rsp) 2559vpaddw %ymm4, %ymm14, %ymm14 2560vmovdqa %ymm14, 4384(%rsp) 2561vpaddw %ymm5, %ymm15, %ymm15 2562vmovdqa %ymm15, 4416(%rsp) 2563vmovdqa 5888(%rsp), %ymm0 2564vpsubw 6144(%rsp), %ymm0, %ymm0 2565vmovdqa 4352(%rsp), %ymm1 2566vpsubw %ymm0, %ymm1, %ymm1 2567vpsubw 6400(%rsp), %ymm1, %ymm6 2568vpsubw 5632(%rsp), %ymm0, %ymm0 2569vpaddw 4096(%rsp), %ymm0, %ymm0 2570vmovdqa %ymm0, 5888(%rsp) 2571vmovdqa 5920(%rsp), %ymm0 2572vpsubw 6176(%rsp), %ymm0, %ymm0 2573vmovdqa 4384(%rsp), %ymm1 2574vpsubw %ymm0, %ymm1, %ymm1 2575vpsubw 6432(%rsp), %ymm1, %ymm7 2576vpsubw 5664(%rsp), %ymm0, %ymm0 2577vpaddw 4128(%rsp), %ymm0, %ymm0 2578vmovdqa %ymm0, 5920(%rsp) 2579vmovdqa 5952(%rsp), %ymm0 2580vpsubw 6208(%rsp), %ymm0, %ymm0 2581vmovdqa 4416(%rsp), %ymm1 2582vpsubw %ymm0, %ymm1, %ymm1 2583vpsubw 6464(%rsp), %ymm1, %ymm8 2584vpsubw 5696(%rsp), %ymm0, %ymm0 2585vpaddw 4160(%rsp), %ymm0, %ymm0 2586vmovdqa %ymm0, 5952(%rsp) 2587vmovdqa 5984(%rsp), %ymm0 2588vpsubw 6240(%rsp), %ymm0, %ymm0 2589vmovdqa 4448(%rsp), %ymm1 2590vpsubw %ymm0, %ymm1, %ymm1 2591vpsubw 6496(%rsp), %ymm1, %ymm9 2592vpsubw 5728(%rsp), %ymm0, %ymm0 2593vpaddw 4192(%rsp), %ymm0, %ymm0 2594vmovdqa %ymm0, 5984(%rsp) 2595vmovdqa 6016(%rsp), %ymm0 2596vpsubw 6272(%rsp), %ymm0, %ymm0 2597vmovdqa 4480(%rsp), %ymm1 2598vpsubw %ymm0, %ymm1, %ymm1 2599vpsubw 6528(%rsp), %ymm1, %ymm10 2600vpsubw 5760(%rsp), %ymm0, %ymm0 2601vpaddw 4224(%rsp), %ymm0, %ymm0 2602vmovdqa %ymm0, 6016(%rsp) 2603vmovdqa 6048(%rsp), %ymm0 2604vpsubw 6304(%rsp), %ymm0, %ymm0 2605vmovdqa 4512(%rsp), %ymm1 2606vpsubw %ymm0, %ymm1, %ymm1 2607vpsubw 6560(%rsp), %ymm1, %ymm11 2608vpsubw 5792(%rsp), %ymm0, %ymm0 2609vpaddw 4256(%rsp), %ymm0, %ymm0 2610vmovdqa %ymm0, 6048(%rsp) 2611vmovdqa 6080(%rsp), %ymm0 2612vpsubw 6336(%rsp), %ymm0, %ymm0 2613vmovdqa 4544(%rsp), %ymm1 2614vpsubw %ymm0, %ymm1, %ymm1 2615vpsubw 6592(%rsp), %ymm1, %ymm12 2616vpsubw 5824(%rsp), %ymm0, %ymm0 2617vpaddw 4288(%rsp), %ymm0, %ymm0 2618vmovdqa %ymm0, 6080(%rsp) 2619vmovdqa 4320(%rsp), %ymm0 2620vpsubw 5856(%rsp), %ymm0, %ymm0 2621vpsubw 6368(%rsp), %ymm0, %ymm0 2622vpsubw 2528(%r10), %ymm0, %ymm0 2623vpsubw 3552(%r10), %ymm0, %ymm0 2624vmovdqa %ymm0, 3040(%r10) 2625vmovdqa 2560(%r10), %ymm0 2626vpsubw 3072(%r10), %ymm0, %ymm0 2627vpsubw %ymm0, %ymm6, %ymm6 2628vpsubw 3584(%r10), %ymm6, %ymm6 2629vpsubw 2048(%r10), %ymm0, %ymm0 2630vpaddw 5632(%rsp), %ymm0, %ymm0 2631vmovdqa %ymm0, 2560(%r10) 2632vmovdqa %ymm6, 3072(%r10) 2633vmovdqa 2592(%r10), %ymm0 2634vpsubw 3104(%r10), %ymm0, %ymm0 2635vpsubw %ymm0, %ymm7, %ymm7 2636vpsubw 3616(%r10), %ymm7, %ymm7 2637vpsubw 2080(%r10), %ymm0, %ymm0 2638vpaddw 5664(%rsp), %ymm0, %ymm0 2639vmovdqa %ymm0, 2592(%r10) 2640vmovdqa %ymm7, 3104(%r10) 2641vmovdqa 2624(%r10), %ymm0 2642vpsubw 3136(%r10), %ymm0, %ymm0 2643vpsubw %ymm0, %ymm8, %ymm8 2644vpsubw 3648(%r10), %ymm8, %ymm8 2645vpsubw 2112(%r10), %ymm0, %ymm0 2646vpaddw 5696(%rsp), %ymm0, %ymm0 2647vmovdqa %ymm0, 2624(%r10) 2648vmovdqa %ymm8, 3136(%r10) 2649vmovdqa 2656(%r10), %ymm0 2650vpsubw 3168(%r10), %ymm0, %ymm0 2651vpsubw %ymm0, %ymm9, %ymm9 2652vpsubw 3680(%r10), %ymm9, %ymm9 2653vpsubw 2144(%r10), %ymm0, %ymm0 2654vpaddw 5728(%rsp), %ymm0, %ymm0 2655vmovdqa %ymm0, 2656(%r10) 2656vmovdqa %ymm9, 3168(%r10) 2657vmovdqa 2688(%r10), %ymm0 2658vpsubw 3200(%r10), %ymm0, %ymm0 2659vpsubw %ymm0, %ymm10, %ymm10 2660vpsubw 3712(%r10), %ymm10, %ymm10 2661vpsubw 2176(%r10), %ymm0, %ymm0 2662vpaddw 5760(%rsp), %ymm0, %ymm0 2663vmovdqa %ymm0, 2688(%r10) 2664vmovdqa %ymm10, 3200(%r10) 2665vmovdqa 2720(%r10), %ymm0 2666vpsubw 3232(%r10), %ymm0, %ymm0 2667vpsubw %ymm0, %ymm11, %ymm11 2668vpsubw 3744(%r10), %ymm11, %ymm11 2669vpsubw 2208(%r10), %ymm0, %ymm0 2670vpaddw 5792(%rsp), %ymm0, %ymm0 2671vmovdqa %ymm0, 2720(%r10) 2672vmovdqa %ymm11, 3232(%r10) 2673vmovdqa 2752(%r10), %ymm0 2674vpsubw 3264(%r10), %ymm0, %ymm0 2675vpsubw %ymm0, %ymm12, %ymm12 2676vpsubw 3776(%r10), %ymm12, %ymm12 2677vpsubw 2240(%r10), %ymm0, %ymm0 2678vpaddw 5824(%rsp), %ymm0, %ymm0 2679vmovdqa %ymm0, 2752(%r10) 2680vmovdqa %ymm12, 3264(%r10) 2681vmovdqa 2784(%r10), %ymm0 2682vpsubw 3296(%r10), %ymm0, %ymm0 2683vmovdqa 6368(%rsp), %ymm1 2684vpsubw %ymm0, %ymm1, %ymm1 2685vpsubw 3808(%r10), %ymm1, %ymm1 2686vpsubw 2272(%r10), %ymm0, %ymm0 2687vpaddw 5856(%rsp), %ymm0, %ymm0 2688vmovdqa %ymm0, 2784(%r10) 2689vmovdqa %ymm1, 3296(%r10) 2690vmovdqa 2816(%r10), %ymm0 2691vpsubw 3328(%r10), %ymm0, %ymm0 2692vmovdqa 6400(%rsp), %ymm1 2693vpsubw %ymm0, %ymm1, %ymm1 2694vpsubw 3840(%r10), %ymm1, %ymm1 2695vpsubw 2304(%r10), %ymm0, %ymm0 2696vpaddw 5888(%rsp), %ymm0, %ymm0 2697vmovdqa %ymm0, 2816(%r10) 2698vmovdqa %ymm1, 3328(%r10) 2699vmovdqa 2848(%r10), %ymm0 2700vpsubw 3360(%r10), %ymm0, %ymm0 2701vmovdqa 6432(%rsp), %ymm1 2702vpsubw %ymm0, %ymm1, %ymm1 2703vpsubw 3872(%r10), %ymm1, %ymm1 2704vpsubw 2336(%r10), %ymm0, %ymm0 2705vpaddw 5920(%rsp), %ymm0, %ymm0 2706vmovdqa %ymm0, 2848(%r10) 2707vmovdqa %ymm1, 3360(%r10) 2708vmovdqa 2880(%r10), %ymm0 2709vpsubw 3392(%r10), %ymm0, %ymm0 2710vmovdqa 6464(%rsp), %ymm1 2711vpsubw %ymm0, %ymm1, %ymm1 2712vpsubw 3904(%r10), %ymm1, %ymm1 2713vpsubw 2368(%r10), %ymm0, %ymm0 2714vpaddw 5952(%rsp), %ymm0, %ymm0 2715vmovdqa %ymm0, 2880(%r10) 2716vmovdqa %ymm1, 3392(%r10) 2717vmovdqa 2912(%r10), %ymm0 2718vpsubw 3424(%r10), %ymm0, %ymm0 2719vmovdqa 6496(%rsp), %ymm1 2720vpsubw %ymm0, %ymm1, %ymm1 2721vpsubw 3936(%r10), %ymm1, %ymm1 2722vpsubw 2400(%r10), %ymm0, %ymm0 2723vpaddw 5984(%rsp), %ymm0, %ymm0 2724vmovdqa %ymm0, 2912(%r10) 2725vmovdqa %ymm1, 3424(%r10) 2726vmovdqa 2944(%r10), %ymm0 2727vpsubw 3456(%r10), %ymm0, %ymm0 2728vmovdqa 6528(%rsp), %ymm1 2729vpsubw %ymm0, %ymm1, %ymm1 2730vpsubw 3968(%r10), %ymm1, %ymm1 2731vpsubw 2432(%r10), %ymm0, %ymm0 2732vpaddw 6016(%rsp), %ymm0, %ymm0 2733vmovdqa %ymm0, 2944(%r10) 2734vmovdqa %ymm1, 3456(%r10) 2735vmovdqa 2976(%r10), %ymm0 2736vpsubw 3488(%r10), %ymm0, %ymm0 2737vmovdqa 6560(%rsp), %ymm1 2738vpsubw %ymm0, %ymm1, %ymm1 2739vpsubw 4000(%r10), %ymm1, %ymm1 2740vpsubw 2464(%r10), %ymm0, %ymm0 2741vpaddw 6048(%rsp), %ymm0, %ymm0 2742vmovdqa %ymm0, 2976(%r10) 2743vmovdqa %ymm1, 3488(%r10) 2744vmovdqa 3008(%r10), %ymm0 2745vpsubw 3520(%r10), %ymm0, %ymm0 2746vmovdqa 6592(%rsp), %ymm1 2747vpsubw %ymm0, %ymm1, %ymm1 2748vpsubw 4032(%r10), %ymm1, %ymm1 2749vpsubw 2496(%r10), %ymm0, %ymm0 2750vpaddw 6080(%rsp), %ymm0, %ymm0 2751vmovdqa %ymm0, 3008(%r10) 2752vmovdqa %ymm1, 3520(%r10) 2753vpxor %ymm1, %ymm1, %ymm1 2754vmovdqa %ymm1, 4064(%r10) 2755subq $32, %rsp 2756vmovdqa 2048(%r10), %ymm0 2757vmovdqa 2112(%r10), %ymm1 2758vmovdqa 2176(%r10), %ymm2 2759vmovdqa 2240(%r10), %ymm3 2760vpunpcklwd 2080(%r10), %ymm0, %ymm4 2761vpunpckhwd 2080(%r10), %ymm0, %ymm5 2762vpunpcklwd 2144(%r10), %ymm1, %ymm6 2763vpunpckhwd 2144(%r10), %ymm1, %ymm7 2764vpunpcklwd 2208(%r10), %ymm2, %ymm8 2765vpunpckhwd 2208(%r10), %ymm2, %ymm9 2766vpunpcklwd 2272(%r10), %ymm3, %ymm10 2767vpunpckhwd 2272(%r10), %ymm3, %ymm11 2768vpunpckldq %ymm6, %ymm4, %ymm0 2769vpunpckhdq %ymm6, %ymm4, %ymm1 2770vpunpckldq %ymm7, %ymm5, %ymm2 2771vpunpckhdq %ymm7, %ymm5, %ymm3 2772vpunpckldq %ymm10, %ymm8, %ymm12 2773vpunpckhdq %ymm10, %ymm8, %ymm13 2774vpunpckldq %ymm11, %ymm9, %ymm14 2775vpunpckhdq %ymm11, %ymm9, %ymm15 2776vpunpcklqdq %ymm12, %ymm0, %ymm4 2777vpunpckhqdq %ymm12, %ymm0, %ymm5 2778vpunpcklqdq %ymm13, %ymm1, %ymm6 2779vpunpckhqdq %ymm13, %ymm1, %ymm7 2780vpunpcklqdq %ymm14, %ymm2, %ymm8 2781vpunpckhqdq %ymm14, %ymm2, %ymm9 2782vpunpcklqdq %ymm15, %ymm3, %ymm10 2783vpunpckhqdq %ymm15, %ymm3, %ymm11 2784vmovdqa 2304(%r10), %ymm0 2785vmovdqa 2368(%r10), %ymm1 2786vmovdqa 2432(%r10), %ymm2 2787vmovdqa 2496(%r10), %ymm3 2788vpunpcklwd 2336(%r10), %ymm0, %ymm12 2789vpunpckhwd 2336(%r10), %ymm0, %ymm13 2790vpunpcklwd 2400(%r10), %ymm1, %ymm14 2791vpunpckhwd 2400(%r10), %ymm1, %ymm15 2792vpunpcklwd 2464(%r10), %ymm2, %ymm0 2793vpunpckhwd 2464(%r10), %ymm2, %ymm1 2794vpunpcklwd 2528(%r10), %ymm3, %ymm2 2795vpunpckhwd 2528(%r10), %ymm3, %ymm3 2796vmovdqa %ymm11, 0(%rsp) 2797vpunpckldq %ymm14, %ymm12, %ymm11 2798vpunpckhdq %ymm14, %ymm12, %ymm12 2799vpunpckldq %ymm15, %ymm13, %ymm14 2800vpunpckhdq %ymm15, %ymm13, %ymm15 2801vpunpckldq %ymm2, %ymm0, %ymm13 2802vpunpckhdq %ymm2, %ymm0, %ymm0 2803vpunpckldq %ymm3, %ymm1, %ymm2 2804vpunpckhdq %ymm3, %ymm1, %ymm1 2805vpunpcklqdq %ymm13, %ymm11, %ymm3 2806vpunpckhqdq %ymm13, %ymm11, %ymm13 2807vpunpcklqdq %ymm0, %ymm12, %ymm11 2808vpunpckhqdq %ymm0, %ymm12, %ymm0 2809vpunpcklqdq %ymm2, %ymm14, %ymm12 2810vpunpckhqdq %ymm2, %ymm14, %ymm2 2811vpunpcklqdq %ymm1, %ymm15, %ymm14 2812vpunpckhqdq %ymm1, %ymm15, %ymm1 2813vinserti128 $1, %xmm3, %ymm4, %ymm15 2814vmovdqa %ymm15, 0(%r12) 2815vinserti128 $1, %xmm13, %ymm5, %ymm15 2816vmovdqa %ymm15, 128(%r12) 2817vinserti128 $1, %xmm11, %ymm6, %ymm15 2818vmovdqa %ymm15, 256(%r12) 2819vinserti128 $1, %xmm0, %ymm7, %ymm15 2820vmovdqa %ymm15, 384(%r12) 2821vinserti128 $1, %xmm12, %ymm8, %ymm15 2822vmovdqa %ymm15, 512(%r12) 2823vinserti128 $1, %xmm2, %ymm9, %ymm15 2824vmovdqa %ymm15, 640(%r12) 2825vinserti128 $1, %xmm14, %ymm10, %ymm15 2826vmovdqa %ymm15, 768(%r12) 2827vpermq $78, %ymm4, %ymm4 2828vpermq $78, %ymm5, %ymm5 2829vpermq $78, %ymm6, %ymm6 2830vpermq $78, %ymm7, %ymm7 2831vpermq $78, %ymm8, %ymm8 2832vpermq $78, %ymm9, %ymm9 2833vpermq $78, %ymm10, %ymm10 2834vinserti128 $0, %xmm4, %ymm3, %ymm15 2835vmovdqa %ymm15, 1024(%r12) 2836vinserti128 $0, %xmm5, %ymm13, %ymm15 2837vmovdqa %ymm15, 1152(%r12) 2838vinserti128 $0, %xmm6, %ymm11, %ymm15 2839vmovdqa %ymm15, 1280(%r12) 2840vinserti128 $0, %xmm7, %ymm0, %ymm15 2841vmovdqa %ymm15, 1408(%r12) 2842vinserti128 $0, %xmm8, %ymm12, %ymm15 2843vmovdqa %ymm15, 1536(%r12) 2844vinserti128 $0, %xmm9, %ymm2, %ymm15 2845vmovdqa %ymm15, 1664(%r12) 2846vinserti128 $0, %xmm10, %ymm14, %ymm15 2847vmovdqa %ymm15, 1792(%r12) 2848vmovdqa 0(%rsp), %ymm11 2849vinserti128 $1, %xmm1, %ymm11, %ymm14 2850vmovdqa %ymm14, 896(%r12) 2851vpermq $78, %ymm11, %ymm11 2852vinserti128 $0, %xmm11, %ymm1, %ymm1 2853vmovdqa %ymm1, 1920(%r12) 2854vmovdqa 2560(%r10), %ymm0 2855vmovdqa 2624(%r10), %ymm1 2856vmovdqa 2688(%r10), %ymm2 2857vmovdqa 2752(%r10), %ymm3 2858vpunpcklwd 2592(%r10), %ymm0, %ymm4 2859vpunpckhwd 2592(%r10), %ymm0, %ymm5 2860vpunpcklwd 2656(%r10), %ymm1, %ymm6 2861vpunpckhwd 2656(%r10), %ymm1, %ymm7 2862vpunpcklwd 2720(%r10), %ymm2, %ymm8 2863vpunpckhwd 2720(%r10), %ymm2, %ymm9 2864vpunpcklwd 2784(%r10), %ymm3, %ymm10 2865vpunpckhwd 2784(%r10), %ymm3, %ymm11 2866vpunpckldq %ymm6, %ymm4, %ymm0 2867vpunpckhdq %ymm6, %ymm4, %ymm1 2868vpunpckldq %ymm7, %ymm5, %ymm2 2869vpunpckhdq %ymm7, %ymm5, %ymm3 2870vpunpckldq %ymm10, %ymm8, %ymm12 2871vpunpckhdq %ymm10, %ymm8, %ymm13 2872vpunpckldq %ymm11, %ymm9, %ymm14 2873vpunpckhdq %ymm11, %ymm9, %ymm15 2874vpunpcklqdq %ymm12, %ymm0, %ymm4 2875vpunpckhqdq %ymm12, %ymm0, %ymm5 2876vpunpcklqdq %ymm13, %ymm1, %ymm6 2877vpunpckhqdq %ymm13, %ymm1, %ymm7 2878vpunpcklqdq %ymm14, %ymm2, %ymm8 2879vpunpckhqdq %ymm14, %ymm2, %ymm9 2880vpunpcklqdq %ymm15, %ymm3, %ymm10 2881vpunpckhqdq %ymm15, %ymm3, %ymm11 2882vmovdqa 2816(%r10), %ymm0 2883vmovdqa 2880(%r10), %ymm1 2884vmovdqa 2944(%r10), %ymm2 2885vmovdqa 3008(%r10), %ymm3 2886vpunpcklwd 2848(%r10), %ymm0, %ymm12 2887vpunpckhwd 2848(%r10), %ymm0, %ymm13 2888vpunpcklwd 2912(%r10), %ymm1, %ymm14 2889vpunpckhwd 2912(%r10), %ymm1, %ymm15 2890vpunpcklwd 2976(%r10), %ymm2, %ymm0 2891vpunpckhwd 2976(%r10), %ymm2, %ymm1 2892vpunpcklwd 3040(%r10), %ymm3, %ymm2 2893vpunpckhwd 3040(%r10), %ymm3, %ymm3 2894vmovdqa %ymm11, 0(%rsp) 2895vpunpckldq %ymm14, %ymm12, %ymm11 2896vpunpckhdq %ymm14, %ymm12, %ymm12 2897vpunpckldq %ymm15, %ymm13, %ymm14 2898vpunpckhdq %ymm15, %ymm13, %ymm15 2899vpunpckldq %ymm2, %ymm0, %ymm13 2900vpunpckhdq %ymm2, %ymm0, %ymm0 2901vpunpckldq %ymm3, %ymm1, %ymm2 2902vpunpckhdq %ymm3, %ymm1, %ymm1 2903vpunpcklqdq %ymm13, %ymm11, %ymm3 2904vpunpckhqdq %ymm13, %ymm11, %ymm13 2905vpunpcklqdq %ymm0, %ymm12, %ymm11 2906vpunpckhqdq %ymm0, %ymm12, %ymm0 2907vpunpcklqdq %ymm2, %ymm14, %ymm12 2908vpunpckhqdq %ymm2, %ymm14, %ymm2 2909vpunpcklqdq %ymm1, %ymm15, %ymm14 2910vpunpckhqdq %ymm1, %ymm15, %ymm1 2911vinserti128 $1, %xmm3, %ymm4, %ymm15 2912vmovdqa %ymm15, 32(%r12) 2913vinserti128 $1, %xmm13, %ymm5, %ymm15 2914vmovdqa %ymm15, 160(%r12) 2915vinserti128 $1, %xmm11, %ymm6, %ymm15 2916vmovdqa %ymm15, 288(%r12) 2917vinserti128 $1, %xmm0, %ymm7, %ymm15 2918vmovdqa %ymm15, 416(%r12) 2919vinserti128 $1, %xmm12, %ymm8, %ymm15 2920vmovdqa %ymm15, 544(%r12) 2921vinserti128 $1, %xmm2, %ymm9, %ymm15 2922vmovdqa %ymm15, 672(%r12) 2923vinserti128 $1, %xmm14, %ymm10, %ymm15 2924vmovdqa %ymm15, 800(%r12) 2925vpermq $78, %ymm4, %ymm4 2926vpermq $78, %ymm5, %ymm5 2927vpermq $78, %ymm6, %ymm6 2928vpermq $78, %ymm7, %ymm7 2929vpermq $78, %ymm8, %ymm8 2930vpermq $78, %ymm9, %ymm9 2931vpermq $78, %ymm10, %ymm10 2932vinserti128 $0, %xmm4, %ymm3, %ymm15 2933vmovdqa %ymm15, 1056(%r12) 2934vinserti128 $0, %xmm5, %ymm13, %ymm15 2935vmovdqa %ymm15, 1184(%r12) 2936vinserti128 $0, %xmm6, %ymm11, %ymm15 2937vmovdqa %ymm15, 1312(%r12) 2938vinserti128 $0, %xmm7, %ymm0, %ymm15 2939vmovdqa %ymm15, 1440(%r12) 2940vinserti128 $0, %xmm8, %ymm12, %ymm15 2941vmovdqa %ymm15, 1568(%r12) 2942vinserti128 $0, %xmm9, %ymm2, %ymm15 2943vmovdqa %ymm15, 1696(%r12) 2944vinserti128 $0, %xmm10, %ymm14, %ymm15 2945vmovdqa %ymm15, 1824(%r12) 2946vmovdqa 0(%rsp), %ymm11 2947vinserti128 $1, %xmm1, %ymm11, %ymm14 2948vmovdqa %ymm14, 928(%r12) 2949vpermq $78, %ymm11, %ymm11 2950vinserti128 $0, %xmm11, %ymm1, %ymm1 2951vmovdqa %ymm1, 1952(%r12) 2952vmovdqa 3072(%r10), %ymm0 2953vmovdqa 3136(%r10), %ymm1 2954vmovdqa 3200(%r10), %ymm2 2955vmovdqa 3264(%r10), %ymm3 2956vpunpcklwd 3104(%r10), %ymm0, %ymm4 2957vpunpckhwd 3104(%r10), %ymm0, %ymm5 2958vpunpcklwd 3168(%r10), %ymm1, %ymm6 2959vpunpckhwd 3168(%r10), %ymm1, %ymm7 2960vpunpcklwd 3232(%r10), %ymm2, %ymm8 2961vpunpckhwd 3232(%r10), %ymm2, %ymm9 2962vpunpcklwd 3296(%r10), %ymm3, %ymm10 2963vpunpckhwd 3296(%r10), %ymm3, %ymm11 2964vpunpckldq %ymm6, %ymm4, %ymm0 2965vpunpckhdq %ymm6, %ymm4, %ymm1 2966vpunpckldq %ymm7, %ymm5, %ymm2 2967vpunpckhdq %ymm7, %ymm5, %ymm3 2968vpunpckldq %ymm10, %ymm8, %ymm12 2969vpunpckhdq %ymm10, %ymm8, %ymm13 2970vpunpckldq %ymm11, %ymm9, %ymm14 2971vpunpckhdq %ymm11, %ymm9, %ymm15 2972vpunpcklqdq %ymm12, %ymm0, %ymm4 2973vpunpckhqdq %ymm12, %ymm0, %ymm5 2974vpunpcklqdq %ymm13, %ymm1, %ymm6 2975vpunpckhqdq %ymm13, %ymm1, %ymm7 2976vpunpcklqdq %ymm14, %ymm2, %ymm8 2977vpunpckhqdq %ymm14, %ymm2, %ymm9 2978vpunpcklqdq %ymm15, %ymm3, %ymm10 2979vpunpckhqdq %ymm15, %ymm3, %ymm11 2980vmovdqa 3328(%r10), %ymm0 2981vmovdqa 3392(%r10), %ymm1 2982vmovdqa 3456(%r10), %ymm2 2983vmovdqa 3520(%r10), %ymm3 2984vpunpcklwd 3360(%r10), %ymm0, %ymm12 2985vpunpckhwd 3360(%r10), %ymm0, %ymm13 2986vpunpcklwd 3424(%r10), %ymm1, %ymm14 2987vpunpckhwd 3424(%r10), %ymm1, %ymm15 2988vpunpcklwd 3488(%r10), %ymm2, %ymm0 2989vpunpckhwd 3488(%r10), %ymm2, %ymm1 2990vpunpcklwd 3552(%r10), %ymm3, %ymm2 2991vpunpckhwd 3552(%r10), %ymm3, %ymm3 2992vmovdqa %ymm11, 0(%rsp) 2993vpunpckldq %ymm14, %ymm12, %ymm11 2994vpunpckhdq %ymm14, %ymm12, %ymm12 2995vpunpckldq %ymm15, %ymm13, %ymm14 2996vpunpckhdq %ymm15, %ymm13, %ymm15 2997vpunpckldq %ymm2, %ymm0, %ymm13 2998vpunpckhdq %ymm2, %ymm0, %ymm0 2999vpunpckldq %ymm3, %ymm1, %ymm2 3000vpunpckhdq %ymm3, %ymm1, %ymm1 3001vpunpcklqdq %ymm13, %ymm11, %ymm3 3002vpunpckhqdq %ymm13, %ymm11, %ymm13 3003vpunpcklqdq %ymm0, %ymm12, %ymm11 3004vpunpckhqdq %ymm0, %ymm12, %ymm0 3005vpunpcklqdq %ymm2, %ymm14, %ymm12 3006vpunpckhqdq %ymm2, %ymm14, %ymm2 3007vpunpcklqdq %ymm1, %ymm15, %ymm14 3008vpunpckhqdq %ymm1, %ymm15, %ymm1 3009vinserti128 $1, %xmm3, %ymm4, %ymm15 3010vmovdqa %ymm15, 64(%r12) 3011vinserti128 $1, %xmm13, %ymm5, %ymm15 3012vmovdqa %ymm15, 192(%r12) 3013vinserti128 $1, %xmm11, %ymm6, %ymm15 3014vmovdqa %ymm15, 320(%r12) 3015vinserti128 $1, %xmm0, %ymm7, %ymm15 3016vmovdqa %ymm15, 448(%r12) 3017vinserti128 $1, %xmm12, %ymm8, %ymm15 3018vmovdqa %ymm15, 576(%r12) 3019vinserti128 $1, %xmm2, %ymm9, %ymm15 3020vmovdqa %ymm15, 704(%r12) 3021vinserti128 $1, %xmm14, %ymm10, %ymm15 3022vmovdqa %ymm15, 832(%r12) 3023vpermq $78, %ymm4, %ymm4 3024vpermq $78, %ymm5, %ymm5 3025vpermq $78, %ymm6, %ymm6 3026vpermq $78, %ymm7, %ymm7 3027vpermq $78, %ymm8, %ymm8 3028vpermq $78, %ymm9, %ymm9 3029vpermq $78, %ymm10, %ymm10 3030vinserti128 $0, %xmm4, %ymm3, %ymm15 3031vmovdqa %ymm15, 1088(%r12) 3032vinserti128 $0, %xmm5, %ymm13, %ymm15 3033vmovdqa %ymm15, 1216(%r12) 3034vinserti128 $0, %xmm6, %ymm11, %ymm15 3035vmovdqa %ymm15, 1344(%r12) 3036vinserti128 $0, %xmm7, %ymm0, %ymm15 3037vmovdqa %ymm15, 1472(%r12) 3038vinserti128 $0, %xmm8, %ymm12, %ymm15 3039vmovdqa %ymm15, 1600(%r12) 3040vinserti128 $0, %xmm9, %ymm2, %ymm15 3041vmovdqa %ymm15, 1728(%r12) 3042vinserti128 $0, %xmm10, %ymm14, %ymm15 3043vmovdqa %ymm15, 1856(%r12) 3044vmovdqa 0(%rsp), %ymm11 3045vinserti128 $1, %xmm1, %ymm11, %ymm14 3046vmovdqa %ymm14, 960(%r12) 3047vpermq $78, %ymm11, %ymm11 3048vinserti128 $0, %xmm11, %ymm1, %ymm1 3049vmovdqa %ymm1, 1984(%r12) 3050vmovdqa 3584(%r10), %ymm0 3051vmovdqa 3648(%r10), %ymm1 3052vmovdqa 3712(%r10), %ymm2 3053vmovdqa 3776(%r10), %ymm3 3054vpunpcklwd 3616(%r10), %ymm0, %ymm4 3055vpunpckhwd 3616(%r10), %ymm0, %ymm5 3056vpunpcklwd 3680(%r10), %ymm1, %ymm6 3057vpunpckhwd 3680(%r10), %ymm1, %ymm7 3058vpunpcklwd 3744(%r10), %ymm2, %ymm8 3059vpunpckhwd 3744(%r10), %ymm2, %ymm9 3060vpunpcklwd 3808(%r10), %ymm3, %ymm10 3061vpunpckhwd 3808(%r10), %ymm3, %ymm11 3062vpunpckldq %ymm6, %ymm4, %ymm0 3063vpunpckhdq %ymm6, %ymm4, %ymm1 3064vpunpckldq %ymm7, %ymm5, %ymm2 3065vpunpckhdq %ymm7, %ymm5, %ymm3 3066vpunpckldq %ymm10, %ymm8, %ymm12 3067vpunpckhdq %ymm10, %ymm8, %ymm13 3068vpunpckldq %ymm11, %ymm9, %ymm14 3069vpunpckhdq %ymm11, %ymm9, %ymm15 3070vpunpcklqdq %ymm12, %ymm0, %ymm4 3071vpunpckhqdq %ymm12, %ymm0, %ymm5 3072vpunpcklqdq %ymm13, %ymm1, %ymm6 3073vpunpckhqdq %ymm13, %ymm1, %ymm7 3074vpunpcklqdq %ymm14, %ymm2, %ymm8 3075vpunpckhqdq %ymm14, %ymm2, %ymm9 3076vpunpcklqdq %ymm15, %ymm3, %ymm10 3077vpunpckhqdq %ymm15, %ymm3, %ymm11 3078vmovdqa 3840(%r10), %ymm0 3079vmovdqa 3904(%r10), %ymm1 3080vmovdqa 3968(%r10), %ymm2 3081vmovdqa 4032(%r10), %ymm3 3082vpunpcklwd 3872(%r10), %ymm0, %ymm12 3083vpunpckhwd 3872(%r10), %ymm0, %ymm13 3084vpunpcklwd 3936(%r10), %ymm1, %ymm14 3085vpunpckhwd 3936(%r10), %ymm1, %ymm15 3086vpunpcklwd 4000(%r10), %ymm2, %ymm0 3087vpunpckhwd 4000(%r10), %ymm2, %ymm1 3088vpunpcklwd 4064(%r10), %ymm3, %ymm2 3089vpunpckhwd 4064(%r10), %ymm3, %ymm3 3090vmovdqa %ymm11, 0(%rsp) 3091vpunpckldq %ymm14, %ymm12, %ymm11 3092vpunpckhdq %ymm14, %ymm12, %ymm12 3093vpunpckldq %ymm15, %ymm13, %ymm14 3094vpunpckhdq %ymm15, %ymm13, %ymm15 3095vpunpckldq %ymm2, %ymm0, %ymm13 3096vpunpckhdq %ymm2, %ymm0, %ymm0 3097vpunpckldq %ymm3, %ymm1, %ymm2 3098vpunpckhdq %ymm3, %ymm1, %ymm1 3099vpunpcklqdq %ymm13, %ymm11, %ymm3 3100vpunpckhqdq %ymm13, %ymm11, %ymm13 3101vpunpcklqdq %ymm0, %ymm12, %ymm11 3102vpunpckhqdq %ymm0, %ymm12, %ymm0 3103vpunpcklqdq %ymm2, %ymm14, %ymm12 3104vpunpckhqdq %ymm2, %ymm14, %ymm2 3105vpunpcklqdq %ymm1, %ymm15, %ymm14 3106vpunpckhqdq %ymm1, %ymm15, %ymm1 3107vinserti128 $1, %xmm3, %ymm4, %ymm15 3108vmovdqa %ymm15, 96(%r12) 3109vinserti128 $1, %xmm13, %ymm5, %ymm15 3110vmovdqa %ymm15, 224(%r12) 3111vinserti128 $1, %xmm11, %ymm6, %ymm15 3112vmovdqa %ymm15, 352(%r12) 3113vinserti128 $1, %xmm0, %ymm7, %ymm15 3114vmovdqa %ymm15, 480(%r12) 3115vinserti128 $1, %xmm12, %ymm8, %ymm15 3116vmovdqa %ymm15, 608(%r12) 3117vinserti128 $1, %xmm2, %ymm9, %ymm15 3118vmovdqa %ymm15, 736(%r12) 3119vinserti128 $1, %xmm14, %ymm10, %ymm15 3120vmovdqa %ymm15, 864(%r12) 3121vpermq $78, %ymm4, %ymm4 3122vpermq $78, %ymm5, %ymm5 3123vpermq $78, %ymm6, %ymm6 3124vpermq $78, %ymm7, %ymm7 3125vpermq $78, %ymm8, %ymm8 3126vpermq $78, %ymm9, %ymm9 3127vpermq $78, %ymm10, %ymm10 3128vinserti128 $0, %xmm4, %ymm3, %ymm15 3129vmovdqa %ymm15, 1120(%r12) 3130vinserti128 $0, %xmm5, %ymm13, %ymm15 3131vmovdqa %ymm15, 1248(%r12) 3132vinserti128 $0, %xmm6, %ymm11, %ymm15 3133vmovdqa %ymm15, 1376(%r12) 3134vinserti128 $0, %xmm7, %ymm0, %ymm15 3135vmovdqa %ymm15, 1504(%r12) 3136vinserti128 $0, %xmm8, %ymm12, %ymm15 3137vmovdqa %ymm15, 1632(%r12) 3138vinserti128 $0, %xmm9, %ymm2, %ymm15 3139vmovdqa %ymm15, 1760(%r12) 3140vinserti128 $0, %xmm10, %ymm14, %ymm15 3141vmovdqa %ymm15, 1888(%r12) 3142vmovdqa 0(%rsp), %ymm11 3143vinserti128 $1, %xmm1, %ymm11, %ymm14 3144vmovdqa %ymm14, 992(%r12) 3145vpermq $78, %ymm11, %ymm11 3146vinserti128 $0, %xmm11, %ymm1, %ymm1 3147vmovdqa %ymm1, 2016(%r12) 3148addq $32, %rsp 3149add $1024, %rax 3150add $1024, %r11 3151add $2048, %r12 3152dec %ecx 3153jnz karatsuba_loop_1 3154sub $8192, %r12 3155add $6656, %rsp 3156subq $2400, %rsp 3157vpxor %ymm0, %ymm0, %ymm0 3158vmovdqa %ymm0, 1792(%rsp) 3159vmovdqa %ymm0, 1824(%rsp) 3160vmovdqa %ymm0, 1856(%rsp) 3161vmovdqa %ymm0, 1888(%rsp) 3162vmovdqa %ymm0, 1920(%rsp) 3163vmovdqa %ymm0, 1952(%rsp) 3164vmovdqa %ymm0, 1984(%rsp) 3165vmovdqa %ymm0, 2016(%rsp) 3166vmovdqa %ymm0, 2048(%rsp) 3167vmovdqa %ymm0, 2080(%rsp) 3168vmovdqa %ymm0, 2112(%rsp) 3169vmovdqa %ymm0, 2144(%rsp) 3170vmovdqa %ymm0, 2176(%rsp) 3171vmovdqa %ymm0, 2208(%rsp) 3172vmovdqa %ymm0, 2240(%rsp) 3173vmovdqa %ymm0, 2272(%rsp) 3174vmovdqa %ymm0, 2304(%rsp) 3175vmovdqa %ymm0, 2336(%rsp) 3176vmovdqa %ymm0, 2368(%rsp) 3177vmovdqa %ymm0, 2400(%rsp) 3178vmovdqa %ymm0, 2432(%rsp) 3179vmovdqa %ymm0, 2464(%rsp) 3180vmovdqa %ymm0, 2496(%rsp) 3181vmovdqa %ymm0, 2528(%rsp) 3182vmovdqa %ymm0, 2560(%rsp) 3183vmovdqa %ymm0, 2592(%rsp) 3184vmovdqa %ymm0, 2624(%rsp) 3185vmovdqa %ymm0, 2656(%rsp) 3186vmovdqa %ymm0, 2688(%rsp) 3187vmovdqa %ymm0, 2720(%rsp) 3188vmovdqa %ymm0, 2752(%rsp) 3189vmovdqa %ymm0, 2784(%rsp) 3190vmovdqa const729(%rip), %ymm15 3191vmovdqa const3_inv(%rip), %ymm14 3192vmovdqa const5_inv(%rip), %ymm13 3193vmovdqa const9(%rip), %ymm12 3194vmovdqa 64(%r12), %ymm0 3195vpsubw 128(%r12), %ymm0, %ymm0 3196vmovdqa 320(%r12), %ymm1 3197vpsubw %ymm0, %ymm1, %ymm1 3198vpsubw 192(%r12), %ymm1, %ymm1 3199vpsubw 0(%r12), %ymm0, %ymm0 3200vpaddw 256(%r12), %ymm0, %ymm0 3201vmovdqa 448(%r12), %ymm2 3202vpsubw 512(%r12), %ymm2, %ymm2 3203vmovdqa 704(%r12), %ymm3 3204vpsubw %ymm2, %ymm3, %ymm3 3205vpsubw 576(%r12), %ymm3, %ymm3 3206vpsubw 384(%r12), %ymm2, %ymm2 3207vpaddw 640(%r12), %ymm2, %ymm2 3208vmovdqa 832(%r12), %ymm4 3209vpsubw 896(%r12), %ymm4, %ymm4 3210vmovdqa 1088(%r12), %ymm5 3211vpsubw %ymm4, %ymm5, %ymm5 3212vpsubw 960(%r12), %ymm5, %ymm5 3213vpsubw 768(%r12), %ymm4, %ymm4 3214vpaddw 1024(%r12), %ymm4, %ymm4 3215vpsubw 384(%r12), %ymm1, %ymm1 3216vpsubw %ymm1, %ymm5, %ymm5 3217vpsubw %ymm3, %ymm5, %ymm5 3218vpsubw 0(%r12), %ymm1, %ymm1 3219vpaddw 768(%r12), %ymm1, %ymm1 3220vmovdqa 192(%r12), %ymm6 3221vpsubw %ymm2, %ymm6, %ymm7 3222vmovdqa 960(%r12), %ymm2 3223vpsubw %ymm7, %ymm2, %ymm2 3224vpsubw 576(%r12), %ymm2, %ymm2 3225vpsubw %ymm0, %ymm7, %ymm7 3226vpaddw %ymm4, %ymm7, %ymm7 3227vmovdqa 0(%r12), %ymm8 3228vmovdqa 576(%r12), %ymm9 3229vmovdqa %ymm8, 0(%rsp) 3230vmovdqa %ymm0, 32(%rsp) 3231vmovdqa %ymm1, 64(%rsp) 3232vmovdqa %ymm7, 96(%rsp) 3233vmovdqa %ymm5, 128(%rsp) 3234vmovdqa %ymm2, 160(%rsp) 3235vmovdqa %ymm3, 192(%rsp) 3236vmovdqa %ymm9, 224(%rsp) 3237vmovdqa 1216(%r12), %ymm0 3238vpsubw 1280(%r12), %ymm0, %ymm0 3239vmovdqa 1472(%r12), %ymm1 3240vpsubw %ymm0, %ymm1, %ymm1 3241vpsubw 1344(%r12), %ymm1, %ymm1 3242vpsubw 1152(%r12), %ymm0, %ymm0 3243vpaddw 1408(%r12), %ymm0, %ymm0 3244vmovdqa 1600(%r12), %ymm2 3245vpsubw 1664(%r12), %ymm2, %ymm2 3246vmovdqa 1856(%r12), %ymm3 3247vpsubw %ymm2, %ymm3, %ymm3 3248vpsubw 1728(%r12), %ymm3, %ymm3 3249vpsubw 1536(%r12), %ymm2, %ymm2 3250vpaddw 1792(%r12), %ymm2, %ymm2 3251vmovdqa 1984(%r12), %ymm4 3252vpsubw 2048(%r12), %ymm4, %ymm4 3253vmovdqa 2240(%r12), %ymm5 3254vpsubw %ymm4, %ymm5, %ymm5 3255vpsubw 2112(%r12), %ymm5, %ymm5 3256vpsubw 1920(%r12), %ymm4, %ymm4 3257vpaddw 2176(%r12), %ymm4, %ymm4 3258vpsubw 1536(%r12), %ymm1, %ymm1 3259vpsubw %ymm1, %ymm5, %ymm5 3260vpsubw %ymm3, %ymm5, %ymm5 3261vpsubw 1152(%r12), %ymm1, %ymm1 3262vpaddw 1920(%r12), %ymm1, %ymm1 3263vmovdqa 1344(%r12), %ymm6 3264vpsubw %ymm2, %ymm6, %ymm7 3265vmovdqa 2112(%r12), %ymm2 3266vpsubw %ymm7, %ymm2, %ymm2 3267vpsubw 1728(%r12), %ymm2, %ymm2 3268vpsubw %ymm0, %ymm7, %ymm7 3269vpaddw %ymm4, %ymm7, %ymm7 3270vmovdqa 1152(%r12), %ymm8 3271vmovdqa 1728(%r12), %ymm9 3272vmovdqa %ymm8, 256(%rsp) 3273vmovdqa %ymm0, 288(%rsp) 3274vmovdqa %ymm1, 320(%rsp) 3275vmovdqa %ymm7, 352(%rsp) 3276vmovdqa %ymm5, 384(%rsp) 3277vmovdqa %ymm2, 416(%rsp) 3278vmovdqa %ymm3, 448(%rsp) 3279vmovdqa %ymm9, 480(%rsp) 3280vmovdqa 2368(%r12), %ymm0 3281vpsubw 2432(%r12), %ymm0, %ymm0 3282vmovdqa 2624(%r12), %ymm1 3283vpsubw %ymm0, %ymm1, %ymm1 3284vpsubw 2496(%r12), %ymm1, %ymm1 3285vpsubw 2304(%r12), %ymm0, %ymm0 3286vpaddw 2560(%r12), %ymm0, %ymm0 3287vmovdqa 2752(%r12), %ymm2 3288vpsubw 2816(%r12), %ymm2, %ymm2 3289vmovdqa 3008(%r12), %ymm3 3290vpsubw %ymm2, %ymm3, %ymm3 3291vpsubw 2880(%r12), %ymm3, %ymm3 3292vpsubw 2688(%r12), %ymm2, %ymm2 3293vpaddw 2944(%r12), %ymm2, %ymm2 3294vmovdqa 3136(%r12), %ymm4 3295vpsubw 3200(%r12), %ymm4, %ymm4 3296vmovdqa 3392(%r12), %ymm5 3297vpsubw %ymm4, %ymm5, %ymm5 3298vpsubw 3264(%r12), %ymm5, %ymm5 3299vpsubw 3072(%r12), %ymm4, %ymm4 3300vpaddw 3328(%r12), %ymm4, %ymm4 3301vpsubw 2688(%r12), %ymm1, %ymm1 3302vpsubw %ymm1, %ymm5, %ymm5 3303vpsubw %ymm3, %ymm5, %ymm5 3304vpsubw 2304(%r12), %ymm1, %ymm1 3305vpaddw 3072(%r12), %ymm1, %ymm1 3306vmovdqa 2496(%r12), %ymm6 3307vpsubw %ymm2, %ymm6, %ymm7 3308vmovdqa 3264(%r12), %ymm2 3309vpsubw %ymm7, %ymm2, %ymm2 3310vpsubw 2880(%r12), %ymm2, %ymm2 3311vpsubw %ymm0, %ymm7, %ymm7 3312vpaddw %ymm4, %ymm7, %ymm7 3313vmovdqa 2304(%r12), %ymm8 3314vmovdqa 2880(%r12), %ymm9 3315vmovdqa %ymm8, 512(%rsp) 3316vmovdqa %ymm0, 544(%rsp) 3317vmovdqa %ymm1, 576(%rsp) 3318vmovdqa %ymm7, 608(%rsp) 3319vmovdqa %ymm5, 640(%rsp) 3320vmovdqa %ymm2, 672(%rsp) 3321vmovdqa %ymm3, 704(%rsp) 3322vmovdqa %ymm9, 736(%rsp) 3323vmovdqa 3520(%r12), %ymm0 3324vpsubw 3584(%r12), %ymm0, %ymm0 3325vmovdqa 3776(%r12), %ymm1 3326vpsubw %ymm0, %ymm1, %ymm1 3327vpsubw 3648(%r12), %ymm1, %ymm1 3328vpsubw 3456(%r12), %ymm0, %ymm0 3329vpaddw 3712(%r12), %ymm0, %ymm0 3330vmovdqa 3904(%r12), %ymm2 3331vpsubw 3968(%r12), %ymm2, %ymm2 3332vmovdqa 4160(%r12), %ymm3 3333vpsubw %ymm2, %ymm3, %ymm3 3334vpsubw 4032(%r12), %ymm3, %ymm3 3335vpsubw 3840(%r12), %ymm2, %ymm2 3336vpaddw 4096(%r12), %ymm2, %ymm2 3337vmovdqa 4288(%r12), %ymm4 3338vpsubw 4352(%r12), %ymm4, %ymm4 3339vmovdqa 4544(%r12), %ymm5 3340vpsubw %ymm4, %ymm5, %ymm5 3341vpsubw 4416(%r12), %ymm5, %ymm5 3342vpsubw 4224(%r12), %ymm4, %ymm4 3343vpaddw 4480(%r12), %ymm4, %ymm4 3344vpsubw 3840(%r12), %ymm1, %ymm1 3345vpsubw %ymm1, %ymm5, %ymm5 3346vpsubw %ymm3, %ymm5, %ymm5 3347vpsubw 3456(%r12), %ymm1, %ymm1 3348vpaddw 4224(%r12), %ymm1, %ymm1 3349vmovdqa 3648(%r12), %ymm6 3350vpsubw %ymm2, %ymm6, %ymm7 3351vmovdqa 4416(%r12), %ymm2 3352vpsubw %ymm7, %ymm2, %ymm2 3353vpsubw 4032(%r12), %ymm2, %ymm2 3354vpsubw %ymm0, %ymm7, %ymm7 3355vpaddw %ymm4, %ymm7, %ymm7 3356vmovdqa 3456(%r12), %ymm8 3357vmovdqa 4032(%r12), %ymm9 3358vmovdqa %ymm8, 768(%rsp) 3359vmovdqa %ymm0, 800(%rsp) 3360vmovdqa %ymm1, 832(%rsp) 3361vmovdqa %ymm7, 864(%rsp) 3362vmovdqa %ymm5, 896(%rsp) 3363vmovdqa %ymm2, 928(%rsp) 3364vmovdqa %ymm3, 960(%rsp) 3365vmovdqa %ymm9, 992(%rsp) 3366vmovdqa 4672(%r12), %ymm0 3367vpsubw 4736(%r12), %ymm0, %ymm0 3368vmovdqa 4928(%r12), %ymm1 3369vpsubw %ymm0, %ymm1, %ymm1 3370vpsubw 4800(%r12), %ymm1, %ymm1 3371vpsubw 4608(%r12), %ymm0, %ymm0 3372vpaddw 4864(%r12), %ymm0, %ymm0 3373vmovdqa 5056(%r12), %ymm2 3374vpsubw 5120(%r12), %ymm2, %ymm2 3375vmovdqa 5312(%r12), %ymm3 3376vpsubw %ymm2, %ymm3, %ymm3 3377vpsubw 5184(%r12), %ymm3, %ymm3 3378vpsubw 4992(%r12), %ymm2, %ymm2 3379vpaddw 5248(%r12), %ymm2, %ymm2 3380vmovdqa 5440(%r12), %ymm4 3381vpsubw 5504(%r12), %ymm4, %ymm4 3382vmovdqa 5696(%r12), %ymm5 3383vpsubw %ymm4, %ymm5, %ymm5 3384vpsubw 5568(%r12), %ymm5, %ymm5 3385vpsubw 5376(%r12), %ymm4, %ymm4 3386vpaddw 5632(%r12), %ymm4, %ymm4 3387vpsubw 4992(%r12), %ymm1, %ymm1 3388vpsubw %ymm1, %ymm5, %ymm5 3389vpsubw %ymm3, %ymm5, %ymm5 3390vpsubw 4608(%r12), %ymm1, %ymm1 3391vpaddw 5376(%r12), %ymm1, %ymm1 3392vmovdqa 4800(%r12), %ymm6 3393vpsubw %ymm2, %ymm6, %ymm7 3394vmovdqa 5568(%r12), %ymm2 3395vpsubw %ymm7, %ymm2, %ymm2 3396vpsubw 5184(%r12), %ymm2, %ymm2 3397vpsubw %ymm0, %ymm7, %ymm7 3398vpaddw %ymm4, %ymm7, %ymm7 3399vmovdqa 4608(%r12), %ymm8 3400vmovdqa 5184(%r12), %ymm9 3401vmovdqa %ymm8, 1024(%rsp) 3402vmovdqa %ymm0, 1056(%rsp) 3403vmovdqa %ymm1, 1088(%rsp) 3404vmovdqa %ymm7, 1120(%rsp) 3405vmovdqa %ymm5, 1152(%rsp) 3406vmovdqa %ymm2, 1184(%rsp) 3407vmovdqa %ymm3, 1216(%rsp) 3408vmovdqa %ymm9, 1248(%rsp) 3409vmovdqa 5824(%r12), %ymm0 3410vpsubw 5888(%r12), %ymm0, %ymm0 3411vmovdqa 6080(%r12), %ymm1 3412vpsubw %ymm0, %ymm1, %ymm1 3413vpsubw 5952(%r12), %ymm1, %ymm1 3414vpsubw 5760(%r12), %ymm0, %ymm0 3415vpaddw 6016(%r12), %ymm0, %ymm0 3416vmovdqa 6208(%r12), %ymm2 3417vpsubw 6272(%r12), %ymm2, %ymm2 3418vmovdqa 6464(%r12), %ymm3 3419vpsubw %ymm2, %ymm3, %ymm3 3420vpsubw 6336(%r12), %ymm3, %ymm3 3421vpsubw 6144(%r12), %ymm2, %ymm2 3422vpaddw 6400(%r12), %ymm2, %ymm2 3423vmovdqa 6592(%r12), %ymm4 3424vpsubw 6656(%r12), %ymm4, %ymm4 3425vmovdqa 6848(%r12), %ymm5 3426vpsubw %ymm4, %ymm5, %ymm5 3427vpsubw 6720(%r12), %ymm5, %ymm5 3428vpsubw 6528(%r12), %ymm4, %ymm4 3429vpaddw 6784(%r12), %ymm4, %ymm4 3430vpsubw 6144(%r12), %ymm1, %ymm1 3431vpsubw %ymm1, %ymm5, %ymm5 3432vpsubw %ymm3, %ymm5, %ymm5 3433vpsubw 5760(%r12), %ymm1, %ymm1 3434vpaddw 6528(%r12), %ymm1, %ymm1 3435vmovdqa 5952(%r12), %ymm6 3436vpsubw %ymm2, %ymm6, %ymm7 3437vmovdqa 6720(%r12), %ymm2 3438vpsubw %ymm7, %ymm2, %ymm2 3439vpsubw 6336(%r12), %ymm2, %ymm2 3440vpsubw %ymm0, %ymm7, %ymm7 3441vpaddw %ymm4, %ymm7, %ymm7 3442vmovdqa 5760(%r12), %ymm8 3443vmovdqa 6336(%r12), %ymm9 3444vmovdqa %ymm8, 1280(%rsp) 3445vmovdqa %ymm0, 1312(%rsp) 3446vmovdqa %ymm1, 1344(%rsp) 3447vmovdqa %ymm7, 1376(%rsp) 3448vmovdqa %ymm5, 1408(%rsp) 3449vmovdqa %ymm2, 1440(%rsp) 3450vmovdqa %ymm3, 1472(%rsp) 3451vmovdqa %ymm9, 1504(%rsp) 3452vmovdqa 6976(%r12), %ymm0 3453vpsubw 7040(%r12), %ymm0, %ymm0 3454vmovdqa 7232(%r12), %ymm1 3455vpsubw %ymm0, %ymm1, %ymm1 3456vpsubw 7104(%r12), %ymm1, %ymm1 3457vpsubw 6912(%r12), %ymm0, %ymm0 3458vpaddw 7168(%r12), %ymm0, %ymm0 3459vmovdqa 7360(%r12), %ymm2 3460vpsubw 7424(%r12), %ymm2, %ymm2 3461vmovdqa 7616(%r12), %ymm3 3462vpsubw %ymm2, %ymm3, %ymm3 3463vpsubw 7488(%r12), %ymm3, %ymm3 3464vpsubw 7296(%r12), %ymm2, %ymm2 3465vpaddw 7552(%r12), %ymm2, %ymm2 3466vmovdqa 7744(%r12), %ymm4 3467vpsubw 7808(%r12), %ymm4, %ymm4 3468vmovdqa 8000(%r12), %ymm5 3469vpsubw %ymm4, %ymm5, %ymm5 3470vpsubw 7872(%r12), %ymm5, %ymm5 3471vpsubw 7680(%r12), %ymm4, %ymm4 3472vpaddw 7936(%r12), %ymm4, %ymm4 3473vpsubw 7296(%r12), %ymm1, %ymm1 3474vpsubw %ymm1, %ymm5, %ymm5 3475vpsubw %ymm3, %ymm5, %ymm5 3476vpsubw 6912(%r12), %ymm1, %ymm1 3477vpaddw 7680(%r12), %ymm1, %ymm1 3478vmovdqa 7104(%r12), %ymm6 3479vpsubw %ymm2, %ymm6, %ymm7 3480vmovdqa 7872(%r12), %ymm2 3481vpsubw %ymm7, %ymm2, %ymm2 3482vpsubw 7488(%r12), %ymm2, %ymm2 3483vpsubw %ymm0, %ymm7, %ymm7 3484vpaddw %ymm4, %ymm7, %ymm7 3485vmovdqa 6912(%r12), %ymm8 3486vmovdqa 7488(%r12), %ymm9 3487vmovdqa %ymm8, 1536(%rsp) 3488vmovdqa %ymm0, 1568(%rsp) 3489vmovdqa %ymm1, 1600(%rsp) 3490vmovdqa %ymm7, 1632(%rsp) 3491vmovdqa %ymm5, 1664(%rsp) 3492vmovdqa %ymm2, 1696(%rsp) 3493vmovdqa %ymm3, 1728(%rsp) 3494vmovdqa %ymm9, 1760(%rsp) 3495vmovdqa 0(%rsp), %ymm11 3496vpunpcklwd const0(%rip), %ymm11, %ymm10 3497vpunpckhwd const0(%rip), %ymm11, %ymm9 3498vpslld $1, %ymm10, %ymm10 3499vpslld $1, %ymm9, %ymm9 3500vmovdqa 256(%rsp), %ymm8 3501vpunpcklwd const0(%rip), %ymm8, %ymm7 3502vpunpckhwd const0(%rip), %ymm8, %ymm8 3503vmovdqa 512(%rsp), %ymm6 3504vpunpcklwd const0(%rip), %ymm6, %ymm5 3505vpunpckhwd const0(%rip), %ymm6, %ymm6 3506vpaddd %ymm5, %ymm7, %ymm4 3507vpaddd %ymm6, %ymm8, %ymm3 3508vpsubd %ymm10, %ymm4, %ymm4 3509vpsubd %ymm9, %ymm3, %ymm3 3510vpsubd %ymm5, %ymm7, %ymm5 3511vpsubd %ymm6, %ymm8, %ymm6 3512vpsrld $1, %ymm5, %ymm5 3513vpsrld $1, %ymm6, %ymm6 3514vpand mask32_to_16(%rip), %ymm5, %ymm5 3515vpand mask32_to_16(%rip), %ymm6, %ymm6 3516vpackusdw %ymm6, %ymm5, %ymm6 3517vmovdqa 1536(%rsp), %ymm5 3518vpunpcklwd const0(%rip), %ymm5, %ymm8 3519vpunpckhwd const0(%rip), %ymm5, %ymm7 3520vpslld $1, %ymm8, %ymm8 3521vpslld $1, %ymm7, %ymm7 3522vpsubd %ymm8, %ymm4, %ymm4 3523vpsubd %ymm7, %ymm3, %ymm3 3524vpsrld $1, %ymm4, %ymm4 3525vpsrld $1, %ymm3, %ymm3 3526vpand mask32_to_16(%rip), %ymm4, %ymm4 3527vpand mask32_to_16(%rip), %ymm3, %ymm3 3528vpackusdw %ymm3, %ymm4, %ymm3 3529vmovdqa 768(%rsp), %ymm4 3530vpaddw 1024(%rsp), %ymm4, %ymm7 3531vpsubw 1024(%rsp), %ymm4, %ymm4 3532vpsrlw $2, %ymm4, %ymm4 3533vpsubw %ymm6, %ymm4, %ymm4 3534vpmullw %ymm14, %ymm4, %ymm4 3535vpsllw $1, %ymm11, %ymm8 3536vpsubw %ymm8, %ymm7, %ymm8 3537vpsllw $7, %ymm5, %ymm7 3538vpsubw %ymm7, %ymm8, %ymm7 3539vpsrlw $3, %ymm7, %ymm7 3540vpsubw %ymm3, %ymm7, %ymm7 3541vmovdqa 1280(%rsp), %ymm8 3542vpsubw %ymm11, %ymm8, %ymm8 3543vpmullw %ymm15, %ymm5, %ymm9 3544vpsubw %ymm9, %ymm8, %ymm9 3545vpmullw %ymm14, %ymm7, %ymm7 3546vpsubw %ymm7, %ymm3, %ymm3 3547vpmullw %ymm12, %ymm7, %ymm8 3548vpaddw %ymm8, %ymm3, %ymm8 3549vpmullw %ymm12, %ymm8, %ymm8 3550vpsubw %ymm8, %ymm9, %ymm8 3551vpmullw %ymm14, %ymm8, %ymm8 3552vpsubw %ymm6, %ymm8, %ymm8 3553vpsrlw $3, %ymm8, %ymm8 3554vpsubw %ymm4, %ymm8, %ymm8 3555vpsubw %ymm8, %ymm4, %ymm4 3556vpsubw %ymm4, %ymm6, %ymm6 3557vpmullw %ymm13, %ymm8, %ymm8 3558vpsubw %ymm8, %ymm6, %ymm6 3559vpshufb shuf48_16(%rip), %ymm7, %ymm7 3560vpand mask3_5_3_5(%rip), %ymm7, %ymm9 3561vpand mask5_3_5_3(%rip), %ymm7, %ymm7 3562vpermq $206, %ymm9, %ymm9 3563vpand mask_keephigh(%rip), %ymm9, %ymm10 3564vpor %ymm10, %ymm7, %ymm7 3565vpaddw %ymm7, %ymm11, %ymm11 3566vmovdqa %xmm9, 2048(%rsp) 3567vpshufb shuf48_16(%rip), %ymm8, %ymm8 3568vpand mask3_5_3_5(%rip), %ymm8, %ymm9 3569vpand mask5_3_5_3(%rip), %ymm8, %ymm8 3570vpermq $206, %ymm9, %ymm9 3571vpand mask_keephigh(%rip), %ymm9, %ymm10 3572vpor %ymm10, %ymm8, %ymm8 3573vpaddw %ymm8, %ymm6, %ymm6 3574vmovdqa %xmm9, 2304(%rsp) 3575vpshufb shuf48_16(%rip), %ymm5, %ymm5 3576vpand mask3_5_3_5(%rip), %ymm5, %ymm9 3577vpand mask5_3_5_3(%rip), %ymm5, %ymm5 3578vpermq $206, %ymm9, %ymm9 3579vpand mask_keephigh(%rip), %ymm9, %ymm10 3580vpor %ymm10, %ymm5, %ymm5 3581vpaddw %ymm5, %ymm3, %ymm3 3582vmovdqa %xmm9, 2560(%rsp) 3583vmovdqa %ymm11, 0(%rdi) 3584vmovdqa %ymm6, 256(%rdi) 3585vmovdqa %ymm3, 512(%rdi) 3586vmovdqa %ymm4, 768(%rdi) 3587vmovdqa 32(%rsp), %ymm5 3588vpunpcklwd const0(%rip), %ymm5, %ymm8 3589vpunpckhwd const0(%rip), %ymm5, %ymm7 3590vpslld $1, %ymm8, %ymm8 3591vpslld $1, %ymm7, %ymm7 3592vmovdqa 288(%rsp), %ymm4 3593vpunpcklwd const0(%rip), %ymm4, %ymm3 3594vpunpckhwd const0(%rip), %ymm4, %ymm4 3595vmovdqa 544(%rsp), %ymm6 3596vpunpcklwd const0(%rip), %ymm6, %ymm11 3597vpunpckhwd const0(%rip), %ymm6, %ymm6 3598vpaddd %ymm11, %ymm3, %ymm9 3599vpaddd %ymm6, %ymm4, %ymm10 3600vpsubd %ymm8, %ymm9, %ymm9 3601vpsubd %ymm7, %ymm10, %ymm10 3602vpsubd %ymm11, %ymm3, %ymm11 3603vpsubd %ymm6, %ymm4, %ymm6 3604vpsrld $1, %ymm11, %ymm11 3605vpsrld $1, %ymm6, %ymm6 3606vpand mask32_to_16(%rip), %ymm11, %ymm11 3607vpand mask32_to_16(%rip), %ymm6, %ymm6 3608vpackusdw %ymm6, %ymm11, %ymm6 3609vmovdqa 1568(%rsp), %ymm11 3610vpunpcklwd const0(%rip), %ymm11, %ymm4 3611vpunpckhwd const0(%rip), %ymm11, %ymm3 3612vpslld $1, %ymm4, %ymm4 3613vpslld $1, %ymm3, %ymm3 3614vpsubd %ymm4, %ymm9, %ymm9 3615vpsubd %ymm3, %ymm10, %ymm10 3616vpsrld $1, %ymm9, %ymm9 3617vpsrld $1, %ymm10, %ymm10 3618vpand mask32_to_16(%rip), %ymm9, %ymm9 3619vpand mask32_to_16(%rip), %ymm10, %ymm10 3620vpackusdw %ymm10, %ymm9, %ymm10 3621vmovdqa 800(%rsp), %ymm9 3622vpaddw 1056(%rsp), %ymm9, %ymm3 3623vpsubw 1056(%rsp), %ymm9, %ymm9 3624vpsrlw $2, %ymm9, %ymm9 3625vpsubw %ymm6, %ymm9, %ymm9 3626vpmullw %ymm14, %ymm9, %ymm9 3627vpsllw $1, %ymm5, %ymm4 3628vpsubw %ymm4, %ymm3, %ymm4 3629vpsllw $7, %ymm11, %ymm3 3630vpsubw %ymm3, %ymm4, %ymm3 3631vpsrlw $3, %ymm3, %ymm3 3632vpsubw %ymm10, %ymm3, %ymm3 3633vmovdqa 1312(%rsp), %ymm4 3634vpsubw %ymm5, %ymm4, %ymm4 3635vpmullw %ymm15, %ymm11, %ymm7 3636vpsubw %ymm7, %ymm4, %ymm7 3637vpmullw %ymm14, %ymm3, %ymm3 3638vpsubw %ymm3, %ymm10, %ymm10 3639vpmullw %ymm12, %ymm3, %ymm4 3640vpaddw %ymm4, %ymm10, %ymm4 3641vpmullw %ymm12, %ymm4, %ymm4 3642vpsubw %ymm4, %ymm7, %ymm4 3643vpmullw %ymm14, %ymm4, %ymm4 3644vpsubw %ymm6, %ymm4, %ymm4 3645vpsrlw $3, %ymm4, %ymm4 3646vpsubw %ymm9, %ymm4, %ymm4 3647vpsubw %ymm4, %ymm9, %ymm9 3648vpsubw %ymm9, %ymm6, %ymm6 3649vpmullw %ymm13, %ymm4, %ymm4 3650vpsubw %ymm4, %ymm6, %ymm6 3651vpshufb shuf48_16(%rip), %ymm3, %ymm3 3652vpand mask3_5_3_5(%rip), %ymm3, %ymm7 3653vpand mask5_3_5_3(%rip), %ymm3, %ymm3 3654vpermq $206, %ymm7, %ymm7 3655vpand mask_keephigh(%rip), %ymm7, %ymm8 3656vpor %ymm8, %ymm3, %ymm3 3657vpaddw %ymm3, %ymm5, %ymm5 3658vmovdqa %xmm7, 2080(%rsp) 3659vpshufb shuf48_16(%rip), %ymm4, %ymm4 3660vpand mask3_5_3_5(%rip), %ymm4, %ymm7 3661vpand mask5_3_5_3(%rip), %ymm4, %ymm4 3662vpermq $206, %ymm7, %ymm7 3663vpand mask_keephigh(%rip), %ymm7, %ymm8 3664vpor %ymm8, %ymm4, %ymm4 3665vpaddw %ymm4, %ymm6, %ymm6 3666vmovdqa %xmm7, 2336(%rsp) 3667vpshufb shuf48_16(%rip), %ymm11, %ymm11 3668vpand mask3_5_3_5(%rip), %ymm11, %ymm7 3669vpand mask5_3_5_3(%rip), %ymm11, %ymm11 3670vpermq $206, %ymm7, %ymm7 3671vpand mask_keephigh(%rip), %ymm7, %ymm8 3672vpor %ymm8, %ymm11, %ymm11 3673vpaddw %ymm11, %ymm10, %ymm10 3674vmovdqa %xmm7, 2592(%rsp) 3675vmovdqa %ymm5, 64(%rdi) 3676vmovdqa %ymm6, 320(%rdi) 3677vmovdqa %ymm10, 576(%rdi) 3678vmovdqa %ymm9, 832(%rdi) 3679vmovdqa 64(%rsp), %ymm11 3680vpunpcklwd const0(%rip), %ymm11, %ymm4 3681vpunpckhwd const0(%rip), %ymm11, %ymm3 3682vpslld $1, %ymm4, %ymm4 3683vpslld $1, %ymm3, %ymm3 3684vmovdqa 320(%rsp), %ymm9 3685vpunpcklwd const0(%rip), %ymm9, %ymm10 3686vpunpckhwd const0(%rip), %ymm9, %ymm9 3687vmovdqa 576(%rsp), %ymm6 3688vpunpcklwd const0(%rip), %ymm6, %ymm5 3689vpunpckhwd const0(%rip), %ymm6, %ymm6 3690vpaddd %ymm5, %ymm10, %ymm7 3691vpaddd %ymm6, %ymm9, %ymm8 3692vpsubd %ymm4, %ymm7, %ymm7 3693vpsubd %ymm3, %ymm8, %ymm8 3694vpsubd %ymm5, %ymm10, %ymm5 3695vpsubd %ymm6, %ymm9, %ymm6 3696vpsrld $1, %ymm5, %ymm5 3697vpsrld $1, %ymm6, %ymm6 3698vpand mask32_to_16(%rip), %ymm5, %ymm5 3699vpand mask32_to_16(%rip), %ymm6, %ymm6 3700vpackusdw %ymm6, %ymm5, %ymm6 3701vmovdqa 1600(%rsp), %ymm5 3702vpunpcklwd const0(%rip), %ymm5, %ymm9 3703vpunpckhwd const0(%rip), %ymm5, %ymm10 3704vpslld $1, %ymm9, %ymm9 3705vpslld $1, %ymm10, %ymm10 3706vpsubd %ymm9, %ymm7, %ymm7 3707vpsubd %ymm10, %ymm8, %ymm8 3708vpsrld $1, %ymm7, %ymm7 3709vpsrld $1, %ymm8, %ymm8 3710vpand mask32_to_16(%rip), %ymm7, %ymm7 3711vpand mask32_to_16(%rip), %ymm8, %ymm8 3712vpackusdw %ymm8, %ymm7, %ymm8 3713vmovdqa 832(%rsp), %ymm7 3714vpaddw 1088(%rsp), %ymm7, %ymm10 3715vpsubw 1088(%rsp), %ymm7, %ymm7 3716vpsrlw $2, %ymm7, %ymm7 3717vpsubw %ymm6, %ymm7, %ymm7 3718vpmullw %ymm14, %ymm7, %ymm7 3719vpsllw $1, %ymm11, %ymm9 3720vpsubw %ymm9, %ymm10, %ymm9 3721vpsllw $7, %ymm5, %ymm10 3722vpsubw %ymm10, %ymm9, %ymm10 3723vpsrlw $3, %ymm10, %ymm10 3724vpsubw %ymm8, %ymm10, %ymm10 3725vmovdqa 1344(%rsp), %ymm9 3726vpsubw %ymm11, %ymm9, %ymm9 3727vpmullw %ymm15, %ymm5, %ymm3 3728vpsubw %ymm3, %ymm9, %ymm3 3729vpmullw %ymm14, %ymm10, %ymm10 3730vpsubw %ymm10, %ymm8, %ymm8 3731vpmullw %ymm12, %ymm10, %ymm9 3732vpaddw %ymm9, %ymm8, %ymm9 3733vpmullw %ymm12, %ymm9, %ymm9 3734vpsubw %ymm9, %ymm3, %ymm9 3735vpmullw %ymm14, %ymm9, %ymm9 3736vpsubw %ymm6, %ymm9, %ymm9 3737vpsrlw $3, %ymm9, %ymm9 3738vpsubw %ymm7, %ymm9, %ymm9 3739vpsubw %ymm9, %ymm7, %ymm7 3740vpsubw %ymm7, %ymm6, %ymm6 3741vpmullw %ymm13, %ymm9, %ymm9 3742vpsubw %ymm9, %ymm6, %ymm6 3743vpshufb shuf48_16(%rip), %ymm10, %ymm10 3744vpand mask3_5_3_5(%rip), %ymm10, %ymm3 3745vpand mask5_3_5_3(%rip), %ymm10, %ymm10 3746vpermq $206, %ymm3, %ymm3 3747vpand mask_keephigh(%rip), %ymm3, %ymm4 3748vpor %ymm4, %ymm10, %ymm10 3749vpaddw %ymm10, %ymm11, %ymm11 3750vmovdqa %xmm3, 2112(%rsp) 3751vpshufb shuf48_16(%rip), %ymm9, %ymm9 3752vpand mask3_5_3_5(%rip), %ymm9, %ymm3 3753vpand mask5_3_5_3(%rip), %ymm9, %ymm9 3754vpermq $206, %ymm3, %ymm3 3755vpand mask_keephigh(%rip), %ymm3, %ymm4 3756vpor %ymm4, %ymm9, %ymm9 3757vpaddw %ymm9, %ymm6, %ymm6 3758vmovdqa %xmm3, 2368(%rsp) 3759vpshufb shuf48_16(%rip), %ymm5, %ymm5 3760vpand mask3_5_3_5(%rip), %ymm5, %ymm3 3761vpand mask5_3_5_3(%rip), %ymm5, %ymm5 3762vpermq $206, %ymm3, %ymm3 3763vpand mask_keephigh(%rip), %ymm3, %ymm4 3764vpor %ymm4, %ymm5, %ymm5 3765vpaddw %ymm5, %ymm8, %ymm8 3766vmovdqa %xmm3, 2624(%rsp) 3767vmovdqa %ymm11, 128(%rdi) 3768vmovdqa %ymm6, 384(%rdi) 3769vmovdqa %ymm8, 640(%rdi) 3770vmovdqa %ymm7, 896(%rdi) 3771vmovdqa 96(%rsp), %ymm5 3772vpunpcklwd const0(%rip), %ymm5, %ymm9 3773vpunpckhwd const0(%rip), %ymm5, %ymm10 3774vpslld $1, %ymm9, %ymm9 3775vpslld $1, %ymm10, %ymm10 3776vmovdqa 352(%rsp), %ymm7 3777vpunpcklwd const0(%rip), %ymm7, %ymm8 3778vpunpckhwd const0(%rip), %ymm7, %ymm7 3779vmovdqa 608(%rsp), %ymm6 3780vpunpcklwd const0(%rip), %ymm6, %ymm11 3781vpunpckhwd const0(%rip), %ymm6, %ymm6 3782vpaddd %ymm11, %ymm8, %ymm3 3783vpaddd %ymm6, %ymm7, %ymm4 3784vpsubd %ymm9, %ymm3, %ymm3 3785vpsubd %ymm10, %ymm4, %ymm4 3786vpsubd %ymm11, %ymm8, %ymm11 3787vpsubd %ymm6, %ymm7, %ymm6 3788vpsrld $1, %ymm11, %ymm11 3789vpsrld $1, %ymm6, %ymm6 3790vpand mask32_to_16(%rip), %ymm11, %ymm11 3791vpand mask32_to_16(%rip), %ymm6, %ymm6 3792vpackusdw %ymm6, %ymm11, %ymm6 3793vmovdqa 1632(%rsp), %ymm11 3794vpunpcklwd const0(%rip), %ymm11, %ymm7 3795vpunpckhwd const0(%rip), %ymm11, %ymm8 3796vpslld $1, %ymm7, %ymm7 3797vpslld $1, %ymm8, %ymm8 3798vpsubd %ymm7, %ymm3, %ymm3 3799vpsubd %ymm8, %ymm4, %ymm4 3800vpsrld $1, %ymm3, %ymm3 3801vpsrld $1, %ymm4, %ymm4 3802vpand mask32_to_16(%rip), %ymm3, %ymm3 3803vpand mask32_to_16(%rip), %ymm4, %ymm4 3804vpackusdw %ymm4, %ymm3, %ymm4 3805vmovdqa 864(%rsp), %ymm3 3806vpaddw 1120(%rsp), %ymm3, %ymm8 3807vpsubw 1120(%rsp), %ymm3, %ymm3 3808vpsrlw $2, %ymm3, %ymm3 3809vpsubw %ymm6, %ymm3, %ymm3 3810vpmullw %ymm14, %ymm3, %ymm3 3811vpsllw $1, %ymm5, %ymm7 3812vpsubw %ymm7, %ymm8, %ymm7 3813vpsllw $7, %ymm11, %ymm8 3814vpsubw %ymm8, %ymm7, %ymm8 3815vpsrlw $3, %ymm8, %ymm8 3816vpsubw %ymm4, %ymm8, %ymm8 3817vmovdqa 1376(%rsp), %ymm7 3818vpsubw %ymm5, %ymm7, %ymm7 3819vpmullw %ymm15, %ymm11, %ymm10 3820vpsubw %ymm10, %ymm7, %ymm10 3821vpmullw %ymm14, %ymm8, %ymm8 3822vpsubw %ymm8, %ymm4, %ymm4 3823vpmullw %ymm12, %ymm8, %ymm7 3824vpaddw %ymm7, %ymm4, %ymm7 3825vpmullw %ymm12, %ymm7, %ymm7 3826vpsubw %ymm7, %ymm10, %ymm7 3827vpmullw %ymm14, %ymm7, %ymm7 3828vpsubw %ymm6, %ymm7, %ymm7 3829vpsrlw $3, %ymm7, %ymm7 3830vpsubw %ymm3, %ymm7, %ymm7 3831vpsubw %ymm7, %ymm3, %ymm3 3832vpsubw %ymm3, %ymm6, %ymm6 3833vpmullw %ymm13, %ymm7, %ymm7 3834vpsubw %ymm7, %ymm6, %ymm6 3835vpshufb shuf48_16(%rip), %ymm8, %ymm8 3836vpand mask3_5_3_5(%rip), %ymm8, %ymm10 3837vpand mask5_3_5_3(%rip), %ymm8, %ymm8 3838vpermq $206, %ymm10, %ymm10 3839vpand mask_keephigh(%rip), %ymm10, %ymm9 3840vpor %ymm9, %ymm8, %ymm8 3841vpaddw %ymm8, %ymm5, %ymm5 3842vmovdqa %xmm10, 2144(%rsp) 3843vpshufb shuf48_16(%rip), %ymm7, %ymm7 3844vpand mask3_5_3_5(%rip), %ymm7, %ymm10 3845vpand mask5_3_5_3(%rip), %ymm7, %ymm7 3846vpermq $206, %ymm10, %ymm10 3847vpand mask_keephigh(%rip), %ymm10, %ymm9 3848vpor %ymm9, %ymm7, %ymm7 3849vpaddw %ymm7, %ymm6, %ymm6 3850vmovdqa %xmm10, 2400(%rsp) 3851vpshufb shuf48_16(%rip), %ymm11, %ymm11 3852vpand mask3_5_3_5(%rip), %ymm11, %ymm10 3853vpand mask5_3_5_3(%rip), %ymm11, %ymm11 3854vpermq $206, %ymm10, %ymm10 3855vpand mask_keephigh(%rip), %ymm10, %ymm9 3856vpor %ymm9, %ymm11, %ymm11 3857vpaddw %ymm11, %ymm4, %ymm4 3858vmovdqa %xmm10, 2656(%rsp) 3859vmovdqa %ymm5, 192(%rdi) 3860vmovdqa %ymm6, 448(%rdi) 3861vmovdqa %ymm4, 704(%rdi) 3862vmovdqa %ymm3, 960(%rdi) 3863vmovdqa 128(%rsp), %ymm11 3864vpunpcklwd const0(%rip), %ymm11, %ymm7 3865vpunpckhwd const0(%rip), %ymm11, %ymm8 3866vpslld $1, %ymm7, %ymm7 3867vpslld $1, %ymm8, %ymm8 3868vmovdqa 384(%rsp), %ymm3 3869vpunpcklwd const0(%rip), %ymm3, %ymm4 3870vpunpckhwd const0(%rip), %ymm3, %ymm3 3871vmovdqa 640(%rsp), %ymm6 3872vpunpcklwd const0(%rip), %ymm6, %ymm5 3873vpunpckhwd const0(%rip), %ymm6, %ymm6 3874vpaddd %ymm5, %ymm4, %ymm10 3875vpaddd %ymm6, %ymm3, %ymm9 3876vpsubd %ymm7, %ymm10, %ymm10 3877vpsubd %ymm8, %ymm9, %ymm9 3878vpsubd %ymm5, %ymm4, %ymm5 3879vpsubd %ymm6, %ymm3, %ymm6 3880vpsrld $1, %ymm5, %ymm5 3881vpsrld $1, %ymm6, %ymm6 3882vpand mask32_to_16(%rip), %ymm5, %ymm5 3883vpand mask32_to_16(%rip), %ymm6, %ymm6 3884vpackusdw %ymm6, %ymm5, %ymm6 3885vmovdqa 1664(%rsp), %ymm5 3886vpunpcklwd const0(%rip), %ymm5, %ymm3 3887vpunpckhwd const0(%rip), %ymm5, %ymm4 3888vpslld $1, %ymm3, %ymm3 3889vpslld $1, %ymm4, %ymm4 3890vpsubd %ymm3, %ymm10, %ymm10 3891vpsubd %ymm4, %ymm9, %ymm9 3892vpsrld $1, %ymm10, %ymm10 3893vpsrld $1, %ymm9, %ymm9 3894vpand mask32_to_16(%rip), %ymm10, %ymm10 3895vpand mask32_to_16(%rip), %ymm9, %ymm9 3896vpackusdw %ymm9, %ymm10, %ymm9 3897vmovdqa 896(%rsp), %ymm10 3898vpaddw 1152(%rsp), %ymm10, %ymm4 3899vpsubw 1152(%rsp), %ymm10, %ymm10 3900vpsrlw $2, %ymm10, %ymm10 3901vpsubw %ymm6, %ymm10, %ymm10 3902vpmullw %ymm14, %ymm10, %ymm10 3903vpsllw $1, %ymm11, %ymm3 3904vpsubw %ymm3, %ymm4, %ymm3 3905vpsllw $7, %ymm5, %ymm4 3906vpsubw %ymm4, %ymm3, %ymm4 3907vpsrlw $3, %ymm4, %ymm4 3908vpsubw %ymm9, %ymm4, %ymm4 3909vmovdqa 1408(%rsp), %ymm3 3910vpsubw %ymm11, %ymm3, %ymm3 3911vpmullw %ymm15, %ymm5, %ymm8 3912vpsubw %ymm8, %ymm3, %ymm8 3913vpmullw %ymm14, %ymm4, %ymm4 3914vpsubw %ymm4, %ymm9, %ymm9 3915vpmullw %ymm12, %ymm4, %ymm3 3916vpaddw %ymm3, %ymm9, %ymm3 3917vpmullw %ymm12, %ymm3, %ymm3 3918vpsubw %ymm3, %ymm8, %ymm3 3919vpmullw %ymm14, %ymm3, %ymm3 3920vpsubw %ymm6, %ymm3, %ymm3 3921vpsrlw $3, %ymm3, %ymm3 3922vpsubw %ymm10, %ymm3, %ymm3 3923vpsubw %ymm3, %ymm10, %ymm10 3924vpsubw %ymm10, %ymm6, %ymm6 3925vpmullw %ymm13, %ymm3, %ymm3 3926vpsubw %ymm3, %ymm6, %ymm6 3927vmovdqa 256(%rdi), %ymm8 3928vmovdqa 512(%rdi), %ymm7 3929vmovdqa 768(%rdi), %ymm2 3930vpaddw %ymm11, %ymm8, %ymm11 3931vpaddw %ymm6, %ymm7, %ymm6 3932vpaddw %ymm9, %ymm2, %ymm9 3933vpshufb shuf48_16(%rip), %ymm10, %ymm10 3934vpand mask3_5_3_5(%rip), %ymm10, %ymm2 3935vpand mask5_3_5_3(%rip), %ymm10, %ymm10 3936vpermq $206, %ymm2, %ymm2 3937vpand mask_keephigh(%rip), %ymm2, %ymm7 3938vpor %ymm7, %ymm10, %ymm10 3939vmovdqa 0(%rdi), %ymm7 3940vpaddw %ymm10, %ymm7, %ymm7 3941vmovdqa %ymm7, 0(%rdi) 3942vmovdqa %xmm2, 1920(%rsp) 3943vpshufb shuf48_16(%rip), %ymm4, %ymm4 3944vpand mask3_5_3_5(%rip), %ymm4, %ymm2 3945vpand mask5_3_5_3(%rip), %ymm4, %ymm4 3946vpermq $206, %ymm2, %ymm2 3947vpand mask_keephigh(%rip), %ymm2, %ymm7 3948vpor %ymm7, %ymm4, %ymm4 3949vpaddw %ymm4, %ymm11, %ymm11 3950vmovdqa %xmm2, 2176(%rsp) 3951vpshufb shuf48_16(%rip), %ymm3, %ymm3 3952vpand mask3_5_3_5(%rip), %ymm3, %ymm2 3953vpand mask5_3_5_3(%rip), %ymm3, %ymm3 3954vpermq $206, %ymm2, %ymm2 3955vpand mask_keephigh(%rip), %ymm2, %ymm7 3956vpor %ymm7, %ymm3, %ymm3 3957vpaddw %ymm3, %ymm6, %ymm6 3958vmovdqa %xmm2, 2432(%rsp) 3959vpshufb shuf48_16(%rip), %ymm5, %ymm5 3960vpand mask3_5_3_5(%rip), %ymm5, %ymm2 3961vpand mask5_3_5_3(%rip), %ymm5, %ymm5 3962vpermq $206, %ymm2, %ymm2 3963vpand mask_keephigh(%rip), %ymm2, %ymm7 3964vpor %ymm7, %ymm5, %ymm5 3965vpaddw %ymm5, %ymm9, %ymm9 3966vmovdqa %xmm2, 2688(%rsp) 3967vmovdqa %ymm11, 256(%rdi) 3968vmovdqa %ymm6, 512(%rdi) 3969vmovdqa %ymm9, 768(%rdi) 3970vmovdqa 160(%rsp), %ymm5 3971vpunpcklwd const0(%rip), %ymm5, %ymm3 3972vpunpckhwd const0(%rip), %ymm5, %ymm4 3973vpslld $1, %ymm3, %ymm3 3974vpslld $1, %ymm4, %ymm4 3975vmovdqa 416(%rsp), %ymm10 3976vpunpcklwd const0(%rip), %ymm10, %ymm9 3977vpunpckhwd const0(%rip), %ymm10, %ymm10 3978vmovdqa 672(%rsp), %ymm6 3979vpunpcklwd const0(%rip), %ymm6, %ymm11 3980vpunpckhwd const0(%rip), %ymm6, %ymm6 3981vpaddd %ymm11, %ymm9, %ymm2 3982vpaddd %ymm6, %ymm10, %ymm7 3983vpsubd %ymm3, %ymm2, %ymm2 3984vpsubd %ymm4, %ymm7, %ymm7 3985vpsubd %ymm11, %ymm9, %ymm11 3986vpsubd %ymm6, %ymm10, %ymm6 3987vpsrld $1, %ymm11, %ymm11 3988vpsrld $1, %ymm6, %ymm6 3989vpand mask32_to_16(%rip), %ymm11, %ymm11 3990vpand mask32_to_16(%rip), %ymm6, %ymm6 3991vpackusdw %ymm6, %ymm11, %ymm6 3992vmovdqa 1696(%rsp), %ymm11 3993vpunpcklwd const0(%rip), %ymm11, %ymm10 3994vpunpckhwd const0(%rip), %ymm11, %ymm9 3995vpslld $1, %ymm10, %ymm10 3996vpslld $1, %ymm9, %ymm9 3997vpsubd %ymm10, %ymm2, %ymm2 3998vpsubd %ymm9, %ymm7, %ymm7 3999vpsrld $1, %ymm2, %ymm2 4000vpsrld $1, %ymm7, %ymm7 4001vpand mask32_to_16(%rip), %ymm2, %ymm2 4002vpand mask32_to_16(%rip), %ymm7, %ymm7 4003vpackusdw %ymm7, %ymm2, %ymm7 4004vmovdqa 928(%rsp), %ymm2 4005vpaddw 1184(%rsp), %ymm2, %ymm9 4006vpsubw 1184(%rsp), %ymm2, %ymm2 4007vpsrlw $2, %ymm2, %ymm2 4008vpsubw %ymm6, %ymm2, %ymm2 4009vpmullw %ymm14, %ymm2, %ymm2 4010vpsllw $1, %ymm5, %ymm10 4011vpsubw %ymm10, %ymm9, %ymm10 4012vpsllw $7, %ymm11, %ymm9 4013vpsubw %ymm9, %ymm10, %ymm9 4014vpsrlw $3, %ymm9, %ymm9 4015vpsubw %ymm7, %ymm9, %ymm9 4016vmovdqa 1440(%rsp), %ymm10 4017vpsubw %ymm5, %ymm10, %ymm10 4018vpmullw %ymm15, %ymm11, %ymm4 4019vpsubw %ymm4, %ymm10, %ymm4 4020vpmullw %ymm14, %ymm9, %ymm9 4021vpsubw %ymm9, %ymm7, %ymm7 4022vpmullw %ymm12, %ymm9, %ymm10 4023vpaddw %ymm10, %ymm7, %ymm10 4024vpmullw %ymm12, %ymm10, %ymm10 4025vpsubw %ymm10, %ymm4, %ymm10 4026vpmullw %ymm14, %ymm10, %ymm10 4027vpsubw %ymm6, %ymm10, %ymm10 4028vpsrlw $3, %ymm10, %ymm10 4029vpsubw %ymm2, %ymm10, %ymm10 4030vpsubw %ymm10, %ymm2, %ymm2 4031vpsubw %ymm2, %ymm6, %ymm6 4032vpmullw %ymm13, %ymm10, %ymm10 4033vpsubw %ymm10, %ymm6, %ymm6 4034vmovdqa 320(%rdi), %ymm4 4035vmovdqa 576(%rdi), %ymm3 4036vmovdqa 832(%rdi), %ymm8 4037vpaddw %ymm5, %ymm4, %ymm5 4038vpaddw %ymm6, %ymm3, %ymm6 4039vpaddw %ymm7, %ymm8, %ymm7 4040vpshufb shuf48_16(%rip), %ymm2, %ymm2 4041vpand mask3_5_3_5(%rip), %ymm2, %ymm8 4042vpand mask5_3_5_3(%rip), %ymm2, %ymm2 4043vpermq $206, %ymm8, %ymm8 4044vpand mask_keephigh(%rip), %ymm8, %ymm3 4045vpor %ymm3, %ymm2, %ymm2 4046vmovdqa 64(%rdi), %ymm3 4047vpaddw %ymm2, %ymm3, %ymm3 4048vmovdqa %ymm3, 64(%rdi) 4049vmovdqa %xmm8, 1952(%rsp) 4050vpshufb shuf48_16(%rip), %ymm9, %ymm9 4051vpand mask3_5_3_5(%rip), %ymm9, %ymm8 4052vpand mask5_3_5_3(%rip), %ymm9, %ymm9 4053vpermq $206, %ymm8, %ymm8 4054vpand mask_keephigh(%rip), %ymm8, %ymm3 4055vpor %ymm3, %ymm9, %ymm9 4056vpaddw %ymm9, %ymm5, %ymm5 4057vmovdqa %xmm8, 2208(%rsp) 4058vpshufb shuf48_16(%rip), %ymm10, %ymm10 4059vpand mask3_5_3_5(%rip), %ymm10, %ymm8 4060vpand mask5_3_5_3(%rip), %ymm10, %ymm10 4061vpermq $206, %ymm8, %ymm8 4062vpand mask_keephigh(%rip), %ymm8, %ymm3 4063vpor %ymm3, %ymm10, %ymm10 4064vpaddw %ymm10, %ymm6, %ymm6 4065vmovdqa %xmm8, 2464(%rsp) 4066vpshufb shuf48_16(%rip), %ymm11, %ymm11 4067vpand mask3_5_3_5(%rip), %ymm11, %ymm8 4068vpand mask5_3_5_3(%rip), %ymm11, %ymm11 4069vpermq $206, %ymm8, %ymm8 4070vpand mask_keephigh(%rip), %ymm8, %ymm3 4071vpor %ymm3, %ymm11, %ymm11 4072vpaddw %ymm11, %ymm7, %ymm7 4073vmovdqa %xmm8, 2720(%rsp) 4074vmovdqa %ymm5, 320(%rdi) 4075vmovdqa %ymm6, 576(%rdi) 4076vmovdqa %ymm7, 832(%rdi) 4077vmovdqa 192(%rsp), %ymm11 4078vpunpcklwd const0(%rip), %ymm11, %ymm10 4079vpunpckhwd const0(%rip), %ymm11, %ymm9 4080vpslld $1, %ymm10, %ymm10 4081vpslld $1, %ymm9, %ymm9 4082vmovdqa 448(%rsp), %ymm2 4083vpunpcklwd const0(%rip), %ymm2, %ymm7 4084vpunpckhwd const0(%rip), %ymm2, %ymm2 4085vmovdqa 704(%rsp), %ymm6 4086vpunpcklwd const0(%rip), %ymm6, %ymm5 4087vpunpckhwd const0(%rip), %ymm6, %ymm6 4088vpaddd %ymm5, %ymm7, %ymm8 4089vpaddd %ymm6, %ymm2, %ymm3 4090vpsubd %ymm10, %ymm8, %ymm8 4091vpsubd %ymm9, %ymm3, %ymm3 4092vpsubd %ymm5, %ymm7, %ymm5 4093vpsubd %ymm6, %ymm2, %ymm6 4094vpsrld $1, %ymm5, %ymm5 4095vpsrld $1, %ymm6, %ymm6 4096vpand mask32_to_16(%rip), %ymm5, %ymm5 4097vpand mask32_to_16(%rip), %ymm6, %ymm6 4098vpackusdw %ymm6, %ymm5, %ymm6 4099vmovdqa 1728(%rsp), %ymm5 4100vpunpcklwd const0(%rip), %ymm5, %ymm2 4101vpunpckhwd const0(%rip), %ymm5, %ymm7 4102vpslld $1, %ymm2, %ymm2 4103vpslld $1, %ymm7, %ymm7 4104vpsubd %ymm2, %ymm8, %ymm8 4105vpsubd %ymm7, %ymm3, %ymm3 4106vpsrld $1, %ymm8, %ymm8 4107vpsrld $1, %ymm3, %ymm3 4108vpand mask32_to_16(%rip), %ymm8, %ymm8 4109vpand mask32_to_16(%rip), %ymm3, %ymm3 4110vpackusdw %ymm3, %ymm8, %ymm3 4111vmovdqa 960(%rsp), %ymm8 4112vpaddw 1216(%rsp), %ymm8, %ymm7 4113vpsubw 1216(%rsp), %ymm8, %ymm8 4114vpsrlw $2, %ymm8, %ymm8 4115vpsubw %ymm6, %ymm8, %ymm8 4116vpmullw %ymm14, %ymm8, %ymm8 4117vpsllw $1, %ymm11, %ymm2 4118vpsubw %ymm2, %ymm7, %ymm2 4119vpsllw $7, %ymm5, %ymm7 4120vpsubw %ymm7, %ymm2, %ymm7 4121vpsrlw $3, %ymm7, %ymm7 4122vpsubw %ymm3, %ymm7, %ymm7 4123vmovdqa 1472(%rsp), %ymm2 4124vpsubw %ymm11, %ymm2, %ymm2 4125vpmullw %ymm15, %ymm5, %ymm9 4126vpsubw %ymm9, %ymm2, %ymm9 4127vpmullw %ymm14, %ymm7, %ymm7 4128vpsubw %ymm7, %ymm3, %ymm3 4129vpmullw %ymm12, %ymm7, %ymm2 4130vpaddw %ymm2, %ymm3, %ymm2 4131vpmullw %ymm12, %ymm2, %ymm2 4132vpsubw %ymm2, %ymm9, %ymm2 4133vpmullw %ymm14, %ymm2, %ymm2 4134vpsubw %ymm6, %ymm2, %ymm2 4135vpsrlw $3, %ymm2, %ymm2 4136vpsubw %ymm8, %ymm2, %ymm2 4137vpsubw %ymm2, %ymm8, %ymm8 4138vpsubw %ymm8, %ymm6, %ymm6 4139vpmullw %ymm13, %ymm2, %ymm2 4140vpsubw %ymm2, %ymm6, %ymm6 4141vmovdqa 384(%rdi), %ymm9 4142vmovdqa 640(%rdi), %ymm10 4143vmovdqa 896(%rdi), %ymm4 4144vpaddw %ymm11, %ymm9, %ymm11 4145vpaddw %ymm6, %ymm10, %ymm6 4146vpaddw %ymm3, %ymm4, %ymm3 4147vpshufb shuf48_16(%rip), %ymm8, %ymm8 4148vpand mask3_5_3_5(%rip), %ymm8, %ymm4 4149vpand mask5_3_5_3(%rip), %ymm8, %ymm8 4150vpermq $206, %ymm4, %ymm4 4151vpand mask_keephigh(%rip), %ymm4, %ymm10 4152vpor %ymm10, %ymm8, %ymm8 4153vmovdqa 128(%rdi), %ymm10 4154vpaddw %ymm8, %ymm10, %ymm10 4155vmovdqa %ymm10, 128(%rdi) 4156vmovdqa %xmm4, 1984(%rsp) 4157vpshufb shuf48_16(%rip), %ymm7, %ymm7 4158vpand mask3_5_3_5(%rip), %ymm7, %ymm4 4159vpand mask5_3_5_3(%rip), %ymm7, %ymm7 4160vpermq $206, %ymm4, %ymm4 4161vpand mask_keephigh(%rip), %ymm4, %ymm10 4162vpor %ymm10, %ymm7, %ymm7 4163vpaddw %ymm7, %ymm11, %ymm11 4164vmovdqa %xmm4, 2240(%rsp) 4165vpshufb shuf48_16(%rip), %ymm2, %ymm2 4166vpand mask3_5_3_5(%rip), %ymm2, %ymm4 4167vpand mask5_3_5_3(%rip), %ymm2, %ymm2 4168vpermq $206, %ymm4, %ymm4 4169vpand mask_keephigh(%rip), %ymm4, %ymm10 4170vpor %ymm10, %ymm2, %ymm2 4171vpaddw %ymm2, %ymm6, %ymm6 4172vmovdqa %xmm4, 2496(%rsp) 4173vpshufb shuf48_16(%rip), %ymm5, %ymm5 4174vpand mask3_5_3_5(%rip), %ymm5, %ymm4 4175vpand mask5_3_5_3(%rip), %ymm5, %ymm5 4176vpermq $206, %ymm4, %ymm4 4177vpand mask_keephigh(%rip), %ymm4, %ymm10 4178vpor %ymm10, %ymm5, %ymm5 4179vpaddw %ymm5, %ymm3, %ymm3 4180vmovdqa %xmm4, 2752(%rsp) 4181vmovdqa %ymm11, 384(%rdi) 4182vmovdqa %ymm6, 640(%rdi) 4183vmovdqa %ymm3, 896(%rdi) 4184vmovdqa 224(%rsp), %ymm5 4185vpunpcklwd const0(%rip), %ymm5, %ymm2 4186vpunpckhwd const0(%rip), %ymm5, %ymm7 4187vpslld $1, %ymm2, %ymm2 4188vpslld $1, %ymm7, %ymm7 4189vmovdqa 480(%rsp), %ymm8 4190vpunpcklwd const0(%rip), %ymm8, %ymm3 4191vpunpckhwd const0(%rip), %ymm8, %ymm8 4192vmovdqa 736(%rsp), %ymm6 4193vpunpcklwd const0(%rip), %ymm6, %ymm11 4194vpunpckhwd const0(%rip), %ymm6, %ymm6 4195vpaddd %ymm11, %ymm3, %ymm4 4196vpaddd %ymm6, %ymm8, %ymm10 4197vpsubd %ymm2, %ymm4, %ymm4 4198vpsubd %ymm7, %ymm10, %ymm10 4199vpsubd %ymm11, %ymm3, %ymm11 4200vpsubd %ymm6, %ymm8, %ymm6 4201vpsrld $1, %ymm11, %ymm11 4202vpsrld $1, %ymm6, %ymm6 4203vpand mask32_to_16(%rip), %ymm11, %ymm11 4204vpand mask32_to_16(%rip), %ymm6, %ymm6 4205vpackusdw %ymm6, %ymm11, %ymm6 4206vmovdqa 1760(%rsp), %ymm11 4207vpunpcklwd const0(%rip), %ymm11, %ymm8 4208vpunpckhwd const0(%rip), %ymm11, %ymm3 4209vpslld $1, %ymm8, %ymm8 4210vpslld $1, %ymm3, %ymm3 4211vpsubd %ymm8, %ymm4, %ymm4 4212vpsubd %ymm3, %ymm10, %ymm10 4213vpsrld $1, %ymm4, %ymm4 4214vpsrld $1, %ymm10, %ymm10 4215vpand mask32_to_16(%rip), %ymm4, %ymm4 4216vpand mask32_to_16(%rip), %ymm10, %ymm10 4217vpackusdw %ymm10, %ymm4, %ymm10 4218vmovdqa 992(%rsp), %ymm4 4219vpaddw 1248(%rsp), %ymm4, %ymm3 4220vpsubw 1248(%rsp), %ymm4, %ymm4 4221vpsrlw $2, %ymm4, %ymm4 4222vpsubw %ymm6, %ymm4, %ymm4 4223vpmullw %ymm14, %ymm4, %ymm4 4224vpsllw $1, %ymm5, %ymm8 4225vpsubw %ymm8, %ymm3, %ymm8 4226vpsllw $7, %ymm11, %ymm3 4227vpsubw %ymm3, %ymm8, %ymm3 4228vpsrlw $3, %ymm3, %ymm3 4229vpsubw %ymm10, %ymm3, %ymm3 4230vmovdqa 1504(%rsp), %ymm8 4231vpsubw %ymm5, %ymm8, %ymm8 4232vpmullw %ymm15, %ymm11, %ymm7 4233vpsubw %ymm7, %ymm8, %ymm7 4234vpmullw %ymm14, %ymm3, %ymm3 4235vpsubw %ymm3, %ymm10, %ymm10 4236vpmullw %ymm12, %ymm3, %ymm8 4237vpaddw %ymm8, %ymm10, %ymm8 4238vpmullw %ymm12, %ymm8, %ymm8 4239vpsubw %ymm8, %ymm7, %ymm8 4240vpmullw %ymm14, %ymm8, %ymm8 4241vpsubw %ymm6, %ymm8, %ymm8 4242vpsrlw $3, %ymm8, %ymm8 4243vpsubw %ymm4, %ymm8, %ymm8 4244vpsubw %ymm8, %ymm4, %ymm4 4245vpsubw %ymm4, %ymm6, %ymm6 4246vpmullw %ymm13, %ymm8, %ymm8 4247vpsubw %ymm8, %ymm6, %ymm6 4248vmovdqa 448(%rdi), %ymm7 4249vmovdqa 704(%rdi), %ymm2 4250vmovdqa 960(%rdi), %ymm9 4251vpaddw %ymm5, %ymm7, %ymm5 4252vpaddw %ymm6, %ymm2, %ymm6 4253vpaddw %ymm10, %ymm9, %ymm10 4254vpshufb shuf48_16(%rip), %ymm4, %ymm4 4255vpand mask3_5_3_5(%rip), %ymm4, %ymm9 4256vpand mask5_3_5_3(%rip), %ymm4, %ymm4 4257vpermq $206, %ymm9, %ymm9 4258vpand mask_keephigh(%rip), %ymm9, %ymm2 4259vpor %ymm2, %ymm4, %ymm4 4260vmovdqa 192(%rdi), %ymm2 4261vpaddw %ymm4, %ymm2, %ymm2 4262vmovdqa %ymm2, 192(%rdi) 4263vmovdqa %xmm9, 2016(%rsp) 4264vpshufb shuf48_16(%rip), %ymm3, %ymm3 4265vpand mask3_5_3_5(%rip), %ymm3, %ymm9 4266vpand mask5_3_5_3(%rip), %ymm3, %ymm3 4267vpermq $206, %ymm9, %ymm9 4268vpand mask_keephigh(%rip), %ymm9, %ymm2 4269vpor %ymm2, %ymm3, %ymm3 4270vpaddw %ymm3, %ymm5, %ymm5 4271vmovdqa %xmm9, 2272(%rsp) 4272vpshufb shuf48_16(%rip), %ymm8, %ymm8 4273vpand mask3_5_3_5(%rip), %ymm8, %ymm9 4274vpand mask5_3_5_3(%rip), %ymm8, %ymm8 4275vpermq $206, %ymm9, %ymm9 4276vpand mask_keephigh(%rip), %ymm9, %ymm2 4277vpor %ymm2, %ymm8, %ymm8 4278vpaddw %ymm8, %ymm6, %ymm6 4279vmovdqa %xmm9, 2528(%rsp) 4280vpshufb shuf48_16(%rip), %ymm11, %ymm11 4281vpand mask3_5_3_5(%rip), %ymm11, %ymm9 4282vpand mask5_3_5_3(%rip), %ymm11, %ymm11 4283vpermq $206, %ymm9, %ymm9 4284vpand mask_keephigh(%rip), %ymm9, %ymm2 4285vpor %ymm2, %ymm11, %ymm11 4286vpaddw %ymm11, %ymm10, %ymm10 4287vmovdqa %xmm9, 2784(%rsp) 4288vmovdqa %ymm5, 448(%rdi) 4289vmovdqa %ymm6, 704(%rdi) 4290vmovdqa %ymm10, 960(%rdi) 4291vmovdqa 96(%r12), %ymm0 4292vpsubw 160(%r12), %ymm0, %ymm0 4293vmovdqa 352(%r12), %ymm1 4294vpsubw %ymm0, %ymm1, %ymm1 4295vpsubw 224(%r12), %ymm1, %ymm1 4296vpsubw 32(%r12), %ymm0, %ymm0 4297vpaddw 288(%r12), %ymm0, %ymm0 4298vmovdqa 480(%r12), %ymm2 4299vpsubw 544(%r12), %ymm2, %ymm2 4300vmovdqa 736(%r12), %ymm3 4301vpsubw %ymm2, %ymm3, %ymm3 4302vpsubw 608(%r12), %ymm3, %ymm3 4303vpsubw 416(%r12), %ymm2, %ymm2 4304vpaddw 672(%r12), %ymm2, %ymm2 4305vmovdqa 864(%r12), %ymm4 4306vpsubw 928(%r12), %ymm4, %ymm4 4307vmovdqa 1120(%r12), %ymm5 4308vpsubw %ymm4, %ymm5, %ymm5 4309vpsubw 992(%r12), %ymm5, %ymm5 4310vpsubw 800(%r12), %ymm4, %ymm4 4311vpaddw 1056(%r12), %ymm4, %ymm4 4312vpsubw 416(%r12), %ymm1, %ymm1 4313vpsubw %ymm1, %ymm5, %ymm5 4314vpsubw %ymm3, %ymm5, %ymm5 4315vpsubw 32(%r12), %ymm1, %ymm1 4316vpaddw 800(%r12), %ymm1, %ymm1 4317vmovdqa 224(%r12), %ymm6 4318vpsubw %ymm2, %ymm6, %ymm7 4319vmovdqa 992(%r12), %ymm2 4320vpsubw %ymm7, %ymm2, %ymm2 4321vpsubw 608(%r12), %ymm2, %ymm2 4322vpsubw %ymm0, %ymm7, %ymm7 4323vpaddw %ymm4, %ymm7, %ymm7 4324vmovdqa 32(%r12), %ymm8 4325vmovdqa 608(%r12), %ymm9 4326vmovdqa %ymm8, 0(%rsp) 4327vmovdqa %ymm0, 32(%rsp) 4328vmovdqa %ymm1, 64(%rsp) 4329vmovdqa %ymm7, 96(%rsp) 4330vmovdqa %ymm5, 128(%rsp) 4331vmovdqa %ymm2, 160(%rsp) 4332vmovdqa %ymm3, 192(%rsp) 4333vmovdqa %ymm9, 224(%rsp) 4334vmovdqa 1248(%r12), %ymm0 4335vpsubw 1312(%r12), %ymm0, %ymm0 4336vmovdqa 1504(%r12), %ymm1 4337vpsubw %ymm0, %ymm1, %ymm1 4338vpsubw 1376(%r12), %ymm1, %ymm1 4339vpsubw 1184(%r12), %ymm0, %ymm0 4340vpaddw 1440(%r12), %ymm0, %ymm0 4341vmovdqa 1632(%r12), %ymm2 4342vpsubw 1696(%r12), %ymm2, %ymm2 4343vmovdqa 1888(%r12), %ymm3 4344vpsubw %ymm2, %ymm3, %ymm3 4345vpsubw 1760(%r12), %ymm3, %ymm3 4346vpsubw 1568(%r12), %ymm2, %ymm2 4347vpaddw 1824(%r12), %ymm2, %ymm2 4348vmovdqa 2016(%r12), %ymm4 4349vpsubw 2080(%r12), %ymm4, %ymm4 4350vmovdqa 2272(%r12), %ymm5 4351vpsubw %ymm4, %ymm5, %ymm5 4352vpsubw 2144(%r12), %ymm5, %ymm5 4353vpsubw 1952(%r12), %ymm4, %ymm4 4354vpaddw 2208(%r12), %ymm4, %ymm4 4355vpsubw 1568(%r12), %ymm1, %ymm1 4356vpsubw %ymm1, %ymm5, %ymm5 4357vpsubw %ymm3, %ymm5, %ymm5 4358vpsubw 1184(%r12), %ymm1, %ymm1 4359vpaddw 1952(%r12), %ymm1, %ymm1 4360vmovdqa 1376(%r12), %ymm6 4361vpsubw %ymm2, %ymm6, %ymm7 4362vmovdqa 2144(%r12), %ymm2 4363vpsubw %ymm7, %ymm2, %ymm2 4364vpsubw 1760(%r12), %ymm2, %ymm2 4365vpsubw %ymm0, %ymm7, %ymm7 4366vpaddw %ymm4, %ymm7, %ymm7 4367vmovdqa 1184(%r12), %ymm8 4368vmovdqa 1760(%r12), %ymm9 4369vmovdqa %ymm8, 256(%rsp) 4370vmovdqa %ymm0, 288(%rsp) 4371vmovdqa %ymm1, 320(%rsp) 4372vmovdqa %ymm7, 352(%rsp) 4373vmovdqa %ymm5, 384(%rsp) 4374vmovdqa %ymm2, 416(%rsp) 4375vmovdqa %ymm3, 448(%rsp) 4376vmovdqa %ymm9, 480(%rsp) 4377vmovdqa 2400(%r12), %ymm0 4378vpsubw 2464(%r12), %ymm0, %ymm0 4379vmovdqa 2656(%r12), %ymm1 4380vpsubw %ymm0, %ymm1, %ymm1 4381vpsubw 2528(%r12), %ymm1, %ymm1 4382vpsubw 2336(%r12), %ymm0, %ymm0 4383vpaddw 2592(%r12), %ymm0, %ymm0 4384vmovdqa 2784(%r12), %ymm2 4385vpsubw 2848(%r12), %ymm2, %ymm2 4386vmovdqa 3040(%r12), %ymm3 4387vpsubw %ymm2, %ymm3, %ymm3 4388vpsubw 2912(%r12), %ymm3, %ymm3 4389vpsubw 2720(%r12), %ymm2, %ymm2 4390vpaddw 2976(%r12), %ymm2, %ymm2 4391vmovdqa 3168(%r12), %ymm4 4392vpsubw 3232(%r12), %ymm4, %ymm4 4393vmovdqa 3424(%r12), %ymm5 4394vpsubw %ymm4, %ymm5, %ymm5 4395vpsubw 3296(%r12), %ymm5, %ymm5 4396vpsubw 3104(%r12), %ymm4, %ymm4 4397vpaddw 3360(%r12), %ymm4, %ymm4 4398vpsubw 2720(%r12), %ymm1, %ymm1 4399vpsubw %ymm1, %ymm5, %ymm5 4400vpsubw %ymm3, %ymm5, %ymm5 4401vpsubw 2336(%r12), %ymm1, %ymm1 4402vpaddw 3104(%r12), %ymm1, %ymm1 4403vmovdqa 2528(%r12), %ymm6 4404vpsubw %ymm2, %ymm6, %ymm7 4405vmovdqa 3296(%r12), %ymm2 4406vpsubw %ymm7, %ymm2, %ymm2 4407vpsubw 2912(%r12), %ymm2, %ymm2 4408vpsubw %ymm0, %ymm7, %ymm7 4409vpaddw %ymm4, %ymm7, %ymm7 4410vmovdqa 2336(%r12), %ymm8 4411vmovdqa 2912(%r12), %ymm9 4412vmovdqa %ymm8, 512(%rsp) 4413vmovdqa %ymm0, 544(%rsp) 4414vmovdqa %ymm1, 576(%rsp) 4415vmovdqa %ymm7, 608(%rsp) 4416vmovdqa %ymm5, 640(%rsp) 4417vmovdqa %ymm2, 672(%rsp) 4418vmovdqa %ymm3, 704(%rsp) 4419vmovdqa %ymm9, 736(%rsp) 4420vmovdqa 3552(%r12), %ymm0 4421vpsubw 3616(%r12), %ymm0, %ymm0 4422vmovdqa 3808(%r12), %ymm1 4423vpsubw %ymm0, %ymm1, %ymm1 4424vpsubw 3680(%r12), %ymm1, %ymm1 4425vpsubw 3488(%r12), %ymm0, %ymm0 4426vpaddw 3744(%r12), %ymm0, %ymm0 4427vmovdqa 3936(%r12), %ymm2 4428vpsubw 4000(%r12), %ymm2, %ymm2 4429vmovdqa 4192(%r12), %ymm3 4430vpsubw %ymm2, %ymm3, %ymm3 4431vpsubw 4064(%r12), %ymm3, %ymm3 4432vpsubw 3872(%r12), %ymm2, %ymm2 4433vpaddw 4128(%r12), %ymm2, %ymm2 4434vmovdqa 4320(%r12), %ymm4 4435vpsubw 4384(%r12), %ymm4, %ymm4 4436vmovdqa 4576(%r12), %ymm5 4437vpsubw %ymm4, %ymm5, %ymm5 4438vpsubw 4448(%r12), %ymm5, %ymm5 4439vpsubw 4256(%r12), %ymm4, %ymm4 4440vpaddw 4512(%r12), %ymm4, %ymm4 4441vpsubw 3872(%r12), %ymm1, %ymm1 4442vpsubw %ymm1, %ymm5, %ymm5 4443vpsubw %ymm3, %ymm5, %ymm5 4444vpsubw 3488(%r12), %ymm1, %ymm1 4445vpaddw 4256(%r12), %ymm1, %ymm1 4446vmovdqa 3680(%r12), %ymm6 4447vpsubw %ymm2, %ymm6, %ymm7 4448vmovdqa 4448(%r12), %ymm2 4449vpsubw %ymm7, %ymm2, %ymm2 4450vpsubw 4064(%r12), %ymm2, %ymm2 4451vpsubw %ymm0, %ymm7, %ymm7 4452vpaddw %ymm4, %ymm7, %ymm7 4453vmovdqa 3488(%r12), %ymm8 4454vmovdqa 4064(%r12), %ymm9 4455vmovdqa %ymm8, 768(%rsp) 4456vmovdqa %ymm0, 800(%rsp) 4457vmovdqa %ymm1, 832(%rsp) 4458vmovdqa %ymm7, 864(%rsp) 4459vmovdqa %ymm5, 896(%rsp) 4460vmovdqa %ymm2, 928(%rsp) 4461vmovdqa %ymm3, 960(%rsp) 4462vmovdqa %ymm9, 992(%rsp) 4463vmovdqa 4704(%r12), %ymm0 4464vpsubw 4768(%r12), %ymm0, %ymm0 4465vmovdqa 4960(%r12), %ymm1 4466vpsubw %ymm0, %ymm1, %ymm1 4467vpsubw 4832(%r12), %ymm1, %ymm1 4468vpsubw 4640(%r12), %ymm0, %ymm0 4469vpaddw 4896(%r12), %ymm0, %ymm0 4470vmovdqa 5088(%r12), %ymm2 4471vpsubw 5152(%r12), %ymm2, %ymm2 4472vmovdqa 5344(%r12), %ymm3 4473vpsubw %ymm2, %ymm3, %ymm3 4474vpsubw 5216(%r12), %ymm3, %ymm3 4475vpsubw 5024(%r12), %ymm2, %ymm2 4476vpaddw 5280(%r12), %ymm2, %ymm2 4477vmovdqa 5472(%r12), %ymm4 4478vpsubw 5536(%r12), %ymm4, %ymm4 4479vmovdqa 5728(%r12), %ymm5 4480vpsubw %ymm4, %ymm5, %ymm5 4481vpsubw 5600(%r12), %ymm5, %ymm5 4482vpsubw 5408(%r12), %ymm4, %ymm4 4483vpaddw 5664(%r12), %ymm4, %ymm4 4484vpsubw 5024(%r12), %ymm1, %ymm1 4485vpsubw %ymm1, %ymm5, %ymm5 4486vpsubw %ymm3, %ymm5, %ymm5 4487vpsubw 4640(%r12), %ymm1, %ymm1 4488vpaddw 5408(%r12), %ymm1, %ymm1 4489vmovdqa 4832(%r12), %ymm6 4490vpsubw %ymm2, %ymm6, %ymm7 4491vmovdqa 5600(%r12), %ymm2 4492vpsubw %ymm7, %ymm2, %ymm2 4493vpsubw 5216(%r12), %ymm2, %ymm2 4494vpsubw %ymm0, %ymm7, %ymm7 4495vpaddw %ymm4, %ymm7, %ymm7 4496vmovdqa 4640(%r12), %ymm8 4497vmovdqa 5216(%r12), %ymm9 4498vmovdqa %ymm8, 1024(%rsp) 4499vmovdqa %ymm0, 1056(%rsp) 4500vmovdqa %ymm1, 1088(%rsp) 4501vmovdqa %ymm7, 1120(%rsp) 4502vmovdqa %ymm5, 1152(%rsp) 4503vmovdqa %ymm2, 1184(%rsp) 4504vmovdqa %ymm3, 1216(%rsp) 4505vmovdqa %ymm9, 1248(%rsp) 4506vmovdqa 5856(%r12), %ymm0 4507vpsubw 5920(%r12), %ymm0, %ymm0 4508vmovdqa 6112(%r12), %ymm1 4509vpsubw %ymm0, %ymm1, %ymm1 4510vpsubw 5984(%r12), %ymm1, %ymm1 4511vpsubw 5792(%r12), %ymm0, %ymm0 4512vpaddw 6048(%r12), %ymm0, %ymm0 4513vmovdqa 6240(%r12), %ymm2 4514vpsubw 6304(%r12), %ymm2, %ymm2 4515vmovdqa 6496(%r12), %ymm3 4516vpsubw %ymm2, %ymm3, %ymm3 4517vpsubw 6368(%r12), %ymm3, %ymm3 4518vpsubw 6176(%r12), %ymm2, %ymm2 4519vpaddw 6432(%r12), %ymm2, %ymm2 4520vmovdqa 6624(%r12), %ymm4 4521vpsubw 6688(%r12), %ymm4, %ymm4 4522vmovdqa 6880(%r12), %ymm5 4523vpsubw %ymm4, %ymm5, %ymm5 4524vpsubw 6752(%r12), %ymm5, %ymm5 4525vpsubw 6560(%r12), %ymm4, %ymm4 4526vpaddw 6816(%r12), %ymm4, %ymm4 4527vpsubw 6176(%r12), %ymm1, %ymm1 4528vpsubw %ymm1, %ymm5, %ymm5 4529vpsubw %ymm3, %ymm5, %ymm5 4530vpsubw 5792(%r12), %ymm1, %ymm1 4531vpaddw 6560(%r12), %ymm1, %ymm1 4532vmovdqa 5984(%r12), %ymm6 4533vpsubw %ymm2, %ymm6, %ymm7 4534vmovdqa 6752(%r12), %ymm2 4535vpsubw %ymm7, %ymm2, %ymm2 4536vpsubw 6368(%r12), %ymm2, %ymm2 4537vpsubw %ymm0, %ymm7, %ymm7 4538vpaddw %ymm4, %ymm7, %ymm7 4539vmovdqa 5792(%r12), %ymm8 4540vmovdqa 6368(%r12), %ymm9 4541vmovdqa %ymm8, 1280(%rsp) 4542vmovdqa %ymm0, 1312(%rsp) 4543vmovdqa %ymm1, 1344(%rsp) 4544vmovdqa %ymm7, 1376(%rsp) 4545vmovdqa %ymm5, 1408(%rsp) 4546vmovdqa %ymm2, 1440(%rsp) 4547vmovdqa %ymm3, 1472(%rsp) 4548vmovdqa %ymm9, 1504(%rsp) 4549vmovdqa 7008(%r12), %ymm0 4550vpsubw 7072(%r12), %ymm0, %ymm0 4551vmovdqa 7264(%r12), %ymm1 4552vpsubw %ymm0, %ymm1, %ymm1 4553vpsubw 7136(%r12), %ymm1, %ymm1 4554vpsubw 6944(%r12), %ymm0, %ymm0 4555vpaddw 7200(%r12), %ymm0, %ymm0 4556vmovdqa 7392(%r12), %ymm2 4557vpsubw 7456(%r12), %ymm2, %ymm2 4558vmovdqa 7648(%r12), %ymm3 4559vpsubw %ymm2, %ymm3, %ymm3 4560vpsubw 7520(%r12), %ymm3, %ymm3 4561vpsubw 7328(%r12), %ymm2, %ymm2 4562vpaddw 7584(%r12), %ymm2, %ymm2 4563vmovdqa 7776(%r12), %ymm4 4564vpsubw 7840(%r12), %ymm4, %ymm4 4565vmovdqa 8032(%r12), %ymm5 4566vpsubw %ymm4, %ymm5, %ymm5 4567vpsubw 7904(%r12), %ymm5, %ymm5 4568vpsubw 7712(%r12), %ymm4, %ymm4 4569vpaddw 7968(%r12), %ymm4, %ymm4 4570vpsubw 7328(%r12), %ymm1, %ymm1 4571vpsubw %ymm1, %ymm5, %ymm5 4572vpsubw %ymm3, %ymm5, %ymm5 4573vpsubw 6944(%r12), %ymm1, %ymm1 4574vpaddw 7712(%r12), %ymm1, %ymm1 4575vmovdqa 7136(%r12), %ymm6 4576vpsubw %ymm2, %ymm6, %ymm7 4577vmovdqa 7904(%r12), %ymm2 4578vpsubw %ymm7, %ymm2, %ymm2 4579vpsubw 7520(%r12), %ymm2, %ymm2 4580vpsubw %ymm0, %ymm7, %ymm7 4581vpaddw %ymm4, %ymm7, %ymm7 4582vmovdqa 6944(%r12), %ymm8 4583vmovdqa 7520(%r12), %ymm9 4584vmovdqa %ymm8, 1536(%rsp) 4585vmovdqa %ymm0, 1568(%rsp) 4586vmovdqa %ymm1, 1600(%rsp) 4587vmovdqa %ymm7, 1632(%rsp) 4588vmovdqa %ymm5, 1664(%rsp) 4589vmovdqa %ymm2, 1696(%rsp) 4590vmovdqa %ymm3, 1728(%rsp) 4591vmovdqa %ymm9, 1760(%rsp) 4592vmovdqa 0(%rsp), %ymm11 4593vpunpcklwd const0(%rip), %ymm11, %ymm8 4594vpunpckhwd const0(%rip), %ymm11, %ymm3 4595vpslld $1, %ymm8, %ymm8 4596vpslld $1, %ymm3, %ymm3 4597vmovdqa 256(%rsp), %ymm4 4598vpunpcklwd const0(%rip), %ymm4, %ymm10 4599vpunpckhwd const0(%rip), %ymm4, %ymm4 4600vmovdqa 512(%rsp), %ymm6 4601vpunpcklwd const0(%rip), %ymm6, %ymm5 4602vpunpckhwd const0(%rip), %ymm6, %ymm6 4603vpaddd %ymm5, %ymm10, %ymm9 4604vpaddd %ymm6, %ymm4, %ymm2 4605vpsubd %ymm8, %ymm9, %ymm9 4606vpsubd %ymm3, %ymm2, %ymm2 4607vpsubd %ymm5, %ymm10, %ymm5 4608vpsubd %ymm6, %ymm4, %ymm6 4609vpsrld $1, %ymm5, %ymm5 4610vpsrld $1, %ymm6, %ymm6 4611vpand mask32_to_16(%rip), %ymm5, %ymm5 4612vpand mask32_to_16(%rip), %ymm6, %ymm6 4613vpackusdw %ymm6, %ymm5, %ymm6 4614vmovdqa 1536(%rsp), %ymm5 4615vpunpcklwd const0(%rip), %ymm5, %ymm4 4616vpunpckhwd const0(%rip), %ymm5, %ymm10 4617vpslld $1, %ymm4, %ymm4 4618vpslld $1, %ymm10, %ymm10 4619vpsubd %ymm4, %ymm9, %ymm9 4620vpsubd %ymm10, %ymm2, %ymm2 4621vpsrld $1, %ymm9, %ymm9 4622vpsrld $1, %ymm2, %ymm2 4623vpand mask32_to_16(%rip), %ymm9, %ymm9 4624vpand mask32_to_16(%rip), %ymm2, %ymm2 4625vpackusdw %ymm2, %ymm9, %ymm2 4626vmovdqa 768(%rsp), %ymm9 4627vpaddw 1024(%rsp), %ymm9, %ymm10 4628vpsubw 1024(%rsp), %ymm9, %ymm9 4629vpsrlw $2, %ymm9, %ymm9 4630vpsubw %ymm6, %ymm9, %ymm9 4631vpmullw %ymm14, %ymm9, %ymm9 4632vpsllw $1, %ymm11, %ymm4 4633vpsubw %ymm4, %ymm10, %ymm4 4634vpsllw $7, %ymm5, %ymm10 4635vpsubw %ymm10, %ymm4, %ymm10 4636vpsrlw $3, %ymm10, %ymm10 4637vpsubw %ymm2, %ymm10, %ymm10 4638vmovdqa 1280(%rsp), %ymm4 4639vpsubw %ymm11, %ymm4, %ymm4 4640vpmullw %ymm15, %ymm5, %ymm3 4641vpsubw %ymm3, %ymm4, %ymm3 4642vpmullw %ymm14, %ymm10, %ymm10 4643vpsubw %ymm10, %ymm2, %ymm2 4644vpmullw %ymm12, %ymm10, %ymm4 4645vpaddw %ymm4, %ymm2, %ymm4 4646vpmullw %ymm12, %ymm4, %ymm4 4647vpsubw %ymm4, %ymm3, %ymm4 4648vpmullw %ymm14, %ymm4, %ymm4 4649vpsubw %ymm6, %ymm4, %ymm4 4650vpsrlw $3, %ymm4, %ymm4 4651vpsubw %ymm9, %ymm4, %ymm4 4652vpsubw %ymm4, %ymm9, %ymm9 4653vpsubw %ymm9, %ymm6, %ymm6 4654vpmullw %ymm13, %ymm4, %ymm4 4655vpsubw %ymm4, %ymm6, %ymm6 4656vpshufb shuf48_16(%rip), %ymm10, %ymm10 4657vpand mask3_5_3_5(%rip), %ymm10, %ymm3 4658vpand mask5_3_5_3(%rip), %ymm10, %ymm10 4659vpermq $206, %ymm3, %ymm3 4660vpand mask_keephigh(%rip), %ymm3, %ymm8 4661vpor %ymm8, %ymm10, %ymm10 4662vpaddw 2048(%rsp), %ymm11, %ymm11 4663vpaddw %ymm10, %ymm11, %ymm11 4664vmovdqa %xmm3, 2048(%rsp) 4665vpshufb shuf48_16(%rip), %ymm4, %ymm4 4666vpand mask3_5_3_5(%rip), %ymm4, %ymm3 4667vpand mask5_3_5_3(%rip), %ymm4, %ymm4 4668vpermq $206, %ymm3, %ymm3 4669vpand mask_keephigh(%rip), %ymm3, %ymm8 4670vpor %ymm8, %ymm4, %ymm4 4671vpaddw 2304(%rsp), %ymm6, %ymm6 4672vpaddw %ymm4, %ymm6, %ymm6 4673vmovdqa %xmm3, 2304(%rsp) 4674vpshufb shuf48_16(%rip), %ymm5, %ymm5 4675vpand mask3_5_3_5(%rip), %ymm5, %ymm3 4676vpand mask5_3_5_3(%rip), %ymm5, %ymm5 4677vpermq $206, %ymm3, %ymm3 4678vpand mask_keephigh(%rip), %ymm3, %ymm8 4679vpor %ymm8, %ymm5, %ymm5 4680vpaddw 2560(%rsp), %ymm2, %ymm2 4681vpaddw %ymm5, %ymm2, %ymm2 4682vmovdqa %xmm3, 2560(%rsp) 4683vmovdqa %ymm11, 32(%rdi) 4684vmovdqa %ymm6, 288(%rdi) 4685vmovdqa %ymm2, 544(%rdi) 4686vmovdqa %ymm9, 800(%rdi) 4687vmovdqa 32(%rsp), %ymm5 4688vpunpcklwd const0(%rip), %ymm5, %ymm4 4689vpunpckhwd const0(%rip), %ymm5, %ymm10 4690vpslld $1, %ymm4, %ymm4 4691vpslld $1, %ymm10, %ymm10 4692vmovdqa 288(%rsp), %ymm9 4693vpunpcklwd const0(%rip), %ymm9, %ymm2 4694vpunpckhwd const0(%rip), %ymm9, %ymm9 4695vmovdqa 544(%rsp), %ymm6 4696vpunpcklwd const0(%rip), %ymm6, %ymm11 4697vpunpckhwd const0(%rip), %ymm6, %ymm6 4698vpaddd %ymm11, %ymm2, %ymm3 4699vpaddd %ymm6, %ymm9, %ymm8 4700vpsubd %ymm4, %ymm3, %ymm3 4701vpsubd %ymm10, %ymm8, %ymm8 4702vpsubd %ymm11, %ymm2, %ymm11 4703vpsubd %ymm6, %ymm9, %ymm6 4704vpsrld $1, %ymm11, %ymm11 4705vpsrld $1, %ymm6, %ymm6 4706vpand mask32_to_16(%rip), %ymm11, %ymm11 4707vpand mask32_to_16(%rip), %ymm6, %ymm6 4708vpackusdw %ymm6, %ymm11, %ymm6 4709vmovdqa 1568(%rsp), %ymm11 4710vpunpcklwd const0(%rip), %ymm11, %ymm9 4711vpunpckhwd const0(%rip), %ymm11, %ymm2 4712vpslld $1, %ymm9, %ymm9 4713vpslld $1, %ymm2, %ymm2 4714vpsubd %ymm9, %ymm3, %ymm3 4715vpsubd %ymm2, %ymm8, %ymm8 4716vpsrld $1, %ymm3, %ymm3 4717vpsrld $1, %ymm8, %ymm8 4718vpand mask32_to_16(%rip), %ymm3, %ymm3 4719vpand mask32_to_16(%rip), %ymm8, %ymm8 4720vpackusdw %ymm8, %ymm3, %ymm8 4721vmovdqa 800(%rsp), %ymm3 4722vpaddw 1056(%rsp), %ymm3, %ymm2 4723vpsubw 1056(%rsp), %ymm3, %ymm3 4724vpsrlw $2, %ymm3, %ymm3 4725vpsubw %ymm6, %ymm3, %ymm3 4726vpmullw %ymm14, %ymm3, %ymm3 4727vpsllw $1, %ymm5, %ymm9 4728vpsubw %ymm9, %ymm2, %ymm9 4729vpsllw $7, %ymm11, %ymm2 4730vpsubw %ymm2, %ymm9, %ymm2 4731vpsrlw $3, %ymm2, %ymm2 4732vpsubw %ymm8, %ymm2, %ymm2 4733vmovdqa 1312(%rsp), %ymm9 4734vpsubw %ymm5, %ymm9, %ymm9 4735vpmullw %ymm15, %ymm11, %ymm10 4736vpsubw %ymm10, %ymm9, %ymm10 4737vpmullw %ymm14, %ymm2, %ymm2 4738vpsubw %ymm2, %ymm8, %ymm8 4739vpmullw %ymm12, %ymm2, %ymm9 4740vpaddw %ymm9, %ymm8, %ymm9 4741vpmullw %ymm12, %ymm9, %ymm9 4742vpsubw %ymm9, %ymm10, %ymm9 4743vpmullw %ymm14, %ymm9, %ymm9 4744vpsubw %ymm6, %ymm9, %ymm9 4745vpsrlw $3, %ymm9, %ymm9 4746vpsubw %ymm3, %ymm9, %ymm9 4747vpsubw %ymm9, %ymm3, %ymm3 4748vpsubw %ymm3, %ymm6, %ymm6 4749vpmullw %ymm13, %ymm9, %ymm9 4750vpsubw %ymm9, %ymm6, %ymm6 4751vpshufb shuf48_16(%rip), %ymm2, %ymm2 4752vpand mask3_5_3_5(%rip), %ymm2, %ymm10 4753vpand mask5_3_5_3(%rip), %ymm2, %ymm2 4754vpermq $206, %ymm10, %ymm10 4755vpand mask_keephigh(%rip), %ymm10, %ymm4 4756vpor %ymm4, %ymm2, %ymm2 4757vpaddw 2080(%rsp), %ymm5, %ymm5 4758vpaddw %ymm2, %ymm5, %ymm5 4759vmovdqa %xmm10, 2080(%rsp) 4760vpshufb shuf48_16(%rip), %ymm9, %ymm9 4761vpand mask3_5_3_5(%rip), %ymm9, %ymm10 4762vpand mask5_3_5_3(%rip), %ymm9, %ymm9 4763vpermq $206, %ymm10, %ymm10 4764vpand mask_keephigh(%rip), %ymm10, %ymm4 4765vpor %ymm4, %ymm9, %ymm9 4766vpaddw 2336(%rsp), %ymm6, %ymm6 4767vpaddw %ymm9, %ymm6, %ymm6 4768vmovdqa %xmm10, 2336(%rsp) 4769vpshufb shuf48_16(%rip), %ymm11, %ymm11 4770vpand mask3_5_3_5(%rip), %ymm11, %ymm10 4771vpand mask5_3_5_3(%rip), %ymm11, %ymm11 4772vpermq $206, %ymm10, %ymm10 4773vpand mask_keephigh(%rip), %ymm10, %ymm4 4774vpor %ymm4, %ymm11, %ymm11 4775vpaddw 2592(%rsp), %ymm8, %ymm8 4776vpaddw %ymm11, %ymm8, %ymm8 4777vmovdqa %xmm10, 2592(%rsp) 4778vmovdqa %ymm5, 96(%rdi) 4779vmovdqa %ymm6, 352(%rdi) 4780vmovdqa %ymm8, 608(%rdi) 4781vmovdqa %ymm3, 864(%rdi) 4782vmovdqa 64(%rsp), %ymm11 4783vpunpcklwd const0(%rip), %ymm11, %ymm9 4784vpunpckhwd const0(%rip), %ymm11, %ymm2 4785vpslld $1, %ymm9, %ymm9 4786vpslld $1, %ymm2, %ymm2 4787vmovdqa 320(%rsp), %ymm3 4788vpunpcklwd const0(%rip), %ymm3, %ymm8 4789vpunpckhwd const0(%rip), %ymm3, %ymm3 4790vmovdqa 576(%rsp), %ymm6 4791vpunpcklwd const0(%rip), %ymm6, %ymm5 4792vpunpckhwd const0(%rip), %ymm6, %ymm6 4793vpaddd %ymm5, %ymm8, %ymm10 4794vpaddd %ymm6, %ymm3, %ymm4 4795vpsubd %ymm9, %ymm10, %ymm10 4796vpsubd %ymm2, %ymm4, %ymm4 4797vpsubd %ymm5, %ymm8, %ymm5 4798vpsubd %ymm6, %ymm3, %ymm6 4799vpsrld $1, %ymm5, %ymm5 4800vpsrld $1, %ymm6, %ymm6 4801vpand mask32_to_16(%rip), %ymm5, %ymm5 4802vpand mask32_to_16(%rip), %ymm6, %ymm6 4803vpackusdw %ymm6, %ymm5, %ymm6 4804vmovdqa 1600(%rsp), %ymm5 4805vpunpcklwd const0(%rip), %ymm5, %ymm3 4806vpunpckhwd const0(%rip), %ymm5, %ymm8 4807vpslld $1, %ymm3, %ymm3 4808vpslld $1, %ymm8, %ymm8 4809vpsubd %ymm3, %ymm10, %ymm10 4810vpsubd %ymm8, %ymm4, %ymm4 4811vpsrld $1, %ymm10, %ymm10 4812vpsrld $1, %ymm4, %ymm4 4813vpand mask32_to_16(%rip), %ymm10, %ymm10 4814vpand mask32_to_16(%rip), %ymm4, %ymm4 4815vpackusdw %ymm4, %ymm10, %ymm4 4816vmovdqa 832(%rsp), %ymm10 4817vpaddw 1088(%rsp), %ymm10, %ymm8 4818vpsubw 1088(%rsp), %ymm10, %ymm10 4819vpsrlw $2, %ymm10, %ymm10 4820vpsubw %ymm6, %ymm10, %ymm10 4821vpmullw %ymm14, %ymm10, %ymm10 4822vpsllw $1, %ymm11, %ymm3 4823vpsubw %ymm3, %ymm8, %ymm3 4824vpsllw $7, %ymm5, %ymm8 4825vpsubw %ymm8, %ymm3, %ymm8 4826vpsrlw $3, %ymm8, %ymm8 4827vpsubw %ymm4, %ymm8, %ymm8 4828vmovdqa 1344(%rsp), %ymm3 4829vpsubw %ymm11, %ymm3, %ymm3 4830vpmullw %ymm15, %ymm5, %ymm2 4831vpsubw %ymm2, %ymm3, %ymm2 4832vpmullw %ymm14, %ymm8, %ymm8 4833vpsubw %ymm8, %ymm4, %ymm4 4834vpmullw %ymm12, %ymm8, %ymm3 4835vpaddw %ymm3, %ymm4, %ymm3 4836vpmullw %ymm12, %ymm3, %ymm3 4837vpsubw %ymm3, %ymm2, %ymm3 4838vpmullw %ymm14, %ymm3, %ymm3 4839vpsubw %ymm6, %ymm3, %ymm3 4840vpsrlw $3, %ymm3, %ymm3 4841vpsubw %ymm10, %ymm3, %ymm3 4842vpsubw %ymm3, %ymm10, %ymm10 4843vpsubw %ymm10, %ymm6, %ymm6 4844vpmullw %ymm13, %ymm3, %ymm3 4845vpsubw %ymm3, %ymm6, %ymm6 4846vpshufb shuf48_16(%rip), %ymm8, %ymm8 4847vpand mask3_5_3_5(%rip), %ymm8, %ymm2 4848vpand mask5_3_5_3(%rip), %ymm8, %ymm8 4849vpermq $206, %ymm2, %ymm2 4850vpand mask_keephigh(%rip), %ymm2, %ymm9 4851vpor %ymm9, %ymm8, %ymm8 4852vpaddw 2112(%rsp), %ymm11, %ymm11 4853vpaddw %ymm8, %ymm11, %ymm11 4854vmovdqa %xmm2, 2112(%rsp) 4855vpshufb shuf48_16(%rip), %ymm3, %ymm3 4856vpand mask3_5_3_5(%rip), %ymm3, %ymm2 4857vpand mask5_3_5_3(%rip), %ymm3, %ymm3 4858vpermq $206, %ymm2, %ymm2 4859vpand mask_keephigh(%rip), %ymm2, %ymm9 4860vpor %ymm9, %ymm3, %ymm3 4861vpaddw 2368(%rsp), %ymm6, %ymm6 4862vpaddw %ymm3, %ymm6, %ymm6 4863vmovdqa %xmm2, 2368(%rsp) 4864vpshufb shuf48_16(%rip), %ymm5, %ymm5 4865vpand mask3_5_3_5(%rip), %ymm5, %ymm2 4866vpand mask5_3_5_3(%rip), %ymm5, %ymm5 4867vpermq $206, %ymm2, %ymm2 4868vpand mask_keephigh(%rip), %ymm2, %ymm9 4869vpor %ymm9, %ymm5, %ymm5 4870vpaddw 2624(%rsp), %ymm4, %ymm4 4871vpaddw %ymm5, %ymm4, %ymm4 4872vmovdqa %xmm2, 2624(%rsp) 4873vmovdqa %ymm11, 160(%rdi) 4874vmovdqa %ymm6, 416(%rdi) 4875vmovdqa %ymm4, 672(%rdi) 4876vmovdqa %ymm10, 928(%rdi) 4877vmovdqa 96(%rsp), %ymm5 4878vpunpcklwd const0(%rip), %ymm5, %ymm3 4879vpunpckhwd const0(%rip), %ymm5, %ymm8 4880vpslld $1, %ymm3, %ymm3 4881vpslld $1, %ymm8, %ymm8 4882vmovdqa 352(%rsp), %ymm10 4883vpunpcklwd const0(%rip), %ymm10, %ymm4 4884vpunpckhwd const0(%rip), %ymm10, %ymm10 4885vmovdqa 608(%rsp), %ymm6 4886vpunpcklwd const0(%rip), %ymm6, %ymm11 4887vpunpckhwd const0(%rip), %ymm6, %ymm6 4888vpaddd %ymm11, %ymm4, %ymm2 4889vpaddd %ymm6, %ymm10, %ymm9 4890vpsubd %ymm3, %ymm2, %ymm2 4891vpsubd %ymm8, %ymm9, %ymm9 4892vpsubd %ymm11, %ymm4, %ymm11 4893vpsubd %ymm6, %ymm10, %ymm6 4894vpsrld $1, %ymm11, %ymm11 4895vpsrld $1, %ymm6, %ymm6 4896vpand mask32_to_16(%rip), %ymm11, %ymm11 4897vpand mask32_to_16(%rip), %ymm6, %ymm6 4898vpackusdw %ymm6, %ymm11, %ymm6 4899vmovdqa 1632(%rsp), %ymm11 4900vpunpcklwd const0(%rip), %ymm11, %ymm10 4901vpunpckhwd const0(%rip), %ymm11, %ymm4 4902vpslld $1, %ymm10, %ymm10 4903vpslld $1, %ymm4, %ymm4 4904vpsubd %ymm10, %ymm2, %ymm2 4905vpsubd %ymm4, %ymm9, %ymm9 4906vpsrld $1, %ymm2, %ymm2 4907vpsrld $1, %ymm9, %ymm9 4908vpand mask32_to_16(%rip), %ymm2, %ymm2 4909vpand mask32_to_16(%rip), %ymm9, %ymm9 4910vpackusdw %ymm9, %ymm2, %ymm9 4911vmovdqa 864(%rsp), %ymm2 4912vpaddw 1120(%rsp), %ymm2, %ymm4 4913vpsubw 1120(%rsp), %ymm2, %ymm2 4914vpsrlw $2, %ymm2, %ymm2 4915vpsubw %ymm6, %ymm2, %ymm2 4916vpmullw %ymm14, %ymm2, %ymm2 4917vpsllw $1, %ymm5, %ymm10 4918vpsubw %ymm10, %ymm4, %ymm10 4919vpsllw $7, %ymm11, %ymm4 4920vpsubw %ymm4, %ymm10, %ymm4 4921vpsrlw $3, %ymm4, %ymm4 4922vpsubw %ymm9, %ymm4, %ymm4 4923vmovdqa 1376(%rsp), %ymm10 4924vpsubw %ymm5, %ymm10, %ymm10 4925vpmullw %ymm15, %ymm11, %ymm8 4926vpsubw %ymm8, %ymm10, %ymm8 4927vpmullw %ymm14, %ymm4, %ymm4 4928vpsubw %ymm4, %ymm9, %ymm9 4929vpmullw %ymm12, %ymm4, %ymm10 4930vpaddw %ymm10, %ymm9, %ymm10 4931vpmullw %ymm12, %ymm10, %ymm10 4932vpsubw %ymm10, %ymm8, %ymm10 4933vpmullw %ymm14, %ymm10, %ymm10 4934vpsubw %ymm6, %ymm10, %ymm10 4935vpsrlw $3, %ymm10, %ymm10 4936vpsubw %ymm2, %ymm10, %ymm10 4937vpsubw %ymm10, %ymm2, %ymm2 4938vpsubw %ymm2, %ymm6, %ymm6 4939vpmullw %ymm13, %ymm10, %ymm10 4940vpsubw %ymm10, %ymm6, %ymm6 4941vpshufb shuf48_16(%rip), %ymm4, %ymm4 4942vpand mask3_5_3_5(%rip), %ymm4, %ymm8 4943vpand mask5_3_5_3(%rip), %ymm4, %ymm4 4944vpermq $206, %ymm8, %ymm8 4945vpand mask_keephigh(%rip), %ymm8, %ymm3 4946vpor %ymm3, %ymm4, %ymm4 4947vpaddw 2144(%rsp), %ymm5, %ymm5 4948vpaddw %ymm4, %ymm5, %ymm5 4949vmovdqa %xmm8, 2144(%rsp) 4950vpshufb shuf48_16(%rip), %ymm10, %ymm10 4951vpand mask3_5_3_5(%rip), %ymm10, %ymm8 4952vpand mask5_3_5_3(%rip), %ymm10, %ymm10 4953vpermq $206, %ymm8, %ymm8 4954vpand mask_keephigh(%rip), %ymm8, %ymm3 4955vpor %ymm3, %ymm10, %ymm10 4956vpaddw 2400(%rsp), %ymm6, %ymm6 4957vpaddw %ymm10, %ymm6, %ymm6 4958vmovdqa %xmm8, 2400(%rsp) 4959vpshufb shuf48_16(%rip), %ymm11, %ymm11 4960vpand mask3_5_3_5(%rip), %ymm11, %ymm8 4961vpand mask5_3_5_3(%rip), %ymm11, %ymm11 4962vpermq $206, %ymm8, %ymm8 4963vpand mask_keephigh(%rip), %ymm8, %ymm3 4964vpor %ymm3, %ymm11, %ymm11 4965vpaddw 2656(%rsp), %ymm9, %ymm9 4966vpaddw %ymm11, %ymm9, %ymm9 4967vmovdqa %xmm8, 2656(%rsp) 4968vmovdqa %ymm5, 224(%rdi) 4969vextracti128 $1, %ymm5, %xmm5 4970vpshufb shufmin5_mask3(%rip), %ymm5, %ymm5 4971vmovdqa %xmm5, 1792(%rsp) 4972vmovdqa %ymm6, 480(%rdi) 4973vextracti128 $1, %ymm6, %xmm6 4974vpshufb shufmin5_mask3(%rip), %ymm6, %ymm6 4975vmovdqa %xmm6, 1824(%rsp) 4976vmovdqa %ymm9, 736(%rdi) 4977vextracti128 $1, %ymm9, %xmm9 4978vpshufb shufmin5_mask3(%rip), %ymm9, %ymm9 4979vmovdqa %xmm9, 1856(%rsp) 4980vmovdqa %ymm2, 992(%rdi) 4981vextracti128 $1, %ymm2, %xmm2 4982vpshufb shufmin5_mask3(%rip), %ymm2, %ymm2 4983vmovdqa %xmm2, 1888(%rsp) 4984vmovdqa 128(%rsp), %ymm11 4985vpunpcklwd const0(%rip), %ymm11, %ymm10 4986vpunpckhwd const0(%rip), %ymm11, %ymm4 4987vpslld $1, %ymm10, %ymm10 4988vpslld $1, %ymm4, %ymm4 4989vmovdqa 384(%rsp), %ymm2 4990vpunpcklwd const0(%rip), %ymm2, %ymm9 4991vpunpckhwd const0(%rip), %ymm2, %ymm2 4992vmovdqa 640(%rsp), %ymm6 4993vpunpcklwd const0(%rip), %ymm6, %ymm5 4994vpunpckhwd const0(%rip), %ymm6, %ymm6 4995vpaddd %ymm5, %ymm9, %ymm8 4996vpaddd %ymm6, %ymm2, %ymm3 4997vpsubd %ymm10, %ymm8, %ymm8 4998vpsubd %ymm4, %ymm3, %ymm3 4999vpsubd %ymm5, %ymm9, %ymm5 5000vpsubd %ymm6, %ymm2, %ymm6 5001vpsrld $1, %ymm5, %ymm5 5002vpsrld $1, %ymm6, %ymm6 5003vpand mask32_to_16(%rip), %ymm5, %ymm5 5004vpand mask32_to_16(%rip), %ymm6, %ymm6 5005vpackusdw %ymm6, %ymm5, %ymm6 5006vmovdqa 1664(%rsp), %ymm5 5007vpunpcklwd const0(%rip), %ymm5, %ymm2 5008vpunpckhwd const0(%rip), %ymm5, %ymm9 5009vpslld $1, %ymm2, %ymm2 5010vpslld $1, %ymm9, %ymm9 5011vpsubd %ymm2, %ymm8, %ymm8 5012vpsubd %ymm9, %ymm3, %ymm3 5013vpsrld $1, %ymm8, %ymm8 5014vpsrld $1, %ymm3, %ymm3 5015vpand mask32_to_16(%rip), %ymm8, %ymm8 5016vpand mask32_to_16(%rip), %ymm3, %ymm3 5017vpackusdw %ymm3, %ymm8, %ymm3 5018vmovdqa 896(%rsp), %ymm8 5019vpaddw 1152(%rsp), %ymm8, %ymm9 5020vpsubw 1152(%rsp), %ymm8, %ymm8 5021vpsrlw $2, %ymm8, %ymm8 5022vpsubw %ymm6, %ymm8, %ymm8 5023vpmullw %ymm14, %ymm8, %ymm8 5024vpsllw $1, %ymm11, %ymm2 5025vpsubw %ymm2, %ymm9, %ymm2 5026vpsllw $7, %ymm5, %ymm9 5027vpsubw %ymm9, %ymm2, %ymm9 5028vpsrlw $3, %ymm9, %ymm9 5029vpsubw %ymm3, %ymm9, %ymm9 5030vmovdqa 1408(%rsp), %ymm2 5031vpsubw %ymm11, %ymm2, %ymm2 5032vpmullw %ymm15, %ymm5, %ymm4 5033vpsubw %ymm4, %ymm2, %ymm4 5034vpmullw %ymm14, %ymm9, %ymm9 5035vpsubw %ymm9, %ymm3, %ymm3 5036vpmullw %ymm12, %ymm9, %ymm2 5037vpaddw %ymm2, %ymm3, %ymm2 5038vpmullw %ymm12, %ymm2, %ymm2 5039vpsubw %ymm2, %ymm4, %ymm2 5040vpmullw %ymm14, %ymm2, %ymm2 5041vpsubw %ymm6, %ymm2, %ymm2 5042vpsrlw $3, %ymm2, %ymm2 5043vpsubw %ymm8, %ymm2, %ymm2 5044vpsubw %ymm2, %ymm8, %ymm8 5045vpsubw %ymm8, %ymm6, %ymm6 5046vpmullw %ymm13, %ymm2, %ymm2 5047vpsubw %ymm2, %ymm6, %ymm6 5048vmovdqa 288(%rdi), %ymm4 5049vmovdqa 544(%rdi), %ymm10 5050vmovdqa 800(%rdi), %ymm7 5051vpaddw %ymm11, %ymm4, %ymm11 5052vpaddw %ymm6, %ymm10, %ymm6 5053vpaddw %ymm3, %ymm7, %ymm3 5054vpshufb shuf48_16(%rip), %ymm8, %ymm8 5055vpand mask3_5_3_5(%rip), %ymm8, %ymm7 5056vpand mask5_3_5_3(%rip), %ymm8, %ymm8 5057vpermq $206, %ymm7, %ymm7 5058vpand mask_keephigh(%rip), %ymm7, %ymm10 5059vpor %ymm10, %ymm8, %ymm8 5060vmovdqa 32(%rdi), %ymm10 5061vpaddw 1920(%rsp), %ymm10, %ymm10 5062vpaddw %ymm8, %ymm10, %ymm10 5063vmovdqa %ymm10, 32(%rdi) 5064vmovdqa %xmm7, 1920(%rsp) 5065vpshufb shuf48_16(%rip), %ymm9, %ymm9 5066vpand mask3_5_3_5(%rip), %ymm9, %ymm7 5067vpand mask5_3_5_3(%rip), %ymm9, %ymm9 5068vpermq $206, %ymm7, %ymm7 5069vpand mask_keephigh(%rip), %ymm7, %ymm10 5070vpor %ymm10, %ymm9, %ymm9 5071vpaddw 2176(%rsp), %ymm11, %ymm11 5072vpaddw %ymm9, %ymm11, %ymm11 5073vmovdqa %xmm7, 2176(%rsp) 5074vpshufb shuf48_16(%rip), %ymm2, %ymm2 5075vpand mask3_5_3_5(%rip), %ymm2, %ymm7 5076vpand mask5_3_5_3(%rip), %ymm2, %ymm2 5077vpermq $206, %ymm7, %ymm7 5078vpand mask_keephigh(%rip), %ymm7, %ymm10 5079vpor %ymm10, %ymm2, %ymm2 5080vpaddw 2432(%rsp), %ymm6, %ymm6 5081vpaddw %ymm2, %ymm6, %ymm6 5082vmovdqa %xmm7, 2432(%rsp) 5083vpshufb shuf48_16(%rip), %ymm5, %ymm5 5084vpand mask3_5_3_5(%rip), %ymm5, %ymm7 5085vpand mask5_3_5_3(%rip), %ymm5, %ymm5 5086vpermq $206, %ymm7, %ymm7 5087vpand mask_keephigh(%rip), %ymm7, %ymm10 5088vpor %ymm10, %ymm5, %ymm5 5089vpaddw 2688(%rsp), %ymm3, %ymm3 5090vpaddw %ymm5, %ymm3, %ymm3 5091vmovdqa %xmm7, 2688(%rsp) 5092vmovdqa %ymm11, 288(%rdi) 5093vmovdqa %ymm6, 544(%rdi) 5094vmovdqa %ymm3, 800(%rdi) 5095vmovdqa 160(%rsp), %ymm5 5096vpunpcklwd const0(%rip), %ymm5, %ymm2 5097vpunpckhwd const0(%rip), %ymm5, %ymm9 5098vpslld $1, %ymm2, %ymm2 5099vpslld $1, %ymm9, %ymm9 5100vmovdqa 416(%rsp), %ymm8 5101vpunpcklwd const0(%rip), %ymm8, %ymm3 5102vpunpckhwd const0(%rip), %ymm8, %ymm8 5103vmovdqa 672(%rsp), %ymm6 5104vpunpcklwd const0(%rip), %ymm6, %ymm11 5105vpunpckhwd const0(%rip), %ymm6, %ymm6 5106vpaddd %ymm11, %ymm3, %ymm7 5107vpaddd %ymm6, %ymm8, %ymm10 5108vpsubd %ymm2, %ymm7, %ymm7 5109vpsubd %ymm9, %ymm10, %ymm10 5110vpsubd %ymm11, %ymm3, %ymm11 5111vpsubd %ymm6, %ymm8, %ymm6 5112vpsrld $1, %ymm11, %ymm11 5113vpsrld $1, %ymm6, %ymm6 5114vpand mask32_to_16(%rip), %ymm11, %ymm11 5115vpand mask32_to_16(%rip), %ymm6, %ymm6 5116vpackusdw %ymm6, %ymm11, %ymm6 5117vmovdqa 1696(%rsp), %ymm11 5118vpunpcklwd const0(%rip), %ymm11, %ymm8 5119vpunpckhwd const0(%rip), %ymm11, %ymm3 5120vpslld $1, %ymm8, %ymm8 5121vpslld $1, %ymm3, %ymm3 5122vpsubd %ymm8, %ymm7, %ymm7 5123vpsubd %ymm3, %ymm10, %ymm10 5124vpsrld $1, %ymm7, %ymm7 5125vpsrld $1, %ymm10, %ymm10 5126vpand mask32_to_16(%rip), %ymm7, %ymm7 5127vpand mask32_to_16(%rip), %ymm10, %ymm10 5128vpackusdw %ymm10, %ymm7, %ymm10 5129vmovdqa 928(%rsp), %ymm7 5130vpaddw 1184(%rsp), %ymm7, %ymm3 5131vpsubw 1184(%rsp), %ymm7, %ymm7 5132vpsrlw $2, %ymm7, %ymm7 5133vpsubw %ymm6, %ymm7, %ymm7 5134vpmullw %ymm14, %ymm7, %ymm7 5135vpsllw $1, %ymm5, %ymm8 5136vpsubw %ymm8, %ymm3, %ymm8 5137vpsllw $7, %ymm11, %ymm3 5138vpsubw %ymm3, %ymm8, %ymm3 5139vpsrlw $3, %ymm3, %ymm3 5140vpsubw %ymm10, %ymm3, %ymm3 5141vmovdqa 1440(%rsp), %ymm8 5142vpsubw %ymm5, %ymm8, %ymm8 5143vpmullw %ymm15, %ymm11, %ymm9 5144vpsubw %ymm9, %ymm8, %ymm9 5145vpmullw %ymm14, %ymm3, %ymm3 5146vpsubw %ymm3, %ymm10, %ymm10 5147vpmullw %ymm12, %ymm3, %ymm8 5148vpaddw %ymm8, %ymm10, %ymm8 5149vpmullw %ymm12, %ymm8, %ymm8 5150vpsubw %ymm8, %ymm9, %ymm8 5151vpmullw %ymm14, %ymm8, %ymm8 5152vpsubw %ymm6, %ymm8, %ymm8 5153vpsrlw $3, %ymm8, %ymm8 5154vpsubw %ymm7, %ymm8, %ymm8 5155vpsubw %ymm8, %ymm7, %ymm7 5156vpsubw %ymm7, %ymm6, %ymm6 5157vpmullw %ymm13, %ymm8, %ymm8 5158vpsubw %ymm8, %ymm6, %ymm6 5159vmovdqa 352(%rdi), %ymm9 5160vmovdqa 608(%rdi), %ymm2 5161vmovdqa 864(%rdi), %ymm4 5162vpaddw %ymm5, %ymm9, %ymm5 5163vpaddw %ymm6, %ymm2, %ymm6 5164vpaddw %ymm10, %ymm4, %ymm10 5165vpshufb shuf48_16(%rip), %ymm7, %ymm7 5166vpand mask3_5_3_5(%rip), %ymm7, %ymm4 5167vpand mask5_3_5_3(%rip), %ymm7, %ymm7 5168vpermq $206, %ymm4, %ymm4 5169vpand mask_keephigh(%rip), %ymm4, %ymm2 5170vpor %ymm2, %ymm7, %ymm7 5171vmovdqa 96(%rdi), %ymm2 5172vpaddw 1952(%rsp), %ymm2, %ymm2 5173vpaddw %ymm7, %ymm2, %ymm2 5174vmovdqa %ymm2, 96(%rdi) 5175vmovdqa %xmm4, 1952(%rsp) 5176vpshufb shuf48_16(%rip), %ymm3, %ymm3 5177vpand mask3_5_3_5(%rip), %ymm3, %ymm4 5178vpand mask5_3_5_3(%rip), %ymm3, %ymm3 5179vpermq $206, %ymm4, %ymm4 5180vpand mask_keephigh(%rip), %ymm4, %ymm2 5181vpor %ymm2, %ymm3, %ymm3 5182vpaddw 2208(%rsp), %ymm5, %ymm5 5183vpaddw %ymm3, %ymm5, %ymm5 5184vmovdqa %xmm4, 2208(%rsp) 5185vpshufb shuf48_16(%rip), %ymm8, %ymm8 5186vpand mask3_5_3_5(%rip), %ymm8, %ymm4 5187vpand mask5_3_5_3(%rip), %ymm8, %ymm8 5188vpermq $206, %ymm4, %ymm4 5189vpand mask_keephigh(%rip), %ymm4, %ymm2 5190vpor %ymm2, %ymm8, %ymm8 5191vpaddw 2464(%rsp), %ymm6, %ymm6 5192vpaddw %ymm8, %ymm6, %ymm6 5193vmovdqa %xmm4, 2464(%rsp) 5194vpshufb shuf48_16(%rip), %ymm11, %ymm11 5195vpand mask3_5_3_5(%rip), %ymm11, %ymm4 5196vpand mask5_3_5_3(%rip), %ymm11, %ymm11 5197vpermq $206, %ymm4, %ymm4 5198vpand mask_keephigh(%rip), %ymm4, %ymm2 5199vpor %ymm2, %ymm11, %ymm11 5200vpaddw 2720(%rsp), %ymm10, %ymm10 5201vpaddw %ymm11, %ymm10, %ymm10 5202vmovdqa %xmm4, 2720(%rsp) 5203vmovdqa %ymm5, 352(%rdi) 5204vmovdqa %ymm6, 608(%rdi) 5205vmovdqa %ymm10, 864(%rdi) 5206vmovdqa 192(%rsp), %ymm11 5207vpunpcklwd const0(%rip), %ymm11, %ymm8 5208vpunpckhwd const0(%rip), %ymm11, %ymm3 5209vpslld $1, %ymm8, %ymm8 5210vpslld $1, %ymm3, %ymm3 5211vmovdqa 448(%rsp), %ymm7 5212vpunpcklwd const0(%rip), %ymm7, %ymm10 5213vpunpckhwd const0(%rip), %ymm7, %ymm7 5214vmovdqa 704(%rsp), %ymm6 5215vpunpcklwd const0(%rip), %ymm6, %ymm5 5216vpunpckhwd const0(%rip), %ymm6, %ymm6 5217vpaddd %ymm5, %ymm10, %ymm4 5218vpaddd %ymm6, %ymm7, %ymm2 5219vpsubd %ymm8, %ymm4, %ymm4 5220vpsubd %ymm3, %ymm2, %ymm2 5221vpsubd %ymm5, %ymm10, %ymm5 5222vpsubd %ymm6, %ymm7, %ymm6 5223vpsrld $1, %ymm5, %ymm5 5224vpsrld $1, %ymm6, %ymm6 5225vpand mask32_to_16(%rip), %ymm5, %ymm5 5226vpand mask32_to_16(%rip), %ymm6, %ymm6 5227vpackusdw %ymm6, %ymm5, %ymm6 5228vmovdqa 1728(%rsp), %ymm5 5229vpunpcklwd const0(%rip), %ymm5, %ymm7 5230vpunpckhwd const0(%rip), %ymm5, %ymm10 5231vpslld $1, %ymm7, %ymm7 5232vpslld $1, %ymm10, %ymm10 5233vpsubd %ymm7, %ymm4, %ymm4 5234vpsubd %ymm10, %ymm2, %ymm2 5235vpsrld $1, %ymm4, %ymm4 5236vpsrld $1, %ymm2, %ymm2 5237vpand mask32_to_16(%rip), %ymm4, %ymm4 5238vpand mask32_to_16(%rip), %ymm2, %ymm2 5239vpackusdw %ymm2, %ymm4, %ymm2 5240vmovdqa 960(%rsp), %ymm4 5241vpaddw 1216(%rsp), %ymm4, %ymm10 5242vpsubw 1216(%rsp), %ymm4, %ymm4 5243vpsrlw $2, %ymm4, %ymm4 5244vpsubw %ymm6, %ymm4, %ymm4 5245vpmullw %ymm14, %ymm4, %ymm4 5246vpsllw $1, %ymm11, %ymm7 5247vpsubw %ymm7, %ymm10, %ymm7 5248vpsllw $7, %ymm5, %ymm10 5249vpsubw %ymm10, %ymm7, %ymm10 5250vpsrlw $3, %ymm10, %ymm10 5251vpsubw %ymm2, %ymm10, %ymm10 5252vmovdqa 1472(%rsp), %ymm7 5253vpsubw %ymm11, %ymm7, %ymm7 5254vpmullw %ymm15, %ymm5, %ymm3 5255vpsubw %ymm3, %ymm7, %ymm3 5256vpmullw %ymm14, %ymm10, %ymm10 5257vpsubw %ymm10, %ymm2, %ymm2 5258vpmullw %ymm12, %ymm10, %ymm7 5259vpaddw %ymm7, %ymm2, %ymm7 5260vpmullw %ymm12, %ymm7, %ymm7 5261vpsubw %ymm7, %ymm3, %ymm7 5262vpmullw %ymm14, %ymm7, %ymm7 5263vpsubw %ymm6, %ymm7, %ymm7 5264vpsrlw $3, %ymm7, %ymm7 5265vpsubw %ymm4, %ymm7, %ymm7 5266vpsubw %ymm7, %ymm4, %ymm4 5267vpsubw %ymm4, %ymm6, %ymm6 5268vpmullw %ymm13, %ymm7, %ymm7 5269vpsubw %ymm7, %ymm6, %ymm6 5270vmovdqa 416(%rdi), %ymm3 5271vmovdqa 672(%rdi), %ymm8 5272vmovdqa 928(%rdi), %ymm9 5273vpaddw %ymm11, %ymm3, %ymm11 5274vpaddw %ymm6, %ymm8, %ymm6 5275vpaddw %ymm2, %ymm9, %ymm2 5276vpshufb shuf48_16(%rip), %ymm4, %ymm4 5277vpand mask3_5_3_5(%rip), %ymm4, %ymm9 5278vpand mask5_3_5_3(%rip), %ymm4, %ymm4 5279vpermq $206, %ymm9, %ymm9 5280vpand mask_keephigh(%rip), %ymm9, %ymm8 5281vpor %ymm8, %ymm4, %ymm4 5282vmovdqa 160(%rdi), %ymm8 5283vpaddw 1984(%rsp), %ymm8, %ymm8 5284vpaddw %ymm4, %ymm8, %ymm8 5285vmovdqa %ymm8, 160(%rdi) 5286vmovdqa %xmm9, 1984(%rsp) 5287vpshufb shuf48_16(%rip), %ymm10, %ymm10 5288vpand mask3_5_3_5(%rip), %ymm10, %ymm9 5289vpand mask5_3_5_3(%rip), %ymm10, %ymm10 5290vpermq $206, %ymm9, %ymm9 5291vpand mask_keephigh(%rip), %ymm9, %ymm8 5292vpor %ymm8, %ymm10, %ymm10 5293vpaddw 2240(%rsp), %ymm11, %ymm11 5294vpaddw %ymm10, %ymm11, %ymm11 5295vmovdqa %xmm9, 2240(%rsp) 5296vpshufb shuf48_16(%rip), %ymm7, %ymm7 5297vpand mask3_5_3_5(%rip), %ymm7, %ymm9 5298vpand mask5_3_5_3(%rip), %ymm7, %ymm7 5299vpermq $206, %ymm9, %ymm9 5300vpand mask_keephigh(%rip), %ymm9, %ymm8 5301vpor %ymm8, %ymm7, %ymm7 5302vpaddw 2496(%rsp), %ymm6, %ymm6 5303vpaddw %ymm7, %ymm6, %ymm6 5304vmovdqa %xmm9, 2496(%rsp) 5305vpshufb shuf48_16(%rip), %ymm5, %ymm5 5306vpand mask3_5_3_5(%rip), %ymm5, %ymm9 5307vpand mask5_3_5_3(%rip), %ymm5, %ymm5 5308vpermq $206, %ymm9, %ymm9 5309vpand mask_keephigh(%rip), %ymm9, %ymm8 5310vpor %ymm8, %ymm5, %ymm5 5311vpaddw 2752(%rsp), %ymm2, %ymm2 5312vpaddw %ymm5, %ymm2, %ymm2 5313vmovdqa %xmm9, 2752(%rsp) 5314vmovdqa %ymm11, 416(%rdi) 5315vmovdqa %ymm6, 672(%rdi) 5316vmovdqa %ymm2, 928(%rdi) 5317vmovdqa 224(%rsp), %ymm5 5318vpunpcklwd const0(%rip), %ymm5, %ymm7 5319vpunpckhwd const0(%rip), %ymm5, %ymm10 5320vpslld $1, %ymm7, %ymm7 5321vpslld $1, %ymm10, %ymm10 5322vmovdqa 480(%rsp), %ymm4 5323vpunpcklwd const0(%rip), %ymm4, %ymm2 5324vpunpckhwd const0(%rip), %ymm4, %ymm4 5325vmovdqa 736(%rsp), %ymm6 5326vpunpcklwd const0(%rip), %ymm6, %ymm11 5327vpunpckhwd const0(%rip), %ymm6, %ymm6 5328vpaddd %ymm11, %ymm2, %ymm9 5329vpaddd %ymm6, %ymm4, %ymm8 5330vpsubd %ymm7, %ymm9, %ymm9 5331vpsubd %ymm10, %ymm8, %ymm8 5332vpsubd %ymm11, %ymm2, %ymm11 5333vpsubd %ymm6, %ymm4, %ymm6 5334vpsrld $1, %ymm11, %ymm11 5335vpsrld $1, %ymm6, %ymm6 5336vpand mask32_to_16(%rip), %ymm11, %ymm11 5337vpand mask32_to_16(%rip), %ymm6, %ymm6 5338vpackusdw %ymm6, %ymm11, %ymm6 5339vmovdqa 1760(%rsp), %ymm11 5340vpunpcklwd const0(%rip), %ymm11, %ymm4 5341vpunpckhwd const0(%rip), %ymm11, %ymm2 5342vpslld $1, %ymm4, %ymm4 5343vpslld $1, %ymm2, %ymm2 5344vpsubd %ymm4, %ymm9, %ymm9 5345vpsubd %ymm2, %ymm8, %ymm8 5346vpsrld $1, %ymm9, %ymm9 5347vpsrld $1, %ymm8, %ymm8 5348vpand mask32_to_16(%rip), %ymm9, %ymm9 5349vpand mask32_to_16(%rip), %ymm8, %ymm8 5350vpackusdw %ymm8, %ymm9, %ymm8 5351vmovdqa 992(%rsp), %ymm9 5352vpaddw 1248(%rsp), %ymm9, %ymm2 5353vpsubw 1248(%rsp), %ymm9, %ymm9 5354vpsrlw $2, %ymm9, %ymm9 5355vpsubw %ymm6, %ymm9, %ymm9 5356vpmullw %ymm14, %ymm9, %ymm9 5357vpsllw $1, %ymm5, %ymm4 5358vpsubw %ymm4, %ymm2, %ymm4 5359vpsllw $7, %ymm11, %ymm2 5360vpsubw %ymm2, %ymm4, %ymm2 5361vpsrlw $3, %ymm2, %ymm2 5362vpsubw %ymm8, %ymm2, %ymm2 5363vmovdqa 1504(%rsp), %ymm4 5364vpsubw %ymm5, %ymm4, %ymm4 5365vpmullw %ymm15, %ymm11, %ymm10 5366vpsubw %ymm10, %ymm4, %ymm10 5367vpmullw %ymm14, %ymm2, %ymm2 5368vpsubw %ymm2, %ymm8, %ymm8 5369vpmullw %ymm12, %ymm2, %ymm4 5370vpaddw %ymm4, %ymm8, %ymm4 5371vpmullw %ymm12, %ymm4, %ymm4 5372vpsubw %ymm4, %ymm10, %ymm4 5373vpmullw %ymm14, %ymm4, %ymm4 5374vpsubw %ymm6, %ymm4, %ymm4 5375vpsrlw $3, %ymm4, %ymm4 5376vpsubw %ymm9, %ymm4, %ymm4 5377vpsubw %ymm4, %ymm9, %ymm9 5378vpsubw %ymm9, %ymm6, %ymm6 5379vpmullw %ymm13, %ymm4, %ymm4 5380vpsubw %ymm4, %ymm6, %ymm6 5381vextracti128 $1, %ymm8, %xmm10 5382vpshufb shufmin5_mask3(%rip), %ymm10, %ymm10 5383vmovdqa %ymm10, 2816(%rsp) 5384vextracti128 $1, %ymm9, %xmm10 5385vpshufb shufmin5_mask3(%rip), %ymm10, %ymm10 5386vmovdqa %ymm10, 2848(%rsp) 5387vextracti128 $1, %ymm2, %xmm10 5388vpshufb shufmin5_mask3(%rip), %ymm10, %ymm10 5389vmovdqa %ymm10, 2880(%rsp) 5390vmovdqa 480(%rdi), %ymm10 5391vmovdqa 736(%rdi), %ymm7 5392vmovdqa 992(%rdi), %ymm3 5393vpaddw %ymm5, %ymm10, %ymm5 5394vpaddw %ymm6, %ymm7, %ymm6 5395vpaddw %ymm8, %ymm3, %ymm8 5396vpshufb shuf48_16(%rip), %ymm9, %ymm9 5397vpand mask3_5_3_5(%rip), %ymm9, %ymm3 5398vpand mask5_3_5_3(%rip), %ymm9, %ymm9 5399vpermq $206, %ymm3, %ymm3 5400vpand mask_keephigh(%rip), %ymm3, %ymm7 5401vpor %ymm7, %ymm9, %ymm9 5402vmovdqa 224(%rdi), %ymm7 5403vpaddw 2016(%rsp), %ymm7, %ymm7 5404vpaddw %ymm9, %ymm7, %ymm7 5405vmovdqa %ymm7, 224(%rdi) 5406vextracti128 $1, %ymm7, %xmm7 5407vpshufb shufmin5_mask3(%rip), %ymm7, %ymm7 5408vmovdqa %xmm7, 1792(%rsp) 5409vmovdqa %xmm3, 2016(%rsp) 5410vpshufb shuf48_16(%rip), %ymm2, %ymm2 5411vpand mask3_5_3_5(%rip), %ymm2, %ymm3 5412vpand mask5_3_5_3(%rip), %ymm2, %ymm2 5413vpermq $206, %ymm3, %ymm3 5414vpand mask_keephigh(%rip), %ymm3, %ymm7 5415vpor %ymm7, %ymm2, %ymm2 5416vpaddw 2272(%rsp), %ymm5, %ymm5 5417vpaddw %ymm2, %ymm5, %ymm5 5418vmovdqa %xmm3, 2272(%rsp) 5419vpshufb shuf48_16(%rip), %ymm4, %ymm4 5420vpand mask3_5_3_5(%rip), %ymm4, %ymm3 5421vpand mask5_3_5_3(%rip), %ymm4, %ymm4 5422vpermq $206, %ymm3, %ymm3 5423vpand mask_keephigh(%rip), %ymm3, %ymm7 5424vpor %ymm7, %ymm4, %ymm4 5425vpaddw 2528(%rsp), %ymm6, %ymm6 5426vpaddw %ymm4, %ymm6, %ymm6 5427vmovdqa %xmm3, 2528(%rsp) 5428vpshufb shuf48_16(%rip), %ymm11, %ymm11 5429vpand mask3_5_3_5(%rip), %ymm11, %ymm3 5430vpand mask5_3_5_3(%rip), %ymm11, %ymm11 5431vpermq $206, %ymm3, %ymm3 5432vpand mask_keephigh(%rip), %ymm3, %ymm7 5433vpor %ymm7, %ymm11, %ymm11 5434vpaddw 2784(%rsp), %ymm8, %ymm8 5435vpaddw %ymm11, %ymm8, %ymm8 5436vmovdqa %xmm3, 2784(%rsp) 5437vmovdqa %ymm5, 480(%rdi) 5438vmovdqa %ymm6, 736(%rdi) 5439vmovdqa %ymm8, 992(%rdi) 5440vmovdqa 0(%rdi), %ymm11 5441vpaddw 1888(%rsp), %ymm11, %ymm11 5442vpaddw 2816(%rsp), %ymm11, %ymm11 5443vmovdqa %ymm11, 0(%rdi) 5444vmovdqa 256(%rdi), %ymm11 5445vpaddw 2528(%rsp), %ymm11, %ymm11 5446vpaddw 2848(%rsp), %ymm11, %ymm11 5447vmovdqa %ymm11, 256(%rdi) 5448vmovdqa 512(%rdi), %ymm11 5449vpaddw 2784(%rsp), %ymm11, %ymm11 5450vpaddw 2880(%rsp), %ymm11, %ymm11 5451vmovdqa %ymm11, 512(%rdi) 5452vmovdqa 64(%rdi), %ymm11 5453vpaddw 2048(%rsp), %ymm11, %ymm11 5454vpaddw 1920(%rsp), %ymm11, %ymm11 5455vmovdqa %ymm11, 64(%rdi) 5456vmovdqa 320(%rdi), %ymm11 5457vpaddw 2304(%rsp), %ymm11, %ymm11 5458vmovdqa %ymm11, 320(%rdi) 5459vmovdqa 576(%rdi), %ymm11 5460vpaddw 2560(%rsp), %ymm11, %ymm11 5461vmovdqa %ymm11, 576(%rdi) 5462vmovdqa 128(%rdi), %ymm11 5463vpaddw 2080(%rsp), %ymm11, %ymm11 5464vpaddw 1952(%rsp), %ymm11, %ymm11 5465vmovdqa %ymm11, 128(%rdi) 5466vmovdqa 384(%rdi), %ymm11 5467vpaddw 2336(%rsp), %ymm11, %ymm11 5468vmovdqa %ymm11, 384(%rdi) 5469vmovdqa 640(%rdi), %ymm11 5470vpaddw 2592(%rsp), %ymm11, %ymm11 5471vmovdqa %ymm11, 640(%rdi) 5472vmovdqa 192(%rdi), %ymm11 5473vpaddw 2112(%rsp), %ymm11, %ymm11 5474vpaddw 1984(%rsp), %ymm11, %ymm11 5475vmovdqa %ymm11, 192(%rdi) 5476vmovdqa 448(%rdi), %ymm11 5477vpaddw 2368(%rsp), %ymm11, %ymm11 5478vmovdqa %ymm11, 448(%rdi) 5479vmovdqa 704(%rdi), %ymm11 5480vpaddw 2624(%rsp), %ymm11, %ymm11 5481vmovdqa %ymm11, 704(%rdi) 5482vmovdqa 256(%rdi), %ymm11 5483vpaddw 2144(%rsp), %ymm11, %ymm11 5484vmovdqa %ymm11, 256(%rdi) 5485vmovdqa 512(%rdi), %ymm11 5486vpaddw 2400(%rsp), %ymm11, %ymm11 5487vmovdqa %ymm11, 512(%rdi) 5488vmovdqa 768(%rdi), %ymm11 5489vpaddw 2656(%rsp), %ymm11, %ymm11 5490vmovdqa %ymm11, 768(%rdi) 5491vmovdqa 320(%rdi), %ymm11 5492vpaddw 2176(%rsp), %ymm11, %ymm11 5493vmovdqa %ymm11, 320(%rdi) 5494vmovdqa 576(%rdi), %ymm11 5495vpaddw 2432(%rsp), %ymm11, %ymm11 5496vmovdqa %ymm11, 576(%rdi) 5497vmovdqa 832(%rdi), %ymm11 5498vpaddw 2688(%rsp), %ymm11, %ymm11 5499vmovdqa %ymm11, 832(%rdi) 5500vmovdqa 384(%rdi), %ymm11 5501vpaddw 2208(%rsp), %ymm11, %ymm11 5502vmovdqa %ymm11, 384(%rdi) 5503vmovdqa 640(%rdi), %ymm11 5504vpaddw 2464(%rsp), %ymm11, %ymm11 5505vmovdqa %ymm11, 640(%rdi) 5506vmovdqa 896(%rdi), %ymm11 5507vpaddw 2720(%rsp), %ymm11, %ymm11 5508vmovdqa %ymm11, 896(%rdi) 5509vmovdqa 448(%rdi), %ymm11 5510vpaddw 2240(%rsp), %ymm11, %ymm11 5511vmovdqa %ymm11, 448(%rdi) 5512vmovdqa 704(%rdi), %ymm11 5513vpaddw 2496(%rsp), %ymm11, %ymm11 5514vmovdqa %ymm11, 704(%rdi) 5515vmovdqa 960(%rdi), %ymm11 5516vpaddw 2752(%rsp), %ymm11, %ymm11 5517vmovdqa %ymm11, 960(%rdi) 5518mov %r8, %rsp 5519pop %r12 5520ret 5521