...

Text file src/github.com/cloudflare/circl/sign/dilithium/internal/common/amd64.s

Documentation: github.com/cloudflare/circl/sign/dilithium/internal/common

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

View as plain text