1// Copyright (c) 2017, the HRSS authors. 2// 3// Permission to use, copy, modify, and/or distribute this software for any 4// purpose with or without fee is hereby granted, provided that the above 5// copyright notice and this permission notice appear in all copies. 6// 7// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 8// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 9// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 10// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 11// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 12// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 13// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 14 15#include <openssl/asm_base.h> 16 17#if !defined(OPENSSL_NO_ASM) && !defined(OPENSSL_SMALL) && defined(OPENSSL_LINUX) && defined(OPENSSL_X86_64) 18 19// This is the polynomial multiplication function from [HRSS], provided by kind 20// permission of the authors. 21// 22// HRSS: https://eprint.iacr.org/2017/1005 23 24# This file was generated by poly_rq_mul.py 25.text 26.align 32 27const3: 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 37.word 3 38.word 3 39.word 3 40.word 3 41.word 3 42.word 3 43.word 3 44const9: 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 54.word 9 55.word 9 56.word 9 57.word 9 58.word 9 59.word 9 60.word 9 61const0: 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 71.word 0 72.word 0 73.word 0 74.word 0 75.word 0 76.word 0 77.word 0 78const729: 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 88.word 729 89.word 729 90.word 729 91.word 729 92.word 729 93.word 729 94.word 729 95const3_inv: 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 105.word 43691 106.word 43691 107.word 43691 108.word 43691 109.word 43691 110.word 43691 111.word 43691 112const5_inv: 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 122.word 52429 123.word 52429 124.word 52429 125.word 52429 126.word 52429 127.word 52429 128.word 52429 129shuf48_16: 130.byte 10 131.byte 11 132.byte 12 133.byte 13 134.byte 14 135.byte 15 136.byte 0 137.byte 1 138.byte 2 139.byte 3 140.byte 4 141.byte 5 142.byte 6 143.byte 7 144.byte 8 145.byte 9 146.byte 10 147.byte 11 148.byte 12 149.byte 13 150.byte 14 151.byte 15 152.byte 0 153.byte 1 154.byte 2 155.byte 3 156.byte 4 157.byte 5 158.byte 6 159.byte 7 160.byte 8 161.byte 9 162shufmin1_mask3: 163.byte 2 164.byte 3 165.byte 4 166.byte 5 167.byte 6 168.byte 7 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 188.byte 255 189.byte 255 190.byte 255 191.byte 255 192.byte 255 193.byte 255 194.byte 255 195mask32_to_16: 196.word 0xffff 197.word 0x0 198.word 0xffff 199.word 0x0 200.word 0xffff 201.word 0x0 202.word 0xffff 203.word 0x0 204.word 0xffff 205.word 0x0 206.word 0xffff 207.word 0x0 208.word 0xffff 209.word 0x0 210.word 0xffff 211.word 0x0 212mask5_3_5_3: 213.word 0 214.word 0 215.word 0 216.word 65535 217.word 65535 218.word 65535 219.word 65535 220.word 65535 221.word 0 222.word 0 223.word 0 224.word 65535 225.word 65535 226.word 65535 227.word 65535 228.word 65535 229mask3_5_3_5: 230.word 65535 231.word 65535 232.word 65535 233.word 0 234.word 0 235.word 0 236.word 0 237.word 0 238.word 65535 239.word 65535 240.word 65535 241.word 0 242.word 0 243.word 0 244.word 0 245.word 0 246mask3_5_4_3_1: 247.word 65535 248.word 65535 249.word 65535 250.word 0 251.word 0 252.word 0 253.word 0 254.word 0 255.word 0 256.word 0 257.word 0 258.word 0 259.word 65535 260.word 65535 261.word 65535 262.word 0 263mask_keephigh: 264.word 0 265.word 0 266.word 0 267.word 0 268.word 0 269.word 0 270.word 0 271.word 0 272.word 65535 273.word 65535 274.word 65535 275.word 65535 276.word 65535 277.word 65535 278.word 65535 279.word 65535 280mask_mod8192: 281.word 8191 282.word 8191 283.word 8191 284.word 8191 285.word 8191 286.word 8191 287.word 8191 288.word 8191 289.word 8191 290.word 8191 291.word 8191 292.word 8191 293.word 8191 294.word 8191 295.word 8191 296.word 8191 297.text 298.global poly_Rq_mul 299.hidden poly_Rq_mul 300.type poly_Rq_mul, @function 301.att_syntax prefix 302poly_Rq_mul: 303.cfi_startproc 304_CET_ENDBR 305push %rbp 306.cfi_adjust_cfa_offset 8 307.cfi_offset rbp, -16 308movq %rsp, %rbp 309.cfi_def_cfa_register rbp 310push %r12 311.cfi_offset r12, -24 312# This function originally used a significant amount of stack space. As an 313# alternative, the needed scratch space is now passed in as the 4th argument. 314# The amount of scratch space used must thus be kept in sync with 315# POLY_MUL_RQ_SCRATCH_SPACE in internal.h. 316# 317# Setting RSP to point into the given scratch space upsets the ABI tests 318# therefore all references to RSP are switched to R8. 319mov %rcx, %r8 320addq $6144+12288+512+9408+32, %r8 321mov %r8, %rax 322subq $6144, %r8 323mov %r8, %r11 324subq $12288, %r8 325mov %r8, %r12 326subq $512, %r8 327vmovdqa const3(%rip), %ymm3 328vmovdqu 0(%rsi), %ymm0 329vmovdqu 88(%rsi), %ymm1 330vmovdqu 176(%rsi), %ymm2 331vmovdqu 264(%rsi), %ymm12 332vmovdqu 1056(%rsi), %ymm4 333vmovdqu 1144(%rsi), %ymm5 334vmovdqu 1232(%rsi), %ymm6 335vmovdqu 1320(%rsi), %ymm7 336vmovdqu 352(%rsi), %ymm8 337vmovdqu 440(%rsi), %ymm9 338vmovdqu 528(%rsi), %ymm10 339vmovdqu 616(%rsi), %ymm11 340vmovdqa %ymm0, 0(%rax) 341vmovdqa %ymm1, 96(%rax) 342vpaddw %ymm0, %ymm1, %ymm14 343vmovdqa %ymm14, 192(%rax) 344vmovdqa %ymm2, 288(%rax) 345vmovdqa %ymm12, 384(%rax) 346vpaddw %ymm2, %ymm12, %ymm14 347vmovdqa %ymm14, 480(%rax) 348vpaddw %ymm0, %ymm2, %ymm14 349vmovdqa %ymm14, 576(%rax) 350vpaddw %ymm1, %ymm12, %ymm15 351vmovdqa %ymm15, 672(%rax) 352vpaddw %ymm14, %ymm15, %ymm14 353vmovdqa %ymm14, 768(%rax) 354vmovdqa %ymm4, 5184(%rax) 355vmovdqa %ymm5, 5280(%rax) 356vpaddw %ymm4, %ymm5, %ymm14 357vmovdqa %ymm14, 5376(%rax) 358vmovdqa %ymm6, 5472(%rax) 359vmovdqa %ymm7, 5568(%rax) 360vpaddw %ymm6, %ymm7, %ymm14 361vmovdqa %ymm14, 5664(%rax) 362vpaddw %ymm4, %ymm6, %ymm14 363vmovdqa %ymm14, 5760(%rax) 364vpaddw %ymm5, %ymm7, %ymm15 365vmovdqa %ymm15, 5856(%rax) 366vpaddw %ymm14, %ymm15, %ymm14 367vmovdqa %ymm14, 5952(%rax) 368vmovdqa %ymm0, 0(%r8) 369vmovdqa %ymm1, 32(%r8) 370vmovdqa %ymm2, 64(%r8) 371vmovdqa %ymm12, 96(%r8) 372vmovdqa %ymm8, 128(%r8) 373vmovdqa %ymm9, 160(%r8) 374vmovdqa %ymm10, 192(%r8) 375vmovdqa %ymm11, 224(%r8) 376vmovdqu 704(%rsi), %ymm0 377vpaddw 0(%r8), %ymm0, %ymm1 378vpaddw 128(%r8), %ymm4, %ymm2 379vpaddw %ymm2, %ymm1, %ymm8 380vpsubw %ymm2, %ymm1, %ymm12 381vmovdqa %ymm0, 256(%r8) 382vmovdqu 792(%rsi), %ymm0 383vpaddw 32(%r8), %ymm0, %ymm1 384vpaddw 160(%r8), %ymm5, %ymm2 385vpaddw %ymm2, %ymm1, %ymm9 386vpsubw %ymm2, %ymm1, %ymm13 387vmovdqa %ymm0, 288(%r8) 388vmovdqu 880(%rsi), %ymm0 389vpaddw 64(%r8), %ymm0, %ymm1 390vpaddw 192(%r8), %ymm6, %ymm2 391vpaddw %ymm2, %ymm1, %ymm10 392vpsubw %ymm2, %ymm1, %ymm14 393vmovdqa %ymm0, 320(%r8) 394vmovdqu 968(%rsi), %ymm0 395vpaddw 96(%r8), %ymm0, %ymm1 396vpaddw 224(%r8), %ymm7, %ymm2 397vpaddw %ymm2, %ymm1, %ymm11 398vpsubw %ymm2, %ymm1, %ymm15 399vmovdqa %ymm0, 352(%r8) 400vmovdqa %ymm8, 864(%rax) 401vmovdqa %ymm9, 960(%rax) 402vpaddw %ymm8, %ymm9, %ymm0 403vmovdqa %ymm0, 1056(%rax) 404vmovdqa %ymm10, 1152(%rax) 405vmovdqa %ymm11, 1248(%rax) 406vpaddw %ymm10, %ymm11, %ymm0 407vmovdqa %ymm0, 1344(%rax) 408vpaddw %ymm8, %ymm10, %ymm0 409vmovdqa %ymm0, 1440(%rax) 410vpaddw %ymm9, %ymm11, %ymm1 411vmovdqa %ymm1, 1536(%rax) 412vpaddw %ymm0, %ymm1, %ymm0 413vmovdqa %ymm0, 1632(%rax) 414vmovdqa %ymm12, 1728(%rax) 415vmovdqa %ymm13, 1824(%rax) 416vpaddw %ymm12, %ymm13, %ymm0 417vmovdqa %ymm0, 1920(%rax) 418vmovdqa %ymm14, 2016(%rax) 419vmovdqa %ymm15, 2112(%rax) 420vpaddw %ymm14, %ymm15, %ymm0 421vmovdqa %ymm0, 2208(%rax) 422vpaddw %ymm12, %ymm14, %ymm0 423vmovdqa %ymm0, 2304(%rax) 424vpaddw %ymm13, %ymm15, %ymm1 425vmovdqa %ymm1, 2400(%rax) 426vpaddw %ymm0, %ymm1, %ymm0 427vmovdqa %ymm0, 2496(%rax) 428vmovdqa 256(%r8), %ymm0 429vpsllw $2, %ymm0, %ymm0 430vpaddw 0(%r8), %ymm0, %ymm0 431vpsllw $2, %ymm4, %ymm1 432vpaddw 128(%r8), %ymm1, %ymm1 433vpsllw $1, %ymm1, %ymm1 434vpaddw %ymm1, %ymm0, %ymm8 435vpsubw %ymm1, %ymm0, %ymm12 436vmovdqa 288(%r8), %ymm0 437vpsllw $2, %ymm0, %ymm0 438vpaddw 32(%r8), %ymm0, %ymm0 439vpsllw $2, %ymm5, %ymm1 440vpaddw 160(%r8), %ymm1, %ymm1 441vpsllw $1, %ymm1, %ymm1 442vpaddw %ymm1, %ymm0, %ymm9 443vpsubw %ymm1, %ymm0, %ymm13 444vmovdqa 320(%r8), %ymm0 445vpsllw $2, %ymm0, %ymm0 446vpaddw 64(%r8), %ymm0, %ymm0 447vpsllw $2, %ymm6, %ymm1 448vpaddw 192(%r8), %ymm1, %ymm1 449vpsllw $1, %ymm1, %ymm1 450vpaddw %ymm1, %ymm0, %ymm10 451vpsubw %ymm1, %ymm0, %ymm14 452vmovdqa 352(%r8), %ymm0 453vpsllw $2, %ymm0, %ymm0 454vpaddw 96(%r8), %ymm0, %ymm0 455vpsllw $2, %ymm7, %ymm1 456vpaddw 224(%r8), %ymm1, %ymm1 457vpsllw $1, %ymm1, %ymm1 458vpaddw %ymm1, %ymm0, %ymm11 459vpsubw %ymm1, %ymm0, %ymm15 460vmovdqa %ymm8, 2592(%rax) 461vmovdqa %ymm9, 2688(%rax) 462vpaddw %ymm8, %ymm9, %ymm0 463vmovdqa %ymm0, 2784(%rax) 464vmovdqa %ymm10, 2880(%rax) 465vmovdqa %ymm11, 2976(%rax) 466vpaddw %ymm10, %ymm11, %ymm0 467vmovdqa %ymm0, 3072(%rax) 468vpaddw %ymm8, %ymm10, %ymm0 469vmovdqa %ymm0, 3168(%rax) 470vpaddw %ymm9, %ymm11, %ymm1 471vmovdqa %ymm1, 3264(%rax) 472vpaddw %ymm0, %ymm1, %ymm0 473vmovdqa %ymm0, 3360(%rax) 474vmovdqa %ymm12, 3456(%rax) 475vmovdqa %ymm13, 3552(%rax) 476vpaddw %ymm12, %ymm13, %ymm0 477vmovdqa %ymm0, 3648(%rax) 478vmovdqa %ymm14, 3744(%rax) 479vmovdqa %ymm15, 3840(%rax) 480vpaddw %ymm14, %ymm15, %ymm0 481vmovdqa %ymm0, 3936(%rax) 482vpaddw %ymm12, %ymm14, %ymm0 483vmovdqa %ymm0, 4032(%rax) 484vpaddw %ymm13, %ymm15, %ymm1 485vmovdqa %ymm1, 4128(%rax) 486vpaddw %ymm0, %ymm1, %ymm0 487vmovdqa %ymm0, 4224(%rax) 488vpmullw %ymm3, %ymm4, %ymm0 489vpaddw 256(%r8), %ymm0, %ymm0 490vpmullw %ymm3, %ymm0, %ymm0 491vpaddw 128(%r8), %ymm0, %ymm0 492vpmullw %ymm3, %ymm0, %ymm0 493vpaddw 0(%r8), %ymm0, %ymm12 494vpmullw %ymm3, %ymm5, %ymm0 495vpaddw 288(%r8), %ymm0, %ymm0 496vpmullw %ymm3, %ymm0, %ymm0 497vpaddw 160(%r8), %ymm0, %ymm0 498vpmullw %ymm3, %ymm0, %ymm0 499vpaddw 32(%r8), %ymm0, %ymm13 500vpmullw %ymm3, %ymm6, %ymm0 501vpaddw 320(%r8), %ymm0, %ymm0 502vpmullw %ymm3, %ymm0, %ymm0 503vpaddw 192(%r8), %ymm0, %ymm0 504vpmullw %ymm3, %ymm0, %ymm0 505vpaddw 64(%r8), %ymm0, %ymm14 506vpmullw %ymm3, %ymm7, %ymm0 507vpaddw 352(%r8), %ymm0, %ymm0 508vpmullw %ymm3, %ymm0, %ymm0 509vpaddw 224(%r8), %ymm0, %ymm0 510vpmullw %ymm3, %ymm0, %ymm0 511vpaddw 96(%r8), %ymm0, %ymm15 512vmovdqa %ymm12, 4320(%rax) 513vmovdqa %ymm13, 4416(%rax) 514vpaddw %ymm12, %ymm13, %ymm0 515vmovdqa %ymm0, 4512(%rax) 516vmovdqa %ymm14, 4608(%rax) 517vmovdqa %ymm15, 4704(%rax) 518vpaddw %ymm14, %ymm15, %ymm0 519vmovdqa %ymm0, 4800(%rax) 520vpaddw %ymm12, %ymm14, %ymm0 521vmovdqa %ymm0, 4896(%rax) 522vpaddw %ymm13, %ymm15, %ymm1 523vmovdqa %ymm1, 4992(%rax) 524vpaddw %ymm0, %ymm1, %ymm0 525vmovdqa %ymm0, 5088(%rax) 526vmovdqu 32(%rsi), %ymm0 527vmovdqu 120(%rsi), %ymm1 528vmovdqu 208(%rsi), %ymm2 529vmovdqu 296(%rsi), %ymm12 530vmovdqu 1088(%rsi), %ymm4 531vmovdqu 1176(%rsi), %ymm5 532vmovdqu 1264(%rsi), %ymm6 533vmovdqu 1352(%rsi), %ymm7 534vmovdqu 384(%rsi), %ymm8 535vmovdqu 472(%rsi), %ymm9 536vmovdqu 560(%rsi), %ymm10 537vmovdqu 648(%rsi), %ymm11 538vmovdqa %ymm0, 32(%rax) 539vmovdqa %ymm1, 128(%rax) 540vpaddw %ymm0, %ymm1, %ymm14 541vmovdqa %ymm14, 224(%rax) 542vmovdqa %ymm2, 320(%rax) 543vmovdqa %ymm12, 416(%rax) 544vpaddw %ymm2, %ymm12, %ymm14 545vmovdqa %ymm14, 512(%rax) 546vpaddw %ymm0, %ymm2, %ymm14 547vmovdqa %ymm14, 608(%rax) 548vpaddw %ymm1, %ymm12, %ymm15 549vmovdqa %ymm15, 704(%rax) 550vpaddw %ymm14, %ymm15, %ymm14 551vmovdqa %ymm14, 800(%rax) 552vmovdqa %ymm4, 5216(%rax) 553vmovdqa %ymm5, 5312(%rax) 554vpaddw %ymm4, %ymm5, %ymm14 555vmovdqa %ymm14, 5408(%rax) 556vmovdqa %ymm6, 5504(%rax) 557vmovdqa %ymm7, 5600(%rax) 558vpaddw %ymm6, %ymm7, %ymm14 559vmovdqa %ymm14, 5696(%rax) 560vpaddw %ymm4, %ymm6, %ymm14 561vmovdqa %ymm14, 5792(%rax) 562vpaddw %ymm5, %ymm7, %ymm15 563vmovdqa %ymm15, 5888(%rax) 564vpaddw %ymm14, %ymm15, %ymm14 565vmovdqa %ymm14, 5984(%rax) 566vmovdqa %ymm0, 0(%r8) 567vmovdqa %ymm1, 32(%r8) 568vmovdqa %ymm2, 64(%r8) 569vmovdqa %ymm12, 96(%r8) 570vmovdqa %ymm8, 128(%r8) 571vmovdqa %ymm9, 160(%r8) 572vmovdqa %ymm10, 192(%r8) 573vmovdqa %ymm11, 224(%r8) 574vmovdqu 736(%rsi), %ymm0 575vpaddw 0(%r8), %ymm0, %ymm1 576vpaddw 128(%r8), %ymm4, %ymm2 577vpaddw %ymm2, %ymm1, %ymm8 578vpsubw %ymm2, %ymm1, %ymm12 579vmovdqa %ymm0, 256(%r8) 580vmovdqu 824(%rsi), %ymm0 581vpaddw 32(%r8), %ymm0, %ymm1 582vpaddw 160(%r8), %ymm5, %ymm2 583vpaddw %ymm2, %ymm1, %ymm9 584vpsubw %ymm2, %ymm1, %ymm13 585vmovdqa %ymm0, 288(%r8) 586vmovdqu 912(%rsi), %ymm0 587vpaddw 64(%r8), %ymm0, %ymm1 588vpaddw 192(%r8), %ymm6, %ymm2 589vpaddw %ymm2, %ymm1, %ymm10 590vpsubw %ymm2, %ymm1, %ymm14 591vmovdqa %ymm0, 320(%r8) 592vmovdqu 1000(%rsi), %ymm0 593vpaddw 96(%r8), %ymm0, %ymm1 594vpaddw 224(%r8), %ymm7, %ymm2 595vpaddw %ymm2, %ymm1, %ymm11 596vpsubw %ymm2, %ymm1, %ymm15 597vmovdqa %ymm0, 352(%r8) 598vmovdqa %ymm8, 896(%rax) 599vmovdqa %ymm9, 992(%rax) 600vpaddw %ymm8, %ymm9, %ymm0 601vmovdqa %ymm0, 1088(%rax) 602vmovdqa %ymm10, 1184(%rax) 603vmovdqa %ymm11, 1280(%rax) 604vpaddw %ymm10, %ymm11, %ymm0 605vmovdqa %ymm0, 1376(%rax) 606vpaddw %ymm8, %ymm10, %ymm0 607vmovdqa %ymm0, 1472(%rax) 608vpaddw %ymm9, %ymm11, %ymm1 609vmovdqa %ymm1, 1568(%rax) 610vpaddw %ymm0, %ymm1, %ymm0 611vmovdqa %ymm0, 1664(%rax) 612vmovdqa %ymm12, 1760(%rax) 613vmovdqa %ymm13, 1856(%rax) 614vpaddw %ymm12, %ymm13, %ymm0 615vmovdqa %ymm0, 1952(%rax) 616vmovdqa %ymm14, 2048(%rax) 617vmovdqa %ymm15, 2144(%rax) 618vpaddw %ymm14, %ymm15, %ymm0 619vmovdqa %ymm0, 2240(%rax) 620vpaddw %ymm12, %ymm14, %ymm0 621vmovdqa %ymm0, 2336(%rax) 622vpaddw %ymm13, %ymm15, %ymm1 623vmovdqa %ymm1, 2432(%rax) 624vpaddw %ymm0, %ymm1, %ymm0 625vmovdqa %ymm0, 2528(%rax) 626vmovdqa 256(%r8), %ymm0 627vpsllw $2, %ymm0, %ymm0 628vpaddw 0(%r8), %ymm0, %ymm0 629vpsllw $2, %ymm4, %ymm1 630vpaddw 128(%r8), %ymm1, %ymm1 631vpsllw $1, %ymm1, %ymm1 632vpaddw %ymm1, %ymm0, %ymm8 633vpsubw %ymm1, %ymm0, %ymm12 634vmovdqa 288(%r8), %ymm0 635vpsllw $2, %ymm0, %ymm0 636vpaddw 32(%r8), %ymm0, %ymm0 637vpsllw $2, %ymm5, %ymm1 638vpaddw 160(%r8), %ymm1, %ymm1 639vpsllw $1, %ymm1, %ymm1 640vpaddw %ymm1, %ymm0, %ymm9 641vpsubw %ymm1, %ymm0, %ymm13 642vmovdqa 320(%r8), %ymm0 643vpsllw $2, %ymm0, %ymm0 644vpaddw 64(%r8), %ymm0, %ymm0 645vpsllw $2, %ymm6, %ymm1 646vpaddw 192(%r8), %ymm1, %ymm1 647vpsllw $1, %ymm1, %ymm1 648vpaddw %ymm1, %ymm0, %ymm10 649vpsubw %ymm1, %ymm0, %ymm14 650vmovdqa 352(%r8), %ymm0 651vpsllw $2, %ymm0, %ymm0 652vpaddw 96(%r8), %ymm0, %ymm0 653vpsllw $2, %ymm7, %ymm1 654vpaddw 224(%r8), %ymm1, %ymm1 655vpsllw $1, %ymm1, %ymm1 656vpaddw %ymm1, %ymm0, %ymm11 657vpsubw %ymm1, %ymm0, %ymm15 658vmovdqa %ymm8, 2624(%rax) 659vmovdqa %ymm9, 2720(%rax) 660vpaddw %ymm8, %ymm9, %ymm0 661vmovdqa %ymm0, 2816(%rax) 662vmovdqa %ymm10, 2912(%rax) 663vmovdqa %ymm11, 3008(%rax) 664vpaddw %ymm10, %ymm11, %ymm0 665vmovdqa %ymm0, 3104(%rax) 666vpaddw %ymm8, %ymm10, %ymm0 667vmovdqa %ymm0, 3200(%rax) 668vpaddw %ymm9, %ymm11, %ymm1 669vmovdqa %ymm1, 3296(%rax) 670vpaddw %ymm0, %ymm1, %ymm0 671vmovdqa %ymm0, 3392(%rax) 672vmovdqa %ymm12, 3488(%rax) 673vmovdqa %ymm13, 3584(%rax) 674vpaddw %ymm12, %ymm13, %ymm0 675vmovdqa %ymm0, 3680(%rax) 676vmovdqa %ymm14, 3776(%rax) 677vmovdqa %ymm15, 3872(%rax) 678vpaddw %ymm14, %ymm15, %ymm0 679vmovdqa %ymm0, 3968(%rax) 680vpaddw %ymm12, %ymm14, %ymm0 681vmovdqa %ymm0, 4064(%rax) 682vpaddw %ymm13, %ymm15, %ymm1 683vmovdqa %ymm1, 4160(%rax) 684vpaddw %ymm0, %ymm1, %ymm0 685vmovdqa %ymm0, 4256(%rax) 686vpmullw %ymm3, %ymm4, %ymm0 687vpaddw 256(%r8), %ymm0, %ymm0 688vpmullw %ymm3, %ymm0, %ymm0 689vpaddw 128(%r8), %ymm0, %ymm0 690vpmullw %ymm3, %ymm0, %ymm0 691vpaddw 0(%r8), %ymm0, %ymm12 692vpmullw %ymm3, %ymm5, %ymm0 693vpaddw 288(%r8), %ymm0, %ymm0 694vpmullw %ymm3, %ymm0, %ymm0 695vpaddw 160(%r8), %ymm0, %ymm0 696vpmullw %ymm3, %ymm0, %ymm0 697vpaddw 32(%r8), %ymm0, %ymm13 698vpmullw %ymm3, %ymm6, %ymm0 699vpaddw 320(%r8), %ymm0, %ymm0 700vpmullw %ymm3, %ymm0, %ymm0 701vpaddw 192(%r8), %ymm0, %ymm0 702vpmullw %ymm3, %ymm0, %ymm0 703vpaddw 64(%r8), %ymm0, %ymm14 704vpmullw %ymm3, %ymm7, %ymm0 705vpaddw 352(%r8), %ymm0, %ymm0 706vpmullw %ymm3, %ymm0, %ymm0 707vpaddw 224(%r8), %ymm0, %ymm0 708vpmullw %ymm3, %ymm0, %ymm0 709vpaddw 96(%r8), %ymm0, %ymm15 710vmovdqa %ymm12, 4352(%rax) 711vmovdqa %ymm13, 4448(%rax) 712vpaddw %ymm12, %ymm13, %ymm0 713vmovdqa %ymm0, 4544(%rax) 714vmovdqa %ymm14, 4640(%rax) 715vmovdqa %ymm15, 4736(%rax) 716vpaddw %ymm14, %ymm15, %ymm0 717vmovdqa %ymm0, 4832(%rax) 718vpaddw %ymm12, %ymm14, %ymm0 719vmovdqa %ymm0, 4928(%rax) 720vpaddw %ymm13, %ymm15, %ymm1 721vmovdqa %ymm1, 5024(%rax) 722vpaddw %ymm0, %ymm1, %ymm0 723vmovdqa %ymm0, 5120(%rax) 724vmovdqu 64(%rsi), %ymm0 725vmovdqu 152(%rsi), %ymm1 726vmovdqu 240(%rsi), %ymm2 727vmovdqu 328(%rsi), %ymm12 728vmovdqu 1120(%rsi), %ymm4 729vmovdqu 1208(%rsi), %ymm5 730vmovdqu 1296(%rsi), %ymm6 731 732# Only 18 bytes more can be read, but vmovdqu reads 32. 733# Copy 18 bytes to the red zone and zero pad to 32 bytes. 734xor %r9, %r9 735movq %r9, -16(%rsp) 736movq %r9, -8(%rsp) 737movq 1384(%rsi), %r9 738movq %r9, -32(%rsp) 739movq 1384+8(%rsi), %r9 740movq %r9, -24(%rsp) 741movw 1384+16(%rsi), %r9w 742movw %r9w, -16(%rsp) 743vmovdqu -32(%rsp), %ymm7 744 745vmovdqu 416(%rsi), %ymm8 746vmovdqu 504(%rsi), %ymm9 747vmovdqu 592(%rsi), %ymm10 748vmovdqu 680(%rsi), %ymm11 749vmovdqa %ymm0, 64(%rax) 750vmovdqa %ymm1, 160(%rax) 751vpaddw %ymm0, %ymm1, %ymm14 752vmovdqa %ymm14, 256(%rax) 753vmovdqa %ymm2, 352(%rax) 754vmovdqa %ymm12, 448(%rax) 755vpaddw %ymm2, %ymm12, %ymm14 756vmovdqa %ymm14, 544(%rax) 757vpaddw %ymm0, %ymm2, %ymm14 758vmovdqa %ymm14, 640(%rax) 759vpaddw %ymm1, %ymm12, %ymm15 760vmovdqa %ymm15, 736(%rax) 761vpaddw %ymm14, %ymm15, %ymm14 762vmovdqa %ymm14, 832(%rax) 763vmovdqa %ymm4, 5248(%rax) 764vmovdqa %ymm5, 5344(%rax) 765vpaddw %ymm4, %ymm5, %ymm14 766vmovdqa %ymm14, 5440(%rax) 767vmovdqa %ymm6, 5536(%rax) 768vmovdqa %ymm7, 5632(%rax) 769vpaddw %ymm6, %ymm7, %ymm14 770vmovdqa %ymm14, 5728(%rax) 771vpaddw %ymm4, %ymm6, %ymm14 772vmovdqa %ymm14, 5824(%rax) 773vpaddw %ymm5, %ymm7, %ymm15 774vmovdqa %ymm15, 5920(%rax) 775vpaddw %ymm14, %ymm15, %ymm14 776vmovdqa %ymm14, 6016(%rax) 777vmovdqa %ymm0, 0(%r8) 778vmovdqa %ymm1, 32(%r8) 779vmovdqa %ymm2, 64(%r8) 780vmovdqa %ymm12, 96(%r8) 781vmovdqa %ymm8, 128(%r8) 782vmovdqa %ymm9, 160(%r8) 783vmovdqa %ymm10, 192(%r8) 784vmovdqa %ymm11, 224(%r8) 785vmovdqu 768(%rsi), %ymm0 786vpaddw 0(%r8), %ymm0, %ymm1 787vpaddw 128(%r8), %ymm4, %ymm2 788vpaddw %ymm2, %ymm1, %ymm8 789vpsubw %ymm2, %ymm1, %ymm12 790vmovdqa %ymm0, 256(%r8) 791vmovdqu 856(%rsi), %ymm0 792vpaddw 32(%r8), %ymm0, %ymm1 793vpaddw 160(%r8), %ymm5, %ymm2 794vpaddw %ymm2, %ymm1, %ymm9 795vpsubw %ymm2, %ymm1, %ymm13 796vmovdqa %ymm0, 288(%r8) 797vmovdqu 944(%rsi), %ymm0 798vpaddw 64(%r8), %ymm0, %ymm1 799vpaddw 192(%r8), %ymm6, %ymm2 800vpaddw %ymm2, %ymm1, %ymm10 801vpsubw %ymm2, %ymm1, %ymm14 802vmovdqa %ymm0, 320(%r8) 803vmovdqu 1032(%rsi), %ymm0 804vpaddw 96(%r8), %ymm0, %ymm1 805vpaddw 224(%r8), %ymm7, %ymm2 806vpaddw %ymm2, %ymm1, %ymm11 807vpsubw %ymm2, %ymm1, %ymm15 808vmovdqa %ymm0, 352(%r8) 809vmovdqa %ymm8, 928(%rax) 810vmovdqa %ymm9, 1024(%rax) 811vpaddw %ymm8, %ymm9, %ymm0 812vmovdqa %ymm0, 1120(%rax) 813vmovdqa %ymm10, 1216(%rax) 814vmovdqa %ymm11, 1312(%rax) 815vpaddw %ymm10, %ymm11, %ymm0 816vmovdqa %ymm0, 1408(%rax) 817vpaddw %ymm8, %ymm10, %ymm0 818vmovdqa %ymm0, 1504(%rax) 819vpaddw %ymm9, %ymm11, %ymm1 820vmovdqa %ymm1, 1600(%rax) 821vpaddw %ymm0, %ymm1, %ymm0 822vmovdqa %ymm0, 1696(%rax) 823vmovdqa %ymm12, 1792(%rax) 824vmovdqa %ymm13, 1888(%rax) 825vpaddw %ymm12, %ymm13, %ymm0 826vmovdqa %ymm0, 1984(%rax) 827vmovdqa %ymm14, 2080(%rax) 828vmovdqa %ymm15, 2176(%rax) 829vpaddw %ymm14, %ymm15, %ymm0 830vmovdqa %ymm0, 2272(%rax) 831vpaddw %ymm12, %ymm14, %ymm0 832vmovdqa %ymm0, 2368(%rax) 833vpaddw %ymm13, %ymm15, %ymm1 834vmovdqa %ymm1, 2464(%rax) 835vpaddw %ymm0, %ymm1, %ymm0 836vmovdqa %ymm0, 2560(%rax) 837vmovdqa 256(%r8), %ymm0 838vpsllw $2, %ymm0, %ymm0 839vpaddw 0(%r8), %ymm0, %ymm0 840vpsllw $2, %ymm4, %ymm1 841vpaddw 128(%r8), %ymm1, %ymm1 842vpsllw $1, %ymm1, %ymm1 843vpaddw %ymm1, %ymm0, %ymm8 844vpsubw %ymm1, %ymm0, %ymm12 845vmovdqa 288(%r8), %ymm0 846vpsllw $2, %ymm0, %ymm0 847vpaddw 32(%r8), %ymm0, %ymm0 848vpsllw $2, %ymm5, %ymm1 849vpaddw 160(%r8), %ymm1, %ymm1 850vpsllw $1, %ymm1, %ymm1 851vpaddw %ymm1, %ymm0, %ymm9 852vpsubw %ymm1, %ymm0, %ymm13 853vmovdqa 320(%r8), %ymm0 854vpsllw $2, %ymm0, %ymm0 855vpaddw 64(%r8), %ymm0, %ymm0 856vpsllw $2, %ymm6, %ymm1 857vpaddw 192(%r8), %ymm1, %ymm1 858vpsllw $1, %ymm1, %ymm1 859vpaddw %ymm1, %ymm0, %ymm10 860vpsubw %ymm1, %ymm0, %ymm14 861vmovdqa 352(%r8), %ymm0 862vpsllw $2, %ymm0, %ymm0 863vpaddw 96(%r8), %ymm0, %ymm0 864vpsllw $2, %ymm7, %ymm1 865vpaddw 224(%r8), %ymm1, %ymm1 866vpsllw $1, %ymm1, %ymm1 867vpaddw %ymm1, %ymm0, %ymm11 868vpsubw %ymm1, %ymm0, %ymm15 869vmovdqa %ymm8, 2656(%rax) 870vmovdqa %ymm9, 2752(%rax) 871vpaddw %ymm8, %ymm9, %ymm0 872vmovdqa %ymm0, 2848(%rax) 873vmovdqa %ymm10, 2944(%rax) 874vmovdqa %ymm11, 3040(%rax) 875vpaddw %ymm10, %ymm11, %ymm0 876vmovdqa %ymm0, 3136(%rax) 877vpaddw %ymm8, %ymm10, %ymm0 878vmovdqa %ymm0, 3232(%rax) 879vpaddw %ymm9, %ymm11, %ymm1 880vmovdqa %ymm1, 3328(%rax) 881vpaddw %ymm0, %ymm1, %ymm0 882vmovdqa %ymm0, 3424(%rax) 883vmovdqa %ymm12, 3520(%rax) 884vmovdqa %ymm13, 3616(%rax) 885vpaddw %ymm12, %ymm13, %ymm0 886vmovdqa %ymm0, 3712(%rax) 887vmovdqa %ymm14, 3808(%rax) 888vmovdqa %ymm15, 3904(%rax) 889vpaddw %ymm14, %ymm15, %ymm0 890vmovdqa %ymm0, 4000(%rax) 891vpaddw %ymm12, %ymm14, %ymm0 892vmovdqa %ymm0, 4096(%rax) 893vpaddw %ymm13, %ymm15, %ymm1 894vmovdqa %ymm1, 4192(%rax) 895vpaddw %ymm0, %ymm1, %ymm0 896vmovdqa %ymm0, 4288(%rax) 897vpmullw %ymm3, %ymm4, %ymm0 898vpaddw 256(%r8), %ymm0, %ymm0 899vpmullw %ymm3, %ymm0, %ymm0 900vpaddw 128(%r8), %ymm0, %ymm0 901vpmullw %ymm3, %ymm0, %ymm0 902vpaddw 0(%r8), %ymm0, %ymm12 903vpmullw %ymm3, %ymm5, %ymm0 904vpaddw 288(%r8), %ymm0, %ymm0 905vpmullw %ymm3, %ymm0, %ymm0 906vpaddw 160(%r8), %ymm0, %ymm0 907vpmullw %ymm3, %ymm0, %ymm0 908vpaddw 32(%r8), %ymm0, %ymm13 909vpmullw %ymm3, %ymm6, %ymm0 910vpaddw 320(%r8), %ymm0, %ymm0 911vpmullw %ymm3, %ymm0, %ymm0 912vpaddw 192(%r8), %ymm0, %ymm0 913vpmullw %ymm3, %ymm0, %ymm0 914vpaddw 64(%r8), %ymm0, %ymm14 915vpmullw %ymm3, %ymm7, %ymm0 916vpaddw 352(%r8), %ymm0, %ymm0 917vpmullw %ymm3, %ymm0, %ymm0 918vpaddw 224(%r8), %ymm0, %ymm0 919vpmullw %ymm3, %ymm0, %ymm0 920vpaddw 96(%r8), %ymm0, %ymm15 921vmovdqa %ymm12, 4384(%rax) 922vmovdqa %ymm13, 4480(%rax) 923vpaddw %ymm12, %ymm13, %ymm0 924vmovdqa %ymm0, 4576(%rax) 925vmovdqa %ymm14, 4672(%rax) 926vmovdqa %ymm15, 4768(%rax) 927vpaddw %ymm14, %ymm15, %ymm0 928vmovdqa %ymm0, 4864(%rax) 929vpaddw %ymm12, %ymm14, %ymm0 930vmovdqa %ymm0, 4960(%rax) 931vpaddw %ymm13, %ymm15, %ymm1 932vmovdqa %ymm1, 5056(%rax) 933vpaddw %ymm0, %ymm1, %ymm0 934vmovdqa %ymm0, 5152(%rax) 935vmovdqu 0(%rdx), %ymm0 936vmovdqu 88(%rdx), %ymm1 937vmovdqu 176(%rdx), %ymm2 938vmovdqu 264(%rdx), %ymm12 939vmovdqu 1056(%rdx), %ymm4 940vmovdqu 1144(%rdx), %ymm5 941vmovdqu 1232(%rdx), %ymm6 942vmovdqu 1320(%rdx), %ymm7 943vmovdqu 352(%rdx), %ymm8 944vmovdqu 440(%rdx), %ymm9 945vmovdqu 528(%rdx), %ymm10 946vmovdqu 616(%rdx), %ymm11 947vmovdqa %ymm0, 0(%r11) 948vmovdqa %ymm1, 96(%r11) 949vpaddw %ymm0, %ymm1, %ymm14 950vmovdqa %ymm14, 192(%r11) 951vmovdqa %ymm2, 288(%r11) 952vmovdqa %ymm12, 384(%r11) 953vpaddw %ymm2, %ymm12, %ymm14 954vmovdqa %ymm14, 480(%r11) 955vpaddw %ymm0, %ymm2, %ymm14 956vmovdqa %ymm14, 576(%r11) 957vpaddw %ymm1, %ymm12, %ymm15 958vmovdqa %ymm15, 672(%r11) 959vpaddw %ymm14, %ymm15, %ymm14 960vmovdqa %ymm14, 768(%r11) 961vmovdqa %ymm4, 5184(%r11) 962vmovdqa %ymm5, 5280(%r11) 963vpaddw %ymm4, %ymm5, %ymm14 964vmovdqa %ymm14, 5376(%r11) 965vmovdqa %ymm6, 5472(%r11) 966vmovdqa %ymm7, 5568(%r11) 967vpaddw %ymm6, %ymm7, %ymm14 968vmovdqa %ymm14, 5664(%r11) 969vpaddw %ymm4, %ymm6, %ymm14 970vmovdqa %ymm14, 5760(%r11) 971vpaddw %ymm5, %ymm7, %ymm15 972vmovdqa %ymm15, 5856(%r11) 973vpaddw %ymm14, %ymm15, %ymm14 974vmovdqa %ymm14, 5952(%r11) 975vmovdqa %ymm0, 0(%r8) 976vmovdqa %ymm1, 32(%r8) 977vmovdqa %ymm2, 64(%r8) 978vmovdqa %ymm12, 96(%r8) 979vmovdqa %ymm8, 128(%r8) 980vmovdqa %ymm9, 160(%r8) 981vmovdqa %ymm10, 192(%r8) 982vmovdqa %ymm11, 224(%r8) 983vmovdqu 704(%rdx), %ymm0 984vpaddw 0(%r8), %ymm0, %ymm1 985vpaddw 128(%r8), %ymm4, %ymm2 986vpaddw %ymm2, %ymm1, %ymm8 987vpsubw %ymm2, %ymm1, %ymm12 988vmovdqa %ymm0, 256(%r8) 989vmovdqu 792(%rdx), %ymm0 990vpaddw 32(%r8), %ymm0, %ymm1 991vpaddw 160(%r8), %ymm5, %ymm2 992vpaddw %ymm2, %ymm1, %ymm9 993vpsubw %ymm2, %ymm1, %ymm13 994vmovdqa %ymm0, 288(%r8) 995vmovdqu 880(%rdx), %ymm0 996vpaddw 64(%r8), %ymm0, %ymm1 997vpaddw 192(%r8), %ymm6, %ymm2 998vpaddw %ymm2, %ymm1, %ymm10 999vpsubw %ymm2, %ymm1, %ymm14 1000vmovdqa %ymm0, 320(%r8) 1001vmovdqu 968(%rdx), %ymm0 1002vpaddw 96(%r8), %ymm0, %ymm1 1003vpaddw 224(%r8), %ymm7, %ymm2 1004vpaddw %ymm2, %ymm1, %ymm11 1005vpsubw %ymm2, %ymm1, %ymm15 1006vmovdqa %ymm0, 352(%r8) 1007vmovdqa %ymm8, 864(%r11) 1008vmovdqa %ymm9, 960(%r11) 1009vpaddw %ymm8, %ymm9, %ymm0 1010vmovdqa %ymm0, 1056(%r11) 1011vmovdqa %ymm10, 1152(%r11) 1012vmovdqa %ymm11, 1248(%r11) 1013vpaddw %ymm10, %ymm11, %ymm0 1014vmovdqa %ymm0, 1344(%r11) 1015vpaddw %ymm8, %ymm10, %ymm0 1016vmovdqa %ymm0, 1440(%r11) 1017vpaddw %ymm9, %ymm11, %ymm1 1018vmovdqa %ymm1, 1536(%r11) 1019vpaddw %ymm0, %ymm1, %ymm0 1020vmovdqa %ymm0, 1632(%r11) 1021vmovdqa %ymm12, 1728(%r11) 1022vmovdqa %ymm13, 1824(%r11) 1023vpaddw %ymm12, %ymm13, %ymm0 1024vmovdqa %ymm0, 1920(%r11) 1025vmovdqa %ymm14, 2016(%r11) 1026vmovdqa %ymm15, 2112(%r11) 1027vpaddw %ymm14, %ymm15, %ymm0 1028vmovdqa %ymm0, 2208(%r11) 1029vpaddw %ymm12, %ymm14, %ymm0 1030vmovdqa %ymm0, 2304(%r11) 1031vpaddw %ymm13, %ymm15, %ymm1 1032vmovdqa %ymm1, 2400(%r11) 1033vpaddw %ymm0, %ymm1, %ymm0 1034vmovdqa %ymm0, 2496(%r11) 1035vmovdqa 256(%r8), %ymm0 1036vpsllw $2, %ymm0, %ymm0 1037vpaddw 0(%r8), %ymm0, %ymm0 1038vpsllw $2, %ymm4, %ymm1 1039vpaddw 128(%r8), %ymm1, %ymm1 1040vpsllw $1, %ymm1, %ymm1 1041vpaddw %ymm1, %ymm0, %ymm8 1042vpsubw %ymm1, %ymm0, %ymm12 1043vmovdqa 288(%r8), %ymm0 1044vpsllw $2, %ymm0, %ymm0 1045vpaddw 32(%r8), %ymm0, %ymm0 1046vpsllw $2, %ymm5, %ymm1 1047vpaddw 160(%r8), %ymm1, %ymm1 1048vpsllw $1, %ymm1, %ymm1 1049vpaddw %ymm1, %ymm0, %ymm9 1050vpsubw %ymm1, %ymm0, %ymm13 1051vmovdqa 320(%r8), %ymm0 1052vpsllw $2, %ymm0, %ymm0 1053vpaddw 64(%r8), %ymm0, %ymm0 1054vpsllw $2, %ymm6, %ymm1 1055vpaddw 192(%r8), %ymm1, %ymm1 1056vpsllw $1, %ymm1, %ymm1 1057vpaddw %ymm1, %ymm0, %ymm10 1058vpsubw %ymm1, %ymm0, %ymm14 1059vmovdqa 352(%r8), %ymm0 1060vpsllw $2, %ymm0, %ymm0 1061vpaddw 96(%r8), %ymm0, %ymm0 1062vpsllw $2, %ymm7, %ymm1 1063vpaddw 224(%r8), %ymm1, %ymm1 1064vpsllw $1, %ymm1, %ymm1 1065vpaddw %ymm1, %ymm0, %ymm11 1066vpsubw %ymm1, %ymm0, %ymm15 1067vmovdqa %ymm8, 2592(%r11) 1068vmovdqa %ymm9, 2688(%r11) 1069vpaddw %ymm8, %ymm9, %ymm0 1070vmovdqa %ymm0, 2784(%r11) 1071vmovdqa %ymm10, 2880(%r11) 1072vmovdqa %ymm11, 2976(%r11) 1073vpaddw %ymm10, %ymm11, %ymm0 1074vmovdqa %ymm0, 3072(%r11) 1075vpaddw %ymm8, %ymm10, %ymm0 1076vmovdqa %ymm0, 3168(%r11) 1077vpaddw %ymm9, %ymm11, %ymm1 1078vmovdqa %ymm1, 3264(%r11) 1079vpaddw %ymm0, %ymm1, %ymm0 1080vmovdqa %ymm0, 3360(%r11) 1081vmovdqa %ymm12, 3456(%r11) 1082vmovdqa %ymm13, 3552(%r11) 1083vpaddw %ymm12, %ymm13, %ymm0 1084vmovdqa %ymm0, 3648(%r11) 1085vmovdqa %ymm14, 3744(%r11) 1086vmovdqa %ymm15, 3840(%r11) 1087vpaddw %ymm14, %ymm15, %ymm0 1088vmovdqa %ymm0, 3936(%r11) 1089vpaddw %ymm12, %ymm14, %ymm0 1090vmovdqa %ymm0, 4032(%r11) 1091vpaddw %ymm13, %ymm15, %ymm1 1092vmovdqa %ymm1, 4128(%r11) 1093vpaddw %ymm0, %ymm1, %ymm0 1094vmovdqa %ymm0, 4224(%r11) 1095vpmullw %ymm3, %ymm4, %ymm0 1096vpaddw 256(%r8), %ymm0, %ymm0 1097vpmullw %ymm3, %ymm0, %ymm0 1098vpaddw 128(%r8), %ymm0, %ymm0 1099vpmullw %ymm3, %ymm0, %ymm0 1100vpaddw 0(%r8), %ymm0, %ymm12 1101vpmullw %ymm3, %ymm5, %ymm0 1102vpaddw 288(%r8), %ymm0, %ymm0 1103vpmullw %ymm3, %ymm0, %ymm0 1104vpaddw 160(%r8), %ymm0, %ymm0 1105vpmullw %ymm3, %ymm0, %ymm0 1106vpaddw 32(%r8), %ymm0, %ymm13 1107vpmullw %ymm3, %ymm6, %ymm0 1108vpaddw 320(%r8), %ymm0, %ymm0 1109vpmullw %ymm3, %ymm0, %ymm0 1110vpaddw 192(%r8), %ymm0, %ymm0 1111vpmullw %ymm3, %ymm0, %ymm0 1112vpaddw 64(%r8), %ymm0, %ymm14 1113vpmullw %ymm3, %ymm7, %ymm0 1114vpaddw 352(%r8), %ymm0, %ymm0 1115vpmullw %ymm3, %ymm0, %ymm0 1116vpaddw 224(%r8), %ymm0, %ymm0 1117vpmullw %ymm3, %ymm0, %ymm0 1118vpaddw 96(%r8), %ymm0, %ymm15 1119vmovdqa %ymm12, 4320(%r11) 1120vmovdqa %ymm13, 4416(%r11) 1121vpaddw %ymm12, %ymm13, %ymm0 1122vmovdqa %ymm0, 4512(%r11) 1123vmovdqa %ymm14, 4608(%r11) 1124vmovdqa %ymm15, 4704(%r11) 1125vpaddw %ymm14, %ymm15, %ymm0 1126vmovdqa %ymm0, 4800(%r11) 1127vpaddw %ymm12, %ymm14, %ymm0 1128vmovdqa %ymm0, 4896(%r11) 1129vpaddw %ymm13, %ymm15, %ymm1 1130vmovdqa %ymm1, 4992(%r11) 1131vpaddw %ymm0, %ymm1, %ymm0 1132vmovdqa %ymm0, 5088(%r11) 1133vmovdqu 32(%rdx), %ymm0 1134vmovdqu 120(%rdx), %ymm1 1135vmovdqu 208(%rdx), %ymm2 1136vmovdqu 296(%rdx), %ymm12 1137vmovdqu 1088(%rdx), %ymm4 1138vmovdqu 1176(%rdx), %ymm5 1139vmovdqu 1264(%rdx), %ymm6 1140vmovdqu 1352(%rdx), %ymm7 1141vmovdqu 384(%rdx), %ymm8 1142vmovdqu 472(%rdx), %ymm9 1143vmovdqu 560(%rdx), %ymm10 1144vmovdqu 648(%rdx), %ymm11 1145vmovdqa %ymm0, 32(%r11) 1146vmovdqa %ymm1, 128(%r11) 1147vpaddw %ymm0, %ymm1, %ymm14 1148vmovdqa %ymm14, 224(%r11) 1149vmovdqa %ymm2, 320(%r11) 1150vmovdqa %ymm12, 416(%r11) 1151vpaddw %ymm2, %ymm12, %ymm14 1152vmovdqa %ymm14, 512(%r11) 1153vpaddw %ymm0, %ymm2, %ymm14 1154vmovdqa %ymm14, 608(%r11) 1155vpaddw %ymm1, %ymm12, %ymm15 1156vmovdqa %ymm15, 704(%r11) 1157vpaddw %ymm14, %ymm15, %ymm14 1158vmovdqa %ymm14, 800(%r11) 1159vmovdqa %ymm4, 5216(%r11) 1160vmovdqa %ymm5, 5312(%r11) 1161vpaddw %ymm4, %ymm5, %ymm14 1162vmovdqa %ymm14, 5408(%r11) 1163vmovdqa %ymm6, 5504(%r11) 1164vmovdqa %ymm7, 5600(%r11) 1165vpaddw %ymm6, %ymm7, %ymm14 1166vmovdqa %ymm14, 5696(%r11) 1167vpaddw %ymm4, %ymm6, %ymm14 1168vmovdqa %ymm14, 5792(%r11) 1169vpaddw %ymm5, %ymm7, %ymm15 1170vmovdqa %ymm15, 5888(%r11) 1171vpaddw %ymm14, %ymm15, %ymm14 1172vmovdqa %ymm14, 5984(%r11) 1173vmovdqa %ymm0, 0(%r8) 1174vmovdqa %ymm1, 32(%r8) 1175vmovdqa %ymm2, 64(%r8) 1176vmovdqa %ymm12, 96(%r8) 1177vmovdqa %ymm8, 128(%r8) 1178vmovdqa %ymm9, 160(%r8) 1179vmovdqa %ymm10, 192(%r8) 1180vmovdqa %ymm11, 224(%r8) 1181vmovdqu 736(%rdx), %ymm0 1182vpaddw 0(%r8), %ymm0, %ymm1 1183vpaddw 128(%r8), %ymm4, %ymm2 1184vpaddw %ymm2, %ymm1, %ymm8 1185vpsubw %ymm2, %ymm1, %ymm12 1186vmovdqa %ymm0, 256(%r8) 1187vmovdqu 824(%rdx), %ymm0 1188vpaddw 32(%r8), %ymm0, %ymm1 1189vpaddw 160(%r8), %ymm5, %ymm2 1190vpaddw %ymm2, %ymm1, %ymm9 1191vpsubw %ymm2, %ymm1, %ymm13 1192vmovdqa %ymm0, 288(%r8) 1193vmovdqu 912(%rdx), %ymm0 1194vpaddw 64(%r8), %ymm0, %ymm1 1195vpaddw 192(%r8), %ymm6, %ymm2 1196vpaddw %ymm2, %ymm1, %ymm10 1197vpsubw %ymm2, %ymm1, %ymm14 1198vmovdqa %ymm0, 320(%r8) 1199vmovdqu 1000(%rdx), %ymm0 1200vpaddw 96(%r8), %ymm0, %ymm1 1201vpaddw 224(%r8), %ymm7, %ymm2 1202vpaddw %ymm2, %ymm1, %ymm11 1203vpsubw %ymm2, %ymm1, %ymm15 1204vmovdqa %ymm0, 352(%r8) 1205vmovdqa %ymm8, 896(%r11) 1206vmovdqa %ymm9, 992(%r11) 1207vpaddw %ymm8, %ymm9, %ymm0 1208vmovdqa %ymm0, 1088(%r11) 1209vmovdqa %ymm10, 1184(%r11) 1210vmovdqa %ymm11, 1280(%r11) 1211vpaddw %ymm10, %ymm11, %ymm0 1212vmovdqa %ymm0, 1376(%r11) 1213vpaddw %ymm8, %ymm10, %ymm0 1214vmovdqa %ymm0, 1472(%r11) 1215vpaddw %ymm9, %ymm11, %ymm1 1216vmovdqa %ymm1, 1568(%r11) 1217vpaddw %ymm0, %ymm1, %ymm0 1218vmovdqa %ymm0, 1664(%r11) 1219vmovdqa %ymm12, 1760(%r11) 1220vmovdqa %ymm13, 1856(%r11) 1221vpaddw %ymm12, %ymm13, %ymm0 1222vmovdqa %ymm0, 1952(%r11) 1223vmovdqa %ymm14, 2048(%r11) 1224vmovdqa %ymm15, 2144(%r11) 1225vpaddw %ymm14, %ymm15, %ymm0 1226vmovdqa %ymm0, 2240(%r11) 1227vpaddw %ymm12, %ymm14, %ymm0 1228vmovdqa %ymm0, 2336(%r11) 1229vpaddw %ymm13, %ymm15, %ymm1 1230vmovdqa %ymm1, 2432(%r11) 1231vpaddw %ymm0, %ymm1, %ymm0 1232vmovdqa %ymm0, 2528(%r11) 1233vmovdqa 256(%r8), %ymm0 1234vpsllw $2, %ymm0, %ymm0 1235vpaddw 0(%r8), %ymm0, %ymm0 1236vpsllw $2, %ymm4, %ymm1 1237vpaddw 128(%r8), %ymm1, %ymm1 1238vpsllw $1, %ymm1, %ymm1 1239vpaddw %ymm1, %ymm0, %ymm8 1240vpsubw %ymm1, %ymm0, %ymm12 1241vmovdqa 288(%r8), %ymm0 1242vpsllw $2, %ymm0, %ymm0 1243vpaddw 32(%r8), %ymm0, %ymm0 1244vpsllw $2, %ymm5, %ymm1 1245vpaddw 160(%r8), %ymm1, %ymm1 1246vpsllw $1, %ymm1, %ymm1 1247vpaddw %ymm1, %ymm0, %ymm9 1248vpsubw %ymm1, %ymm0, %ymm13 1249vmovdqa 320(%r8), %ymm0 1250vpsllw $2, %ymm0, %ymm0 1251vpaddw 64(%r8), %ymm0, %ymm0 1252vpsllw $2, %ymm6, %ymm1 1253vpaddw 192(%r8), %ymm1, %ymm1 1254vpsllw $1, %ymm1, %ymm1 1255vpaddw %ymm1, %ymm0, %ymm10 1256vpsubw %ymm1, %ymm0, %ymm14 1257vmovdqa 352(%r8), %ymm0 1258vpsllw $2, %ymm0, %ymm0 1259vpaddw 96(%r8), %ymm0, %ymm0 1260vpsllw $2, %ymm7, %ymm1 1261vpaddw 224(%r8), %ymm1, %ymm1 1262vpsllw $1, %ymm1, %ymm1 1263vpaddw %ymm1, %ymm0, %ymm11 1264vpsubw %ymm1, %ymm0, %ymm15 1265vmovdqa %ymm8, 2624(%r11) 1266vmovdqa %ymm9, 2720(%r11) 1267vpaddw %ymm8, %ymm9, %ymm0 1268vmovdqa %ymm0, 2816(%r11) 1269vmovdqa %ymm10, 2912(%r11) 1270vmovdqa %ymm11, 3008(%r11) 1271vpaddw %ymm10, %ymm11, %ymm0 1272vmovdqa %ymm0, 3104(%r11) 1273vpaddw %ymm8, %ymm10, %ymm0 1274vmovdqa %ymm0, 3200(%r11) 1275vpaddw %ymm9, %ymm11, %ymm1 1276vmovdqa %ymm1, 3296(%r11) 1277vpaddw %ymm0, %ymm1, %ymm0 1278vmovdqa %ymm0, 3392(%r11) 1279vmovdqa %ymm12, 3488(%r11) 1280vmovdqa %ymm13, 3584(%r11) 1281vpaddw %ymm12, %ymm13, %ymm0 1282vmovdqa %ymm0, 3680(%r11) 1283vmovdqa %ymm14, 3776(%r11) 1284vmovdqa %ymm15, 3872(%r11) 1285vpaddw %ymm14, %ymm15, %ymm0 1286vmovdqa %ymm0, 3968(%r11) 1287vpaddw %ymm12, %ymm14, %ymm0 1288vmovdqa %ymm0, 4064(%r11) 1289vpaddw %ymm13, %ymm15, %ymm1 1290vmovdqa %ymm1, 4160(%r11) 1291vpaddw %ymm0, %ymm1, %ymm0 1292vmovdqa %ymm0, 4256(%r11) 1293vpmullw %ymm3, %ymm4, %ymm0 1294vpaddw 256(%r8), %ymm0, %ymm0 1295vpmullw %ymm3, %ymm0, %ymm0 1296vpaddw 128(%r8), %ymm0, %ymm0 1297vpmullw %ymm3, %ymm0, %ymm0 1298vpaddw 0(%r8), %ymm0, %ymm12 1299vpmullw %ymm3, %ymm5, %ymm0 1300vpaddw 288(%r8), %ymm0, %ymm0 1301vpmullw %ymm3, %ymm0, %ymm0 1302vpaddw 160(%r8), %ymm0, %ymm0 1303vpmullw %ymm3, %ymm0, %ymm0 1304vpaddw 32(%r8), %ymm0, %ymm13 1305vpmullw %ymm3, %ymm6, %ymm0 1306vpaddw 320(%r8), %ymm0, %ymm0 1307vpmullw %ymm3, %ymm0, %ymm0 1308vpaddw 192(%r8), %ymm0, %ymm0 1309vpmullw %ymm3, %ymm0, %ymm0 1310vpaddw 64(%r8), %ymm0, %ymm14 1311vpmullw %ymm3, %ymm7, %ymm0 1312vpaddw 352(%r8), %ymm0, %ymm0 1313vpmullw %ymm3, %ymm0, %ymm0 1314vpaddw 224(%r8), %ymm0, %ymm0 1315vpmullw %ymm3, %ymm0, %ymm0 1316vpaddw 96(%r8), %ymm0, %ymm15 1317vmovdqa %ymm12, 4352(%r11) 1318vmovdqa %ymm13, 4448(%r11) 1319vpaddw %ymm12, %ymm13, %ymm0 1320vmovdqa %ymm0, 4544(%r11) 1321vmovdqa %ymm14, 4640(%r11) 1322vmovdqa %ymm15, 4736(%r11) 1323vpaddw %ymm14, %ymm15, %ymm0 1324vmovdqa %ymm0, 4832(%r11) 1325vpaddw %ymm12, %ymm14, %ymm0 1326vmovdqa %ymm0, 4928(%r11) 1327vpaddw %ymm13, %ymm15, %ymm1 1328vmovdqa %ymm1, 5024(%r11) 1329vpaddw %ymm0, %ymm1, %ymm0 1330vmovdqa %ymm0, 5120(%r11) 1331vmovdqu 64(%rdx), %ymm0 1332vmovdqu 152(%rdx), %ymm1 1333vmovdqu 240(%rdx), %ymm2 1334vmovdqu 328(%rdx), %ymm12 1335vmovdqu 1120(%rdx), %ymm4 1336vmovdqu 1208(%rdx), %ymm5 1337vmovdqu 1296(%rdx), %ymm6 1338 1339# Only 18 bytes more can be read, but vmovdqu reads 32. 1340# Copy 18 bytes to the red zone and zero pad to 32 bytes. 1341xor %r9, %r9 1342movq %r9, -16(%rsp) 1343movq %r9, -8(%rsp) 1344movq 1384(%rdx), %r9 1345movq %r9, -32(%rsp) 1346movq 1384+8(%rdx), %r9 1347movq %r9, -24(%rsp) 1348movw 1384+16(%rdx), %r9w 1349movw %r9w, -16(%rsp) 1350vmovdqu -32(%rsp), %ymm7 1351 1352vmovdqu 416(%rdx), %ymm8 1353vmovdqu 504(%rdx), %ymm9 1354vmovdqu 592(%rdx), %ymm10 1355vmovdqu 680(%rdx), %ymm11 1356vmovdqa %ymm0, 64(%r11) 1357vmovdqa %ymm1, 160(%r11) 1358vpaddw %ymm0, %ymm1, %ymm14 1359vmovdqa %ymm14, 256(%r11) 1360vmovdqa %ymm2, 352(%r11) 1361vmovdqa %ymm12, 448(%r11) 1362vpaddw %ymm2, %ymm12, %ymm14 1363vmovdqa %ymm14, 544(%r11) 1364vpaddw %ymm0, %ymm2, %ymm14 1365vmovdqa %ymm14, 640(%r11) 1366vpaddw %ymm1, %ymm12, %ymm15 1367vmovdqa %ymm15, 736(%r11) 1368vpaddw %ymm14, %ymm15, %ymm14 1369vmovdqa %ymm14, 832(%r11) 1370vmovdqa %ymm4, 5248(%r11) 1371vmovdqa %ymm5, 5344(%r11) 1372vpaddw %ymm4, %ymm5, %ymm14 1373vmovdqa %ymm14, 5440(%r11) 1374vmovdqa %ymm6, 5536(%r11) 1375vmovdqa %ymm7, 5632(%r11) 1376vpaddw %ymm6, %ymm7, %ymm14 1377vmovdqa %ymm14, 5728(%r11) 1378vpaddw %ymm4, %ymm6, %ymm14 1379vmovdqa %ymm14, 5824(%r11) 1380vpaddw %ymm5, %ymm7, %ymm15 1381vmovdqa %ymm15, 5920(%r11) 1382vpaddw %ymm14, %ymm15, %ymm14 1383vmovdqa %ymm14, 6016(%r11) 1384vmovdqa %ymm0, 0(%r8) 1385vmovdqa %ymm1, 32(%r8) 1386vmovdqa %ymm2, 64(%r8) 1387vmovdqa %ymm12, 96(%r8) 1388vmovdqa %ymm8, 128(%r8) 1389vmovdqa %ymm9, 160(%r8) 1390vmovdqa %ymm10, 192(%r8) 1391vmovdqa %ymm11, 224(%r8) 1392vmovdqu 768(%rdx), %ymm0 1393vpaddw 0(%r8), %ymm0, %ymm1 1394vpaddw 128(%r8), %ymm4, %ymm2 1395vpaddw %ymm2, %ymm1, %ymm8 1396vpsubw %ymm2, %ymm1, %ymm12 1397vmovdqa %ymm0, 256(%r8) 1398vmovdqu 856(%rdx), %ymm0 1399vpaddw 32(%r8), %ymm0, %ymm1 1400vpaddw 160(%r8), %ymm5, %ymm2 1401vpaddw %ymm2, %ymm1, %ymm9 1402vpsubw %ymm2, %ymm1, %ymm13 1403vmovdqa %ymm0, 288(%r8) 1404vmovdqu 944(%rdx), %ymm0 1405vpaddw 64(%r8), %ymm0, %ymm1 1406vpaddw 192(%r8), %ymm6, %ymm2 1407vpaddw %ymm2, %ymm1, %ymm10 1408vpsubw %ymm2, %ymm1, %ymm14 1409vmovdqa %ymm0, 320(%r8) 1410vmovdqu 1032(%rdx), %ymm0 1411vpaddw 96(%r8), %ymm0, %ymm1 1412vpaddw 224(%r8), %ymm7, %ymm2 1413vpaddw %ymm2, %ymm1, %ymm11 1414vpsubw %ymm2, %ymm1, %ymm15 1415vmovdqa %ymm0, 352(%r8) 1416vmovdqa %ymm8, 928(%r11) 1417vmovdqa %ymm9, 1024(%r11) 1418vpaddw %ymm8, %ymm9, %ymm0 1419vmovdqa %ymm0, 1120(%r11) 1420vmovdqa %ymm10, 1216(%r11) 1421vmovdqa %ymm11, 1312(%r11) 1422vpaddw %ymm10, %ymm11, %ymm0 1423vmovdqa %ymm0, 1408(%r11) 1424vpaddw %ymm8, %ymm10, %ymm0 1425vmovdqa %ymm0, 1504(%r11) 1426vpaddw %ymm9, %ymm11, %ymm1 1427vmovdqa %ymm1, 1600(%r11) 1428vpaddw %ymm0, %ymm1, %ymm0 1429vmovdqa %ymm0, 1696(%r11) 1430vmovdqa %ymm12, 1792(%r11) 1431vmovdqa %ymm13, 1888(%r11) 1432vpaddw %ymm12, %ymm13, %ymm0 1433vmovdqa %ymm0, 1984(%r11) 1434vmovdqa %ymm14, 2080(%r11) 1435vmovdqa %ymm15, 2176(%r11) 1436vpaddw %ymm14, %ymm15, %ymm0 1437vmovdqa %ymm0, 2272(%r11) 1438vpaddw %ymm12, %ymm14, %ymm0 1439vmovdqa %ymm0, 2368(%r11) 1440vpaddw %ymm13, %ymm15, %ymm1 1441vmovdqa %ymm1, 2464(%r11) 1442vpaddw %ymm0, %ymm1, %ymm0 1443vmovdqa %ymm0, 2560(%r11) 1444vmovdqa 256(%r8), %ymm0 1445vpsllw $2, %ymm0, %ymm0 1446vpaddw 0(%r8), %ymm0, %ymm0 1447vpsllw $2, %ymm4, %ymm1 1448vpaddw 128(%r8), %ymm1, %ymm1 1449vpsllw $1, %ymm1, %ymm1 1450vpaddw %ymm1, %ymm0, %ymm8 1451vpsubw %ymm1, %ymm0, %ymm12 1452vmovdqa 288(%r8), %ymm0 1453vpsllw $2, %ymm0, %ymm0 1454vpaddw 32(%r8), %ymm0, %ymm0 1455vpsllw $2, %ymm5, %ymm1 1456vpaddw 160(%r8), %ymm1, %ymm1 1457vpsllw $1, %ymm1, %ymm1 1458vpaddw %ymm1, %ymm0, %ymm9 1459vpsubw %ymm1, %ymm0, %ymm13 1460vmovdqa 320(%r8), %ymm0 1461vpsllw $2, %ymm0, %ymm0 1462vpaddw 64(%r8), %ymm0, %ymm0 1463vpsllw $2, %ymm6, %ymm1 1464vpaddw 192(%r8), %ymm1, %ymm1 1465vpsllw $1, %ymm1, %ymm1 1466vpaddw %ymm1, %ymm0, %ymm10 1467vpsubw %ymm1, %ymm0, %ymm14 1468vmovdqa 352(%r8), %ymm0 1469vpsllw $2, %ymm0, %ymm0 1470vpaddw 96(%r8), %ymm0, %ymm0 1471vpsllw $2, %ymm7, %ymm1 1472vpaddw 224(%r8), %ymm1, %ymm1 1473vpsllw $1, %ymm1, %ymm1 1474vpaddw %ymm1, %ymm0, %ymm11 1475vpsubw %ymm1, %ymm0, %ymm15 1476vmovdqa %ymm8, 2656(%r11) 1477vmovdqa %ymm9, 2752(%r11) 1478vpaddw %ymm8, %ymm9, %ymm0 1479vmovdqa %ymm0, 2848(%r11) 1480vmovdqa %ymm10, 2944(%r11) 1481vmovdqa %ymm11, 3040(%r11) 1482vpaddw %ymm10, %ymm11, %ymm0 1483vmovdqa %ymm0, 3136(%r11) 1484vpaddw %ymm8, %ymm10, %ymm0 1485vmovdqa %ymm0, 3232(%r11) 1486vpaddw %ymm9, %ymm11, %ymm1 1487vmovdqa %ymm1, 3328(%r11) 1488vpaddw %ymm0, %ymm1, %ymm0 1489vmovdqa %ymm0, 3424(%r11) 1490vmovdqa %ymm12, 3520(%r11) 1491vmovdqa %ymm13, 3616(%r11) 1492vpaddw %ymm12, %ymm13, %ymm0 1493vmovdqa %ymm0, 3712(%r11) 1494vmovdqa %ymm14, 3808(%r11) 1495vmovdqa %ymm15, 3904(%r11) 1496vpaddw %ymm14, %ymm15, %ymm0 1497vmovdqa %ymm0, 4000(%r11) 1498vpaddw %ymm12, %ymm14, %ymm0 1499vmovdqa %ymm0, 4096(%r11) 1500vpaddw %ymm13, %ymm15, %ymm1 1501vmovdqa %ymm1, 4192(%r11) 1502vpaddw %ymm0, %ymm1, %ymm0 1503vmovdqa %ymm0, 4288(%r11) 1504vpmullw %ymm3, %ymm4, %ymm0 1505vpaddw 256(%r8), %ymm0, %ymm0 1506vpmullw %ymm3, %ymm0, %ymm0 1507vpaddw 128(%r8), %ymm0, %ymm0 1508vpmullw %ymm3, %ymm0, %ymm0 1509vpaddw 0(%r8), %ymm0, %ymm12 1510vpmullw %ymm3, %ymm5, %ymm0 1511vpaddw 288(%r8), %ymm0, %ymm0 1512vpmullw %ymm3, %ymm0, %ymm0 1513vpaddw 160(%r8), %ymm0, %ymm0 1514vpmullw %ymm3, %ymm0, %ymm0 1515vpaddw 32(%r8), %ymm0, %ymm13 1516vpmullw %ymm3, %ymm6, %ymm0 1517vpaddw 320(%r8), %ymm0, %ymm0 1518vpmullw %ymm3, %ymm0, %ymm0 1519vpaddw 192(%r8), %ymm0, %ymm0 1520vpmullw %ymm3, %ymm0, %ymm0 1521vpaddw 64(%r8), %ymm0, %ymm14 1522vpmullw %ymm3, %ymm7, %ymm0 1523vpaddw 352(%r8), %ymm0, %ymm0 1524vpmullw %ymm3, %ymm0, %ymm0 1525vpaddw 224(%r8), %ymm0, %ymm0 1526vpmullw %ymm3, %ymm0, %ymm0 1527vpaddw 96(%r8), %ymm0, %ymm15 1528vmovdqa %ymm12, 4384(%r11) 1529vmovdqa %ymm13, 4480(%r11) 1530vpaddw %ymm12, %ymm13, %ymm0 1531vmovdqa %ymm0, 4576(%r11) 1532vmovdqa %ymm14, 4672(%r11) 1533vmovdqa %ymm15, 4768(%r11) 1534vpaddw %ymm14, %ymm15, %ymm0 1535vmovdqa %ymm0, 4864(%r11) 1536vpaddw %ymm12, %ymm14, %ymm0 1537vmovdqa %ymm0, 4960(%r11) 1538vpaddw %ymm13, %ymm15, %ymm1 1539vmovdqa %ymm1, 5056(%r11) 1540vpaddw %ymm0, %ymm1, %ymm0 1541vmovdqa %ymm0, 5152(%r11) 1542subq $9408, %r8 1543mov $4, %ecx 1544karatsuba_loop_4eced63f144beffcb0247f9c6f67d165: 1545mov %r8, %r9 1546mov %r8, %r10 1547subq $32, %r8 1548vmovdqa 0(%rax), %ymm0 1549vmovdqa 192(%rax), %ymm1 1550vmovdqa 384(%rax), %ymm2 1551vmovdqa 576(%rax), %ymm3 1552vpunpcklwd 96(%rax), %ymm0, %ymm4 1553vpunpckhwd 96(%rax), %ymm0, %ymm5 1554vpunpcklwd 288(%rax), %ymm1, %ymm6 1555vpunpckhwd 288(%rax), %ymm1, %ymm7 1556vpunpcklwd 480(%rax), %ymm2, %ymm8 1557vpunpckhwd 480(%rax), %ymm2, %ymm9 1558vpunpcklwd 672(%rax), %ymm3, %ymm10 1559vpunpckhwd 672(%rax), %ymm3, %ymm11 1560vpunpckldq %ymm6, %ymm4, %ymm0 1561vpunpckhdq %ymm6, %ymm4, %ymm1 1562vpunpckldq %ymm7, %ymm5, %ymm2 1563vpunpckhdq %ymm7, %ymm5, %ymm3 1564vpunpckldq %ymm10, %ymm8, %ymm12 1565vpunpckhdq %ymm10, %ymm8, %ymm13 1566vpunpckldq %ymm11, %ymm9, %ymm14 1567vpunpckhdq %ymm11, %ymm9, %ymm15 1568vpunpcklqdq %ymm12, %ymm0, %ymm4 1569vpunpckhqdq %ymm12, %ymm0, %ymm5 1570vpunpcklqdq %ymm13, %ymm1, %ymm6 1571vpunpckhqdq %ymm13, %ymm1, %ymm7 1572vpunpcklqdq %ymm14, %ymm2, %ymm8 1573vpunpckhqdq %ymm14, %ymm2, %ymm9 1574vpunpcklqdq %ymm15, %ymm3, %ymm10 1575vpunpckhqdq %ymm15, %ymm3, %ymm11 1576vmovdqa 768(%rax), %ymm0 1577vmovdqa 960(%rax), %ymm1 1578vmovdqa 1152(%rax), %ymm2 1579vmovdqa 1344(%rax), %ymm3 1580vpunpcklwd 864(%rax), %ymm0, %ymm12 1581vpunpckhwd 864(%rax), %ymm0, %ymm13 1582vpunpcklwd 1056(%rax), %ymm1, %ymm14 1583vpunpckhwd 1056(%rax), %ymm1, %ymm15 1584vpunpcklwd 1248(%rax), %ymm2, %ymm0 1585vpunpckhwd 1248(%rax), %ymm2, %ymm1 1586vpunpcklwd 1440(%rax), %ymm3, %ymm2 1587vpunpckhwd 1440(%rax), %ymm3, %ymm3 1588vmovdqa %ymm11, 0(%r8) 1589vpunpckldq %ymm14, %ymm12, %ymm11 1590vpunpckhdq %ymm14, %ymm12, %ymm12 1591vpunpckldq %ymm15, %ymm13, %ymm14 1592vpunpckhdq %ymm15, %ymm13, %ymm15 1593vpunpckldq %ymm2, %ymm0, %ymm13 1594vpunpckhdq %ymm2, %ymm0, %ymm0 1595vpunpckldq %ymm3, %ymm1, %ymm2 1596vpunpckhdq %ymm3, %ymm1, %ymm1 1597vpunpcklqdq %ymm13, %ymm11, %ymm3 1598vpunpckhqdq %ymm13, %ymm11, %ymm13 1599vpunpcklqdq %ymm0, %ymm12, %ymm11 1600vpunpckhqdq %ymm0, %ymm12, %ymm0 1601vpunpcklqdq %ymm2, %ymm14, %ymm12 1602vpunpckhqdq %ymm2, %ymm14, %ymm2 1603vpunpcklqdq %ymm1, %ymm15, %ymm14 1604vpunpckhqdq %ymm1, %ymm15, %ymm1 1605vinserti128 $1, %xmm3, %ymm4, %ymm15 1606vmovdqa %ymm15, 0(%r9) 1607vinserti128 $1, %xmm13, %ymm5, %ymm15 1608vmovdqa %ymm15, 32(%r9) 1609vinserti128 $1, %xmm11, %ymm6, %ymm15 1610vmovdqa %ymm15, 64(%r9) 1611vinserti128 $1, %xmm0, %ymm7, %ymm15 1612vmovdqa %ymm15, 96(%r9) 1613vinserti128 $1, %xmm12, %ymm8, %ymm15 1614vmovdqa %ymm15, 128(%r9) 1615vinserti128 $1, %xmm2, %ymm9, %ymm15 1616vmovdqa %ymm15, 160(%r9) 1617vinserti128 $1, %xmm14, %ymm10, %ymm15 1618vmovdqa %ymm15, 192(%r9) 1619vpermq $78, %ymm4, %ymm4 1620vpermq $78, %ymm5, %ymm5 1621vpermq $78, %ymm6, %ymm6 1622vpermq $78, %ymm7, %ymm7 1623vpermq $78, %ymm8, %ymm8 1624vpermq $78, %ymm9, %ymm9 1625vpermq $78, %ymm10, %ymm10 1626vinserti128 $0, %xmm4, %ymm3, %ymm15 1627vmovdqa %ymm15, 256(%r9) 1628vinserti128 $0, %xmm5, %ymm13, %ymm15 1629vmovdqa %ymm15, 288(%r9) 1630vinserti128 $0, %xmm6, %ymm11, %ymm15 1631vmovdqa %ymm15, 320(%r9) 1632vinserti128 $0, %xmm7, %ymm0, %ymm15 1633vmovdqa %ymm15, 352(%r9) 1634vinserti128 $0, %xmm8, %ymm12, %ymm15 1635vmovdqa %ymm15, 384(%r9) 1636vinserti128 $0, %xmm9, %ymm2, %ymm15 1637vmovdqa %ymm15, 416(%r9) 1638vinserti128 $0, %xmm10, %ymm14, %ymm15 1639vmovdqa %ymm15, 448(%r9) 1640vmovdqa 0(%r8), %ymm11 1641vinserti128 $1, %xmm1, %ymm11, %ymm14 1642vmovdqa %ymm14, 224(%r9) 1643vpermq $78, %ymm11, %ymm11 1644vinserti128 $0, %xmm11, %ymm1, %ymm1 1645vmovdqa %ymm1, 480(%r9) 1646vmovdqa 32(%rax), %ymm0 1647vmovdqa 224(%rax), %ymm1 1648vmovdqa 416(%rax), %ymm2 1649vmovdqa 608(%rax), %ymm3 1650vpunpcklwd 128(%rax), %ymm0, %ymm4 1651vpunpckhwd 128(%rax), %ymm0, %ymm5 1652vpunpcklwd 320(%rax), %ymm1, %ymm6 1653vpunpckhwd 320(%rax), %ymm1, %ymm7 1654vpunpcklwd 512(%rax), %ymm2, %ymm8 1655vpunpckhwd 512(%rax), %ymm2, %ymm9 1656vpunpcklwd 704(%rax), %ymm3, %ymm10 1657vpunpckhwd 704(%rax), %ymm3, %ymm11 1658vpunpckldq %ymm6, %ymm4, %ymm0 1659vpunpckhdq %ymm6, %ymm4, %ymm1 1660vpunpckldq %ymm7, %ymm5, %ymm2 1661vpunpckhdq %ymm7, %ymm5, %ymm3 1662vpunpckldq %ymm10, %ymm8, %ymm12 1663vpunpckhdq %ymm10, %ymm8, %ymm13 1664vpunpckldq %ymm11, %ymm9, %ymm14 1665vpunpckhdq %ymm11, %ymm9, %ymm15 1666vpunpcklqdq %ymm12, %ymm0, %ymm4 1667vpunpckhqdq %ymm12, %ymm0, %ymm5 1668vpunpcklqdq %ymm13, %ymm1, %ymm6 1669vpunpckhqdq %ymm13, %ymm1, %ymm7 1670vpunpcklqdq %ymm14, %ymm2, %ymm8 1671vpunpckhqdq %ymm14, %ymm2, %ymm9 1672vpunpcklqdq %ymm15, %ymm3, %ymm10 1673vpunpckhqdq %ymm15, %ymm3, %ymm11 1674vmovdqa 800(%rax), %ymm0 1675vmovdqa 992(%rax), %ymm1 1676vmovdqa 1184(%rax), %ymm2 1677vmovdqa 1376(%rax), %ymm3 1678vpunpcklwd 896(%rax), %ymm0, %ymm12 1679vpunpckhwd 896(%rax), %ymm0, %ymm13 1680vpunpcklwd 1088(%rax), %ymm1, %ymm14 1681vpunpckhwd 1088(%rax), %ymm1, %ymm15 1682vpunpcklwd 1280(%rax), %ymm2, %ymm0 1683vpunpckhwd 1280(%rax), %ymm2, %ymm1 1684vpunpcklwd 1472(%rax), %ymm3, %ymm2 1685vpunpckhwd 1472(%rax), %ymm3, %ymm3 1686vmovdqa %ymm11, 0(%r8) 1687vpunpckldq %ymm14, %ymm12, %ymm11 1688vpunpckhdq %ymm14, %ymm12, %ymm12 1689vpunpckldq %ymm15, %ymm13, %ymm14 1690vpunpckhdq %ymm15, %ymm13, %ymm15 1691vpunpckldq %ymm2, %ymm0, %ymm13 1692vpunpckhdq %ymm2, %ymm0, %ymm0 1693vpunpckldq %ymm3, %ymm1, %ymm2 1694vpunpckhdq %ymm3, %ymm1, %ymm1 1695vpunpcklqdq %ymm13, %ymm11, %ymm3 1696vpunpckhqdq %ymm13, %ymm11, %ymm13 1697vpunpcklqdq %ymm0, %ymm12, %ymm11 1698vpunpckhqdq %ymm0, %ymm12, %ymm0 1699vpunpcklqdq %ymm2, %ymm14, %ymm12 1700vpunpckhqdq %ymm2, %ymm14, %ymm2 1701vpunpcklqdq %ymm1, %ymm15, %ymm14 1702vpunpckhqdq %ymm1, %ymm15, %ymm1 1703vinserti128 $1, %xmm3, %ymm4, %ymm15 1704vmovdqa %ymm15, 512(%r9) 1705vinserti128 $1, %xmm13, %ymm5, %ymm15 1706vmovdqa %ymm15, 544(%r9) 1707vinserti128 $1, %xmm11, %ymm6, %ymm15 1708vmovdqa %ymm15, 576(%r9) 1709vinserti128 $1, %xmm0, %ymm7, %ymm15 1710vmovdqa %ymm15, 608(%r9) 1711vinserti128 $1, %xmm12, %ymm8, %ymm15 1712vmovdqa %ymm15, 640(%r9) 1713vinserti128 $1, %xmm2, %ymm9, %ymm15 1714vmovdqa %ymm15, 672(%r9) 1715vinserti128 $1, %xmm14, %ymm10, %ymm15 1716vmovdqa %ymm15, 704(%r9) 1717vpermq $78, %ymm4, %ymm4 1718vpermq $78, %ymm5, %ymm5 1719vpermq $78, %ymm6, %ymm6 1720vpermq $78, %ymm7, %ymm7 1721vpermq $78, %ymm8, %ymm8 1722vpermq $78, %ymm9, %ymm9 1723vpermq $78, %ymm10, %ymm10 1724vinserti128 $0, %xmm4, %ymm3, %ymm15 1725vmovdqa %ymm15, 768(%r9) 1726vinserti128 $0, %xmm5, %ymm13, %ymm15 1727vmovdqa %ymm15, 800(%r9) 1728vinserti128 $0, %xmm6, %ymm11, %ymm15 1729vmovdqa %ymm15, 832(%r9) 1730vinserti128 $0, %xmm7, %ymm0, %ymm15 1731vmovdqa %ymm15, 864(%r9) 1732vinserti128 $0, %xmm8, %ymm12, %ymm15 1733vmovdqa %ymm15, 896(%r9) 1734vinserti128 $0, %xmm9, %ymm2, %ymm15 1735vmovdqa %ymm15, 928(%r9) 1736vinserti128 $0, %xmm10, %ymm14, %ymm15 1737vmovdqa %ymm15, 960(%r9) 1738vmovdqa 0(%r8), %ymm11 1739vinserti128 $1, %xmm1, %ymm11, %ymm14 1740vmovdqa %ymm14, 736(%r9) 1741vpermq $78, %ymm11, %ymm11 1742vinserti128 $0, %xmm11, %ymm1, %ymm1 1743vmovdqa %ymm1, 992(%r9) 1744vmovdqa 64(%rax), %ymm0 1745vmovdqa 256(%rax), %ymm1 1746vmovdqa 448(%rax), %ymm2 1747vmovdqa 640(%rax), %ymm3 1748vpunpcklwd 160(%rax), %ymm0, %ymm4 1749vpunpckhwd 160(%rax), %ymm0, %ymm5 1750vpunpcklwd 352(%rax), %ymm1, %ymm6 1751vpunpckhwd 352(%rax), %ymm1, %ymm7 1752vpunpcklwd 544(%rax), %ymm2, %ymm8 1753vpunpckhwd 544(%rax), %ymm2, %ymm9 1754vpunpcklwd 736(%rax), %ymm3, %ymm10 1755vpunpckhwd 736(%rax), %ymm3, %ymm11 1756vpunpckldq %ymm6, %ymm4, %ymm0 1757vpunpckhdq %ymm6, %ymm4, %ymm1 1758vpunpckldq %ymm7, %ymm5, %ymm2 1759vpunpckhdq %ymm7, %ymm5, %ymm3 1760vpunpckldq %ymm10, %ymm8, %ymm12 1761vpunpckhdq %ymm10, %ymm8, %ymm13 1762vpunpckldq %ymm11, %ymm9, %ymm14 1763vpunpckhdq %ymm11, %ymm9, %ymm15 1764vpunpcklqdq %ymm12, %ymm0, %ymm4 1765vpunpckhqdq %ymm12, %ymm0, %ymm5 1766vpunpcklqdq %ymm13, %ymm1, %ymm6 1767vpunpckhqdq %ymm13, %ymm1, %ymm7 1768vpunpcklqdq %ymm14, %ymm2, %ymm8 1769vpunpckhqdq %ymm14, %ymm2, %ymm9 1770vpunpcklqdq %ymm15, %ymm3, %ymm10 1771vpunpckhqdq %ymm15, %ymm3, %ymm11 1772vmovdqa 832(%rax), %ymm0 1773vmovdqa 1024(%rax), %ymm1 1774vmovdqa 1216(%rax), %ymm2 1775vmovdqa 1408(%rax), %ymm3 1776vpunpcklwd 928(%rax), %ymm0, %ymm12 1777vpunpckhwd 928(%rax), %ymm0, %ymm13 1778vpunpcklwd 1120(%rax), %ymm1, %ymm14 1779vpunpckhwd 1120(%rax), %ymm1, %ymm15 1780vpunpcklwd 1312(%rax), %ymm2, %ymm0 1781vpunpckhwd 1312(%rax), %ymm2, %ymm1 1782vpunpcklwd 1504(%rax), %ymm3, %ymm2 1783vpunpckhwd 1504(%rax), %ymm3, %ymm3 1784vmovdqa %ymm11, 0(%r8) 1785vpunpckldq %ymm14, %ymm12, %ymm11 1786vpunpckhdq %ymm14, %ymm12, %ymm12 1787vpunpckldq %ymm15, %ymm13, %ymm14 1788vpunpckhdq %ymm15, %ymm13, %ymm15 1789vpunpckldq %ymm2, %ymm0, %ymm13 1790vpunpckhdq %ymm2, %ymm0, %ymm0 1791vpunpckldq %ymm3, %ymm1, %ymm2 1792vpunpckhdq %ymm3, %ymm1, %ymm1 1793vpunpcklqdq %ymm13, %ymm11, %ymm3 1794vpunpckhqdq %ymm13, %ymm11, %ymm13 1795vpunpcklqdq %ymm0, %ymm12, %ymm11 1796vpunpckhqdq %ymm0, %ymm12, %ymm0 1797vpunpcklqdq %ymm2, %ymm14, %ymm12 1798vpunpckhqdq %ymm2, %ymm14, %ymm2 1799vpunpcklqdq %ymm1, %ymm15, %ymm14 1800vpunpckhqdq %ymm1, %ymm15, %ymm1 1801vinserti128 $1, %xmm3, %ymm4, %ymm15 1802vmovdqa %ymm15, 1024(%r9) 1803vinserti128 $1, %xmm13, %ymm5, %ymm15 1804vmovdqa %ymm15, 1056(%r9) 1805vinserti128 $1, %xmm11, %ymm6, %ymm15 1806vmovdqa %ymm15, 1088(%r9) 1807vinserti128 $1, %xmm0, %ymm7, %ymm15 1808vmovdqa %ymm15, 1120(%r9) 1809vinserti128 $1, %xmm12, %ymm8, %ymm15 1810vmovdqa %ymm15, 1152(%r9) 1811vinserti128 $1, %xmm2, %ymm9, %ymm15 1812vmovdqa %ymm15, 1184(%r9) 1813vinserti128 $1, %xmm14, %ymm10, %ymm15 1814vmovdqa %ymm15, 1216(%r9) 1815vpermq $78, %ymm4, %ymm4 1816vpermq $78, %ymm5, %ymm5 1817vpermq $78, %ymm6, %ymm6 1818vpermq $78, %ymm7, %ymm7 1819vpermq $78, %ymm8, %ymm8 1820vpermq $78, %ymm9, %ymm9 1821vpermq $78, %ymm10, %ymm10 1822vinserti128 $0, %xmm4, %ymm3, %ymm15 1823vmovdqa %ymm15, 1280(%r9) 1824vinserti128 $0, %xmm5, %ymm13, %ymm15 1825vmovdqa %ymm15, 1312(%r9) 1826vinserti128 $0, %xmm6, %ymm11, %ymm15 1827vmovdqa %ymm15, 1344(%r9) 1828vinserti128 $0, %xmm7, %ymm0, %ymm15 1829vmovdqa %ymm15, 1376(%r9) 1830vmovdqa 0(%r8), %ymm11 1831vinserti128 $1, %xmm1, %ymm11, %ymm14 1832vmovdqa %ymm14, 1248(%r9) 1833vmovdqa 0(%r11), %ymm0 1834vmovdqa 192(%r11), %ymm1 1835vmovdqa 384(%r11), %ymm2 1836vmovdqa 576(%r11), %ymm3 1837vpunpcklwd 96(%r11), %ymm0, %ymm4 1838vpunpckhwd 96(%r11), %ymm0, %ymm5 1839vpunpcklwd 288(%r11), %ymm1, %ymm6 1840vpunpckhwd 288(%r11), %ymm1, %ymm7 1841vpunpcklwd 480(%r11), %ymm2, %ymm8 1842vpunpckhwd 480(%r11), %ymm2, %ymm9 1843vpunpcklwd 672(%r11), %ymm3, %ymm10 1844vpunpckhwd 672(%r11), %ymm3, %ymm11 1845vpunpckldq %ymm6, %ymm4, %ymm0 1846vpunpckhdq %ymm6, %ymm4, %ymm1 1847vpunpckldq %ymm7, %ymm5, %ymm2 1848vpunpckhdq %ymm7, %ymm5, %ymm3 1849vpunpckldq %ymm10, %ymm8, %ymm12 1850vpunpckhdq %ymm10, %ymm8, %ymm13 1851vpunpckldq %ymm11, %ymm9, %ymm14 1852vpunpckhdq %ymm11, %ymm9, %ymm15 1853vpunpcklqdq %ymm12, %ymm0, %ymm4 1854vpunpckhqdq %ymm12, %ymm0, %ymm5 1855vpunpcklqdq %ymm13, %ymm1, %ymm6 1856vpunpckhqdq %ymm13, %ymm1, %ymm7 1857vpunpcklqdq %ymm14, %ymm2, %ymm8 1858vpunpckhqdq %ymm14, %ymm2, %ymm9 1859vpunpcklqdq %ymm15, %ymm3, %ymm10 1860vpunpckhqdq %ymm15, %ymm3, %ymm11 1861vmovdqa 768(%r11), %ymm0 1862vmovdqa 960(%r11), %ymm1 1863vmovdqa 1152(%r11), %ymm2 1864vmovdqa 1344(%r11), %ymm3 1865vpunpcklwd 864(%r11), %ymm0, %ymm12 1866vpunpckhwd 864(%r11), %ymm0, %ymm13 1867vpunpcklwd 1056(%r11), %ymm1, %ymm14 1868vpunpckhwd 1056(%r11), %ymm1, %ymm15 1869vpunpcklwd 1248(%r11), %ymm2, %ymm0 1870vpunpckhwd 1248(%r11), %ymm2, %ymm1 1871vpunpcklwd 1440(%r11), %ymm3, %ymm2 1872vpunpckhwd 1440(%r11), %ymm3, %ymm3 1873vmovdqa %ymm11, 0(%r8) 1874vpunpckldq %ymm14, %ymm12, %ymm11 1875vpunpckhdq %ymm14, %ymm12, %ymm12 1876vpunpckldq %ymm15, %ymm13, %ymm14 1877vpunpckhdq %ymm15, %ymm13, %ymm15 1878vpunpckldq %ymm2, %ymm0, %ymm13 1879vpunpckhdq %ymm2, %ymm0, %ymm0 1880vpunpckldq %ymm3, %ymm1, %ymm2 1881vpunpckhdq %ymm3, %ymm1, %ymm1 1882vpunpcklqdq %ymm13, %ymm11, %ymm3 1883vpunpckhqdq %ymm13, %ymm11, %ymm13 1884vpunpcklqdq %ymm0, %ymm12, %ymm11 1885vpunpckhqdq %ymm0, %ymm12, %ymm0 1886vpunpcklqdq %ymm2, %ymm14, %ymm12 1887vpunpckhqdq %ymm2, %ymm14, %ymm2 1888vpunpcklqdq %ymm1, %ymm15, %ymm14 1889vpunpckhqdq %ymm1, %ymm15, %ymm1 1890vinserti128 $1, %xmm3, %ymm4, %ymm15 1891vmovdqa %ymm15, 1408(%r9) 1892vinserti128 $1, %xmm13, %ymm5, %ymm15 1893vmovdqa %ymm15, 1440(%r9) 1894vinserti128 $1, %xmm11, %ymm6, %ymm15 1895vmovdqa %ymm15, 1472(%r9) 1896vinserti128 $1, %xmm0, %ymm7, %ymm15 1897vmovdqa %ymm15, 1504(%r9) 1898vinserti128 $1, %xmm12, %ymm8, %ymm15 1899vmovdqa %ymm15, 1536(%r9) 1900vinserti128 $1, %xmm2, %ymm9, %ymm15 1901vmovdqa %ymm15, 1568(%r9) 1902vinserti128 $1, %xmm14, %ymm10, %ymm15 1903vmovdqa %ymm15, 1600(%r9) 1904vpermq $78, %ymm4, %ymm4 1905vpermq $78, %ymm5, %ymm5 1906vpermq $78, %ymm6, %ymm6 1907vpermq $78, %ymm7, %ymm7 1908vpermq $78, %ymm8, %ymm8 1909vpermq $78, %ymm9, %ymm9 1910vpermq $78, %ymm10, %ymm10 1911vinserti128 $0, %xmm4, %ymm3, %ymm15 1912vmovdqa %ymm15, 1664(%r9) 1913vinserti128 $0, %xmm5, %ymm13, %ymm15 1914vmovdqa %ymm15, 1696(%r9) 1915vinserti128 $0, %xmm6, %ymm11, %ymm15 1916vmovdqa %ymm15, 1728(%r9) 1917vinserti128 $0, %xmm7, %ymm0, %ymm15 1918vmovdqa %ymm15, 1760(%r9) 1919vinserti128 $0, %xmm8, %ymm12, %ymm15 1920vmovdqa %ymm15, 1792(%r9) 1921vinserti128 $0, %xmm9, %ymm2, %ymm15 1922vmovdqa %ymm15, 1824(%r9) 1923vinserti128 $0, %xmm10, %ymm14, %ymm15 1924vmovdqa %ymm15, 1856(%r9) 1925vmovdqa 0(%r8), %ymm11 1926vinserti128 $1, %xmm1, %ymm11, %ymm14 1927vmovdqa %ymm14, 1632(%r9) 1928vpermq $78, %ymm11, %ymm11 1929vinserti128 $0, %xmm11, %ymm1, %ymm1 1930vmovdqa %ymm1, 1888(%r9) 1931vmovdqa 32(%r11), %ymm0 1932vmovdqa 224(%r11), %ymm1 1933vmovdqa 416(%r11), %ymm2 1934vmovdqa 608(%r11), %ymm3 1935vpunpcklwd 128(%r11), %ymm0, %ymm4 1936vpunpckhwd 128(%r11), %ymm0, %ymm5 1937vpunpcklwd 320(%r11), %ymm1, %ymm6 1938vpunpckhwd 320(%r11), %ymm1, %ymm7 1939vpunpcklwd 512(%r11), %ymm2, %ymm8 1940vpunpckhwd 512(%r11), %ymm2, %ymm9 1941vpunpcklwd 704(%r11), %ymm3, %ymm10 1942vpunpckhwd 704(%r11), %ymm3, %ymm11 1943vpunpckldq %ymm6, %ymm4, %ymm0 1944vpunpckhdq %ymm6, %ymm4, %ymm1 1945vpunpckldq %ymm7, %ymm5, %ymm2 1946vpunpckhdq %ymm7, %ymm5, %ymm3 1947vpunpckldq %ymm10, %ymm8, %ymm12 1948vpunpckhdq %ymm10, %ymm8, %ymm13 1949vpunpckldq %ymm11, %ymm9, %ymm14 1950vpunpckhdq %ymm11, %ymm9, %ymm15 1951vpunpcklqdq %ymm12, %ymm0, %ymm4 1952vpunpckhqdq %ymm12, %ymm0, %ymm5 1953vpunpcklqdq %ymm13, %ymm1, %ymm6 1954vpunpckhqdq %ymm13, %ymm1, %ymm7 1955vpunpcklqdq %ymm14, %ymm2, %ymm8 1956vpunpckhqdq %ymm14, %ymm2, %ymm9 1957vpunpcklqdq %ymm15, %ymm3, %ymm10 1958vpunpckhqdq %ymm15, %ymm3, %ymm11 1959vmovdqa 800(%r11), %ymm0 1960vmovdqa 992(%r11), %ymm1 1961vmovdqa 1184(%r11), %ymm2 1962vmovdqa 1376(%r11), %ymm3 1963vpunpcklwd 896(%r11), %ymm0, %ymm12 1964vpunpckhwd 896(%r11), %ymm0, %ymm13 1965vpunpcklwd 1088(%r11), %ymm1, %ymm14 1966vpunpckhwd 1088(%r11), %ymm1, %ymm15 1967vpunpcklwd 1280(%r11), %ymm2, %ymm0 1968vpunpckhwd 1280(%r11), %ymm2, %ymm1 1969vpunpcklwd 1472(%r11), %ymm3, %ymm2 1970vpunpckhwd 1472(%r11), %ymm3, %ymm3 1971vmovdqa %ymm11, 0(%r8) 1972vpunpckldq %ymm14, %ymm12, %ymm11 1973vpunpckhdq %ymm14, %ymm12, %ymm12 1974vpunpckldq %ymm15, %ymm13, %ymm14 1975vpunpckhdq %ymm15, %ymm13, %ymm15 1976vpunpckldq %ymm2, %ymm0, %ymm13 1977vpunpckhdq %ymm2, %ymm0, %ymm0 1978vpunpckldq %ymm3, %ymm1, %ymm2 1979vpunpckhdq %ymm3, %ymm1, %ymm1 1980vpunpcklqdq %ymm13, %ymm11, %ymm3 1981vpunpckhqdq %ymm13, %ymm11, %ymm13 1982vpunpcklqdq %ymm0, %ymm12, %ymm11 1983vpunpckhqdq %ymm0, %ymm12, %ymm0 1984vpunpcklqdq %ymm2, %ymm14, %ymm12 1985vpunpckhqdq %ymm2, %ymm14, %ymm2 1986vpunpcklqdq %ymm1, %ymm15, %ymm14 1987vpunpckhqdq %ymm1, %ymm15, %ymm1 1988vinserti128 $1, %xmm3, %ymm4, %ymm15 1989vmovdqa %ymm15, 1920(%r9) 1990vinserti128 $1, %xmm13, %ymm5, %ymm15 1991vmovdqa %ymm15, 1952(%r9) 1992vinserti128 $1, %xmm11, %ymm6, %ymm15 1993vmovdqa %ymm15, 1984(%r9) 1994vinserti128 $1, %xmm0, %ymm7, %ymm15 1995vmovdqa %ymm15, 2016(%r9) 1996vinserti128 $1, %xmm12, %ymm8, %ymm15 1997vmovdqa %ymm15, 2048(%r9) 1998vinserti128 $1, %xmm2, %ymm9, %ymm15 1999vmovdqa %ymm15, 2080(%r9) 2000vinserti128 $1, %xmm14, %ymm10, %ymm15 2001vmovdqa %ymm15, 2112(%r9) 2002vpermq $78, %ymm4, %ymm4 2003vpermq $78, %ymm5, %ymm5 2004vpermq $78, %ymm6, %ymm6 2005vpermq $78, %ymm7, %ymm7 2006vpermq $78, %ymm8, %ymm8 2007vpermq $78, %ymm9, %ymm9 2008vpermq $78, %ymm10, %ymm10 2009vinserti128 $0, %xmm4, %ymm3, %ymm15 2010vmovdqa %ymm15, 2176(%r9) 2011vinserti128 $0, %xmm5, %ymm13, %ymm15 2012vmovdqa %ymm15, 2208(%r9) 2013vinserti128 $0, %xmm6, %ymm11, %ymm15 2014vmovdqa %ymm15, 2240(%r9) 2015vinserti128 $0, %xmm7, %ymm0, %ymm15 2016vmovdqa %ymm15, 2272(%r9) 2017vinserti128 $0, %xmm8, %ymm12, %ymm15 2018vmovdqa %ymm15, 2304(%r9) 2019vinserti128 $0, %xmm9, %ymm2, %ymm15 2020vmovdqa %ymm15, 2336(%r9) 2021vinserti128 $0, %xmm10, %ymm14, %ymm15 2022vmovdqa %ymm15, 2368(%r9) 2023vmovdqa 0(%r8), %ymm11 2024vinserti128 $1, %xmm1, %ymm11, %ymm14 2025vmovdqa %ymm14, 2144(%r9) 2026vpermq $78, %ymm11, %ymm11 2027vinserti128 $0, %xmm11, %ymm1, %ymm1 2028vmovdqa %ymm1, 2400(%r9) 2029vmovdqa 64(%r11), %ymm0 2030vmovdqa 256(%r11), %ymm1 2031vmovdqa 448(%r11), %ymm2 2032vmovdqa 640(%r11), %ymm3 2033vpunpcklwd 160(%r11), %ymm0, %ymm4 2034vpunpckhwd 160(%r11), %ymm0, %ymm5 2035vpunpcklwd 352(%r11), %ymm1, %ymm6 2036vpunpckhwd 352(%r11), %ymm1, %ymm7 2037vpunpcklwd 544(%r11), %ymm2, %ymm8 2038vpunpckhwd 544(%r11), %ymm2, %ymm9 2039vpunpcklwd 736(%r11), %ymm3, %ymm10 2040vpunpckhwd 736(%r11), %ymm3, %ymm11 2041vpunpckldq %ymm6, %ymm4, %ymm0 2042vpunpckhdq %ymm6, %ymm4, %ymm1 2043vpunpckldq %ymm7, %ymm5, %ymm2 2044vpunpckhdq %ymm7, %ymm5, %ymm3 2045vpunpckldq %ymm10, %ymm8, %ymm12 2046vpunpckhdq %ymm10, %ymm8, %ymm13 2047vpunpckldq %ymm11, %ymm9, %ymm14 2048vpunpckhdq %ymm11, %ymm9, %ymm15 2049vpunpcklqdq %ymm12, %ymm0, %ymm4 2050vpunpckhqdq %ymm12, %ymm0, %ymm5 2051vpunpcklqdq %ymm13, %ymm1, %ymm6 2052vpunpckhqdq %ymm13, %ymm1, %ymm7 2053vpunpcklqdq %ymm14, %ymm2, %ymm8 2054vpunpckhqdq %ymm14, %ymm2, %ymm9 2055vpunpcklqdq %ymm15, %ymm3, %ymm10 2056vpunpckhqdq %ymm15, %ymm3, %ymm11 2057vmovdqa 832(%r11), %ymm0 2058vmovdqa 1024(%r11), %ymm1 2059vmovdqa 1216(%r11), %ymm2 2060vmovdqa 1408(%r11), %ymm3 2061vpunpcklwd 928(%r11), %ymm0, %ymm12 2062vpunpckhwd 928(%r11), %ymm0, %ymm13 2063vpunpcklwd 1120(%r11), %ymm1, %ymm14 2064vpunpckhwd 1120(%r11), %ymm1, %ymm15 2065vpunpcklwd 1312(%r11), %ymm2, %ymm0 2066vpunpckhwd 1312(%r11), %ymm2, %ymm1 2067vpunpcklwd 1504(%r11), %ymm3, %ymm2 2068vpunpckhwd 1504(%r11), %ymm3, %ymm3 2069vmovdqa %ymm11, 0(%r8) 2070vpunpckldq %ymm14, %ymm12, %ymm11 2071vpunpckhdq %ymm14, %ymm12, %ymm12 2072vpunpckldq %ymm15, %ymm13, %ymm14 2073vpunpckhdq %ymm15, %ymm13, %ymm15 2074vpunpckldq %ymm2, %ymm0, %ymm13 2075vpunpckhdq %ymm2, %ymm0, %ymm0 2076vpunpckldq %ymm3, %ymm1, %ymm2 2077vpunpckhdq %ymm3, %ymm1, %ymm1 2078vpunpcklqdq %ymm13, %ymm11, %ymm3 2079vpunpckhqdq %ymm13, %ymm11, %ymm13 2080vpunpcklqdq %ymm0, %ymm12, %ymm11 2081vpunpckhqdq %ymm0, %ymm12, %ymm0 2082vpunpcklqdq %ymm2, %ymm14, %ymm12 2083vpunpckhqdq %ymm2, %ymm14, %ymm2 2084vpunpcklqdq %ymm1, %ymm15, %ymm14 2085vpunpckhqdq %ymm1, %ymm15, %ymm1 2086vinserti128 $1, %xmm3, %ymm4, %ymm15 2087vmovdqa %ymm15, 2432(%r9) 2088vinserti128 $1, %xmm13, %ymm5, %ymm15 2089vmovdqa %ymm15, 2464(%r9) 2090vinserti128 $1, %xmm11, %ymm6, %ymm15 2091vmovdqa %ymm15, 2496(%r9) 2092vinserti128 $1, %xmm0, %ymm7, %ymm15 2093vmovdqa %ymm15, 2528(%r9) 2094vinserti128 $1, %xmm12, %ymm8, %ymm15 2095vmovdqa %ymm15, 2560(%r9) 2096vinserti128 $1, %xmm2, %ymm9, %ymm15 2097vmovdqa %ymm15, 2592(%r9) 2098vinserti128 $1, %xmm14, %ymm10, %ymm15 2099vmovdqa %ymm15, 2624(%r9) 2100vpermq $78, %ymm4, %ymm4 2101vpermq $78, %ymm5, %ymm5 2102vpermq $78, %ymm6, %ymm6 2103vpermq $78, %ymm7, %ymm7 2104vpermq $78, %ymm8, %ymm8 2105vpermq $78, %ymm9, %ymm9 2106vpermq $78, %ymm10, %ymm10 2107vinserti128 $0, %xmm4, %ymm3, %ymm15 2108vmovdqa %ymm15, 2688(%r9) 2109vinserti128 $0, %xmm5, %ymm13, %ymm15 2110vmovdqa %ymm15, 2720(%r9) 2111vinserti128 $0, %xmm6, %ymm11, %ymm15 2112vmovdqa %ymm15, 2752(%r9) 2113vinserti128 $0, %xmm7, %ymm0, %ymm15 2114vmovdqa %ymm15, 2784(%r9) 2115vmovdqa 0(%r8), %ymm11 2116vinserti128 $1, %xmm1, %ymm11, %ymm14 2117vmovdqa %ymm14, 2656(%r9) 2118addq $32, %r8 2119innerloop_4eced63f144beffcb0247f9c6f67d165: 2120vmovdqa 0(%r9), %ymm0 2121vmovdqa 1408(%r9), %ymm6 2122vmovdqa 32(%r9), %ymm1 2123vmovdqa 1440(%r9), %ymm7 2124vmovdqa 64(%r9), %ymm2 2125vmovdqa 1472(%r9), %ymm8 2126vmovdqa 96(%r9), %ymm3 2127vmovdqa 1504(%r9), %ymm9 2128vmovdqa 128(%r9), %ymm4 2129vmovdqa 1536(%r9), %ymm10 2130vmovdqa 160(%r9), %ymm5 2131vmovdqa 1568(%r9), %ymm11 2132vpmullw %ymm0, %ymm6, %ymm12 2133vmovdqa %ymm12, 2816(%r10) 2134vpmullw %ymm0, %ymm7, %ymm13 2135vpmullw %ymm1, %ymm6, %ymm15 2136vpaddw %ymm13, %ymm15, %ymm13 2137vmovdqa %ymm13, 2848(%r10) 2138vpmullw %ymm0, %ymm8, %ymm12 2139vpmullw %ymm1, %ymm7, %ymm15 2140vpaddw %ymm12, %ymm15, %ymm12 2141vpmullw %ymm2, %ymm6, %ymm15 2142vpaddw %ymm12, %ymm15, %ymm12 2143vmovdqa %ymm12, 2880(%r10) 2144vpmullw %ymm0, %ymm9, %ymm13 2145vpmullw %ymm1, %ymm8, %ymm15 2146vpaddw %ymm13, %ymm15, %ymm13 2147vpmullw %ymm2, %ymm7, %ymm15 2148vpaddw %ymm13, %ymm15, %ymm13 2149vpmullw %ymm3, %ymm6, %ymm15 2150vpaddw %ymm13, %ymm15, %ymm13 2151vmovdqa %ymm13, 2912(%r10) 2152vpmullw %ymm0, %ymm10, %ymm12 2153vpmullw %ymm1, %ymm9, %ymm15 2154vpaddw %ymm12, %ymm15, %ymm12 2155vpmullw %ymm2, %ymm8, %ymm15 2156vpaddw %ymm12, %ymm15, %ymm12 2157vpmullw %ymm3, %ymm7, %ymm15 2158vpaddw %ymm12, %ymm15, %ymm12 2159vpmullw %ymm4, %ymm6, %ymm15 2160vpaddw %ymm12, %ymm15, %ymm12 2161vmovdqa %ymm12, 2944(%r10) 2162vpmullw %ymm0, %ymm11, %ymm13 2163vpmullw %ymm1, %ymm10, %ymm15 2164vpaddw %ymm13, %ymm15, %ymm13 2165vpmullw %ymm2, %ymm9, %ymm15 2166vpaddw %ymm13, %ymm15, %ymm13 2167vpmullw %ymm3, %ymm8, %ymm15 2168vpaddw %ymm13, %ymm15, %ymm13 2169vpmullw %ymm4, %ymm7, %ymm15 2170vpaddw %ymm13, %ymm15, %ymm13 2171vpmullw %ymm5, %ymm6, %ymm15 2172vpaddw %ymm13, %ymm15, %ymm13 2173vmovdqa %ymm13, 2976(%r10) 2174vpmullw %ymm1, %ymm11, %ymm12 2175vpmullw %ymm2, %ymm10, %ymm15 2176vpaddw %ymm12, %ymm15, %ymm12 2177vpmullw %ymm3, %ymm9, %ymm15 2178vpaddw %ymm12, %ymm15, %ymm12 2179vpmullw %ymm4, %ymm8, %ymm15 2180vpaddw %ymm12, %ymm15, %ymm12 2181vpmullw %ymm5, %ymm7, %ymm15 2182vpaddw %ymm12, %ymm15, %ymm12 2183vmovdqa %ymm12, 3008(%r10) 2184vpmullw %ymm2, %ymm11, %ymm13 2185vpmullw %ymm3, %ymm10, %ymm15 2186vpaddw %ymm13, %ymm15, %ymm13 2187vpmullw %ymm4, %ymm9, %ymm15 2188vpaddw %ymm13, %ymm15, %ymm13 2189vpmullw %ymm5, %ymm8, %ymm15 2190vpaddw %ymm13, %ymm15, %ymm13 2191vmovdqa %ymm13, 3040(%r10) 2192vpmullw %ymm3, %ymm11, %ymm12 2193vpmullw %ymm4, %ymm10, %ymm15 2194vpaddw %ymm12, %ymm15, %ymm12 2195vpmullw %ymm5, %ymm9, %ymm15 2196vpaddw %ymm12, %ymm15, %ymm12 2197vmovdqa %ymm12, 3072(%r10) 2198vpmullw %ymm4, %ymm11, %ymm13 2199vpmullw %ymm5, %ymm10, %ymm15 2200vpaddw %ymm13, %ymm15, %ymm13 2201vmovdqa %ymm13, 3104(%r10) 2202vpmullw %ymm5, %ymm11, %ymm12 2203vmovdqa %ymm12, 3136(%r10) 2204vmovdqa 192(%r9), %ymm0 2205vmovdqa 1600(%r9), %ymm6 2206vmovdqa 224(%r9), %ymm1 2207vmovdqa 1632(%r9), %ymm7 2208vmovdqa 256(%r9), %ymm2 2209vmovdqa 1664(%r9), %ymm8 2210vmovdqa 288(%r9), %ymm3 2211vmovdqa 1696(%r9), %ymm9 2212vmovdqa 320(%r9), %ymm4 2213vmovdqa 1728(%r9), %ymm10 2214vpmullw %ymm0, %ymm6, %ymm12 2215vmovdqa %ymm12, 3200(%r10) 2216vpmullw %ymm0, %ymm7, %ymm13 2217vpmullw %ymm1, %ymm6, %ymm15 2218vpaddw %ymm13, %ymm15, %ymm13 2219vmovdqa %ymm13, 3232(%r10) 2220vpmullw %ymm0, %ymm8, %ymm12 2221vpmullw %ymm1, %ymm7, %ymm15 2222vpaddw %ymm12, %ymm15, %ymm12 2223vpmullw %ymm2, %ymm6, %ymm15 2224vpaddw %ymm12, %ymm15, %ymm12 2225vmovdqa %ymm12, 3264(%r10) 2226vpmullw %ymm0, %ymm9, %ymm13 2227vpmullw %ymm1, %ymm8, %ymm15 2228vpaddw %ymm13, %ymm15, %ymm13 2229vpmullw %ymm2, %ymm7, %ymm15 2230vpaddw %ymm13, %ymm15, %ymm13 2231vpmullw %ymm3, %ymm6, %ymm15 2232vpaddw %ymm13, %ymm15, %ymm13 2233vmovdqa %ymm13, 3296(%r10) 2234vpmullw %ymm0, %ymm10, %ymm12 2235vpmullw %ymm1, %ymm9, %ymm15 2236vpaddw %ymm12, %ymm15, %ymm12 2237vpmullw %ymm2, %ymm8, %ymm15 2238vpaddw %ymm12, %ymm15, %ymm12 2239vpmullw %ymm3, %ymm7, %ymm15 2240vpaddw %ymm12, %ymm15, %ymm12 2241vpmullw %ymm4, %ymm6, %ymm15 2242vpaddw %ymm12, %ymm15, %ymm12 2243vmovdqa %ymm12, 3328(%r10) 2244vpmullw %ymm1, %ymm10, %ymm13 2245vpmullw %ymm2, %ymm9, %ymm15 2246vpaddw %ymm13, %ymm15, %ymm13 2247vpmullw %ymm3, %ymm8, %ymm15 2248vpaddw %ymm13, %ymm15, %ymm13 2249vpmullw %ymm4, %ymm7, %ymm15 2250vpaddw %ymm13, %ymm15, %ymm13 2251vmovdqa %ymm13, 3360(%r10) 2252vpmullw %ymm2, %ymm10, %ymm12 2253vpmullw %ymm3, %ymm9, %ymm15 2254vpaddw %ymm12, %ymm15, %ymm12 2255vpmullw %ymm4, %ymm8, %ymm15 2256vpaddw %ymm12, %ymm15, %ymm12 2257vmovdqa %ymm12, 3392(%r10) 2258vpmullw %ymm3, %ymm10, %ymm13 2259vpmullw %ymm4, %ymm9, %ymm15 2260vpaddw %ymm13, %ymm15, %ymm13 2261vmovdqa %ymm13, 3424(%r10) 2262vpmullw %ymm4, %ymm10, %ymm12 2263vmovdqa %ymm12, 3456(%r10) 2264vpaddw 0(%r9), %ymm0, %ymm0 2265vpaddw 1408(%r9), %ymm6, %ymm6 2266vpaddw 32(%r9), %ymm1, %ymm1 2267vpaddw 1440(%r9), %ymm7, %ymm7 2268vpaddw 64(%r9), %ymm2, %ymm2 2269vpaddw 1472(%r9), %ymm8, %ymm8 2270vpaddw 96(%r9), %ymm3, %ymm3 2271vpaddw 1504(%r9), %ymm9, %ymm9 2272vpaddw 128(%r9), %ymm4, %ymm4 2273vpaddw 1536(%r9), %ymm10, %ymm10 2274vpmullw %ymm0, %ymm11, %ymm12 2275vpmullw %ymm1, %ymm10, %ymm15 2276vpaddw %ymm15, %ymm12, %ymm12 2277vpmullw %ymm2, %ymm9, %ymm15 2278vpaddw %ymm15, %ymm12, %ymm12 2279vpmullw %ymm3, %ymm8, %ymm15 2280vpaddw %ymm15, %ymm12, %ymm12 2281vpmullw %ymm4, %ymm7, %ymm15 2282vpaddw %ymm15, %ymm12, %ymm12 2283vpmullw %ymm5, %ymm6, %ymm15 2284vpaddw %ymm15, %ymm12, %ymm12 2285vpsubw 2976(%r10), %ymm12, %ymm12 2286vpsubw 3360(%r10), %ymm12, %ymm12 2287vmovdqa %ymm12, 3168(%r10) 2288vpmullw %ymm5, %ymm7, %ymm12 2289vpmullw %ymm5, %ymm8, %ymm13 2290vpmullw %ymm5, %ymm9, %ymm14 2291vpmullw %ymm5, %ymm10, %ymm15 2292vpmullw %ymm1, %ymm11, %ymm5 2293vpaddw %ymm5, %ymm12, %ymm12 2294vpmullw %ymm2, %ymm10, %ymm5 2295vpaddw %ymm5, %ymm12, %ymm12 2296vpmullw %ymm3, %ymm9, %ymm5 2297vpaddw %ymm5, %ymm12, %ymm12 2298vpmullw %ymm4, %ymm8, %ymm5 2299vpaddw %ymm5, %ymm12, %ymm12 2300vpmullw %ymm2, %ymm11, %ymm5 2301vpaddw %ymm5, %ymm13, %ymm13 2302vpmullw %ymm3, %ymm10, %ymm5 2303vpaddw %ymm5, %ymm13, %ymm13 2304vpmullw %ymm4, %ymm9, %ymm5 2305vpaddw %ymm5, %ymm13, %ymm13 2306vpmullw %ymm3, %ymm11, %ymm5 2307vpaddw %ymm5, %ymm14, %ymm14 2308vpmullw %ymm4, %ymm10, %ymm5 2309vpaddw %ymm5, %ymm14, %ymm14 2310vpmullw %ymm4, %ymm11, %ymm5 2311vpaddw %ymm5, %ymm15, %ymm15 2312vpmullw %ymm0, %ymm10, %ymm11 2313vpmullw %ymm1, %ymm9, %ymm5 2314vpaddw %ymm5, %ymm11, %ymm11 2315vpmullw %ymm2, %ymm8, %ymm5 2316vpaddw %ymm5, %ymm11, %ymm11 2317vpmullw %ymm3, %ymm7, %ymm5 2318vpaddw %ymm5, %ymm11, %ymm11 2319vpmullw %ymm4, %ymm6, %ymm5 2320vpaddw %ymm5, %ymm11, %ymm11 2321vpmullw %ymm0, %ymm9, %ymm10 2322vpmullw %ymm1, %ymm8, %ymm5 2323vpaddw %ymm5, %ymm10, %ymm10 2324vpmullw %ymm2, %ymm7, %ymm5 2325vpaddw %ymm5, %ymm10, %ymm10 2326vpmullw %ymm3, %ymm6, %ymm5 2327vpaddw %ymm5, %ymm10, %ymm10 2328vpmullw %ymm0, %ymm8, %ymm9 2329vpmullw %ymm1, %ymm7, %ymm5 2330vpaddw %ymm5, %ymm9, %ymm9 2331vpmullw %ymm2, %ymm6, %ymm5 2332vpaddw %ymm5, %ymm9, %ymm9 2333vpmullw %ymm0, %ymm7, %ymm8 2334vpmullw %ymm1, %ymm6, %ymm5 2335vpaddw %ymm5, %ymm8, %ymm8 2336vpmullw %ymm0, %ymm6, %ymm7 2337vmovdqa 3008(%r10), %ymm0 2338vpsubw 3200(%r10), %ymm0, %ymm0 2339vpsubw %ymm0, %ymm12, %ymm6 2340vpsubw 3392(%r10), %ymm6, %ymm6 2341vmovdqa %ymm6, 3200(%r10) 2342vpaddw %ymm7, %ymm0, %ymm0 2343vpsubw 2816(%r10), %ymm0, %ymm0 2344vmovdqa %ymm0, 3008(%r10) 2345vmovdqa 3040(%r10), %ymm1 2346vpsubw 3232(%r10), %ymm1, %ymm1 2347vpsubw %ymm1, %ymm13, %ymm7 2348vpsubw 3424(%r10), %ymm7, %ymm7 2349vmovdqa %ymm7, 3232(%r10) 2350vpaddw %ymm8, %ymm1, %ymm1 2351vpsubw 2848(%r10), %ymm1, %ymm1 2352vmovdqa %ymm1, 3040(%r10) 2353vmovdqa 3072(%r10), %ymm2 2354vpsubw 3264(%r10), %ymm2, %ymm2 2355vpsubw %ymm2, %ymm14, %ymm8 2356vpsubw 3456(%r10), %ymm8, %ymm8 2357vmovdqa %ymm8, 3264(%r10) 2358vpaddw %ymm9, %ymm2, %ymm2 2359vpsubw 2880(%r10), %ymm2, %ymm2 2360vmovdqa %ymm2, 3072(%r10) 2361vmovdqa 3104(%r10), %ymm3 2362vpsubw 3296(%r10), %ymm3, %ymm3 2363vpsubw %ymm3, %ymm15, %ymm9 2364vmovdqa %ymm9, 3296(%r10) 2365vpaddw %ymm10, %ymm3, %ymm3 2366vpsubw 2912(%r10), %ymm3, %ymm3 2367vmovdqa %ymm3, 3104(%r10) 2368vmovdqa 3136(%r10), %ymm4 2369vpsubw 3328(%r10), %ymm4, %ymm4 2370vpaddw %ymm11, %ymm4, %ymm4 2371vpsubw 2944(%r10), %ymm4, %ymm4 2372vmovdqa %ymm4, 3136(%r10) 2373vmovdqa 352(%r9), %ymm0 2374vmovdqa 1760(%r9), %ymm6 2375vmovdqa 384(%r9), %ymm1 2376vmovdqa 1792(%r9), %ymm7 2377vmovdqa 416(%r9), %ymm2 2378vmovdqa 1824(%r9), %ymm8 2379vmovdqa 448(%r9), %ymm3 2380vmovdqa 1856(%r9), %ymm9 2381vmovdqa 480(%r9), %ymm4 2382vmovdqa 1888(%r9), %ymm10 2383vmovdqa 512(%r9), %ymm5 2384vmovdqa 1920(%r9), %ymm11 2385vpmullw %ymm0, %ymm6, %ymm12 2386vmovdqa %ymm12, 3520(%r10) 2387vpmullw %ymm0, %ymm7, %ymm13 2388vpmullw %ymm1, %ymm6, %ymm15 2389vpaddw %ymm13, %ymm15, %ymm13 2390vmovdqa %ymm13, 3552(%r10) 2391vpmullw %ymm0, %ymm8, %ymm12 2392vpmullw %ymm1, %ymm7, %ymm15 2393vpaddw %ymm12, %ymm15, %ymm12 2394vpmullw %ymm2, %ymm6, %ymm15 2395vpaddw %ymm12, %ymm15, %ymm12 2396vmovdqa %ymm12, 3584(%r10) 2397vpmullw %ymm0, %ymm9, %ymm13 2398vpmullw %ymm1, %ymm8, %ymm15 2399vpaddw %ymm13, %ymm15, %ymm13 2400vpmullw %ymm2, %ymm7, %ymm15 2401vpaddw %ymm13, %ymm15, %ymm13 2402vpmullw %ymm3, %ymm6, %ymm15 2403vpaddw %ymm13, %ymm15, %ymm13 2404vmovdqa %ymm13, 3616(%r10) 2405vpmullw %ymm0, %ymm10, %ymm12 2406vpmullw %ymm1, %ymm9, %ymm15 2407vpaddw %ymm12, %ymm15, %ymm12 2408vpmullw %ymm2, %ymm8, %ymm15 2409vpaddw %ymm12, %ymm15, %ymm12 2410vpmullw %ymm3, %ymm7, %ymm15 2411vpaddw %ymm12, %ymm15, %ymm12 2412vpmullw %ymm4, %ymm6, %ymm15 2413vpaddw %ymm12, %ymm15, %ymm12 2414vmovdqa %ymm12, 3648(%r10) 2415vpmullw %ymm0, %ymm11, %ymm13 2416vpmullw %ymm1, %ymm10, %ymm15 2417vpaddw %ymm13, %ymm15, %ymm13 2418vpmullw %ymm2, %ymm9, %ymm15 2419vpaddw %ymm13, %ymm15, %ymm13 2420vpmullw %ymm3, %ymm8, %ymm15 2421vpaddw %ymm13, %ymm15, %ymm13 2422vpmullw %ymm4, %ymm7, %ymm15 2423vpaddw %ymm13, %ymm15, %ymm13 2424vpmullw %ymm5, %ymm6, %ymm15 2425vpaddw %ymm13, %ymm15, %ymm13 2426vmovdqa %ymm13, 3680(%r10) 2427vpmullw %ymm1, %ymm11, %ymm12 2428vpmullw %ymm2, %ymm10, %ymm15 2429vpaddw %ymm12, %ymm15, %ymm12 2430vpmullw %ymm3, %ymm9, %ymm15 2431vpaddw %ymm12, %ymm15, %ymm12 2432vpmullw %ymm4, %ymm8, %ymm15 2433vpaddw %ymm12, %ymm15, %ymm12 2434vpmullw %ymm5, %ymm7, %ymm15 2435vpaddw %ymm12, %ymm15, %ymm12 2436vmovdqa %ymm12, 3712(%r10) 2437vpmullw %ymm2, %ymm11, %ymm13 2438vpmullw %ymm3, %ymm10, %ymm15 2439vpaddw %ymm13, %ymm15, %ymm13 2440vpmullw %ymm4, %ymm9, %ymm15 2441vpaddw %ymm13, %ymm15, %ymm13 2442vpmullw %ymm5, %ymm8, %ymm15 2443vpaddw %ymm13, %ymm15, %ymm13 2444vmovdqa %ymm13, 3744(%r10) 2445vpmullw %ymm3, %ymm11, %ymm12 2446vpmullw %ymm4, %ymm10, %ymm15 2447vpaddw %ymm12, %ymm15, %ymm12 2448vpmullw %ymm5, %ymm9, %ymm15 2449vpaddw %ymm12, %ymm15, %ymm12 2450vmovdqa %ymm12, 3776(%r10) 2451vpmullw %ymm4, %ymm11, %ymm13 2452vpmullw %ymm5, %ymm10, %ymm15 2453vpaddw %ymm13, %ymm15, %ymm13 2454vmovdqa %ymm13, 3808(%r10) 2455vpmullw %ymm5, %ymm11, %ymm12 2456vmovdqa %ymm12, 3840(%r10) 2457vmovdqa 544(%r9), %ymm0 2458vmovdqa 1952(%r9), %ymm6 2459vmovdqa 576(%r9), %ymm1 2460vmovdqa 1984(%r9), %ymm7 2461vmovdqa 608(%r9), %ymm2 2462vmovdqa 2016(%r9), %ymm8 2463vmovdqa 640(%r9), %ymm3 2464vmovdqa 2048(%r9), %ymm9 2465vmovdqa 672(%r9), %ymm4 2466vmovdqa 2080(%r9), %ymm10 2467vpmullw %ymm0, %ymm6, %ymm12 2468vmovdqa %ymm12, 3904(%r10) 2469vpmullw %ymm0, %ymm7, %ymm13 2470vpmullw %ymm1, %ymm6, %ymm15 2471vpaddw %ymm13, %ymm15, %ymm13 2472vmovdqa %ymm13, 3936(%r10) 2473vpmullw %ymm0, %ymm8, %ymm12 2474vpmullw %ymm1, %ymm7, %ymm15 2475vpaddw %ymm12, %ymm15, %ymm12 2476vpmullw %ymm2, %ymm6, %ymm15 2477vpaddw %ymm12, %ymm15, %ymm12 2478vmovdqa %ymm12, 3968(%r10) 2479vpmullw %ymm0, %ymm9, %ymm13 2480vpmullw %ymm1, %ymm8, %ymm15 2481vpaddw %ymm13, %ymm15, %ymm13 2482vpmullw %ymm2, %ymm7, %ymm15 2483vpaddw %ymm13, %ymm15, %ymm13 2484vpmullw %ymm3, %ymm6, %ymm15 2485vpaddw %ymm13, %ymm15, %ymm13 2486vmovdqa %ymm13, 4000(%r10) 2487vpmullw %ymm0, %ymm10, %ymm12 2488vpmullw %ymm1, %ymm9, %ymm15 2489vpaddw %ymm12, %ymm15, %ymm12 2490vpmullw %ymm2, %ymm8, %ymm15 2491vpaddw %ymm12, %ymm15, %ymm12 2492vpmullw %ymm3, %ymm7, %ymm15 2493vpaddw %ymm12, %ymm15, %ymm12 2494vpmullw %ymm4, %ymm6, %ymm15 2495vpaddw %ymm12, %ymm15, %ymm12 2496vmovdqa %ymm12, 4032(%r10) 2497vpmullw %ymm1, %ymm10, %ymm13 2498vpmullw %ymm2, %ymm9, %ymm15 2499vpaddw %ymm13, %ymm15, %ymm13 2500vpmullw %ymm3, %ymm8, %ymm15 2501vpaddw %ymm13, %ymm15, %ymm13 2502vpmullw %ymm4, %ymm7, %ymm15 2503vpaddw %ymm13, %ymm15, %ymm13 2504vmovdqa %ymm13, 4064(%r10) 2505vpmullw %ymm2, %ymm10, %ymm12 2506vpmullw %ymm3, %ymm9, %ymm15 2507vpaddw %ymm12, %ymm15, %ymm12 2508vpmullw %ymm4, %ymm8, %ymm15 2509vpaddw %ymm12, %ymm15, %ymm12 2510vmovdqa %ymm12, 4096(%r10) 2511vpmullw %ymm3, %ymm10, %ymm13 2512vpmullw %ymm4, %ymm9, %ymm15 2513vpaddw %ymm13, %ymm15, %ymm13 2514vmovdqa %ymm13, 4128(%r10) 2515vpmullw %ymm4, %ymm10, %ymm12 2516vmovdqa %ymm12, 4160(%r10) 2517vpaddw 352(%r9), %ymm0, %ymm0 2518vpaddw 1760(%r9), %ymm6, %ymm6 2519vpaddw 384(%r9), %ymm1, %ymm1 2520vpaddw 1792(%r9), %ymm7, %ymm7 2521vpaddw 416(%r9), %ymm2, %ymm2 2522vpaddw 1824(%r9), %ymm8, %ymm8 2523vpaddw 448(%r9), %ymm3, %ymm3 2524vpaddw 1856(%r9), %ymm9, %ymm9 2525vpaddw 480(%r9), %ymm4, %ymm4 2526vpaddw 1888(%r9), %ymm10, %ymm10 2527vpmullw %ymm0, %ymm11, %ymm12 2528vpmullw %ymm1, %ymm10, %ymm15 2529vpaddw %ymm15, %ymm12, %ymm12 2530vpmullw %ymm2, %ymm9, %ymm15 2531vpaddw %ymm15, %ymm12, %ymm12 2532vpmullw %ymm3, %ymm8, %ymm15 2533vpaddw %ymm15, %ymm12, %ymm12 2534vpmullw %ymm4, %ymm7, %ymm15 2535vpaddw %ymm15, %ymm12, %ymm12 2536vpmullw %ymm5, %ymm6, %ymm15 2537vpaddw %ymm15, %ymm12, %ymm12 2538vpsubw 3680(%r10), %ymm12, %ymm12 2539vpsubw 4064(%r10), %ymm12, %ymm12 2540vmovdqa %ymm12, 3872(%r10) 2541vpmullw %ymm5, %ymm7, %ymm12 2542vpmullw %ymm5, %ymm8, %ymm13 2543vpmullw %ymm5, %ymm9, %ymm14 2544vpmullw %ymm5, %ymm10, %ymm15 2545vpmullw %ymm1, %ymm11, %ymm5 2546vpaddw %ymm5, %ymm12, %ymm12 2547vpmullw %ymm2, %ymm10, %ymm5 2548vpaddw %ymm5, %ymm12, %ymm12 2549vpmullw %ymm3, %ymm9, %ymm5 2550vpaddw %ymm5, %ymm12, %ymm12 2551vpmullw %ymm4, %ymm8, %ymm5 2552vpaddw %ymm5, %ymm12, %ymm12 2553vpmullw %ymm2, %ymm11, %ymm5 2554vpaddw %ymm5, %ymm13, %ymm13 2555vpmullw %ymm3, %ymm10, %ymm5 2556vpaddw %ymm5, %ymm13, %ymm13 2557vpmullw %ymm4, %ymm9, %ymm5 2558vpaddw %ymm5, %ymm13, %ymm13 2559vpmullw %ymm3, %ymm11, %ymm5 2560vpaddw %ymm5, %ymm14, %ymm14 2561vpmullw %ymm4, %ymm10, %ymm5 2562vpaddw %ymm5, %ymm14, %ymm14 2563vpmullw %ymm4, %ymm11, %ymm5 2564vpaddw %ymm5, %ymm15, %ymm15 2565vpmullw %ymm0, %ymm10, %ymm11 2566vpmullw %ymm1, %ymm9, %ymm5 2567vpaddw %ymm5, %ymm11, %ymm11 2568vpmullw %ymm2, %ymm8, %ymm5 2569vpaddw %ymm5, %ymm11, %ymm11 2570vpmullw %ymm3, %ymm7, %ymm5 2571vpaddw %ymm5, %ymm11, %ymm11 2572vpmullw %ymm4, %ymm6, %ymm5 2573vpaddw %ymm5, %ymm11, %ymm11 2574vpmullw %ymm0, %ymm9, %ymm10 2575vpmullw %ymm1, %ymm8, %ymm5 2576vpaddw %ymm5, %ymm10, %ymm10 2577vpmullw %ymm2, %ymm7, %ymm5 2578vpaddw %ymm5, %ymm10, %ymm10 2579vpmullw %ymm3, %ymm6, %ymm5 2580vpaddw %ymm5, %ymm10, %ymm10 2581vpmullw %ymm0, %ymm8, %ymm9 2582vpmullw %ymm1, %ymm7, %ymm5 2583vpaddw %ymm5, %ymm9, %ymm9 2584vpmullw %ymm2, %ymm6, %ymm5 2585vpaddw %ymm5, %ymm9, %ymm9 2586vpmullw %ymm0, %ymm7, %ymm8 2587vpmullw %ymm1, %ymm6, %ymm5 2588vpaddw %ymm5, %ymm8, %ymm8 2589vpmullw %ymm0, %ymm6, %ymm7 2590vmovdqa 3712(%r10), %ymm0 2591vpsubw 3904(%r10), %ymm0, %ymm0 2592vpsubw %ymm0, %ymm12, %ymm6 2593vpsubw 4096(%r10), %ymm6, %ymm6 2594vmovdqa %ymm6, 3904(%r10) 2595vpaddw %ymm7, %ymm0, %ymm0 2596vpsubw 3520(%r10), %ymm0, %ymm0 2597vmovdqa %ymm0, 3712(%r10) 2598vmovdqa 3744(%r10), %ymm1 2599vpsubw 3936(%r10), %ymm1, %ymm1 2600vpsubw %ymm1, %ymm13, %ymm7 2601vpsubw 4128(%r10), %ymm7, %ymm7 2602vmovdqa %ymm7, 3936(%r10) 2603vpaddw %ymm8, %ymm1, %ymm1 2604vpsubw 3552(%r10), %ymm1, %ymm1 2605vmovdqa %ymm1, 3744(%r10) 2606vmovdqa 3776(%r10), %ymm2 2607vpsubw 3968(%r10), %ymm2, %ymm2 2608vpsubw %ymm2, %ymm14, %ymm8 2609vpsubw 4160(%r10), %ymm8, %ymm8 2610vmovdqa %ymm8, 3968(%r10) 2611vpaddw %ymm9, %ymm2, %ymm2 2612vpsubw 3584(%r10), %ymm2, %ymm2 2613vmovdqa %ymm2, 3776(%r10) 2614vmovdqa 3808(%r10), %ymm3 2615vpsubw 4000(%r10), %ymm3, %ymm3 2616vpsubw %ymm3, %ymm15, %ymm9 2617vmovdqa %ymm9, 4000(%r10) 2618vpaddw %ymm10, %ymm3, %ymm3 2619vpsubw 3616(%r10), %ymm3, %ymm3 2620vmovdqa %ymm3, 3808(%r10) 2621vmovdqa 3840(%r10), %ymm4 2622vpsubw 4032(%r10), %ymm4, %ymm4 2623vpaddw %ymm11, %ymm4, %ymm4 2624vpsubw 3648(%r10), %ymm4, %ymm4 2625vmovdqa %ymm4, 3840(%r10) 2626vmovdqa 0(%r9), %ymm0 2627vmovdqa 1408(%r9), %ymm6 2628vpaddw 352(%r9), %ymm0, %ymm0 2629vpaddw 1760(%r9), %ymm6, %ymm6 2630vmovdqa 32(%r9), %ymm1 2631vmovdqa 1440(%r9), %ymm7 2632vpaddw 384(%r9), %ymm1, %ymm1 2633vpaddw 1792(%r9), %ymm7, %ymm7 2634vmovdqa 64(%r9), %ymm2 2635vmovdqa 1472(%r9), %ymm8 2636vpaddw 416(%r9), %ymm2, %ymm2 2637vpaddw 1824(%r9), %ymm8, %ymm8 2638vmovdqa 96(%r9), %ymm3 2639vmovdqa 1504(%r9), %ymm9 2640vpaddw 448(%r9), %ymm3, %ymm3 2641vpaddw 1856(%r9), %ymm9, %ymm9 2642vmovdqa 128(%r9), %ymm4 2643vmovdqa 1536(%r9), %ymm10 2644vpaddw 480(%r9), %ymm4, %ymm4 2645vpaddw 1888(%r9), %ymm10, %ymm10 2646vmovdqa 160(%r9), %ymm5 2647vmovdqa 1568(%r9), %ymm11 2648vpaddw 512(%r9), %ymm5, %ymm5 2649vpaddw 1920(%r9), %ymm11, %ymm11 2650vpmullw %ymm0, %ymm6, %ymm12 2651vmovdqa %ymm12, 5888(%r8) 2652vpmullw %ymm0, %ymm7, %ymm13 2653vpmullw %ymm1, %ymm6, %ymm15 2654vpaddw %ymm13, %ymm15, %ymm13 2655vmovdqa %ymm13, 5920(%r8) 2656vpmullw %ymm0, %ymm8, %ymm12 2657vpmullw %ymm1, %ymm7, %ymm15 2658vpaddw %ymm12, %ymm15, %ymm12 2659vpmullw %ymm2, %ymm6, %ymm15 2660vpaddw %ymm12, %ymm15, %ymm12 2661vmovdqa %ymm12, 5952(%r8) 2662vpmullw %ymm0, %ymm9, %ymm13 2663vpmullw %ymm1, %ymm8, %ymm15 2664vpaddw %ymm13, %ymm15, %ymm13 2665vpmullw %ymm2, %ymm7, %ymm15 2666vpaddw %ymm13, %ymm15, %ymm13 2667vpmullw %ymm3, %ymm6, %ymm15 2668vpaddw %ymm13, %ymm15, %ymm13 2669vmovdqa %ymm13, 5984(%r8) 2670vpmullw %ymm0, %ymm10, %ymm12 2671vpmullw %ymm1, %ymm9, %ymm15 2672vpaddw %ymm12, %ymm15, %ymm12 2673vpmullw %ymm2, %ymm8, %ymm15 2674vpaddw %ymm12, %ymm15, %ymm12 2675vpmullw %ymm3, %ymm7, %ymm15 2676vpaddw %ymm12, %ymm15, %ymm12 2677vpmullw %ymm4, %ymm6, %ymm15 2678vpaddw %ymm12, %ymm15, %ymm12 2679vmovdqa %ymm12, 6016(%r8) 2680vpmullw %ymm0, %ymm11, %ymm13 2681vpmullw %ymm1, %ymm10, %ymm15 2682vpaddw %ymm13, %ymm15, %ymm13 2683vpmullw %ymm2, %ymm9, %ymm15 2684vpaddw %ymm13, %ymm15, %ymm13 2685vpmullw %ymm3, %ymm8, %ymm15 2686vpaddw %ymm13, %ymm15, %ymm13 2687vpmullw %ymm4, %ymm7, %ymm15 2688vpaddw %ymm13, %ymm15, %ymm13 2689vpmullw %ymm5, %ymm6, %ymm15 2690vpaddw %ymm13, %ymm15, %ymm13 2691vmovdqa %ymm13, 6048(%r8) 2692vpmullw %ymm1, %ymm11, %ymm12 2693vpmullw %ymm2, %ymm10, %ymm15 2694vpaddw %ymm12, %ymm15, %ymm12 2695vpmullw %ymm3, %ymm9, %ymm15 2696vpaddw %ymm12, %ymm15, %ymm12 2697vpmullw %ymm4, %ymm8, %ymm15 2698vpaddw %ymm12, %ymm15, %ymm12 2699vpmullw %ymm5, %ymm7, %ymm15 2700vpaddw %ymm12, %ymm15, %ymm12 2701vmovdqa %ymm12, 6080(%r8) 2702vpmullw %ymm2, %ymm11, %ymm13 2703vpmullw %ymm3, %ymm10, %ymm15 2704vpaddw %ymm13, %ymm15, %ymm13 2705vpmullw %ymm4, %ymm9, %ymm15 2706vpaddw %ymm13, %ymm15, %ymm13 2707vpmullw %ymm5, %ymm8, %ymm15 2708vpaddw %ymm13, %ymm15, %ymm13 2709vmovdqa %ymm13, 6112(%r8) 2710vpmullw %ymm3, %ymm11, %ymm12 2711vpmullw %ymm4, %ymm10, %ymm15 2712vpaddw %ymm12, %ymm15, %ymm12 2713vpmullw %ymm5, %ymm9, %ymm15 2714vpaddw %ymm12, %ymm15, %ymm12 2715vmovdqa %ymm12, 6144(%r8) 2716vpmullw %ymm4, %ymm11, %ymm13 2717vpmullw %ymm5, %ymm10, %ymm15 2718vpaddw %ymm13, %ymm15, %ymm13 2719vmovdqa %ymm13, 6176(%r8) 2720vpmullw %ymm5, %ymm11, %ymm12 2721vmovdqa %ymm12, 6208(%r8) 2722vmovdqa 192(%r9), %ymm0 2723vmovdqa 1600(%r9), %ymm6 2724vpaddw 544(%r9), %ymm0, %ymm0 2725vpaddw 1952(%r9), %ymm6, %ymm6 2726vmovdqa 224(%r9), %ymm1 2727vmovdqa 1632(%r9), %ymm7 2728vpaddw 576(%r9), %ymm1, %ymm1 2729vpaddw 1984(%r9), %ymm7, %ymm7 2730vmovdqa 256(%r9), %ymm2 2731vmovdqa 1664(%r9), %ymm8 2732vpaddw 608(%r9), %ymm2, %ymm2 2733vpaddw 2016(%r9), %ymm8, %ymm8 2734vmovdqa 288(%r9), %ymm3 2735vmovdqa 1696(%r9), %ymm9 2736vpaddw 640(%r9), %ymm3, %ymm3 2737vpaddw 2048(%r9), %ymm9, %ymm9 2738vmovdqa 320(%r9), %ymm4 2739vmovdqa 1728(%r9), %ymm10 2740vpaddw 672(%r9), %ymm4, %ymm4 2741vpaddw 2080(%r9), %ymm10, %ymm10 2742vpmullw %ymm0, %ymm6, %ymm12 2743vmovdqa %ymm12, 6272(%r8) 2744vpmullw %ymm0, %ymm7, %ymm13 2745vpmullw %ymm1, %ymm6, %ymm15 2746vpaddw %ymm13, %ymm15, %ymm13 2747vmovdqa %ymm13, 6304(%r8) 2748vpmullw %ymm0, %ymm8, %ymm12 2749vpmullw %ymm1, %ymm7, %ymm15 2750vpaddw %ymm12, %ymm15, %ymm12 2751vpmullw %ymm2, %ymm6, %ymm15 2752vpaddw %ymm12, %ymm15, %ymm12 2753vmovdqa %ymm12, 6336(%r8) 2754vpmullw %ymm0, %ymm9, %ymm13 2755vpmullw %ymm1, %ymm8, %ymm15 2756vpaddw %ymm13, %ymm15, %ymm13 2757vpmullw %ymm2, %ymm7, %ymm15 2758vpaddw %ymm13, %ymm15, %ymm13 2759vpmullw %ymm3, %ymm6, %ymm15 2760vpaddw %ymm13, %ymm15, %ymm13 2761vmovdqa %ymm13, 6368(%r8) 2762vpmullw %ymm0, %ymm10, %ymm12 2763vpmullw %ymm1, %ymm9, %ymm15 2764vpaddw %ymm12, %ymm15, %ymm12 2765vpmullw %ymm2, %ymm8, %ymm15 2766vpaddw %ymm12, %ymm15, %ymm12 2767vpmullw %ymm3, %ymm7, %ymm15 2768vpaddw %ymm12, %ymm15, %ymm12 2769vpmullw %ymm4, %ymm6, %ymm15 2770vpaddw %ymm12, %ymm15, %ymm12 2771vmovdqa %ymm12, 6400(%r8) 2772vpmullw %ymm1, %ymm10, %ymm13 2773vpmullw %ymm2, %ymm9, %ymm15 2774vpaddw %ymm13, %ymm15, %ymm13 2775vpmullw %ymm3, %ymm8, %ymm15 2776vpaddw %ymm13, %ymm15, %ymm13 2777vpmullw %ymm4, %ymm7, %ymm15 2778vpaddw %ymm13, %ymm15, %ymm13 2779vmovdqa %ymm13, 6432(%r8) 2780vpmullw %ymm2, %ymm10, %ymm12 2781vpmullw %ymm3, %ymm9, %ymm15 2782vpaddw %ymm12, %ymm15, %ymm12 2783vpmullw %ymm4, %ymm8, %ymm15 2784vpaddw %ymm12, %ymm15, %ymm12 2785vmovdqa %ymm12, 6464(%r8) 2786vpmullw %ymm3, %ymm10, %ymm13 2787vpmullw %ymm4, %ymm9, %ymm15 2788vpaddw %ymm13, %ymm15, %ymm13 2789vmovdqa %ymm13, 6496(%r8) 2790vpmullw %ymm4, %ymm10, %ymm12 2791vmovdqa %ymm12, 6528(%r8) 2792vpaddw 0(%r9), %ymm0, %ymm0 2793vpaddw 1408(%r9), %ymm6, %ymm6 2794vpaddw 352(%r9), %ymm0, %ymm0 2795vpaddw 1760(%r9), %ymm6, %ymm6 2796vpaddw 32(%r9), %ymm1, %ymm1 2797vpaddw 1440(%r9), %ymm7, %ymm7 2798vpaddw 384(%r9), %ymm1, %ymm1 2799vpaddw 1792(%r9), %ymm7, %ymm7 2800vpaddw 64(%r9), %ymm2, %ymm2 2801vpaddw 1472(%r9), %ymm8, %ymm8 2802vpaddw 416(%r9), %ymm2, %ymm2 2803vpaddw 1824(%r9), %ymm8, %ymm8 2804vpaddw 96(%r9), %ymm3, %ymm3 2805vpaddw 1504(%r9), %ymm9, %ymm9 2806vpaddw 448(%r9), %ymm3, %ymm3 2807vpaddw 1856(%r9), %ymm9, %ymm9 2808vpaddw 128(%r9), %ymm4, %ymm4 2809vpaddw 1536(%r9), %ymm10, %ymm10 2810vpaddw 480(%r9), %ymm4, %ymm4 2811vpaddw 1888(%r9), %ymm10, %ymm10 2812vpmullw %ymm0, %ymm11, %ymm12 2813vpmullw %ymm1, %ymm10, %ymm15 2814vpaddw %ymm15, %ymm12, %ymm12 2815vpmullw %ymm2, %ymm9, %ymm15 2816vpaddw %ymm15, %ymm12, %ymm12 2817vpmullw %ymm3, %ymm8, %ymm15 2818vpaddw %ymm15, %ymm12, %ymm12 2819vpmullw %ymm4, %ymm7, %ymm15 2820vpaddw %ymm15, %ymm12, %ymm12 2821vpmullw %ymm5, %ymm6, %ymm15 2822vpaddw %ymm15, %ymm12, %ymm12 2823vpsubw 6048(%r8), %ymm12, %ymm12 2824vpsubw 6432(%r8), %ymm12, %ymm12 2825vmovdqa %ymm12, 6240(%r8) 2826vpmullw %ymm5, %ymm7, %ymm12 2827vpmullw %ymm5, %ymm8, %ymm13 2828vpmullw %ymm5, %ymm9, %ymm14 2829vpmullw %ymm5, %ymm10, %ymm15 2830vpmullw %ymm1, %ymm11, %ymm5 2831vpaddw %ymm5, %ymm12, %ymm12 2832vpmullw %ymm2, %ymm10, %ymm5 2833vpaddw %ymm5, %ymm12, %ymm12 2834vpmullw %ymm3, %ymm9, %ymm5 2835vpaddw %ymm5, %ymm12, %ymm12 2836vpmullw %ymm4, %ymm8, %ymm5 2837vpaddw %ymm5, %ymm12, %ymm12 2838vpmullw %ymm2, %ymm11, %ymm5 2839vpaddw %ymm5, %ymm13, %ymm13 2840vpmullw %ymm3, %ymm10, %ymm5 2841vpaddw %ymm5, %ymm13, %ymm13 2842vpmullw %ymm4, %ymm9, %ymm5 2843vpaddw %ymm5, %ymm13, %ymm13 2844vpmullw %ymm3, %ymm11, %ymm5 2845vpaddw %ymm5, %ymm14, %ymm14 2846vpmullw %ymm4, %ymm10, %ymm5 2847vpaddw %ymm5, %ymm14, %ymm14 2848vpmullw %ymm4, %ymm11, %ymm5 2849vpaddw %ymm5, %ymm15, %ymm15 2850vpmullw %ymm0, %ymm10, %ymm11 2851vpmullw %ymm1, %ymm9, %ymm5 2852vpaddw %ymm5, %ymm11, %ymm11 2853vpmullw %ymm2, %ymm8, %ymm5 2854vpaddw %ymm5, %ymm11, %ymm11 2855vpmullw %ymm3, %ymm7, %ymm5 2856vpaddw %ymm5, %ymm11, %ymm11 2857vpmullw %ymm4, %ymm6, %ymm5 2858vpaddw %ymm5, %ymm11, %ymm11 2859vpmullw %ymm0, %ymm9, %ymm10 2860vpmullw %ymm1, %ymm8, %ymm5 2861vpaddw %ymm5, %ymm10, %ymm10 2862vpmullw %ymm2, %ymm7, %ymm5 2863vpaddw %ymm5, %ymm10, %ymm10 2864vpmullw %ymm3, %ymm6, %ymm5 2865vpaddw %ymm5, %ymm10, %ymm10 2866vpmullw %ymm0, %ymm8, %ymm9 2867vpmullw %ymm1, %ymm7, %ymm5 2868vpaddw %ymm5, %ymm9, %ymm9 2869vpmullw %ymm2, %ymm6, %ymm5 2870vpaddw %ymm5, %ymm9, %ymm9 2871vpmullw %ymm0, %ymm7, %ymm8 2872vpmullw %ymm1, %ymm6, %ymm5 2873vpaddw %ymm5, %ymm8, %ymm8 2874vpmullw %ymm0, %ymm6, %ymm7 2875vmovdqa 6080(%r8), %ymm0 2876vpsubw 6272(%r8), %ymm0, %ymm0 2877vpsubw %ymm0, %ymm12, %ymm6 2878vpsubw 6464(%r8), %ymm6, %ymm6 2879vmovdqa %ymm6, 6272(%r8) 2880vpaddw %ymm7, %ymm0, %ymm0 2881vpsubw 5888(%r8), %ymm0, %ymm0 2882vmovdqa %ymm0, 6080(%r8) 2883vmovdqa 6112(%r8), %ymm1 2884vpsubw 6304(%r8), %ymm1, %ymm1 2885vpsubw %ymm1, %ymm13, %ymm7 2886vpsubw 6496(%r8), %ymm7, %ymm7 2887vmovdqa %ymm7, 6304(%r8) 2888vpaddw %ymm8, %ymm1, %ymm1 2889vpsubw 5920(%r8), %ymm1, %ymm1 2890vmovdqa %ymm1, 6112(%r8) 2891vmovdqa 6144(%r8), %ymm2 2892vpsubw 6336(%r8), %ymm2, %ymm2 2893vpsubw %ymm2, %ymm14, %ymm8 2894vpsubw 6528(%r8), %ymm8, %ymm8 2895vmovdqa %ymm8, 6336(%r8) 2896vpaddw %ymm9, %ymm2, %ymm2 2897vpsubw 5952(%r8), %ymm2, %ymm2 2898vmovdqa %ymm2, 6144(%r8) 2899vmovdqa 6176(%r8), %ymm3 2900vpsubw 6368(%r8), %ymm3, %ymm3 2901vpsubw %ymm3, %ymm15, %ymm9 2902vmovdqa %ymm9, 6368(%r8) 2903vpaddw %ymm10, %ymm3, %ymm3 2904vpsubw 5984(%r8), %ymm3, %ymm3 2905vmovdqa %ymm3, 6176(%r8) 2906vmovdqa 6208(%r8), %ymm4 2907vpsubw 6400(%r8), %ymm4, %ymm4 2908vpaddw %ymm11, %ymm4, %ymm4 2909vpsubw 6016(%r8), %ymm4, %ymm4 2910vmovdqa %ymm4, 6208(%r8) 2911vmovdqa 6208(%r8), %ymm0 2912vpsubw 3136(%r10), %ymm0, %ymm0 2913vpsubw 3840(%r10), %ymm0, %ymm0 2914vmovdqa %ymm0, 3488(%r10) 2915vmovdqa 3168(%r10), %ymm0 2916vpsubw 3520(%r10), %ymm0, %ymm0 2917vmovdqa 6240(%r8), %ymm1 2918vpsubw %ymm0, %ymm1, %ymm1 2919vpsubw 3872(%r10), %ymm1, %ymm1 2920vpsubw 2816(%r10), %ymm0, %ymm0 2921vpaddw 5888(%r8), %ymm0, %ymm0 2922vmovdqa %ymm0, 3168(%r10) 2923vmovdqa %ymm1, 3520(%r10) 2924vmovdqa 3200(%r10), %ymm0 2925vpsubw 3552(%r10), %ymm0, %ymm0 2926vmovdqa 6272(%r8), %ymm1 2927vpsubw %ymm0, %ymm1, %ymm1 2928vpsubw 3904(%r10), %ymm1, %ymm1 2929vpsubw 2848(%r10), %ymm0, %ymm0 2930vpaddw 5920(%r8), %ymm0, %ymm0 2931vmovdqa %ymm0, 3200(%r10) 2932vmovdqa %ymm1, 3552(%r10) 2933vmovdqa 3232(%r10), %ymm0 2934vpsubw 3584(%r10), %ymm0, %ymm0 2935vmovdqa 6304(%r8), %ymm1 2936vpsubw %ymm0, %ymm1, %ymm1 2937vpsubw 3936(%r10), %ymm1, %ymm1 2938vpsubw 2880(%r10), %ymm0, %ymm0 2939vpaddw 5952(%r8), %ymm0, %ymm0 2940vmovdqa %ymm0, 3232(%r10) 2941vmovdqa %ymm1, 3584(%r10) 2942vmovdqa 3264(%r10), %ymm0 2943vpsubw 3616(%r10), %ymm0, %ymm0 2944vmovdqa 6336(%r8), %ymm1 2945vpsubw %ymm0, %ymm1, %ymm1 2946vpsubw 3968(%r10), %ymm1, %ymm1 2947vpsubw 2912(%r10), %ymm0, %ymm0 2948vpaddw 5984(%r8), %ymm0, %ymm0 2949vmovdqa %ymm0, 3264(%r10) 2950vmovdqa %ymm1, 3616(%r10) 2951vmovdqa 3296(%r10), %ymm0 2952vpsubw 3648(%r10), %ymm0, %ymm0 2953vmovdqa 6368(%r8), %ymm1 2954vpsubw %ymm0, %ymm1, %ymm1 2955vpsubw 4000(%r10), %ymm1, %ymm1 2956vpsubw 2944(%r10), %ymm0, %ymm0 2957vpaddw 6016(%r8), %ymm0, %ymm0 2958vmovdqa %ymm0, 3296(%r10) 2959vmovdqa %ymm1, 3648(%r10) 2960vmovdqa 3328(%r10), %ymm0 2961vpsubw 3680(%r10), %ymm0, %ymm0 2962vmovdqa 6400(%r8), %ymm1 2963vpsubw %ymm0, %ymm1, %ymm1 2964vpsubw 4032(%r10), %ymm1, %ymm1 2965vpsubw 2976(%r10), %ymm0, %ymm0 2966vpaddw 6048(%r8), %ymm0, %ymm0 2967vmovdqa %ymm0, 3328(%r10) 2968vmovdqa %ymm1, 3680(%r10) 2969vmovdqa 3360(%r10), %ymm0 2970vpsubw 3712(%r10), %ymm0, %ymm0 2971vmovdqa 6432(%r8), %ymm1 2972vpsubw %ymm0, %ymm1, %ymm1 2973vpsubw 4064(%r10), %ymm1, %ymm1 2974vpsubw 3008(%r10), %ymm0, %ymm0 2975vpaddw 6080(%r8), %ymm0, %ymm0 2976vmovdqa %ymm0, 3360(%r10) 2977vmovdqa %ymm1, 3712(%r10) 2978vmovdqa 3392(%r10), %ymm0 2979vpsubw 3744(%r10), %ymm0, %ymm0 2980vmovdqa 6464(%r8), %ymm1 2981vpsubw %ymm0, %ymm1, %ymm1 2982vpsubw 4096(%r10), %ymm1, %ymm1 2983vpsubw 3040(%r10), %ymm0, %ymm0 2984vpaddw 6112(%r8), %ymm0, %ymm0 2985vmovdqa %ymm0, 3392(%r10) 2986vmovdqa %ymm1, 3744(%r10) 2987vmovdqa 3424(%r10), %ymm0 2988vpsubw 3776(%r10), %ymm0, %ymm0 2989vmovdqa 6496(%r8), %ymm1 2990vpsubw %ymm0, %ymm1, %ymm1 2991vpsubw 4128(%r10), %ymm1, %ymm1 2992vpsubw 3072(%r10), %ymm0, %ymm0 2993vpaddw 6144(%r8), %ymm0, %ymm0 2994vmovdqa %ymm0, 3424(%r10) 2995vmovdqa %ymm1, 3776(%r10) 2996vmovdqa 3456(%r10), %ymm0 2997vpsubw 3808(%r10), %ymm0, %ymm0 2998vmovdqa 6528(%r8), %ymm1 2999vpsubw %ymm0, %ymm1, %ymm1 3000vpsubw 4160(%r10), %ymm1, %ymm1 3001vpsubw 3104(%r10), %ymm0, %ymm0 3002vpaddw 6176(%r8), %ymm0, %ymm0 3003vmovdqa %ymm0, 3456(%r10) 3004vmovdqa %ymm1, 3808(%r10) 3005neg %ecx 3006jns done_4eced63f144beffcb0247f9c6f67d165 3007add $704, %r9 3008add $1408, %r10 3009jmp innerloop_4eced63f144beffcb0247f9c6f67d165 3010done_4eced63f144beffcb0247f9c6f67d165: 3011sub $704, %r9 3012sub $1408, %r10 3013vmovdqa 0(%r9), %ymm0 3014vpaddw 704(%r9), %ymm0, %ymm0 3015vmovdqa %ymm0, 6592(%r8) 3016vmovdqa 1408(%r9), %ymm0 3017vpaddw 2112(%r9), %ymm0, %ymm0 3018vmovdqa %ymm0, 7296(%r8) 3019vmovdqa 32(%r9), %ymm0 3020vpaddw 736(%r9), %ymm0, %ymm0 3021vmovdqa %ymm0, 6624(%r8) 3022vmovdqa 1440(%r9), %ymm0 3023vpaddw 2144(%r9), %ymm0, %ymm0 3024vmovdqa %ymm0, 7328(%r8) 3025vmovdqa 64(%r9), %ymm0 3026vpaddw 768(%r9), %ymm0, %ymm0 3027vmovdqa %ymm0, 6656(%r8) 3028vmovdqa 1472(%r9), %ymm0 3029vpaddw 2176(%r9), %ymm0, %ymm0 3030vmovdqa %ymm0, 7360(%r8) 3031vmovdqa 96(%r9), %ymm0 3032vpaddw 800(%r9), %ymm0, %ymm0 3033vmovdqa %ymm0, 6688(%r8) 3034vmovdqa 1504(%r9), %ymm0 3035vpaddw 2208(%r9), %ymm0, %ymm0 3036vmovdqa %ymm0, 7392(%r8) 3037vmovdqa 128(%r9), %ymm0 3038vpaddw 832(%r9), %ymm0, %ymm0 3039vmovdqa %ymm0, 6720(%r8) 3040vmovdqa 1536(%r9), %ymm0 3041vpaddw 2240(%r9), %ymm0, %ymm0 3042vmovdqa %ymm0, 7424(%r8) 3043vmovdqa 160(%r9), %ymm0 3044vpaddw 864(%r9), %ymm0, %ymm0 3045vmovdqa %ymm0, 6752(%r8) 3046vmovdqa 1568(%r9), %ymm0 3047vpaddw 2272(%r9), %ymm0, %ymm0 3048vmovdqa %ymm0, 7456(%r8) 3049vmovdqa 192(%r9), %ymm0 3050vpaddw 896(%r9), %ymm0, %ymm0 3051vmovdqa %ymm0, 6784(%r8) 3052vmovdqa 1600(%r9), %ymm0 3053vpaddw 2304(%r9), %ymm0, %ymm0 3054vmovdqa %ymm0, 7488(%r8) 3055vmovdqa 224(%r9), %ymm0 3056vpaddw 928(%r9), %ymm0, %ymm0 3057vmovdqa %ymm0, 6816(%r8) 3058vmovdqa 1632(%r9), %ymm0 3059vpaddw 2336(%r9), %ymm0, %ymm0 3060vmovdqa %ymm0, 7520(%r8) 3061vmovdqa 256(%r9), %ymm0 3062vpaddw 960(%r9), %ymm0, %ymm0 3063vmovdqa %ymm0, 6848(%r8) 3064vmovdqa 1664(%r9), %ymm0 3065vpaddw 2368(%r9), %ymm0, %ymm0 3066vmovdqa %ymm0, 7552(%r8) 3067vmovdqa 288(%r9), %ymm0 3068vpaddw 992(%r9), %ymm0, %ymm0 3069vmovdqa %ymm0, 6880(%r8) 3070vmovdqa 1696(%r9), %ymm0 3071vpaddw 2400(%r9), %ymm0, %ymm0 3072vmovdqa %ymm0, 7584(%r8) 3073vmovdqa 320(%r9), %ymm0 3074vpaddw 1024(%r9), %ymm0, %ymm0 3075vmovdqa %ymm0, 6912(%r8) 3076vmovdqa 1728(%r9), %ymm0 3077vpaddw 2432(%r9), %ymm0, %ymm0 3078vmovdqa %ymm0, 7616(%r8) 3079vmovdqa 352(%r9), %ymm0 3080vpaddw 1056(%r9), %ymm0, %ymm0 3081vmovdqa %ymm0, 6944(%r8) 3082vmovdqa 1760(%r9), %ymm0 3083vpaddw 2464(%r9), %ymm0, %ymm0 3084vmovdqa %ymm0, 7648(%r8) 3085vmovdqa 384(%r9), %ymm0 3086vpaddw 1088(%r9), %ymm0, %ymm0 3087vmovdqa %ymm0, 6976(%r8) 3088vmovdqa 1792(%r9), %ymm0 3089vpaddw 2496(%r9), %ymm0, %ymm0 3090vmovdqa %ymm0, 7680(%r8) 3091vmovdqa 416(%r9), %ymm0 3092vpaddw 1120(%r9), %ymm0, %ymm0 3093vmovdqa %ymm0, 7008(%r8) 3094vmovdqa 1824(%r9), %ymm0 3095vpaddw 2528(%r9), %ymm0, %ymm0 3096vmovdqa %ymm0, 7712(%r8) 3097vmovdqa 448(%r9), %ymm0 3098vpaddw 1152(%r9), %ymm0, %ymm0 3099vmovdqa %ymm0, 7040(%r8) 3100vmovdqa 1856(%r9), %ymm0 3101vpaddw 2560(%r9), %ymm0, %ymm0 3102vmovdqa %ymm0, 7744(%r8) 3103vmovdqa 480(%r9), %ymm0 3104vpaddw 1184(%r9), %ymm0, %ymm0 3105vmovdqa %ymm0, 7072(%r8) 3106vmovdqa 1888(%r9), %ymm0 3107vpaddw 2592(%r9), %ymm0, %ymm0 3108vmovdqa %ymm0, 7776(%r8) 3109vmovdqa 512(%r9), %ymm0 3110vpaddw 1216(%r9), %ymm0, %ymm0 3111vmovdqa %ymm0, 7104(%r8) 3112vmovdqa 1920(%r9), %ymm0 3113vpaddw 2624(%r9), %ymm0, %ymm0 3114vmovdqa %ymm0, 7808(%r8) 3115vmovdqa 544(%r9), %ymm0 3116vpaddw 1248(%r9), %ymm0, %ymm0 3117vmovdqa %ymm0, 7136(%r8) 3118vmovdqa 1952(%r9), %ymm0 3119vpaddw 2656(%r9), %ymm0, %ymm0 3120vmovdqa %ymm0, 7840(%r8) 3121vmovdqa 576(%r9), %ymm0 3122vpaddw 1280(%r9), %ymm0, %ymm0 3123vmovdqa %ymm0, 7168(%r8) 3124vmovdqa 1984(%r9), %ymm0 3125vpaddw 2688(%r9), %ymm0, %ymm0 3126vmovdqa %ymm0, 7872(%r8) 3127vmovdqa 608(%r9), %ymm0 3128vpaddw 1312(%r9), %ymm0, %ymm0 3129vmovdqa %ymm0, 7200(%r8) 3130vmovdqa 2016(%r9), %ymm0 3131vpaddw 2720(%r9), %ymm0, %ymm0 3132vmovdqa %ymm0, 7904(%r8) 3133vmovdqa 640(%r9), %ymm0 3134vpaddw 1344(%r9), %ymm0, %ymm0 3135vmovdqa %ymm0, 7232(%r8) 3136vmovdqa 2048(%r9), %ymm0 3137vpaddw 2752(%r9), %ymm0, %ymm0 3138vmovdqa %ymm0, 7936(%r8) 3139vmovdqa 672(%r9), %ymm0 3140vpaddw 1376(%r9), %ymm0, %ymm0 3141vmovdqa %ymm0, 7264(%r8) 3142vmovdqa 2080(%r9), %ymm0 3143vpaddw 2784(%r9), %ymm0, %ymm0 3144vmovdqa %ymm0, 7968(%r8) 3145vmovdqa 6592(%r8), %ymm0 3146vmovdqa 7296(%r8), %ymm6 3147vmovdqa 6624(%r8), %ymm1 3148vmovdqa 7328(%r8), %ymm7 3149vmovdqa 6656(%r8), %ymm2 3150vmovdqa 7360(%r8), %ymm8 3151vmovdqa 6688(%r8), %ymm3 3152vmovdqa 7392(%r8), %ymm9 3153vmovdqa 6720(%r8), %ymm4 3154vmovdqa 7424(%r8), %ymm10 3155vmovdqa 6752(%r8), %ymm5 3156vmovdqa 7456(%r8), %ymm11 3157vpmullw %ymm0, %ymm6, %ymm12 3158vmovdqa %ymm12, 8000(%r8) 3159vpmullw %ymm0, %ymm7, %ymm13 3160vpmullw %ymm1, %ymm6, %ymm15 3161vpaddw %ymm13, %ymm15, %ymm13 3162vmovdqa %ymm13, 8032(%r8) 3163vpmullw %ymm0, %ymm8, %ymm12 3164vpmullw %ymm1, %ymm7, %ymm15 3165vpaddw %ymm12, %ymm15, %ymm12 3166vpmullw %ymm2, %ymm6, %ymm15 3167vpaddw %ymm12, %ymm15, %ymm12 3168vmovdqa %ymm12, 8064(%r8) 3169vpmullw %ymm0, %ymm9, %ymm13 3170vpmullw %ymm1, %ymm8, %ymm15 3171vpaddw %ymm13, %ymm15, %ymm13 3172vpmullw %ymm2, %ymm7, %ymm15 3173vpaddw %ymm13, %ymm15, %ymm13 3174vpmullw %ymm3, %ymm6, %ymm15 3175vpaddw %ymm13, %ymm15, %ymm13 3176vmovdqa %ymm13, 8096(%r8) 3177vpmullw %ymm0, %ymm10, %ymm12 3178vpmullw %ymm1, %ymm9, %ymm15 3179vpaddw %ymm12, %ymm15, %ymm12 3180vpmullw %ymm2, %ymm8, %ymm15 3181vpaddw %ymm12, %ymm15, %ymm12 3182vpmullw %ymm3, %ymm7, %ymm15 3183vpaddw %ymm12, %ymm15, %ymm12 3184vpmullw %ymm4, %ymm6, %ymm15 3185vpaddw %ymm12, %ymm15, %ymm12 3186vmovdqa %ymm12, 8128(%r8) 3187vpmullw %ymm0, %ymm11, %ymm13 3188vpmullw %ymm1, %ymm10, %ymm15 3189vpaddw %ymm13, %ymm15, %ymm13 3190vpmullw %ymm2, %ymm9, %ymm15 3191vpaddw %ymm13, %ymm15, %ymm13 3192vpmullw %ymm3, %ymm8, %ymm15 3193vpaddw %ymm13, %ymm15, %ymm13 3194vpmullw %ymm4, %ymm7, %ymm15 3195vpaddw %ymm13, %ymm15, %ymm13 3196vpmullw %ymm5, %ymm6, %ymm15 3197vpaddw %ymm13, %ymm15, %ymm13 3198vmovdqa %ymm13, 8160(%r8) 3199vpmullw %ymm1, %ymm11, %ymm12 3200vpmullw %ymm2, %ymm10, %ymm15 3201vpaddw %ymm12, %ymm15, %ymm12 3202vpmullw %ymm3, %ymm9, %ymm15 3203vpaddw %ymm12, %ymm15, %ymm12 3204vpmullw %ymm4, %ymm8, %ymm15 3205vpaddw %ymm12, %ymm15, %ymm12 3206vpmullw %ymm5, %ymm7, %ymm15 3207vpaddw %ymm12, %ymm15, %ymm12 3208vmovdqa %ymm12, 8192(%r8) 3209vpmullw %ymm2, %ymm11, %ymm13 3210vpmullw %ymm3, %ymm10, %ymm15 3211vpaddw %ymm13, %ymm15, %ymm13 3212vpmullw %ymm4, %ymm9, %ymm15 3213vpaddw %ymm13, %ymm15, %ymm13 3214vpmullw %ymm5, %ymm8, %ymm15 3215vpaddw %ymm13, %ymm15, %ymm13 3216vmovdqa %ymm13, 8224(%r8) 3217vpmullw %ymm3, %ymm11, %ymm12 3218vpmullw %ymm4, %ymm10, %ymm15 3219vpaddw %ymm12, %ymm15, %ymm12 3220vpmullw %ymm5, %ymm9, %ymm15 3221vpaddw %ymm12, %ymm15, %ymm12 3222vmovdqa %ymm12, 8256(%r8) 3223vpmullw %ymm4, %ymm11, %ymm13 3224vpmullw %ymm5, %ymm10, %ymm15 3225vpaddw %ymm13, %ymm15, %ymm13 3226vmovdqa %ymm13, 8288(%r8) 3227vpmullw %ymm5, %ymm11, %ymm12 3228vmovdqa %ymm12, 8320(%r8) 3229vmovdqa 6784(%r8), %ymm0 3230vmovdqa 7488(%r8), %ymm6 3231vmovdqa 6816(%r8), %ymm1 3232vmovdqa 7520(%r8), %ymm7 3233vmovdqa 6848(%r8), %ymm2 3234vmovdqa 7552(%r8), %ymm8 3235vmovdqa 6880(%r8), %ymm3 3236vmovdqa 7584(%r8), %ymm9 3237vmovdqa 6912(%r8), %ymm4 3238vmovdqa 7616(%r8), %ymm10 3239vpmullw %ymm0, %ymm6, %ymm12 3240vmovdqa %ymm12, 8384(%r8) 3241vpmullw %ymm0, %ymm7, %ymm13 3242vpmullw %ymm1, %ymm6, %ymm15 3243vpaddw %ymm13, %ymm15, %ymm13 3244vmovdqa %ymm13, 8416(%r8) 3245vpmullw %ymm0, %ymm8, %ymm12 3246vpmullw %ymm1, %ymm7, %ymm15 3247vpaddw %ymm12, %ymm15, %ymm12 3248vpmullw %ymm2, %ymm6, %ymm15 3249vpaddw %ymm12, %ymm15, %ymm12 3250vmovdqa %ymm12, 8448(%r8) 3251vpmullw %ymm0, %ymm9, %ymm13 3252vpmullw %ymm1, %ymm8, %ymm15 3253vpaddw %ymm13, %ymm15, %ymm13 3254vpmullw %ymm2, %ymm7, %ymm15 3255vpaddw %ymm13, %ymm15, %ymm13 3256vpmullw %ymm3, %ymm6, %ymm15 3257vpaddw %ymm13, %ymm15, %ymm13 3258vmovdqa %ymm13, 8480(%r8) 3259vpmullw %ymm0, %ymm10, %ymm12 3260vpmullw %ymm1, %ymm9, %ymm15 3261vpaddw %ymm12, %ymm15, %ymm12 3262vpmullw %ymm2, %ymm8, %ymm15 3263vpaddw %ymm12, %ymm15, %ymm12 3264vpmullw %ymm3, %ymm7, %ymm15 3265vpaddw %ymm12, %ymm15, %ymm12 3266vpmullw %ymm4, %ymm6, %ymm15 3267vpaddw %ymm12, %ymm15, %ymm12 3268vmovdqa %ymm12, 8512(%r8) 3269vpmullw %ymm1, %ymm10, %ymm13 3270vpmullw %ymm2, %ymm9, %ymm15 3271vpaddw %ymm13, %ymm15, %ymm13 3272vpmullw %ymm3, %ymm8, %ymm15 3273vpaddw %ymm13, %ymm15, %ymm13 3274vpmullw %ymm4, %ymm7, %ymm15 3275vpaddw %ymm13, %ymm15, %ymm13 3276vmovdqa %ymm13, 8544(%r8) 3277vpmullw %ymm2, %ymm10, %ymm12 3278vpmullw %ymm3, %ymm9, %ymm15 3279vpaddw %ymm12, %ymm15, %ymm12 3280vpmullw %ymm4, %ymm8, %ymm15 3281vpaddw %ymm12, %ymm15, %ymm12 3282vmovdqa %ymm12, 8576(%r8) 3283vpmullw %ymm3, %ymm10, %ymm13 3284vpmullw %ymm4, %ymm9, %ymm15 3285vpaddw %ymm13, %ymm15, %ymm13 3286vmovdqa %ymm13, 8608(%r8) 3287vpmullw %ymm4, %ymm10, %ymm12 3288vmovdqa %ymm12, 8640(%r8) 3289vpaddw 6592(%r8), %ymm0, %ymm0 3290vpaddw 7296(%r8), %ymm6, %ymm6 3291vpaddw 6624(%r8), %ymm1, %ymm1 3292vpaddw 7328(%r8), %ymm7, %ymm7 3293vpaddw 6656(%r8), %ymm2, %ymm2 3294vpaddw 7360(%r8), %ymm8, %ymm8 3295vpaddw 6688(%r8), %ymm3, %ymm3 3296vpaddw 7392(%r8), %ymm9, %ymm9 3297vpaddw 6720(%r8), %ymm4, %ymm4 3298vpaddw 7424(%r8), %ymm10, %ymm10 3299vpmullw %ymm0, %ymm11, %ymm12 3300vpmullw %ymm1, %ymm10, %ymm15 3301vpaddw %ymm15, %ymm12, %ymm12 3302vpmullw %ymm2, %ymm9, %ymm15 3303vpaddw %ymm15, %ymm12, %ymm12 3304vpmullw %ymm3, %ymm8, %ymm15 3305vpaddw %ymm15, %ymm12, %ymm12 3306vpmullw %ymm4, %ymm7, %ymm15 3307vpaddw %ymm15, %ymm12, %ymm12 3308vpmullw %ymm5, %ymm6, %ymm15 3309vpaddw %ymm15, %ymm12, %ymm12 3310vpsubw 8160(%r8), %ymm12, %ymm12 3311vpsubw 8544(%r8), %ymm12, %ymm12 3312vmovdqa %ymm12, 8352(%r8) 3313vpmullw %ymm5, %ymm7, %ymm12 3314vpmullw %ymm5, %ymm8, %ymm13 3315vpmullw %ymm5, %ymm9, %ymm14 3316vpmullw %ymm5, %ymm10, %ymm15 3317vpmullw %ymm1, %ymm11, %ymm5 3318vpaddw %ymm5, %ymm12, %ymm12 3319vpmullw %ymm2, %ymm10, %ymm5 3320vpaddw %ymm5, %ymm12, %ymm12 3321vpmullw %ymm3, %ymm9, %ymm5 3322vpaddw %ymm5, %ymm12, %ymm12 3323vpmullw %ymm4, %ymm8, %ymm5 3324vpaddw %ymm5, %ymm12, %ymm12 3325vpmullw %ymm2, %ymm11, %ymm5 3326vpaddw %ymm5, %ymm13, %ymm13 3327vpmullw %ymm3, %ymm10, %ymm5 3328vpaddw %ymm5, %ymm13, %ymm13 3329vpmullw %ymm4, %ymm9, %ymm5 3330vpaddw %ymm5, %ymm13, %ymm13 3331vpmullw %ymm3, %ymm11, %ymm5 3332vpaddw %ymm5, %ymm14, %ymm14 3333vpmullw %ymm4, %ymm10, %ymm5 3334vpaddw %ymm5, %ymm14, %ymm14 3335vpmullw %ymm4, %ymm11, %ymm5 3336vpaddw %ymm5, %ymm15, %ymm15 3337vpmullw %ymm0, %ymm10, %ymm11 3338vpmullw %ymm1, %ymm9, %ymm5 3339vpaddw %ymm5, %ymm11, %ymm11 3340vpmullw %ymm2, %ymm8, %ymm5 3341vpaddw %ymm5, %ymm11, %ymm11 3342vpmullw %ymm3, %ymm7, %ymm5 3343vpaddw %ymm5, %ymm11, %ymm11 3344vpmullw %ymm4, %ymm6, %ymm5 3345vpaddw %ymm5, %ymm11, %ymm11 3346vpmullw %ymm0, %ymm9, %ymm10 3347vpmullw %ymm1, %ymm8, %ymm5 3348vpaddw %ymm5, %ymm10, %ymm10 3349vpmullw %ymm2, %ymm7, %ymm5 3350vpaddw %ymm5, %ymm10, %ymm10 3351vpmullw %ymm3, %ymm6, %ymm5 3352vpaddw %ymm5, %ymm10, %ymm10 3353vpmullw %ymm0, %ymm8, %ymm9 3354vpmullw %ymm1, %ymm7, %ymm5 3355vpaddw %ymm5, %ymm9, %ymm9 3356vpmullw %ymm2, %ymm6, %ymm5 3357vpaddw %ymm5, %ymm9, %ymm9 3358vpmullw %ymm0, %ymm7, %ymm8 3359vpmullw %ymm1, %ymm6, %ymm5 3360vpaddw %ymm5, %ymm8, %ymm8 3361vpmullw %ymm0, %ymm6, %ymm7 3362vmovdqa 8192(%r8), %ymm0 3363vpsubw 8384(%r8), %ymm0, %ymm0 3364vpsubw %ymm0, %ymm12, %ymm6 3365vpsubw 8576(%r8), %ymm6, %ymm6 3366vmovdqa %ymm6, 8384(%r8) 3367vpaddw %ymm7, %ymm0, %ymm0 3368vpsubw 8000(%r8), %ymm0, %ymm0 3369vmovdqa %ymm0, 8192(%r8) 3370vmovdqa 8224(%r8), %ymm1 3371vpsubw 8416(%r8), %ymm1, %ymm1 3372vpsubw %ymm1, %ymm13, %ymm7 3373vpsubw 8608(%r8), %ymm7, %ymm7 3374vmovdqa %ymm7, 8416(%r8) 3375vpaddw %ymm8, %ymm1, %ymm1 3376vpsubw 8032(%r8), %ymm1, %ymm1 3377vmovdqa %ymm1, 8224(%r8) 3378vmovdqa 8256(%r8), %ymm2 3379vpsubw 8448(%r8), %ymm2, %ymm2 3380vpsubw %ymm2, %ymm14, %ymm8 3381vpsubw 8640(%r8), %ymm8, %ymm8 3382vmovdqa %ymm8, 8448(%r8) 3383vpaddw %ymm9, %ymm2, %ymm2 3384vpsubw 8064(%r8), %ymm2, %ymm2 3385vmovdqa %ymm2, 8256(%r8) 3386vmovdqa 8288(%r8), %ymm3 3387vpsubw 8480(%r8), %ymm3, %ymm3 3388vpsubw %ymm3, %ymm15, %ymm9 3389vmovdqa %ymm9, 8480(%r8) 3390vpaddw %ymm10, %ymm3, %ymm3 3391vpsubw 8096(%r8), %ymm3, %ymm3 3392vmovdqa %ymm3, 8288(%r8) 3393vmovdqa 8320(%r8), %ymm4 3394vpsubw 8512(%r8), %ymm4, %ymm4 3395vpaddw %ymm11, %ymm4, %ymm4 3396vpsubw 8128(%r8), %ymm4, %ymm4 3397vmovdqa %ymm4, 8320(%r8) 3398vmovdqa 6944(%r8), %ymm0 3399vmovdqa 7648(%r8), %ymm6 3400vmovdqa 6976(%r8), %ymm1 3401vmovdqa 7680(%r8), %ymm7 3402vmovdqa 7008(%r8), %ymm2 3403vmovdqa 7712(%r8), %ymm8 3404vmovdqa 7040(%r8), %ymm3 3405vmovdqa 7744(%r8), %ymm9 3406vmovdqa 7072(%r8), %ymm4 3407vmovdqa 7776(%r8), %ymm10 3408vmovdqa 7104(%r8), %ymm5 3409vmovdqa 7808(%r8), %ymm11 3410vpmullw %ymm0, %ymm6, %ymm12 3411vmovdqa %ymm12, 8704(%r8) 3412vpmullw %ymm0, %ymm7, %ymm13 3413vpmullw %ymm1, %ymm6, %ymm15 3414vpaddw %ymm13, %ymm15, %ymm13 3415vmovdqa %ymm13, 8736(%r8) 3416vpmullw %ymm0, %ymm8, %ymm12 3417vpmullw %ymm1, %ymm7, %ymm15 3418vpaddw %ymm12, %ymm15, %ymm12 3419vpmullw %ymm2, %ymm6, %ymm15 3420vpaddw %ymm12, %ymm15, %ymm12 3421vmovdqa %ymm12, 8768(%r8) 3422vpmullw %ymm0, %ymm9, %ymm13 3423vpmullw %ymm1, %ymm8, %ymm15 3424vpaddw %ymm13, %ymm15, %ymm13 3425vpmullw %ymm2, %ymm7, %ymm15 3426vpaddw %ymm13, %ymm15, %ymm13 3427vpmullw %ymm3, %ymm6, %ymm15 3428vpaddw %ymm13, %ymm15, %ymm13 3429vmovdqa %ymm13, 8800(%r8) 3430vpmullw %ymm0, %ymm10, %ymm12 3431vpmullw %ymm1, %ymm9, %ymm15 3432vpaddw %ymm12, %ymm15, %ymm12 3433vpmullw %ymm2, %ymm8, %ymm15 3434vpaddw %ymm12, %ymm15, %ymm12 3435vpmullw %ymm3, %ymm7, %ymm15 3436vpaddw %ymm12, %ymm15, %ymm12 3437vpmullw %ymm4, %ymm6, %ymm15 3438vpaddw %ymm12, %ymm15, %ymm12 3439vmovdqa %ymm12, 8832(%r8) 3440vpmullw %ymm0, %ymm11, %ymm13 3441vpmullw %ymm1, %ymm10, %ymm15 3442vpaddw %ymm13, %ymm15, %ymm13 3443vpmullw %ymm2, %ymm9, %ymm15 3444vpaddw %ymm13, %ymm15, %ymm13 3445vpmullw %ymm3, %ymm8, %ymm15 3446vpaddw %ymm13, %ymm15, %ymm13 3447vpmullw %ymm4, %ymm7, %ymm15 3448vpaddw %ymm13, %ymm15, %ymm13 3449vpmullw %ymm5, %ymm6, %ymm15 3450vpaddw %ymm13, %ymm15, %ymm13 3451vmovdqa %ymm13, 8864(%r8) 3452vpmullw %ymm1, %ymm11, %ymm12 3453vpmullw %ymm2, %ymm10, %ymm15 3454vpaddw %ymm12, %ymm15, %ymm12 3455vpmullw %ymm3, %ymm9, %ymm15 3456vpaddw %ymm12, %ymm15, %ymm12 3457vpmullw %ymm4, %ymm8, %ymm15 3458vpaddw %ymm12, %ymm15, %ymm12 3459vpmullw %ymm5, %ymm7, %ymm15 3460vpaddw %ymm12, %ymm15, %ymm12 3461vmovdqa %ymm12, 8896(%r8) 3462vpmullw %ymm2, %ymm11, %ymm13 3463vpmullw %ymm3, %ymm10, %ymm15 3464vpaddw %ymm13, %ymm15, %ymm13 3465vpmullw %ymm4, %ymm9, %ymm15 3466vpaddw %ymm13, %ymm15, %ymm13 3467vpmullw %ymm5, %ymm8, %ymm15 3468vpaddw %ymm13, %ymm15, %ymm13 3469vmovdqa %ymm13, 8928(%r8) 3470vpmullw %ymm3, %ymm11, %ymm12 3471vpmullw %ymm4, %ymm10, %ymm15 3472vpaddw %ymm12, %ymm15, %ymm12 3473vpmullw %ymm5, %ymm9, %ymm15 3474vpaddw %ymm12, %ymm15, %ymm12 3475vmovdqa %ymm12, 8960(%r8) 3476vpmullw %ymm4, %ymm11, %ymm13 3477vpmullw %ymm5, %ymm10, %ymm15 3478vpaddw %ymm13, %ymm15, %ymm13 3479vmovdqa %ymm13, 8992(%r8) 3480vpmullw %ymm5, %ymm11, %ymm12 3481vmovdqa %ymm12, 9024(%r8) 3482vmovdqa 7136(%r8), %ymm0 3483vmovdqa 7840(%r8), %ymm6 3484vmovdqa 7168(%r8), %ymm1 3485vmovdqa 7872(%r8), %ymm7 3486vmovdqa 7200(%r8), %ymm2 3487vmovdqa 7904(%r8), %ymm8 3488vmovdqa 7232(%r8), %ymm3 3489vmovdqa 7936(%r8), %ymm9 3490vmovdqa 7264(%r8), %ymm4 3491vmovdqa 7968(%r8), %ymm10 3492vpmullw %ymm0, %ymm6, %ymm12 3493vmovdqa %ymm12, 9088(%r8) 3494vpmullw %ymm0, %ymm7, %ymm13 3495vpmullw %ymm1, %ymm6, %ymm15 3496vpaddw %ymm13, %ymm15, %ymm13 3497vmovdqa %ymm13, 9120(%r8) 3498vpmullw %ymm0, %ymm8, %ymm12 3499vpmullw %ymm1, %ymm7, %ymm15 3500vpaddw %ymm12, %ymm15, %ymm12 3501vpmullw %ymm2, %ymm6, %ymm15 3502vpaddw %ymm12, %ymm15, %ymm12 3503vmovdqa %ymm12, 9152(%r8) 3504vpmullw %ymm0, %ymm9, %ymm13 3505vpmullw %ymm1, %ymm8, %ymm15 3506vpaddw %ymm13, %ymm15, %ymm13 3507vpmullw %ymm2, %ymm7, %ymm15 3508vpaddw %ymm13, %ymm15, %ymm13 3509vpmullw %ymm3, %ymm6, %ymm15 3510vpaddw %ymm13, %ymm15, %ymm13 3511vmovdqa %ymm13, 9184(%r8) 3512vpmullw %ymm0, %ymm10, %ymm12 3513vpmullw %ymm1, %ymm9, %ymm15 3514vpaddw %ymm12, %ymm15, %ymm12 3515vpmullw %ymm2, %ymm8, %ymm15 3516vpaddw %ymm12, %ymm15, %ymm12 3517vpmullw %ymm3, %ymm7, %ymm15 3518vpaddw %ymm12, %ymm15, %ymm12 3519vpmullw %ymm4, %ymm6, %ymm15 3520vpaddw %ymm12, %ymm15, %ymm12 3521vmovdqa %ymm12, 9216(%r8) 3522vpmullw %ymm1, %ymm10, %ymm13 3523vpmullw %ymm2, %ymm9, %ymm15 3524vpaddw %ymm13, %ymm15, %ymm13 3525vpmullw %ymm3, %ymm8, %ymm15 3526vpaddw %ymm13, %ymm15, %ymm13 3527vpmullw %ymm4, %ymm7, %ymm15 3528vpaddw %ymm13, %ymm15, %ymm13 3529vmovdqa %ymm13, 9248(%r8) 3530vpmullw %ymm2, %ymm10, %ymm12 3531vpmullw %ymm3, %ymm9, %ymm15 3532vpaddw %ymm12, %ymm15, %ymm12 3533vpmullw %ymm4, %ymm8, %ymm15 3534vpaddw %ymm12, %ymm15, %ymm12 3535vmovdqa %ymm12, 9280(%r8) 3536vpmullw %ymm3, %ymm10, %ymm13 3537vpmullw %ymm4, %ymm9, %ymm15 3538vpaddw %ymm13, %ymm15, %ymm13 3539vmovdqa %ymm13, 9312(%r8) 3540vpmullw %ymm4, %ymm10, %ymm12 3541vmovdqa %ymm12, 9344(%r8) 3542vpaddw 6944(%r8), %ymm0, %ymm0 3543vpaddw 7648(%r8), %ymm6, %ymm6 3544vpaddw 6976(%r8), %ymm1, %ymm1 3545vpaddw 7680(%r8), %ymm7, %ymm7 3546vpaddw 7008(%r8), %ymm2, %ymm2 3547vpaddw 7712(%r8), %ymm8, %ymm8 3548vpaddw 7040(%r8), %ymm3, %ymm3 3549vpaddw 7744(%r8), %ymm9, %ymm9 3550vpaddw 7072(%r8), %ymm4, %ymm4 3551vpaddw 7776(%r8), %ymm10, %ymm10 3552vpmullw %ymm0, %ymm11, %ymm12 3553vpmullw %ymm1, %ymm10, %ymm15 3554vpaddw %ymm15, %ymm12, %ymm12 3555vpmullw %ymm2, %ymm9, %ymm15 3556vpaddw %ymm15, %ymm12, %ymm12 3557vpmullw %ymm3, %ymm8, %ymm15 3558vpaddw %ymm15, %ymm12, %ymm12 3559vpmullw %ymm4, %ymm7, %ymm15 3560vpaddw %ymm15, %ymm12, %ymm12 3561vpmullw %ymm5, %ymm6, %ymm15 3562vpaddw %ymm15, %ymm12, %ymm12 3563vpsubw 8864(%r8), %ymm12, %ymm12 3564vpsubw 9248(%r8), %ymm12, %ymm12 3565vmovdqa %ymm12, 9056(%r8) 3566vpmullw %ymm5, %ymm7, %ymm12 3567vpmullw %ymm5, %ymm8, %ymm13 3568vpmullw %ymm5, %ymm9, %ymm14 3569vpmullw %ymm5, %ymm10, %ymm15 3570vpmullw %ymm1, %ymm11, %ymm5 3571vpaddw %ymm5, %ymm12, %ymm12 3572vpmullw %ymm2, %ymm10, %ymm5 3573vpaddw %ymm5, %ymm12, %ymm12 3574vpmullw %ymm3, %ymm9, %ymm5 3575vpaddw %ymm5, %ymm12, %ymm12 3576vpmullw %ymm4, %ymm8, %ymm5 3577vpaddw %ymm5, %ymm12, %ymm12 3578vpmullw %ymm2, %ymm11, %ymm5 3579vpaddw %ymm5, %ymm13, %ymm13 3580vpmullw %ymm3, %ymm10, %ymm5 3581vpaddw %ymm5, %ymm13, %ymm13 3582vpmullw %ymm4, %ymm9, %ymm5 3583vpaddw %ymm5, %ymm13, %ymm13 3584vpmullw %ymm3, %ymm11, %ymm5 3585vpaddw %ymm5, %ymm14, %ymm14 3586vpmullw %ymm4, %ymm10, %ymm5 3587vpaddw %ymm5, %ymm14, %ymm14 3588vpmullw %ymm4, %ymm11, %ymm5 3589vpaddw %ymm5, %ymm15, %ymm15 3590vpmullw %ymm0, %ymm10, %ymm11 3591vpmullw %ymm1, %ymm9, %ymm5 3592vpaddw %ymm5, %ymm11, %ymm11 3593vpmullw %ymm2, %ymm8, %ymm5 3594vpaddw %ymm5, %ymm11, %ymm11 3595vpmullw %ymm3, %ymm7, %ymm5 3596vpaddw %ymm5, %ymm11, %ymm11 3597vpmullw %ymm4, %ymm6, %ymm5 3598vpaddw %ymm5, %ymm11, %ymm11 3599vpmullw %ymm0, %ymm9, %ymm10 3600vpmullw %ymm1, %ymm8, %ymm5 3601vpaddw %ymm5, %ymm10, %ymm10 3602vpmullw %ymm2, %ymm7, %ymm5 3603vpaddw %ymm5, %ymm10, %ymm10 3604vpmullw %ymm3, %ymm6, %ymm5 3605vpaddw %ymm5, %ymm10, %ymm10 3606vpmullw %ymm0, %ymm8, %ymm9 3607vpmullw %ymm1, %ymm7, %ymm5 3608vpaddw %ymm5, %ymm9, %ymm9 3609vpmullw %ymm2, %ymm6, %ymm5 3610vpaddw %ymm5, %ymm9, %ymm9 3611vpmullw %ymm0, %ymm7, %ymm8 3612vpmullw %ymm1, %ymm6, %ymm5 3613vpaddw %ymm5, %ymm8, %ymm8 3614vpmullw %ymm0, %ymm6, %ymm7 3615vmovdqa 8896(%r8), %ymm0 3616vpsubw 9088(%r8), %ymm0, %ymm0 3617vpsubw %ymm0, %ymm12, %ymm6 3618vpsubw 9280(%r8), %ymm6, %ymm6 3619vmovdqa %ymm6, 9088(%r8) 3620vpaddw %ymm7, %ymm0, %ymm0 3621vpsubw 8704(%r8), %ymm0, %ymm0 3622vmovdqa %ymm0, 8896(%r8) 3623vmovdqa 8928(%r8), %ymm1 3624vpsubw 9120(%r8), %ymm1, %ymm1 3625vpsubw %ymm1, %ymm13, %ymm7 3626vpsubw 9312(%r8), %ymm7, %ymm7 3627vmovdqa %ymm7, 9120(%r8) 3628vpaddw %ymm8, %ymm1, %ymm1 3629vpsubw 8736(%r8), %ymm1, %ymm1 3630vmovdqa %ymm1, 8928(%r8) 3631vmovdqa 8960(%r8), %ymm2 3632vpsubw 9152(%r8), %ymm2, %ymm2 3633vpsubw %ymm2, %ymm14, %ymm8 3634vpsubw 9344(%r8), %ymm8, %ymm8 3635vmovdqa %ymm8, 9152(%r8) 3636vpaddw %ymm9, %ymm2, %ymm2 3637vpsubw 8768(%r8), %ymm2, %ymm2 3638vmovdqa %ymm2, 8960(%r8) 3639vmovdqa 8992(%r8), %ymm3 3640vpsubw 9184(%r8), %ymm3, %ymm3 3641vpsubw %ymm3, %ymm15, %ymm9 3642vmovdqa %ymm9, 9184(%r8) 3643vpaddw %ymm10, %ymm3, %ymm3 3644vpsubw 8800(%r8), %ymm3, %ymm3 3645vmovdqa %ymm3, 8992(%r8) 3646vmovdqa 9024(%r8), %ymm4 3647vpsubw 9216(%r8), %ymm4, %ymm4 3648vpaddw %ymm11, %ymm4, %ymm4 3649vpsubw 8832(%r8), %ymm4, %ymm4 3650vmovdqa %ymm4, 9024(%r8) 3651vmovdqa 6592(%r8), %ymm0 3652vmovdqa 7296(%r8), %ymm6 3653vpaddw 6944(%r8), %ymm0, %ymm0 3654vpaddw 7648(%r8), %ymm6, %ymm6 3655vmovdqa 6624(%r8), %ymm1 3656vmovdqa 7328(%r8), %ymm7 3657vpaddw 6976(%r8), %ymm1, %ymm1 3658vpaddw 7680(%r8), %ymm7, %ymm7 3659vmovdqa 6656(%r8), %ymm2 3660vmovdqa 7360(%r8), %ymm8 3661vpaddw 7008(%r8), %ymm2, %ymm2 3662vpaddw 7712(%r8), %ymm8, %ymm8 3663vmovdqa 6688(%r8), %ymm3 3664vmovdqa 7392(%r8), %ymm9 3665vpaddw 7040(%r8), %ymm3, %ymm3 3666vpaddw 7744(%r8), %ymm9, %ymm9 3667vmovdqa 6720(%r8), %ymm4 3668vmovdqa 7424(%r8), %ymm10 3669vpaddw 7072(%r8), %ymm4, %ymm4 3670vpaddw 7776(%r8), %ymm10, %ymm10 3671vmovdqa 6752(%r8), %ymm5 3672vmovdqa 7456(%r8), %ymm11 3673vpaddw 7104(%r8), %ymm5, %ymm5 3674vpaddw 7808(%r8), %ymm11, %ymm11 3675vpmullw %ymm0, %ymm6, %ymm12 3676vmovdqa %ymm12, 5888(%r8) 3677vpmullw %ymm0, %ymm7, %ymm13 3678vpmullw %ymm1, %ymm6, %ymm15 3679vpaddw %ymm13, %ymm15, %ymm13 3680vmovdqa %ymm13, 5920(%r8) 3681vpmullw %ymm0, %ymm8, %ymm12 3682vpmullw %ymm1, %ymm7, %ymm15 3683vpaddw %ymm12, %ymm15, %ymm12 3684vpmullw %ymm2, %ymm6, %ymm15 3685vpaddw %ymm12, %ymm15, %ymm12 3686vmovdqa %ymm12, 5952(%r8) 3687vpmullw %ymm0, %ymm9, %ymm13 3688vpmullw %ymm1, %ymm8, %ymm15 3689vpaddw %ymm13, %ymm15, %ymm13 3690vpmullw %ymm2, %ymm7, %ymm15 3691vpaddw %ymm13, %ymm15, %ymm13 3692vpmullw %ymm3, %ymm6, %ymm15 3693vpaddw %ymm13, %ymm15, %ymm13 3694vmovdqa %ymm13, 5984(%r8) 3695vpmullw %ymm0, %ymm10, %ymm12 3696vpmullw %ymm1, %ymm9, %ymm15 3697vpaddw %ymm12, %ymm15, %ymm12 3698vpmullw %ymm2, %ymm8, %ymm15 3699vpaddw %ymm12, %ymm15, %ymm12 3700vpmullw %ymm3, %ymm7, %ymm15 3701vpaddw %ymm12, %ymm15, %ymm12 3702vpmullw %ymm4, %ymm6, %ymm15 3703vpaddw %ymm12, %ymm15, %ymm12 3704vmovdqa %ymm12, 6016(%r8) 3705vpmullw %ymm0, %ymm11, %ymm13 3706vpmullw %ymm1, %ymm10, %ymm15 3707vpaddw %ymm13, %ymm15, %ymm13 3708vpmullw %ymm2, %ymm9, %ymm15 3709vpaddw %ymm13, %ymm15, %ymm13 3710vpmullw %ymm3, %ymm8, %ymm15 3711vpaddw %ymm13, %ymm15, %ymm13 3712vpmullw %ymm4, %ymm7, %ymm15 3713vpaddw %ymm13, %ymm15, %ymm13 3714vpmullw %ymm5, %ymm6, %ymm15 3715vpaddw %ymm13, %ymm15, %ymm13 3716vmovdqa %ymm13, 6048(%r8) 3717vpmullw %ymm1, %ymm11, %ymm12 3718vpmullw %ymm2, %ymm10, %ymm15 3719vpaddw %ymm12, %ymm15, %ymm12 3720vpmullw %ymm3, %ymm9, %ymm15 3721vpaddw %ymm12, %ymm15, %ymm12 3722vpmullw %ymm4, %ymm8, %ymm15 3723vpaddw %ymm12, %ymm15, %ymm12 3724vpmullw %ymm5, %ymm7, %ymm15 3725vpaddw %ymm12, %ymm15, %ymm12 3726vmovdqa %ymm12, 6080(%r8) 3727vpmullw %ymm2, %ymm11, %ymm13 3728vpmullw %ymm3, %ymm10, %ymm15 3729vpaddw %ymm13, %ymm15, %ymm13 3730vpmullw %ymm4, %ymm9, %ymm15 3731vpaddw %ymm13, %ymm15, %ymm13 3732vpmullw %ymm5, %ymm8, %ymm15 3733vpaddw %ymm13, %ymm15, %ymm13 3734vmovdqa %ymm13, 6112(%r8) 3735vpmullw %ymm3, %ymm11, %ymm12 3736vpmullw %ymm4, %ymm10, %ymm15 3737vpaddw %ymm12, %ymm15, %ymm12 3738vpmullw %ymm5, %ymm9, %ymm15 3739vpaddw %ymm12, %ymm15, %ymm12 3740vmovdqa %ymm12, 6144(%r8) 3741vpmullw %ymm4, %ymm11, %ymm13 3742vpmullw %ymm5, %ymm10, %ymm15 3743vpaddw %ymm13, %ymm15, %ymm13 3744vmovdqa %ymm13, 6176(%r8) 3745vpmullw %ymm5, %ymm11, %ymm12 3746vmovdqa %ymm12, 6208(%r8) 3747vmovdqa 6784(%r8), %ymm0 3748vmovdqa 7488(%r8), %ymm6 3749vpaddw 7136(%r8), %ymm0, %ymm0 3750vpaddw 7840(%r8), %ymm6, %ymm6 3751vmovdqa 6816(%r8), %ymm1 3752vmovdqa 7520(%r8), %ymm7 3753vpaddw 7168(%r8), %ymm1, %ymm1 3754vpaddw 7872(%r8), %ymm7, %ymm7 3755vmovdqa 6848(%r8), %ymm2 3756vmovdqa 7552(%r8), %ymm8 3757vpaddw 7200(%r8), %ymm2, %ymm2 3758vpaddw 7904(%r8), %ymm8, %ymm8 3759vmovdqa 6880(%r8), %ymm3 3760vmovdqa 7584(%r8), %ymm9 3761vpaddw 7232(%r8), %ymm3, %ymm3 3762vpaddw 7936(%r8), %ymm9, %ymm9 3763vmovdqa 6912(%r8), %ymm4 3764vmovdqa 7616(%r8), %ymm10 3765vpaddw 7264(%r8), %ymm4, %ymm4 3766vpaddw 7968(%r8), %ymm10, %ymm10 3767vpmullw %ymm0, %ymm6, %ymm12 3768vmovdqa %ymm12, 6272(%r8) 3769vpmullw %ymm0, %ymm7, %ymm13 3770vpmullw %ymm1, %ymm6, %ymm15 3771vpaddw %ymm13, %ymm15, %ymm13 3772vmovdqa %ymm13, 6304(%r8) 3773vpmullw %ymm0, %ymm8, %ymm12 3774vpmullw %ymm1, %ymm7, %ymm15 3775vpaddw %ymm12, %ymm15, %ymm12 3776vpmullw %ymm2, %ymm6, %ymm15 3777vpaddw %ymm12, %ymm15, %ymm12 3778vmovdqa %ymm12, 6336(%r8) 3779vpmullw %ymm0, %ymm9, %ymm13 3780vpmullw %ymm1, %ymm8, %ymm15 3781vpaddw %ymm13, %ymm15, %ymm13 3782vpmullw %ymm2, %ymm7, %ymm15 3783vpaddw %ymm13, %ymm15, %ymm13 3784vpmullw %ymm3, %ymm6, %ymm15 3785vpaddw %ymm13, %ymm15, %ymm13 3786vmovdqa %ymm13, 6368(%r8) 3787vpmullw %ymm0, %ymm10, %ymm12 3788vpmullw %ymm1, %ymm9, %ymm15 3789vpaddw %ymm12, %ymm15, %ymm12 3790vpmullw %ymm2, %ymm8, %ymm15 3791vpaddw %ymm12, %ymm15, %ymm12 3792vpmullw %ymm3, %ymm7, %ymm15 3793vpaddw %ymm12, %ymm15, %ymm12 3794vpmullw %ymm4, %ymm6, %ymm15 3795vpaddw %ymm12, %ymm15, %ymm12 3796vmovdqa %ymm12, 6400(%r8) 3797vpmullw %ymm1, %ymm10, %ymm13 3798vpmullw %ymm2, %ymm9, %ymm15 3799vpaddw %ymm13, %ymm15, %ymm13 3800vpmullw %ymm3, %ymm8, %ymm15 3801vpaddw %ymm13, %ymm15, %ymm13 3802vpmullw %ymm4, %ymm7, %ymm15 3803vpaddw %ymm13, %ymm15, %ymm13 3804vmovdqa %ymm13, 6432(%r8) 3805vpmullw %ymm2, %ymm10, %ymm12 3806vpmullw %ymm3, %ymm9, %ymm15 3807vpaddw %ymm12, %ymm15, %ymm12 3808vpmullw %ymm4, %ymm8, %ymm15 3809vpaddw %ymm12, %ymm15, %ymm12 3810vmovdqa %ymm12, 6464(%r8) 3811vpmullw %ymm3, %ymm10, %ymm13 3812vpmullw %ymm4, %ymm9, %ymm15 3813vpaddw %ymm13, %ymm15, %ymm13 3814vmovdqa %ymm13, 6496(%r8) 3815vpmullw %ymm4, %ymm10, %ymm12 3816vmovdqa %ymm12, 6528(%r8) 3817vpaddw 6592(%r8), %ymm0, %ymm0 3818vpaddw 7296(%r8), %ymm6, %ymm6 3819vpaddw 6944(%r8), %ymm0, %ymm0 3820vpaddw 7648(%r8), %ymm6, %ymm6 3821vpaddw 6624(%r8), %ymm1, %ymm1 3822vpaddw 7328(%r8), %ymm7, %ymm7 3823vpaddw 6976(%r8), %ymm1, %ymm1 3824vpaddw 7680(%r8), %ymm7, %ymm7 3825vpaddw 6656(%r8), %ymm2, %ymm2 3826vpaddw 7360(%r8), %ymm8, %ymm8 3827vpaddw 7008(%r8), %ymm2, %ymm2 3828vpaddw 7712(%r8), %ymm8, %ymm8 3829vpaddw 6688(%r8), %ymm3, %ymm3 3830vpaddw 7392(%r8), %ymm9, %ymm9 3831vpaddw 7040(%r8), %ymm3, %ymm3 3832vpaddw 7744(%r8), %ymm9, %ymm9 3833vpaddw 6720(%r8), %ymm4, %ymm4 3834vpaddw 7424(%r8), %ymm10, %ymm10 3835vpaddw 7072(%r8), %ymm4, %ymm4 3836vpaddw 7776(%r8), %ymm10, %ymm10 3837vpmullw %ymm0, %ymm11, %ymm12 3838vpmullw %ymm1, %ymm10, %ymm15 3839vpaddw %ymm15, %ymm12, %ymm12 3840vpmullw %ymm2, %ymm9, %ymm15 3841vpaddw %ymm15, %ymm12, %ymm12 3842vpmullw %ymm3, %ymm8, %ymm15 3843vpaddw %ymm15, %ymm12, %ymm12 3844vpmullw %ymm4, %ymm7, %ymm15 3845vpaddw %ymm15, %ymm12, %ymm12 3846vpmullw %ymm5, %ymm6, %ymm15 3847vpaddw %ymm15, %ymm12, %ymm12 3848vpsubw 6048(%r8), %ymm12, %ymm12 3849vpsubw 6432(%r8), %ymm12, %ymm12 3850vmovdqa %ymm12, 6240(%r8) 3851vpmullw %ymm5, %ymm7, %ymm12 3852vpmullw %ymm5, %ymm8, %ymm13 3853vpmullw %ymm5, %ymm9, %ymm14 3854vpmullw %ymm5, %ymm10, %ymm15 3855vpmullw %ymm1, %ymm11, %ymm5 3856vpaddw %ymm5, %ymm12, %ymm12 3857vpmullw %ymm2, %ymm10, %ymm5 3858vpaddw %ymm5, %ymm12, %ymm12 3859vpmullw %ymm3, %ymm9, %ymm5 3860vpaddw %ymm5, %ymm12, %ymm12 3861vpmullw %ymm4, %ymm8, %ymm5 3862vpaddw %ymm5, %ymm12, %ymm12 3863vpmullw %ymm2, %ymm11, %ymm5 3864vpaddw %ymm5, %ymm13, %ymm13 3865vpmullw %ymm3, %ymm10, %ymm5 3866vpaddw %ymm5, %ymm13, %ymm13 3867vpmullw %ymm4, %ymm9, %ymm5 3868vpaddw %ymm5, %ymm13, %ymm13 3869vpmullw %ymm3, %ymm11, %ymm5 3870vpaddw %ymm5, %ymm14, %ymm14 3871vpmullw %ymm4, %ymm10, %ymm5 3872vpaddw %ymm5, %ymm14, %ymm14 3873vpmullw %ymm4, %ymm11, %ymm5 3874vpaddw %ymm5, %ymm15, %ymm15 3875vpmullw %ymm0, %ymm10, %ymm11 3876vpmullw %ymm1, %ymm9, %ymm5 3877vpaddw %ymm5, %ymm11, %ymm11 3878vpmullw %ymm2, %ymm8, %ymm5 3879vpaddw %ymm5, %ymm11, %ymm11 3880vpmullw %ymm3, %ymm7, %ymm5 3881vpaddw %ymm5, %ymm11, %ymm11 3882vpmullw %ymm4, %ymm6, %ymm5 3883vpaddw %ymm5, %ymm11, %ymm11 3884vpmullw %ymm0, %ymm9, %ymm10 3885vpmullw %ymm1, %ymm8, %ymm5 3886vpaddw %ymm5, %ymm10, %ymm10 3887vpmullw %ymm2, %ymm7, %ymm5 3888vpaddw %ymm5, %ymm10, %ymm10 3889vpmullw %ymm3, %ymm6, %ymm5 3890vpaddw %ymm5, %ymm10, %ymm10 3891vpmullw %ymm0, %ymm8, %ymm9 3892vpmullw %ymm1, %ymm7, %ymm5 3893vpaddw %ymm5, %ymm9, %ymm9 3894vpmullw %ymm2, %ymm6, %ymm5 3895vpaddw %ymm5, %ymm9, %ymm9 3896vpmullw %ymm0, %ymm7, %ymm8 3897vpmullw %ymm1, %ymm6, %ymm5 3898vpaddw %ymm5, %ymm8, %ymm8 3899vpmullw %ymm0, %ymm6, %ymm7 3900vmovdqa 6080(%r8), %ymm0 3901vpsubw 6272(%r8), %ymm0, %ymm0 3902vpsubw %ymm0, %ymm12, %ymm6 3903vpsubw 6464(%r8), %ymm6, %ymm6 3904vmovdqa %ymm6, 6272(%r8) 3905vpaddw %ymm7, %ymm0, %ymm0 3906vpsubw 5888(%r8), %ymm0, %ymm0 3907vmovdqa %ymm0, 6080(%r8) 3908vmovdqa 6112(%r8), %ymm1 3909vpsubw 6304(%r8), %ymm1, %ymm1 3910vpsubw %ymm1, %ymm13, %ymm7 3911vpsubw 6496(%r8), %ymm7, %ymm7 3912vmovdqa %ymm7, 6304(%r8) 3913vpaddw %ymm8, %ymm1, %ymm1 3914vpsubw 5920(%r8), %ymm1, %ymm1 3915vmovdqa %ymm1, 6112(%r8) 3916vmovdqa 6144(%r8), %ymm2 3917vpsubw 6336(%r8), %ymm2, %ymm2 3918vpsubw %ymm2, %ymm14, %ymm8 3919vpsubw 6528(%r8), %ymm8, %ymm8 3920vmovdqa %ymm8, 6336(%r8) 3921vpaddw %ymm9, %ymm2, %ymm2 3922vpsubw 5952(%r8), %ymm2, %ymm2 3923vmovdqa %ymm2, 6144(%r8) 3924vmovdqa 6176(%r8), %ymm3 3925vpsubw 6368(%r8), %ymm3, %ymm3 3926vpsubw %ymm3, %ymm15, %ymm9 3927vmovdqa %ymm9, 6368(%r8) 3928vpaddw %ymm10, %ymm3, %ymm3 3929vpsubw 5984(%r8), %ymm3, %ymm3 3930vmovdqa %ymm3, 6176(%r8) 3931vmovdqa 6208(%r8), %ymm4 3932vpsubw 6400(%r8), %ymm4, %ymm4 3933vpaddw %ymm11, %ymm4, %ymm4 3934vpsubw 6016(%r8), %ymm4, %ymm4 3935vmovdqa %ymm4, 6208(%r8) 3936vmovdqa 8352(%r8), %ymm0 3937vpsubw 8704(%r8), %ymm0, %ymm0 3938vmovdqa 6240(%r8), %ymm1 3939vpsubw %ymm0, %ymm1, %ymm1 3940vpsubw 9056(%r8), %ymm1, %ymm6 3941vpsubw 8000(%r8), %ymm0, %ymm0 3942vpaddw 5888(%r8), %ymm0, %ymm0 3943vmovdqa %ymm0, 8352(%r8) 3944vmovdqa 8384(%r8), %ymm0 3945vpsubw 8736(%r8), %ymm0, %ymm0 3946vmovdqa 6272(%r8), %ymm1 3947vpsubw %ymm0, %ymm1, %ymm1 3948vpsubw 9088(%r8), %ymm1, %ymm7 3949vpsubw 8032(%r8), %ymm0, %ymm0 3950vpaddw 5920(%r8), %ymm0, %ymm0 3951vmovdqa %ymm0, 8384(%r8) 3952vmovdqa 8416(%r8), %ymm0 3953vpsubw 8768(%r8), %ymm0, %ymm0 3954vmovdqa 6304(%r8), %ymm1 3955vpsubw %ymm0, %ymm1, %ymm1 3956vpsubw 9120(%r8), %ymm1, %ymm8 3957vpsubw 8064(%r8), %ymm0, %ymm0 3958vpaddw 5952(%r8), %ymm0, %ymm0 3959vmovdqa %ymm0, 8416(%r8) 3960vmovdqa 8448(%r8), %ymm0 3961vpsubw 8800(%r8), %ymm0, %ymm0 3962vmovdqa 6336(%r8), %ymm1 3963vpsubw %ymm0, %ymm1, %ymm1 3964vpsubw 9152(%r8), %ymm1, %ymm9 3965vpsubw 8096(%r8), %ymm0, %ymm0 3966vpaddw 5984(%r8), %ymm0, %ymm0 3967vmovdqa %ymm0, 8448(%r8) 3968vmovdqa 8480(%r8), %ymm0 3969vpsubw 8832(%r8), %ymm0, %ymm0 3970vmovdqa 6368(%r8), %ymm1 3971vpsubw %ymm0, %ymm1, %ymm1 3972vpsubw 9184(%r8), %ymm1, %ymm10 3973vpsubw 8128(%r8), %ymm0, %ymm0 3974vpaddw 6016(%r8), %ymm0, %ymm0 3975vmovdqa %ymm0, 8480(%r8) 3976vmovdqa 8512(%r8), %ymm0 3977vpsubw 8864(%r8), %ymm0, %ymm0 3978vmovdqa 6400(%r8), %ymm1 3979vpsubw %ymm0, %ymm1, %ymm1 3980vpsubw 9216(%r8), %ymm1, %ymm11 3981vpsubw 8160(%r8), %ymm0, %ymm0 3982vpaddw 6048(%r8), %ymm0, %ymm0 3983vmovdqa %ymm0, 8512(%r8) 3984vmovdqa 8544(%r8), %ymm0 3985vpsubw 8896(%r8), %ymm0, %ymm0 3986vmovdqa 6432(%r8), %ymm1 3987vpsubw %ymm0, %ymm1, %ymm1 3988vpsubw 9248(%r8), %ymm1, %ymm12 3989vpsubw 8192(%r8), %ymm0, %ymm0 3990vpaddw 6080(%r8), %ymm0, %ymm0 3991vmovdqa %ymm0, 8544(%r8) 3992vmovdqa 8576(%r8), %ymm0 3993vpsubw 8928(%r8), %ymm0, %ymm0 3994vmovdqa 6464(%r8), %ymm1 3995vpsubw %ymm0, %ymm1, %ymm1 3996vpsubw 9280(%r8), %ymm1, %ymm13 3997vpsubw 8224(%r8), %ymm0, %ymm0 3998vpaddw 6112(%r8), %ymm0, %ymm0 3999vmovdqa %ymm0, 8576(%r8) 4000vmovdqa 8608(%r8), %ymm0 4001vpsubw 8960(%r8), %ymm0, %ymm0 4002vmovdqa 6496(%r8), %ymm1 4003vpsubw %ymm0, %ymm1, %ymm1 4004vpsubw 9312(%r8), %ymm1, %ymm14 4005vpsubw 8256(%r8), %ymm0, %ymm0 4006vpaddw 6144(%r8), %ymm0, %ymm0 4007vmovdqa %ymm0, 8608(%r8) 4008vmovdqa 8640(%r8), %ymm0 4009vpsubw 8992(%r8), %ymm0, %ymm0 4010vmovdqa 6528(%r8), %ymm1 4011vpsubw %ymm0, %ymm1, %ymm1 4012vpsubw 9344(%r8), %ymm1, %ymm15 4013vpsubw 8288(%r8), %ymm0, %ymm0 4014vpaddw 6176(%r8), %ymm0, %ymm0 4015vmovdqa %ymm0, 8640(%r8) 4016vmovdqa 6208(%r8), %ymm0 4017vpsubw 8320(%r8), %ymm0, %ymm0 4018vpsubw 9024(%r8), %ymm0, %ymm0 4019vpsubw 3488(%r10), %ymm0, %ymm0 4020vpsubw 4896(%r10), %ymm0, %ymm0 4021vmovdqa %ymm0, 4192(%r10) 4022vmovdqa 3520(%r10), %ymm0 4023vpsubw 4224(%r10), %ymm0, %ymm0 4024vpsubw %ymm0, %ymm6, %ymm6 4025vpsubw 4928(%r10), %ymm6, %ymm6 4026vpsubw 2816(%r10), %ymm0, %ymm0 4027vpaddw 8000(%r8), %ymm0, %ymm0 4028vmovdqa %ymm0, 3520(%r10) 4029vmovdqa %ymm6, 4224(%r10) 4030vmovdqa 3552(%r10), %ymm0 4031vpsubw 4256(%r10), %ymm0, %ymm0 4032vpsubw %ymm0, %ymm7, %ymm7 4033vpsubw 4960(%r10), %ymm7, %ymm7 4034vpsubw 2848(%r10), %ymm0, %ymm0 4035vpaddw 8032(%r8), %ymm0, %ymm0 4036vmovdqa %ymm0, 3552(%r10) 4037vmovdqa %ymm7, 4256(%r10) 4038vmovdqa 3584(%r10), %ymm0 4039vpsubw 4288(%r10), %ymm0, %ymm0 4040vpsubw %ymm0, %ymm8, %ymm8 4041vpsubw 4992(%r10), %ymm8, %ymm8 4042vpsubw 2880(%r10), %ymm0, %ymm0 4043vpaddw 8064(%r8), %ymm0, %ymm0 4044vmovdqa %ymm0, 3584(%r10) 4045vmovdqa %ymm8, 4288(%r10) 4046vmovdqa 3616(%r10), %ymm0 4047vpsubw 4320(%r10), %ymm0, %ymm0 4048vpsubw %ymm0, %ymm9, %ymm9 4049vpsubw 5024(%r10), %ymm9, %ymm9 4050vpsubw 2912(%r10), %ymm0, %ymm0 4051vpaddw 8096(%r8), %ymm0, %ymm0 4052vmovdqa %ymm0, 3616(%r10) 4053vmovdqa %ymm9, 4320(%r10) 4054vmovdqa 3648(%r10), %ymm0 4055vpsubw 4352(%r10), %ymm0, %ymm0 4056vpsubw %ymm0, %ymm10, %ymm10 4057vpsubw 5056(%r10), %ymm10, %ymm10 4058vpsubw 2944(%r10), %ymm0, %ymm0 4059vpaddw 8128(%r8), %ymm0, %ymm0 4060vmovdqa %ymm0, 3648(%r10) 4061vmovdqa %ymm10, 4352(%r10) 4062vmovdqa 3680(%r10), %ymm0 4063vpsubw 4384(%r10), %ymm0, %ymm0 4064vpsubw %ymm0, %ymm11, %ymm11 4065vpsubw 5088(%r10), %ymm11, %ymm11 4066vpsubw 2976(%r10), %ymm0, %ymm0 4067vpaddw 8160(%r8), %ymm0, %ymm0 4068vmovdqa %ymm0, 3680(%r10) 4069vmovdqa %ymm11, 4384(%r10) 4070vmovdqa 3712(%r10), %ymm0 4071vpsubw 4416(%r10), %ymm0, %ymm0 4072vpsubw %ymm0, %ymm12, %ymm12 4073vpsubw 5120(%r10), %ymm12, %ymm12 4074vpsubw 3008(%r10), %ymm0, %ymm0 4075vpaddw 8192(%r8), %ymm0, %ymm0 4076vmovdqa %ymm0, 3712(%r10) 4077vmovdqa %ymm12, 4416(%r10) 4078vmovdqa 3744(%r10), %ymm0 4079vpsubw 4448(%r10), %ymm0, %ymm0 4080vpsubw %ymm0, %ymm13, %ymm13 4081vpsubw 5152(%r10), %ymm13, %ymm13 4082vpsubw 3040(%r10), %ymm0, %ymm0 4083vpaddw 8224(%r8), %ymm0, %ymm0 4084vmovdqa %ymm0, 3744(%r10) 4085vmovdqa %ymm13, 4448(%r10) 4086vmovdqa 3776(%r10), %ymm0 4087vpsubw 4480(%r10), %ymm0, %ymm0 4088vpsubw %ymm0, %ymm14, %ymm14 4089vpsubw 5184(%r10), %ymm14, %ymm14 4090vpsubw 3072(%r10), %ymm0, %ymm0 4091vpaddw 8256(%r8), %ymm0, %ymm0 4092vmovdqa %ymm0, 3776(%r10) 4093vmovdqa %ymm14, 4480(%r10) 4094vmovdqa 3808(%r10), %ymm0 4095vpsubw 4512(%r10), %ymm0, %ymm0 4096vpsubw %ymm0, %ymm15, %ymm15 4097vpsubw 5216(%r10), %ymm15, %ymm15 4098vpsubw 3104(%r10), %ymm0, %ymm0 4099vpaddw 8288(%r8), %ymm0, %ymm0 4100vmovdqa %ymm0, 3808(%r10) 4101vmovdqa %ymm15, 4512(%r10) 4102vmovdqa 3840(%r10), %ymm0 4103vpsubw 4544(%r10), %ymm0, %ymm0 4104vmovdqa 9024(%r8), %ymm1 4105vpsubw %ymm0, %ymm1, %ymm1 4106vpsubw 5248(%r10), %ymm1, %ymm1 4107vpsubw 3136(%r10), %ymm0, %ymm0 4108vpaddw 8320(%r8), %ymm0, %ymm0 4109vmovdqa %ymm0, 3840(%r10) 4110vmovdqa %ymm1, 4544(%r10) 4111vmovdqa 3872(%r10), %ymm0 4112vpsubw 4576(%r10), %ymm0, %ymm0 4113vmovdqa 9056(%r8), %ymm1 4114vpsubw %ymm0, %ymm1, %ymm1 4115vpsubw 5280(%r10), %ymm1, %ymm1 4116vpsubw 3168(%r10), %ymm0, %ymm0 4117vpaddw 8352(%r8), %ymm0, %ymm0 4118vmovdqa %ymm0, 3872(%r10) 4119vmovdqa %ymm1, 4576(%r10) 4120vmovdqa 3904(%r10), %ymm0 4121vpsubw 4608(%r10), %ymm0, %ymm0 4122vmovdqa 9088(%r8), %ymm1 4123vpsubw %ymm0, %ymm1, %ymm1 4124vpsubw 5312(%r10), %ymm1, %ymm1 4125vpsubw 3200(%r10), %ymm0, %ymm0 4126vpaddw 8384(%r8), %ymm0, %ymm0 4127vmovdqa %ymm0, 3904(%r10) 4128vmovdqa %ymm1, 4608(%r10) 4129vmovdqa 3936(%r10), %ymm0 4130vpsubw 4640(%r10), %ymm0, %ymm0 4131vmovdqa 9120(%r8), %ymm1 4132vpsubw %ymm0, %ymm1, %ymm1 4133vpsubw 5344(%r10), %ymm1, %ymm1 4134vpsubw 3232(%r10), %ymm0, %ymm0 4135vpaddw 8416(%r8), %ymm0, %ymm0 4136vmovdqa %ymm0, 3936(%r10) 4137vmovdqa %ymm1, 4640(%r10) 4138vmovdqa 3968(%r10), %ymm0 4139vpsubw 4672(%r10), %ymm0, %ymm0 4140vmovdqa 9152(%r8), %ymm1 4141vpsubw %ymm0, %ymm1, %ymm1 4142vpsubw 5376(%r10), %ymm1, %ymm1 4143vpsubw 3264(%r10), %ymm0, %ymm0 4144vpaddw 8448(%r8), %ymm0, %ymm0 4145vmovdqa %ymm0, 3968(%r10) 4146vmovdqa %ymm1, 4672(%r10) 4147vmovdqa 4000(%r10), %ymm0 4148vpsubw 4704(%r10), %ymm0, %ymm0 4149vmovdqa 9184(%r8), %ymm1 4150vpsubw %ymm0, %ymm1, %ymm1 4151vpsubw 5408(%r10), %ymm1, %ymm1 4152vpsubw 3296(%r10), %ymm0, %ymm0 4153vpaddw 8480(%r8), %ymm0, %ymm0 4154vmovdqa %ymm0, 4000(%r10) 4155vmovdqa %ymm1, 4704(%r10) 4156vmovdqa 4032(%r10), %ymm0 4157vpsubw 4736(%r10), %ymm0, %ymm0 4158vmovdqa 9216(%r8), %ymm1 4159vpsubw %ymm0, %ymm1, %ymm1 4160vpsubw 5440(%r10), %ymm1, %ymm1 4161vpsubw 3328(%r10), %ymm0, %ymm0 4162vpaddw 8512(%r8), %ymm0, %ymm0 4163vmovdqa %ymm0, 4032(%r10) 4164vmovdqa %ymm1, 4736(%r10) 4165vmovdqa 4064(%r10), %ymm0 4166vpsubw 4768(%r10), %ymm0, %ymm0 4167vmovdqa 9248(%r8), %ymm1 4168vpsubw %ymm0, %ymm1, %ymm1 4169vpsubw 5472(%r10), %ymm1, %ymm1 4170vpsubw 3360(%r10), %ymm0, %ymm0 4171vpaddw 8544(%r8), %ymm0, %ymm0 4172vmovdqa %ymm0, 4064(%r10) 4173vmovdqa %ymm1, 4768(%r10) 4174vmovdqa 4096(%r10), %ymm0 4175vpsubw 4800(%r10), %ymm0, %ymm0 4176vmovdqa 9280(%r8), %ymm1 4177vpsubw %ymm0, %ymm1, %ymm1 4178vpsubw 5504(%r10), %ymm1, %ymm1 4179vpsubw 3392(%r10), %ymm0, %ymm0 4180vpaddw 8576(%r8), %ymm0, %ymm0 4181vmovdqa %ymm0, 4096(%r10) 4182vmovdqa %ymm1, 4800(%r10) 4183vmovdqa 4128(%r10), %ymm0 4184vpsubw 4832(%r10), %ymm0, %ymm0 4185vmovdqa 9312(%r8), %ymm1 4186vpsubw %ymm0, %ymm1, %ymm1 4187vpsubw 5536(%r10), %ymm1, %ymm1 4188vpsubw 3424(%r10), %ymm0, %ymm0 4189vpaddw 8608(%r8), %ymm0, %ymm0 4190vmovdqa %ymm0, 4128(%r10) 4191vmovdqa %ymm1, 4832(%r10) 4192vmovdqa 4160(%r10), %ymm0 4193vpsubw 4864(%r10), %ymm0, %ymm0 4194vmovdqa 9344(%r8), %ymm1 4195vpsubw %ymm0, %ymm1, %ymm1 4196vpsubw 5568(%r10), %ymm1, %ymm1 4197vpsubw 3456(%r10), %ymm0, %ymm0 4198vpaddw 8640(%r8), %ymm0, %ymm0 4199vmovdqa %ymm0, 4160(%r10) 4200vmovdqa %ymm1, 4864(%r10) 4201vpxor %ymm1, %ymm1, %ymm1 4202vmovdqa %ymm1, 5600(%r10) 4203subq $32, %r8 4204vmovdqa 2816(%r10), %ymm0 4205vmovdqa 2880(%r10), %ymm1 4206vmovdqa 2944(%r10), %ymm2 4207vmovdqa 3008(%r10), %ymm3 4208vpunpcklwd 2848(%r10), %ymm0, %ymm4 4209vpunpckhwd 2848(%r10), %ymm0, %ymm5 4210vpunpcklwd 2912(%r10), %ymm1, %ymm6 4211vpunpckhwd 2912(%r10), %ymm1, %ymm7 4212vpunpcklwd 2976(%r10), %ymm2, %ymm8 4213vpunpckhwd 2976(%r10), %ymm2, %ymm9 4214vpunpcklwd 3040(%r10), %ymm3, %ymm10 4215vpunpckhwd 3040(%r10), %ymm3, %ymm11 4216vpunpckldq %ymm6, %ymm4, %ymm0 4217vpunpckhdq %ymm6, %ymm4, %ymm1 4218vpunpckldq %ymm7, %ymm5, %ymm2 4219vpunpckhdq %ymm7, %ymm5, %ymm3 4220vpunpckldq %ymm10, %ymm8, %ymm12 4221vpunpckhdq %ymm10, %ymm8, %ymm13 4222vpunpckldq %ymm11, %ymm9, %ymm14 4223vpunpckhdq %ymm11, %ymm9, %ymm15 4224vpunpcklqdq %ymm12, %ymm0, %ymm4 4225vpunpckhqdq %ymm12, %ymm0, %ymm5 4226vpunpcklqdq %ymm13, %ymm1, %ymm6 4227vpunpckhqdq %ymm13, %ymm1, %ymm7 4228vpunpcklqdq %ymm14, %ymm2, %ymm8 4229vpunpckhqdq %ymm14, %ymm2, %ymm9 4230vpunpcklqdq %ymm15, %ymm3, %ymm10 4231vpunpckhqdq %ymm15, %ymm3, %ymm11 4232vmovdqa 3072(%r10), %ymm0 4233vmovdqa 3136(%r10), %ymm1 4234vmovdqa 3200(%r10), %ymm2 4235vmovdqa 3264(%r10), %ymm3 4236vpunpcklwd 3104(%r10), %ymm0, %ymm12 4237vpunpckhwd 3104(%r10), %ymm0, %ymm13 4238vpunpcklwd 3168(%r10), %ymm1, %ymm14 4239vpunpckhwd 3168(%r10), %ymm1, %ymm15 4240vpunpcklwd 3232(%r10), %ymm2, %ymm0 4241vpunpckhwd 3232(%r10), %ymm2, %ymm1 4242vpunpcklwd 3296(%r10), %ymm3, %ymm2 4243vpunpckhwd 3296(%r10), %ymm3, %ymm3 4244vmovdqa %ymm11, 0(%r8) 4245vpunpckldq %ymm14, %ymm12, %ymm11 4246vpunpckhdq %ymm14, %ymm12, %ymm12 4247vpunpckldq %ymm15, %ymm13, %ymm14 4248vpunpckhdq %ymm15, %ymm13, %ymm15 4249vpunpckldq %ymm2, %ymm0, %ymm13 4250vpunpckhdq %ymm2, %ymm0, %ymm0 4251vpunpckldq %ymm3, %ymm1, %ymm2 4252vpunpckhdq %ymm3, %ymm1, %ymm1 4253vpunpcklqdq %ymm13, %ymm11, %ymm3 4254vpunpckhqdq %ymm13, %ymm11, %ymm13 4255vpunpcklqdq %ymm0, %ymm12, %ymm11 4256vpunpckhqdq %ymm0, %ymm12, %ymm0 4257vpunpcklqdq %ymm2, %ymm14, %ymm12 4258vpunpckhqdq %ymm2, %ymm14, %ymm2 4259vpunpcklqdq %ymm1, %ymm15, %ymm14 4260vpunpckhqdq %ymm1, %ymm15, %ymm1 4261vinserti128 $1, %xmm3, %ymm4, %ymm15 4262vmovdqa %ymm15, 0(%r12) 4263vinserti128 $1, %xmm13, %ymm5, %ymm15 4264vmovdqa %ymm15, 192(%r12) 4265vinserti128 $1, %xmm11, %ymm6, %ymm15 4266vmovdqa %ymm15, 384(%r12) 4267vinserti128 $1, %xmm0, %ymm7, %ymm15 4268vmovdqa %ymm15, 576(%r12) 4269vinserti128 $1, %xmm12, %ymm8, %ymm15 4270vmovdqa %ymm15, 768(%r12) 4271vinserti128 $1, %xmm2, %ymm9, %ymm15 4272vmovdqa %ymm15, 960(%r12) 4273vinserti128 $1, %xmm14, %ymm10, %ymm15 4274vmovdqa %ymm15, 1152(%r12) 4275vpermq $78, %ymm4, %ymm4 4276vpermq $78, %ymm5, %ymm5 4277vpermq $78, %ymm6, %ymm6 4278vpermq $78, %ymm7, %ymm7 4279vpermq $78, %ymm8, %ymm8 4280vpermq $78, %ymm9, %ymm9 4281vpermq $78, %ymm10, %ymm10 4282vinserti128 $0, %xmm4, %ymm3, %ymm15 4283vmovdqa %ymm15, 1536(%r12) 4284vinserti128 $0, %xmm5, %ymm13, %ymm15 4285vmovdqa %ymm15, 1728(%r12) 4286vinserti128 $0, %xmm6, %ymm11, %ymm15 4287vmovdqa %ymm15, 1920(%r12) 4288vinserti128 $0, %xmm7, %ymm0, %ymm15 4289vmovdqa %ymm15, 2112(%r12) 4290vinserti128 $0, %xmm8, %ymm12, %ymm15 4291vmovdqa %ymm15, 2304(%r12) 4292vinserti128 $0, %xmm9, %ymm2, %ymm15 4293vmovdqa %ymm15, 2496(%r12) 4294vinserti128 $0, %xmm10, %ymm14, %ymm15 4295vmovdqa %ymm15, 2688(%r12) 4296vmovdqa 0(%r8), %ymm11 4297vinserti128 $1, %xmm1, %ymm11, %ymm14 4298vmovdqa %ymm14, 1344(%r12) 4299vpermq $78, %ymm11, %ymm11 4300vinserti128 $0, %xmm11, %ymm1, %ymm1 4301vmovdqa %ymm1, 2880(%r12) 4302vmovdqa 3328(%r10), %ymm0 4303vmovdqa 3392(%r10), %ymm1 4304vmovdqa 3456(%r10), %ymm2 4305vmovdqa 3520(%r10), %ymm3 4306vpunpcklwd 3360(%r10), %ymm0, %ymm4 4307vpunpckhwd 3360(%r10), %ymm0, %ymm5 4308vpunpcklwd 3424(%r10), %ymm1, %ymm6 4309vpunpckhwd 3424(%r10), %ymm1, %ymm7 4310vpunpcklwd 3488(%r10), %ymm2, %ymm8 4311vpunpckhwd 3488(%r10), %ymm2, %ymm9 4312vpunpcklwd 3552(%r10), %ymm3, %ymm10 4313vpunpckhwd 3552(%r10), %ymm3, %ymm11 4314vpunpckldq %ymm6, %ymm4, %ymm0 4315vpunpckhdq %ymm6, %ymm4, %ymm1 4316vpunpckldq %ymm7, %ymm5, %ymm2 4317vpunpckhdq %ymm7, %ymm5, %ymm3 4318vpunpckldq %ymm10, %ymm8, %ymm12 4319vpunpckhdq %ymm10, %ymm8, %ymm13 4320vpunpckldq %ymm11, %ymm9, %ymm14 4321vpunpckhdq %ymm11, %ymm9, %ymm15 4322vpunpcklqdq %ymm12, %ymm0, %ymm4 4323vpunpckhqdq %ymm12, %ymm0, %ymm5 4324vpunpcklqdq %ymm13, %ymm1, %ymm6 4325vpunpckhqdq %ymm13, %ymm1, %ymm7 4326vpunpcklqdq %ymm14, %ymm2, %ymm8 4327vpunpckhqdq %ymm14, %ymm2, %ymm9 4328vpunpcklqdq %ymm15, %ymm3, %ymm10 4329vpunpckhqdq %ymm15, %ymm3, %ymm11 4330vmovdqa 3584(%r10), %ymm0 4331vmovdqa 3648(%r10), %ymm1 4332vmovdqa 3712(%r10), %ymm2 4333vmovdqa 3776(%r10), %ymm3 4334vpunpcklwd 3616(%r10), %ymm0, %ymm12 4335vpunpckhwd 3616(%r10), %ymm0, %ymm13 4336vpunpcklwd 3680(%r10), %ymm1, %ymm14 4337vpunpckhwd 3680(%r10), %ymm1, %ymm15 4338vpunpcklwd 3744(%r10), %ymm2, %ymm0 4339vpunpckhwd 3744(%r10), %ymm2, %ymm1 4340vpunpcklwd 3808(%r10), %ymm3, %ymm2 4341vpunpckhwd 3808(%r10), %ymm3, %ymm3 4342vmovdqa %ymm11, 0(%r8) 4343vpunpckldq %ymm14, %ymm12, %ymm11 4344vpunpckhdq %ymm14, %ymm12, %ymm12 4345vpunpckldq %ymm15, %ymm13, %ymm14 4346vpunpckhdq %ymm15, %ymm13, %ymm15 4347vpunpckldq %ymm2, %ymm0, %ymm13 4348vpunpckhdq %ymm2, %ymm0, %ymm0 4349vpunpckldq %ymm3, %ymm1, %ymm2 4350vpunpckhdq %ymm3, %ymm1, %ymm1 4351vpunpcklqdq %ymm13, %ymm11, %ymm3 4352vpunpckhqdq %ymm13, %ymm11, %ymm13 4353vpunpcklqdq %ymm0, %ymm12, %ymm11 4354vpunpckhqdq %ymm0, %ymm12, %ymm0 4355vpunpcklqdq %ymm2, %ymm14, %ymm12 4356vpunpckhqdq %ymm2, %ymm14, %ymm2 4357vpunpcklqdq %ymm1, %ymm15, %ymm14 4358vpunpckhqdq %ymm1, %ymm15, %ymm1 4359vinserti128 $1, %xmm3, %ymm4, %ymm15 4360vmovdqa %ymm15, 32(%r12) 4361vinserti128 $1, %xmm13, %ymm5, %ymm15 4362vmovdqa %ymm15, 224(%r12) 4363vinserti128 $1, %xmm11, %ymm6, %ymm15 4364vmovdqa %ymm15, 416(%r12) 4365vinserti128 $1, %xmm0, %ymm7, %ymm15 4366vmovdqa %ymm15, 608(%r12) 4367vinserti128 $1, %xmm12, %ymm8, %ymm15 4368vmovdqa %ymm15, 800(%r12) 4369vinserti128 $1, %xmm2, %ymm9, %ymm15 4370vmovdqa %ymm15, 992(%r12) 4371vinserti128 $1, %xmm14, %ymm10, %ymm15 4372vmovdqa %ymm15, 1184(%r12) 4373vpermq $78, %ymm4, %ymm4 4374vpermq $78, %ymm5, %ymm5 4375vpermq $78, %ymm6, %ymm6 4376vpermq $78, %ymm7, %ymm7 4377vpermq $78, %ymm8, %ymm8 4378vpermq $78, %ymm9, %ymm9 4379vpermq $78, %ymm10, %ymm10 4380vinserti128 $0, %xmm4, %ymm3, %ymm15 4381vmovdqa %ymm15, 1568(%r12) 4382vinserti128 $0, %xmm5, %ymm13, %ymm15 4383vmovdqa %ymm15, 1760(%r12) 4384vinserti128 $0, %xmm6, %ymm11, %ymm15 4385vmovdqa %ymm15, 1952(%r12) 4386vinserti128 $0, %xmm7, %ymm0, %ymm15 4387vmovdqa %ymm15, 2144(%r12) 4388vinserti128 $0, %xmm8, %ymm12, %ymm15 4389vmovdqa %ymm15, 2336(%r12) 4390vinserti128 $0, %xmm9, %ymm2, %ymm15 4391vmovdqa %ymm15, 2528(%r12) 4392vinserti128 $0, %xmm10, %ymm14, %ymm15 4393vmovdqa %ymm15, 2720(%r12) 4394vmovdqa 0(%r8), %ymm11 4395vinserti128 $1, %xmm1, %ymm11, %ymm14 4396vmovdqa %ymm14, 1376(%r12) 4397vpermq $78, %ymm11, %ymm11 4398vinserti128 $0, %xmm11, %ymm1, %ymm1 4399vmovdqa %ymm1, 2912(%r12) 4400vmovdqa 3840(%r10), %ymm0 4401vmovdqa 3904(%r10), %ymm1 4402vmovdqa 3968(%r10), %ymm2 4403vmovdqa 4032(%r10), %ymm3 4404vpunpcklwd 3872(%r10), %ymm0, %ymm4 4405vpunpckhwd 3872(%r10), %ymm0, %ymm5 4406vpunpcklwd 3936(%r10), %ymm1, %ymm6 4407vpunpckhwd 3936(%r10), %ymm1, %ymm7 4408vpunpcklwd 4000(%r10), %ymm2, %ymm8 4409vpunpckhwd 4000(%r10), %ymm2, %ymm9 4410vpunpcklwd 4064(%r10), %ymm3, %ymm10 4411vpunpckhwd 4064(%r10), %ymm3, %ymm11 4412vpunpckldq %ymm6, %ymm4, %ymm0 4413vpunpckhdq %ymm6, %ymm4, %ymm1 4414vpunpckldq %ymm7, %ymm5, %ymm2 4415vpunpckhdq %ymm7, %ymm5, %ymm3 4416vpunpckldq %ymm10, %ymm8, %ymm12 4417vpunpckhdq %ymm10, %ymm8, %ymm13 4418vpunpckldq %ymm11, %ymm9, %ymm14 4419vpunpckhdq %ymm11, %ymm9, %ymm15 4420vpunpcklqdq %ymm12, %ymm0, %ymm4 4421vpunpckhqdq %ymm12, %ymm0, %ymm5 4422vpunpcklqdq %ymm13, %ymm1, %ymm6 4423vpunpckhqdq %ymm13, %ymm1, %ymm7 4424vpunpcklqdq %ymm14, %ymm2, %ymm8 4425vpunpckhqdq %ymm14, %ymm2, %ymm9 4426vpunpcklqdq %ymm15, %ymm3, %ymm10 4427vpunpckhqdq %ymm15, %ymm3, %ymm11 4428vmovdqa 4096(%r10), %ymm0 4429vmovdqa 4160(%r10), %ymm1 4430vmovdqa 4224(%r10), %ymm2 4431vmovdqa 4288(%r10), %ymm3 4432vpunpcklwd 4128(%r10), %ymm0, %ymm12 4433vpunpckhwd 4128(%r10), %ymm0, %ymm13 4434vpunpcklwd 4192(%r10), %ymm1, %ymm14 4435vpunpckhwd 4192(%r10), %ymm1, %ymm15 4436vpunpcklwd 4256(%r10), %ymm2, %ymm0 4437vpunpckhwd 4256(%r10), %ymm2, %ymm1 4438vpunpcklwd 4320(%r10), %ymm3, %ymm2 4439vpunpckhwd 4320(%r10), %ymm3, %ymm3 4440vmovdqa %ymm11, 0(%r8) 4441vpunpckldq %ymm14, %ymm12, %ymm11 4442vpunpckhdq %ymm14, %ymm12, %ymm12 4443vpunpckldq %ymm15, %ymm13, %ymm14 4444vpunpckhdq %ymm15, %ymm13, %ymm15 4445vpunpckldq %ymm2, %ymm0, %ymm13 4446vpunpckhdq %ymm2, %ymm0, %ymm0 4447vpunpckldq %ymm3, %ymm1, %ymm2 4448vpunpckhdq %ymm3, %ymm1, %ymm1 4449vpunpcklqdq %ymm13, %ymm11, %ymm3 4450vpunpckhqdq %ymm13, %ymm11, %ymm13 4451vpunpcklqdq %ymm0, %ymm12, %ymm11 4452vpunpckhqdq %ymm0, %ymm12, %ymm0 4453vpunpcklqdq %ymm2, %ymm14, %ymm12 4454vpunpckhqdq %ymm2, %ymm14, %ymm2 4455vpunpcklqdq %ymm1, %ymm15, %ymm14 4456vpunpckhqdq %ymm1, %ymm15, %ymm1 4457vinserti128 $1, %xmm3, %ymm4, %ymm15 4458vmovdqa %ymm15, 64(%r12) 4459vinserti128 $1, %xmm13, %ymm5, %ymm15 4460vmovdqa %ymm15, 256(%r12) 4461vinserti128 $1, %xmm11, %ymm6, %ymm15 4462vmovdqa %ymm15, 448(%r12) 4463vinserti128 $1, %xmm0, %ymm7, %ymm15 4464vmovdqa %ymm15, 640(%r12) 4465vinserti128 $1, %xmm12, %ymm8, %ymm15 4466vmovdqa %ymm15, 832(%r12) 4467vinserti128 $1, %xmm2, %ymm9, %ymm15 4468vmovdqa %ymm15, 1024(%r12) 4469vinserti128 $1, %xmm14, %ymm10, %ymm15 4470vmovdqa %ymm15, 1216(%r12) 4471vpermq $78, %ymm4, %ymm4 4472vpermq $78, %ymm5, %ymm5 4473vpermq $78, %ymm6, %ymm6 4474vpermq $78, %ymm7, %ymm7 4475vpermq $78, %ymm8, %ymm8 4476vpermq $78, %ymm9, %ymm9 4477vpermq $78, %ymm10, %ymm10 4478vinserti128 $0, %xmm4, %ymm3, %ymm15 4479vmovdqa %ymm15, 1600(%r12) 4480vinserti128 $0, %xmm5, %ymm13, %ymm15 4481vmovdqa %ymm15, 1792(%r12) 4482vinserti128 $0, %xmm6, %ymm11, %ymm15 4483vmovdqa %ymm15, 1984(%r12) 4484vinserti128 $0, %xmm7, %ymm0, %ymm15 4485vmovdqa %ymm15, 2176(%r12) 4486vinserti128 $0, %xmm8, %ymm12, %ymm15 4487vmovdqa %ymm15, 2368(%r12) 4488vinserti128 $0, %xmm9, %ymm2, %ymm15 4489vmovdqa %ymm15, 2560(%r12) 4490vinserti128 $0, %xmm10, %ymm14, %ymm15 4491vmovdqa %ymm15, 2752(%r12) 4492vmovdqa 0(%r8), %ymm11 4493vinserti128 $1, %xmm1, %ymm11, %ymm14 4494vmovdqa %ymm14, 1408(%r12) 4495vpermq $78, %ymm11, %ymm11 4496vinserti128 $0, %xmm11, %ymm1, %ymm1 4497vmovdqa %ymm1, 2944(%r12) 4498vmovdqa 4224(%r10), %ymm0 4499vmovdqa 4288(%r10), %ymm1 4500vmovdqa 4352(%r10), %ymm2 4501vmovdqa 4416(%r10), %ymm3 4502vpunpcklwd 4256(%r10), %ymm0, %ymm4 4503vpunpckhwd 4256(%r10), %ymm0, %ymm5 4504vpunpcklwd 4320(%r10), %ymm1, %ymm6 4505vpunpckhwd 4320(%r10), %ymm1, %ymm7 4506vpunpcklwd 4384(%r10), %ymm2, %ymm8 4507vpunpckhwd 4384(%r10), %ymm2, %ymm9 4508vpunpcklwd 4448(%r10), %ymm3, %ymm10 4509vpunpckhwd 4448(%r10), %ymm3, %ymm11 4510vpunpckldq %ymm6, %ymm4, %ymm0 4511vpunpckhdq %ymm6, %ymm4, %ymm1 4512vpunpckldq %ymm7, %ymm5, %ymm2 4513vpunpckhdq %ymm7, %ymm5, %ymm3 4514vpunpckldq %ymm10, %ymm8, %ymm12 4515vpunpckhdq %ymm10, %ymm8, %ymm13 4516vpunpckldq %ymm11, %ymm9, %ymm14 4517vpunpckhdq %ymm11, %ymm9, %ymm15 4518vpunpcklqdq %ymm12, %ymm0, %ymm4 4519vpunpckhqdq %ymm12, %ymm0, %ymm5 4520vpunpcklqdq %ymm13, %ymm1, %ymm6 4521vpunpckhqdq %ymm13, %ymm1, %ymm7 4522vpunpcklqdq %ymm14, %ymm2, %ymm8 4523vpunpckhqdq %ymm14, %ymm2, %ymm9 4524vpunpcklqdq %ymm15, %ymm3, %ymm10 4525vpunpckhqdq %ymm15, %ymm3, %ymm11 4526vmovdqa 4480(%r10), %ymm0 4527vmovdqa 4544(%r10), %ymm1 4528vmovdqa 4608(%r10), %ymm2 4529vmovdqa 4672(%r10), %ymm3 4530vpunpcklwd 4512(%r10), %ymm0, %ymm12 4531vpunpckhwd 4512(%r10), %ymm0, %ymm13 4532vpunpcklwd 4576(%r10), %ymm1, %ymm14 4533vpunpckhwd 4576(%r10), %ymm1, %ymm15 4534vpunpcklwd 4640(%r10), %ymm2, %ymm0 4535vpunpckhwd 4640(%r10), %ymm2, %ymm1 4536vpunpcklwd 4704(%r10), %ymm3, %ymm2 4537vpunpckhwd 4704(%r10), %ymm3, %ymm3 4538vmovdqa %ymm11, 0(%r8) 4539vpunpckldq %ymm14, %ymm12, %ymm11 4540vpunpckhdq %ymm14, %ymm12, %ymm12 4541vpunpckldq %ymm15, %ymm13, %ymm14 4542vpunpckhdq %ymm15, %ymm13, %ymm15 4543vpunpckldq %ymm2, %ymm0, %ymm13 4544vpunpckhdq %ymm2, %ymm0, %ymm0 4545vpunpckldq %ymm3, %ymm1, %ymm2 4546vpunpckhdq %ymm3, %ymm1, %ymm1 4547vpunpcklqdq %ymm13, %ymm11, %ymm3 4548vpunpckhqdq %ymm13, %ymm11, %ymm13 4549vpunpcklqdq %ymm0, %ymm12, %ymm11 4550vpunpckhqdq %ymm0, %ymm12, %ymm0 4551vpunpcklqdq %ymm2, %ymm14, %ymm12 4552vpunpckhqdq %ymm2, %ymm14, %ymm2 4553vpunpcklqdq %ymm1, %ymm15, %ymm14 4554vpunpckhqdq %ymm1, %ymm15, %ymm1 4555vinserti128 $1, %xmm3, %ymm4, %ymm15 4556vmovdqa %ymm15, 96(%r12) 4557vinserti128 $1, %xmm13, %ymm5, %ymm15 4558vmovdqa %ymm15, 288(%r12) 4559vinserti128 $1, %xmm11, %ymm6, %ymm15 4560vmovdqa %ymm15, 480(%r12) 4561vinserti128 $1, %xmm0, %ymm7, %ymm15 4562vmovdqa %ymm15, 672(%r12) 4563vinserti128 $1, %xmm12, %ymm8, %ymm15 4564vmovdqa %ymm15, 864(%r12) 4565vinserti128 $1, %xmm2, %ymm9, %ymm15 4566vmovdqa %ymm15, 1056(%r12) 4567vinserti128 $1, %xmm14, %ymm10, %ymm15 4568vmovdqa %ymm15, 1248(%r12) 4569vpermq $78, %ymm4, %ymm4 4570vpermq $78, %ymm5, %ymm5 4571vpermq $78, %ymm6, %ymm6 4572vpermq $78, %ymm7, %ymm7 4573vpermq $78, %ymm8, %ymm8 4574vpermq $78, %ymm9, %ymm9 4575vpermq $78, %ymm10, %ymm10 4576vinserti128 $0, %xmm4, %ymm3, %ymm15 4577vmovdqa %ymm15, 1632(%r12) 4578vinserti128 $0, %xmm5, %ymm13, %ymm15 4579vmovdqa %ymm15, 1824(%r12) 4580vinserti128 $0, %xmm6, %ymm11, %ymm15 4581vmovdqa %ymm15, 2016(%r12) 4582vinserti128 $0, %xmm7, %ymm0, %ymm15 4583vmovdqa %ymm15, 2208(%r12) 4584vinserti128 $0, %xmm8, %ymm12, %ymm15 4585vmovdqa %ymm15, 2400(%r12) 4586vinserti128 $0, %xmm9, %ymm2, %ymm15 4587vmovdqa %ymm15, 2592(%r12) 4588vinserti128 $0, %xmm10, %ymm14, %ymm15 4589vmovdqa %ymm15, 2784(%r12) 4590vmovdqa 0(%r8), %ymm11 4591vinserti128 $1, %xmm1, %ymm11, %ymm14 4592vmovdqa %ymm14, 1440(%r12) 4593vpermq $78, %ymm11, %ymm11 4594vinserti128 $0, %xmm11, %ymm1, %ymm1 4595vmovdqa %ymm1, 2976(%r12) 4596vmovdqa 4736(%r10), %ymm0 4597vmovdqa 4800(%r10), %ymm1 4598vmovdqa 4864(%r10), %ymm2 4599vmovdqa 4928(%r10), %ymm3 4600vpunpcklwd 4768(%r10), %ymm0, %ymm4 4601vpunpckhwd 4768(%r10), %ymm0, %ymm5 4602vpunpcklwd 4832(%r10), %ymm1, %ymm6 4603vpunpckhwd 4832(%r10), %ymm1, %ymm7 4604vpunpcklwd 4896(%r10), %ymm2, %ymm8 4605vpunpckhwd 4896(%r10), %ymm2, %ymm9 4606vpunpcklwd 4960(%r10), %ymm3, %ymm10 4607vpunpckhwd 4960(%r10), %ymm3, %ymm11 4608vpunpckldq %ymm6, %ymm4, %ymm0 4609vpunpckhdq %ymm6, %ymm4, %ymm1 4610vpunpckldq %ymm7, %ymm5, %ymm2 4611vpunpckhdq %ymm7, %ymm5, %ymm3 4612vpunpckldq %ymm10, %ymm8, %ymm12 4613vpunpckhdq %ymm10, %ymm8, %ymm13 4614vpunpckldq %ymm11, %ymm9, %ymm14 4615vpunpckhdq %ymm11, %ymm9, %ymm15 4616vpunpcklqdq %ymm12, %ymm0, %ymm4 4617vpunpckhqdq %ymm12, %ymm0, %ymm5 4618vpunpcklqdq %ymm13, %ymm1, %ymm6 4619vpunpckhqdq %ymm13, %ymm1, %ymm7 4620vpunpcklqdq %ymm14, %ymm2, %ymm8 4621vpunpckhqdq %ymm14, %ymm2, %ymm9 4622vpunpcklqdq %ymm15, %ymm3, %ymm10 4623vpunpckhqdq %ymm15, %ymm3, %ymm11 4624vmovdqa 4992(%r10), %ymm0 4625vmovdqa 5056(%r10), %ymm1 4626vmovdqa 5120(%r10), %ymm2 4627vmovdqa 5184(%r10), %ymm3 4628vpunpcklwd 5024(%r10), %ymm0, %ymm12 4629vpunpckhwd 5024(%r10), %ymm0, %ymm13 4630vpunpcklwd 5088(%r10), %ymm1, %ymm14 4631vpunpckhwd 5088(%r10), %ymm1, %ymm15 4632vpunpcklwd 5152(%r10), %ymm2, %ymm0 4633vpunpckhwd 5152(%r10), %ymm2, %ymm1 4634vpunpcklwd 5216(%r10), %ymm3, %ymm2 4635vpunpckhwd 5216(%r10), %ymm3, %ymm3 4636vmovdqa %ymm11, 0(%r8) 4637vpunpckldq %ymm14, %ymm12, %ymm11 4638vpunpckhdq %ymm14, %ymm12, %ymm12 4639vpunpckldq %ymm15, %ymm13, %ymm14 4640vpunpckhdq %ymm15, %ymm13, %ymm15 4641vpunpckldq %ymm2, %ymm0, %ymm13 4642vpunpckhdq %ymm2, %ymm0, %ymm0 4643vpunpckldq %ymm3, %ymm1, %ymm2 4644vpunpckhdq %ymm3, %ymm1, %ymm1 4645vpunpcklqdq %ymm13, %ymm11, %ymm3 4646vpunpckhqdq %ymm13, %ymm11, %ymm13 4647vpunpcklqdq %ymm0, %ymm12, %ymm11 4648vpunpckhqdq %ymm0, %ymm12, %ymm0 4649vpunpcklqdq %ymm2, %ymm14, %ymm12 4650vpunpckhqdq %ymm2, %ymm14, %ymm2 4651vpunpcklqdq %ymm1, %ymm15, %ymm14 4652vpunpckhqdq %ymm1, %ymm15, %ymm1 4653vinserti128 $1, %xmm3, %ymm4, %ymm15 4654vmovdqa %ymm15, 128(%r12) 4655vinserti128 $1, %xmm13, %ymm5, %ymm15 4656vmovdqa %ymm15, 320(%r12) 4657vinserti128 $1, %xmm11, %ymm6, %ymm15 4658vmovdqa %ymm15, 512(%r12) 4659vinserti128 $1, %xmm0, %ymm7, %ymm15 4660vmovdqa %ymm15, 704(%r12) 4661vinserti128 $1, %xmm12, %ymm8, %ymm15 4662vmovdqa %ymm15, 896(%r12) 4663vinserti128 $1, %xmm2, %ymm9, %ymm15 4664vmovdqa %ymm15, 1088(%r12) 4665vinserti128 $1, %xmm14, %ymm10, %ymm15 4666vmovdqa %ymm15, 1280(%r12) 4667vpermq $78, %ymm4, %ymm4 4668vpermq $78, %ymm5, %ymm5 4669vpermq $78, %ymm6, %ymm6 4670vpermq $78, %ymm7, %ymm7 4671vpermq $78, %ymm8, %ymm8 4672vpermq $78, %ymm9, %ymm9 4673vpermq $78, %ymm10, %ymm10 4674vinserti128 $0, %xmm4, %ymm3, %ymm15 4675vmovdqa %ymm15, 1664(%r12) 4676vinserti128 $0, %xmm5, %ymm13, %ymm15 4677vmovdqa %ymm15, 1856(%r12) 4678vinserti128 $0, %xmm6, %ymm11, %ymm15 4679vmovdqa %ymm15, 2048(%r12) 4680vinserti128 $0, %xmm7, %ymm0, %ymm15 4681vmovdqa %ymm15, 2240(%r12) 4682vinserti128 $0, %xmm8, %ymm12, %ymm15 4683vmovdqa %ymm15, 2432(%r12) 4684vinserti128 $0, %xmm9, %ymm2, %ymm15 4685vmovdqa %ymm15, 2624(%r12) 4686vinserti128 $0, %xmm10, %ymm14, %ymm15 4687vmovdqa %ymm15, 2816(%r12) 4688vmovdqa 0(%r8), %ymm11 4689vinserti128 $1, %xmm1, %ymm11, %ymm14 4690vmovdqa %ymm14, 1472(%r12) 4691vpermq $78, %ymm11, %ymm11 4692vinserti128 $0, %xmm11, %ymm1, %ymm1 4693vmovdqa %ymm1, 3008(%r12) 4694vmovdqa 5248(%r10), %ymm0 4695vmovdqa 5312(%r10), %ymm1 4696vmovdqa 5376(%r10), %ymm2 4697vmovdqa 5440(%r10), %ymm3 4698vpunpcklwd 5280(%r10), %ymm0, %ymm4 4699vpunpckhwd 5280(%r10), %ymm0, %ymm5 4700vpunpcklwd 5344(%r10), %ymm1, %ymm6 4701vpunpckhwd 5344(%r10), %ymm1, %ymm7 4702vpunpcklwd 5408(%r10), %ymm2, %ymm8 4703vpunpckhwd 5408(%r10), %ymm2, %ymm9 4704vpunpcklwd 5472(%r10), %ymm3, %ymm10 4705vpunpckhwd 5472(%r10), %ymm3, %ymm11 4706vpunpckldq %ymm6, %ymm4, %ymm0 4707vpunpckhdq %ymm6, %ymm4, %ymm1 4708vpunpckldq %ymm7, %ymm5, %ymm2 4709vpunpckhdq %ymm7, %ymm5, %ymm3 4710vpunpckldq %ymm10, %ymm8, %ymm12 4711vpunpckhdq %ymm10, %ymm8, %ymm13 4712vpunpckldq %ymm11, %ymm9, %ymm14 4713vpunpckhdq %ymm11, %ymm9, %ymm15 4714vpunpcklqdq %ymm12, %ymm0, %ymm4 4715vpunpckhqdq %ymm12, %ymm0, %ymm5 4716vpunpcklqdq %ymm13, %ymm1, %ymm6 4717vpunpckhqdq %ymm13, %ymm1, %ymm7 4718vpunpcklqdq %ymm14, %ymm2, %ymm8 4719vpunpckhqdq %ymm14, %ymm2, %ymm9 4720vpunpcklqdq %ymm15, %ymm3, %ymm10 4721vpunpckhqdq %ymm15, %ymm3, %ymm11 4722vmovdqa 5504(%r10), %ymm0 4723vmovdqa 5568(%r10), %ymm1 4724vmovdqa 5632(%r10), %ymm2 4725vmovdqa 5696(%r10), %ymm3 4726vpunpcklwd 5536(%r10), %ymm0, %ymm12 4727vpunpckhwd 5536(%r10), %ymm0, %ymm13 4728vpunpcklwd 5600(%r10), %ymm1, %ymm14 4729vpunpckhwd 5600(%r10), %ymm1, %ymm15 4730vpunpcklwd 5664(%r10), %ymm2, %ymm0 4731vpunpckhwd 5664(%r10), %ymm2, %ymm1 4732vpunpcklwd 5728(%r10), %ymm3, %ymm2 4733vpunpckhwd 5728(%r10), %ymm3, %ymm3 4734vmovdqa %ymm11, 0(%r8) 4735vpunpckldq %ymm14, %ymm12, %ymm11 4736vpunpckhdq %ymm14, %ymm12, %ymm12 4737vpunpckldq %ymm15, %ymm13, %ymm14 4738vpunpckhdq %ymm15, %ymm13, %ymm15 4739vpunpckldq %ymm2, %ymm0, %ymm13 4740vpunpckhdq %ymm2, %ymm0, %ymm0 4741vpunpckldq %ymm3, %ymm1, %ymm2 4742vpunpckhdq %ymm3, %ymm1, %ymm1 4743vpunpcklqdq %ymm13, %ymm11, %ymm3 4744vpunpckhqdq %ymm13, %ymm11, %ymm13 4745vpunpcklqdq %ymm0, %ymm12, %ymm11 4746vpunpckhqdq %ymm0, %ymm12, %ymm0 4747vpunpcklqdq %ymm2, %ymm14, %ymm12 4748vpunpckhqdq %ymm2, %ymm14, %ymm2 4749vpunpcklqdq %ymm1, %ymm15, %ymm14 4750vpunpckhqdq %ymm1, %ymm15, %ymm1 4751vinserti128 $1, %xmm3, %ymm4, %ymm15 4752vmovdqa %ymm15, 160(%r12) 4753vinserti128 $1, %xmm13, %ymm5, %ymm15 4754vmovdqa %ymm15, 352(%r12) 4755vinserti128 $1, %xmm11, %ymm6, %ymm15 4756vmovdqa %ymm15, 544(%r12) 4757vinserti128 $1, %xmm0, %ymm7, %ymm15 4758vmovdqa %ymm15, 736(%r12) 4759vinserti128 $1, %xmm12, %ymm8, %ymm15 4760vmovdqa %ymm15, 928(%r12) 4761vinserti128 $1, %xmm2, %ymm9, %ymm15 4762vmovdqa %ymm15, 1120(%r12) 4763vinserti128 $1, %xmm14, %ymm10, %ymm15 4764vmovdqa %ymm15, 1312(%r12) 4765vpermq $78, %ymm4, %ymm4 4766vpermq $78, %ymm5, %ymm5 4767vpermq $78, %ymm6, %ymm6 4768vpermq $78, %ymm7, %ymm7 4769vpermq $78, %ymm8, %ymm8 4770vpermq $78, %ymm9, %ymm9 4771vpermq $78, %ymm10, %ymm10 4772vinserti128 $0, %xmm4, %ymm3, %ymm15 4773vmovdqa %ymm15, 1696(%r12) 4774vinserti128 $0, %xmm5, %ymm13, %ymm15 4775vmovdqa %ymm15, 1888(%r12) 4776vinserti128 $0, %xmm6, %ymm11, %ymm15 4777vmovdqa %ymm15, 2080(%r12) 4778vinserti128 $0, %xmm7, %ymm0, %ymm15 4779vmovdqa %ymm15, 2272(%r12) 4780vinserti128 $0, %xmm8, %ymm12, %ymm15 4781vmovdqa %ymm15, 2464(%r12) 4782vinserti128 $0, %xmm9, %ymm2, %ymm15 4783vmovdqa %ymm15, 2656(%r12) 4784vinserti128 $0, %xmm10, %ymm14, %ymm15 4785vmovdqa %ymm15, 2848(%r12) 4786vmovdqa 0(%r8), %ymm11 4787vinserti128 $1, %xmm1, %ymm11, %ymm14 4788vmovdqa %ymm14, 1504(%r12) 4789vpermq $78, %ymm11, %ymm11 4790vinserti128 $0, %xmm11, %ymm1, %ymm1 4791vmovdqa %ymm1, 3040(%r12) 4792addq $32, %r8 4793add $1536, %rax 4794add $1536, %r11 4795add $3072, %r12 4796dec %ecx 4797jnz karatsuba_loop_4eced63f144beffcb0247f9c6f67d165 4798sub $12288, %r12 4799add $9408-2400, %r8 4800vpxor %ymm0, %ymm0, %ymm0 4801vmovdqa %ymm0, 1792(%r8) 4802vmovdqa %ymm0, 1824(%r8) 4803vmovdqa %ymm0, 1856(%r8) 4804vmovdqa %ymm0, 1888(%r8) 4805vmovdqa %ymm0, 1920(%r8) 4806vmovdqa %ymm0, 1952(%r8) 4807vmovdqa %ymm0, 1984(%r8) 4808vmovdqa %ymm0, 2016(%r8) 4809vmovdqa %ymm0, 2048(%r8) 4810vmovdqa %ymm0, 2080(%r8) 4811vmovdqa %ymm0, 2112(%r8) 4812vmovdqa %ymm0, 2144(%r8) 4813vmovdqa %ymm0, 2176(%r8) 4814vmovdqa %ymm0, 2208(%r8) 4815vmovdqa %ymm0, 2240(%r8) 4816vmovdqa %ymm0, 2272(%r8) 4817vmovdqa %ymm0, 2304(%r8) 4818vmovdqa %ymm0, 2336(%r8) 4819vmovdqa %ymm0, 2368(%r8) 4820vmovdqa %ymm0, 2400(%r8) 4821vmovdqa %ymm0, 2432(%r8) 4822vmovdqa %ymm0, 2464(%r8) 4823vmovdqa %ymm0, 2496(%r8) 4824vmovdqa %ymm0, 2528(%r8) 4825vmovdqa %ymm0, 2560(%r8) 4826vmovdqa %ymm0, 2592(%r8) 4827vmovdqa %ymm0, 2624(%r8) 4828vmovdqa %ymm0, 2656(%r8) 4829vmovdqa %ymm0, 2688(%r8) 4830vmovdqa %ymm0, 2720(%r8) 4831vmovdqa %ymm0, 2752(%r8) 4832vmovdqa %ymm0, 2784(%r8) 4833vmovdqa const729(%rip), %ymm15 4834vmovdqa const3_inv(%rip), %ymm14 4835vmovdqa const5_inv(%rip), %ymm13 4836vmovdqa const9(%rip), %ymm12 4837vmovdqa 96(%r12), %ymm0 4838vpsubw 192(%r12), %ymm0, %ymm0 4839vmovdqa 480(%r12), %ymm1 4840vpsubw %ymm0, %ymm1, %ymm1 4841vpsubw 288(%r12), %ymm1, %ymm1 4842vpsubw 0(%r12), %ymm0, %ymm0 4843vpaddw 384(%r12), %ymm0, %ymm0 4844vmovdqa 672(%r12), %ymm2 4845vpsubw 768(%r12), %ymm2, %ymm2 4846vmovdqa 1056(%r12), %ymm3 4847vpsubw %ymm2, %ymm3, %ymm3 4848vpsubw 864(%r12), %ymm3, %ymm3 4849vpsubw 576(%r12), %ymm2, %ymm2 4850vpaddw 960(%r12), %ymm2, %ymm2 4851vmovdqa 1248(%r12), %ymm4 4852vpsubw 1344(%r12), %ymm4, %ymm4 4853vmovdqa 1632(%r12), %ymm5 4854vpsubw %ymm4, %ymm5, %ymm5 4855vpsubw 1440(%r12), %ymm5, %ymm5 4856vpsubw 1152(%r12), %ymm4, %ymm4 4857vpaddw 1536(%r12), %ymm4, %ymm4 4858vpsubw 576(%r12), %ymm1, %ymm1 4859vpsubw %ymm1, %ymm5, %ymm5 4860vpsubw %ymm3, %ymm5, %ymm5 4861vpsubw 0(%r12), %ymm1, %ymm1 4862vpaddw 1152(%r12), %ymm1, %ymm1 4863vmovdqa 288(%r12), %ymm6 4864vpsubw %ymm2, %ymm6, %ymm7 4865vmovdqa 1440(%r12), %ymm2 4866vpsubw %ymm7, %ymm2, %ymm2 4867vpsubw 864(%r12), %ymm2, %ymm2 4868vpsubw %ymm0, %ymm7, %ymm7 4869vpaddw %ymm4, %ymm7, %ymm7 4870vmovdqa 0(%r12), %ymm8 4871vmovdqa 864(%r12), %ymm9 4872vmovdqa %ymm8, 0(%r8) 4873vmovdqa %ymm0, 32(%r8) 4874vmovdqa %ymm1, 64(%r8) 4875vmovdqa %ymm7, 96(%r8) 4876vmovdqa %ymm5, 128(%r8) 4877vmovdqa %ymm2, 160(%r8) 4878vmovdqa %ymm3, 192(%r8) 4879vmovdqa %ymm9, 224(%r8) 4880vmovdqa 1824(%r12), %ymm0 4881vpsubw 1920(%r12), %ymm0, %ymm0 4882vmovdqa 2208(%r12), %ymm1 4883vpsubw %ymm0, %ymm1, %ymm1 4884vpsubw 2016(%r12), %ymm1, %ymm1 4885vpsubw 1728(%r12), %ymm0, %ymm0 4886vpaddw 2112(%r12), %ymm0, %ymm0 4887vmovdqa 2400(%r12), %ymm2 4888vpsubw 2496(%r12), %ymm2, %ymm2 4889vmovdqa 2784(%r12), %ymm3 4890vpsubw %ymm2, %ymm3, %ymm3 4891vpsubw 2592(%r12), %ymm3, %ymm3 4892vpsubw 2304(%r12), %ymm2, %ymm2 4893vpaddw 2688(%r12), %ymm2, %ymm2 4894vmovdqa 2976(%r12), %ymm4 4895vpsubw 3072(%r12), %ymm4, %ymm4 4896vmovdqa 3360(%r12), %ymm5 4897vpsubw %ymm4, %ymm5, %ymm5 4898vpsubw 3168(%r12), %ymm5, %ymm5 4899vpsubw 2880(%r12), %ymm4, %ymm4 4900vpaddw 3264(%r12), %ymm4, %ymm4 4901vpsubw 2304(%r12), %ymm1, %ymm1 4902vpsubw %ymm1, %ymm5, %ymm5 4903vpsubw %ymm3, %ymm5, %ymm5 4904vpsubw 1728(%r12), %ymm1, %ymm1 4905vpaddw 2880(%r12), %ymm1, %ymm1 4906vmovdqa 2016(%r12), %ymm6 4907vpsubw %ymm2, %ymm6, %ymm7 4908vmovdqa 3168(%r12), %ymm2 4909vpsubw %ymm7, %ymm2, %ymm2 4910vpsubw 2592(%r12), %ymm2, %ymm2 4911vpsubw %ymm0, %ymm7, %ymm7 4912vpaddw %ymm4, %ymm7, %ymm7 4913vmovdqa 1728(%r12), %ymm8 4914vmovdqa 2592(%r12), %ymm9 4915vmovdqa %ymm8, 256(%r8) 4916vmovdqa %ymm0, 288(%r8) 4917vmovdqa %ymm1, 320(%r8) 4918vmovdqa %ymm7, 352(%r8) 4919vmovdqa %ymm5, 384(%r8) 4920vmovdqa %ymm2, 416(%r8) 4921vmovdqa %ymm3, 448(%r8) 4922vmovdqa %ymm9, 480(%r8) 4923vmovdqa 3552(%r12), %ymm0 4924vpsubw 3648(%r12), %ymm0, %ymm0 4925vmovdqa 3936(%r12), %ymm1 4926vpsubw %ymm0, %ymm1, %ymm1 4927vpsubw 3744(%r12), %ymm1, %ymm1 4928vpsubw 3456(%r12), %ymm0, %ymm0 4929vpaddw 3840(%r12), %ymm0, %ymm0 4930vmovdqa 4128(%r12), %ymm2 4931vpsubw 4224(%r12), %ymm2, %ymm2 4932vmovdqa 4512(%r12), %ymm3 4933vpsubw %ymm2, %ymm3, %ymm3 4934vpsubw 4320(%r12), %ymm3, %ymm3 4935vpsubw 4032(%r12), %ymm2, %ymm2 4936vpaddw 4416(%r12), %ymm2, %ymm2 4937vmovdqa 4704(%r12), %ymm4 4938vpsubw 4800(%r12), %ymm4, %ymm4 4939vmovdqa 5088(%r12), %ymm5 4940vpsubw %ymm4, %ymm5, %ymm5 4941vpsubw 4896(%r12), %ymm5, %ymm5 4942vpsubw 4608(%r12), %ymm4, %ymm4 4943vpaddw 4992(%r12), %ymm4, %ymm4 4944vpsubw 4032(%r12), %ymm1, %ymm1 4945vpsubw %ymm1, %ymm5, %ymm5 4946vpsubw %ymm3, %ymm5, %ymm5 4947vpsubw 3456(%r12), %ymm1, %ymm1 4948vpaddw 4608(%r12), %ymm1, %ymm1 4949vmovdqa 3744(%r12), %ymm6 4950vpsubw %ymm2, %ymm6, %ymm7 4951vmovdqa 4896(%r12), %ymm2 4952vpsubw %ymm7, %ymm2, %ymm2 4953vpsubw 4320(%r12), %ymm2, %ymm2 4954vpsubw %ymm0, %ymm7, %ymm7 4955vpaddw %ymm4, %ymm7, %ymm7 4956vmovdqa 3456(%r12), %ymm8 4957vmovdqa 4320(%r12), %ymm9 4958vmovdqa %ymm8, 512(%r8) 4959vmovdqa %ymm0, 544(%r8) 4960vmovdqa %ymm1, 576(%r8) 4961vmovdqa %ymm7, 608(%r8) 4962vmovdqa %ymm5, 640(%r8) 4963vmovdqa %ymm2, 672(%r8) 4964vmovdqa %ymm3, 704(%r8) 4965vmovdqa %ymm9, 736(%r8) 4966vmovdqa 5280(%r12), %ymm0 4967vpsubw 5376(%r12), %ymm0, %ymm0 4968vmovdqa 5664(%r12), %ymm1 4969vpsubw %ymm0, %ymm1, %ymm1 4970vpsubw 5472(%r12), %ymm1, %ymm1 4971vpsubw 5184(%r12), %ymm0, %ymm0 4972vpaddw 5568(%r12), %ymm0, %ymm0 4973vmovdqa 5856(%r12), %ymm2 4974vpsubw 5952(%r12), %ymm2, %ymm2 4975vmovdqa 6240(%r12), %ymm3 4976vpsubw %ymm2, %ymm3, %ymm3 4977vpsubw 6048(%r12), %ymm3, %ymm3 4978vpsubw 5760(%r12), %ymm2, %ymm2 4979vpaddw 6144(%r12), %ymm2, %ymm2 4980vmovdqa 6432(%r12), %ymm4 4981vpsubw 6528(%r12), %ymm4, %ymm4 4982vmovdqa 6816(%r12), %ymm5 4983vpsubw %ymm4, %ymm5, %ymm5 4984vpsubw 6624(%r12), %ymm5, %ymm5 4985vpsubw 6336(%r12), %ymm4, %ymm4 4986vpaddw 6720(%r12), %ymm4, %ymm4 4987vpsubw 5760(%r12), %ymm1, %ymm1 4988vpsubw %ymm1, %ymm5, %ymm5 4989vpsubw %ymm3, %ymm5, %ymm5 4990vpsubw 5184(%r12), %ymm1, %ymm1 4991vpaddw 6336(%r12), %ymm1, %ymm1 4992vmovdqa 5472(%r12), %ymm6 4993vpsubw %ymm2, %ymm6, %ymm7 4994vmovdqa 6624(%r12), %ymm2 4995vpsubw %ymm7, %ymm2, %ymm2 4996vpsubw 6048(%r12), %ymm2, %ymm2 4997vpsubw %ymm0, %ymm7, %ymm7 4998vpaddw %ymm4, %ymm7, %ymm7 4999vmovdqa 5184(%r12), %ymm8 5000vmovdqa 6048(%r12), %ymm9 5001vmovdqa %ymm8, 768(%r8) 5002vmovdqa %ymm0, 800(%r8) 5003vmovdqa %ymm1, 832(%r8) 5004vmovdqa %ymm7, 864(%r8) 5005vmovdqa %ymm5, 896(%r8) 5006vmovdqa %ymm2, 928(%r8) 5007vmovdqa %ymm3, 960(%r8) 5008vmovdqa %ymm9, 992(%r8) 5009vmovdqa 7008(%r12), %ymm0 5010vpsubw 7104(%r12), %ymm0, %ymm0 5011vmovdqa 7392(%r12), %ymm1 5012vpsubw %ymm0, %ymm1, %ymm1 5013vpsubw 7200(%r12), %ymm1, %ymm1 5014vpsubw 6912(%r12), %ymm0, %ymm0 5015vpaddw 7296(%r12), %ymm0, %ymm0 5016vmovdqa 7584(%r12), %ymm2 5017vpsubw 7680(%r12), %ymm2, %ymm2 5018vmovdqa 7968(%r12), %ymm3 5019vpsubw %ymm2, %ymm3, %ymm3 5020vpsubw 7776(%r12), %ymm3, %ymm3 5021vpsubw 7488(%r12), %ymm2, %ymm2 5022vpaddw 7872(%r12), %ymm2, %ymm2 5023vmovdqa 8160(%r12), %ymm4 5024vpsubw 8256(%r12), %ymm4, %ymm4 5025vmovdqa 8544(%r12), %ymm5 5026vpsubw %ymm4, %ymm5, %ymm5 5027vpsubw 8352(%r12), %ymm5, %ymm5 5028vpsubw 8064(%r12), %ymm4, %ymm4 5029vpaddw 8448(%r12), %ymm4, %ymm4 5030vpsubw 7488(%r12), %ymm1, %ymm1 5031vpsubw %ymm1, %ymm5, %ymm5 5032vpsubw %ymm3, %ymm5, %ymm5 5033vpsubw 6912(%r12), %ymm1, %ymm1 5034vpaddw 8064(%r12), %ymm1, %ymm1 5035vmovdqa 7200(%r12), %ymm6 5036vpsubw %ymm2, %ymm6, %ymm7 5037vmovdqa 8352(%r12), %ymm2 5038vpsubw %ymm7, %ymm2, %ymm2 5039vpsubw 7776(%r12), %ymm2, %ymm2 5040vpsubw %ymm0, %ymm7, %ymm7 5041vpaddw %ymm4, %ymm7, %ymm7 5042vmovdqa 6912(%r12), %ymm8 5043vmovdqa 7776(%r12), %ymm9 5044vmovdqa %ymm8, 1024(%r8) 5045vmovdqa %ymm0, 1056(%r8) 5046vmovdqa %ymm1, 1088(%r8) 5047vmovdqa %ymm7, 1120(%r8) 5048vmovdqa %ymm5, 1152(%r8) 5049vmovdqa %ymm2, 1184(%r8) 5050vmovdqa %ymm3, 1216(%r8) 5051vmovdqa %ymm9, 1248(%r8) 5052vmovdqa 8736(%r12), %ymm0 5053vpsubw 8832(%r12), %ymm0, %ymm0 5054vmovdqa 9120(%r12), %ymm1 5055vpsubw %ymm0, %ymm1, %ymm1 5056vpsubw 8928(%r12), %ymm1, %ymm1 5057vpsubw 8640(%r12), %ymm0, %ymm0 5058vpaddw 9024(%r12), %ymm0, %ymm0 5059vmovdqa 9312(%r12), %ymm2 5060vpsubw 9408(%r12), %ymm2, %ymm2 5061vmovdqa 9696(%r12), %ymm3 5062vpsubw %ymm2, %ymm3, %ymm3 5063vpsubw 9504(%r12), %ymm3, %ymm3 5064vpsubw 9216(%r12), %ymm2, %ymm2 5065vpaddw 9600(%r12), %ymm2, %ymm2 5066vmovdqa 9888(%r12), %ymm4 5067vpsubw 9984(%r12), %ymm4, %ymm4 5068vmovdqa 10272(%r12), %ymm5 5069vpsubw %ymm4, %ymm5, %ymm5 5070vpsubw 10080(%r12), %ymm5, %ymm5 5071vpsubw 9792(%r12), %ymm4, %ymm4 5072vpaddw 10176(%r12), %ymm4, %ymm4 5073vpsubw 9216(%r12), %ymm1, %ymm1 5074vpsubw %ymm1, %ymm5, %ymm5 5075vpsubw %ymm3, %ymm5, %ymm5 5076vpsubw 8640(%r12), %ymm1, %ymm1 5077vpaddw 9792(%r12), %ymm1, %ymm1 5078vmovdqa 8928(%r12), %ymm6 5079vpsubw %ymm2, %ymm6, %ymm7 5080vmovdqa 10080(%r12), %ymm2 5081vpsubw %ymm7, %ymm2, %ymm2 5082vpsubw 9504(%r12), %ymm2, %ymm2 5083vpsubw %ymm0, %ymm7, %ymm7 5084vpaddw %ymm4, %ymm7, %ymm7 5085vmovdqa 8640(%r12), %ymm8 5086vmovdqa 9504(%r12), %ymm9 5087vmovdqa %ymm8, 1280(%r8) 5088vmovdqa %ymm0, 1312(%r8) 5089vmovdqa %ymm1, 1344(%r8) 5090vmovdqa %ymm7, 1376(%r8) 5091vmovdqa %ymm5, 1408(%r8) 5092vmovdqa %ymm2, 1440(%r8) 5093vmovdqa %ymm3, 1472(%r8) 5094vmovdqa %ymm9, 1504(%r8) 5095vmovdqa 10464(%r12), %ymm0 5096vpsubw 10560(%r12), %ymm0, %ymm0 5097vmovdqa 10848(%r12), %ymm1 5098vpsubw %ymm0, %ymm1, %ymm1 5099vpsubw 10656(%r12), %ymm1, %ymm1 5100vpsubw 10368(%r12), %ymm0, %ymm0 5101vpaddw 10752(%r12), %ymm0, %ymm0 5102vmovdqa 11040(%r12), %ymm2 5103vpsubw 11136(%r12), %ymm2, %ymm2 5104vmovdqa 11424(%r12), %ymm3 5105vpsubw %ymm2, %ymm3, %ymm3 5106vpsubw 11232(%r12), %ymm3, %ymm3 5107vpsubw 10944(%r12), %ymm2, %ymm2 5108vpaddw 11328(%r12), %ymm2, %ymm2 5109vmovdqa 11616(%r12), %ymm4 5110vpsubw 11712(%r12), %ymm4, %ymm4 5111vmovdqa 12000(%r12), %ymm5 5112vpsubw %ymm4, %ymm5, %ymm5 5113vpsubw 11808(%r12), %ymm5, %ymm5 5114vpsubw 11520(%r12), %ymm4, %ymm4 5115vpaddw 11904(%r12), %ymm4, %ymm4 5116vpsubw 10944(%r12), %ymm1, %ymm1 5117vpsubw %ymm1, %ymm5, %ymm5 5118vpsubw %ymm3, %ymm5, %ymm5 5119vpsubw 10368(%r12), %ymm1, %ymm1 5120vpaddw 11520(%r12), %ymm1, %ymm1 5121vmovdqa 10656(%r12), %ymm6 5122vpsubw %ymm2, %ymm6, %ymm7 5123vmovdqa 11808(%r12), %ymm2 5124vpsubw %ymm7, %ymm2, %ymm2 5125vpsubw 11232(%r12), %ymm2, %ymm2 5126vpsubw %ymm0, %ymm7, %ymm7 5127vpaddw %ymm4, %ymm7, %ymm7 5128vmovdqa 10368(%r12), %ymm8 5129vmovdqa 11232(%r12), %ymm9 5130vmovdqa %ymm8, 1536(%r8) 5131vmovdqa %ymm0, 1568(%r8) 5132vmovdqa %ymm1, 1600(%r8) 5133vmovdqa %ymm7, 1632(%r8) 5134vmovdqa %ymm5, 1664(%r8) 5135vmovdqa %ymm2, 1696(%r8) 5136vmovdqa %ymm3, 1728(%r8) 5137vmovdqa %ymm9, 1760(%r8) 5138vmovdqa 0(%r8), %ymm11 5139vpunpcklwd const0(%rip), %ymm11, %ymm10 5140vpunpckhwd const0(%rip), %ymm11, %ymm9 5141vpslld $1, %ymm10, %ymm10 5142vpslld $1, %ymm9, %ymm9 5143vmovdqa 256(%r8), %ymm8 5144vpunpcklwd const0(%rip), %ymm8, %ymm7 5145vpunpckhwd const0(%rip), %ymm8, %ymm8 5146vmovdqa 512(%r8), %ymm6 5147vpunpcklwd const0(%rip), %ymm6, %ymm5 5148vpunpckhwd const0(%rip), %ymm6, %ymm6 5149vpaddd %ymm5, %ymm7, %ymm4 5150vpaddd %ymm6, %ymm8, %ymm3 5151vpsubd %ymm10, %ymm4, %ymm4 5152vpsubd %ymm9, %ymm3, %ymm3 5153vpsubd %ymm5, %ymm7, %ymm5 5154vpsubd %ymm6, %ymm8, %ymm6 5155vpsrld $1, %ymm5, %ymm5 5156vpsrld $1, %ymm6, %ymm6 5157vpand mask32_to_16(%rip), %ymm5, %ymm5 5158vpand mask32_to_16(%rip), %ymm6, %ymm6 5159vpackusdw %ymm6, %ymm5, %ymm6 5160vmovdqa 1536(%r8), %ymm5 5161vpunpcklwd const0(%rip), %ymm5, %ymm8 5162vpunpckhwd const0(%rip), %ymm5, %ymm7 5163vpslld $1, %ymm8, %ymm8 5164vpslld $1, %ymm7, %ymm7 5165vpsubd %ymm8, %ymm4, %ymm4 5166vpsubd %ymm7, %ymm3, %ymm3 5167vpsrld $1, %ymm4, %ymm4 5168vpsrld $1, %ymm3, %ymm3 5169vpand mask32_to_16(%rip), %ymm4, %ymm4 5170vpand mask32_to_16(%rip), %ymm3, %ymm3 5171vpackusdw %ymm3, %ymm4, %ymm3 5172vmovdqa 768(%r8), %ymm4 5173vpaddw 1024(%r8), %ymm4, %ymm7 5174vpsubw 1024(%r8), %ymm4, %ymm4 5175vpsrlw $2, %ymm4, %ymm4 5176vpsubw %ymm6, %ymm4, %ymm4 5177vpmullw %ymm14, %ymm4, %ymm4 5178vpsllw $1, %ymm11, %ymm8 5179vpsubw %ymm8, %ymm7, %ymm8 5180vpsllw $7, %ymm5, %ymm7 5181vpsubw %ymm7, %ymm8, %ymm7 5182vpsrlw $3, %ymm7, %ymm7 5183vpsubw %ymm3, %ymm7, %ymm7 5184vmovdqa 1280(%r8), %ymm8 5185vpsubw %ymm11, %ymm8, %ymm8 5186vpmullw %ymm15, %ymm5, %ymm9 5187vpsubw %ymm9, %ymm8, %ymm9 5188vpmullw %ymm14, %ymm7, %ymm7 5189vpsubw %ymm7, %ymm3, %ymm3 5190vpmullw %ymm12, %ymm7, %ymm8 5191vpaddw %ymm8, %ymm3, %ymm8 5192vpmullw %ymm12, %ymm8, %ymm8 5193vpsubw %ymm8, %ymm9, %ymm8 5194vpmullw %ymm14, %ymm8, %ymm8 5195vpsubw %ymm6, %ymm8, %ymm8 5196vpsrlw $3, %ymm8, %ymm8 5197vpsubw %ymm4, %ymm8, %ymm8 5198vpsubw %ymm8, %ymm4, %ymm4 5199vpsubw %ymm4, %ymm6, %ymm6 5200vpmullw %ymm13, %ymm8, %ymm8 5201vpsubw %ymm8, %ymm6, %ymm6 5202vpshufb shuf48_16(%rip), %ymm7, %ymm7 5203vpand mask3_5_3_5(%rip), %ymm7, %ymm9 5204vpand mask5_3_5_3(%rip), %ymm7, %ymm7 5205vpermq $206, %ymm9, %ymm9 5206vpand mask_keephigh(%rip), %ymm9, %ymm10 5207vpor %ymm10, %ymm7, %ymm7 5208vpaddw %ymm7, %ymm11, %ymm11 5209vmovdqa %xmm9, 2048(%r8) 5210vpshufb shuf48_16(%rip), %ymm8, %ymm8 5211vpand mask3_5_3_5(%rip), %ymm8, %ymm9 5212vpand mask5_3_5_3(%rip), %ymm8, %ymm8 5213vpermq $206, %ymm9, %ymm9 5214vpand mask_keephigh(%rip), %ymm9, %ymm10 5215vpor %ymm10, %ymm8, %ymm8 5216vpaddw %ymm8, %ymm6, %ymm6 5217vmovdqa %xmm9, 2304(%r8) 5218vpshufb shuf48_16(%rip), %ymm5, %ymm5 5219vpand mask3_5_3_5(%rip), %ymm5, %ymm9 5220vpand mask5_3_5_3(%rip), %ymm5, %ymm5 5221vpermq $206, %ymm9, %ymm9 5222vpand mask_keephigh(%rip), %ymm9, %ymm10 5223vpor %ymm10, %ymm5, %ymm5 5224vpaddw %ymm5, %ymm3, %ymm3 5225vmovdqa %xmm9, 2560(%r8) 5226vpand mask_mod8192(%rip), %ymm11, %ymm11 5227vmovdqu %ymm11, 0(%rdi) 5228vpand mask_mod8192(%rip), %ymm6, %ymm6 5229vmovdqu %ymm6, 352(%rdi) 5230vpand mask_mod8192(%rip), %ymm3, %ymm3 5231vmovdqu %ymm3, 704(%rdi) 5232vpand mask_mod8192(%rip), %ymm4, %ymm4 5233vmovdqu %ymm4, 1056(%rdi) 5234vmovdqa 32(%r8), %ymm5 5235vpunpcklwd const0(%rip), %ymm5, %ymm8 5236vpunpckhwd const0(%rip), %ymm5, %ymm7 5237vpslld $1, %ymm8, %ymm8 5238vpslld $1, %ymm7, %ymm7 5239vmovdqa 288(%r8), %ymm4 5240vpunpcklwd const0(%rip), %ymm4, %ymm3 5241vpunpckhwd const0(%rip), %ymm4, %ymm4 5242vmovdqa 544(%r8), %ymm6 5243vpunpcklwd const0(%rip), %ymm6, %ymm11 5244vpunpckhwd const0(%rip), %ymm6, %ymm6 5245vpaddd %ymm11, %ymm3, %ymm9 5246vpaddd %ymm6, %ymm4, %ymm10 5247vpsubd %ymm8, %ymm9, %ymm9 5248vpsubd %ymm7, %ymm10, %ymm10 5249vpsubd %ymm11, %ymm3, %ymm11 5250vpsubd %ymm6, %ymm4, %ymm6 5251vpsrld $1, %ymm11, %ymm11 5252vpsrld $1, %ymm6, %ymm6 5253vpand mask32_to_16(%rip), %ymm11, %ymm11 5254vpand mask32_to_16(%rip), %ymm6, %ymm6 5255vpackusdw %ymm6, %ymm11, %ymm6 5256vmovdqa 1568(%r8), %ymm11 5257vpunpcklwd const0(%rip), %ymm11, %ymm4 5258vpunpckhwd const0(%rip), %ymm11, %ymm3 5259vpslld $1, %ymm4, %ymm4 5260vpslld $1, %ymm3, %ymm3 5261vpsubd %ymm4, %ymm9, %ymm9 5262vpsubd %ymm3, %ymm10, %ymm10 5263vpsrld $1, %ymm9, %ymm9 5264vpsrld $1, %ymm10, %ymm10 5265vpand mask32_to_16(%rip), %ymm9, %ymm9 5266vpand mask32_to_16(%rip), %ymm10, %ymm10 5267vpackusdw %ymm10, %ymm9, %ymm10 5268vmovdqa 800(%r8), %ymm9 5269vpaddw 1056(%r8), %ymm9, %ymm3 5270vpsubw 1056(%r8), %ymm9, %ymm9 5271vpsrlw $2, %ymm9, %ymm9 5272vpsubw %ymm6, %ymm9, %ymm9 5273vpmullw %ymm14, %ymm9, %ymm9 5274vpsllw $1, %ymm5, %ymm4 5275vpsubw %ymm4, %ymm3, %ymm4 5276vpsllw $7, %ymm11, %ymm3 5277vpsubw %ymm3, %ymm4, %ymm3 5278vpsrlw $3, %ymm3, %ymm3 5279vpsubw %ymm10, %ymm3, %ymm3 5280vmovdqa 1312(%r8), %ymm4 5281vpsubw %ymm5, %ymm4, %ymm4 5282vpmullw %ymm15, %ymm11, %ymm7 5283vpsubw %ymm7, %ymm4, %ymm7 5284vpmullw %ymm14, %ymm3, %ymm3 5285vpsubw %ymm3, %ymm10, %ymm10 5286vpmullw %ymm12, %ymm3, %ymm4 5287vpaddw %ymm4, %ymm10, %ymm4 5288vpmullw %ymm12, %ymm4, %ymm4 5289vpsubw %ymm4, %ymm7, %ymm4 5290vpmullw %ymm14, %ymm4, %ymm4 5291vpsubw %ymm6, %ymm4, %ymm4 5292vpsrlw $3, %ymm4, %ymm4 5293vpsubw %ymm9, %ymm4, %ymm4 5294vpsubw %ymm4, %ymm9, %ymm9 5295vpsubw %ymm9, %ymm6, %ymm6 5296vpmullw %ymm13, %ymm4, %ymm4 5297vpsubw %ymm4, %ymm6, %ymm6 5298vpshufb shuf48_16(%rip), %ymm3, %ymm3 5299vpand mask3_5_3_5(%rip), %ymm3, %ymm7 5300vpand mask5_3_5_3(%rip), %ymm3, %ymm3 5301vpermq $206, %ymm7, %ymm7 5302vpand mask_keephigh(%rip), %ymm7, %ymm8 5303vpor %ymm8, %ymm3, %ymm3 5304vpaddw %ymm3, %ymm5, %ymm5 5305vmovdqa %xmm7, 2080(%r8) 5306vpshufb shuf48_16(%rip), %ymm4, %ymm4 5307vpand mask3_5_3_5(%rip), %ymm4, %ymm7 5308vpand mask5_3_5_3(%rip), %ymm4, %ymm4 5309vpermq $206, %ymm7, %ymm7 5310vpand mask_keephigh(%rip), %ymm7, %ymm8 5311vpor %ymm8, %ymm4, %ymm4 5312vpaddw %ymm4, %ymm6, %ymm6 5313vmovdqa %xmm7, 2336(%r8) 5314vpshufb shuf48_16(%rip), %ymm11, %ymm11 5315vpand mask3_5_3_5(%rip), %ymm11, %ymm7 5316vpand mask5_3_5_3(%rip), %ymm11, %ymm11 5317vpermq $206, %ymm7, %ymm7 5318vpand mask_keephigh(%rip), %ymm7, %ymm8 5319vpor %ymm8, %ymm11, %ymm11 5320vpaddw %ymm11, %ymm10, %ymm10 5321vmovdqa %xmm7, 2592(%r8) 5322vpand mask_mod8192(%rip), %ymm5, %ymm5 5323vmovdqu %ymm5, 88(%rdi) 5324vpand mask_mod8192(%rip), %ymm6, %ymm6 5325vmovdqu %ymm6, 440(%rdi) 5326vpand mask_mod8192(%rip), %ymm10, %ymm10 5327vmovdqu %ymm10, 792(%rdi) 5328vpand mask_mod8192(%rip), %ymm9, %ymm9 5329vmovdqu %ymm9, 1144(%rdi) 5330vmovdqa 64(%r8), %ymm11 5331vpunpcklwd const0(%rip), %ymm11, %ymm4 5332vpunpckhwd const0(%rip), %ymm11, %ymm3 5333vpslld $1, %ymm4, %ymm4 5334vpslld $1, %ymm3, %ymm3 5335vmovdqa 320(%r8), %ymm9 5336vpunpcklwd const0(%rip), %ymm9, %ymm10 5337vpunpckhwd const0(%rip), %ymm9, %ymm9 5338vmovdqa 576(%r8), %ymm6 5339vpunpcklwd const0(%rip), %ymm6, %ymm5 5340vpunpckhwd const0(%rip), %ymm6, %ymm6 5341vpaddd %ymm5, %ymm10, %ymm7 5342vpaddd %ymm6, %ymm9, %ymm8 5343vpsubd %ymm4, %ymm7, %ymm7 5344vpsubd %ymm3, %ymm8, %ymm8 5345vpsubd %ymm5, %ymm10, %ymm5 5346vpsubd %ymm6, %ymm9, %ymm6 5347vpsrld $1, %ymm5, %ymm5 5348vpsrld $1, %ymm6, %ymm6 5349vpand mask32_to_16(%rip), %ymm5, %ymm5 5350vpand mask32_to_16(%rip), %ymm6, %ymm6 5351vpackusdw %ymm6, %ymm5, %ymm6 5352vmovdqa 1600(%r8), %ymm5 5353vpunpcklwd const0(%rip), %ymm5, %ymm9 5354vpunpckhwd const0(%rip), %ymm5, %ymm10 5355vpslld $1, %ymm9, %ymm9 5356vpslld $1, %ymm10, %ymm10 5357vpsubd %ymm9, %ymm7, %ymm7 5358vpsubd %ymm10, %ymm8, %ymm8 5359vpsrld $1, %ymm7, %ymm7 5360vpsrld $1, %ymm8, %ymm8 5361vpand mask32_to_16(%rip), %ymm7, %ymm7 5362vpand mask32_to_16(%rip), %ymm8, %ymm8 5363vpackusdw %ymm8, %ymm7, %ymm8 5364vmovdqa 832(%r8), %ymm7 5365vpaddw 1088(%r8), %ymm7, %ymm10 5366vpsubw 1088(%r8), %ymm7, %ymm7 5367vpsrlw $2, %ymm7, %ymm7 5368vpsubw %ymm6, %ymm7, %ymm7 5369vpmullw %ymm14, %ymm7, %ymm7 5370vpsllw $1, %ymm11, %ymm9 5371vpsubw %ymm9, %ymm10, %ymm9 5372vpsllw $7, %ymm5, %ymm10 5373vpsubw %ymm10, %ymm9, %ymm10 5374vpsrlw $3, %ymm10, %ymm10 5375vpsubw %ymm8, %ymm10, %ymm10 5376vmovdqa 1344(%r8), %ymm9 5377vpsubw %ymm11, %ymm9, %ymm9 5378vpmullw %ymm15, %ymm5, %ymm3 5379vpsubw %ymm3, %ymm9, %ymm3 5380vpmullw %ymm14, %ymm10, %ymm10 5381vpsubw %ymm10, %ymm8, %ymm8 5382vpmullw %ymm12, %ymm10, %ymm9 5383vpaddw %ymm9, %ymm8, %ymm9 5384vpmullw %ymm12, %ymm9, %ymm9 5385vpsubw %ymm9, %ymm3, %ymm9 5386vpmullw %ymm14, %ymm9, %ymm9 5387vpsubw %ymm6, %ymm9, %ymm9 5388vpsrlw $3, %ymm9, %ymm9 5389vpsubw %ymm7, %ymm9, %ymm9 5390vpsubw %ymm9, %ymm7, %ymm7 5391vpsubw %ymm7, %ymm6, %ymm6 5392vpmullw %ymm13, %ymm9, %ymm9 5393vpsubw %ymm9, %ymm6, %ymm6 5394vpshufb shuf48_16(%rip), %ymm10, %ymm10 5395vpand mask3_5_3_5(%rip), %ymm10, %ymm3 5396vpand mask5_3_5_3(%rip), %ymm10, %ymm10 5397vpermq $206, %ymm3, %ymm3 5398vpand mask_keephigh(%rip), %ymm3, %ymm4 5399vpor %ymm4, %ymm10, %ymm10 5400vpaddw %ymm10, %ymm11, %ymm11 5401vmovdqa %xmm3, 2112(%r8) 5402vpshufb shuf48_16(%rip), %ymm9, %ymm9 5403vpand mask3_5_3_5(%rip), %ymm9, %ymm3 5404vpand mask5_3_5_3(%rip), %ymm9, %ymm9 5405vpermq $206, %ymm3, %ymm3 5406vpand mask_keephigh(%rip), %ymm3, %ymm4 5407vpor %ymm4, %ymm9, %ymm9 5408vpaddw %ymm9, %ymm6, %ymm6 5409vmovdqa %xmm3, 2368(%r8) 5410vpshufb shuf48_16(%rip), %ymm5, %ymm5 5411vpand mask3_5_3_5(%rip), %ymm5, %ymm3 5412vpand mask5_3_5_3(%rip), %ymm5, %ymm5 5413vpermq $206, %ymm3, %ymm3 5414vpand mask_keephigh(%rip), %ymm3, %ymm4 5415vpor %ymm4, %ymm5, %ymm5 5416vpaddw %ymm5, %ymm8, %ymm8 5417vmovdqa %xmm3, 2624(%r8) 5418vpand mask_mod8192(%rip), %ymm11, %ymm11 5419vmovdqu %ymm11, 176(%rdi) 5420vpand mask_mod8192(%rip), %ymm6, %ymm6 5421vmovdqu %ymm6, 528(%rdi) 5422vpand mask_mod8192(%rip), %ymm8, %ymm8 5423vmovdqu %ymm8, 880(%rdi) 5424vpand mask_mod8192(%rip), %ymm7, %ymm7 5425vmovdqu %ymm7, 1232(%rdi) 5426vmovdqa 96(%r8), %ymm5 5427vpunpcklwd const0(%rip), %ymm5, %ymm9 5428vpunpckhwd const0(%rip), %ymm5, %ymm10 5429vpslld $1, %ymm9, %ymm9 5430vpslld $1, %ymm10, %ymm10 5431vmovdqa 352(%r8), %ymm7 5432vpunpcklwd const0(%rip), %ymm7, %ymm8 5433vpunpckhwd const0(%rip), %ymm7, %ymm7 5434vmovdqa 608(%r8), %ymm6 5435vpunpcklwd const0(%rip), %ymm6, %ymm11 5436vpunpckhwd const0(%rip), %ymm6, %ymm6 5437vpaddd %ymm11, %ymm8, %ymm3 5438vpaddd %ymm6, %ymm7, %ymm4 5439vpsubd %ymm9, %ymm3, %ymm3 5440vpsubd %ymm10, %ymm4, %ymm4 5441vpsubd %ymm11, %ymm8, %ymm11 5442vpsubd %ymm6, %ymm7, %ymm6 5443vpsrld $1, %ymm11, %ymm11 5444vpsrld $1, %ymm6, %ymm6 5445vpand mask32_to_16(%rip), %ymm11, %ymm11 5446vpand mask32_to_16(%rip), %ymm6, %ymm6 5447vpackusdw %ymm6, %ymm11, %ymm6 5448vmovdqa 1632(%r8), %ymm11 5449vpunpcklwd const0(%rip), %ymm11, %ymm7 5450vpunpckhwd const0(%rip), %ymm11, %ymm8 5451vpslld $1, %ymm7, %ymm7 5452vpslld $1, %ymm8, %ymm8 5453vpsubd %ymm7, %ymm3, %ymm3 5454vpsubd %ymm8, %ymm4, %ymm4 5455vpsrld $1, %ymm3, %ymm3 5456vpsrld $1, %ymm4, %ymm4 5457vpand mask32_to_16(%rip), %ymm3, %ymm3 5458vpand mask32_to_16(%rip), %ymm4, %ymm4 5459vpackusdw %ymm4, %ymm3, %ymm4 5460vmovdqa 864(%r8), %ymm3 5461vpaddw 1120(%r8), %ymm3, %ymm8 5462vpsubw 1120(%r8), %ymm3, %ymm3 5463vpsrlw $2, %ymm3, %ymm3 5464vpsubw %ymm6, %ymm3, %ymm3 5465vpmullw %ymm14, %ymm3, %ymm3 5466vpsllw $1, %ymm5, %ymm7 5467vpsubw %ymm7, %ymm8, %ymm7 5468vpsllw $7, %ymm11, %ymm8 5469vpsubw %ymm8, %ymm7, %ymm8 5470vpsrlw $3, %ymm8, %ymm8 5471vpsubw %ymm4, %ymm8, %ymm8 5472vmovdqa 1376(%r8), %ymm7 5473vpsubw %ymm5, %ymm7, %ymm7 5474vpmullw %ymm15, %ymm11, %ymm10 5475vpsubw %ymm10, %ymm7, %ymm10 5476vpmullw %ymm14, %ymm8, %ymm8 5477vpsubw %ymm8, %ymm4, %ymm4 5478vpmullw %ymm12, %ymm8, %ymm7 5479vpaddw %ymm7, %ymm4, %ymm7 5480vpmullw %ymm12, %ymm7, %ymm7 5481vpsubw %ymm7, %ymm10, %ymm7 5482vpmullw %ymm14, %ymm7, %ymm7 5483vpsubw %ymm6, %ymm7, %ymm7 5484vpsrlw $3, %ymm7, %ymm7 5485vpsubw %ymm3, %ymm7, %ymm7 5486vpsubw %ymm7, %ymm3, %ymm3 5487vpsubw %ymm3, %ymm6, %ymm6 5488vpmullw %ymm13, %ymm7, %ymm7 5489vpsubw %ymm7, %ymm6, %ymm6 5490vpshufb shuf48_16(%rip), %ymm8, %ymm8 5491vpand mask3_5_3_5(%rip), %ymm8, %ymm10 5492vpand mask5_3_5_3(%rip), %ymm8, %ymm8 5493vpermq $206, %ymm10, %ymm10 5494vpand mask_keephigh(%rip), %ymm10, %ymm9 5495vpor %ymm9, %ymm8, %ymm8 5496vpaddw %ymm8, %ymm5, %ymm5 5497vmovdqa %xmm10, 2144(%r8) 5498vpshufb shuf48_16(%rip), %ymm7, %ymm7 5499vpand mask3_5_3_5(%rip), %ymm7, %ymm10 5500vpand mask5_3_5_3(%rip), %ymm7, %ymm7 5501vpermq $206, %ymm10, %ymm10 5502vpand mask_keephigh(%rip), %ymm10, %ymm9 5503vpor %ymm9, %ymm7, %ymm7 5504vpaddw %ymm7, %ymm6, %ymm6 5505vmovdqa %xmm10, 2400(%r8) 5506vpshufb shuf48_16(%rip), %ymm11, %ymm11 5507vpand mask3_5_3_5(%rip), %ymm11, %ymm10 5508vpand mask5_3_5_3(%rip), %ymm11, %ymm11 5509vpermq $206, %ymm10, %ymm10 5510vpand mask_keephigh(%rip), %ymm10, %ymm9 5511vpor %ymm9, %ymm11, %ymm11 5512vpaddw %ymm11, %ymm4, %ymm4 5513vmovdqa %xmm10, 2656(%r8) 5514vpand mask_mod8192(%rip), %ymm5, %ymm5 5515vmovdqu %ymm5, 264(%rdi) 5516vpand mask_mod8192(%rip), %ymm6, %ymm6 5517vmovdqu %ymm6, 616(%rdi) 5518vpand mask_mod8192(%rip), %ymm4, %ymm4 5519vmovdqu %ymm4, 968(%rdi) 5520vpand mask_mod8192(%rip), %ymm3, %ymm3 5521vmovdqu %ymm3, 1320(%rdi) 5522vmovdqa 128(%r8), %ymm11 5523vpunpcklwd const0(%rip), %ymm11, %ymm7 5524vpunpckhwd const0(%rip), %ymm11, %ymm8 5525vpslld $1, %ymm7, %ymm7 5526vpslld $1, %ymm8, %ymm8 5527vmovdqa 384(%r8), %ymm3 5528vpunpcklwd const0(%rip), %ymm3, %ymm4 5529vpunpckhwd const0(%rip), %ymm3, %ymm3 5530vmovdqa 640(%r8), %ymm6 5531vpunpcklwd const0(%rip), %ymm6, %ymm5 5532vpunpckhwd const0(%rip), %ymm6, %ymm6 5533vpaddd %ymm5, %ymm4, %ymm10 5534vpaddd %ymm6, %ymm3, %ymm9 5535vpsubd %ymm7, %ymm10, %ymm10 5536vpsubd %ymm8, %ymm9, %ymm9 5537vpsubd %ymm5, %ymm4, %ymm5 5538vpsubd %ymm6, %ymm3, %ymm6 5539vpsrld $1, %ymm5, %ymm5 5540vpsrld $1, %ymm6, %ymm6 5541vpand mask32_to_16(%rip), %ymm5, %ymm5 5542vpand mask32_to_16(%rip), %ymm6, %ymm6 5543vpackusdw %ymm6, %ymm5, %ymm6 5544vmovdqa 1664(%r8), %ymm5 5545vpunpcklwd const0(%rip), %ymm5, %ymm3 5546vpunpckhwd const0(%rip), %ymm5, %ymm4 5547vpslld $1, %ymm3, %ymm3 5548vpslld $1, %ymm4, %ymm4 5549vpsubd %ymm3, %ymm10, %ymm10 5550vpsubd %ymm4, %ymm9, %ymm9 5551vpsrld $1, %ymm10, %ymm10 5552vpsrld $1, %ymm9, %ymm9 5553vpand mask32_to_16(%rip), %ymm10, %ymm10 5554vpand mask32_to_16(%rip), %ymm9, %ymm9 5555vpackusdw %ymm9, %ymm10, %ymm9 5556vmovdqa 896(%r8), %ymm10 5557vpaddw 1152(%r8), %ymm10, %ymm4 5558vpsubw 1152(%r8), %ymm10, %ymm10 5559vpsrlw $2, %ymm10, %ymm10 5560vpsubw %ymm6, %ymm10, %ymm10 5561vpmullw %ymm14, %ymm10, %ymm10 5562vpsllw $1, %ymm11, %ymm3 5563vpsubw %ymm3, %ymm4, %ymm3 5564vpsllw $7, %ymm5, %ymm4 5565vpsubw %ymm4, %ymm3, %ymm4 5566vpsrlw $3, %ymm4, %ymm4 5567vpsubw %ymm9, %ymm4, %ymm4 5568vmovdqa 1408(%r8), %ymm3 5569vpsubw %ymm11, %ymm3, %ymm3 5570vpmullw %ymm15, %ymm5, %ymm8 5571vpsubw %ymm8, %ymm3, %ymm8 5572vpmullw %ymm14, %ymm4, %ymm4 5573vpsubw %ymm4, %ymm9, %ymm9 5574vpmullw %ymm12, %ymm4, %ymm3 5575vpaddw %ymm3, %ymm9, %ymm3 5576vpmullw %ymm12, %ymm3, %ymm3 5577vpsubw %ymm3, %ymm8, %ymm3 5578vpmullw %ymm14, %ymm3, %ymm3 5579vpsubw %ymm6, %ymm3, %ymm3 5580vpsrlw $3, %ymm3, %ymm3 5581vpsubw %ymm10, %ymm3, %ymm3 5582vpsubw %ymm3, %ymm10, %ymm10 5583vpsubw %ymm10, %ymm6, %ymm6 5584vpmullw %ymm13, %ymm3, %ymm3 5585vpsubw %ymm3, %ymm6, %ymm6 5586vmovdqu 352(%rdi), %ymm8 5587vmovdqu 704(%rdi), %ymm7 5588vmovdqu 1056(%rdi), %ymm2 5589vpaddw %ymm11, %ymm8, %ymm11 5590vpaddw %ymm6, %ymm7, %ymm6 5591vpaddw %ymm9, %ymm2, %ymm9 5592vpshufb shuf48_16(%rip), %ymm10, %ymm10 5593vpand mask3_5_3_5(%rip), %ymm10, %ymm2 5594vpand mask5_3_5_3(%rip), %ymm10, %ymm10 5595vpermq $206, %ymm2, %ymm2 5596vpand mask_keephigh(%rip), %ymm2, %ymm7 5597vpor %ymm7, %ymm10, %ymm10 5598vmovdqu 0(%rdi), %ymm7 5599vpaddw %ymm10, %ymm7, %ymm7 5600vpand mask_mod8192(%rip), %ymm7, %ymm7 5601vmovdqu %ymm7, 0(%rdi) 5602vmovdqa %xmm2, 1920(%r8) 5603vpshufb shuf48_16(%rip), %ymm4, %ymm4 5604vpand mask3_5_3_5(%rip), %ymm4, %ymm2 5605vpand mask5_3_5_3(%rip), %ymm4, %ymm4 5606vpermq $206, %ymm2, %ymm2 5607vpand mask_keephigh(%rip), %ymm2, %ymm7 5608vpor %ymm7, %ymm4, %ymm4 5609vpaddw %ymm4, %ymm11, %ymm11 5610vmovdqa %xmm2, 2176(%r8) 5611vpshufb shuf48_16(%rip), %ymm3, %ymm3 5612vpand mask3_5_3_5(%rip), %ymm3, %ymm2 5613vpand mask5_3_5_3(%rip), %ymm3, %ymm3 5614vpermq $206, %ymm2, %ymm2 5615vpand mask_keephigh(%rip), %ymm2, %ymm7 5616vpor %ymm7, %ymm3, %ymm3 5617vpaddw %ymm3, %ymm6, %ymm6 5618vmovdqa %xmm2, 2432(%r8) 5619vpshufb shuf48_16(%rip), %ymm5, %ymm5 5620vpand mask3_5_3_5(%rip), %ymm5, %ymm2 5621vpand mask5_3_5_3(%rip), %ymm5, %ymm5 5622vpermq $206, %ymm2, %ymm2 5623vpand mask_keephigh(%rip), %ymm2, %ymm7 5624vpor %ymm7, %ymm5, %ymm5 5625vpaddw %ymm5, %ymm9, %ymm9 5626vmovdqa %xmm2, 2688(%r8) 5627vpand mask_mod8192(%rip), %ymm11, %ymm11 5628vmovdqu %ymm11, 352(%rdi) 5629vpand mask_mod8192(%rip), %ymm6, %ymm6 5630vmovdqu %ymm6, 704(%rdi) 5631vpand mask_mod8192(%rip), %ymm9, %ymm9 5632vmovdqu %ymm9, 1056(%rdi) 5633vmovdqa 160(%r8), %ymm5 5634vpunpcklwd const0(%rip), %ymm5, %ymm3 5635vpunpckhwd const0(%rip), %ymm5, %ymm4 5636vpslld $1, %ymm3, %ymm3 5637vpslld $1, %ymm4, %ymm4 5638vmovdqa 416(%r8), %ymm10 5639vpunpcklwd const0(%rip), %ymm10, %ymm9 5640vpunpckhwd const0(%rip), %ymm10, %ymm10 5641vmovdqa 672(%r8), %ymm6 5642vpunpcklwd const0(%rip), %ymm6, %ymm11 5643vpunpckhwd const0(%rip), %ymm6, %ymm6 5644vpaddd %ymm11, %ymm9, %ymm2 5645vpaddd %ymm6, %ymm10, %ymm7 5646vpsubd %ymm3, %ymm2, %ymm2 5647vpsubd %ymm4, %ymm7, %ymm7 5648vpsubd %ymm11, %ymm9, %ymm11 5649vpsubd %ymm6, %ymm10, %ymm6 5650vpsrld $1, %ymm11, %ymm11 5651vpsrld $1, %ymm6, %ymm6 5652vpand mask32_to_16(%rip), %ymm11, %ymm11 5653vpand mask32_to_16(%rip), %ymm6, %ymm6 5654vpackusdw %ymm6, %ymm11, %ymm6 5655vmovdqa 1696(%r8), %ymm11 5656vpunpcklwd const0(%rip), %ymm11, %ymm10 5657vpunpckhwd const0(%rip), %ymm11, %ymm9 5658vpslld $1, %ymm10, %ymm10 5659vpslld $1, %ymm9, %ymm9 5660vpsubd %ymm10, %ymm2, %ymm2 5661vpsubd %ymm9, %ymm7, %ymm7 5662vpsrld $1, %ymm2, %ymm2 5663vpsrld $1, %ymm7, %ymm7 5664vpand mask32_to_16(%rip), %ymm2, %ymm2 5665vpand mask32_to_16(%rip), %ymm7, %ymm7 5666vpackusdw %ymm7, %ymm2, %ymm7 5667vmovdqa 928(%r8), %ymm2 5668vpaddw 1184(%r8), %ymm2, %ymm9 5669vpsubw 1184(%r8), %ymm2, %ymm2 5670vpsrlw $2, %ymm2, %ymm2 5671vpsubw %ymm6, %ymm2, %ymm2 5672vpmullw %ymm14, %ymm2, %ymm2 5673vpsllw $1, %ymm5, %ymm10 5674vpsubw %ymm10, %ymm9, %ymm10 5675vpsllw $7, %ymm11, %ymm9 5676vpsubw %ymm9, %ymm10, %ymm9 5677vpsrlw $3, %ymm9, %ymm9 5678vpsubw %ymm7, %ymm9, %ymm9 5679vmovdqa 1440(%r8), %ymm10 5680vpsubw %ymm5, %ymm10, %ymm10 5681vpmullw %ymm15, %ymm11, %ymm4 5682vpsubw %ymm4, %ymm10, %ymm4 5683vpmullw %ymm14, %ymm9, %ymm9 5684vpsubw %ymm9, %ymm7, %ymm7 5685vpmullw %ymm12, %ymm9, %ymm10 5686vpaddw %ymm10, %ymm7, %ymm10 5687vpmullw %ymm12, %ymm10, %ymm10 5688vpsubw %ymm10, %ymm4, %ymm10 5689vpmullw %ymm14, %ymm10, %ymm10 5690vpsubw %ymm6, %ymm10, %ymm10 5691vpsrlw $3, %ymm10, %ymm10 5692vpsubw %ymm2, %ymm10, %ymm10 5693vpsubw %ymm10, %ymm2, %ymm2 5694vpsubw %ymm2, %ymm6, %ymm6 5695vpmullw %ymm13, %ymm10, %ymm10 5696vpsubw %ymm10, %ymm6, %ymm6 5697vmovdqu 440(%rdi), %ymm4 5698vmovdqu 792(%rdi), %ymm3 5699vmovdqu 1144(%rdi), %ymm8 5700vpaddw %ymm5, %ymm4, %ymm5 5701vpaddw %ymm6, %ymm3, %ymm6 5702vpaddw %ymm7, %ymm8, %ymm7 5703vpshufb shuf48_16(%rip), %ymm2, %ymm2 5704vpand mask3_5_3_5(%rip), %ymm2, %ymm8 5705vpand mask5_3_5_3(%rip), %ymm2, %ymm2 5706vpermq $206, %ymm8, %ymm8 5707vpand mask_keephigh(%rip), %ymm8, %ymm3 5708vpor %ymm3, %ymm2, %ymm2 5709vmovdqu 88(%rdi), %ymm3 5710vpaddw %ymm2, %ymm3, %ymm3 5711vpand mask_mod8192(%rip), %ymm3, %ymm3 5712vmovdqu %ymm3, 88(%rdi) 5713vmovdqa %xmm8, 1952(%r8) 5714vpshufb shuf48_16(%rip), %ymm9, %ymm9 5715vpand mask3_5_3_5(%rip), %ymm9, %ymm8 5716vpand mask5_3_5_3(%rip), %ymm9, %ymm9 5717vpermq $206, %ymm8, %ymm8 5718vpand mask_keephigh(%rip), %ymm8, %ymm3 5719vpor %ymm3, %ymm9, %ymm9 5720vpaddw %ymm9, %ymm5, %ymm5 5721vmovdqa %xmm8, 2208(%r8) 5722vpshufb shuf48_16(%rip), %ymm10, %ymm10 5723vpand mask3_5_3_5(%rip), %ymm10, %ymm8 5724vpand mask5_3_5_3(%rip), %ymm10, %ymm10 5725vpermq $206, %ymm8, %ymm8 5726vpand mask_keephigh(%rip), %ymm8, %ymm3 5727vpor %ymm3, %ymm10, %ymm10 5728vpaddw %ymm10, %ymm6, %ymm6 5729vmovdqa %xmm8, 2464(%r8) 5730vpshufb shuf48_16(%rip), %ymm11, %ymm11 5731vpand mask3_5_3_5(%rip), %ymm11, %ymm8 5732vpand mask5_3_5_3(%rip), %ymm11, %ymm11 5733vpermq $206, %ymm8, %ymm8 5734vpand mask_keephigh(%rip), %ymm8, %ymm3 5735vpor %ymm3, %ymm11, %ymm11 5736vpaddw %ymm11, %ymm7, %ymm7 5737vmovdqa %xmm8, 2720(%r8) 5738vpand mask_mod8192(%rip), %ymm5, %ymm5 5739vmovdqu %ymm5, 440(%rdi) 5740vpand mask_mod8192(%rip), %ymm6, %ymm6 5741vmovdqu %ymm6, 792(%rdi) 5742vpand mask_mod8192(%rip), %ymm7, %ymm7 5743vmovdqu %ymm7, 1144(%rdi) 5744vmovdqa 192(%r8), %ymm11 5745vpunpcklwd const0(%rip), %ymm11, %ymm10 5746vpunpckhwd const0(%rip), %ymm11, %ymm9 5747vpslld $1, %ymm10, %ymm10 5748vpslld $1, %ymm9, %ymm9 5749vmovdqa 448(%r8), %ymm2 5750vpunpcklwd const0(%rip), %ymm2, %ymm7 5751vpunpckhwd const0(%rip), %ymm2, %ymm2 5752vmovdqa 704(%r8), %ymm6 5753vpunpcklwd const0(%rip), %ymm6, %ymm5 5754vpunpckhwd const0(%rip), %ymm6, %ymm6 5755vpaddd %ymm5, %ymm7, %ymm8 5756vpaddd %ymm6, %ymm2, %ymm3 5757vpsubd %ymm10, %ymm8, %ymm8 5758vpsubd %ymm9, %ymm3, %ymm3 5759vpsubd %ymm5, %ymm7, %ymm5 5760vpsubd %ymm6, %ymm2, %ymm6 5761vpsrld $1, %ymm5, %ymm5 5762vpsrld $1, %ymm6, %ymm6 5763vpand mask32_to_16(%rip), %ymm5, %ymm5 5764vpand mask32_to_16(%rip), %ymm6, %ymm6 5765vpackusdw %ymm6, %ymm5, %ymm6 5766vmovdqa 1728(%r8), %ymm5 5767vpunpcklwd const0(%rip), %ymm5, %ymm2 5768vpunpckhwd const0(%rip), %ymm5, %ymm7 5769vpslld $1, %ymm2, %ymm2 5770vpslld $1, %ymm7, %ymm7 5771vpsubd %ymm2, %ymm8, %ymm8 5772vpsubd %ymm7, %ymm3, %ymm3 5773vpsrld $1, %ymm8, %ymm8 5774vpsrld $1, %ymm3, %ymm3 5775vpand mask32_to_16(%rip), %ymm8, %ymm8 5776vpand mask32_to_16(%rip), %ymm3, %ymm3 5777vpackusdw %ymm3, %ymm8, %ymm3 5778vmovdqa 960(%r8), %ymm8 5779vpaddw 1216(%r8), %ymm8, %ymm7 5780vpsubw 1216(%r8), %ymm8, %ymm8 5781vpsrlw $2, %ymm8, %ymm8 5782vpsubw %ymm6, %ymm8, %ymm8 5783vpmullw %ymm14, %ymm8, %ymm8 5784vpsllw $1, %ymm11, %ymm2 5785vpsubw %ymm2, %ymm7, %ymm2 5786vpsllw $7, %ymm5, %ymm7 5787vpsubw %ymm7, %ymm2, %ymm7 5788vpsrlw $3, %ymm7, %ymm7 5789vpsubw %ymm3, %ymm7, %ymm7 5790vmovdqa 1472(%r8), %ymm2 5791vpsubw %ymm11, %ymm2, %ymm2 5792vpmullw %ymm15, %ymm5, %ymm9 5793vpsubw %ymm9, %ymm2, %ymm9 5794vpmullw %ymm14, %ymm7, %ymm7 5795vpsubw %ymm7, %ymm3, %ymm3 5796vpmullw %ymm12, %ymm7, %ymm2 5797vpaddw %ymm2, %ymm3, %ymm2 5798vpmullw %ymm12, %ymm2, %ymm2 5799vpsubw %ymm2, %ymm9, %ymm2 5800vpmullw %ymm14, %ymm2, %ymm2 5801vpsubw %ymm6, %ymm2, %ymm2 5802vpsrlw $3, %ymm2, %ymm2 5803vpsubw %ymm8, %ymm2, %ymm2 5804vpsubw %ymm2, %ymm8, %ymm8 5805vpsubw %ymm8, %ymm6, %ymm6 5806vpmullw %ymm13, %ymm2, %ymm2 5807vpsubw %ymm2, %ymm6, %ymm6 5808vmovdqu 528(%rdi), %ymm9 5809vmovdqu 880(%rdi), %ymm10 5810vmovdqu 1232(%rdi), %ymm4 5811vpaddw %ymm11, %ymm9, %ymm11 5812vpaddw %ymm6, %ymm10, %ymm6 5813vpaddw %ymm3, %ymm4, %ymm3 5814vpshufb shuf48_16(%rip), %ymm8, %ymm8 5815vpand mask3_5_3_5(%rip), %ymm8, %ymm4 5816vpand mask5_3_5_3(%rip), %ymm8, %ymm8 5817vpermq $206, %ymm4, %ymm4 5818vpand mask_keephigh(%rip), %ymm4, %ymm10 5819vpor %ymm10, %ymm8, %ymm8 5820vmovdqu 176(%rdi), %ymm10 5821vpaddw %ymm8, %ymm10, %ymm10 5822vpand mask_mod8192(%rip), %ymm10, %ymm10 5823vmovdqu %ymm10, 176(%rdi) 5824vmovdqa %xmm4, 1984(%r8) 5825vpshufb shuf48_16(%rip), %ymm7, %ymm7 5826vpand mask3_5_3_5(%rip), %ymm7, %ymm4 5827vpand mask5_3_5_3(%rip), %ymm7, %ymm7 5828vpermq $206, %ymm4, %ymm4 5829vpand mask_keephigh(%rip), %ymm4, %ymm10 5830vpor %ymm10, %ymm7, %ymm7 5831vpaddw %ymm7, %ymm11, %ymm11 5832vmovdqa %xmm4, 2240(%r8) 5833vpshufb shuf48_16(%rip), %ymm2, %ymm2 5834vpand mask3_5_3_5(%rip), %ymm2, %ymm4 5835vpand mask5_3_5_3(%rip), %ymm2, %ymm2 5836vpermq $206, %ymm4, %ymm4 5837vpand mask_keephigh(%rip), %ymm4, %ymm10 5838vpor %ymm10, %ymm2, %ymm2 5839vpaddw %ymm2, %ymm6, %ymm6 5840vmovdqa %xmm4, 2496(%r8) 5841vpshufb shuf48_16(%rip), %ymm5, %ymm5 5842vpand mask3_5_3_5(%rip), %ymm5, %ymm4 5843vpand mask5_3_5_3(%rip), %ymm5, %ymm5 5844vpermq $206, %ymm4, %ymm4 5845vpand mask_keephigh(%rip), %ymm4, %ymm10 5846vpor %ymm10, %ymm5, %ymm5 5847vpaddw %ymm5, %ymm3, %ymm3 5848vmovdqa %xmm4, 2752(%r8) 5849vpand mask_mod8192(%rip), %ymm11, %ymm11 5850vmovdqu %ymm11, 528(%rdi) 5851vpand mask_mod8192(%rip), %ymm6, %ymm6 5852vmovdqu %ymm6, 880(%rdi) 5853vpand mask_mod8192(%rip), %ymm3, %ymm3 5854vmovdqu %ymm3, 1232(%rdi) 5855vmovdqa 224(%r8), %ymm5 5856vpunpcklwd const0(%rip), %ymm5, %ymm2 5857vpunpckhwd const0(%rip), %ymm5, %ymm7 5858vpslld $1, %ymm2, %ymm2 5859vpslld $1, %ymm7, %ymm7 5860vmovdqa 480(%r8), %ymm8 5861vpunpcklwd const0(%rip), %ymm8, %ymm3 5862vpunpckhwd const0(%rip), %ymm8, %ymm8 5863vmovdqa 736(%r8), %ymm6 5864vpunpcklwd const0(%rip), %ymm6, %ymm11 5865vpunpckhwd const0(%rip), %ymm6, %ymm6 5866vpaddd %ymm11, %ymm3, %ymm4 5867vpaddd %ymm6, %ymm8, %ymm10 5868vpsubd %ymm2, %ymm4, %ymm4 5869vpsubd %ymm7, %ymm10, %ymm10 5870vpsubd %ymm11, %ymm3, %ymm11 5871vpsubd %ymm6, %ymm8, %ymm6 5872vpsrld $1, %ymm11, %ymm11 5873vpsrld $1, %ymm6, %ymm6 5874vpand mask32_to_16(%rip), %ymm11, %ymm11 5875vpand mask32_to_16(%rip), %ymm6, %ymm6 5876vpackusdw %ymm6, %ymm11, %ymm6 5877vmovdqa 1760(%r8), %ymm11 5878vpunpcklwd const0(%rip), %ymm11, %ymm8 5879vpunpckhwd const0(%rip), %ymm11, %ymm3 5880vpslld $1, %ymm8, %ymm8 5881vpslld $1, %ymm3, %ymm3 5882vpsubd %ymm8, %ymm4, %ymm4 5883vpsubd %ymm3, %ymm10, %ymm10 5884vpsrld $1, %ymm4, %ymm4 5885vpsrld $1, %ymm10, %ymm10 5886vpand mask32_to_16(%rip), %ymm4, %ymm4 5887vpand mask32_to_16(%rip), %ymm10, %ymm10 5888vpackusdw %ymm10, %ymm4, %ymm10 5889vmovdqa 992(%r8), %ymm4 5890vpaddw 1248(%r8), %ymm4, %ymm3 5891vpsubw 1248(%r8), %ymm4, %ymm4 5892vpsrlw $2, %ymm4, %ymm4 5893vpsubw %ymm6, %ymm4, %ymm4 5894vpmullw %ymm14, %ymm4, %ymm4 5895vpsllw $1, %ymm5, %ymm8 5896vpsubw %ymm8, %ymm3, %ymm8 5897vpsllw $7, %ymm11, %ymm3 5898vpsubw %ymm3, %ymm8, %ymm3 5899vpsrlw $3, %ymm3, %ymm3 5900vpsubw %ymm10, %ymm3, %ymm3 5901vmovdqa 1504(%r8), %ymm8 5902vpsubw %ymm5, %ymm8, %ymm8 5903vpmullw %ymm15, %ymm11, %ymm7 5904vpsubw %ymm7, %ymm8, %ymm7 5905vpmullw %ymm14, %ymm3, %ymm3 5906vpsubw %ymm3, %ymm10, %ymm10 5907vpmullw %ymm12, %ymm3, %ymm8 5908vpaddw %ymm8, %ymm10, %ymm8 5909vpmullw %ymm12, %ymm8, %ymm8 5910vpsubw %ymm8, %ymm7, %ymm8 5911vpmullw %ymm14, %ymm8, %ymm8 5912vpsubw %ymm6, %ymm8, %ymm8 5913vpsrlw $3, %ymm8, %ymm8 5914vpsubw %ymm4, %ymm8, %ymm8 5915vpsubw %ymm8, %ymm4, %ymm4 5916vpsubw %ymm4, %ymm6, %ymm6 5917vpmullw %ymm13, %ymm8, %ymm8 5918vpsubw %ymm8, %ymm6, %ymm6 5919vmovdqu 616(%rdi), %ymm7 5920vmovdqu 968(%rdi), %ymm2 5921vmovdqu 1320(%rdi), %ymm9 5922vpaddw %ymm5, %ymm7, %ymm5 5923vpaddw %ymm6, %ymm2, %ymm6 5924vpaddw %ymm10, %ymm9, %ymm10 5925vpshufb shuf48_16(%rip), %ymm4, %ymm4 5926vpand mask3_5_3_5(%rip), %ymm4, %ymm9 5927vpand mask5_3_5_3(%rip), %ymm4, %ymm4 5928vpermq $206, %ymm9, %ymm9 5929vpand mask_keephigh(%rip), %ymm9, %ymm2 5930vpor %ymm2, %ymm4, %ymm4 5931vmovdqu 264(%rdi), %ymm2 5932vpaddw %ymm4, %ymm2, %ymm2 5933vpand mask_mod8192(%rip), %ymm2, %ymm2 5934vmovdqu %ymm2, 264(%rdi) 5935vmovdqa %xmm9, 2016(%r8) 5936vpshufb shuf48_16(%rip), %ymm3, %ymm3 5937vpand mask3_5_3_5(%rip), %ymm3, %ymm9 5938vpand mask5_3_5_3(%rip), %ymm3, %ymm3 5939vpermq $206, %ymm9, %ymm9 5940vpand mask_keephigh(%rip), %ymm9, %ymm2 5941vpor %ymm2, %ymm3, %ymm3 5942vpaddw %ymm3, %ymm5, %ymm5 5943vmovdqa %xmm9, 2272(%r8) 5944vpshufb shuf48_16(%rip), %ymm8, %ymm8 5945vpand mask3_5_3_5(%rip), %ymm8, %ymm9 5946vpand mask5_3_5_3(%rip), %ymm8, %ymm8 5947vpermq $206, %ymm9, %ymm9 5948vpand mask_keephigh(%rip), %ymm9, %ymm2 5949vpor %ymm2, %ymm8, %ymm8 5950vpaddw %ymm8, %ymm6, %ymm6 5951vmovdqa %xmm9, 2528(%r8) 5952vpshufb shuf48_16(%rip), %ymm11, %ymm11 5953vpand mask3_5_3_5(%rip), %ymm11, %ymm9 5954vpand mask5_3_5_3(%rip), %ymm11, %ymm11 5955vpermq $206, %ymm9, %ymm9 5956vpand mask_keephigh(%rip), %ymm9, %ymm2 5957vpor %ymm2, %ymm11, %ymm11 5958vpaddw %ymm11, %ymm10, %ymm10 5959vmovdqa %xmm9, 2784(%r8) 5960vpand mask_mod8192(%rip), %ymm5, %ymm5 5961vmovdqu %ymm5, 616(%rdi) 5962vpand mask_mod8192(%rip), %ymm6, %ymm6 5963vmovdqu %ymm6, 968(%rdi) 5964vpand mask_mod8192(%rip), %ymm10, %ymm10 5965vmovdqu %ymm10, 1320(%rdi) 5966vmovdqa 128(%r12), %ymm0 5967vpsubw 224(%r12), %ymm0, %ymm0 5968vmovdqa 512(%r12), %ymm1 5969vpsubw %ymm0, %ymm1, %ymm1 5970vpsubw 320(%r12), %ymm1, %ymm1 5971vpsubw 32(%r12), %ymm0, %ymm0 5972vpaddw 416(%r12), %ymm0, %ymm0 5973vmovdqa 704(%r12), %ymm2 5974vpsubw 800(%r12), %ymm2, %ymm2 5975vmovdqa 1088(%r12), %ymm3 5976vpsubw %ymm2, %ymm3, %ymm3 5977vpsubw 896(%r12), %ymm3, %ymm3 5978vpsubw 608(%r12), %ymm2, %ymm2 5979vpaddw 992(%r12), %ymm2, %ymm2 5980vmovdqa 1280(%r12), %ymm4 5981vpsubw 1376(%r12), %ymm4, %ymm4 5982vmovdqa 1664(%r12), %ymm5 5983vpsubw %ymm4, %ymm5, %ymm5 5984vpsubw 1472(%r12), %ymm5, %ymm5 5985vpsubw 1184(%r12), %ymm4, %ymm4 5986vpaddw 1568(%r12), %ymm4, %ymm4 5987vpsubw 608(%r12), %ymm1, %ymm1 5988vpsubw %ymm1, %ymm5, %ymm5 5989vpsubw %ymm3, %ymm5, %ymm5 5990vpsubw 32(%r12), %ymm1, %ymm1 5991vpaddw 1184(%r12), %ymm1, %ymm1 5992vmovdqa 320(%r12), %ymm6 5993vpsubw %ymm2, %ymm6, %ymm7 5994vmovdqa 1472(%r12), %ymm2 5995vpsubw %ymm7, %ymm2, %ymm2 5996vpsubw 896(%r12), %ymm2, %ymm2 5997vpsubw %ymm0, %ymm7, %ymm7 5998vpaddw %ymm4, %ymm7, %ymm7 5999vmovdqa 32(%r12), %ymm8 6000vmovdqa 896(%r12), %ymm9 6001vmovdqa %ymm8, 0(%r8) 6002vmovdqa %ymm0, 32(%r8) 6003vmovdqa %ymm1, 64(%r8) 6004vmovdqa %ymm7, 96(%r8) 6005vmovdqa %ymm5, 128(%r8) 6006vmovdqa %ymm2, 160(%r8) 6007vmovdqa %ymm3, 192(%r8) 6008vmovdqa %ymm9, 224(%r8) 6009vmovdqa 1856(%r12), %ymm0 6010vpsubw 1952(%r12), %ymm0, %ymm0 6011vmovdqa 2240(%r12), %ymm1 6012vpsubw %ymm0, %ymm1, %ymm1 6013vpsubw 2048(%r12), %ymm1, %ymm1 6014vpsubw 1760(%r12), %ymm0, %ymm0 6015vpaddw 2144(%r12), %ymm0, %ymm0 6016vmovdqa 2432(%r12), %ymm2 6017vpsubw 2528(%r12), %ymm2, %ymm2 6018vmovdqa 2816(%r12), %ymm3 6019vpsubw %ymm2, %ymm3, %ymm3 6020vpsubw 2624(%r12), %ymm3, %ymm3 6021vpsubw 2336(%r12), %ymm2, %ymm2 6022vpaddw 2720(%r12), %ymm2, %ymm2 6023vmovdqa 3008(%r12), %ymm4 6024vpsubw 3104(%r12), %ymm4, %ymm4 6025vmovdqa 3392(%r12), %ymm5 6026vpsubw %ymm4, %ymm5, %ymm5 6027vpsubw 3200(%r12), %ymm5, %ymm5 6028vpsubw 2912(%r12), %ymm4, %ymm4 6029vpaddw 3296(%r12), %ymm4, %ymm4 6030vpsubw 2336(%r12), %ymm1, %ymm1 6031vpsubw %ymm1, %ymm5, %ymm5 6032vpsubw %ymm3, %ymm5, %ymm5 6033vpsubw 1760(%r12), %ymm1, %ymm1 6034vpaddw 2912(%r12), %ymm1, %ymm1 6035vmovdqa 2048(%r12), %ymm6 6036vpsubw %ymm2, %ymm6, %ymm7 6037vmovdqa 3200(%r12), %ymm2 6038vpsubw %ymm7, %ymm2, %ymm2 6039vpsubw 2624(%r12), %ymm2, %ymm2 6040vpsubw %ymm0, %ymm7, %ymm7 6041vpaddw %ymm4, %ymm7, %ymm7 6042vmovdqa 1760(%r12), %ymm8 6043vmovdqa 2624(%r12), %ymm9 6044vmovdqa %ymm8, 256(%r8) 6045vmovdqa %ymm0, 288(%r8) 6046vmovdqa %ymm1, 320(%r8) 6047vmovdqa %ymm7, 352(%r8) 6048vmovdqa %ymm5, 384(%r8) 6049vmovdqa %ymm2, 416(%r8) 6050vmovdqa %ymm3, 448(%r8) 6051vmovdqa %ymm9, 480(%r8) 6052vmovdqa 3584(%r12), %ymm0 6053vpsubw 3680(%r12), %ymm0, %ymm0 6054vmovdqa 3968(%r12), %ymm1 6055vpsubw %ymm0, %ymm1, %ymm1 6056vpsubw 3776(%r12), %ymm1, %ymm1 6057vpsubw 3488(%r12), %ymm0, %ymm0 6058vpaddw 3872(%r12), %ymm0, %ymm0 6059vmovdqa 4160(%r12), %ymm2 6060vpsubw 4256(%r12), %ymm2, %ymm2 6061vmovdqa 4544(%r12), %ymm3 6062vpsubw %ymm2, %ymm3, %ymm3 6063vpsubw 4352(%r12), %ymm3, %ymm3 6064vpsubw 4064(%r12), %ymm2, %ymm2 6065vpaddw 4448(%r12), %ymm2, %ymm2 6066vmovdqa 4736(%r12), %ymm4 6067vpsubw 4832(%r12), %ymm4, %ymm4 6068vmovdqa 5120(%r12), %ymm5 6069vpsubw %ymm4, %ymm5, %ymm5 6070vpsubw 4928(%r12), %ymm5, %ymm5 6071vpsubw 4640(%r12), %ymm4, %ymm4 6072vpaddw 5024(%r12), %ymm4, %ymm4 6073vpsubw 4064(%r12), %ymm1, %ymm1 6074vpsubw %ymm1, %ymm5, %ymm5 6075vpsubw %ymm3, %ymm5, %ymm5 6076vpsubw 3488(%r12), %ymm1, %ymm1 6077vpaddw 4640(%r12), %ymm1, %ymm1 6078vmovdqa 3776(%r12), %ymm6 6079vpsubw %ymm2, %ymm6, %ymm7 6080vmovdqa 4928(%r12), %ymm2 6081vpsubw %ymm7, %ymm2, %ymm2 6082vpsubw 4352(%r12), %ymm2, %ymm2 6083vpsubw %ymm0, %ymm7, %ymm7 6084vpaddw %ymm4, %ymm7, %ymm7 6085vmovdqa 3488(%r12), %ymm8 6086vmovdqa 4352(%r12), %ymm9 6087vmovdqa %ymm8, 512(%r8) 6088vmovdqa %ymm0, 544(%r8) 6089vmovdqa %ymm1, 576(%r8) 6090vmovdqa %ymm7, 608(%r8) 6091vmovdqa %ymm5, 640(%r8) 6092vmovdqa %ymm2, 672(%r8) 6093vmovdqa %ymm3, 704(%r8) 6094vmovdqa %ymm9, 736(%r8) 6095vmovdqa 5312(%r12), %ymm0 6096vpsubw 5408(%r12), %ymm0, %ymm0 6097vmovdqa 5696(%r12), %ymm1 6098vpsubw %ymm0, %ymm1, %ymm1 6099vpsubw 5504(%r12), %ymm1, %ymm1 6100vpsubw 5216(%r12), %ymm0, %ymm0 6101vpaddw 5600(%r12), %ymm0, %ymm0 6102vmovdqa 5888(%r12), %ymm2 6103vpsubw 5984(%r12), %ymm2, %ymm2 6104vmovdqa 6272(%r12), %ymm3 6105vpsubw %ymm2, %ymm3, %ymm3 6106vpsubw 6080(%r12), %ymm3, %ymm3 6107vpsubw 5792(%r12), %ymm2, %ymm2 6108vpaddw 6176(%r12), %ymm2, %ymm2 6109vmovdqa 6464(%r12), %ymm4 6110vpsubw 6560(%r12), %ymm4, %ymm4 6111vmovdqa 6848(%r12), %ymm5 6112vpsubw %ymm4, %ymm5, %ymm5 6113vpsubw 6656(%r12), %ymm5, %ymm5 6114vpsubw 6368(%r12), %ymm4, %ymm4 6115vpaddw 6752(%r12), %ymm4, %ymm4 6116vpsubw 5792(%r12), %ymm1, %ymm1 6117vpsubw %ymm1, %ymm5, %ymm5 6118vpsubw %ymm3, %ymm5, %ymm5 6119vpsubw 5216(%r12), %ymm1, %ymm1 6120vpaddw 6368(%r12), %ymm1, %ymm1 6121vmovdqa 5504(%r12), %ymm6 6122vpsubw %ymm2, %ymm6, %ymm7 6123vmovdqa 6656(%r12), %ymm2 6124vpsubw %ymm7, %ymm2, %ymm2 6125vpsubw 6080(%r12), %ymm2, %ymm2 6126vpsubw %ymm0, %ymm7, %ymm7 6127vpaddw %ymm4, %ymm7, %ymm7 6128vmovdqa 5216(%r12), %ymm8 6129vmovdqa 6080(%r12), %ymm9 6130vmovdqa %ymm8, 768(%r8) 6131vmovdqa %ymm0, 800(%r8) 6132vmovdqa %ymm1, 832(%r8) 6133vmovdqa %ymm7, 864(%r8) 6134vmovdqa %ymm5, 896(%r8) 6135vmovdqa %ymm2, 928(%r8) 6136vmovdqa %ymm3, 960(%r8) 6137vmovdqa %ymm9, 992(%r8) 6138vmovdqa 7040(%r12), %ymm0 6139vpsubw 7136(%r12), %ymm0, %ymm0 6140vmovdqa 7424(%r12), %ymm1 6141vpsubw %ymm0, %ymm1, %ymm1 6142vpsubw 7232(%r12), %ymm1, %ymm1 6143vpsubw 6944(%r12), %ymm0, %ymm0 6144vpaddw 7328(%r12), %ymm0, %ymm0 6145vmovdqa 7616(%r12), %ymm2 6146vpsubw 7712(%r12), %ymm2, %ymm2 6147vmovdqa 8000(%r12), %ymm3 6148vpsubw %ymm2, %ymm3, %ymm3 6149vpsubw 7808(%r12), %ymm3, %ymm3 6150vpsubw 7520(%r12), %ymm2, %ymm2 6151vpaddw 7904(%r12), %ymm2, %ymm2 6152vmovdqa 8192(%r12), %ymm4 6153vpsubw 8288(%r12), %ymm4, %ymm4 6154vmovdqa 8576(%r12), %ymm5 6155vpsubw %ymm4, %ymm5, %ymm5 6156vpsubw 8384(%r12), %ymm5, %ymm5 6157vpsubw 8096(%r12), %ymm4, %ymm4 6158vpaddw 8480(%r12), %ymm4, %ymm4 6159vpsubw 7520(%r12), %ymm1, %ymm1 6160vpsubw %ymm1, %ymm5, %ymm5 6161vpsubw %ymm3, %ymm5, %ymm5 6162vpsubw 6944(%r12), %ymm1, %ymm1 6163vpaddw 8096(%r12), %ymm1, %ymm1 6164vmovdqa 7232(%r12), %ymm6 6165vpsubw %ymm2, %ymm6, %ymm7 6166vmovdqa 8384(%r12), %ymm2 6167vpsubw %ymm7, %ymm2, %ymm2 6168vpsubw 7808(%r12), %ymm2, %ymm2 6169vpsubw %ymm0, %ymm7, %ymm7 6170vpaddw %ymm4, %ymm7, %ymm7 6171vmovdqa 6944(%r12), %ymm8 6172vmovdqa 7808(%r12), %ymm9 6173vmovdqa %ymm8, 1024(%r8) 6174vmovdqa %ymm0, 1056(%r8) 6175vmovdqa %ymm1, 1088(%r8) 6176vmovdqa %ymm7, 1120(%r8) 6177vmovdqa %ymm5, 1152(%r8) 6178vmovdqa %ymm2, 1184(%r8) 6179vmovdqa %ymm3, 1216(%r8) 6180vmovdqa %ymm9, 1248(%r8) 6181vmovdqa 8768(%r12), %ymm0 6182vpsubw 8864(%r12), %ymm0, %ymm0 6183vmovdqa 9152(%r12), %ymm1 6184vpsubw %ymm0, %ymm1, %ymm1 6185vpsubw 8960(%r12), %ymm1, %ymm1 6186vpsubw 8672(%r12), %ymm0, %ymm0 6187vpaddw 9056(%r12), %ymm0, %ymm0 6188vmovdqa 9344(%r12), %ymm2 6189vpsubw 9440(%r12), %ymm2, %ymm2 6190vmovdqa 9728(%r12), %ymm3 6191vpsubw %ymm2, %ymm3, %ymm3 6192vpsubw 9536(%r12), %ymm3, %ymm3 6193vpsubw 9248(%r12), %ymm2, %ymm2 6194vpaddw 9632(%r12), %ymm2, %ymm2 6195vmovdqa 9920(%r12), %ymm4 6196vpsubw 10016(%r12), %ymm4, %ymm4 6197vmovdqa 10304(%r12), %ymm5 6198vpsubw %ymm4, %ymm5, %ymm5 6199vpsubw 10112(%r12), %ymm5, %ymm5 6200vpsubw 9824(%r12), %ymm4, %ymm4 6201vpaddw 10208(%r12), %ymm4, %ymm4 6202vpsubw 9248(%r12), %ymm1, %ymm1 6203vpsubw %ymm1, %ymm5, %ymm5 6204vpsubw %ymm3, %ymm5, %ymm5 6205vpsubw 8672(%r12), %ymm1, %ymm1 6206vpaddw 9824(%r12), %ymm1, %ymm1 6207vmovdqa 8960(%r12), %ymm6 6208vpsubw %ymm2, %ymm6, %ymm7 6209vmovdqa 10112(%r12), %ymm2 6210vpsubw %ymm7, %ymm2, %ymm2 6211vpsubw 9536(%r12), %ymm2, %ymm2 6212vpsubw %ymm0, %ymm7, %ymm7 6213vpaddw %ymm4, %ymm7, %ymm7 6214vmovdqa 8672(%r12), %ymm8 6215vmovdqa 9536(%r12), %ymm9 6216vmovdqa %ymm8, 1280(%r8) 6217vmovdqa %ymm0, 1312(%r8) 6218vmovdqa %ymm1, 1344(%r8) 6219vmovdqa %ymm7, 1376(%r8) 6220vmovdqa %ymm5, 1408(%r8) 6221vmovdqa %ymm2, 1440(%r8) 6222vmovdqa %ymm3, 1472(%r8) 6223vmovdqa %ymm9, 1504(%r8) 6224vmovdqa 10496(%r12), %ymm0 6225vpsubw 10592(%r12), %ymm0, %ymm0 6226vmovdqa 10880(%r12), %ymm1 6227vpsubw %ymm0, %ymm1, %ymm1 6228vpsubw 10688(%r12), %ymm1, %ymm1 6229vpsubw 10400(%r12), %ymm0, %ymm0 6230vpaddw 10784(%r12), %ymm0, %ymm0 6231vmovdqa 11072(%r12), %ymm2 6232vpsubw 11168(%r12), %ymm2, %ymm2 6233vmovdqa 11456(%r12), %ymm3 6234vpsubw %ymm2, %ymm3, %ymm3 6235vpsubw 11264(%r12), %ymm3, %ymm3 6236vpsubw 10976(%r12), %ymm2, %ymm2 6237vpaddw 11360(%r12), %ymm2, %ymm2 6238vmovdqa 11648(%r12), %ymm4 6239vpsubw 11744(%r12), %ymm4, %ymm4 6240vmovdqa 12032(%r12), %ymm5 6241vpsubw %ymm4, %ymm5, %ymm5 6242vpsubw 11840(%r12), %ymm5, %ymm5 6243vpsubw 11552(%r12), %ymm4, %ymm4 6244vpaddw 11936(%r12), %ymm4, %ymm4 6245vpsubw 10976(%r12), %ymm1, %ymm1 6246vpsubw %ymm1, %ymm5, %ymm5 6247vpsubw %ymm3, %ymm5, %ymm5 6248vpsubw 10400(%r12), %ymm1, %ymm1 6249vpaddw 11552(%r12), %ymm1, %ymm1 6250vmovdqa 10688(%r12), %ymm6 6251vpsubw %ymm2, %ymm6, %ymm7 6252vmovdqa 11840(%r12), %ymm2 6253vpsubw %ymm7, %ymm2, %ymm2 6254vpsubw 11264(%r12), %ymm2, %ymm2 6255vpsubw %ymm0, %ymm7, %ymm7 6256vpaddw %ymm4, %ymm7, %ymm7 6257vmovdqa 10400(%r12), %ymm8 6258vmovdqa 11264(%r12), %ymm9 6259vmovdqa %ymm8, 1536(%r8) 6260vmovdqa %ymm0, 1568(%r8) 6261vmovdqa %ymm1, 1600(%r8) 6262vmovdqa %ymm7, 1632(%r8) 6263vmovdqa %ymm5, 1664(%r8) 6264vmovdqa %ymm2, 1696(%r8) 6265vmovdqa %ymm3, 1728(%r8) 6266vmovdqa %ymm9, 1760(%r8) 6267vmovdqa 0(%r8), %ymm11 6268vpunpcklwd const0(%rip), %ymm11, %ymm8 6269vpunpckhwd const0(%rip), %ymm11, %ymm3 6270vpslld $1, %ymm8, %ymm8 6271vpslld $1, %ymm3, %ymm3 6272vmovdqa 256(%r8), %ymm4 6273vpunpcklwd const0(%rip), %ymm4, %ymm10 6274vpunpckhwd const0(%rip), %ymm4, %ymm4 6275vmovdqa 512(%r8), %ymm6 6276vpunpcklwd const0(%rip), %ymm6, %ymm5 6277vpunpckhwd const0(%rip), %ymm6, %ymm6 6278vpaddd %ymm5, %ymm10, %ymm9 6279vpaddd %ymm6, %ymm4, %ymm2 6280vpsubd %ymm8, %ymm9, %ymm9 6281vpsubd %ymm3, %ymm2, %ymm2 6282vpsubd %ymm5, %ymm10, %ymm5 6283vpsubd %ymm6, %ymm4, %ymm6 6284vpsrld $1, %ymm5, %ymm5 6285vpsrld $1, %ymm6, %ymm6 6286vpand mask32_to_16(%rip), %ymm5, %ymm5 6287vpand mask32_to_16(%rip), %ymm6, %ymm6 6288vpackusdw %ymm6, %ymm5, %ymm6 6289vmovdqa 1536(%r8), %ymm5 6290vpunpcklwd const0(%rip), %ymm5, %ymm4 6291vpunpckhwd const0(%rip), %ymm5, %ymm10 6292vpslld $1, %ymm4, %ymm4 6293vpslld $1, %ymm10, %ymm10 6294vpsubd %ymm4, %ymm9, %ymm9 6295vpsubd %ymm10, %ymm2, %ymm2 6296vpsrld $1, %ymm9, %ymm9 6297vpsrld $1, %ymm2, %ymm2 6298vpand mask32_to_16(%rip), %ymm9, %ymm9 6299vpand mask32_to_16(%rip), %ymm2, %ymm2 6300vpackusdw %ymm2, %ymm9, %ymm2 6301vmovdqa 768(%r8), %ymm9 6302vpaddw 1024(%r8), %ymm9, %ymm10 6303vpsubw 1024(%r8), %ymm9, %ymm9 6304vpsrlw $2, %ymm9, %ymm9 6305vpsubw %ymm6, %ymm9, %ymm9 6306vpmullw %ymm14, %ymm9, %ymm9 6307vpsllw $1, %ymm11, %ymm4 6308vpsubw %ymm4, %ymm10, %ymm4 6309vpsllw $7, %ymm5, %ymm10 6310vpsubw %ymm10, %ymm4, %ymm10 6311vpsrlw $3, %ymm10, %ymm10 6312vpsubw %ymm2, %ymm10, %ymm10 6313vmovdqa 1280(%r8), %ymm4 6314vpsubw %ymm11, %ymm4, %ymm4 6315vpmullw %ymm15, %ymm5, %ymm3 6316vpsubw %ymm3, %ymm4, %ymm3 6317vpmullw %ymm14, %ymm10, %ymm10 6318vpsubw %ymm10, %ymm2, %ymm2 6319vpmullw %ymm12, %ymm10, %ymm4 6320vpaddw %ymm4, %ymm2, %ymm4 6321vpmullw %ymm12, %ymm4, %ymm4 6322vpsubw %ymm4, %ymm3, %ymm4 6323vpmullw %ymm14, %ymm4, %ymm4 6324vpsubw %ymm6, %ymm4, %ymm4 6325vpsrlw $3, %ymm4, %ymm4 6326vpsubw %ymm9, %ymm4, %ymm4 6327vpsubw %ymm4, %ymm9, %ymm9 6328vpsubw %ymm9, %ymm6, %ymm6 6329vpmullw %ymm13, %ymm4, %ymm4 6330vpsubw %ymm4, %ymm6, %ymm6 6331vpshufb shuf48_16(%rip), %ymm10, %ymm10 6332vpand mask3_5_3_5(%rip), %ymm10, %ymm3 6333vpand mask5_3_5_3(%rip), %ymm10, %ymm10 6334vpermq $206, %ymm3, %ymm3 6335vpand mask_keephigh(%rip), %ymm3, %ymm8 6336vpor %ymm8, %ymm10, %ymm10 6337vpaddw 2048(%r8), %ymm11, %ymm11 6338vpaddw %ymm10, %ymm11, %ymm11 6339vmovdqa %xmm3, 2048(%r8) 6340vpshufb shuf48_16(%rip), %ymm4, %ymm4 6341vpand mask3_5_3_5(%rip), %ymm4, %ymm3 6342vpand mask5_3_5_3(%rip), %ymm4, %ymm4 6343vpermq $206, %ymm3, %ymm3 6344vpand mask_keephigh(%rip), %ymm3, %ymm8 6345vpor %ymm8, %ymm4, %ymm4 6346vpaddw 2304(%r8), %ymm6, %ymm6 6347vpaddw %ymm4, %ymm6, %ymm6 6348vmovdqa %xmm3, 2304(%r8) 6349vpshufb shuf48_16(%rip), %ymm5, %ymm5 6350vpand mask3_5_3_5(%rip), %ymm5, %ymm3 6351vpand mask5_3_5_3(%rip), %ymm5, %ymm5 6352vpermq $206, %ymm3, %ymm3 6353vpand mask_keephigh(%rip), %ymm3, %ymm8 6354vpor %ymm8, %ymm5, %ymm5 6355vpaddw 2560(%r8), %ymm2, %ymm2 6356vpaddw %ymm5, %ymm2, %ymm2 6357vmovdqa %xmm3, 2560(%r8) 6358vpand mask_mod8192(%rip), %ymm11, %ymm11 6359vmovdqu %ymm11, 32(%rdi) 6360vpand mask_mod8192(%rip), %ymm6, %ymm6 6361vmovdqu %ymm6, 384(%rdi) 6362vpand mask_mod8192(%rip), %ymm2, %ymm2 6363vmovdqu %ymm2, 736(%rdi) 6364vpand mask_mod8192(%rip), %ymm9, %ymm9 6365vmovdqu %ymm9, 1088(%rdi) 6366vmovdqa 32(%r8), %ymm5 6367vpunpcklwd const0(%rip), %ymm5, %ymm4 6368vpunpckhwd const0(%rip), %ymm5, %ymm10 6369vpslld $1, %ymm4, %ymm4 6370vpslld $1, %ymm10, %ymm10 6371vmovdqa 288(%r8), %ymm9 6372vpunpcklwd const0(%rip), %ymm9, %ymm2 6373vpunpckhwd const0(%rip), %ymm9, %ymm9 6374vmovdqa 544(%r8), %ymm6 6375vpunpcklwd const0(%rip), %ymm6, %ymm11 6376vpunpckhwd const0(%rip), %ymm6, %ymm6 6377vpaddd %ymm11, %ymm2, %ymm3 6378vpaddd %ymm6, %ymm9, %ymm8 6379vpsubd %ymm4, %ymm3, %ymm3 6380vpsubd %ymm10, %ymm8, %ymm8 6381vpsubd %ymm11, %ymm2, %ymm11 6382vpsubd %ymm6, %ymm9, %ymm6 6383vpsrld $1, %ymm11, %ymm11 6384vpsrld $1, %ymm6, %ymm6 6385vpand mask32_to_16(%rip), %ymm11, %ymm11 6386vpand mask32_to_16(%rip), %ymm6, %ymm6 6387vpackusdw %ymm6, %ymm11, %ymm6 6388vmovdqa 1568(%r8), %ymm11 6389vpunpcklwd const0(%rip), %ymm11, %ymm9 6390vpunpckhwd const0(%rip), %ymm11, %ymm2 6391vpslld $1, %ymm9, %ymm9 6392vpslld $1, %ymm2, %ymm2 6393vpsubd %ymm9, %ymm3, %ymm3 6394vpsubd %ymm2, %ymm8, %ymm8 6395vpsrld $1, %ymm3, %ymm3 6396vpsrld $1, %ymm8, %ymm8 6397vpand mask32_to_16(%rip), %ymm3, %ymm3 6398vpand mask32_to_16(%rip), %ymm8, %ymm8 6399vpackusdw %ymm8, %ymm3, %ymm8 6400vmovdqa 800(%r8), %ymm3 6401vpaddw 1056(%r8), %ymm3, %ymm2 6402vpsubw 1056(%r8), %ymm3, %ymm3 6403vpsrlw $2, %ymm3, %ymm3 6404vpsubw %ymm6, %ymm3, %ymm3 6405vpmullw %ymm14, %ymm3, %ymm3 6406vpsllw $1, %ymm5, %ymm9 6407vpsubw %ymm9, %ymm2, %ymm9 6408vpsllw $7, %ymm11, %ymm2 6409vpsubw %ymm2, %ymm9, %ymm2 6410vpsrlw $3, %ymm2, %ymm2 6411vpsubw %ymm8, %ymm2, %ymm2 6412vmovdqa 1312(%r8), %ymm9 6413vpsubw %ymm5, %ymm9, %ymm9 6414vpmullw %ymm15, %ymm11, %ymm10 6415vpsubw %ymm10, %ymm9, %ymm10 6416vpmullw %ymm14, %ymm2, %ymm2 6417vpsubw %ymm2, %ymm8, %ymm8 6418vpmullw %ymm12, %ymm2, %ymm9 6419vpaddw %ymm9, %ymm8, %ymm9 6420vpmullw %ymm12, %ymm9, %ymm9 6421vpsubw %ymm9, %ymm10, %ymm9 6422vpmullw %ymm14, %ymm9, %ymm9 6423vpsubw %ymm6, %ymm9, %ymm9 6424vpsrlw $3, %ymm9, %ymm9 6425vpsubw %ymm3, %ymm9, %ymm9 6426vpsubw %ymm9, %ymm3, %ymm3 6427vpsubw %ymm3, %ymm6, %ymm6 6428vpmullw %ymm13, %ymm9, %ymm9 6429vpsubw %ymm9, %ymm6, %ymm6 6430vpshufb shuf48_16(%rip), %ymm2, %ymm2 6431vpand mask3_5_3_5(%rip), %ymm2, %ymm10 6432vpand mask5_3_5_3(%rip), %ymm2, %ymm2 6433vpermq $206, %ymm10, %ymm10 6434vpand mask_keephigh(%rip), %ymm10, %ymm4 6435vpor %ymm4, %ymm2, %ymm2 6436vpaddw 2080(%r8), %ymm5, %ymm5 6437vpaddw %ymm2, %ymm5, %ymm5 6438vmovdqa %xmm10, 2080(%r8) 6439vpshufb shuf48_16(%rip), %ymm9, %ymm9 6440vpand mask3_5_3_5(%rip), %ymm9, %ymm10 6441vpand mask5_3_5_3(%rip), %ymm9, %ymm9 6442vpermq $206, %ymm10, %ymm10 6443vpand mask_keephigh(%rip), %ymm10, %ymm4 6444vpor %ymm4, %ymm9, %ymm9 6445vpaddw 2336(%r8), %ymm6, %ymm6 6446vpaddw %ymm9, %ymm6, %ymm6 6447vmovdqa %xmm10, 2336(%r8) 6448vpshufb shuf48_16(%rip), %ymm11, %ymm11 6449vpand mask3_5_3_5(%rip), %ymm11, %ymm10 6450vpand mask5_3_5_3(%rip), %ymm11, %ymm11 6451vpermq $206, %ymm10, %ymm10 6452vpand mask_keephigh(%rip), %ymm10, %ymm4 6453vpor %ymm4, %ymm11, %ymm11 6454vpaddw 2592(%r8), %ymm8, %ymm8 6455vpaddw %ymm11, %ymm8, %ymm8 6456vmovdqa %xmm10, 2592(%r8) 6457vpand mask_mod8192(%rip), %ymm5, %ymm5 6458vmovdqu %ymm5, 120(%rdi) 6459vpand mask_mod8192(%rip), %ymm6, %ymm6 6460vmovdqu %ymm6, 472(%rdi) 6461vpand mask_mod8192(%rip), %ymm8, %ymm8 6462vmovdqu %ymm8, 824(%rdi) 6463vpand mask_mod8192(%rip), %ymm3, %ymm3 6464vmovdqu %ymm3, 1176(%rdi) 6465vmovdqa 64(%r8), %ymm11 6466vpunpcklwd const0(%rip), %ymm11, %ymm9 6467vpunpckhwd const0(%rip), %ymm11, %ymm2 6468vpslld $1, %ymm9, %ymm9 6469vpslld $1, %ymm2, %ymm2 6470vmovdqa 320(%r8), %ymm3 6471vpunpcklwd const0(%rip), %ymm3, %ymm8 6472vpunpckhwd const0(%rip), %ymm3, %ymm3 6473vmovdqa 576(%r8), %ymm6 6474vpunpcklwd const0(%rip), %ymm6, %ymm5 6475vpunpckhwd const0(%rip), %ymm6, %ymm6 6476vpaddd %ymm5, %ymm8, %ymm10 6477vpaddd %ymm6, %ymm3, %ymm4 6478vpsubd %ymm9, %ymm10, %ymm10 6479vpsubd %ymm2, %ymm4, %ymm4 6480vpsubd %ymm5, %ymm8, %ymm5 6481vpsubd %ymm6, %ymm3, %ymm6 6482vpsrld $1, %ymm5, %ymm5 6483vpsrld $1, %ymm6, %ymm6 6484vpand mask32_to_16(%rip), %ymm5, %ymm5 6485vpand mask32_to_16(%rip), %ymm6, %ymm6 6486vpackusdw %ymm6, %ymm5, %ymm6 6487vmovdqa 1600(%r8), %ymm5 6488vpunpcklwd const0(%rip), %ymm5, %ymm3 6489vpunpckhwd const0(%rip), %ymm5, %ymm8 6490vpslld $1, %ymm3, %ymm3 6491vpslld $1, %ymm8, %ymm8 6492vpsubd %ymm3, %ymm10, %ymm10 6493vpsubd %ymm8, %ymm4, %ymm4 6494vpsrld $1, %ymm10, %ymm10 6495vpsrld $1, %ymm4, %ymm4 6496vpand mask32_to_16(%rip), %ymm10, %ymm10 6497vpand mask32_to_16(%rip), %ymm4, %ymm4 6498vpackusdw %ymm4, %ymm10, %ymm4 6499vmovdqa 832(%r8), %ymm10 6500vpaddw 1088(%r8), %ymm10, %ymm8 6501vpsubw 1088(%r8), %ymm10, %ymm10 6502vpsrlw $2, %ymm10, %ymm10 6503vpsubw %ymm6, %ymm10, %ymm10 6504vpmullw %ymm14, %ymm10, %ymm10 6505vpsllw $1, %ymm11, %ymm3 6506vpsubw %ymm3, %ymm8, %ymm3 6507vpsllw $7, %ymm5, %ymm8 6508vpsubw %ymm8, %ymm3, %ymm8 6509vpsrlw $3, %ymm8, %ymm8 6510vpsubw %ymm4, %ymm8, %ymm8 6511vmovdqa 1344(%r8), %ymm3 6512vpsubw %ymm11, %ymm3, %ymm3 6513vpmullw %ymm15, %ymm5, %ymm2 6514vpsubw %ymm2, %ymm3, %ymm2 6515vpmullw %ymm14, %ymm8, %ymm8 6516vpsubw %ymm8, %ymm4, %ymm4 6517vpmullw %ymm12, %ymm8, %ymm3 6518vpaddw %ymm3, %ymm4, %ymm3 6519vpmullw %ymm12, %ymm3, %ymm3 6520vpsubw %ymm3, %ymm2, %ymm3 6521vpmullw %ymm14, %ymm3, %ymm3 6522vpsubw %ymm6, %ymm3, %ymm3 6523vpsrlw $3, %ymm3, %ymm3 6524vpsubw %ymm10, %ymm3, %ymm3 6525vpsubw %ymm3, %ymm10, %ymm10 6526vpsubw %ymm10, %ymm6, %ymm6 6527vpmullw %ymm13, %ymm3, %ymm3 6528vpsubw %ymm3, %ymm6, %ymm6 6529vpshufb shuf48_16(%rip), %ymm8, %ymm8 6530vpand mask3_5_3_5(%rip), %ymm8, %ymm2 6531vpand mask5_3_5_3(%rip), %ymm8, %ymm8 6532vpermq $206, %ymm2, %ymm2 6533vpand mask_keephigh(%rip), %ymm2, %ymm9 6534vpor %ymm9, %ymm8, %ymm8 6535vpaddw 2112(%r8), %ymm11, %ymm11 6536vpaddw %ymm8, %ymm11, %ymm11 6537vmovdqa %xmm2, 2112(%r8) 6538vpshufb shuf48_16(%rip), %ymm3, %ymm3 6539vpand mask3_5_3_5(%rip), %ymm3, %ymm2 6540vpand mask5_3_5_3(%rip), %ymm3, %ymm3 6541vpermq $206, %ymm2, %ymm2 6542vpand mask_keephigh(%rip), %ymm2, %ymm9 6543vpor %ymm9, %ymm3, %ymm3 6544vpaddw 2368(%r8), %ymm6, %ymm6 6545vpaddw %ymm3, %ymm6, %ymm6 6546vmovdqa %xmm2, 2368(%r8) 6547vpshufb shuf48_16(%rip), %ymm5, %ymm5 6548vpand mask3_5_3_5(%rip), %ymm5, %ymm2 6549vpand mask5_3_5_3(%rip), %ymm5, %ymm5 6550vpermq $206, %ymm2, %ymm2 6551vpand mask_keephigh(%rip), %ymm2, %ymm9 6552vpor %ymm9, %ymm5, %ymm5 6553vpaddw 2624(%r8), %ymm4, %ymm4 6554vpaddw %ymm5, %ymm4, %ymm4 6555vmovdqa %xmm2, 2624(%r8) 6556vpand mask_mod8192(%rip), %ymm11, %ymm11 6557vmovdqu %ymm11, 208(%rdi) 6558vpand mask_mod8192(%rip), %ymm6, %ymm6 6559vmovdqu %ymm6, 560(%rdi) 6560vpand mask_mod8192(%rip), %ymm4, %ymm4 6561vmovdqu %ymm4, 912(%rdi) 6562vpand mask_mod8192(%rip), %ymm10, %ymm10 6563vmovdqu %ymm10, 1264(%rdi) 6564vmovdqa 96(%r8), %ymm5 6565vpunpcklwd const0(%rip), %ymm5, %ymm3 6566vpunpckhwd const0(%rip), %ymm5, %ymm8 6567vpslld $1, %ymm3, %ymm3 6568vpslld $1, %ymm8, %ymm8 6569vmovdqa 352(%r8), %ymm10 6570vpunpcklwd const0(%rip), %ymm10, %ymm4 6571vpunpckhwd const0(%rip), %ymm10, %ymm10 6572vmovdqa 608(%r8), %ymm6 6573vpunpcklwd const0(%rip), %ymm6, %ymm11 6574vpunpckhwd const0(%rip), %ymm6, %ymm6 6575vpaddd %ymm11, %ymm4, %ymm2 6576vpaddd %ymm6, %ymm10, %ymm9 6577vpsubd %ymm3, %ymm2, %ymm2 6578vpsubd %ymm8, %ymm9, %ymm9 6579vpsubd %ymm11, %ymm4, %ymm11 6580vpsubd %ymm6, %ymm10, %ymm6 6581vpsrld $1, %ymm11, %ymm11 6582vpsrld $1, %ymm6, %ymm6 6583vpand mask32_to_16(%rip), %ymm11, %ymm11 6584vpand mask32_to_16(%rip), %ymm6, %ymm6 6585vpackusdw %ymm6, %ymm11, %ymm6 6586vmovdqa 1632(%r8), %ymm11 6587vpunpcklwd const0(%rip), %ymm11, %ymm10 6588vpunpckhwd const0(%rip), %ymm11, %ymm4 6589vpslld $1, %ymm10, %ymm10 6590vpslld $1, %ymm4, %ymm4 6591vpsubd %ymm10, %ymm2, %ymm2 6592vpsubd %ymm4, %ymm9, %ymm9 6593vpsrld $1, %ymm2, %ymm2 6594vpsrld $1, %ymm9, %ymm9 6595vpand mask32_to_16(%rip), %ymm2, %ymm2 6596vpand mask32_to_16(%rip), %ymm9, %ymm9 6597vpackusdw %ymm9, %ymm2, %ymm9 6598vmovdqa 864(%r8), %ymm2 6599vpaddw 1120(%r8), %ymm2, %ymm4 6600vpsubw 1120(%r8), %ymm2, %ymm2 6601vpsrlw $2, %ymm2, %ymm2 6602vpsubw %ymm6, %ymm2, %ymm2 6603vpmullw %ymm14, %ymm2, %ymm2 6604vpsllw $1, %ymm5, %ymm10 6605vpsubw %ymm10, %ymm4, %ymm10 6606vpsllw $7, %ymm11, %ymm4 6607vpsubw %ymm4, %ymm10, %ymm4 6608vpsrlw $3, %ymm4, %ymm4 6609vpsubw %ymm9, %ymm4, %ymm4 6610vmovdqa 1376(%r8), %ymm10 6611vpsubw %ymm5, %ymm10, %ymm10 6612vpmullw %ymm15, %ymm11, %ymm8 6613vpsubw %ymm8, %ymm10, %ymm8 6614vpmullw %ymm14, %ymm4, %ymm4 6615vpsubw %ymm4, %ymm9, %ymm9 6616vpmullw %ymm12, %ymm4, %ymm10 6617vpaddw %ymm10, %ymm9, %ymm10 6618vpmullw %ymm12, %ymm10, %ymm10 6619vpsubw %ymm10, %ymm8, %ymm10 6620vpmullw %ymm14, %ymm10, %ymm10 6621vpsubw %ymm6, %ymm10, %ymm10 6622vpsrlw $3, %ymm10, %ymm10 6623vpsubw %ymm2, %ymm10, %ymm10 6624vpsubw %ymm10, %ymm2, %ymm2 6625vpsubw %ymm2, %ymm6, %ymm6 6626vpmullw %ymm13, %ymm10, %ymm10 6627vpsubw %ymm10, %ymm6, %ymm6 6628vpshufb shuf48_16(%rip), %ymm4, %ymm4 6629vpand mask3_5_3_5(%rip), %ymm4, %ymm8 6630vpand mask5_3_5_3(%rip), %ymm4, %ymm4 6631vpermq $206, %ymm8, %ymm8 6632vpand mask_keephigh(%rip), %ymm8, %ymm3 6633vpor %ymm3, %ymm4, %ymm4 6634vpaddw 2144(%r8), %ymm5, %ymm5 6635vpaddw %ymm4, %ymm5, %ymm5 6636vmovdqa %xmm8, 2144(%r8) 6637vpshufb shuf48_16(%rip), %ymm10, %ymm10 6638vpand mask3_5_3_5(%rip), %ymm10, %ymm8 6639vpand mask5_3_5_3(%rip), %ymm10, %ymm10 6640vpermq $206, %ymm8, %ymm8 6641vpand mask_keephigh(%rip), %ymm8, %ymm3 6642vpor %ymm3, %ymm10, %ymm10 6643vpaddw 2400(%r8), %ymm6, %ymm6 6644vpaddw %ymm10, %ymm6, %ymm6 6645vmovdqa %xmm8, 2400(%r8) 6646vpshufb shuf48_16(%rip), %ymm11, %ymm11 6647vpand mask3_5_3_5(%rip), %ymm11, %ymm8 6648vpand mask5_3_5_3(%rip), %ymm11, %ymm11 6649vpermq $206, %ymm8, %ymm8 6650vpand mask_keephigh(%rip), %ymm8, %ymm3 6651vpor %ymm3, %ymm11, %ymm11 6652vpaddw 2656(%r8), %ymm9, %ymm9 6653vpaddw %ymm11, %ymm9, %ymm9 6654vmovdqa %xmm8, 2656(%r8) 6655vpand mask_mod8192(%rip), %ymm5, %ymm5 6656vmovdqu %ymm5, 296(%rdi) 6657vpand mask_mod8192(%rip), %ymm6, %ymm6 6658vmovdqu %ymm6, 648(%rdi) 6659vpand mask_mod8192(%rip), %ymm9, %ymm9 6660vmovdqu %ymm9, 1000(%rdi) 6661vpand mask_mod8192(%rip), %ymm2, %ymm2 6662vmovdqu %ymm2, 1352(%rdi) 6663vmovdqa 128(%r8), %ymm11 6664vpunpcklwd const0(%rip), %ymm11, %ymm10 6665vpunpckhwd const0(%rip), %ymm11, %ymm4 6666vpslld $1, %ymm10, %ymm10 6667vpslld $1, %ymm4, %ymm4 6668vmovdqa 384(%r8), %ymm2 6669vpunpcklwd const0(%rip), %ymm2, %ymm9 6670vpunpckhwd const0(%rip), %ymm2, %ymm2 6671vmovdqa 640(%r8), %ymm6 6672vpunpcklwd const0(%rip), %ymm6, %ymm5 6673vpunpckhwd const0(%rip), %ymm6, %ymm6 6674vpaddd %ymm5, %ymm9, %ymm8 6675vpaddd %ymm6, %ymm2, %ymm3 6676vpsubd %ymm10, %ymm8, %ymm8 6677vpsubd %ymm4, %ymm3, %ymm3 6678vpsubd %ymm5, %ymm9, %ymm5 6679vpsubd %ymm6, %ymm2, %ymm6 6680vpsrld $1, %ymm5, %ymm5 6681vpsrld $1, %ymm6, %ymm6 6682vpand mask32_to_16(%rip), %ymm5, %ymm5 6683vpand mask32_to_16(%rip), %ymm6, %ymm6 6684vpackusdw %ymm6, %ymm5, %ymm6 6685vmovdqa 1664(%r8), %ymm5 6686vpunpcklwd const0(%rip), %ymm5, %ymm2 6687vpunpckhwd const0(%rip), %ymm5, %ymm9 6688vpslld $1, %ymm2, %ymm2 6689vpslld $1, %ymm9, %ymm9 6690vpsubd %ymm2, %ymm8, %ymm8 6691vpsubd %ymm9, %ymm3, %ymm3 6692vpsrld $1, %ymm8, %ymm8 6693vpsrld $1, %ymm3, %ymm3 6694vpand mask32_to_16(%rip), %ymm8, %ymm8 6695vpand mask32_to_16(%rip), %ymm3, %ymm3 6696vpackusdw %ymm3, %ymm8, %ymm3 6697vmovdqa 896(%r8), %ymm8 6698vpaddw 1152(%r8), %ymm8, %ymm9 6699vpsubw 1152(%r8), %ymm8, %ymm8 6700vpsrlw $2, %ymm8, %ymm8 6701vpsubw %ymm6, %ymm8, %ymm8 6702vpmullw %ymm14, %ymm8, %ymm8 6703vpsllw $1, %ymm11, %ymm2 6704vpsubw %ymm2, %ymm9, %ymm2 6705vpsllw $7, %ymm5, %ymm9 6706vpsubw %ymm9, %ymm2, %ymm9 6707vpsrlw $3, %ymm9, %ymm9 6708vpsubw %ymm3, %ymm9, %ymm9 6709vmovdqa 1408(%r8), %ymm2 6710vpsubw %ymm11, %ymm2, %ymm2 6711vpmullw %ymm15, %ymm5, %ymm4 6712vpsubw %ymm4, %ymm2, %ymm4 6713vpmullw %ymm14, %ymm9, %ymm9 6714vpsubw %ymm9, %ymm3, %ymm3 6715vpmullw %ymm12, %ymm9, %ymm2 6716vpaddw %ymm2, %ymm3, %ymm2 6717vpmullw %ymm12, %ymm2, %ymm2 6718vpsubw %ymm2, %ymm4, %ymm2 6719vpmullw %ymm14, %ymm2, %ymm2 6720vpsubw %ymm6, %ymm2, %ymm2 6721vpsrlw $3, %ymm2, %ymm2 6722vpsubw %ymm8, %ymm2, %ymm2 6723vpsubw %ymm2, %ymm8, %ymm8 6724vpsubw %ymm8, %ymm6, %ymm6 6725vpmullw %ymm13, %ymm2, %ymm2 6726vpsubw %ymm2, %ymm6, %ymm6 6727vmovdqu 384(%rdi), %ymm4 6728vmovdqu 736(%rdi), %ymm10 6729vmovdqu 1088(%rdi), %ymm7 6730vpaddw %ymm11, %ymm4, %ymm11 6731vpaddw %ymm6, %ymm10, %ymm6 6732vpaddw %ymm3, %ymm7, %ymm3 6733vpshufb shuf48_16(%rip), %ymm8, %ymm8 6734vpand mask3_5_3_5(%rip), %ymm8, %ymm7 6735vpand mask5_3_5_3(%rip), %ymm8, %ymm8 6736vpermq $206, %ymm7, %ymm7 6737vpand mask_keephigh(%rip), %ymm7, %ymm10 6738vpor %ymm10, %ymm8, %ymm8 6739vmovdqu 32(%rdi), %ymm10 6740vpaddw 1920(%r8), %ymm10, %ymm10 6741vpaddw %ymm8, %ymm10, %ymm10 6742vpand mask_mod8192(%rip), %ymm10, %ymm10 6743vmovdqu %ymm10, 32(%rdi) 6744vmovdqa %xmm7, 1920(%r8) 6745vpshufb shuf48_16(%rip), %ymm9, %ymm9 6746vpand mask3_5_3_5(%rip), %ymm9, %ymm7 6747vpand mask5_3_5_3(%rip), %ymm9, %ymm9 6748vpermq $206, %ymm7, %ymm7 6749vpand mask_keephigh(%rip), %ymm7, %ymm10 6750vpor %ymm10, %ymm9, %ymm9 6751vpaddw 2176(%r8), %ymm11, %ymm11 6752vpaddw %ymm9, %ymm11, %ymm11 6753vmovdqa %xmm7, 2176(%r8) 6754vpshufb shuf48_16(%rip), %ymm2, %ymm2 6755vpand mask3_5_3_5(%rip), %ymm2, %ymm7 6756vpand mask5_3_5_3(%rip), %ymm2, %ymm2 6757vpermq $206, %ymm7, %ymm7 6758vpand mask_keephigh(%rip), %ymm7, %ymm10 6759vpor %ymm10, %ymm2, %ymm2 6760vpaddw 2432(%r8), %ymm6, %ymm6 6761vpaddw %ymm2, %ymm6, %ymm6 6762vmovdqa %xmm7, 2432(%r8) 6763vpshufb shuf48_16(%rip), %ymm5, %ymm5 6764vpand mask3_5_3_5(%rip), %ymm5, %ymm7 6765vpand mask5_3_5_3(%rip), %ymm5, %ymm5 6766vpermq $206, %ymm7, %ymm7 6767vpand mask_keephigh(%rip), %ymm7, %ymm10 6768vpor %ymm10, %ymm5, %ymm5 6769vpaddw 2688(%r8), %ymm3, %ymm3 6770vpaddw %ymm5, %ymm3, %ymm3 6771vmovdqa %xmm7, 2688(%r8) 6772vpand mask_mod8192(%rip), %ymm11, %ymm11 6773vmovdqu %ymm11, 384(%rdi) 6774vpand mask_mod8192(%rip), %ymm6, %ymm6 6775vmovdqu %ymm6, 736(%rdi) 6776vpand mask_mod8192(%rip), %ymm3, %ymm3 6777vmovdqu %ymm3, 1088(%rdi) 6778vmovdqa 160(%r8), %ymm5 6779vpunpcklwd const0(%rip), %ymm5, %ymm2 6780vpunpckhwd const0(%rip), %ymm5, %ymm9 6781vpslld $1, %ymm2, %ymm2 6782vpslld $1, %ymm9, %ymm9 6783vmovdqa 416(%r8), %ymm8 6784vpunpcklwd const0(%rip), %ymm8, %ymm3 6785vpunpckhwd const0(%rip), %ymm8, %ymm8 6786vmovdqa 672(%r8), %ymm6 6787vpunpcklwd const0(%rip), %ymm6, %ymm11 6788vpunpckhwd const0(%rip), %ymm6, %ymm6 6789vpaddd %ymm11, %ymm3, %ymm7 6790vpaddd %ymm6, %ymm8, %ymm10 6791vpsubd %ymm2, %ymm7, %ymm7 6792vpsubd %ymm9, %ymm10, %ymm10 6793vpsubd %ymm11, %ymm3, %ymm11 6794vpsubd %ymm6, %ymm8, %ymm6 6795vpsrld $1, %ymm11, %ymm11 6796vpsrld $1, %ymm6, %ymm6 6797vpand mask32_to_16(%rip), %ymm11, %ymm11 6798vpand mask32_to_16(%rip), %ymm6, %ymm6 6799vpackusdw %ymm6, %ymm11, %ymm6 6800vmovdqa 1696(%r8), %ymm11 6801vpunpcklwd const0(%rip), %ymm11, %ymm8 6802vpunpckhwd const0(%rip), %ymm11, %ymm3 6803vpslld $1, %ymm8, %ymm8 6804vpslld $1, %ymm3, %ymm3 6805vpsubd %ymm8, %ymm7, %ymm7 6806vpsubd %ymm3, %ymm10, %ymm10 6807vpsrld $1, %ymm7, %ymm7 6808vpsrld $1, %ymm10, %ymm10 6809vpand mask32_to_16(%rip), %ymm7, %ymm7 6810vpand mask32_to_16(%rip), %ymm10, %ymm10 6811vpackusdw %ymm10, %ymm7, %ymm10 6812vmovdqa 928(%r8), %ymm7 6813vpaddw 1184(%r8), %ymm7, %ymm3 6814vpsubw 1184(%r8), %ymm7, %ymm7 6815vpsrlw $2, %ymm7, %ymm7 6816vpsubw %ymm6, %ymm7, %ymm7 6817vpmullw %ymm14, %ymm7, %ymm7 6818vpsllw $1, %ymm5, %ymm8 6819vpsubw %ymm8, %ymm3, %ymm8 6820vpsllw $7, %ymm11, %ymm3 6821vpsubw %ymm3, %ymm8, %ymm3 6822vpsrlw $3, %ymm3, %ymm3 6823vpsubw %ymm10, %ymm3, %ymm3 6824vmovdqa 1440(%r8), %ymm8 6825vpsubw %ymm5, %ymm8, %ymm8 6826vpmullw %ymm15, %ymm11, %ymm9 6827vpsubw %ymm9, %ymm8, %ymm9 6828vpmullw %ymm14, %ymm3, %ymm3 6829vpsubw %ymm3, %ymm10, %ymm10 6830vpmullw %ymm12, %ymm3, %ymm8 6831vpaddw %ymm8, %ymm10, %ymm8 6832vpmullw %ymm12, %ymm8, %ymm8 6833vpsubw %ymm8, %ymm9, %ymm8 6834vpmullw %ymm14, %ymm8, %ymm8 6835vpsubw %ymm6, %ymm8, %ymm8 6836vpsrlw $3, %ymm8, %ymm8 6837vpsubw %ymm7, %ymm8, %ymm8 6838vpsubw %ymm8, %ymm7, %ymm7 6839vpsubw %ymm7, %ymm6, %ymm6 6840vpmullw %ymm13, %ymm8, %ymm8 6841vpsubw %ymm8, %ymm6, %ymm6 6842vmovdqu 472(%rdi), %ymm9 6843vmovdqu 824(%rdi), %ymm2 6844vmovdqu 1176(%rdi), %ymm4 6845vpaddw %ymm5, %ymm9, %ymm5 6846vpaddw %ymm6, %ymm2, %ymm6 6847vpaddw %ymm10, %ymm4, %ymm10 6848vpshufb shuf48_16(%rip), %ymm7, %ymm7 6849vpand mask3_5_3_5(%rip), %ymm7, %ymm4 6850vpand mask5_3_5_3(%rip), %ymm7, %ymm7 6851vpermq $206, %ymm4, %ymm4 6852vpand mask_keephigh(%rip), %ymm4, %ymm2 6853vpor %ymm2, %ymm7, %ymm7 6854vmovdqu 120(%rdi), %ymm2 6855vpaddw 1952(%r8), %ymm2, %ymm2 6856vpaddw %ymm7, %ymm2, %ymm2 6857vpand mask_mod8192(%rip), %ymm2, %ymm2 6858vmovdqu %ymm2, 120(%rdi) 6859vmovdqa %xmm4, 1952(%r8) 6860vpshufb shuf48_16(%rip), %ymm3, %ymm3 6861vpand mask3_5_3_5(%rip), %ymm3, %ymm4 6862vpand mask5_3_5_3(%rip), %ymm3, %ymm3 6863vpermq $206, %ymm4, %ymm4 6864vpand mask_keephigh(%rip), %ymm4, %ymm2 6865vpor %ymm2, %ymm3, %ymm3 6866vpaddw 2208(%r8), %ymm5, %ymm5 6867vpaddw %ymm3, %ymm5, %ymm5 6868vmovdqa %xmm4, 2208(%r8) 6869vpshufb shuf48_16(%rip), %ymm8, %ymm8 6870vpand mask3_5_3_5(%rip), %ymm8, %ymm4 6871vpand mask5_3_5_3(%rip), %ymm8, %ymm8 6872vpermq $206, %ymm4, %ymm4 6873vpand mask_keephigh(%rip), %ymm4, %ymm2 6874vpor %ymm2, %ymm8, %ymm8 6875vpaddw 2464(%r8), %ymm6, %ymm6 6876vpaddw %ymm8, %ymm6, %ymm6 6877vmovdqa %xmm4, 2464(%r8) 6878vpshufb shuf48_16(%rip), %ymm11, %ymm11 6879vpand mask3_5_3_5(%rip), %ymm11, %ymm4 6880vpand mask5_3_5_3(%rip), %ymm11, %ymm11 6881vpermq $206, %ymm4, %ymm4 6882vpand mask_keephigh(%rip), %ymm4, %ymm2 6883vpor %ymm2, %ymm11, %ymm11 6884vpaddw 2720(%r8), %ymm10, %ymm10 6885vpaddw %ymm11, %ymm10, %ymm10 6886vmovdqa %xmm4, 2720(%r8) 6887vpand mask_mod8192(%rip), %ymm5, %ymm5 6888vmovdqu %ymm5, 472(%rdi) 6889vpand mask_mod8192(%rip), %ymm6, %ymm6 6890vmovdqu %ymm6, 824(%rdi) 6891vpand mask_mod8192(%rip), %ymm10, %ymm10 6892vmovdqu %ymm10, 1176(%rdi) 6893vmovdqa 192(%r8), %ymm11 6894vpunpcklwd const0(%rip), %ymm11, %ymm8 6895vpunpckhwd const0(%rip), %ymm11, %ymm3 6896vpslld $1, %ymm8, %ymm8 6897vpslld $1, %ymm3, %ymm3 6898vmovdqa 448(%r8), %ymm7 6899vpunpcklwd const0(%rip), %ymm7, %ymm10 6900vpunpckhwd const0(%rip), %ymm7, %ymm7 6901vmovdqa 704(%r8), %ymm6 6902vpunpcklwd const0(%rip), %ymm6, %ymm5 6903vpunpckhwd const0(%rip), %ymm6, %ymm6 6904vpaddd %ymm5, %ymm10, %ymm4 6905vpaddd %ymm6, %ymm7, %ymm2 6906vpsubd %ymm8, %ymm4, %ymm4 6907vpsubd %ymm3, %ymm2, %ymm2 6908vpsubd %ymm5, %ymm10, %ymm5 6909vpsubd %ymm6, %ymm7, %ymm6 6910vpsrld $1, %ymm5, %ymm5 6911vpsrld $1, %ymm6, %ymm6 6912vpand mask32_to_16(%rip), %ymm5, %ymm5 6913vpand mask32_to_16(%rip), %ymm6, %ymm6 6914vpackusdw %ymm6, %ymm5, %ymm6 6915vmovdqa 1728(%r8), %ymm5 6916vpunpcklwd const0(%rip), %ymm5, %ymm7 6917vpunpckhwd const0(%rip), %ymm5, %ymm10 6918vpslld $1, %ymm7, %ymm7 6919vpslld $1, %ymm10, %ymm10 6920vpsubd %ymm7, %ymm4, %ymm4 6921vpsubd %ymm10, %ymm2, %ymm2 6922vpsrld $1, %ymm4, %ymm4 6923vpsrld $1, %ymm2, %ymm2 6924vpand mask32_to_16(%rip), %ymm4, %ymm4 6925vpand mask32_to_16(%rip), %ymm2, %ymm2 6926vpackusdw %ymm2, %ymm4, %ymm2 6927vmovdqa 960(%r8), %ymm4 6928vpaddw 1216(%r8), %ymm4, %ymm10 6929vpsubw 1216(%r8), %ymm4, %ymm4 6930vpsrlw $2, %ymm4, %ymm4 6931vpsubw %ymm6, %ymm4, %ymm4 6932vpmullw %ymm14, %ymm4, %ymm4 6933vpsllw $1, %ymm11, %ymm7 6934vpsubw %ymm7, %ymm10, %ymm7 6935vpsllw $7, %ymm5, %ymm10 6936vpsubw %ymm10, %ymm7, %ymm10 6937vpsrlw $3, %ymm10, %ymm10 6938vpsubw %ymm2, %ymm10, %ymm10 6939vmovdqa 1472(%r8), %ymm7 6940vpsubw %ymm11, %ymm7, %ymm7 6941vpmullw %ymm15, %ymm5, %ymm3 6942vpsubw %ymm3, %ymm7, %ymm3 6943vpmullw %ymm14, %ymm10, %ymm10 6944vpsubw %ymm10, %ymm2, %ymm2 6945vpmullw %ymm12, %ymm10, %ymm7 6946vpaddw %ymm7, %ymm2, %ymm7 6947vpmullw %ymm12, %ymm7, %ymm7 6948vpsubw %ymm7, %ymm3, %ymm7 6949vpmullw %ymm14, %ymm7, %ymm7 6950vpsubw %ymm6, %ymm7, %ymm7 6951vpsrlw $3, %ymm7, %ymm7 6952vpsubw %ymm4, %ymm7, %ymm7 6953vpsubw %ymm7, %ymm4, %ymm4 6954vpsubw %ymm4, %ymm6, %ymm6 6955vpmullw %ymm13, %ymm7, %ymm7 6956vpsubw %ymm7, %ymm6, %ymm6 6957vmovdqu 560(%rdi), %ymm3 6958vmovdqu 912(%rdi), %ymm8 6959vmovdqu 1264(%rdi), %ymm9 6960vpaddw %ymm11, %ymm3, %ymm11 6961vpaddw %ymm6, %ymm8, %ymm6 6962vpaddw %ymm2, %ymm9, %ymm2 6963vpshufb shuf48_16(%rip), %ymm4, %ymm4 6964vpand mask3_5_3_5(%rip), %ymm4, %ymm9 6965vpand mask5_3_5_3(%rip), %ymm4, %ymm4 6966vpermq $206, %ymm9, %ymm9 6967vpand mask_keephigh(%rip), %ymm9, %ymm8 6968vpor %ymm8, %ymm4, %ymm4 6969vmovdqu 208(%rdi), %ymm8 6970vpaddw 1984(%r8), %ymm8, %ymm8 6971vpaddw %ymm4, %ymm8, %ymm8 6972vpand mask_mod8192(%rip), %ymm8, %ymm8 6973vmovdqu %ymm8, 208(%rdi) 6974vmovdqa %xmm9, 1984(%r8) 6975vpshufb shuf48_16(%rip), %ymm10, %ymm10 6976vpand mask3_5_3_5(%rip), %ymm10, %ymm9 6977vpand mask5_3_5_3(%rip), %ymm10, %ymm10 6978vpermq $206, %ymm9, %ymm9 6979vpand mask_keephigh(%rip), %ymm9, %ymm8 6980vpor %ymm8, %ymm10, %ymm10 6981vpaddw 2240(%r8), %ymm11, %ymm11 6982vpaddw %ymm10, %ymm11, %ymm11 6983vmovdqa %xmm9, 2240(%r8) 6984vpshufb shuf48_16(%rip), %ymm7, %ymm7 6985vpand mask3_5_3_5(%rip), %ymm7, %ymm9 6986vpand mask5_3_5_3(%rip), %ymm7, %ymm7 6987vpermq $206, %ymm9, %ymm9 6988vpand mask_keephigh(%rip), %ymm9, %ymm8 6989vpor %ymm8, %ymm7, %ymm7 6990vpaddw 2496(%r8), %ymm6, %ymm6 6991vpaddw %ymm7, %ymm6, %ymm6 6992vmovdqa %xmm9, 2496(%r8) 6993vpshufb shuf48_16(%rip), %ymm5, %ymm5 6994vpand mask3_5_3_5(%rip), %ymm5, %ymm9 6995vpand mask5_3_5_3(%rip), %ymm5, %ymm5 6996vpermq $206, %ymm9, %ymm9 6997vpand mask_keephigh(%rip), %ymm9, %ymm8 6998vpor %ymm8, %ymm5, %ymm5 6999vpaddw 2752(%r8), %ymm2, %ymm2 7000vpaddw %ymm5, %ymm2, %ymm2 7001vmovdqa %xmm9, 2752(%r8) 7002vpand mask_mod8192(%rip), %ymm11, %ymm11 7003vmovdqu %ymm11, 560(%rdi) 7004vpand mask_mod8192(%rip), %ymm6, %ymm6 7005vmovdqu %ymm6, 912(%rdi) 7006vpand mask_mod8192(%rip), %ymm2, %ymm2 7007vmovdqu %ymm2, 1264(%rdi) 7008vmovdqa 224(%r8), %ymm5 7009vpunpcklwd const0(%rip), %ymm5, %ymm7 7010vpunpckhwd const0(%rip), %ymm5, %ymm10 7011vpslld $1, %ymm7, %ymm7 7012vpslld $1, %ymm10, %ymm10 7013vmovdqa 480(%r8), %ymm4 7014vpunpcklwd const0(%rip), %ymm4, %ymm2 7015vpunpckhwd const0(%rip), %ymm4, %ymm4 7016vmovdqa 736(%r8), %ymm6 7017vpunpcklwd const0(%rip), %ymm6, %ymm11 7018vpunpckhwd const0(%rip), %ymm6, %ymm6 7019vpaddd %ymm11, %ymm2, %ymm9 7020vpaddd %ymm6, %ymm4, %ymm8 7021vpsubd %ymm7, %ymm9, %ymm9 7022vpsubd %ymm10, %ymm8, %ymm8 7023vpsubd %ymm11, %ymm2, %ymm11 7024vpsubd %ymm6, %ymm4, %ymm6 7025vpsrld $1, %ymm11, %ymm11 7026vpsrld $1, %ymm6, %ymm6 7027vpand mask32_to_16(%rip), %ymm11, %ymm11 7028vpand mask32_to_16(%rip), %ymm6, %ymm6 7029vpackusdw %ymm6, %ymm11, %ymm6 7030vmovdqa 1760(%r8), %ymm11 7031vpunpcklwd const0(%rip), %ymm11, %ymm4 7032vpunpckhwd const0(%rip), %ymm11, %ymm2 7033vpslld $1, %ymm4, %ymm4 7034vpslld $1, %ymm2, %ymm2 7035vpsubd %ymm4, %ymm9, %ymm9 7036vpsubd %ymm2, %ymm8, %ymm8 7037vpsrld $1, %ymm9, %ymm9 7038vpsrld $1, %ymm8, %ymm8 7039vpand mask32_to_16(%rip), %ymm9, %ymm9 7040vpand mask32_to_16(%rip), %ymm8, %ymm8 7041vpackusdw %ymm8, %ymm9, %ymm8 7042vmovdqa 992(%r8), %ymm9 7043vpaddw 1248(%r8), %ymm9, %ymm2 7044vpsubw 1248(%r8), %ymm9, %ymm9 7045vpsrlw $2, %ymm9, %ymm9 7046vpsubw %ymm6, %ymm9, %ymm9 7047vpmullw %ymm14, %ymm9, %ymm9 7048vpsllw $1, %ymm5, %ymm4 7049vpsubw %ymm4, %ymm2, %ymm4 7050vpsllw $7, %ymm11, %ymm2 7051vpsubw %ymm2, %ymm4, %ymm2 7052vpsrlw $3, %ymm2, %ymm2 7053vpsubw %ymm8, %ymm2, %ymm2 7054vmovdqa 1504(%r8), %ymm4 7055vpsubw %ymm5, %ymm4, %ymm4 7056vpmullw %ymm15, %ymm11, %ymm10 7057vpsubw %ymm10, %ymm4, %ymm10 7058vpmullw %ymm14, %ymm2, %ymm2 7059vpsubw %ymm2, %ymm8, %ymm8 7060vpmullw %ymm12, %ymm2, %ymm4 7061vpaddw %ymm4, %ymm8, %ymm4 7062vpmullw %ymm12, %ymm4, %ymm4 7063vpsubw %ymm4, %ymm10, %ymm4 7064vpmullw %ymm14, %ymm4, %ymm4 7065vpsubw %ymm6, %ymm4, %ymm4 7066vpsrlw $3, %ymm4, %ymm4 7067vpsubw %ymm9, %ymm4, %ymm4 7068vpsubw %ymm4, %ymm9, %ymm9 7069vpsubw %ymm9, %ymm6, %ymm6 7070vpmullw %ymm13, %ymm4, %ymm4 7071vpsubw %ymm4, %ymm6, %ymm6 7072vmovdqu 648(%rdi), %ymm10 7073vmovdqu 1000(%rdi), %ymm7 7074vmovdqu 1352(%rdi), %ymm3 7075vpaddw %ymm5, %ymm10, %ymm5 7076vpaddw %ymm6, %ymm7, %ymm6 7077vpaddw %ymm8, %ymm3, %ymm8 7078vpshufb shuf48_16(%rip), %ymm9, %ymm9 7079vpand mask3_5_3_5(%rip), %ymm9, %ymm3 7080vpand mask5_3_5_3(%rip), %ymm9, %ymm9 7081vpermq $206, %ymm3, %ymm3 7082vpand mask_keephigh(%rip), %ymm3, %ymm7 7083vpor %ymm7, %ymm9, %ymm9 7084vmovdqu 296(%rdi), %ymm7 7085vpaddw 2016(%r8), %ymm7, %ymm7 7086vpaddw %ymm9, %ymm7, %ymm7 7087vpand mask_mod8192(%rip), %ymm7, %ymm7 7088vmovdqu %ymm7, 296(%rdi) 7089vmovdqa %xmm3, 2016(%r8) 7090vpshufb shuf48_16(%rip), %ymm2, %ymm2 7091vpand mask3_5_3_5(%rip), %ymm2, %ymm3 7092vpand mask5_3_5_3(%rip), %ymm2, %ymm2 7093vpermq $206, %ymm3, %ymm3 7094vpand mask_keephigh(%rip), %ymm3, %ymm7 7095vpor %ymm7, %ymm2, %ymm2 7096vpaddw 2272(%r8), %ymm5, %ymm5 7097vpaddw %ymm2, %ymm5, %ymm5 7098vmovdqa %xmm3, 2272(%r8) 7099vpshufb shuf48_16(%rip), %ymm4, %ymm4 7100vpand mask3_5_3_5(%rip), %ymm4, %ymm3 7101vpand mask5_3_5_3(%rip), %ymm4, %ymm4 7102vpermq $206, %ymm3, %ymm3 7103vpand mask_keephigh(%rip), %ymm3, %ymm7 7104vpor %ymm7, %ymm4, %ymm4 7105vpaddw 2528(%r8), %ymm6, %ymm6 7106vpaddw %ymm4, %ymm6, %ymm6 7107vmovdqa %xmm3, 2528(%r8) 7108vpshufb shuf48_16(%rip), %ymm11, %ymm11 7109vpand mask3_5_3_5(%rip), %ymm11, %ymm3 7110vpand mask5_3_5_3(%rip), %ymm11, %ymm11 7111vpermq $206, %ymm3, %ymm3 7112vpand mask_keephigh(%rip), %ymm3, %ymm7 7113vpor %ymm7, %ymm11, %ymm11 7114vpaddw 2784(%r8), %ymm8, %ymm8 7115vpaddw %ymm11, %ymm8, %ymm8 7116vmovdqa %xmm3, 2784(%r8) 7117vpand mask_mod8192(%rip), %ymm5, %ymm5 7118vmovdqu %ymm5, 648(%rdi) 7119vpand mask_mod8192(%rip), %ymm6, %ymm6 7120vmovdqu %ymm6, 1000(%rdi) 7121vpand mask_mod8192(%rip), %ymm8, %ymm8 7122vmovdqu %ymm8, 1352(%rdi) 7123vmovdqa 160(%r12), %ymm0 7124vpsubw 256(%r12), %ymm0, %ymm0 7125vmovdqa 544(%r12), %ymm1 7126vpsubw %ymm0, %ymm1, %ymm1 7127vpsubw 352(%r12), %ymm1, %ymm1 7128vpsubw 64(%r12), %ymm0, %ymm0 7129vpaddw 448(%r12), %ymm0, %ymm0 7130vmovdqa 736(%r12), %ymm2 7131vpsubw 832(%r12), %ymm2, %ymm2 7132vmovdqa 1120(%r12), %ymm3 7133vpsubw %ymm2, %ymm3, %ymm3 7134vpsubw 928(%r12), %ymm3, %ymm3 7135vpsubw 640(%r12), %ymm2, %ymm2 7136vpaddw 1024(%r12), %ymm2, %ymm2 7137vmovdqa 1312(%r12), %ymm4 7138vpsubw 1408(%r12), %ymm4, %ymm4 7139vmovdqa 1696(%r12), %ymm5 7140vpsubw %ymm4, %ymm5, %ymm5 7141vpsubw 1504(%r12), %ymm5, %ymm5 7142vpsubw 1216(%r12), %ymm4, %ymm4 7143vpaddw 1600(%r12), %ymm4, %ymm4 7144vpsubw 640(%r12), %ymm1, %ymm1 7145vpsubw %ymm1, %ymm5, %ymm5 7146vpsubw %ymm3, %ymm5, %ymm5 7147vpsubw 64(%r12), %ymm1, %ymm1 7148vpaddw 1216(%r12), %ymm1, %ymm1 7149vmovdqa 352(%r12), %ymm6 7150vpsubw %ymm2, %ymm6, %ymm7 7151vmovdqa 1504(%r12), %ymm2 7152vpsubw %ymm7, %ymm2, %ymm2 7153vpsubw 928(%r12), %ymm2, %ymm2 7154vpsubw %ymm0, %ymm7, %ymm7 7155vpaddw %ymm4, %ymm7, %ymm7 7156vmovdqa 64(%r12), %ymm8 7157vmovdqa 928(%r12), %ymm9 7158vmovdqa %ymm8, 0(%r8) 7159vmovdqa %ymm0, 32(%r8) 7160vmovdqa %ymm1, 64(%r8) 7161vmovdqa %ymm7, 96(%r8) 7162vmovdqa %ymm5, 128(%r8) 7163vmovdqa %ymm2, 160(%r8) 7164vmovdqa %ymm3, 192(%r8) 7165vmovdqa %ymm9, 224(%r8) 7166vmovdqa 1888(%r12), %ymm0 7167vpsubw 1984(%r12), %ymm0, %ymm0 7168vmovdqa 2272(%r12), %ymm1 7169vpsubw %ymm0, %ymm1, %ymm1 7170vpsubw 2080(%r12), %ymm1, %ymm1 7171vpsubw 1792(%r12), %ymm0, %ymm0 7172vpaddw 2176(%r12), %ymm0, %ymm0 7173vmovdqa 2464(%r12), %ymm2 7174vpsubw 2560(%r12), %ymm2, %ymm2 7175vmovdqa 2848(%r12), %ymm3 7176vpsubw %ymm2, %ymm3, %ymm3 7177vpsubw 2656(%r12), %ymm3, %ymm3 7178vpsubw 2368(%r12), %ymm2, %ymm2 7179vpaddw 2752(%r12), %ymm2, %ymm2 7180vmovdqa 3040(%r12), %ymm4 7181vpsubw 3136(%r12), %ymm4, %ymm4 7182vmovdqa 3424(%r12), %ymm5 7183vpsubw %ymm4, %ymm5, %ymm5 7184vpsubw 3232(%r12), %ymm5, %ymm5 7185vpsubw 2944(%r12), %ymm4, %ymm4 7186vpaddw 3328(%r12), %ymm4, %ymm4 7187vpsubw 2368(%r12), %ymm1, %ymm1 7188vpsubw %ymm1, %ymm5, %ymm5 7189vpsubw %ymm3, %ymm5, %ymm5 7190vpsubw 1792(%r12), %ymm1, %ymm1 7191vpaddw 2944(%r12), %ymm1, %ymm1 7192vmovdqa 2080(%r12), %ymm6 7193vpsubw %ymm2, %ymm6, %ymm7 7194vmovdqa 3232(%r12), %ymm2 7195vpsubw %ymm7, %ymm2, %ymm2 7196vpsubw 2656(%r12), %ymm2, %ymm2 7197vpsubw %ymm0, %ymm7, %ymm7 7198vpaddw %ymm4, %ymm7, %ymm7 7199vmovdqa 1792(%r12), %ymm8 7200vmovdqa 2656(%r12), %ymm9 7201vmovdqa %ymm8, 256(%r8) 7202vmovdqa %ymm0, 288(%r8) 7203vmovdqa %ymm1, 320(%r8) 7204vmovdqa %ymm7, 352(%r8) 7205vmovdqa %ymm5, 384(%r8) 7206vmovdqa %ymm2, 416(%r8) 7207vmovdqa %ymm3, 448(%r8) 7208vmovdqa %ymm9, 480(%r8) 7209vmovdqa 3616(%r12), %ymm0 7210vpsubw 3712(%r12), %ymm0, %ymm0 7211vmovdqa 4000(%r12), %ymm1 7212vpsubw %ymm0, %ymm1, %ymm1 7213vpsubw 3808(%r12), %ymm1, %ymm1 7214vpsubw 3520(%r12), %ymm0, %ymm0 7215vpaddw 3904(%r12), %ymm0, %ymm0 7216vmovdqa 4192(%r12), %ymm2 7217vpsubw 4288(%r12), %ymm2, %ymm2 7218vmovdqa 4576(%r12), %ymm3 7219vpsubw %ymm2, %ymm3, %ymm3 7220vpsubw 4384(%r12), %ymm3, %ymm3 7221vpsubw 4096(%r12), %ymm2, %ymm2 7222vpaddw 4480(%r12), %ymm2, %ymm2 7223vmovdqa 4768(%r12), %ymm4 7224vpsubw 4864(%r12), %ymm4, %ymm4 7225vmovdqa 5152(%r12), %ymm5 7226vpsubw %ymm4, %ymm5, %ymm5 7227vpsubw 4960(%r12), %ymm5, %ymm5 7228vpsubw 4672(%r12), %ymm4, %ymm4 7229vpaddw 5056(%r12), %ymm4, %ymm4 7230vpsubw 4096(%r12), %ymm1, %ymm1 7231vpsubw %ymm1, %ymm5, %ymm5 7232vpsubw %ymm3, %ymm5, %ymm5 7233vpsubw 3520(%r12), %ymm1, %ymm1 7234vpaddw 4672(%r12), %ymm1, %ymm1 7235vmovdqa 3808(%r12), %ymm6 7236vpsubw %ymm2, %ymm6, %ymm7 7237vmovdqa 4960(%r12), %ymm2 7238vpsubw %ymm7, %ymm2, %ymm2 7239vpsubw 4384(%r12), %ymm2, %ymm2 7240vpsubw %ymm0, %ymm7, %ymm7 7241vpaddw %ymm4, %ymm7, %ymm7 7242vmovdqa 3520(%r12), %ymm8 7243vmovdqa 4384(%r12), %ymm9 7244vmovdqa %ymm8, 512(%r8) 7245vmovdqa %ymm0, 544(%r8) 7246vmovdqa %ymm1, 576(%r8) 7247vmovdqa %ymm7, 608(%r8) 7248vmovdqa %ymm5, 640(%r8) 7249vmovdqa %ymm2, 672(%r8) 7250vmovdqa %ymm3, 704(%r8) 7251vmovdqa %ymm9, 736(%r8) 7252vmovdqa 5344(%r12), %ymm0 7253vpsubw 5440(%r12), %ymm0, %ymm0 7254vmovdqa 5728(%r12), %ymm1 7255vpsubw %ymm0, %ymm1, %ymm1 7256vpsubw 5536(%r12), %ymm1, %ymm1 7257vpsubw 5248(%r12), %ymm0, %ymm0 7258vpaddw 5632(%r12), %ymm0, %ymm0 7259vmovdqa 5920(%r12), %ymm2 7260vpsubw 6016(%r12), %ymm2, %ymm2 7261vmovdqa 6304(%r12), %ymm3 7262vpsubw %ymm2, %ymm3, %ymm3 7263vpsubw 6112(%r12), %ymm3, %ymm3 7264vpsubw 5824(%r12), %ymm2, %ymm2 7265vpaddw 6208(%r12), %ymm2, %ymm2 7266vmovdqa 6496(%r12), %ymm4 7267vpsubw 6592(%r12), %ymm4, %ymm4 7268vmovdqa 6880(%r12), %ymm5 7269vpsubw %ymm4, %ymm5, %ymm5 7270vpsubw 6688(%r12), %ymm5, %ymm5 7271vpsubw 6400(%r12), %ymm4, %ymm4 7272vpaddw 6784(%r12), %ymm4, %ymm4 7273vpsubw 5824(%r12), %ymm1, %ymm1 7274vpsubw %ymm1, %ymm5, %ymm5 7275vpsubw %ymm3, %ymm5, %ymm5 7276vpsubw 5248(%r12), %ymm1, %ymm1 7277vpaddw 6400(%r12), %ymm1, %ymm1 7278vmovdqa 5536(%r12), %ymm6 7279vpsubw %ymm2, %ymm6, %ymm7 7280vmovdqa 6688(%r12), %ymm2 7281vpsubw %ymm7, %ymm2, %ymm2 7282vpsubw 6112(%r12), %ymm2, %ymm2 7283vpsubw %ymm0, %ymm7, %ymm7 7284vpaddw %ymm4, %ymm7, %ymm7 7285vmovdqa 5248(%r12), %ymm8 7286vmovdqa 6112(%r12), %ymm9 7287vmovdqa %ymm8, 768(%r8) 7288vmovdqa %ymm0, 800(%r8) 7289vmovdqa %ymm1, 832(%r8) 7290vmovdqa %ymm7, 864(%r8) 7291vmovdqa %ymm5, 896(%r8) 7292vmovdqa %ymm2, 928(%r8) 7293vmovdqa %ymm3, 960(%r8) 7294vmovdqa %ymm9, 992(%r8) 7295vmovdqa 7072(%r12), %ymm0 7296vpsubw 7168(%r12), %ymm0, %ymm0 7297vmovdqa 7456(%r12), %ymm1 7298vpsubw %ymm0, %ymm1, %ymm1 7299vpsubw 7264(%r12), %ymm1, %ymm1 7300vpsubw 6976(%r12), %ymm0, %ymm0 7301vpaddw 7360(%r12), %ymm0, %ymm0 7302vmovdqa 7648(%r12), %ymm2 7303vpsubw 7744(%r12), %ymm2, %ymm2 7304vmovdqa 8032(%r12), %ymm3 7305vpsubw %ymm2, %ymm3, %ymm3 7306vpsubw 7840(%r12), %ymm3, %ymm3 7307vpsubw 7552(%r12), %ymm2, %ymm2 7308vpaddw 7936(%r12), %ymm2, %ymm2 7309vmovdqa 8224(%r12), %ymm4 7310vpsubw 8320(%r12), %ymm4, %ymm4 7311vmovdqa 8608(%r12), %ymm5 7312vpsubw %ymm4, %ymm5, %ymm5 7313vpsubw 8416(%r12), %ymm5, %ymm5 7314vpsubw 8128(%r12), %ymm4, %ymm4 7315vpaddw 8512(%r12), %ymm4, %ymm4 7316vpsubw 7552(%r12), %ymm1, %ymm1 7317vpsubw %ymm1, %ymm5, %ymm5 7318vpsubw %ymm3, %ymm5, %ymm5 7319vpsubw 6976(%r12), %ymm1, %ymm1 7320vpaddw 8128(%r12), %ymm1, %ymm1 7321vmovdqa 7264(%r12), %ymm6 7322vpsubw %ymm2, %ymm6, %ymm7 7323vmovdqa 8416(%r12), %ymm2 7324vpsubw %ymm7, %ymm2, %ymm2 7325vpsubw 7840(%r12), %ymm2, %ymm2 7326vpsubw %ymm0, %ymm7, %ymm7 7327vpaddw %ymm4, %ymm7, %ymm7 7328vmovdqa 6976(%r12), %ymm8 7329vmovdqa 7840(%r12), %ymm9 7330vmovdqa %ymm8, 1024(%r8) 7331vmovdqa %ymm0, 1056(%r8) 7332vmovdqa %ymm1, 1088(%r8) 7333vmovdqa %ymm7, 1120(%r8) 7334vmovdqa %ymm5, 1152(%r8) 7335vmovdqa %ymm2, 1184(%r8) 7336vmovdqa %ymm3, 1216(%r8) 7337vmovdqa %ymm9, 1248(%r8) 7338vmovdqa 8800(%r12), %ymm0 7339vpsubw 8896(%r12), %ymm0, %ymm0 7340vmovdqa 9184(%r12), %ymm1 7341vpsubw %ymm0, %ymm1, %ymm1 7342vpsubw 8992(%r12), %ymm1, %ymm1 7343vpsubw 8704(%r12), %ymm0, %ymm0 7344vpaddw 9088(%r12), %ymm0, %ymm0 7345vmovdqa 9376(%r12), %ymm2 7346vpsubw 9472(%r12), %ymm2, %ymm2 7347vmovdqa 9760(%r12), %ymm3 7348vpsubw %ymm2, %ymm3, %ymm3 7349vpsubw 9568(%r12), %ymm3, %ymm3 7350vpsubw 9280(%r12), %ymm2, %ymm2 7351vpaddw 9664(%r12), %ymm2, %ymm2 7352vmovdqa 9952(%r12), %ymm4 7353vpsubw 10048(%r12), %ymm4, %ymm4 7354vmovdqa 10336(%r12), %ymm5 7355vpsubw %ymm4, %ymm5, %ymm5 7356vpsubw 10144(%r12), %ymm5, %ymm5 7357vpsubw 9856(%r12), %ymm4, %ymm4 7358vpaddw 10240(%r12), %ymm4, %ymm4 7359vpsubw 9280(%r12), %ymm1, %ymm1 7360vpsubw %ymm1, %ymm5, %ymm5 7361vpsubw %ymm3, %ymm5, %ymm5 7362vpsubw 8704(%r12), %ymm1, %ymm1 7363vpaddw 9856(%r12), %ymm1, %ymm1 7364vmovdqa 8992(%r12), %ymm6 7365vpsubw %ymm2, %ymm6, %ymm7 7366vmovdqa 10144(%r12), %ymm2 7367vpsubw %ymm7, %ymm2, %ymm2 7368vpsubw 9568(%r12), %ymm2, %ymm2 7369vpsubw %ymm0, %ymm7, %ymm7 7370vpaddw %ymm4, %ymm7, %ymm7 7371vmovdqa 8704(%r12), %ymm8 7372vmovdqa 9568(%r12), %ymm9 7373vmovdqa %ymm8, 1280(%r8) 7374vmovdqa %ymm0, 1312(%r8) 7375vmovdqa %ymm1, 1344(%r8) 7376vmovdqa %ymm7, 1376(%r8) 7377vmovdqa %ymm5, 1408(%r8) 7378vmovdqa %ymm2, 1440(%r8) 7379vmovdqa %ymm3, 1472(%r8) 7380vmovdqa %ymm9, 1504(%r8) 7381vmovdqa 10528(%r12), %ymm0 7382vpsubw 10624(%r12), %ymm0, %ymm0 7383vmovdqa 10912(%r12), %ymm1 7384vpsubw %ymm0, %ymm1, %ymm1 7385vpsubw 10720(%r12), %ymm1, %ymm1 7386vpsubw 10432(%r12), %ymm0, %ymm0 7387vpaddw 10816(%r12), %ymm0, %ymm0 7388vmovdqa 11104(%r12), %ymm2 7389vpsubw 11200(%r12), %ymm2, %ymm2 7390vmovdqa 11488(%r12), %ymm3 7391vpsubw %ymm2, %ymm3, %ymm3 7392vpsubw 11296(%r12), %ymm3, %ymm3 7393vpsubw 11008(%r12), %ymm2, %ymm2 7394vpaddw 11392(%r12), %ymm2, %ymm2 7395vmovdqa 11680(%r12), %ymm4 7396vpsubw 11776(%r12), %ymm4, %ymm4 7397vmovdqa 12064(%r12), %ymm5 7398vpsubw %ymm4, %ymm5, %ymm5 7399vpsubw 11872(%r12), %ymm5, %ymm5 7400vpsubw 11584(%r12), %ymm4, %ymm4 7401vpaddw 11968(%r12), %ymm4, %ymm4 7402vpsubw 11008(%r12), %ymm1, %ymm1 7403vpsubw %ymm1, %ymm5, %ymm5 7404vpsubw %ymm3, %ymm5, %ymm5 7405vpsubw 10432(%r12), %ymm1, %ymm1 7406vpaddw 11584(%r12), %ymm1, %ymm1 7407vmovdqa 10720(%r12), %ymm6 7408vpsubw %ymm2, %ymm6, %ymm7 7409vmovdqa 11872(%r12), %ymm2 7410vpsubw %ymm7, %ymm2, %ymm2 7411vpsubw 11296(%r12), %ymm2, %ymm2 7412vpsubw %ymm0, %ymm7, %ymm7 7413vpaddw %ymm4, %ymm7, %ymm7 7414vmovdqa 10432(%r12), %ymm8 7415vmovdqa 11296(%r12), %ymm9 7416vmovdqa %ymm8, 1536(%r8) 7417vmovdqa %ymm0, 1568(%r8) 7418vmovdqa %ymm1, 1600(%r8) 7419vmovdqa %ymm7, 1632(%r8) 7420vmovdqa %ymm5, 1664(%r8) 7421vmovdqa %ymm2, 1696(%r8) 7422vmovdqa %ymm3, 1728(%r8) 7423vmovdqa %ymm9, 1760(%r8) 7424vmovdqa 0(%r8), %ymm11 7425vpunpcklwd const0(%rip), %ymm11, %ymm4 7426vpunpckhwd const0(%rip), %ymm11, %ymm2 7427vpslld $1, %ymm4, %ymm4 7428vpslld $1, %ymm2, %ymm2 7429vmovdqa 256(%r8), %ymm9 7430vpunpcklwd const0(%rip), %ymm9, %ymm8 7431vpunpckhwd const0(%rip), %ymm9, %ymm9 7432vmovdqa 512(%r8), %ymm6 7433vpunpcklwd const0(%rip), %ymm6, %ymm5 7434vpunpckhwd const0(%rip), %ymm6, %ymm6 7435vpaddd %ymm5, %ymm8, %ymm3 7436vpaddd %ymm6, %ymm9, %ymm7 7437vpsubd %ymm4, %ymm3, %ymm3 7438vpsubd %ymm2, %ymm7, %ymm7 7439vpsubd %ymm5, %ymm8, %ymm5 7440vpsubd %ymm6, %ymm9, %ymm6 7441vpsrld $1, %ymm5, %ymm5 7442vpsrld $1, %ymm6, %ymm6 7443vpand mask32_to_16(%rip), %ymm5, %ymm5 7444vpand mask32_to_16(%rip), %ymm6, %ymm6 7445vpackusdw %ymm6, %ymm5, %ymm6 7446vmovdqa 1536(%r8), %ymm5 7447vpunpcklwd const0(%rip), %ymm5, %ymm9 7448vpunpckhwd const0(%rip), %ymm5, %ymm8 7449vpslld $1, %ymm9, %ymm9 7450vpslld $1, %ymm8, %ymm8 7451vpsubd %ymm9, %ymm3, %ymm3 7452vpsubd %ymm8, %ymm7, %ymm7 7453vpsrld $1, %ymm3, %ymm3 7454vpsrld $1, %ymm7, %ymm7 7455vpand mask32_to_16(%rip), %ymm3, %ymm3 7456vpand mask32_to_16(%rip), %ymm7, %ymm7 7457vpackusdw %ymm7, %ymm3, %ymm7 7458vmovdqa 768(%r8), %ymm3 7459vpaddw 1024(%r8), %ymm3, %ymm8 7460vpsubw 1024(%r8), %ymm3, %ymm3 7461vpsrlw $2, %ymm3, %ymm3 7462vpsubw %ymm6, %ymm3, %ymm3 7463vpmullw %ymm14, %ymm3, %ymm3 7464vpsllw $1, %ymm11, %ymm9 7465vpsubw %ymm9, %ymm8, %ymm9 7466vpsllw $7, %ymm5, %ymm8 7467vpsubw %ymm8, %ymm9, %ymm8 7468vpsrlw $3, %ymm8, %ymm8 7469vpsubw %ymm7, %ymm8, %ymm8 7470vmovdqa 1280(%r8), %ymm9 7471vpsubw %ymm11, %ymm9, %ymm9 7472vpmullw %ymm15, %ymm5, %ymm2 7473vpsubw %ymm2, %ymm9, %ymm2 7474vpmullw %ymm14, %ymm8, %ymm8 7475vpsubw %ymm8, %ymm7, %ymm7 7476vpmullw %ymm12, %ymm8, %ymm9 7477vpaddw %ymm9, %ymm7, %ymm9 7478vpmullw %ymm12, %ymm9, %ymm9 7479vpsubw %ymm9, %ymm2, %ymm9 7480vpmullw %ymm14, %ymm9, %ymm9 7481vpsubw %ymm6, %ymm9, %ymm9 7482vpsrlw $3, %ymm9, %ymm9 7483vpsubw %ymm3, %ymm9, %ymm9 7484vpsubw %ymm9, %ymm3, %ymm3 7485vpsubw %ymm3, %ymm6, %ymm6 7486vpmullw %ymm13, %ymm9, %ymm9 7487vpsubw %ymm9, %ymm6, %ymm6 7488vpshufb shuf48_16(%rip), %ymm8, %ymm8 7489vpand mask3_5_4_3_1(%rip), %ymm8, %ymm2 7490vpand mask5_3_5_3(%rip), %ymm8, %ymm8 7491vpermq $139, %ymm2, %ymm2 7492vpand mask_keephigh(%rip), %ymm2, %ymm4 7493vpor %ymm4, %ymm8, %ymm8 7494vpaddw 2048(%r8), %ymm11, %ymm11 7495vpaddw %ymm8, %ymm11, %ymm11 7496vmovdqa %xmm2, 2048(%r8) 7497vpshufb shuf48_16(%rip), %ymm9, %ymm9 7498vpand mask3_5_4_3_1(%rip), %ymm9, %ymm2 7499vpand mask5_3_5_3(%rip), %ymm9, %ymm9 7500vpermq $139, %ymm2, %ymm2 7501vpand mask_keephigh(%rip), %ymm2, %ymm4 7502vpor %ymm4, %ymm9, %ymm9 7503vpaddw 2304(%r8), %ymm6, %ymm6 7504vpaddw %ymm9, %ymm6, %ymm6 7505vmovdqa %xmm2, 2304(%r8) 7506vpshufb shuf48_16(%rip), %ymm5, %ymm5 7507vpand mask3_5_4_3_1(%rip), %ymm5, %ymm2 7508vpand mask5_3_5_3(%rip), %ymm5, %ymm5 7509vpermq $139, %ymm2, %ymm2 7510vpand mask_keephigh(%rip), %ymm2, %ymm4 7511vpor %ymm4, %ymm5, %ymm5 7512vpaddw 2560(%r8), %ymm7, %ymm7 7513vpaddw %ymm5, %ymm7, %ymm7 7514vmovdqa %xmm2, 2560(%r8) 7515vpand mask_mod8192(%rip), %ymm11, %ymm11 7516vmovdqu %xmm11, 64(%rdi) 7517vextracti128 $1, %ymm11, %xmm11 7518vmovq %xmm11, 80(%rdi) 7519vpand mask_mod8192(%rip), %ymm6, %ymm6 7520vmovdqu %xmm6, 416(%rdi) 7521vextracti128 $1, %ymm6, %xmm6 7522vmovq %xmm6, 432(%rdi) 7523vpand mask_mod8192(%rip), %ymm7, %ymm7 7524vmovdqu %xmm7, 768(%rdi) 7525vextracti128 $1, %ymm7, %xmm7 7526vmovq %xmm7, 784(%rdi) 7527vpand mask_mod8192(%rip), %ymm3, %ymm3 7528vmovdqu %xmm3, 1120(%rdi) 7529vextracti128 $1, %ymm3, %xmm3 7530vmovq %xmm3, 1136(%rdi) 7531vmovdqa 32(%r8), %ymm5 7532vpunpcklwd const0(%rip), %ymm5, %ymm9 7533vpunpckhwd const0(%rip), %ymm5, %ymm8 7534vpslld $1, %ymm9, %ymm9 7535vpslld $1, %ymm8, %ymm8 7536vmovdqa 288(%r8), %ymm3 7537vpunpcklwd const0(%rip), %ymm3, %ymm7 7538vpunpckhwd const0(%rip), %ymm3, %ymm3 7539vmovdqa 544(%r8), %ymm6 7540vpunpcklwd const0(%rip), %ymm6, %ymm11 7541vpunpckhwd const0(%rip), %ymm6, %ymm6 7542vpaddd %ymm11, %ymm7, %ymm2 7543vpaddd %ymm6, %ymm3, %ymm4 7544vpsubd %ymm9, %ymm2, %ymm2 7545vpsubd %ymm8, %ymm4, %ymm4 7546vpsubd %ymm11, %ymm7, %ymm11 7547vpsubd %ymm6, %ymm3, %ymm6 7548vpsrld $1, %ymm11, %ymm11 7549vpsrld $1, %ymm6, %ymm6 7550vpand mask32_to_16(%rip), %ymm11, %ymm11 7551vpand mask32_to_16(%rip), %ymm6, %ymm6 7552vpackusdw %ymm6, %ymm11, %ymm6 7553vmovdqa 1568(%r8), %ymm11 7554vpunpcklwd const0(%rip), %ymm11, %ymm3 7555vpunpckhwd const0(%rip), %ymm11, %ymm7 7556vpslld $1, %ymm3, %ymm3 7557vpslld $1, %ymm7, %ymm7 7558vpsubd %ymm3, %ymm2, %ymm2 7559vpsubd %ymm7, %ymm4, %ymm4 7560vpsrld $1, %ymm2, %ymm2 7561vpsrld $1, %ymm4, %ymm4 7562vpand mask32_to_16(%rip), %ymm2, %ymm2 7563vpand mask32_to_16(%rip), %ymm4, %ymm4 7564vpackusdw %ymm4, %ymm2, %ymm4 7565vmovdqa 800(%r8), %ymm2 7566vpaddw 1056(%r8), %ymm2, %ymm7 7567vpsubw 1056(%r8), %ymm2, %ymm2 7568vpsrlw $2, %ymm2, %ymm2 7569vpsubw %ymm6, %ymm2, %ymm2 7570vpmullw %ymm14, %ymm2, %ymm2 7571vpsllw $1, %ymm5, %ymm3 7572vpsubw %ymm3, %ymm7, %ymm3 7573vpsllw $7, %ymm11, %ymm7 7574vpsubw %ymm7, %ymm3, %ymm7 7575vpsrlw $3, %ymm7, %ymm7 7576vpsubw %ymm4, %ymm7, %ymm7 7577vmovdqa 1312(%r8), %ymm3 7578vpsubw %ymm5, %ymm3, %ymm3 7579vpmullw %ymm15, %ymm11, %ymm8 7580vpsubw %ymm8, %ymm3, %ymm8 7581vpmullw %ymm14, %ymm7, %ymm7 7582vpsubw %ymm7, %ymm4, %ymm4 7583vpmullw %ymm12, %ymm7, %ymm3 7584vpaddw %ymm3, %ymm4, %ymm3 7585vpmullw %ymm12, %ymm3, %ymm3 7586vpsubw %ymm3, %ymm8, %ymm3 7587vpmullw %ymm14, %ymm3, %ymm3 7588vpsubw %ymm6, %ymm3, %ymm3 7589vpsrlw $3, %ymm3, %ymm3 7590vpsubw %ymm2, %ymm3, %ymm3 7591vpsubw %ymm3, %ymm2, %ymm2 7592vpsubw %ymm2, %ymm6, %ymm6 7593vpmullw %ymm13, %ymm3, %ymm3 7594vpsubw %ymm3, %ymm6, %ymm6 7595vpshufb shuf48_16(%rip), %ymm7, %ymm7 7596vpand mask3_5_4_3_1(%rip), %ymm7, %ymm8 7597vpand mask5_3_5_3(%rip), %ymm7, %ymm7 7598vpermq $139, %ymm8, %ymm8 7599vpand mask_keephigh(%rip), %ymm8, %ymm9 7600vpor %ymm9, %ymm7, %ymm7 7601vpaddw 2080(%r8), %ymm5, %ymm5 7602vpaddw %ymm7, %ymm5, %ymm5 7603vmovdqa %xmm8, 2080(%r8) 7604vpshufb shuf48_16(%rip), %ymm3, %ymm3 7605vpand mask3_5_4_3_1(%rip), %ymm3, %ymm8 7606vpand mask5_3_5_3(%rip), %ymm3, %ymm3 7607vpermq $139, %ymm8, %ymm8 7608vpand mask_keephigh(%rip), %ymm8, %ymm9 7609vpor %ymm9, %ymm3, %ymm3 7610vpaddw 2336(%r8), %ymm6, %ymm6 7611vpaddw %ymm3, %ymm6, %ymm6 7612vmovdqa %xmm8, 2336(%r8) 7613vpshufb shuf48_16(%rip), %ymm11, %ymm11 7614vpand mask3_5_4_3_1(%rip), %ymm11, %ymm8 7615vpand mask5_3_5_3(%rip), %ymm11, %ymm11 7616vpermq $139, %ymm8, %ymm8 7617vpand mask_keephigh(%rip), %ymm8, %ymm9 7618vpor %ymm9, %ymm11, %ymm11 7619vpaddw 2592(%r8), %ymm4, %ymm4 7620vpaddw %ymm11, %ymm4, %ymm4 7621vmovdqa %xmm8, 2592(%r8) 7622vpand mask_mod8192(%rip), %ymm5, %ymm5 7623vmovdqu %xmm5, 152(%rdi) 7624vextracti128 $1, %ymm5, %xmm5 7625vmovq %xmm5, 168(%rdi) 7626vpand mask_mod8192(%rip), %ymm6, %ymm6 7627vmovdqu %xmm6, 504(%rdi) 7628vextracti128 $1, %ymm6, %xmm6 7629vmovq %xmm6, 520(%rdi) 7630vpand mask_mod8192(%rip), %ymm4, %ymm4 7631vmovdqu %xmm4, 856(%rdi) 7632vextracti128 $1, %ymm4, %xmm4 7633vmovq %xmm4, 872(%rdi) 7634vpand mask_mod8192(%rip), %ymm2, %ymm2 7635vmovdqu %xmm2, 1208(%rdi) 7636vextracti128 $1, %ymm2, %xmm2 7637vmovq %xmm2, 1224(%rdi) 7638vmovdqa 64(%r8), %ymm11 7639vpunpcklwd const0(%rip), %ymm11, %ymm3 7640vpunpckhwd const0(%rip), %ymm11, %ymm7 7641vpslld $1, %ymm3, %ymm3 7642vpslld $1, %ymm7, %ymm7 7643vmovdqa 320(%r8), %ymm2 7644vpunpcklwd const0(%rip), %ymm2, %ymm4 7645vpunpckhwd const0(%rip), %ymm2, %ymm2 7646vmovdqa 576(%r8), %ymm6 7647vpunpcklwd const0(%rip), %ymm6, %ymm5 7648vpunpckhwd const0(%rip), %ymm6, %ymm6 7649vpaddd %ymm5, %ymm4, %ymm8 7650vpaddd %ymm6, %ymm2, %ymm9 7651vpsubd %ymm3, %ymm8, %ymm8 7652vpsubd %ymm7, %ymm9, %ymm9 7653vpsubd %ymm5, %ymm4, %ymm5 7654vpsubd %ymm6, %ymm2, %ymm6 7655vpsrld $1, %ymm5, %ymm5 7656vpsrld $1, %ymm6, %ymm6 7657vpand mask32_to_16(%rip), %ymm5, %ymm5 7658vpand mask32_to_16(%rip), %ymm6, %ymm6 7659vpackusdw %ymm6, %ymm5, %ymm6 7660vmovdqa 1600(%r8), %ymm5 7661vpunpcklwd const0(%rip), %ymm5, %ymm2 7662vpunpckhwd const0(%rip), %ymm5, %ymm4 7663vpslld $1, %ymm2, %ymm2 7664vpslld $1, %ymm4, %ymm4 7665vpsubd %ymm2, %ymm8, %ymm8 7666vpsubd %ymm4, %ymm9, %ymm9 7667vpsrld $1, %ymm8, %ymm8 7668vpsrld $1, %ymm9, %ymm9 7669vpand mask32_to_16(%rip), %ymm8, %ymm8 7670vpand mask32_to_16(%rip), %ymm9, %ymm9 7671vpackusdw %ymm9, %ymm8, %ymm9 7672vmovdqa 832(%r8), %ymm8 7673vpaddw 1088(%r8), %ymm8, %ymm4 7674vpsubw 1088(%r8), %ymm8, %ymm8 7675vpsrlw $2, %ymm8, %ymm8 7676vpsubw %ymm6, %ymm8, %ymm8 7677vpmullw %ymm14, %ymm8, %ymm8 7678vpsllw $1, %ymm11, %ymm2 7679vpsubw %ymm2, %ymm4, %ymm2 7680vpsllw $7, %ymm5, %ymm4 7681vpsubw %ymm4, %ymm2, %ymm4 7682vpsrlw $3, %ymm4, %ymm4 7683vpsubw %ymm9, %ymm4, %ymm4 7684vmovdqa 1344(%r8), %ymm2 7685vpsubw %ymm11, %ymm2, %ymm2 7686vpmullw %ymm15, %ymm5, %ymm7 7687vpsubw %ymm7, %ymm2, %ymm7 7688vpmullw %ymm14, %ymm4, %ymm4 7689vpsubw %ymm4, %ymm9, %ymm9 7690vpmullw %ymm12, %ymm4, %ymm2 7691vpaddw %ymm2, %ymm9, %ymm2 7692vpmullw %ymm12, %ymm2, %ymm2 7693vpsubw %ymm2, %ymm7, %ymm2 7694vpmullw %ymm14, %ymm2, %ymm2 7695vpsubw %ymm6, %ymm2, %ymm2 7696vpsrlw $3, %ymm2, %ymm2 7697vpsubw %ymm8, %ymm2, %ymm2 7698vpsubw %ymm2, %ymm8, %ymm8 7699vpsubw %ymm8, %ymm6, %ymm6 7700vpmullw %ymm13, %ymm2, %ymm2 7701vpsubw %ymm2, %ymm6, %ymm6 7702vpshufb shuf48_16(%rip), %ymm4, %ymm4 7703vpand mask3_5_4_3_1(%rip), %ymm4, %ymm7 7704vpand mask5_3_5_3(%rip), %ymm4, %ymm4 7705vpermq $139, %ymm7, %ymm7 7706vpand mask_keephigh(%rip), %ymm7, %ymm3 7707vpor %ymm3, %ymm4, %ymm4 7708vpaddw 2112(%r8), %ymm11, %ymm11 7709vpaddw %ymm4, %ymm11, %ymm11 7710vmovdqa %xmm7, 2112(%r8) 7711vpshufb shuf48_16(%rip), %ymm2, %ymm2 7712vpand mask3_5_4_3_1(%rip), %ymm2, %ymm7 7713vpand mask5_3_5_3(%rip), %ymm2, %ymm2 7714vpermq $139, %ymm7, %ymm7 7715vpand mask_keephigh(%rip), %ymm7, %ymm3 7716vpor %ymm3, %ymm2, %ymm2 7717vpaddw 2368(%r8), %ymm6, %ymm6 7718vpaddw %ymm2, %ymm6, %ymm6 7719vmovdqa %xmm7, 2368(%r8) 7720vpshufb shuf48_16(%rip), %ymm5, %ymm5 7721vpand mask3_5_4_3_1(%rip), %ymm5, %ymm7 7722vpand mask5_3_5_3(%rip), %ymm5, %ymm5 7723vpermq $139, %ymm7, %ymm7 7724vpand mask_keephigh(%rip), %ymm7, %ymm3 7725vpor %ymm3, %ymm5, %ymm5 7726vpaddw 2624(%r8), %ymm9, %ymm9 7727vpaddw %ymm5, %ymm9, %ymm9 7728vmovdqa %xmm7, 2624(%r8) 7729vpand mask_mod8192(%rip), %ymm11, %ymm11 7730vmovdqu %xmm11, 240(%rdi) 7731vextracti128 $1, %ymm11, %xmm11 7732vmovq %xmm11, 256(%rdi) 7733vpand mask_mod8192(%rip), %ymm6, %ymm6 7734vmovdqu %xmm6, 592(%rdi) 7735vextracti128 $1, %ymm6, %xmm6 7736vmovq %xmm6, 608(%rdi) 7737vpand mask_mod8192(%rip), %ymm9, %ymm9 7738vmovdqu %xmm9, 944(%rdi) 7739vextracti128 $1, %ymm9, %xmm9 7740vmovq %xmm9, 960(%rdi) 7741vpand mask_mod8192(%rip), %ymm8, %ymm8 7742vmovdqu %xmm8, 1296(%rdi) 7743vextracti128 $1, %ymm8, %xmm8 7744vmovq %xmm8, 1312(%rdi) 7745vmovdqa 96(%r8), %ymm5 7746vpunpcklwd const0(%rip), %ymm5, %ymm2 7747vpunpckhwd const0(%rip), %ymm5, %ymm4 7748vpslld $1, %ymm2, %ymm2 7749vpslld $1, %ymm4, %ymm4 7750vmovdqa 352(%r8), %ymm8 7751vpunpcklwd const0(%rip), %ymm8, %ymm9 7752vpunpckhwd const0(%rip), %ymm8, %ymm8 7753vmovdqa 608(%r8), %ymm6 7754vpunpcklwd const0(%rip), %ymm6, %ymm11 7755vpunpckhwd const0(%rip), %ymm6, %ymm6 7756vpaddd %ymm11, %ymm9, %ymm7 7757vpaddd %ymm6, %ymm8, %ymm3 7758vpsubd %ymm2, %ymm7, %ymm7 7759vpsubd %ymm4, %ymm3, %ymm3 7760vpsubd %ymm11, %ymm9, %ymm11 7761vpsubd %ymm6, %ymm8, %ymm6 7762vpsrld $1, %ymm11, %ymm11 7763vpsrld $1, %ymm6, %ymm6 7764vpand mask32_to_16(%rip), %ymm11, %ymm11 7765vpand mask32_to_16(%rip), %ymm6, %ymm6 7766vpackusdw %ymm6, %ymm11, %ymm6 7767vmovdqa 1632(%r8), %ymm11 7768vpunpcklwd const0(%rip), %ymm11, %ymm8 7769vpunpckhwd const0(%rip), %ymm11, %ymm9 7770vpslld $1, %ymm8, %ymm8 7771vpslld $1, %ymm9, %ymm9 7772vpsubd %ymm8, %ymm7, %ymm7 7773vpsubd %ymm9, %ymm3, %ymm3 7774vpsrld $1, %ymm7, %ymm7 7775vpsrld $1, %ymm3, %ymm3 7776vpand mask32_to_16(%rip), %ymm7, %ymm7 7777vpand mask32_to_16(%rip), %ymm3, %ymm3 7778vpackusdw %ymm3, %ymm7, %ymm3 7779vmovdqa 864(%r8), %ymm7 7780vpaddw 1120(%r8), %ymm7, %ymm9 7781vpsubw 1120(%r8), %ymm7, %ymm7 7782vpsrlw $2, %ymm7, %ymm7 7783vpsubw %ymm6, %ymm7, %ymm7 7784vpmullw %ymm14, %ymm7, %ymm7 7785vpsllw $1, %ymm5, %ymm8 7786vpsubw %ymm8, %ymm9, %ymm8 7787vpsllw $7, %ymm11, %ymm9 7788vpsubw %ymm9, %ymm8, %ymm9 7789vpsrlw $3, %ymm9, %ymm9 7790vpsubw %ymm3, %ymm9, %ymm9 7791vmovdqa 1376(%r8), %ymm8 7792vpsubw %ymm5, %ymm8, %ymm8 7793vpmullw %ymm15, %ymm11, %ymm4 7794vpsubw %ymm4, %ymm8, %ymm4 7795vpmullw %ymm14, %ymm9, %ymm9 7796vpsubw %ymm9, %ymm3, %ymm3 7797vpmullw %ymm12, %ymm9, %ymm8 7798vpaddw %ymm8, %ymm3, %ymm8 7799vpmullw %ymm12, %ymm8, %ymm8 7800vpsubw %ymm8, %ymm4, %ymm8 7801vpmullw %ymm14, %ymm8, %ymm8 7802vpsubw %ymm6, %ymm8, %ymm8 7803vpsrlw $3, %ymm8, %ymm8 7804vpsubw %ymm7, %ymm8, %ymm8 7805vpsubw %ymm8, %ymm7, %ymm7 7806vpsubw %ymm7, %ymm6, %ymm6 7807vpmullw %ymm13, %ymm8, %ymm8 7808vpsubw %ymm8, %ymm6, %ymm6 7809vpshufb shuf48_16(%rip), %ymm9, %ymm9 7810vpand mask3_5_4_3_1(%rip), %ymm9, %ymm4 7811vpand mask5_3_5_3(%rip), %ymm9, %ymm9 7812vpermq $139, %ymm4, %ymm4 7813vpand mask_keephigh(%rip), %ymm4, %ymm2 7814vpor %ymm2, %ymm9, %ymm9 7815vpaddw 2144(%r8), %ymm5, %ymm5 7816vpaddw %ymm9, %ymm5, %ymm5 7817vmovdqa %xmm4, 2144(%r8) 7818vpshufb shuf48_16(%rip), %ymm8, %ymm8 7819vpand mask3_5_4_3_1(%rip), %ymm8, %ymm4 7820vpand mask5_3_5_3(%rip), %ymm8, %ymm8 7821vpermq $139, %ymm4, %ymm4 7822vpand mask_keephigh(%rip), %ymm4, %ymm2 7823vpor %ymm2, %ymm8, %ymm8 7824vpaddw 2400(%r8), %ymm6, %ymm6 7825vpaddw %ymm8, %ymm6, %ymm6 7826vmovdqa %xmm4, 2400(%r8) 7827vpshufb shuf48_16(%rip), %ymm11, %ymm11 7828vpand mask3_5_4_3_1(%rip), %ymm11, %ymm4 7829vpand mask5_3_5_3(%rip), %ymm11, %ymm11 7830vpermq $139, %ymm4, %ymm4 7831vpand mask_keephigh(%rip), %ymm4, %ymm2 7832vpor %ymm2, %ymm11, %ymm11 7833vpaddw 2656(%r8), %ymm3, %ymm3 7834vpaddw %ymm11, %ymm3, %ymm3 7835vmovdqa %xmm4, 2656(%r8) 7836vpand mask_mod8192(%rip), %ymm5, %ymm5 7837vmovdqu %xmm5, 328(%rdi) 7838vextracti128 $1, %ymm5, %xmm5 7839vmovq %xmm5, 344(%rdi) 7840vpshufb shufmin1_mask3(%rip), %ymm5, %ymm5 7841vmovdqa %xmm5, 1792(%r8) 7842vpand mask_mod8192(%rip), %ymm6, %ymm6 7843vmovdqu %xmm6, 680(%rdi) 7844vextracti128 $1, %ymm6, %xmm6 7845vmovq %xmm6, 696(%rdi) 7846vpshufb shufmin1_mask3(%rip), %ymm6, %ymm6 7847vmovdqa %xmm6, 1824(%r8) 7848vpand mask_mod8192(%rip), %ymm3, %ymm3 7849vmovdqu %xmm3, 1032(%rdi) 7850vextracti128 $1, %ymm3, %xmm3 7851vmovq %xmm3, 1048(%rdi) 7852vpshufb shufmin1_mask3(%rip), %ymm3, %ymm3 7853vmovdqa %xmm3, 1856(%r8) 7854vpand mask_mod8192(%rip), %ymm7, %ymm7 7855vmovdqu %xmm7, 1384(%rdi) 7856vextracti128 $1, %ymm7, %xmm7 7857vpextrw $0, %xmm7, 1400(%rdi) 7858vpshufb shufmin1_mask3(%rip), %ymm7, %ymm7 7859vmovdqa %xmm7, 1888(%r8) 7860vmovdqa 128(%r8), %ymm11 7861vpunpcklwd const0(%rip), %ymm11, %ymm8 7862vpunpckhwd const0(%rip), %ymm11, %ymm9 7863vpslld $1, %ymm8, %ymm8 7864vpslld $1, %ymm9, %ymm9 7865vmovdqa 384(%r8), %ymm7 7866vpunpcklwd const0(%rip), %ymm7, %ymm3 7867vpunpckhwd const0(%rip), %ymm7, %ymm7 7868vmovdqa 640(%r8), %ymm6 7869vpunpcklwd const0(%rip), %ymm6, %ymm5 7870vpunpckhwd const0(%rip), %ymm6, %ymm6 7871vpaddd %ymm5, %ymm3, %ymm4 7872vpaddd %ymm6, %ymm7, %ymm2 7873vpsubd %ymm8, %ymm4, %ymm4 7874vpsubd %ymm9, %ymm2, %ymm2 7875vpsubd %ymm5, %ymm3, %ymm5 7876vpsubd %ymm6, %ymm7, %ymm6 7877vpsrld $1, %ymm5, %ymm5 7878vpsrld $1, %ymm6, %ymm6 7879vpand mask32_to_16(%rip), %ymm5, %ymm5 7880vpand mask32_to_16(%rip), %ymm6, %ymm6 7881vpackusdw %ymm6, %ymm5, %ymm6 7882vmovdqa 1664(%r8), %ymm5 7883vpunpcklwd const0(%rip), %ymm5, %ymm7 7884vpunpckhwd const0(%rip), %ymm5, %ymm3 7885vpslld $1, %ymm7, %ymm7 7886vpslld $1, %ymm3, %ymm3 7887vpsubd %ymm7, %ymm4, %ymm4 7888vpsubd %ymm3, %ymm2, %ymm2 7889vpsrld $1, %ymm4, %ymm4 7890vpsrld $1, %ymm2, %ymm2 7891vpand mask32_to_16(%rip), %ymm4, %ymm4 7892vpand mask32_to_16(%rip), %ymm2, %ymm2 7893vpackusdw %ymm2, %ymm4, %ymm2 7894vmovdqa 896(%r8), %ymm4 7895vpaddw 1152(%r8), %ymm4, %ymm3 7896vpsubw 1152(%r8), %ymm4, %ymm4 7897vpsrlw $2, %ymm4, %ymm4 7898vpsubw %ymm6, %ymm4, %ymm4 7899vpmullw %ymm14, %ymm4, %ymm4 7900vpsllw $1, %ymm11, %ymm7 7901vpsubw %ymm7, %ymm3, %ymm7 7902vpsllw $7, %ymm5, %ymm3 7903vpsubw %ymm3, %ymm7, %ymm3 7904vpsrlw $3, %ymm3, %ymm3 7905vpsubw %ymm2, %ymm3, %ymm3 7906vmovdqa 1408(%r8), %ymm7 7907vpsubw %ymm11, %ymm7, %ymm7 7908vpmullw %ymm15, %ymm5, %ymm9 7909vpsubw %ymm9, %ymm7, %ymm9 7910vpmullw %ymm14, %ymm3, %ymm3 7911vpsubw %ymm3, %ymm2, %ymm2 7912vpmullw %ymm12, %ymm3, %ymm7 7913vpaddw %ymm7, %ymm2, %ymm7 7914vpmullw %ymm12, %ymm7, %ymm7 7915vpsubw %ymm7, %ymm9, %ymm7 7916vpmullw %ymm14, %ymm7, %ymm7 7917vpsubw %ymm6, %ymm7, %ymm7 7918vpsrlw $3, %ymm7, %ymm7 7919vpsubw %ymm4, %ymm7, %ymm7 7920vpsubw %ymm7, %ymm4, %ymm4 7921vpsubw %ymm4, %ymm6, %ymm6 7922vpmullw %ymm13, %ymm7, %ymm7 7923vpsubw %ymm7, %ymm6, %ymm6 7924vmovdqu 416(%rdi), %ymm9 7925vmovdqu 768(%rdi), %ymm8 7926vmovdqu 1120(%rdi), %ymm10 7927vpaddw %ymm11, %ymm9, %ymm11 7928vpaddw %ymm6, %ymm8, %ymm6 7929vpaddw %ymm2, %ymm10, %ymm2 7930vpshufb shuf48_16(%rip), %ymm4, %ymm4 7931vpand mask3_5_4_3_1(%rip), %ymm4, %ymm10 7932vpand mask5_3_5_3(%rip), %ymm4, %ymm4 7933vpermq $139, %ymm10, %ymm10 7934vpand mask_keephigh(%rip), %ymm10, %ymm8 7935vpor %ymm8, %ymm4, %ymm4 7936vmovdqu 64(%rdi), %ymm8 7937vpaddw 1920(%r8), %ymm8, %ymm8 7938vpaddw %ymm4, %ymm8, %ymm8 7939vpand mask_mod8192(%rip), %ymm8, %ymm8 7940vmovdqu %xmm8, 64(%rdi) 7941vextracti128 $1, %ymm8, %xmm8 7942vmovq %xmm8, 80(%rdi) 7943vmovdqa %xmm10, 1920(%r8) 7944vpshufb shuf48_16(%rip), %ymm3, %ymm3 7945vpand mask3_5_4_3_1(%rip), %ymm3, %ymm10 7946vpand mask5_3_5_3(%rip), %ymm3, %ymm3 7947vpermq $139, %ymm10, %ymm10 7948vpand mask_keephigh(%rip), %ymm10, %ymm8 7949vpor %ymm8, %ymm3, %ymm3 7950vpaddw 2176(%r8), %ymm11, %ymm11 7951vpaddw %ymm3, %ymm11, %ymm11 7952vmovdqa %xmm10, 2176(%r8) 7953vpshufb shuf48_16(%rip), %ymm7, %ymm7 7954vpand mask3_5_4_3_1(%rip), %ymm7, %ymm10 7955vpand mask5_3_5_3(%rip), %ymm7, %ymm7 7956vpermq $139, %ymm10, %ymm10 7957vpand mask_keephigh(%rip), %ymm10, %ymm8 7958vpor %ymm8, %ymm7, %ymm7 7959vpaddw 2432(%r8), %ymm6, %ymm6 7960vpaddw %ymm7, %ymm6, %ymm6 7961vmovdqa %xmm10, 2432(%r8) 7962vpshufb shuf48_16(%rip), %ymm5, %ymm5 7963vpand mask3_5_4_3_1(%rip), %ymm5, %ymm10 7964vpand mask5_3_5_3(%rip), %ymm5, %ymm5 7965vpermq $139, %ymm10, %ymm10 7966vpand mask_keephigh(%rip), %ymm10, %ymm8 7967vpor %ymm8, %ymm5, %ymm5 7968vpaddw 2688(%r8), %ymm2, %ymm2 7969vpaddw %ymm5, %ymm2, %ymm2 7970vmovdqa %xmm10, 2688(%r8) 7971vpand mask_mod8192(%rip), %ymm11, %ymm11 7972vmovdqu %xmm11, 416(%rdi) 7973vextracti128 $1, %ymm11, %xmm11 7974vmovq %xmm11, 432(%rdi) 7975vpand mask_mod8192(%rip), %ymm6, %ymm6 7976vmovdqu %xmm6, 768(%rdi) 7977vextracti128 $1, %ymm6, %xmm6 7978vmovq %xmm6, 784(%rdi) 7979vpand mask_mod8192(%rip), %ymm2, %ymm2 7980vmovdqu %xmm2, 1120(%rdi) 7981vextracti128 $1, %ymm2, %xmm2 7982vmovq %xmm2, 1136(%rdi) 7983vmovdqa 160(%r8), %ymm5 7984vpunpcklwd const0(%rip), %ymm5, %ymm7 7985vpunpckhwd const0(%rip), %ymm5, %ymm3 7986vpslld $1, %ymm7, %ymm7 7987vpslld $1, %ymm3, %ymm3 7988vmovdqa 416(%r8), %ymm4 7989vpunpcklwd const0(%rip), %ymm4, %ymm2 7990vpunpckhwd const0(%rip), %ymm4, %ymm4 7991vmovdqa 672(%r8), %ymm6 7992vpunpcklwd const0(%rip), %ymm6, %ymm11 7993vpunpckhwd const0(%rip), %ymm6, %ymm6 7994vpaddd %ymm11, %ymm2, %ymm10 7995vpaddd %ymm6, %ymm4, %ymm8 7996vpsubd %ymm7, %ymm10, %ymm10 7997vpsubd %ymm3, %ymm8, %ymm8 7998vpsubd %ymm11, %ymm2, %ymm11 7999vpsubd %ymm6, %ymm4, %ymm6 8000vpsrld $1, %ymm11, %ymm11 8001vpsrld $1, %ymm6, %ymm6 8002vpand mask32_to_16(%rip), %ymm11, %ymm11 8003vpand mask32_to_16(%rip), %ymm6, %ymm6 8004vpackusdw %ymm6, %ymm11, %ymm6 8005vmovdqa 1696(%r8), %ymm11 8006vpunpcklwd const0(%rip), %ymm11, %ymm4 8007vpunpckhwd const0(%rip), %ymm11, %ymm2 8008vpslld $1, %ymm4, %ymm4 8009vpslld $1, %ymm2, %ymm2 8010vpsubd %ymm4, %ymm10, %ymm10 8011vpsubd %ymm2, %ymm8, %ymm8 8012vpsrld $1, %ymm10, %ymm10 8013vpsrld $1, %ymm8, %ymm8 8014vpand mask32_to_16(%rip), %ymm10, %ymm10 8015vpand mask32_to_16(%rip), %ymm8, %ymm8 8016vpackusdw %ymm8, %ymm10, %ymm8 8017vmovdqa 928(%r8), %ymm10 8018vpaddw 1184(%r8), %ymm10, %ymm2 8019vpsubw 1184(%r8), %ymm10, %ymm10 8020vpsrlw $2, %ymm10, %ymm10 8021vpsubw %ymm6, %ymm10, %ymm10 8022vpmullw %ymm14, %ymm10, %ymm10 8023vpsllw $1, %ymm5, %ymm4 8024vpsubw %ymm4, %ymm2, %ymm4 8025vpsllw $7, %ymm11, %ymm2 8026vpsubw %ymm2, %ymm4, %ymm2 8027vpsrlw $3, %ymm2, %ymm2 8028vpsubw %ymm8, %ymm2, %ymm2 8029vmovdqa 1440(%r8), %ymm4 8030vpsubw %ymm5, %ymm4, %ymm4 8031vpmullw %ymm15, %ymm11, %ymm3 8032vpsubw %ymm3, %ymm4, %ymm3 8033vpmullw %ymm14, %ymm2, %ymm2 8034vpsubw %ymm2, %ymm8, %ymm8 8035vpmullw %ymm12, %ymm2, %ymm4 8036vpaddw %ymm4, %ymm8, %ymm4 8037vpmullw %ymm12, %ymm4, %ymm4 8038vpsubw %ymm4, %ymm3, %ymm4 8039vpmullw %ymm14, %ymm4, %ymm4 8040vpsubw %ymm6, %ymm4, %ymm4 8041vpsrlw $3, %ymm4, %ymm4 8042vpsubw %ymm10, %ymm4, %ymm4 8043vpsubw %ymm4, %ymm10, %ymm10 8044vpsubw %ymm10, %ymm6, %ymm6 8045vpmullw %ymm13, %ymm4, %ymm4 8046vpsubw %ymm4, %ymm6, %ymm6 8047vmovdqu 504(%rdi), %ymm3 8048vmovdqu 856(%rdi), %ymm7 8049vmovdqu 1208(%rdi), %ymm9 8050vpaddw %ymm5, %ymm3, %ymm5 8051vpaddw %ymm6, %ymm7, %ymm6 8052vpaddw %ymm8, %ymm9, %ymm8 8053vpshufb shuf48_16(%rip), %ymm10, %ymm10 8054vpand mask3_5_4_3_1(%rip), %ymm10, %ymm9 8055vpand mask5_3_5_3(%rip), %ymm10, %ymm10 8056vpermq $139, %ymm9, %ymm9 8057vpand mask_keephigh(%rip), %ymm9, %ymm7 8058vpor %ymm7, %ymm10, %ymm10 8059vmovdqu 152(%rdi), %ymm7 8060vpaddw 1952(%r8), %ymm7, %ymm7 8061vpaddw %ymm10, %ymm7, %ymm7 8062vpand mask_mod8192(%rip), %ymm7, %ymm7 8063vmovdqu %xmm7, 152(%rdi) 8064vextracti128 $1, %ymm7, %xmm7 8065vmovq %xmm7, 168(%rdi) 8066vmovdqa %xmm9, 1952(%r8) 8067vpshufb shuf48_16(%rip), %ymm2, %ymm2 8068vpand mask3_5_4_3_1(%rip), %ymm2, %ymm9 8069vpand mask5_3_5_3(%rip), %ymm2, %ymm2 8070vpermq $139, %ymm9, %ymm9 8071vpand mask_keephigh(%rip), %ymm9, %ymm7 8072vpor %ymm7, %ymm2, %ymm2 8073vpaddw 2208(%r8), %ymm5, %ymm5 8074vpaddw %ymm2, %ymm5, %ymm5 8075vmovdqa %xmm9, 2208(%r8) 8076vpshufb shuf48_16(%rip), %ymm4, %ymm4 8077vpand mask3_5_4_3_1(%rip), %ymm4, %ymm9 8078vpand mask5_3_5_3(%rip), %ymm4, %ymm4 8079vpermq $139, %ymm9, %ymm9 8080vpand mask_keephigh(%rip), %ymm9, %ymm7 8081vpor %ymm7, %ymm4, %ymm4 8082vpaddw 2464(%r8), %ymm6, %ymm6 8083vpaddw %ymm4, %ymm6, %ymm6 8084vmovdqa %xmm9, 2464(%r8) 8085vpshufb shuf48_16(%rip), %ymm11, %ymm11 8086vpand mask3_5_4_3_1(%rip), %ymm11, %ymm9 8087vpand mask5_3_5_3(%rip), %ymm11, %ymm11 8088vpermq $139, %ymm9, %ymm9 8089vpand mask_keephigh(%rip), %ymm9, %ymm7 8090vpor %ymm7, %ymm11, %ymm11 8091vpaddw 2720(%r8), %ymm8, %ymm8 8092vpaddw %ymm11, %ymm8, %ymm8 8093vmovdqa %xmm9, 2720(%r8) 8094vpand mask_mod8192(%rip), %ymm5, %ymm5 8095vmovdqu %xmm5, 504(%rdi) 8096vextracti128 $1, %ymm5, %xmm5 8097vmovq %xmm5, 520(%rdi) 8098vpand mask_mod8192(%rip), %ymm6, %ymm6 8099vmovdqu %xmm6, 856(%rdi) 8100vextracti128 $1, %ymm6, %xmm6 8101vmovq %xmm6, 872(%rdi) 8102vpand mask_mod8192(%rip), %ymm8, %ymm8 8103vmovdqu %xmm8, 1208(%rdi) 8104vextracti128 $1, %ymm8, %xmm8 8105vmovq %xmm8, 1224(%rdi) 8106vmovdqa 192(%r8), %ymm11 8107vpunpcklwd const0(%rip), %ymm11, %ymm4 8108vpunpckhwd const0(%rip), %ymm11, %ymm2 8109vpslld $1, %ymm4, %ymm4 8110vpslld $1, %ymm2, %ymm2 8111vmovdqa 448(%r8), %ymm10 8112vpunpcklwd const0(%rip), %ymm10, %ymm8 8113vpunpckhwd const0(%rip), %ymm10, %ymm10 8114vmovdqa 704(%r8), %ymm6 8115vpunpcklwd const0(%rip), %ymm6, %ymm5 8116vpunpckhwd const0(%rip), %ymm6, %ymm6 8117vpaddd %ymm5, %ymm8, %ymm9 8118vpaddd %ymm6, %ymm10, %ymm7 8119vpsubd %ymm4, %ymm9, %ymm9 8120vpsubd %ymm2, %ymm7, %ymm7 8121vpsubd %ymm5, %ymm8, %ymm5 8122vpsubd %ymm6, %ymm10, %ymm6 8123vpsrld $1, %ymm5, %ymm5 8124vpsrld $1, %ymm6, %ymm6 8125vpand mask32_to_16(%rip), %ymm5, %ymm5 8126vpand mask32_to_16(%rip), %ymm6, %ymm6 8127vpackusdw %ymm6, %ymm5, %ymm6 8128vmovdqa 1728(%r8), %ymm5 8129vpunpcklwd const0(%rip), %ymm5, %ymm10 8130vpunpckhwd const0(%rip), %ymm5, %ymm8 8131vpslld $1, %ymm10, %ymm10 8132vpslld $1, %ymm8, %ymm8 8133vpsubd %ymm10, %ymm9, %ymm9 8134vpsubd %ymm8, %ymm7, %ymm7 8135vpsrld $1, %ymm9, %ymm9 8136vpsrld $1, %ymm7, %ymm7 8137vpand mask32_to_16(%rip), %ymm9, %ymm9 8138vpand mask32_to_16(%rip), %ymm7, %ymm7 8139vpackusdw %ymm7, %ymm9, %ymm7 8140vmovdqa 960(%r8), %ymm9 8141vpaddw 1216(%r8), %ymm9, %ymm8 8142vpsubw 1216(%r8), %ymm9, %ymm9 8143vpsrlw $2, %ymm9, %ymm9 8144vpsubw %ymm6, %ymm9, %ymm9 8145vpmullw %ymm14, %ymm9, %ymm9 8146vpsllw $1, %ymm11, %ymm10 8147vpsubw %ymm10, %ymm8, %ymm10 8148vpsllw $7, %ymm5, %ymm8 8149vpsubw %ymm8, %ymm10, %ymm8 8150vpsrlw $3, %ymm8, %ymm8 8151vpsubw %ymm7, %ymm8, %ymm8 8152vmovdqa 1472(%r8), %ymm10 8153vpsubw %ymm11, %ymm10, %ymm10 8154vpmullw %ymm15, %ymm5, %ymm2 8155vpsubw %ymm2, %ymm10, %ymm2 8156vpmullw %ymm14, %ymm8, %ymm8 8157vpsubw %ymm8, %ymm7, %ymm7 8158vpmullw %ymm12, %ymm8, %ymm10 8159vpaddw %ymm10, %ymm7, %ymm10 8160vpmullw %ymm12, %ymm10, %ymm10 8161vpsubw %ymm10, %ymm2, %ymm10 8162vpmullw %ymm14, %ymm10, %ymm10 8163vpsubw %ymm6, %ymm10, %ymm10 8164vpsrlw $3, %ymm10, %ymm10 8165vpsubw %ymm9, %ymm10, %ymm10 8166vpsubw %ymm10, %ymm9, %ymm9 8167vpsubw %ymm9, %ymm6, %ymm6 8168vpmullw %ymm13, %ymm10, %ymm10 8169vpsubw %ymm10, %ymm6, %ymm6 8170vmovdqu 592(%rdi), %ymm2 8171vmovdqu 944(%rdi), %ymm4 8172vmovdqu 1296(%rdi), %ymm3 8173vpaddw %ymm11, %ymm2, %ymm11 8174vpaddw %ymm6, %ymm4, %ymm6 8175vpaddw %ymm7, %ymm3, %ymm7 8176vpshufb shuf48_16(%rip), %ymm9, %ymm9 8177vpand mask3_5_4_3_1(%rip), %ymm9, %ymm3 8178vpand mask5_3_5_3(%rip), %ymm9, %ymm9 8179vpermq $139, %ymm3, %ymm3 8180vpand mask_keephigh(%rip), %ymm3, %ymm4 8181vpor %ymm4, %ymm9, %ymm9 8182vmovdqu 240(%rdi), %ymm4 8183vpaddw 1984(%r8), %ymm4, %ymm4 8184vpaddw %ymm9, %ymm4, %ymm4 8185vpand mask_mod8192(%rip), %ymm4, %ymm4 8186vmovdqu %xmm4, 240(%rdi) 8187vextracti128 $1, %ymm4, %xmm4 8188vmovq %xmm4, 256(%rdi) 8189vmovdqa %xmm3, 1984(%r8) 8190vpshufb shuf48_16(%rip), %ymm8, %ymm8 8191vpand mask3_5_4_3_1(%rip), %ymm8, %ymm3 8192vpand mask5_3_5_3(%rip), %ymm8, %ymm8 8193vpermq $139, %ymm3, %ymm3 8194vpand mask_keephigh(%rip), %ymm3, %ymm4 8195vpor %ymm4, %ymm8, %ymm8 8196vpaddw 2240(%r8), %ymm11, %ymm11 8197vpaddw %ymm8, %ymm11, %ymm11 8198vmovdqa %xmm3, 2240(%r8) 8199vpshufb shuf48_16(%rip), %ymm10, %ymm10 8200vpand mask3_5_4_3_1(%rip), %ymm10, %ymm3 8201vpand mask5_3_5_3(%rip), %ymm10, %ymm10 8202vpermq $139, %ymm3, %ymm3 8203vpand mask_keephigh(%rip), %ymm3, %ymm4 8204vpor %ymm4, %ymm10, %ymm10 8205vpaddw 2496(%r8), %ymm6, %ymm6 8206vpaddw %ymm10, %ymm6, %ymm6 8207vmovdqa %xmm3, 2496(%r8) 8208vpshufb shuf48_16(%rip), %ymm5, %ymm5 8209vpand mask3_5_4_3_1(%rip), %ymm5, %ymm3 8210vpand mask5_3_5_3(%rip), %ymm5, %ymm5 8211vpermq $139, %ymm3, %ymm3 8212vpand mask_keephigh(%rip), %ymm3, %ymm4 8213vpor %ymm4, %ymm5, %ymm5 8214vpaddw 2752(%r8), %ymm7, %ymm7 8215vpaddw %ymm5, %ymm7, %ymm7 8216vmovdqa %xmm3, 2752(%r8) 8217vpand mask_mod8192(%rip), %ymm11, %ymm11 8218vmovdqu %xmm11, 592(%rdi) 8219vextracti128 $1, %ymm11, %xmm11 8220vmovq %xmm11, 608(%rdi) 8221vpand mask_mod8192(%rip), %ymm6, %ymm6 8222vmovdqu %xmm6, 944(%rdi) 8223vextracti128 $1, %ymm6, %xmm6 8224vmovq %xmm6, 960(%rdi) 8225vpand mask_mod8192(%rip), %ymm7, %ymm7 8226vmovdqu %xmm7, 1296(%rdi) 8227vextracti128 $1, %ymm7, %xmm7 8228vmovq %xmm7, 1312(%rdi) 8229vmovdqa 224(%r8), %ymm5 8230vpunpcklwd const0(%rip), %ymm5, %ymm10 8231vpunpckhwd const0(%rip), %ymm5, %ymm8 8232vpslld $1, %ymm10, %ymm10 8233vpslld $1, %ymm8, %ymm8 8234vmovdqa 480(%r8), %ymm9 8235vpunpcklwd const0(%rip), %ymm9, %ymm7 8236vpunpckhwd const0(%rip), %ymm9, %ymm9 8237vmovdqa 736(%r8), %ymm6 8238vpunpcklwd const0(%rip), %ymm6, %ymm11 8239vpunpckhwd const0(%rip), %ymm6, %ymm6 8240vpaddd %ymm11, %ymm7, %ymm3 8241vpaddd %ymm6, %ymm9, %ymm4 8242vpsubd %ymm10, %ymm3, %ymm3 8243vpsubd %ymm8, %ymm4, %ymm4 8244vpsubd %ymm11, %ymm7, %ymm11 8245vpsubd %ymm6, %ymm9, %ymm6 8246vpsrld $1, %ymm11, %ymm11 8247vpsrld $1, %ymm6, %ymm6 8248vpand mask32_to_16(%rip), %ymm11, %ymm11 8249vpand mask32_to_16(%rip), %ymm6, %ymm6 8250vpackusdw %ymm6, %ymm11, %ymm6 8251vmovdqa 1760(%r8), %ymm11 8252vpunpcklwd const0(%rip), %ymm11, %ymm9 8253vpunpckhwd const0(%rip), %ymm11, %ymm7 8254vpslld $1, %ymm9, %ymm9 8255vpslld $1, %ymm7, %ymm7 8256vpsubd %ymm9, %ymm3, %ymm3 8257vpsubd %ymm7, %ymm4, %ymm4 8258vpsrld $1, %ymm3, %ymm3 8259vpsrld $1, %ymm4, %ymm4 8260vpand mask32_to_16(%rip), %ymm3, %ymm3 8261vpand mask32_to_16(%rip), %ymm4, %ymm4 8262vpackusdw %ymm4, %ymm3, %ymm4 8263vmovdqa 992(%r8), %ymm3 8264vpaddw 1248(%r8), %ymm3, %ymm7 8265vpsubw 1248(%r8), %ymm3, %ymm3 8266vpsrlw $2, %ymm3, %ymm3 8267vpsubw %ymm6, %ymm3, %ymm3 8268vpmullw %ymm14, %ymm3, %ymm3 8269vpsllw $1, %ymm5, %ymm9 8270vpsubw %ymm9, %ymm7, %ymm9 8271vpsllw $7, %ymm11, %ymm7 8272vpsubw %ymm7, %ymm9, %ymm7 8273vpsrlw $3, %ymm7, %ymm7 8274vpsubw %ymm4, %ymm7, %ymm7 8275vmovdqa 1504(%r8), %ymm9 8276vpsubw %ymm5, %ymm9, %ymm9 8277vpmullw %ymm15, %ymm11, %ymm8 8278vpsubw %ymm8, %ymm9, %ymm8 8279vpmullw %ymm14, %ymm7, %ymm7 8280vpsubw %ymm7, %ymm4, %ymm4 8281vpmullw %ymm12, %ymm7, %ymm9 8282vpaddw %ymm9, %ymm4, %ymm9 8283vpmullw %ymm12, %ymm9, %ymm9 8284vpsubw %ymm9, %ymm8, %ymm9 8285vpmullw %ymm14, %ymm9, %ymm9 8286vpsubw %ymm6, %ymm9, %ymm9 8287vpsrlw $3, %ymm9, %ymm9 8288vpsubw %ymm3, %ymm9, %ymm9 8289vpsubw %ymm9, %ymm3, %ymm3 8290vpsubw %ymm3, %ymm6, %ymm6 8291vpmullw %ymm13, %ymm9, %ymm9 8292vpsubw %ymm9, %ymm6, %ymm6 8293vextracti128 $1, %ymm4, %xmm8 8294vpshufb shufmin1_mask3(%rip), %ymm8, %ymm8 8295vmovdqa %ymm8, 2816(%r8) 8296vextracti128 $1, %ymm3, %xmm8 8297vpshufb shufmin1_mask3(%rip), %ymm8, %ymm8 8298vmovdqa %ymm8, 2848(%r8) 8299vextracti128 $1, %ymm7, %xmm8 8300vpshufb shufmin1_mask3(%rip), %ymm8, %ymm8 8301vmovdqa %ymm8, 2880(%r8) 8302vmovdqu 680(%rdi), %ymm8 8303vmovdqu 1032(%rdi), %ymm10 8304 8305# Only 18 bytes can be read at 1384, but vmovdqu reads 32. 8306# Copy 18 bytes to the red zone and zero pad to 32 bytes. 8307xor %r9, %r9 8308movq %r9, -16(%rsp) 8309movq %r9, -8(%rsp) 8310movq 1384(%rdi), %r9 8311movq %r9, -32(%rsp) 8312movq 1384+8(%rdi), %r9 8313movq %r9, -24(%rsp) 8314movw 1384+16(%rdi), %r9w 8315movw %r9w, -16(%rsp) 8316vmovdqu -32(%rsp), %ymm2 8317 8318vpaddw %ymm5, %ymm8, %ymm5 8319vpaddw %ymm6, %ymm10, %ymm6 8320vpaddw %ymm4, %ymm2, %ymm4 8321vpshufb shuf48_16(%rip), %ymm3, %ymm3 8322vpand mask3_5_4_3_1(%rip), %ymm3, %ymm2 8323vpand mask5_3_5_3(%rip), %ymm3, %ymm3 8324vpermq $139, %ymm2, %ymm2 8325vpand mask_keephigh(%rip), %ymm2, %ymm10 8326vpor %ymm10, %ymm3, %ymm3 8327vmovdqu 328(%rdi), %ymm10 8328vpaddw 2016(%r8), %ymm10, %ymm10 8329vpaddw %ymm3, %ymm10, %ymm10 8330vpand mask_mod8192(%rip), %ymm10, %ymm10 8331vmovdqu %xmm10, 328(%rdi) 8332vextracti128 $1, %ymm10, %xmm10 8333vmovq %xmm10, 344(%rdi) 8334vpshufb shufmin1_mask3(%rip), %ymm10, %ymm10 8335vmovdqa %xmm10, 1792(%r8) 8336vmovdqa %xmm2, 2016(%r8) 8337vpshufb shuf48_16(%rip), %ymm7, %ymm7 8338vpand mask3_5_4_3_1(%rip), %ymm7, %ymm2 8339vpand mask5_3_5_3(%rip), %ymm7, %ymm7 8340vpermq $139, %ymm2, %ymm2 8341vpand mask_keephigh(%rip), %ymm2, %ymm10 8342vpor %ymm10, %ymm7, %ymm7 8343vpaddw 2272(%r8), %ymm5, %ymm5 8344vpaddw %ymm7, %ymm5, %ymm5 8345vmovdqa %xmm2, 2272(%r8) 8346vpshufb shuf48_16(%rip), %ymm9, %ymm9 8347vpand mask3_5_4_3_1(%rip), %ymm9, %ymm2 8348vpand mask5_3_5_3(%rip), %ymm9, %ymm9 8349vpermq $139, %ymm2, %ymm2 8350vpand mask_keephigh(%rip), %ymm2, %ymm10 8351vpor %ymm10, %ymm9, %ymm9 8352vpaddw 2528(%r8), %ymm6, %ymm6 8353vpaddw %ymm9, %ymm6, %ymm6 8354vmovdqa %xmm2, 2528(%r8) 8355vpshufb shuf48_16(%rip), %ymm11, %ymm11 8356vpand mask3_5_4_3_1(%rip), %ymm11, %ymm2 8357vpand mask5_3_5_3(%rip), %ymm11, %ymm11 8358vpermq $139, %ymm2, %ymm2 8359vpand mask_keephigh(%rip), %ymm2, %ymm10 8360vpor %ymm10, %ymm11, %ymm11 8361vpaddw 2784(%r8), %ymm4, %ymm4 8362vpaddw %ymm11, %ymm4, %ymm4 8363vmovdqa %xmm2, 2784(%r8) 8364vpand mask_mod8192(%rip), %ymm5, %ymm5 8365vmovdqu %xmm5, 680(%rdi) 8366vextracti128 $1, %ymm5, %xmm5 8367vmovq %xmm5, 696(%rdi) 8368vpand mask_mod8192(%rip), %ymm6, %ymm6 8369vmovdqu %xmm6, 1032(%rdi) 8370vextracti128 $1, %ymm6, %xmm6 8371vmovq %xmm6, 1048(%rdi) 8372vpand mask_mod8192(%rip), %ymm4, %ymm4 8373vmovdqu %xmm4, 1384(%rdi) 8374vextracti128 $1, %ymm4, %xmm4 8375vpextrw $0, %xmm4, 1400(%rdi) 8376vmovdqu 0(%rdi), %ymm11 8377vpaddw 1888(%r8), %ymm11, %ymm11 8378vpaddw 2816(%r8), %ymm11, %ymm11 8379vpand mask_mod8192(%rip), %ymm11, %ymm11 8380vmovdqu %ymm11, 0(%rdi) 8381vmovdqu 352(%rdi), %ymm11 8382vpaddw 2528(%r8), %ymm11, %ymm11 8383vpaddw 2848(%r8), %ymm11, %ymm11 8384vpand mask_mod8192(%rip), %ymm11, %ymm11 8385vmovdqu %ymm11, 352(%rdi) 8386vmovdqu 704(%rdi), %ymm11 8387vpaddw 2784(%r8), %ymm11, %ymm11 8388vpaddw 2880(%r8), %ymm11, %ymm11 8389vpand mask_mod8192(%rip), %ymm11, %ymm11 8390vmovdqu %ymm11, 704(%rdi) 8391vmovdqu 88(%rdi), %ymm11 8392vpaddw 2048(%r8), %ymm11, %ymm11 8393vpaddw 1920(%r8), %ymm11, %ymm11 8394vpand mask_mod8192(%rip), %ymm11, %ymm11 8395vmovdqu %ymm11, 88(%rdi) 8396vmovdqu 440(%rdi), %ymm11 8397vpaddw 2304(%r8), %ymm11, %ymm11 8398vpand mask_mod8192(%rip), %ymm11, %ymm11 8399vmovdqu %ymm11, 440(%rdi) 8400vmovdqu 792(%rdi), %ymm11 8401vpaddw 2560(%r8), %ymm11, %ymm11 8402vpand mask_mod8192(%rip), %ymm11, %ymm11 8403vmovdqu %ymm11, 792(%rdi) 8404vmovdqu 176(%rdi), %ymm11 8405vpaddw 2080(%r8), %ymm11, %ymm11 8406vpaddw 1952(%r8), %ymm11, %ymm11 8407vpand mask_mod8192(%rip), %ymm11, %ymm11 8408vmovdqu %ymm11, 176(%rdi) 8409vmovdqu 528(%rdi), %ymm11 8410vpaddw 2336(%r8), %ymm11, %ymm11 8411vpand mask_mod8192(%rip), %ymm11, %ymm11 8412vmovdqu %ymm11, 528(%rdi) 8413vmovdqu 880(%rdi), %ymm11 8414vpaddw 2592(%r8), %ymm11, %ymm11 8415vpand mask_mod8192(%rip), %ymm11, %ymm11 8416vmovdqu %ymm11, 880(%rdi) 8417vmovdqu 264(%rdi), %ymm11 8418vpaddw 2112(%r8), %ymm11, %ymm11 8419vpaddw 1984(%r8), %ymm11, %ymm11 8420vpand mask_mod8192(%rip), %ymm11, %ymm11 8421vmovdqu %ymm11, 264(%rdi) 8422vmovdqu 616(%rdi), %ymm11 8423vpaddw 2368(%r8), %ymm11, %ymm11 8424vpand mask_mod8192(%rip), %ymm11, %ymm11 8425vmovdqu %ymm11, 616(%rdi) 8426vmovdqu 968(%rdi), %ymm11 8427vpaddw 2624(%r8), %ymm11, %ymm11 8428vpand mask_mod8192(%rip), %ymm11, %ymm11 8429vmovdqu %ymm11, 968(%rdi) 8430vmovdqu 352(%rdi), %ymm11 8431vpaddw 2144(%r8), %ymm11, %ymm11 8432vpand mask_mod8192(%rip), %ymm11, %ymm11 8433vmovdqu %ymm11, 352(%rdi) 8434vmovdqu 704(%rdi), %ymm11 8435vpaddw 2400(%r8), %ymm11, %ymm11 8436vpand mask_mod8192(%rip), %ymm11, %ymm11 8437vmovdqu %ymm11, 704(%rdi) 8438vmovdqu 1056(%rdi), %ymm11 8439vpaddw 2656(%r8), %ymm11, %ymm11 8440vpand mask_mod8192(%rip), %ymm11, %ymm11 8441vmovdqu %ymm11, 1056(%rdi) 8442vmovdqu 440(%rdi), %ymm11 8443vpaddw 2176(%r8), %ymm11, %ymm11 8444vpand mask_mod8192(%rip), %ymm11, %ymm11 8445vmovdqu %ymm11, 440(%rdi) 8446vmovdqu 792(%rdi), %ymm11 8447vpaddw 2432(%r8), %ymm11, %ymm11 8448vpand mask_mod8192(%rip), %ymm11, %ymm11 8449vmovdqu %ymm11, 792(%rdi) 8450vmovdqu 1144(%rdi), %ymm11 8451vpaddw 2688(%r8), %ymm11, %ymm11 8452vpand mask_mod8192(%rip), %ymm11, %ymm11 8453vmovdqu %ymm11, 1144(%rdi) 8454vmovdqu 528(%rdi), %ymm11 8455vpaddw 2208(%r8), %ymm11, %ymm11 8456vpand mask_mod8192(%rip), %ymm11, %ymm11 8457vmovdqu %ymm11, 528(%rdi) 8458vmovdqu 880(%rdi), %ymm11 8459vpaddw 2464(%r8), %ymm11, %ymm11 8460vpand mask_mod8192(%rip), %ymm11, %ymm11 8461vmovdqu %ymm11, 880(%rdi) 8462vmovdqu 1232(%rdi), %ymm11 8463vpaddw 2720(%r8), %ymm11, %ymm11 8464vpand mask_mod8192(%rip), %ymm11, %ymm11 8465vmovdqu %ymm11, 1232(%rdi) 8466vmovdqu 616(%rdi), %ymm11 8467vpaddw 2240(%r8), %ymm11, %ymm11 8468vpand mask_mod8192(%rip), %ymm11, %ymm11 8469vmovdqu %ymm11, 616(%rdi) 8470vmovdqu 968(%rdi), %ymm11 8471vpaddw 2496(%r8), %ymm11, %ymm11 8472vpand mask_mod8192(%rip), %ymm11, %ymm11 8473vmovdqu %ymm11, 968(%rdi) 8474vmovdqu 1320(%rdi), %ymm11 8475vpaddw 2752(%r8), %ymm11, %ymm11 8476vpand mask_mod8192(%rip), %ymm11, %ymm11 8477vmovdqu %ymm11, 1320(%rdi) 8478pop %r12 8479.cfi_restore r12 8480pop %rbp 8481.cfi_restore rbp 8482.cfi_def_cfa_register rsp 8483.cfi_adjust_cfa_offset -8 8484ret 8485.cfi_endproc 8486.size poly_Rq_mul,.-poly_Rq_mul 8487 8488#endif 8489