...

Text file src/crypto/sha1/sha1block_amd64.s

Documentation: crypto/sha1

     1// Code generated by command: go run sha1block_amd64_asm.go -out ../sha1block_amd64.s -pkg sha1. DO NOT EDIT.
     2
     3//go:build !purego
     4
     5#include "textflag.h"
     6
     7// func blockAMD64(dig *digest, p []byte)
     8TEXT ·blockAMD64(SB), NOSPLIT, $64-32
     9	MOVQ dig+0(FP), BP
    10	MOVQ p_base+8(FP), SI
    11	MOVQ p_len+16(FP), DX
    12	SHRQ $0x06, DX
    13	SHLQ $0x06, DX
    14	LEAQ (SI)(DX*1), DI
    15	MOVL (BP), AX
    16	MOVL 4(BP), BX
    17	MOVL 8(BP), CX
    18	MOVL 12(BP), DX
    19	MOVL 16(BP), BP
    20	CMPQ SI, DI
    21	JEQ  end
    22
    23loop:
    24	MOVL   AX, R11
    25	MOVL   BX, R12
    26	MOVL   CX, R13
    27	MOVL   DX, R14
    28	MOVL   BP, R15
    29	MOVL   (SI), R10
    30	BSWAPL R10
    31	MOVL   R10, (SP)
    32	MOVL   DX, R9
    33	XORL   CX, R9
    34	ANDL   BX, R9
    35	XORL   DX, R9
    36	ROLL   $0x1e, BX
    37	ADDL   R9, BP
    38	MOVL   AX, R8
    39	ROLL   $0x05, R8
    40	LEAL   1518500249(BP)(R10*1), BP
    41	ADDL   R8, BP
    42	MOVL   4(SI), R10
    43	BSWAPL R10
    44	MOVL   R10, 4(SP)
    45	MOVL   CX, R9
    46	XORL   BX, R9
    47	ANDL   AX, R9
    48	XORL   CX, R9
    49	ROLL   $0x1e, AX
    50	ADDL   R9, DX
    51	MOVL   BP, R8
    52	ROLL   $0x05, R8
    53	LEAL   1518500249(DX)(R10*1), DX
    54	ADDL   R8, DX
    55	MOVL   8(SI), R10
    56	BSWAPL R10
    57	MOVL   R10, 8(SP)
    58	MOVL   BX, R9
    59	XORL   AX, R9
    60	ANDL   BP, R9
    61	XORL   BX, R9
    62	ROLL   $0x1e, BP
    63	ADDL   R9, CX
    64	MOVL   DX, R8
    65	ROLL   $0x05, R8
    66	LEAL   1518500249(CX)(R10*1), CX
    67	ADDL   R8, CX
    68	MOVL   12(SI), R10
    69	BSWAPL R10
    70	MOVL   R10, 12(SP)
    71	MOVL   AX, R9
    72	XORL   BP, R9
    73	ANDL   DX, R9
    74	XORL   AX, R9
    75	ROLL   $0x1e, DX
    76	ADDL   R9, BX
    77	MOVL   CX, R8
    78	ROLL   $0x05, R8
    79	LEAL   1518500249(BX)(R10*1), BX
    80	ADDL   R8, BX
    81	MOVL   16(SI), R10
    82	BSWAPL R10
    83	MOVL   R10, 16(SP)
    84	MOVL   BP, R9
    85	XORL   DX, R9
    86	ANDL   CX, R9
    87	XORL   BP, R9
    88	ROLL   $0x1e, CX
    89	ADDL   R9, AX
    90	MOVL   BX, R8
    91	ROLL   $0x05, R8
    92	LEAL   1518500249(AX)(R10*1), AX
    93	ADDL   R8, AX
    94	MOVL   20(SI), R10
    95	BSWAPL R10
    96	MOVL   R10, 20(SP)
    97	MOVL   DX, R9
    98	XORL   CX, R9
    99	ANDL   BX, R9
   100	XORL   DX, R9
   101	ROLL   $0x1e, BX
   102	ADDL   R9, BP
   103	MOVL   AX, R8
   104	ROLL   $0x05, R8
   105	LEAL   1518500249(BP)(R10*1), BP
   106	ADDL   R8, BP
   107	MOVL   24(SI), R10
   108	BSWAPL R10
   109	MOVL   R10, 24(SP)
   110	MOVL   CX, R9
   111	XORL   BX, R9
   112	ANDL   AX, R9
   113	XORL   CX, R9
   114	ROLL   $0x1e, AX
   115	ADDL   R9, DX
   116	MOVL   BP, R8
   117	ROLL   $0x05, R8
   118	LEAL   1518500249(DX)(R10*1), DX
   119	ADDL   R8, DX
   120	MOVL   28(SI), R10
   121	BSWAPL R10
   122	MOVL   R10, 28(SP)
   123	MOVL   BX, R9
   124	XORL   AX, R9
   125	ANDL   BP, R9
   126	XORL   BX, R9
   127	ROLL   $0x1e, BP
   128	ADDL   R9, CX
   129	MOVL   DX, R8
   130	ROLL   $0x05, R8
   131	LEAL   1518500249(CX)(R10*1), CX
   132	ADDL   R8, CX
   133	MOVL   32(SI), R10
   134	BSWAPL R10
   135	MOVL   R10, 32(SP)
   136	MOVL   AX, R9
   137	XORL   BP, R9
   138	ANDL   DX, R9
   139	XORL   AX, R9
   140	ROLL   $0x1e, DX
   141	ADDL   R9, BX
   142	MOVL   CX, R8
   143	ROLL   $0x05, R8
   144	LEAL   1518500249(BX)(R10*1), BX
   145	ADDL   R8, BX
   146	MOVL   36(SI), R10
   147	BSWAPL R10
   148	MOVL   R10, 36(SP)
   149	MOVL   BP, R9
   150	XORL   DX, R9
   151	ANDL   CX, R9
   152	XORL   BP, R9
   153	ROLL   $0x1e, CX
   154	ADDL   R9, AX
   155	MOVL   BX, R8
   156	ROLL   $0x05, R8
   157	LEAL   1518500249(AX)(R10*1), AX
   158	ADDL   R8, AX
   159	MOVL   40(SI), R10
   160	BSWAPL R10
   161	MOVL   R10, 40(SP)
   162	MOVL   DX, R9
   163	XORL   CX, R9
   164	ANDL   BX, R9
   165	XORL   DX, R9
   166	ROLL   $0x1e, BX
   167	ADDL   R9, BP
   168	MOVL   AX, R8
   169	ROLL   $0x05, R8
   170	LEAL   1518500249(BP)(R10*1), BP
   171	ADDL   R8, BP
   172	MOVL   44(SI), R10
   173	BSWAPL R10
   174	MOVL   R10, 44(SP)
   175	MOVL   CX, R9
   176	XORL   BX, R9
   177	ANDL   AX, R9
   178	XORL   CX, R9
   179	ROLL   $0x1e, AX
   180	ADDL   R9, DX
   181	MOVL   BP, R8
   182	ROLL   $0x05, R8
   183	LEAL   1518500249(DX)(R10*1), DX
   184	ADDL   R8, DX
   185	MOVL   48(SI), R10
   186	BSWAPL R10
   187	MOVL   R10, 48(SP)
   188	MOVL   BX, R9
   189	XORL   AX, R9
   190	ANDL   BP, R9
   191	XORL   BX, R9
   192	ROLL   $0x1e, BP
   193	ADDL   R9, CX
   194	MOVL   DX, R8
   195	ROLL   $0x05, R8
   196	LEAL   1518500249(CX)(R10*1), CX
   197	ADDL   R8, CX
   198	MOVL   52(SI), R10
   199	BSWAPL R10
   200	MOVL   R10, 52(SP)
   201	MOVL   AX, R9
   202	XORL   BP, R9
   203	ANDL   DX, R9
   204	XORL   AX, R9
   205	ROLL   $0x1e, DX
   206	ADDL   R9, BX
   207	MOVL   CX, R8
   208	ROLL   $0x05, R8
   209	LEAL   1518500249(BX)(R10*1), BX
   210	ADDL   R8, BX
   211	MOVL   56(SI), R10
   212	BSWAPL R10
   213	MOVL   R10, 56(SP)
   214	MOVL   BP, R9
   215	XORL   DX, R9
   216	ANDL   CX, R9
   217	XORL   BP, R9
   218	ROLL   $0x1e, CX
   219	ADDL   R9, AX
   220	MOVL   BX, R8
   221	ROLL   $0x05, R8
   222	LEAL   1518500249(AX)(R10*1), AX
   223	ADDL   R8, AX
   224	MOVL   60(SI), R10
   225	BSWAPL R10
   226	MOVL   R10, 60(SP)
   227	MOVL   DX, R9
   228	XORL   CX, R9
   229	ANDL   BX, R9
   230	XORL   DX, R9
   231	ROLL   $0x1e, BX
   232	ADDL   R9, BP
   233	MOVL   AX, R8
   234	ROLL   $0x05, R8
   235	LEAL   1518500249(BP)(R10*1), BP
   236	ADDL   R8, BP
   237	MOVL   (SP), R10
   238	XORL   52(SP), R10
   239	XORL   32(SP), R10
   240	XORL   8(SP), R10
   241	ROLL   $0x01, R10
   242	MOVL   R10, (SP)
   243	MOVL   CX, R9
   244	XORL   BX, R9
   245	ANDL   AX, R9
   246	XORL   CX, R9
   247	ROLL   $0x1e, AX
   248	ADDL   R9, DX
   249	MOVL   BP, R8
   250	ROLL   $0x05, R8
   251	LEAL   1518500249(DX)(R10*1), DX
   252	ADDL   R8, DX
   253	MOVL   4(SP), R10
   254	XORL   56(SP), R10
   255	XORL   36(SP), R10
   256	XORL   12(SP), R10
   257	ROLL   $0x01, R10
   258	MOVL   R10, 4(SP)
   259	MOVL   BX, R9
   260	XORL   AX, R9
   261	ANDL   BP, R9
   262	XORL   BX, R9
   263	ROLL   $0x1e, BP
   264	ADDL   R9, CX
   265	MOVL   DX, R8
   266	ROLL   $0x05, R8
   267	LEAL   1518500249(CX)(R10*1), CX
   268	ADDL   R8, CX
   269	MOVL   8(SP), R10
   270	XORL   60(SP), R10
   271	XORL   40(SP), R10
   272	XORL   16(SP), R10
   273	ROLL   $0x01, R10
   274	MOVL   R10, 8(SP)
   275	MOVL   AX, R9
   276	XORL   BP, R9
   277	ANDL   DX, R9
   278	XORL   AX, R9
   279	ROLL   $0x1e, DX
   280	ADDL   R9, BX
   281	MOVL   CX, R8
   282	ROLL   $0x05, R8
   283	LEAL   1518500249(BX)(R10*1), BX
   284	ADDL   R8, BX
   285	MOVL   12(SP), R10
   286	XORL   (SP), R10
   287	XORL   44(SP), R10
   288	XORL   20(SP), R10
   289	ROLL   $0x01, R10
   290	MOVL   R10, 12(SP)
   291	MOVL   BP, R9
   292	XORL   DX, R9
   293	ANDL   CX, R9
   294	XORL   BP, R9
   295	ROLL   $0x1e, CX
   296	ADDL   R9, AX
   297	MOVL   BX, R8
   298	ROLL   $0x05, R8
   299	LEAL   1518500249(AX)(R10*1), AX
   300	ADDL   R8, AX
   301	MOVL   16(SP), R10
   302	XORL   4(SP), R10
   303	XORL   48(SP), R10
   304	XORL   24(SP), R10
   305	ROLL   $0x01, R10
   306	MOVL   R10, 16(SP)
   307	MOVL   BX, R9
   308	XORL   CX, R9
   309	XORL   DX, R9
   310	ROLL   $0x1e, BX
   311	ADDL   R9, BP
   312	MOVL   AX, R8
   313	ROLL   $0x05, R8
   314	LEAL   1859775393(BP)(R10*1), BP
   315	ADDL   R8, BP
   316	MOVL   20(SP), R10
   317	XORL   8(SP), R10
   318	XORL   52(SP), R10
   319	XORL   28(SP), R10
   320	ROLL   $0x01, R10
   321	MOVL   R10, 20(SP)
   322	MOVL   AX, R9
   323	XORL   BX, R9
   324	XORL   CX, R9
   325	ROLL   $0x1e, AX
   326	ADDL   R9, DX
   327	MOVL   BP, R8
   328	ROLL   $0x05, R8
   329	LEAL   1859775393(DX)(R10*1), DX
   330	ADDL   R8, DX
   331	MOVL   24(SP), R10
   332	XORL   12(SP), R10
   333	XORL   56(SP), R10
   334	XORL   32(SP), R10
   335	ROLL   $0x01, R10
   336	MOVL   R10, 24(SP)
   337	MOVL   BP, R9
   338	XORL   AX, R9
   339	XORL   BX, R9
   340	ROLL   $0x1e, BP
   341	ADDL   R9, CX
   342	MOVL   DX, R8
   343	ROLL   $0x05, R8
   344	LEAL   1859775393(CX)(R10*1), CX
   345	ADDL   R8, CX
   346	MOVL   28(SP), R10
   347	XORL   16(SP), R10
   348	XORL   60(SP), R10
   349	XORL   36(SP), R10
   350	ROLL   $0x01, R10
   351	MOVL   R10, 28(SP)
   352	MOVL   DX, R9
   353	XORL   BP, R9
   354	XORL   AX, R9
   355	ROLL   $0x1e, DX
   356	ADDL   R9, BX
   357	MOVL   CX, R8
   358	ROLL   $0x05, R8
   359	LEAL   1859775393(BX)(R10*1), BX
   360	ADDL   R8, BX
   361	MOVL   32(SP), R10
   362	XORL   20(SP), R10
   363	XORL   (SP), R10
   364	XORL   40(SP), R10
   365	ROLL   $0x01, R10
   366	MOVL   R10, 32(SP)
   367	MOVL   CX, R9
   368	XORL   DX, R9
   369	XORL   BP, R9
   370	ROLL   $0x1e, CX
   371	ADDL   R9, AX
   372	MOVL   BX, R8
   373	ROLL   $0x05, R8
   374	LEAL   1859775393(AX)(R10*1), AX
   375	ADDL   R8, AX
   376	MOVL   36(SP), R10
   377	XORL   24(SP), R10
   378	XORL   4(SP), R10
   379	XORL   44(SP), R10
   380	ROLL   $0x01, R10
   381	MOVL   R10, 36(SP)
   382	MOVL   BX, R9
   383	XORL   CX, R9
   384	XORL   DX, R9
   385	ROLL   $0x1e, BX
   386	ADDL   R9, BP
   387	MOVL   AX, R8
   388	ROLL   $0x05, R8
   389	LEAL   1859775393(BP)(R10*1), BP
   390	ADDL   R8, BP
   391	MOVL   40(SP), R10
   392	XORL   28(SP), R10
   393	XORL   8(SP), R10
   394	XORL   48(SP), R10
   395	ROLL   $0x01, R10
   396	MOVL   R10, 40(SP)
   397	MOVL   AX, R9
   398	XORL   BX, R9
   399	XORL   CX, R9
   400	ROLL   $0x1e, AX
   401	ADDL   R9, DX
   402	MOVL   BP, R8
   403	ROLL   $0x05, R8
   404	LEAL   1859775393(DX)(R10*1), DX
   405	ADDL   R8, DX
   406	MOVL   44(SP), R10
   407	XORL   32(SP), R10
   408	XORL   12(SP), R10
   409	XORL   52(SP), R10
   410	ROLL   $0x01, R10
   411	MOVL   R10, 44(SP)
   412	MOVL   BP, R9
   413	XORL   AX, R9
   414	XORL   BX, R9
   415	ROLL   $0x1e, BP
   416	ADDL   R9, CX
   417	MOVL   DX, R8
   418	ROLL   $0x05, R8
   419	LEAL   1859775393(CX)(R10*1), CX
   420	ADDL   R8, CX
   421	MOVL   48(SP), R10
   422	XORL   36(SP), R10
   423	XORL   16(SP), R10
   424	XORL   56(SP), R10
   425	ROLL   $0x01, R10
   426	MOVL   R10, 48(SP)
   427	MOVL   DX, R9
   428	XORL   BP, R9
   429	XORL   AX, R9
   430	ROLL   $0x1e, DX
   431	ADDL   R9, BX
   432	MOVL   CX, R8
   433	ROLL   $0x05, R8
   434	LEAL   1859775393(BX)(R10*1), BX
   435	ADDL   R8, BX
   436	MOVL   52(SP), R10
   437	XORL   40(SP), R10
   438	XORL   20(SP), R10
   439	XORL   60(SP), R10
   440	ROLL   $0x01, R10
   441	MOVL   R10, 52(SP)
   442	MOVL   CX, R9
   443	XORL   DX, R9
   444	XORL   BP, R9
   445	ROLL   $0x1e, CX
   446	ADDL   R9, AX
   447	MOVL   BX, R8
   448	ROLL   $0x05, R8
   449	LEAL   1859775393(AX)(R10*1), AX
   450	ADDL   R8, AX
   451	MOVL   56(SP), R10
   452	XORL   44(SP), R10
   453	XORL   24(SP), R10
   454	XORL   (SP), R10
   455	ROLL   $0x01, R10
   456	MOVL   R10, 56(SP)
   457	MOVL   BX, R9
   458	XORL   CX, R9
   459	XORL   DX, R9
   460	ROLL   $0x1e, BX
   461	ADDL   R9, BP
   462	MOVL   AX, R8
   463	ROLL   $0x05, R8
   464	LEAL   1859775393(BP)(R10*1), BP
   465	ADDL   R8, BP
   466	MOVL   60(SP), R10
   467	XORL   48(SP), R10
   468	XORL   28(SP), R10
   469	XORL   4(SP), R10
   470	ROLL   $0x01, R10
   471	MOVL   R10, 60(SP)
   472	MOVL   AX, R9
   473	XORL   BX, R9
   474	XORL   CX, R9
   475	ROLL   $0x1e, AX
   476	ADDL   R9, DX
   477	MOVL   BP, R8
   478	ROLL   $0x05, R8
   479	LEAL   1859775393(DX)(R10*1), DX
   480	ADDL   R8, DX
   481	MOVL   (SP), R10
   482	XORL   52(SP), R10
   483	XORL   32(SP), R10
   484	XORL   8(SP), R10
   485	ROLL   $0x01, R10
   486	MOVL   R10, (SP)
   487	MOVL   BP, R9
   488	XORL   AX, R9
   489	XORL   BX, R9
   490	ROLL   $0x1e, BP
   491	ADDL   R9, CX
   492	MOVL   DX, R8
   493	ROLL   $0x05, R8
   494	LEAL   1859775393(CX)(R10*1), CX
   495	ADDL   R8, CX
   496	MOVL   4(SP), R10
   497	XORL   56(SP), R10
   498	XORL   36(SP), R10
   499	XORL   12(SP), R10
   500	ROLL   $0x01, R10
   501	MOVL   R10, 4(SP)
   502	MOVL   DX, R9
   503	XORL   BP, R9
   504	XORL   AX, R9
   505	ROLL   $0x1e, DX
   506	ADDL   R9, BX
   507	MOVL   CX, R8
   508	ROLL   $0x05, R8
   509	LEAL   1859775393(BX)(R10*1), BX
   510	ADDL   R8, BX
   511	MOVL   8(SP), R10
   512	XORL   60(SP), R10
   513	XORL   40(SP), R10
   514	XORL   16(SP), R10
   515	ROLL   $0x01, R10
   516	MOVL   R10, 8(SP)
   517	MOVL   CX, R9
   518	XORL   DX, R9
   519	XORL   BP, R9
   520	ROLL   $0x1e, CX
   521	ADDL   R9, AX
   522	MOVL   BX, R8
   523	ROLL   $0x05, R8
   524	LEAL   1859775393(AX)(R10*1), AX
   525	ADDL   R8, AX
   526	MOVL   12(SP), R10
   527	XORL   (SP), R10
   528	XORL   44(SP), R10
   529	XORL   20(SP), R10
   530	ROLL   $0x01, R10
   531	MOVL   R10, 12(SP)
   532	MOVL   BX, R9
   533	XORL   CX, R9
   534	XORL   DX, R9
   535	ROLL   $0x1e, BX
   536	ADDL   R9, BP
   537	MOVL   AX, R8
   538	ROLL   $0x05, R8
   539	LEAL   1859775393(BP)(R10*1), BP
   540	ADDL   R8, BP
   541	MOVL   16(SP), R10
   542	XORL   4(SP), R10
   543	XORL   48(SP), R10
   544	XORL   24(SP), R10
   545	ROLL   $0x01, R10
   546	MOVL   R10, 16(SP)
   547	MOVL   AX, R9
   548	XORL   BX, R9
   549	XORL   CX, R9
   550	ROLL   $0x1e, AX
   551	ADDL   R9, DX
   552	MOVL   BP, R8
   553	ROLL   $0x05, R8
   554	LEAL   1859775393(DX)(R10*1), DX
   555	ADDL   R8, DX
   556	MOVL   20(SP), R10
   557	XORL   8(SP), R10
   558	XORL   52(SP), R10
   559	XORL   28(SP), R10
   560	ROLL   $0x01, R10
   561	MOVL   R10, 20(SP)
   562	MOVL   BP, R9
   563	XORL   AX, R9
   564	XORL   BX, R9
   565	ROLL   $0x1e, BP
   566	ADDL   R9, CX
   567	MOVL   DX, R8
   568	ROLL   $0x05, R8
   569	LEAL   1859775393(CX)(R10*1), CX
   570	ADDL   R8, CX
   571	MOVL   24(SP), R10
   572	XORL   12(SP), R10
   573	XORL   56(SP), R10
   574	XORL   32(SP), R10
   575	ROLL   $0x01, R10
   576	MOVL   R10, 24(SP)
   577	MOVL   DX, R9
   578	XORL   BP, R9
   579	XORL   AX, R9
   580	ROLL   $0x1e, DX
   581	ADDL   R9, BX
   582	MOVL   CX, R8
   583	ROLL   $0x05, R8
   584	LEAL   1859775393(BX)(R10*1), BX
   585	ADDL   R8, BX
   586	MOVL   28(SP), R10
   587	XORL   16(SP), R10
   588	XORL   60(SP), R10
   589	XORL   36(SP), R10
   590	ROLL   $0x01, R10
   591	MOVL   R10, 28(SP)
   592	MOVL   CX, R9
   593	XORL   DX, R9
   594	XORL   BP, R9
   595	ROLL   $0x1e, CX
   596	ADDL   R9, AX
   597	MOVL   BX, R8
   598	ROLL   $0x05, R8
   599	LEAL   1859775393(AX)(R10*1), AX
   600	ADDL   R8, AX
   601	MOVL   32(SP), R10
   602	XORL   20(SP), R10
   603	XORL   (SP), R10
   604	XORL   40(SP), R10
   605	ROLL   $0x01, R10
   606	MOVL   R10, 32(SP)
   607	MOVL   BX, R8
   608	ORL    CX, R8
   609	ANDL   DX, R8
   610	MOVL   BX, R9
   611	ANDL   CX, R9
   612	ORL    R8, R9
   613	ROLL   $0x1e, BX
   614	ADDL   R9, BP
   615	MOVL   AX, R8
   616	ROLL   $0x05, R8
   617	LEAL   2400959708(BP)(R10*1), BP
   618	ADDL   R8, BP
   619	MOVL   36(SP), R10
   620	XORL   24(SP), R10
   621	XORL   4(SP), R10
   622	XORL   44(SP), R10
   623	ROLL   $0x01, R10
   624	MOVL   R10, 36(SP)
   625	MOVL   AX, R8
   626	ORL    BX, R8
   627	ANDL   CX, R8
   628	MOVL   AX, R9
   629	ANDL   BX, R9
   630	ORL    R8, R9
   631	ROLL   $0x1e, AX
   632	ADDL   R9, DX
   633	MOVL   BP, R8
   634	ROLL   $0x05, R8
   635	LEAL   2400959708(DX)(R10*1), DX
   636	ADDL   R8, DX
   637	MOVL   40(SP), R10
   638	XORL   28(SP), R10
   639	XORL   8(SP), R10
   640	XORL   48(SP), R10
   641	ROLL   $0x01, R10
   642	MOVL   R10, 40(SP)
   643	MOVL   BP, R8
   644	ORL    AX, R8
   645	ANDL   BX, R8
   646	MOVL   BP, R9
   647	ANDL   AX, R9
   648	ORL    R8, R9
   649	ROLL   $0x1e, BP
   650	ADDL   R9, CX
   651	MOVL   DX, R8
   652	ROLL   $0x05, R8
   653	LEAL   2400959708(CX)(R10*1), CX
   654	ADDL   R8, CX
   655	MOVL   44(SP), R10
   656	XORL   32(SP), R10
   657	XORL   12(SP), R10
   658	XORL   52(SP), R10
   659	ROLL   $0x01, R10
   660	MOVL   R10, 44(SP)
   661	MOVL   DX, R8
   662	ORL    BP, R8
   663	ANDL   AX, R8
   664	MOVL   DX, R9
   665	ANDL   BP, R9
   666	ORL    R8, R9
   667	ROLL   $0x1e, DX
   668	ADDL   R9, BX
   669	MOVL   CX, R8
   670	ROLL   $0x05, R8
   671	LEAL   2400959708(BX)(R10*1), BX
   672	ADDL   R8, BX
   673	MOVL   48(SP), R10
   674	XORL   36(SP), R10
   675	XORL   16(SP), R10
   676	XORL   56(SP), R10
   677	ROLL   $0x01, R10
   678	MOVL   R10, 48(SP)
   679	MOVL   CX, R8
   680	ORL    DX, R8
   681	ANDL   BP, R8
   682	MOVL   CX, R9
   683	ANDL   DX, R9
   684	ORL    R8, R9
   685	ROLL   $0x1e, CX
   686	ADDL   R9, AX
   687	MOVL   BX, R8
   688	ROLL   $0x05, R8
   689	LEAL   2400959708(AX)(R10*1), AX
   690	ADDL   R8, AX
   691	MOVL   52(SP), R10
   692	XORL   40(SP), R10
   693	XORL   20(SP), R10
   694	XORL   60(SP), R10
   695	ROLL   $0x01, R10
   696	MOVL   R10, 52(SP)
   697	MOVL   BX, R8
   698	ORL    CX, R8
   699	ANDL   DX, R8
   700	MOVL   BX, R9
   701	ANDL   CX, R9
   702	ORL    R8, R9
   703	ROLL   $0x1e, BX
   704	ADDL   R9, BP
   705	MOVL   AX, R8
   706	ROLL   $0x05, R8
   707	LEAL   2400959708(BP)(R10*1), BP
   708	ADDL   R8, BP
   709	MOVL   56(SP), R10
   710	XORL   44(SP), R10
   711	XORL   24(SP), R10
   712	XORL   (SP), R10
   713	ROLL   $0x01, R10
   714	MOVL   R10, 56(SP)
   715	MOVL   AX, R8
   716	ORL    BX, R8
   717	ANDL   CX, R8
   718	MOVL   AX, R9
   719	ANDL   BX, R9
   720	ORL    R8, R9
   721	ROLL   $0x1e, AX
   722	ADDL   R9, DX
   723	MOVL   BP, R8
   724	ROLL   $0x05, R8
   725	LEAL   2400959708(DX)(R10*1), DX
   726	ADDL   R8, DX
   727	MOVL   60(SP), R10
   728	XORL   48(SP), R10
   729	XORL   28(SP), R10
   730	XORL   4(SP), R10
   731	ROLL   $0x01, R10
   732	MOVL   R10, 60(SP)
   733	MOVL   BP, R8
   734	ORL    AX, R8
   735	ANDL   BX, R8
   736	MOVL   BP, R9
   737	ANDL   AX, R9
   738	ORL    R8, R9
   739	ROLL   $0x1e, BP
   740	ADDL   R9, CX
   741	MOVL   DX, R8
   742	ROLL   $0x05, R8
   743	LEAL   2400959708(CX)(R10*1), CX
   744	ADDL   R8, CX
   745	MOVL   (SP), R10
   746	XORL   52(SP), R10
   747	XORL   32(SP), R10
   748	XORL   8(SP), R10
   749	ROLL   $0x01, R10
   750	MOVL   R10, (SP)
   751	MOVL   DX, R8
   752	ORL    BP, R8
   753	ANDL   AX, R8
   754	MOVL   DX, R9
   755	ANDL   BP, R9
   756	ORL    R8, R9
   757	ROLL   $0x1e, DX
   758	ADDL   R9, BX
   759	MOVL   CX, R8
   760	ROLL   $0x05, R8
   761	LEAL   2400959708(BX)(R10*1), BX
   762	ADDL   R8, BX
   763	MOVL   4(SP), R10
   764	XORL   56(SP), R10
   765	XORL   36(SP), R10
   766	XORL   12(SP), R10
   767	ROLL   $0x01, R10
   768	MOVL   R10, 4(SP)
   769	MOVL   CX, R8
   770	ORL    DX, R8
   771	ANDL   BP, R8
   772	MOVL   CX, R9
   773	ANDL   DX, R9
   774	ORL    R8, R9
   775	ROLL   $0x1e, CX
   776	ADDL   R9, AX
   777	MOVL   BX, R8
   778	ROLL   $0x05, R8
   779	LEAL   2400959708(AX)(R10*1), AX
   780	ADDL   R8, AX
   781	MOVL   8(SP), R10
   782	XORL   60(SP), R10
   783	XORL   40(SP), R10
   784	XORL   16(SP), R10
   785	ROLL   $0x01, R10
   786	MOVL   R10, 8(SP)
   787	MOVL   BX, R8
   788	ORL    CX, R8
   789	ANDL   DX, R8
   790	MOVL   BX, R9
   791	ANDL   CX, R9
   792	ORL    R8, R9
   793	ROLL   $0x1e, BX
   794	ADDL   R9, BP
   795	MOVL   AX, R8
   796	ROLL   $0x05, R8
   797	LEAL   2400959708(BP)(R10*1), BP
   798	ADDL   R8, BP
   799	MOVL   12(SP), R10
   800	XORL   (SP), R10
   801	XORL   44(SP), R10
   802	XORL   20(SP), R10
   803	ROLL   $0x01, R10
   804	MOVL   R10, 12(SP)
   805	MOVL   AX, R8
   806	ORL    BX, R8
   807	ANDL   CX, R8
   808	MOVL   AX, R9
   809	ANDL   BX, R9
   810	ORL    R8, R9
   811	ROLL   $0x1e, AX
   812	ADDL   R9, DX
   813	MOVL   BP, R8
   814	ROLL   $0x05, R8
   815	LEAL   2400959708(DX)(R10*1), DX
   816	ADDL   R8, DX
   817	MOVL   16(SP), R10
   818	XORL   4(SP), R10
   819	XORL   48(SP), R10
   820	XORL   24(SP), R10
   821	ROLL   $0x01, R10
   822	MOVL   R10, 16(SP)
   823	MOVL   BP, R8
   824	ORL    AX, R8
   825	ANDL   BX, R8
   826	MOVL   BP, R9
   827	ANDL   AX, R9
   828	ORL    R8, R9
   829	ROLL   $0x1e, BP
   830	ADDL   R9, CX
   831	MOVL   DX, R8
   832	ROLL   $0x05, R8
   833	LEAL   2400959708(CX)(R10*1), CX
   834	ADDL   R8, CX
   835	MOVL   20(SP), R10
   836	XORL   8(SP), R10
   837	XORL   52(SP), R10
   838	XORL   28(SP), R10
   839	ROLL   $0x01, R10
   840	MOVL   R10, 20(SP)
   841	MOVL   DX, R8
   842	ORL    BP, R8
   843	ANDL   AX, R8
   844	MOVL   DX, R9
   845	ANDL   BP, R9
   846	ORL    R8, R9
   847	ROLL   $0x1e, DX
   848	ADDL   R9, BX
   849	MOVL   CX, R8
   850	ROLL   $0x05, R8
   851	LEAL   2400959708(BX)(R10*1), BX
   852	ADDL   R8, BX
   853	MOVL   24(SP), R10
   854	XORL   12(SP), R10
   855	XORL   56(SP), R10
   856	XORL   32(SP), R10
   857	ROLL   $0x01, R10
   858	MOVL   R10, 24(SP)
   859	MOVL   CX, R8
   860	ORL    DX, R8
   861	ANDL   BP, R8
   862	MOVL   CX, R9
   863	ANDL   DX, R9
   864	ORL    R8, R9
   865	ROLL   $0x1e, CX
   866	ADDL   R9, AX
   867	MOVL   BX, R8
   868	ROLL   $0x05, R8
   869	LEAL   2400959708(AX)(R10*1), AX
   870	ADDL   R8, AX
   871	MOVL   28(SP), R10
   872	XORL   16(SP), R10
   873	XORL   60(SP), R10
   874	XORL   36(SP), R10
   875	ROLL   $0x01, R10
   876	MOVL   R10, 28(SP)
   877	MOVL   BX, R8
   878	ORL    CX, R8
   879	ANDL   DX, R8
   880	MOVL   BX, R9
   881	ANDL   CX, R9
   882	ORL    R8, R9
   883	ROLL   $0x1e, BX
   884	ADDL   R9, BP
   885	MOVL   AX, R8
   886	ROLL   $0x05, R8
   887	LEAL   2400959708(BP)(R10*1), BP
   888	ADDL   R8, BP
   889	MOVL   32(SP), R10
   890	XORL   20(SP), R10
   891	XORL   (SP), R10
   892	XORL   40(SP), R10
   893	ROLL   $0x01, R10
   894	MOVL   R10, 32(SP)
   895	MOVL   AX, R8
   896	ORL    BX, R8
   897	ANDL   CX, R8
   898	MOVL   AX, R9
   899	ANDL   BX, R9
   900	ORL    R8, R9
   901	ROLL   $0x1e, AX
   902	ADDL   R9, DX
   903	MOVL   BP, R8
   904	ROLL   $0x05, R8
   905	LEAL   2400959708(DX)(R10*1), DX
   906	ADDL   R8, DX
   907	MOVL   36(SP), R10
   908	XORL   24(SP), R10
   909	XORL   4(SP), R10
   910	XORL   44(SP), R10
   911	ROLL   $0x01, R10
   912	MOVL   R10, 36(SP)
   913	MOVL   BP, R8
   914	ORL    AX, R8
   915	ANDL   BX, R8
   916	MOVL   BP, R9
   917	ANDL   AX, R9
   918	ORL    R8, R9
   919	ROLL   $0x1e, BP
   920	ADDL   R9, CX
   921	MOVL   DX, R8
   922	ROLL   $0x05, R8
   923	LEAL   2400959708(CX)(R10*1), CX
   924	ADDL   R8, CX
   925	MOVL   40(SP), R10
   926	XORL   28(SP), R10
   927	XORL   8(SP), R10
   928	XORL   48(SP), R10
   929	ROLL   $0x01, R10
   930	MOVL   R10, 40(SP)
   931	MOVL   DX, R8
   932	ORL    BP, R8
   933	ANDL   AX, R8
   934	MOVL   DX, R9
   935	ANDL   BP, R9
   936	ORL    R8, R9
   937	ROLL   $0x1e, DX
   938	ADDL   R9, BX
   939	MOVL   CX, R8
   940	ROLL   $0x05, R8
   941	LEAL   2400959708(BX)(R10*1), BX
   942	ADDL   R8, BX
   943	MOVL   44(SP), R10
   944	XORL   32(SP), R10
   945	XORL   12(SP), R10
   946	XORL   52(SP), R10
   947	ROLL   $0x01, R10
   948	MOVL   R10, 44(SP)
   949	MOVL   CX, R8
   950	ORL    DX, R8
   951	ANDL   BP, R8
   952	MOVL   CX, R9
   953	ANDL   DX, R9
   954	ORL    R8, R9
   955	ROLL   $0x1e, CX
   956	ADDL   R9, AX
   957	MOVL   BX, R8
   958	ROLL   $0x05, R8
   959	LEAL   2400959708(AX)(R10*1), AX
   960	ADDL   R8, AX
   961	MOVL   48(SP), R10
   962	XORL   36(SP), R10
   963	XORL   16(SP), R10
   964	XORL   56(SP), R10
   965	ROLL   $0x01, R10
   966	MOVL   R10, 48(SP)
   967	MOVL   BX, R9
   968	XORL   CX, R9
   969	XORL   DX, R9
   970	ROLL   $0x1e, BX
   971	ADDL   R9, BP
   972	MOVL   AX, R8
   973	ROLL   $0x05, R8
   974	LEAL   3395469782(BP)(R10*1), BP
   975	ADDL   R8, BP
   976	MOVL   52(SP), R10
   977	XORL   40(SP), R10
   978	XORL   20(SP), R10
   979	XORL   60(SP), R10
   980	ROLL   $0x01, R10
   981	MOVL   R10, 52(SP)
   982	MOVL   AX, R9
   983	XORL   BX, R9
   984	XORL   CX, R9
   985	ROLL   $0x1e, AX
   986	ADDL   R9, DX
   987	MOVL   BP, R8
   988	ROLL   $0x05, R8
   989	LEAL   3395469782(DX)(R10*1), DX
   990	ADDL   R8, DX
   991	MOVL   56(SP), R10
   992	XORL   44(SP), R10
   993	XORL   24(SP), R10
   994	XORL   (SP), R10
   995	ROLL   $0x01, R10
   996	MOVL   R10, 56(SP)
   997	MOVL   BP, R9
   998	XORL   AX, R9
   999	XORL   BX, R9
  1000	ROLL   $0x1e, BP
  1001	ADDL   R9, CX
  1002	MOVL   DX, R8
  1003	ROLL   $0x05, R8
  1004	LEAL   3395469782(CX)(R10*1), CX
  1005	ADDL   R8, CX
  1006	MOVL   60(SP), R10
  1007	XORL   48(SP), R10
  1008	XORL   28(SP), R10
  1009	XORL   4(SP), R10
  1010	ROLL   $0x01, R10
  1011	MOVL   R10, 60(SP)
  1012	MOVL   DX, R9
  1013	XORL   BP, R9
  1014	XORL   AX, R9
  1015	ROLL   $0x1e, DX
  1016	ADDL   R9, BX
  1017	MOVL   CX, R8
  1018	ROLL   $0x05, R8
  1019	LEAL   3395469782(BX)(R10*1), BX
  1020	ADDL   R8, BX
  1021	MOVL   (SP), R10
  1022	XORL   52(SP), R10
  1023	XORL   32(SP), R10
  1024	XORL   8(SP), R10
  1025	ROLL   $0x01, R10
  1026	MOVL   R10, (SP)
  1027	MOVL   CX, R9
  1028	XORL   DX, R9
  1029	XORL   BP, R9
  1030	ROLL   $0x1e, CX
  1031	ADDL   R9, AX
  1032	MOVL   BX, R8
  1033	ROLL   $0x05, R8
  1034	LEAL   3395469782(AX)(R10*1), AX
  1035	ADDL   R8, AX
  1036	MOVL   4(SP), R10
  1037	XORL   56(SP), R10
  1038	XORL   36(SP), R10
  1039	XORL   12(SP), R10
  1040	ROLL   $0x01, R10
  1041	MOVL   R10, 4(SP)
  1042	MOVL   BX, R9
  1043	XORL   CX, R9
  1044	XORL   DX, R9
  1045	ROLL   $0x1e, BX
  1046	ADDL   R9, BP
  1047	MOVL   AX, R8
  1048	ROLL   $0x05, R8
  1049	LEAL   3395469782(BP)(R10*1), BP
  1050	ADDL   R8, BP
  1051	MOVL   8(SP), R10
  1052	XORL   60(SP), R10
  1053	XORL   40(SP), R10
  1054	XORL   16(SP), R10
  1055	ROLL   $0x01, R10
  1056	MOVL   R10, 8(SP)
  1057	MOVL   AX, R9
  1058	XORL   BX, R9
  1059	XORL   CX, R9
  1060	ROLL   $0x1e, AX
  1061	ADDL   R9, DX
  1062	MOVL   BP, R8
  1063	ROLL   $0x05, R8
  1064	LEAL   3395469782(DX)(R10*1), DX
  1065	ADDL   R8, DX
  1066	MOVL   12(SP), R10
  1067	XORL   (SP), R10
  1068	XORL   44(SP), R10
  1069	XORL   20(SP), R10
  1070	ROLL   $0x01, R10
  1071	MOVL   R10, 12(SP)
  1072	MOVL   BP, R9
  1073	XORL   AX, R9
  1074	XORL   BX, R9
  1075	ROLL   $0x1e, BP
  1076	ADDL   R9, CX
  1077	MOVL   DX, R8
  1078	ROLL   $0x05, R8
  1079	LEAL   3395469782(CX)(R10*1), CX
  1080	ADDL   R8, CX
  1081	MOVL   16(SP), R10
  1082	XORL   4(SP), R10
  1083	XORL   48(SP), R10
  1084	XORL   24(SP), R10
  1085	ROLL   $0x01, R10
  1086	MOVL   R10, 16(SP)
  1087	MOVL   DX, R9
  1088	XORL   BP, R9
  1089	XORL   AX, R9
  1090	ROLL   $0x1e, DX
  1091	ADDL   R9, BX
  1092	MOVL   CX, R8
  1093	ROLL   $0x05, R8
  1094	LEAL   3395469782(BX)(R10*1), BX
  1095	ADDL   R8, BX
  1096	MOVL   20(SP), R10
  1097	XORL   8(SP), R10
  1098	XORL   52(SP), R10
  1099	XORL   28(SP), R10
  1100	ROLL   $0x01, R10
  1101	MOVL   R10, 20(SP)
  1102	MOVL   CX, R9
  1103	XORL   DX, R9
  1104	XORL   BP, R9
  1105	ROLL   $0x1e, CX
  1106	ADDL   R9, AX
  1107	MOVL   BX, R8
  1108	ROLL   $0x05, R8
  1109	LEAL   3395469782(AX)(R10*1), AX
  1110	ADDL   R8, AX
  1111	MOVL   24(SP), R10
  1112	XORL   12(SP), R10
  1113	XORL   56(SP), R10
  1114	XORL   32(SP), R10
  1115	ROLL   $0x01, R10
  1116	MOVL   R10, 24(SP)
  1117	MOVL   BX, R9
  1118	XORL   CX, R9
  1119	XORL   DX, R9
  1120	ROLL   $0x1e, BX
  1121	ADDL   R9, BP
  1122	MOVL   AX, R8
  1123	ROLL   $0x05, R8
  1124	LEAL   3395469782(BP)(R10*1), BP
  1125	ADDL   R8, BP
  1126	MOVL   28(SP), R10
  1127	XORL   16(SP), R10
  1128	XORL   60(SP), R10
  1129	XORL   36(SP), R10
  1130	ROLL   $0x01, R10
  1131	MOVL   R10, 28(SP)
  1132	MOVL   AX, R9
  1133	XORL   BX, R9
  1134	XORL   CX, R9
  1135	ROLL   $0x1e, AX
  1136	ADDL   R9, DX
  1137	MOVL   BP, R8
  1138	ROLL   $0x05, R8
  1139	LEAL   3395469782(DX)(R10*1), DX
  1140	ADDL   R8, DX
  1141	MOVL   32(SP), R10
  1142	XORL   20(SP), R10
  1143	XORL   (SP), R10
  1144	XORL   40(SP), R10
  1145	ROLL   $0x01, R10
  1146	MOVL   R10, 32(SP)
  1147	MOVL   BP, R9
  1148	XORL   AX, R9
  1149	XORL   BX, R9
  1150	ROLL   $0x1e, BP
  1151	ADDL   R9, CX
  1152	MOVL   DX, R8
  1153	ROLL   $0x05, R8
  1154	LEAL   3395469782(CX)(R10*1), CX
  1155	ADDL   R8, CX
  1156	MOVL   36(SP), R10
  1157	XORL   24(SP), R10
  1158	XORL   4(SP), R10
  1159	XORL   44(SP), R10
  1160	ROLL   $0x01, R10
  1161	MOVL   R10, 36(SP)
  1162	MOVL   DX, R9
  1163	XORL   BP, R9
  1164	XORL   AX, R9
  1165	ROLL   $0x1e, DX
  1166	ADDL   R9, BX
  1167	MOVL   CX, R8
  1168	ROLL   $0x05, R8
  1169	LEAL   3395469782(BX)(R10*1), BX
  1170	ADDL   R8, BX
  1171	MOVL   40(SP), R10
  1172	XORL   28(SP), R10
  1173	XORL   8(SP), R10
  1174	XORL   48(SP), R10
  1175	ROLL   $0x01, R10
  1176	MOVL   R10, 40(SP)
  1177	MOVL   CX, R9
  1178	XORL   DX, R9
  1179	XORL   BP, R9
  1180	ROLL   $0x1e, CX
  1181	ADDL   R9, AX
  1182	MOVL   BX, R8
  1183	ROLL   $0x05, R8
  1184	LEAL   3395469782(AX)(R10*1), AX
  1185	ADDL   R8, AX
  1186	MOVL   44(SP), R10
  1187	XORL   32(SP), R10
  1188	XORL   12(SP), R10
  1189	XORL   52(SP), R10
  1190	ROLL   $0x01, R10
  1191	MOVL   R10, 44(SP)
  1192	MOVL   BX, R9
  1193	XORL   CX, R9
  1194	XORL   DX, R9
  1195	ROLL   $0x1e, BX
  1196	ADDL   R9, BP
  1197	MOVL   AX, R8
  1198	ROLL   $0x05, R8
  1199	LEAL   3395469782(BP)(R10*1), BP
  1200	ADDL   R8, BP
  1201	MOVL   48(SP), R10
  1202	XORL   36(SP), R10
  1203	XORL   16(SP), R10
  1204	XORL   56(SP), R10
  1205	ROLL   $0x01, R10
  1206	MOVL   R10, 48(SP)
  1207	MOVL   AX, R9
  1208	XORL   BX, R9
  1209	XORL   CX, R9
  1210	ROLL   $0x1e, AX
  1211	ADDL   R9, DX
  1212	MOVL   BP, R8
  1213	ROLL   $0x05, R8
  1214	LEAL   3395469782(DX)(R10*1), DX
  1215	ADDL   R8, DX
  1216	MOVL   52(SP), R10
  1217	XORL   40(SP), R10
  1218	XORL   20(SP), R10
  1219	XORL   60(SP), R10
  1220	ROLL   $0x01, R10
  1221	MOVL   R10, 52(SP)
  1222	MOVL   BP, R9
  1223	XORL   AX, R9
  1224	XORL   BX, R9
  1225	ROLL   $0x1e, BP
  1226	ADDL   R9, CX
  1227	MOVL   DX, R8
  1228	ROLL   $0x05, R8
  1229	LEAL   3395469782(CX)(R10*1), CX
  1230	ADDL   R8, CX
  1231	MOVL   56(SP), R10
  1232	XORL   44(SP), R10
  1233	XORL   24(SP), R10
  1234	XORL   (SP), R10
  1235	ROLL   $0x01, R10
  1236	MOVL   R10, 56(SP)
  1237	MOVL   DX, R9
  1238	XORL   BP, R9
  1239	XORL   AX, R9
  1240	ROLL   $0x1e, DX
  1241	ADDL   R9, BX
  1242	MOVL   CX, R8
  1243	ROLL   $0x05, R8
  1244	LEAL   3395469782(BX)(R10*1), BX
  1245	ADDL   R8, BX
  1246	MOVL   60(SP), R10
  1247	XORL   48(SP), R10
  1248	XORL   28(SP), R10
  1249	XORL   4(SP), R10
  1250	ROLL   $0x01, R10
  1251	MOVL   R10, 60(SP)
  1252	MOVL   CX, R9
  1253	XORL   DX, R9
  1254	XORL   BP, R9
  1255	ROLL   $0x1e, CX
  1256	ADDL   R9, AX
  1257	MOVL   BX, R8
  1258	ROLL   $0x05, R8
  1259	LEAL   3395469782(AX)(R10*1), AX
  1260	ADDL   R8, AX
  1261	ADDL   R11, AX
  1262	ADDL   R12, BX
  1263	ADDL   R13, CX
  1264	ADDL   R14, DX
  1265	ADDL   R15, BP
  1266	ADDQ   $0x40, SI
  1267	CMPQ   SI, DI
  1268	JB     loop
  1269
  1270end:
  1271	MOVQ dig+0(FP), DI
  1272	MOVL AX, (DI)
  1273	MOVL BX, 4(DI)
  1274	MOVL CX, 8(DI)
  1275	MOVL DX, 12(DI)
  1276	MOVL BP, 16(DI)
  1277	RET
  1278
  1279// func blockAVX2(dig *digest, p []byte)
  1280// Requires: AVX, AVX2, BMI, BMI2, CMOV
  1281TEXT ·blockAVX2(SB), $1408-32
  1282	MOVQ        dig+0(FP), DI
  1283	MOVQ        p_base+8(FP), SI
  1284	MOVQ        p_len+16(FP), DX
  1285	SHRQ        $0x06, DX
  1286	SHLQ        $0x06, DX
  1287	LEAQ        K_XMM_AR<>+0(SB), R8
  1288	MOVQ        DI, R9
  1289	MOVQ        SI, R10
  1290	LEAQ        64(SI), R13
  1291	ADDQ        SI, DX
  1292	ADDQ        $0x40, DX
  1293	MOVQ        DX, R11
  1294	CMPQ        R13, R11
  1295	CMOVQCC     R8, R13
  1296	VMOVDQU     BSWAP_SHUFB_CTL<>+0(SB), Y10
  1297	MOVL        (R9), CX
  1298	MOVL        4(R9), SI
  1299	MOVL        8(R9), DI
  1300	MOVL        12(R9), AX
  1301	MOVL        16(R9), DX
  1302	MOVQ        SP, R14
  1303	LEAQ        672(SP), R15
  1304	VMOVDQU     (R10), X0
  1305	VINSERTI128 $0x01, (R13), Y0, Y0
  1306	VPSHUFB     Y10, Y0, Y15
  1307	VPADDD      (R8), Y15, Y0
  1308	VMOVDQU     Y0, (R14)
  1309	VMOVDQU     16(R10), X0
  1310	VINSERTI128 $0x01, 16(R13), Y0, Y0
  1311	VPSHUFB     Y10, Y0, Y14
  1312	VPADDD      (R8), Y14, Y0
  1313	VMOVDQU     Y0, 32(R14)
  1314	VMOVDQU     32(R10), X0
  1315	VINSERTI128 $0x01, 32(R13), Y0, Y0
  1316	VPSHUFB     Y10, Y0, Y13
  1317	VPADDD      (R8), Y13, Y0
  1318	VMOVDQU     Y0, 64(R14)
  1319	VMOVDQU     48(R10), X0
  1320	VINSERTI128 $0x01, 48(R13), Y0, Y0
  1321	VPSHUFB     Y10, Y0, Y12
  1322	VPADDD      (R8), Y12, Y0
  1323	VMOVDQU     Y0, 96(R14)
  1324	VPALIGNR    $0x08, Y15, Y14, Y8
  1325	VPSRLDQ     $0x04, Y12, Y0
  1326	VPXOR       Y13, Y8, Y8
  1327	VPXOR       Y15, Y0, Y0
  1328	VPXOR       Y0, Y8, Y8
  1329	VPSLLDQ     $0x0c, Y8, Y9
  1330	VPSLLD      $0x01, Y8, Y0
  1331	VPSRLD      $0x1f, Y8, Y8
  1332	VPOR        Y8, Y0, Y0
  1333	VPSLLD      $0x02, Y9, Y8
  1334	VPSRLD      $0x1e, Y9, Y9
  1335	VPXOR       Y8, Y0, Y0
  1336	VPXOR       Y9, Y0, Y8
  1337	VPADDD      (R8), Y8, Y0
  1338	VMOVDQU     Y0, 128(R14)
  1339	VPALIGNR    $0x08, Y14, Y13, Y7
  1340	VPSRLDQ     $0x04, Y8, Y0
  1341	VPXOR       Y12, Y7, Y7
  1342	VPXOR       Y14, Y0, Y0
  1343	VPXOR       Y0, Y7, Y7
  1344	VPSLLDQ     $0x0c, Y7, Y9
  1345	VPSLLD      $0x01, Y7, Y0
  1346	VPSRLD      $0x1f, Y7, Y7
  1347	VPOR        Y7, Y0, Y0
  1348	VPSLLD      $0x02, Y9, Y7
  1349	VPSRLD      $0x1e, Y9, Y9
  1350	VPXOR       Y7, Y0, Y0
  1351	VPXOR       Y9, Y0, Y7
  1352	VPADDD      32(R8), Y7, Y0
  1353	VMOVDQU     Y0, 160(R14)
  1354	VPALIGNR    $0x08, Y13, Y12, Y5
  1355	VPSRLDQ     $0x04, Y7, Y0
  1356	VPXOR       Y8, Y5, Y5
  1357	VPXOR       Y13, Y0, Y0
  1358	VPXOR       Y0, Y5, Y5
  1359	VPSLLDQ     $0x0c, Y5, Y9
  1360	VPSLLD      $0x01, Y5, Y0
  1361	VPSRLD      $0x1f, Y5, Y5
  1362	VPOR        Y5, Y0, Y0
  1363	VPSLLD      $0x02, Y9, Y5
  1364	VPSRLD      $0x1e, Y9, Y9
  1365	VPXOR       Y5, Y0, Y0
  1366	VPXOR       Y9, Y0, Y5
  1367	VPADDD      32(R8), Y5, Y0
  1368	VMOVDQU     Y0, 192(R14)
  1369	VPALIGNR    $0x08, Y12, Y8, Y3
  1370	VPSRLDQ     $0x04, Y5, Y0
  1371	VPXOR       Y7, Y3, Y3
  1372	VPXOR       Y12, Y0, Y0
  1373	VPXOR       Y0, Y3, Y3
  1374	VPSLLDQ     $0x0c, Y3, Y9
  1375	VPSLLD      $0x01, Y3, Y0
  1376	VPSRLD      $0x1f, Y3, Y3
  1377	VPOR        Y3, Y0, Y0
  1378	VPSLLD      $0x02, Y9, Y3
  1379	VPSRLD      $0x1e, Y9, Y9
  1380	VPXOR       Y3, Y0, Y0
  1381	VPXOR       Y9, Y0, Y3
  1382	VPADDD      32(R8), Y3, Y0
  1383	VMOVDQU     Y0, 224(R14)
  1384	VPALIGNR    $0x08, Y5, Y3, Y0
  1385	VPXOR       Y14, Y15, Y15
  1386	VPXOR       Y8, Y0, Y0
  1387	VPXOR       Y0, Y15, Y15
  1388	VPSLLD      $0x02, Y15, Y0
  1389	VPSRLD      $0x1e, Y15, Y15
  1390	VPOR        Y15, Y0, Y15
  1391	VPADDD      32(R8), Y15, Y0
  1392	VMOVDQU     Y0, 256(R14)
  1393	VPALIGNR    $0x08, Y3, Y15, Y0
  1394	VPXOR       Y13, Y14, Y14
  1395	VPXOR       Y7, Y0, Y0
  1396	VPXOR       Y0, Y14, Y14
  1397	VPSLLD      $0x02, Y14, Y0
  1398	VPSRLD      $0x1e, Y14, Y14
  1399	VPOR        Y14, Y0, Y14
  1400	VPADDD      32(R8), Y14, Y0
  1401	VMOVDQU     Y0, 288(R14)
  1402	VPALIGNR    $0x08, Y15, Y14, Y0
  1403	VPXOR       Y12, Y13, Y13
  1404	VPXOR       Y5, Y0, Y0
  1405	VPXOR       Y0, Y13, Y13
  1406	VPSLLD      $0x02, Y13, Y0
  1407	VPSRLD      $0x1e, Y13, Y13
  1408	VPOR        Y13, Y0, Y13
  1409	VPADDD      64(R8), Y13, Y0
  1410	VMOVDQU     Y0, 320(R14)
  1411	VPALIGNR    $0x08, Y14, Y13, Y0
  1412	VPXOR       Y8, Y12, Y12
  1413	VPXOR       Y3, Y0, Y0
  1414	VPXOR       Y0, Y12, Y12
  1415	VPSLLD      $0x02, Y12, Y0
  1416	VPSRLD      $0x1e, Y12, Y12
  1417	VPOR        Y12, Y0, Y12
  1418	VPADDD      64(R8), Y12, Y0
  1419	VMOVDQU     Y0, 352(R14)
  1420	VPALIGNR    $0x08, Y13, Y12, Y0
  1421	VPXOR       Y7, Y8, Y8
  1422	VPXOR       Y15, Y0, Y0
  1423	VPXOR       Y0, Y8, Y8
  1424	VPSLLD      $0x02, Y8, Y0
  1425	VPSRLD      $0x1e, Y8, Y8
  1426	VPOR        Y8, Y0, Y8
  1427	VPADDD      64(R8), Y8, Y0
  1428	VMOVDQU     Y0, 384(R14)
  1429	VPALIGNR    $0x08, Y12, Y8, Y0
  1430	VPXOR       Y5, Y7, Y7
  1431	VPXOR       Y14, Y0, Y0
  1432	VPXOR       Y0, Y7, Y7
  1433	VPSLLD      $0x02, Y7, Y0
  1434	VPSRLD      $0x1e, Y7, Y7
  1435	VPOR        Y7, Y0, Y7
  1436	VPADDD      64(R8), Y7, Y0
  1437	VMOVDQU     Y0, 416(R14)
  1438	VPALIGNR    $0x08, Y8, Y7, Y0
  1439	VPXOR       Y3, Y5, Y5
  1440	VPXOR       Y13, Y0, Y0
  1441	VPXOR       Y0, Y5, Y5
  1442	VPSLLD      $0x02, Y5, Y0
  1443	VPSRLD      $0x1e, Y5, Y5
  1444	VPOR        Y5, Y0, Y5
  1445	VPADDD      64(R8), Y5, Y0
  1446	VMOVDQU     Y0, 448(R14)
  1447	VPALIGNR    $0x08, Y7, Y5, Y0
  1448	VPXOR       Y15, Y3, Y3
  1449	VPXOR       Y12, Y0, Y0
  1450	VPXOR       Y0, Y3, Y3
  1451	VPSLLD      $0x02, Y3, Y0
  1452	VPSRLD      $0x1e, Y3, Y3
  1453	VPOR        Y3, Y0, Y3
  1454	VPADDD      96(R8), Y3, Y0
  1455	VMOVDQU     Y0, 480(R14)
  1456	VPALIGNR    $0x08, Y5, Y3, Y0
  1457	VPXOR       Y14, Y15, Y15
  1458	VPXOR       Y8, Y0, Y0
  1459	VPXOR       Y0, Y15, Y15
  1460	VPSLLD      $0x02, Y15, Y0
  1461	VPSRLD      $0x1e, Y15, Y15
  1462	VPOR        Y15, Y0, Y15
  1463	VPADDD      96(R8), Y15, Y0
  1464	VMOVDQU     Y0, 512(R14)
  1465	VPALIGNR    $0x08, Y3, Y15, Y0
  1466	VPXOR       Y13, Y14, Y14
  1467	VPXOR       Y7, Y0, Y0
  1468	VPXOR       Y0, Y14, Y14
  1469	VPSLLD      $0x02, Y14, Y0
  1470	VPSRLD      $0x1e, Y14, Y14
  1471	VPOR        Y14, Y0, Y14
  1472	VPADDD      96(R8), Y14, Y0
  1473	VMOVDQU     Y0, 544(R14)
  1474	VPALIGNR    $0x08, Y15, Y14, Y0
  1475	VPXOR       Y12, Y13, Y13
  1476	VPXOR       Y5, Y0, Y0
  1477	VPXOR       Y0, Y13, Y13
  1478	VPSLLD      $0x02, Y13, Y0
  1479	VPSRLD      $0x1e, Y13, Y13
  1480	VPOR        Y13, Y0, Y13
  1481	VPADDD      96(R8), Y13, Y0
  1482	VMOVDQU     Y0, 576(R14)
  1483	VPALIGNR    $0x08, Y14, Y13, Y0
  1484	VPXOR       Y8, Y12, Y12
  1485	VPXOR       Y3, Y0, Y0
  1486	VPXOR       Y0, Y12, Y12
  1487	VPSLLD      $0x02, Y12, Y0
  1488	VPSRLD      $0x1e, Y12, Y12
  1489	VPOR        Y12, Y0, Y12
  1490	VPADDD      96(R8), Y12, Y0
  1491	VMOVDQU     Y0, 608(R14)
  1492	XCHGQ       R15, R14
  1493
  1494loop:
  1495	CMPQ R10, R8
  1496	JNE  begin
  1497	VZEROUPPER
  1498	RET
  1499
  1500begin:
  1501	MOVL        SI, BX
  1502	RORXL       $0x02, SI, SI
  1503	ANDNL       AX, BX, BP
  1504	ANDL        DI, BX
  1505	XORL        BP, BX
  1506	ADDL        (R15), DX
  1507	ANDNL       DI, CX, BP
  1508	LEAL        (DX)(BX*1), DX
  1509	RORXL       $0x1b, CX, R12
  1510	RORXL       $0x02, CX, BX
  1511	VMOVDQU     128(R10), X0
  1512	ANDL        SI, CX
  1513	XORL        BP, CX
  1514	LEAL        (DX)(R12*1), DX
  1515	ADDL        4(R15), AX
  1516	ANDNL       SI, DX, BP
  1517	LEAL        (AX)(CX*1), AX
  1518	RORXL       $0x1b, DX, R12
  1519	RORXL       $0x02, DX, CX
  1520	VINSERTI128 $0x01, 128(R13), Y0, Y0
  1521	ANDL        BX, DX
  1522	XORL        BP, DX
  1523	LEAL        (AX)(R12*1), AX
  1524	ADDL        8(R15), DI
  1525	ANDNL       BX, AX, BP
  1526	LEAL        (DI)(DX*1), DI
  1527	RORXL       $0x1b, AX, R12
  1528	RORXL       $0x02, AX, DX
  1529	VPSHUFB     Y10, Y0, Y15
  1530	ANDL        CX, AX
  1531	XORL        BP, AX
  1532	LEAL        (DI)(R12*1), DI
  1533	ADDL        12(R15), SI
  1534	ANDNL       CX, DI, BP
  1535	LEAL        (SI)(AX*1), SI
  1536	RORXL       $0x1b, DI, R12
  1537	RORXL       $0x02, DI, AX
  1538	ANDL        DX, DI
  1539	XORL        BP, DI
  1540	LEAL        (SI)(R12*1), SI
  1541	ADDL        32(R15), BX
  1542	ANDNL       DX, SI, BP
  1543	LEAL        (BX)(DI*1), BX
  1544	RORXL       $0x1b, SI, R12
  1545	RORXL       $0x02, SI, DI
  1546	VPADDD      (R8), Y15, Y0
  1547	ANDL        AX, SI
  1548	XORL        BP, SI
  1549	LEAL        (BX)(R12*1), BX
  1550	ADDL        36(R15), CX
  1551	ANDNL       AX, BX, BP
  1552	LEAL        (CX)(SI*1), CX
  1553	RORXL       $0x1b, BX, R12
  1554	RORXL       $0x02, BX, SI
  1555	ANDL        DI, BX
  1556	XORL        BP, BX
  1557	LEAL        (CX)(R12*1), CX
  1558	ADDL        40(R15), DX
  1559	ANDNL       DI, CX, BP
  1560	LEAL        (DX)(BX*1), DX
  1561	RORXL       $0x1b, CX, R12
  1562	RORXL       $0x02, CX, BX
  1563	ANDL        SI, CX
  1564	XORL        BP, CX
  1565	LEAL        (DX)(R12*1), DX
  1566	ADDL        44(R15), AX
  1567	ANDNL       SI, DX, BP
  1568	LEAL        (AX)(CX*1), AX
  1569	RORXL       $0x1b, DX, R12
  1570	RORXL       $0x02, DX, CX
  1571	VMOVDQU     Y0, (R14)
  1572	ANDL        BX, DX
  1573	XORL        BP, DX
  1574	LEAL        (AX)(R12*1), AX
  1575	ADDL        64(R15), DI
  1576	ANDNL       BX, AX, BP
  1577	LEAL        (DI)(DX*1), DI
  1578	RORXL       $0x1b, AX, R12
  1579	RORXL       $0x02, AX, DX
  1580	VMOVDQU     144(R10), X0
  1581	ANDL        CX, AX
  1582	XORL        BP, AX
  1583	LEAL        (DI)(R12*1), DI
  1584	ADDL        68(R15), SI
  1585	ANDNL       CX, DI, BP
  1586	LEAL        (SI)(AX*1), SI
  1587	RORXL       $0x1b, DI, R12
  1588	RORXL       $0x02, DI, AX
  1589	VINSERTI128 $0x01, 144(R13), Y0, Y0
  1590	ANDL        DX, DI
  1591	XORL        BP, DI
  1592	LEAL        (SI)(R12*1), SI
  1593	ADDL        72(R15), BX
  1594	ANDNL       DX, SI, BP
  1595	LEAL        (BX)(DI*1), BX
  1596	RORXL       $0x1b, SI, R12
  1597	RORXL       $0x02, SI, DI
  1598	VPSHUFB     Y10, Y0, Y14
  1599	ANDL        AX, SI
  1600	XORL        BP, SI
  1601	LEAL        (BX)(R12*1), BX
  1602	ADDL        76(R15), CX
  1603	ANDNL       AX, BX, BP
  1604	LEAL        (CX)(SI*1), CX
  1605	RORXL       $0x1b, BX, R12
  1606	RORXL       $0x02, BX, SI
  1607	ANDL        DI, BX
  1608	XORL        BP, BX
  1609	LEAL        (CX)(R12*1), CX
  1610	ADDL        96(R15), DX
  1611	ANDNL       DI, CX, BP
  1612	LEAL        (DX)(BX*1), DX
  1613	RORXL       $0x1b, CX, R12
  1614	RORXL       $0x02, CX, BX
  1615	VPADDD      (R8), Y14, Y0
  1616	ANDL        SI, CX
  1617	XORL        BP, CX
  1618	LEAL        (DX)(R12*1), DX
  1619	ADDL        100(R15), AX
  1620	ANDNL       SI, DX, BP
  1621	LEAL        (AX)(CX*1), AX
  1622	RORXL       $0x1b, DX, R12
  1623	RORXL       $0x02, DX, CX
  1624	ANDL        BX, DX
  1625	XORL        BP, DX
  1626	LEAL        (AX)(R12*1), AX
  1627	ADDL        104(R15), DI
  1628	ANDNL       BX, AX, BP
  1629	LEAL        (DI)(DX*1), DI
  1630	RORXL       $0x1b, AX, R12
  1631	RORXL       $0x02, AX, DX
  1632	ANDL        CX, AX
  1633	XORL        BP, AX
  1634	LEAL        (DI)(R12*1), DI
  1635	ADDL        108(R15), SI
  1636	ANDNL       CX, DI, BP
  1637	LEAL        (SI)(AX*1), SI
  1638	RORXL       $0x1b, DI, R12
  1639	RORXL       $0x02, DI, AX
  1640	VMOVDQU     Y0, 32(R14)
  1641	ANDL        DX, DI
  1642	XORL        BP, DI
  1643	LEAL        (SI)(R12*1), SI
  1644	ADDL        128(R15), BX
  1645	ANDNL       DX, SI, BP
  1646	LEAL        (BX)(DI*1), BX
  1647	RORXL       $0x1b, SI, R12
  1648	RORXL       $0x02, SI, DI
  1649	VMOVDQU     160(R10), X0
  1650	ANDL        AX, SI
  1651	XORL        BP, SI
  1652	LEAL        (BX)(R12*1), BX
  1653	ADDL        132(R15), CX
  1654	ANDNL       AX, BX, BP
  1655	LEAL        (CX)(SI*1), CX
  1656	RORXL       $0x1b, BX, R12
  1657	RORXL       $0x02, BX, SI
  1658	VINSERTI128 $0x01, 160(R13), Y0, Y0
  1659	ANDL        DI, BX
  1660	XORL        BP, BX
  1661	LEAL        (CX)(R12*1), CX
  1662	ADDL        136(R15), DX
  1663	ANDNL       DI, CX, BP
  1664	LEAL        (DX)(BX*1), DX
  1665	RORXL       $0x1b, CX, R12
  1666	RORXL       $0x02, CX, BX
  1667	VPSHUFB     Y10, Y0, Y13
  1668	ANDL        SI, CX
  1669	XORL        BP, CX
  1670	LEAL        (DX)(R12*1), DX
  1671	ADDL        140(R15), AX
  1672	LEAL        (AX)(CX*1), AX
  1673	RORXL       $0x1b, DX, R12
  1674	RORXL       $0x02, DX, CX
  1675	XORL        BX, DX
  1676	ADDL        R12, AX
  1677	XORL        SI, DX
  1678	ADDL        160(R15), DI
  1679	LEAL        (DI)(DX*1), DI
  1680	RORXL       $0x1b, AX, R12
  1681	RORXL       $0x02, AX, DX
  1682	VPADDD      (R8), Y13, Y0
  1683	XORL        CX, AX
  1684	ADDL        R12, DI
  1685	XORL        BX, AX
  1686	ADDL        164(R15), SI
  1687	LEAL        (SI)(AX*1), SI
  1688	RORXL       $0x1b, DI, R12
  1689	RORXL       $0x02, DI, AX
  1690	XORL        DX, DI
  1691	ADDL        R12, SI
  1692	XORL        CX, DI
  1693	ADDL        168(R15), BX
  1694	LEAL        (BX)(DI*1), BX
  1695	RORXL       $0x1b, SI, R12
  1696	RORXL       $0x02, SI, DI
  1697	XORL        AX, SI
  1698	ADDL        R12, BX
  1699	XORL        DX, SI
  1700	ADDL        172(R15), CX
  1701	LEAL        (CX)(SI*1), CX
  1702	RORXL       $0x1b, BX, R12
  1703	RORXL       $0x02, BX, SI
  1704	VMOVDQU     Y0, 64(R14)
  1705	XORL        DI, BX
  1706	ADDL        R12, CX
  1707	XORL        AX, BX
  1708	ADDL        192(R15), DX
  1709	LEAL        (DX)(BX*1), DX
  1710	RORXL       $0x1b, CX, R12
  1711	RORXL       $0x02, CX, BX
  1712	VMOVDQU     176(R10), X0
  1713	XORL        SI, CX
  1714	ADDL        R12, DX
  1715	XORL        DI, CX
  1716	ADDL        196(R15), AX
  1717	LEAL        (AX)(CX*1), AX
  1718	RORXL       $0x1b, DX, R12
  1719	RORXL       $0x02, DX, CX
  1720	VINSERTI128 $0x01, 176(R13), Y0, Y0
  1721	XORL        BX, DX
  1722	ADDL        R12, AX
  1723	XORL        SI, DX
  1724	ADDL        200(R15), DI
  1725	LEAL        (DI)(DX*1), DI
  1726	RORXL       $0x1b, AX, R12
  1727	RORXL       $0x02, AX, DX
  1728	VPSHUFB     Y10, Y0, Y12
  1729	XORL        CX, AX
  1730	ADDL        R12, DI
  1731	XORL        BX, AX
  1732	ADDL        204(R15), SI
  1733	LEAL        (SI)(AX*1), SI
  1734	RORXL       $0x1b, DI, R12
  1735	RORXL       $0x02, DI, AX
  1736	XORL        DX, DI
  1737	ADDL        R12, SI
  1738	XORL        CX, DI
  1739	ADDL        224(R15), BX
  1740	LEAL        (BX)(DI*1), BX
  1741	RORXL       $0x1b, SI, R12
  1742	RORXL       $0x02, SI, DI
  1743	VPADDD      (R8), Y12, Y0
  1744	XORL        AX, SI
  1745	ADDL        R12, BX
  1746	XORL        DX, SI
  1747	ADDL        228(R15), CX
  1748	LEAL        (CX)(SI*1), CX
  1749	RORXL       $0x1b, BX, R12
  1750	RORXL       $0x02, BX, SI
  1751	XORL        DI, BX
  1752	ADDL        R12, CX
  1753	XORL        AX, BX
  1754	ADDL        232(R15), DX
  1755	LEAL        (DX)(BX*1), DX
  1756	RORXL       $0x1b, CX, R12
  1757	RORXL       $0x02, CX, BX
  1758	XORL        SI, CX
  1759	ADDL        R12, DX
  1760	XORL        DI, CX
  1761	ADDL        236(R15), AX
  1762	LEAL        (AX)(CX*1), AX
  1763	RORXL       $0x1b, DX, R12
  1764	RORXL       $0x02, DX, CX
  1765	VMOVDQU     Y0, 96(R14)
  1766	XORL        BX, DX
  1767	ADDL        R12, AX
  1768	XORL        SI, DX
  1769	ADDL        256(R15), DI
  1770	LEAL        (DI)(DX*1), DI
  1771	RORXL       $0x1b, AX, R12
  1772	RORXL       $0x02, AX, DX
  1773	VPALIGNR    $0x08, Y15, Y14, Y8
  1774	VPSRLDQ     $0x04, Y12, Y0
  1775	XORL        CX, AX
  1776	ADDL        R12, DI
  1777	XORL        BX, AX
  1778	ADDL        260(R15), SI
  1779	LEAL        (SI)(AX*1), SI
  1780	RORXL       $0x1b, DI, R12
  1781	RORXL       $0x02, DI, AX
  1782	VPXOR       Y13, Y8, Y8
  1783	VPXOR       Y15, Y0, Y0
  1784	XORL        DX, DI
  1785	ADDL        R12, SI
  1786	XORL        CX, DI
  1787	ADDL        264(R15), BX
  1788	LEAL        (BX)(DI*1), BX
  1789	RORXL       $0x1b, SI, R12
  1790	RORXL       $0x02, SI, DI
  1791	VPXOR       Y0, Y8, Y8
  1792	VPSLLDQ     $0x0c, Y8, Y9
  1793	XORL        AX, SI
  1794	ADDL        R12, BX
  1795	XORL        DX, SI
  1796	ADDL        268(R15), CX
  1797	LEAL        (CX)(SI*1), CX
  1798	RORXL       $0x1b, BX, R12
  1799	RORXL       $0x02, BX, SI
  1800	VPSLLD      $0x01, Y8, Y0
  1801	VPSRLD      $0x1f, Y8, Y8
  1802	XORL        DI, BX
  1803	ADDL        R12, CX
  1804	XORL        AX, BX
  1805	ADDL        288(R15), DX
  1806	LEAL        (DX)(BX*1), DX
  1807	RORXL       $0x1b, CX, R12
  1808	RORXL       $0x02, CX, BX
  1809	VPOR        Y8, Y0, Y0
  1810	VPSLLD      $0x02, Y9, Y8
  1811	XORL        SI, CX
  1812	ADDL        R12, DX
  1813	XORL        DI, CX
  1814	ADDL        292(R15), AX
  1815	LEAL        (AX)(CX*1), AX
  1816	RORXL       $0x1b, DX, R12
  1817	RORXL       $0x02, DX, CX
  1818	VPSRLD      $0x1e, Y9, Y9
  1819	VPXOR       Y8, Y0, Y0
  1820	XORL        BX, DX
  1821	ADDL        R12, AX
  1822	XORL        SI, DX
  1823	ADDL        296(R15), DI
  1824	LEAL        (DI)(DX*1), DI
  1825	RORXL       $0x1b, AX, R12
  1826	RORXL       $0x02, AX, DX
  1827	XORL        CX, AX
  1828	ADDL        R12, DI
  1829	XORL        BX, AX
  1830	ADDL        300(R15), SI
  1831	VPXOR       Y9, Y0, Y8
  1832	VPADDD      (R8), Y8, Y0
  1833	VMOVDQU     Y0, 128(R14)
  1834	LEAL        (SI)(AX*1), SI
  1835	MOVL        DX, BP
  1836	ORL         DI, BP
  1837	RORXL       $0x1b, DI, R12
  1838	RORXL       $0x02, DI, AX
  1839	ANDL        CX, BP
  1840	ANDL        DX, DI
  1841	ORL         BP, DI
  1842	ADDL        R12, SI
  1843	ADDL        320(R15), BX
  1844	VPALIGNR    $0x08, Y14, Y13, Y7
  1845	VPSRLDQ     $0x04, Y8, Y0
  1846	LEAL        (BX)(DI*1), BX
  1847	MOVL        AX, BP
  1848	ORL         SI, BP
  1849	RORXL       $0x1b, SI, R12
  1850	RORXL       $0x02, SI, DI
  1851	ANDL        DX, BP
  1852	ANDL        AX, SI
  1853	ORL         BP, SI
  1854	ADDL        R12, BX
  1855	ADDL        324(R15), CX
  1856	VPXOR       Y12, Y7, Y7
  1857	VPXOR       Y14, Y0, Y0
  1858	LEAL        (CX)(SI*1), CX
  1859	MOVL        DI, BP
  1860	ORL         BX, BP
  1861	RORXL       $0x1b, BX, R12
  1862	RORXL       $0x02, BX, SI
  1863	ANDL        AX, BP
  1864	ANDL        DI, BX
  1865	ORL         BP, BX
  1866	ADDL        R12, CX
  1867	ADDL        328(R15), DX
  1868	VPXOR       Y0, Y7, Y7
  1869	VPSLLDQ     $0x0c, Y7, Y9
  1870	LEAL        (DX)(BX*1), DX
  1871	MOVL        SI, BP
  1872	ORL         CX, BP
  1873	RORXL       $0x1b, CX, R12
  1874	RORXL       $0x02, CX, BX
  1875	ANDL        DI, BP
  1876	ANDL        SI, CX
  1877	ORL         BP, CX
  1878	ADDL        R12, DX
  1879	ADDL        332(R15), AX
  1880	VPSLLD      $0x01, Y7, Y0
  1881	VPSRLD      $0x1f, Y7, Y7
  1882	LEAL        (AX)(CX*1), AX
  1883	MOVL        BX, BP
  1884	ORL         DX, BP
  1885	RORXL       $0x1b, DX, R12
  1886	RORXL       $0x02, DX, CX
  1887	ANDL        SI, BP
  1888	ANDL        BX, DX
  1889	ORL         BP, DX
  1890	ADDL        R12, AX
  1891	ADDL        352(R15), DI
  1892	VPOR        Y7, Y0, Y0
  1893	VPSLLD      $0x02, Y9, Y7
  1894	LEAL        (DI)(DX*1), DI
  1895	MOVL        CX, BP
  1896	ORL         AX, BP
  1897	RORXL       $0x1b, AX, R12
  1898	RORXL       $0x02, AX, DX
  1899	ANDL        BX, BP
  1900	ANDL        CX, AX
  1901	ORL         BP, AX
  1902	ADDL        R12, DI
  1903	ADDL        356(R15), SI
  1904	VPSRLD      $0x1e, Y9, Y9
  1905	VPXOR       Y7, Y0, Y0
  1906	LEAL        (SI)(AX*1), SI
  1907	MOVL        DX, BP
  1908	ORL         DI, BP
  1909	RORXL       $0x1b, DI, R12
  1910	RORXL       $0x02, DI, AX
  1911	ANDL        CX, BP
  1912	ANDL        DX, DI
  1913	ORL         BP, DI
  1914	ADDL        R12, SI
  1915	ADDL        360(R15), BX
  1916	LEAL        (BX)(DI*1), BX
  1917	MOVL        AX, BP
  1918	ORL         SI, BP
  1919	RORXL       $0x1b, SI, R12
  1920	RORXL       $0x02, SI, DI
  1921	ANDL        DX, BP
  1922	ANDL        AX, SI
  1923	ORL         BP, SI
  1924	ADDL        R12, BX
  1925	ADDL        364(R15), CX
  1926	VPXOR       Y9, Y0, Y7
  1927	VPADDD      32(R8), Y7, Y0
  1928	VMOVDQU     Y0, 160(R14)
  1929	LEAL        (CX)(SI*1), CX
  1930	MOVL        DI, BP
  1931	ORL         BX, BP
  1932	RORXL       $0x1b, BX, R12
  1933	RORXL       $0x02, BX, SI
  1934	ANDL        AX, BP
  1935	ANDL        DI, BX
  1936	ORL         BP, BX
  1937	ADDL        R12, CX
  1938	ADDL        384(R15), DX
  1939	VPALIGNR    $0x08, Y13, Y12, Y5
  1940	VPSRLDQ     $0x04, Y7, Y0
  1941	LEAL        (DX)(BX*1), DX
  1942	MOVL        SI, BP
  1943	ORL         CX, BP
  1944	RORXL       $0x1b, CX, R12
  1945	RORXL       $0x02, CX, BX
  1946	ANDL        DI, BP
  1947	ANDL        SI, CX
  1948	ORL         BP, CX
  1949	ADDL        R12, DX
  1950	ADDL        388(R15), AX
  1951	VPXOR       Y8, Y5, Y5
  1952	VPXOR       Y13, Y0, Y0
  1953	LEAL        (AX)(CX*1), AX
  1954	MOVL        BX, BP
  1955	ORL         DX, BP
  1956	RORXL       $0x1b, DX, R12
  1957	RORXL       $0x02, DX, CX
  1958	ANDL        SI, BP
  1959	ANDL        BX, DX
  1960	ORL         BP, DX
  1961	ADDL        R12, AX
  1962	ADDL        392(R15), DI
  1963	VPXOR       Y0, Y5, Y5
  1964	VPSLLDQ     $0x0c, Y5, Y9
  1965	LEAL        (DI)(DX*1), DI
  1966	MOVL        CX, BP
  1967	ORL         AX, BP
  1968	RORXL       $0x1b, AX, R12
  1969	RORXL       $0x02, AX, DX
  1970	ANDL        BX, BP
  1971	ANDL        CX, AX
  1972	ORL         BP, AX
  1973	ADDL        R12, DI
  1974	ADDL        396(R15), SI
  1975	VPSLLD      $0x01, Y5, Y0
  1976	VPSRLD      $0x1f, Y5, Y5
  1977	LEAL        (SI)(AX*1), SI
  1978	MOVL        DX, BP
  1979	ORL         DI, BP
  1980	RORXL       $0x1b, DI, R12
  1981	RORXL       $0x02, DI, AX
  1982	ANDL        CX, BP
  1983	ANDL        DX, DI
  1984	ORL         BP, DI
  1985	ADDL        R12, SI
  1986	ADDL        416(R15), BX
  1987	VPOR        Y5, Y0, Y0
  1988	VPSLLD      $0x02, Y9, Y5
  1989	LEAL        (BX)(DI*1), BX
  1990	MOVL        AX, BP
  1991	ORL         SI, BP
  1992	RORXL       $0x1b, SI, R12
  1993	RORXL       $0x02, SI, DI
  1994	ANDL        DX, BP
  1995	ANDL        AX, SI
  1996	ORL         BP, SI
  1997	ADDL        R12, BX
  1998	ADDL        420(R15), CX
  1999	VPSRLD      $0x1e, Y9, Y9
  2000	VPXOR       Y5, Y0, Y0
  2001	LEAL        (CX)(SI*1), CX
  2002	MOVL        DI, BP
  2003	ORL         BX, BP
  2004	RORXL       $0x1b, BX, R12
  2005	RORXL       $0x02, BX, SI
  2006	ANDL        AX, BP
  2007	ANDL        DI, BX
  2008	ORL         BP, BX
  2009	ADDL        R12, CX
  2010	ADDL        424(R15), DX
  2011	LEAL        (DX)(BX*1), DX
  2012	MOVL        SI, BP
  2013	ORL         CX, BP
  2014	RORXL       $0x1b, CX, R12
  2015	RORXL       $0x02, CX, BX
  2016	ANDL        DI, BP
  2017	ANDL        SI, CX
  2018	ORL         BP, CX
  2019	ADDL        R12, DX
  2020	ADDL        428(R15), AX
  2021	VPXOR       Y9, Y0, Y5
  2022	VPADDD      32(R8), Y5, Y0
  2023	VMOVDQU     Y0, 192(R14)
  2024	LEAL        (AX)(CX*1), AX
  2025	MOVL        BX, BP
  2026	ORL         DX, BP
  2027	RORXL       $0x1b, DX, R12
  2028	RORXL       $0x02, DX, CX
  2029	ANDL        SI, BP
  2030	ANDL        BX, DX
  2031	ORL         BP, DX
  2032	ADDL        R12, AX
  2033	ADDL        448(R15), DI
  2034	VPALIGNR    $0x08, Y12, Y8, Y3
  2035	VPSRLDQ     $0x04, Y5, Y0
  2036	LEAL        (DI)(DX*1), DI
  2037	MOVL        CX, BP
  2038	ORL         AX, BP
  2039	RORXL       $0x1b, AX, R12
  2040	RORXL       $0x02, AX, DX
  2041	ANDL        BX, BP
  2042	ANDL        CX, AX
  2043	ORL         BP, AX
  2044	ADDL        R12, DI
  2045	ADDL        452(R15), SI
  2046	VPXOR       Y7, Y3, Y3
  2047	VPXOR       Y12, Y0, Y0
  2048	LEAL        (SI)(AX*1), SI
  2049	MOVL        DX, BP
  2050	ORL         DI, BP
  2051	RORXL       $0x1b, DI, R12
  2052	RORXL       $0x02, DI, AX
  2053	ANDL        CX, BP
  2054	ANDL        DX, DI
  2055	ORL         BP, DI
  2056	ADDL        R12, SI
  2057	ADDL        456(R15), BX
  2058	VPXOR       Y0, Y3, Y3
  2059	VPSLLDQ     $0x0c, Y3, Y9
  2060	LEAL        (BX)(DI*1), BX
  2061	MOVL        AX, BP
  2062	ORL         SI, BP
  2063	RORXL       $0x1b, SI, R12
  2064	RORXL       $0x02, SI, DI
  2065	ANDL        DX, BP
  2066	ANDL        AX, SI
  2067	ORL         BP, SI
  2068	ADDL        R12, BX
  2069	ADDL        460(R15), CX
  2070	LEAL        (CX)(SI*1), CX
  2071	RORXL       $0x1b, BX, R12
  2072	RORXL       $0x02, BX, SI
  2073	VPSLLD      $0x01, Y3, Y0
  2074	VPSRLD      $0x1f, Y3, Y3
  2075	XORL        DI, BX
  2076	ADDL        R12, CX
  2077	XORL        AX, BX
  2078	ADDQ        $0x80, R10
  2079	CMPQ        R10, R11
  2080	CMOVQCC     R8, R10
  2081	ADDL        480(R15), DX
  2082	LEAL        (DX)(BX*1), DX
  2083	RORXL       $0x1b, CX, R12
  2084	RORXL       $0x02, CX, BX
  2085	VPOR        Y3, Y0, Y0
  2086	VPSLLD      $0x02, Y9, Y3
  2087	XORL        SI, CX
  2088	ADDL        R12, DX
  2089	XORL        DI, CX
  2090	ADDL        484(R15), AX
  2091	LEAL        (AX)(CX*1), AX
  2092	RORXL       $0x1b, DX, R12
  2093	RORXL       $0x02, DX, CX
  2094	VPSRLD      $0x1e, Y9, Y9
  2095	VPXOR       Y3, Y0, Y0
  2096	XORL        BX, DX
  2097	ADDL        R12, AX
  2098	XORL        SI, DX
  2099	ADDL        488(R15), DI
  2100	LEAL        (DI)(DX*1), DI
  2101	RORXL       $0x1b, AX, R12
  2102	RORXL       $0x02, AX, DX
  2103	XORL        CX, AX
  2104	ADDL        R12, DI
  2105	XORL        BX, AX
  2106	ADDL        492(R15), SI
  2107	LEAL        (SI)(AX*1), SI
  2108	RORXL       $0x1b, DI, R12
  2109	RORXL       $0x02, DI, AX
  2110	VPXOR       Y9, Y0, Y3
  2111	VPADDD      32(R8), Y3, Y0
  2112	VMOVDQU     Y0, 224(R14)
  2113	XORL        DX, DI
  2114	ADDL        R12, SI
  2115	XORL        CX, DI
  2116	ADDL        512(R15), BX
  2117	LEAL        (BX)(DI*1), BX
  2118	RORXL       $0x1b, SI, R12
  2119	RORXL       $0x02, SI, DI
  2120	VPALIGNR    $0x08, Y5, Y3, Y0
  2121	XORL        AX, SI
  2122	ADDL        R12, BX
  2123	XORL        DX, SI
  2124	ADDL        516(R15), CX
  2125	LEAL        (CX)(SI*1), CX
  2126	RORXL       $0x1b, BX, R12
  2127	RORXL       $0x02, BX, SI
  2128	VPXOR       Y14, Y15, Y15
  2129	XORL        DI, BX
  2130	ADDL        R12, CX
  2131	XORL        AX, BX
  2132	ADDL        520(R15), DX
  2133	LEAL        (DX)(BX*1), DX
  2134	RORXL       $0x1b, CX, R12
  2135	RORXL       $0x02, CX, BX
  2136	VPXOR       Y8, Y0, Y0
  2137	XORL        SI, CX
  2138	ADDL        R12, DX
  2139	XORL        DI, CX
  2140	ADDL        524(R15), AX
  2141	LEAL        (AX)(CX*1), AX
  2142	RORXL       $0x1b, DX, R12
  2143	RORXL       $0x02, DX, CX
  2144	VPXOR       Y0, Y15, Y15
  2145	XORL        BX, DX
  2146	ADDL        R12, AX
  2147	XORL        SI, DX
  2148	ADDL        544(R15), DI
  2149	LEAL        (DI)(DX*1), DI
  2150	RORXL       $0x1b, AX, R12
  2151	RORXL       $0x02, AX, DX
  2152	VPSLLD      $0x02, Y15, Y0
  2153	XORL        CX, AX
  2154	ADDL        R12, DI
  2155	XORL        BX, AX
  2156	ADDL        548(R15), SI
  2157	LEAL        (SI)(AX*1), SI
  2158	RORXL       $0x1b, DI, R12
  2159	RORXL       $0x02, DI, AX
  2160	VPSRLD      $0x1e, Y15, Y15
  2161	VPOR        Y15, Y0, Y15
  2162	XORL        DX, DI
  2163	ADDL        R12, SI
  2164	XORL        CX, DI
  2165	ADDL        552(R15), BX
  2166	LEAL        (BX)(DI*1), BX
  2167	RORXL       $0x1b, SI, R12
  2168	RORXL       $0x02, SI, DI
  2169	XORL        AX, SI
  2170	ADDL        R12, BX
  2171	XORL        DX, SI
  2172	ADDL        556(R15), CX
  2173	LEAL        (CX)(SI*1), CX
  2174	RORXL       $0x1b, BX, R12
  2175	RORXL       $0x02, BX, SI
  2176	VPADDD      32(R8), Y15, Y0
  2177	VMOVDQU     Y0, 256(R14)
  2178	XORL        DI, BX
  2179	ADDL        R12, CX
  2180	XORL        AX, BX
  2181	ADDL        576(R15), DX
  2182	LEAL        (DX)(BX*1), DX
  2183	RORXL       $0x1b, CX, R12
  2184	RORXL       $0x02, CX, BX
  2185	VPALIGNR    $0x08, Y3, Y15, Y0
  2186	XORL        SI, CX
  2187	ADDL        R12, DX
  2188	XORL        DI, CX
  2189	ADDL        580(R15), AX
  2190	LEAL        (AX)(CX*1), AX
  2191	RORXL       $0x1b, DX, R12
  2192	RORXL       $0x02, DX, CX
  2193	VPXOR       Y13, Y14, Y14
  2194	XORL        BX, DX
  2195	ADDL        R12, AX
  2196	XORL        SI, DX
  2197	ADDL        584(R15), DI
  2198	LEAL        (DI)(DX*1), DI
  2199	RORXL       $0x1b, AX, R12
  2200	RORXL       $0x02, AX, DX
  2201	VPXOR       Y7, Y0, Y0
  2202	XORL        CX, AX
  2203	ADDL        R12, DI
  2204	XORL        BX, AX
  2205	ADDL        588(R15), SI
  2206	LEAL        (SI)(AX*1), SI
  2207	RORXL       $0x1b, DI, R12
  2208	RORXL       $0x02, DI, AX
  2209	VPXOR       Y0, Y14, Y14
  2210	XORL        DX, DI
  2211	ADDL        R12, SI
  2212	XORL        CX, DI
  2213	ADDL        608(R15), BX
  2214	LEAL        (BX)(DI*1), BX
  2215	RORXL       $0x1b, SI, R12
  2216	RORXL       $0x02, SI, DI
  2217	VPSLLD      $0x02, Y14, Y0
  2218	XORL        AX, SI
  2219	ADDL        R12, BX
  2220	XORL        DX, SI
  2221	ADDL        612(R15), CX
  2222	LEAL        (CX)(SI*1), CX
  2223	RORXL       $0x1b, BX, R12
  2224	RORXL       $0x02, BX, SI
  2225	VPSRLD      $0x1e, Y14, Y14
  2226	VPOR        Y14, Y0, Y14
  2227	XORL        DI, BX
  2228	ADDL        R12, CX
  2229	XORL        AX, BX
  2230	ADDL        616(R15), DX
  2231	LEAL        (DX)(BX*1), DX
  2232	RORXL       $0x1b, CX, R12
  2233	RORXL       $0x02, CX, BX
  2234	XORL        SI, CX
  2235	ADDL        R12, DX
  2236	XORL        DI, CX
  2237	ADDL        620(R15), AX
  2238	LEAL        (AX)(CX*1), AX
  2239	RORXL       $0x1b, DX, R12
  2240	VPADDD      32(R8), Y14, Y0
  2241	VMOVDQU     Y0, 288(R14)
  2242	ADDL        R12, AX
  2243	ADDL        (R9), AX
  2244	MOVL        AX, (R9)
  2245	ADDL        4(R9), DX
  2246	MOVL        DX, 4(R9)
  2247	ADDL        8(R9), BX
  2248	MOVL        BX, 8(R9)
  2249	ADDL        12(R9), SI
  2250	MOVL        SI, 12(R9)
  2251	ADDL        16(R9), DI
  2252	MOVL        DI, 16(R9)
  2253	CMPQ        R10, R8
  2254	JE          loop
  2255	MOVL        DX, CX
  2256	MOVL        CX, DX
  2257	RORXL       $0x02, CX, CX
  2258	ANDNL       SI, DX, BP
  2259	ANDL        BX, DX
  2260	XORL        BP, DX
  2261	ADDL        16(R15), DI
  2262	ANDNL       BX, AX, BP
  2263	LEAL        (DI)(DX*1), DI
  2264	RORXL       $0x1b, AX, R12
  2265	RORXL       $0x02, AX, DX
  2266	VPALIGNR    $0x08, Y15, Y14, Y0
  2267	ANDL        CX, AX
  2268	XORL        BP, AX
  2269	LEAL        (DI)(R12*1), DI
  2270	ADDL        20(R15), SI
  2271	ANDNL       CX, DI, BP
  2272	LEAL        (SI)(AX*1), SI
  2273	RORXL       $0x1b, DI, R12
  2274	RORXL       $0x02, DI, AX
  2275	VPXOR       Y12, Y13, Y13
  2276	ANDL        DX, DI
  2277	XORL        BP, DI
  2278	LEAL        (SI)(R12*1), SI
  2279	ADDL        24(R15), BX
  2280	ANDNL       DX, SI, BP
  2281	LEAL        (BX)(DI*1), BX
  2282	RORXL       $0x1b, SI, R12
  2283	RORXL       $0x02, SI, DI
  2284	VPXOR       Y5, Y0, Y0
  2285	ANDL        AX, SI
  2286	XORL        BP, SI
  2287	LEAL        (BX)(R12*1), BX
  2288	ADDL        28(R15), CX
  2289	ANDNL       AX, BX, BP
  2290	LEAL        (CX)(SI*1), CX
  2291	RORXL       $0x1b, BX, R12
  2292	RORXL       $0x02, BX, SI
  2293	VPXOR       Y0, Y13, Y13
  2294	ANDL        DI, BX
  2295	XORL        BP, BX
  2296	LEAL        (CX)(R12*1), CX
  2297	ADDL        48(R15), DX
  2298	ANDNL       DI, CX, BP
  2299	LEAL        (DX)(BX*1), DX
  2300	RORXL       $0x1b, CX, R12
  2301	RORXL       $0x02, CX, BX
  2302	VPSLLD      $0x02, Y13, Y0
  2303	ANDL        SI, CX
  2304	XORL        BP, CX
  2305	LEAL        (DX)(R12*1), DX
  2306	ADDL        52(R15), AX
  2307	ANDNL       SI, DX, BP
  2308	LEAL        (AX)(CX*1), AX
  2309	RORXL       $0x1b, DX, R12
  2310	RORXL       $0x02, DX, CX
  2311	VPSRLD      $0x1e, Y13, Y13
  2312	VPOR        Y13, Y0, Y13
  2313	ANDL        BX, DX
  2314	XORL        BP, DX
  2315	LEAL        (AX)(R12*1), AX
  2316	ADDL        56(R15), DI
  2317	ANDNL       BX, AX, BP
  2318	LEAL        (DI)(DX*1), DI
  2319	RORXL       $0x1b, AX, R12
  2320	RORXL       $0x02, AX, DX
  2321	ANDL        CX, AX
  2322	XORL        BP, AX
  2323	LEAL        (DI)(R12*1), DI
  2324	ADDL        60(R15), SI
  2325	ANDNL       CX, DI, BP
  2326	LEAL        (SI)(AX*1), SI
  2327	RORXL       $0x1b, DI, R12
  2328	RORXL       $0x02, DI, AX
  2329	VPADDD      64(R8), Y13, Y0
  2330	VMOVDQU     Y0, 320(R14)
  2331	ANDL        DX, DI
  2332	XORL        BP, DI
  2333	LEAL        (SI)(R12*1), SI
  2334	ADDL        80(R15), BX
  2335	ANDNL       DX, SI, BP
  2336	LEAL        (BX)(DI*1), BX
  2337	RORXL       $0x1b, SI, R12
  2338	RORXL       $0x02, SI, DI
  2339	VPALIGNR    $0x08, Y14, Y13, Y0
  2340	ANDL        AX, SI
  2341	XORL        BP, SI
  2342	LEAL        (BX)(R12*1), BX
  2343	ADDL        84(R15), CX
  2344	ANDNL       AX, BX, BP
  2345	LEAL        (CX)(SI*1), CX
  2346	RORXL       $0x1b, BX, R12
  2347	RORXL       $0x02, BX, SI
  2348	VPXOR       Y8, Y12, Y12
  2349	ANDL        DI, BX
  2350	XORL        BP, BX
  2351	LEAL        (CX)(R12*1), CX
  2352	ADDL        88(R15), DX
  2353	ANDNL       DI, CX, BP
  2354	LEAL        (DX)(BX*1), DX
  2355	RORXL       $0x1b, CX, R12
  2356	RORXL       $0x02, CX, BX
  2357	VPXOR       Y3, Y0, Y0
  2358	ANDL        SI, CX
  2359	XORL        BP, CX
  2360	LEAL        (DX)(R12*1), DX
  2361	ADDL        92(R15), AX
  2362	ANDNL       SI, DX, BP
  2363	LEAL        (AX)(CX*1), AX
  2364	RORXL       $0x1b, DX, R12
  2365	RORXL       $0x02, DX, CX
  2366	VPXOR       Y0, Y12, Y12
  2367	ANDL        BX, DX
  2368	XORL        BP, DX
  2369	LEAL        (AX)(R12*1), AX
  2370	ADDL        112(R15), DI
  2371	ANDNL       BX, AX, BP
  2372	LEAL        (DI)(DX*1), DI
  2373	RORXL       $0x1b, AX, R12
  2374	RORXL       $0x02, AX, DX
  2375	VPSLLD      $0x02, Y12, Y0
  2376	ANDL        CX, AX
  2377	XORL        BP, AX
  2378	LEAL        (DI)(R12*1), DI
  2379	ADDL        116(R15), SI
  2380	ANDNL       CX, DI, BP
  2381	LEAL        (SI)(AX*1), SI
  2382	RORXL       $0x1b, DI, R12
  2383	RORXL       $0x02, DI, AX
  2384	VPSRLD      $0x1e, Y12, Y12
  2385	VPOR        Y12, Y0, Y12
  2386	ANDL        DX, DI
  2387	XORL        BP, DI
  2388	LEAL        (SI)(R12*1), SI
  2389	ADDL        120(R15), BX
  2390	ANDNL       DX, SI, BP
  2391	LEAL        (BX)(DI*1), BX
  2392	RORXL       $0x1b, SI, R12
  2393	RORXL       $0x02, SI, DI
  2394	ANDL        AX, SI
  2395	XORL        BP, SI
  2396	LEAL        (BX)(R12*1), BX
  2397	ADDL        124(R15), CX
  2398	ANDNL       AX, BX, BP
  2399	LEAL        (CX)(SI*1), CX
  2400	RORXL       $0x1b, BX, R12
  2401	RORXL       $0x02, BX, SI
  2402	VPADDD      64(R8), Y12, Y0
  2403	VMOVDQU     Y0, 352(R14)
  2404	ANDL        DI, BX
  2405	XORL        BP, BX
  2406	LEAL        (CX)(R12*1), CX
  2407	ADDL        144(R15), DX
  2408	ANDNL       DI, CX, BP
  2409	LEAL        (DX)(BX*1), DX
  2410	RORXL       $0x1b, CX, R12
  2411	RORXL       $0x02, CX, BX
  2412	VPALIGNR    $0x08, Y13, Y12, Y0
  2413	ANDL        SI, CX
  2414	XORL        BP, CX
  2415	LEAL        (DX)(R12*1), DX
  2416	ADDL        148(R15), AX
  2417	ANDNL       SI, DX, BP
  2418	LEAL        (AX)(CX*1), AX
  2419	RORXL       $0x1b, DX, R12
  2420	RORXL       $0x02, DX, CX
  2421	VPXOR       Y7, Y8, Y8
  2422	ANDL        BX, DX
  2423	XORL        BP, DX
  2424	LEAL        (AX)(R12*1), AX
  2425	ADDL        152(R15), DI
  2426	ANDNL       BX, AX, BP
  2427	LEAL        (DI)(DX*1), DI
  2428	RORXL       $0x1b, AX, R12
  2429	RORXL       $0x02, AX, DX
  2430	VPXOR       Y15, Y0, Y0
  2431	ANDL        CX, AX
  2432	XORL        BP, AX
  2433	LEAL        (DI)(R12*1), DI
  2434	ADDL        156(R15), SI
  2435	LEAL        (SI)(AX*1), SI
  2436	RORXL       $0x1b, DI, R12
  2437	RORXL       $0x02, DI, AX
  2438	VPXOR       Y0, Y8, Y8
  2439	XORL        DX, DI
  2440	ADDL        R12, SI
  2441	XORL        CX, DI
  2442	ADDL        176(R15), BX
  2443	LEAL        (BX)(DI*1), BX
  2444	RORXL       $0x1b, SI, R12
  2445	RORXL       $0x02, SI, DI
  2446	VPSLLD      $0x02, Y8, Y0
  2447	XORL        AX, SI
  2448	ADDL        R12, BX
  2449	XORL        DX, SI
  2450	ADDL        180(R15), CX
  2451	LEAL        (CX)(SI*1), CX
  2452	RORXL       $0x1b, BX, R12
  2453	RORXL       $0x02, BX, SI
  2454	VPSRLD      $0x1e, Y8, Y8
  2455	VPOR        Y8, Y0, Y8
  2456	XORL        DI, BX
  2457	ADDL        R12, CX
  2458	XORL        AX, BX
  2459	ADDL        184(R15), DX
  2460	LEAL        (DX)(BX*1), DX
  2461	RORXL       $0x1b, CX, R12
  2462	RORXL       $0x02, CX, BX
  2463	XORL        SI, CX
  2464	ADDL        R12, DX
  2465	XORL        DI, CX
  2466	ADDL        188(R15), AX
  2467	LEAL        (AX)(CX*1), AX
  2468	RORXL       $0x1b, DX, R12
  2469	RORXL       $0x02, DX, CX
  2470	VPADDD      64(R8), Y8, Y0
  2471	VMOVDQU     Y0, 384(R14)
  2472	XORL        BX, DX
  2473	ADDL        R12, AX
  2474	XORL        SI, DX
  2475	ADDL        208(R15), DI
  2476	LEAL        (DI)(DX*1), DI
  2477	RORXL       $0x1b, AX, R12
  2478	RORXL       $0x02, AX, DX
  2479	VPALIGNR    $0x08, Y12, Y8, Y0
  2480	XORL        CX, AX
  2481	ADDL        R12, DI
  2482	XORL        BX, AX
  2483	ADDL        212(R15), SI
  2484	LEAL        (SI)(AX*1), SI
  2485	RORXL       $0x1b, DI, R12
  2486	RORXL       $0x02, DI, AX
  2487	VPXOR       Y5, Y7, Y7
  2488	XORL        DX, DI
  2489	ADDL        R12, SI
  2490	XORL        CX, DI
  2491	ADDL        216(R15), BX
  2492	LEAL        (BX)(DI*1), BX
  2493	RORXL       $0x1b, SI, R12
  2494	RORXL       $0x02, SI, DI
  2495	VPXOR       Y14, Y0, Y0
  2496	XORL        AX, SI
  2497	ADDL        R12, BX
  2498	XORL        DX, SI
  2499	ADDL        220(R15), CX
  2500	LEAL        (CX)(SI*1), CX
  2501	RORXL       $0x1b, BX, R12
  2502	RORXL       $0x02, BX, SI
  2503	VPXOR       Y0, Y7, Y7
  2504	XORL        DI, BX
  2505	ADDL        R12, CX
  2506	XORL        AX, BX
  2507	ADDL        240(R15), DX
  2508	LEAL        (DX)(BX*1), DX
  2509	RORXL       $0x1b, CX, R12
  2510	RORXL       $0x02, CX, BX
  2511	VPSLLD      $0x02, Y7, Y0
  2512	XORL        SI, CX
  2513	ADDL        R12, DX
  2514	XORL        DI, CX
  2515	ADDL        244(R15), AX
  2516	LEAL        (AX)(CX*1), AX
  2517	RORXL       $0x1b, DX, R12
  2518	RORXL       $0x02, DX, CX
  2519	VPSRLD      $0x1e, Y7, Y7
  2520	VPOR        Y7, Y0, Y7
  2521	XORL        BX, DX
  2522	ADDL        R12, AX
  2523	XORL        SI, DX
  2524	ADDL        248(R15), DI
  2525	LEAL        (DI)(DX*1), DI
  2526	RORXL       $0x1b, AX, R12
  2527	RORXL       $0x02, AX, DX
  2528	XORL        CX, AX
  2529	ADDL        R12, DI
  2530	XORL        BX, AX
  2531	ADDL        252(R15), SI
  2532	LEAL        (SI)(AX*1), SI
  2533	RORXL       $0x1b, DI, R12
  2534	RORXL       $0x02, DI, AX
  2535	VPADDD      64(R8), Y7, Y0
  2536	VMOVDQU     Y0, 416(R14)
  2537	XORL        DX, DI
  2538	ADDL        R12, SI
  2539	XORL        CX, DI
  2540	ADDL        272(R15), BX
  2541	LEAL        (BX)(DI*1), BX
  2542	RORXL       $0x1b, SI, R12
  2543	RORXL       $0x02, SI, DI
  2544	VPALIGNR    $0x08, Y8, Y7, Y0
  2545	XORL        AX, SI
  2546	ADDL        R12, BX
  2547	XORL        DX, SI
  2548	ADDL        276(R15), CX
  2549	LEAL        (CX)(SI*1), CX
  2550	RORXL       $0x1b, BX, R12
  2551	RORXL       $0x02, BX, SI
  2552	VPXOR       Y3, Y5, Y5
  2553	XORL        DI, BX
  2554	ADDL        R12, CX
  2555	XORL        AX, BX
  2556	ADDL        280(R15), DX
  2557	LEAL        (DX)(BX*1), DX
  2558	RORXL       $0x1b, CX, R12
  2559	RORXL       $0x02, CX, BX
  2560	VPXOR       Y13, Y0, Y0
  2561	XORL        SI, CX
  2562	ADDL        R12, DX
  2563	XORL        DI, CX
  2564	ADDL        284(R15), AX
  2565	LEAL        (AX)(CX*1), AX
  2566	RORXL       $0x1b, DX, R12
  2567	RORXL       $0x02, DX, CX
  2568	VPXOR       Y0, Y5, Y5
  2569	XORL        BX, DX
  2570	ADDL        R12, AX
  2571	XORL        SI, DX
  2572	ADDL        304(R15), DI
  2573	LEAL        (DI)(DX*1), DI
  2574	RORXL       $0x1b, AX, R12
  2575	RORXL       $0x02, AX, DX
  2576	VPSLLD      $0x02, Y5, Y0
  2577	XORL        CX, AX
  2578	ADDL        R12, DI
  2579	XORL        BX, AX
  2580	ADDL        308(R15), SI
  2581	LEAL        (SI)(AX*1), SI
  2582	RORXL       $0x1b, DI, R12
  2583	RORXL       $0x02, DI, AX
  2584	VPSRLD      $0x1e, Y5, Y5
  2585	VPOR        Y5, Y0, Y5
  2586	XORL        DX, DI
  2587	ADDL        R12, SI
  2588	XORL        CX, DI
  2589	ADDL        312(R15), BX
  2590	LEAL        (BX)(DI*1), BX
  2591	RORXL       $0x1b, SI, R12
  2592	RORXL       $0x02, SI, DI
  2593	XORL        AX, SI
  2594	ADDL        R12, BX
  2595	XORL        DX, SI
  2596	ADDL        316(R15), CX
  2597	VPADDD      64(R8), Y5, Y0
  2598	VMOVDQU     Y0, 448(R14)
  2599	LEAL        (CX)(SI*1), CX
  2600	MOVL        DI, BP
  2601	ORL         BX, BP
  2602	RORXL       $0x1b, BX, R12
  2603	RORXL       $0x02, BX, SI
  2604	ANDL        AX, BP
  2605	ANDL        DI, BX
  2606	ORL         BP, BX
  2607	ADDL        R12, CX
  2608	ADDL        336(R15), DX
  2609	VPALIGNR    $0x08, Y7, Y5, Y0
  2610	LEAL        (DX)(BX*1), DX
  2611	MOVL        SI, BP
  2612	ORL         CX, BP
  2613	RORXL       $0x1b, CX, R12
  2614	RORXL       $0x02, CX, BX
  2615	ANDL        DI, BP
  2616	ANDL        SI, CX
  2617	ORL         BP, CX
  2618	ADDL        R12, DX
  2619	ADDL        340(R15), AX
  2620	VPXOR       Y15, Y3, Y3
  2621	LEAL        (AX)(CX*1), AX
  2622	MOVL        BX, BP
  2623	ORL         DX, BP
  2624	RORXL       $0x1b, DX, R12
  2625	RORXL       $0x02, DX, CX
  2626	ANDL        SI, BP
  2627	ANDL        BX, DX
  2628	ORL         BP, DX
  2629	ADDL        R12, AX
  2630	ADDL        344(R15), DI
  2631	VPXOR       Y12, Y0, Y0
  2632	LEAL        (DI)(DX*1), DI
  2633	MOVL        CX, BP
  2634	ORL         AX, BP
  2635	RORXL       $0x1b, AX, R12
  2636	RORXL       $0x02, AX, DX
  2637	ANDL        BX, BP
  2638	ANDL        CX, AX
  2639	ORL         BP, AX
  2640	ADDL        R12, DI
  2641	ADDL        348(R15), SI
  2642	VPXOR       Y0, Y3, Y3
  2643	LEAL        (SI)(AX*1), SI
  2644	MOVL        DX, BP
  2645	ORL         DI, BP
  2646	RORXL       $0x1b, DI, R12
  2647	RORXL       $0x02, DI, AX
  2648	ANDL        CX, BP
  2649	ANDL        DX, DI
  2650	ORL         BP, DI
  2651	ADDL        R12, SI
  2652	ADDL        368(R15), BX
  2653	VPSLLD      $0x02, Y3, Y0
  2654	LEAL        (BX)(DI*1), BX
  2655	MOVL        AX, BP
  2656	ORL         SI, BP
  2657	RORXL       $0x1b, SI, R12
  2658	RORXL       $0x02, SI, DI
  2659	ANDL        DX, BP
  2660	ANDL        AX, SI
  2661	ORL         BP, SI
  2662	ADDL        R12, BX
  2663	ADDL        372(R15), CX
  2664	VPSRLD      $0x1e, Y3, Y3
  2665	VPOR        Y3, Y0, Y3
  2666	LEAL        (CX)(SI*1), CX
  2667	MOVL        DI, BP
  2668	ORL         BX, BP
  2669	RORXL       $0x1b, BX, R12
  2670	RORXL       $0x02, BX, SI
  2671	ANDL        AX, BP
  2672	ANDL        DI, BX
  2673	ORL         BP, BX
  2674	ADDL        R12, CX
  2675	ADDL        376(R15), DX
  2676	LEAL        (DX)(BX*1), DX
  2677	MOVL        SI, BP
  2678	ORL         CX, BP
  2679	RORXL       $0x1b, CX, R12
  2680	RORXL       $0x02, CX, BX
  2681	ANDL        DI, BP
  2682	ANDL        SI, CX
  2683	ORL         BP, CX
  2684	ADDL        R12, DX
  2685	ADDL        380(R15), AX
  2686	VPADDD      96(R8), Y3, Y0
  2687	VMOVDQU     Y0, 480(R14)
  2688	LEAL        (AX)(CX*1), AX
  2689	MOVL        BX, BP
  2690	ORL         DX, BP
  2691	RORXL       $0x1b, DX, R12
  2692	RORXL       $0x02, DX, CX
  2693	ANDL        SI, BP
  2694	ANDL        BX, DX
  2695	ORL         BP, DX
  2696	ADDL        R12, AX
  2697	ADDL        400(R15), DI
  2698	VPALIGNR    $0x08, Y5, Y3, Y0
  2699	LEAL        (DI)(DX*1), DI
  2700	MOVL        CX, BP
  2701	ORL         AX, BP
  2702	RORXL       $0x1b, AX, R12
  2703	RORXL       $0x02, AX, DX
  2704	ANDL        BX, BP
  2705	ANDL        CX, AX
  2706	ORL         BP, AX
  2707	ADDL        R12, DI
  2708	ADDL        404(R15), SI
  2709	VPXOR       Y14, Y15, Y15
  2710	LEAL        (SI)(AX*1), SI
  2711	MOVL        DX, BP
  2712	ORL         DI, BP
  2713	RORXL       $0x1b, DI, R12
  2714	RORXL       $0x02, DI, AX
  2715	ANDL        CX, BP
  2716	ANDL        DX, DI
  2717	ORL         BP, DI
  2718	ADDL        R12, SI
  2719	ADDL        408(R15), BX
  2720	VPXOR       Y8, Y0, Y0
  2721	LEAL        (BX)(DI*1), BX
  2722	MOVL        AX, BP
  2723	ORL         SI, BP
  2724	RORXL       $0x1b, SI, R12
  2725	RORXL       $0x02, SI, DI
  2726	ANDL        DX, BP
  2727	ANDL        AX, SI
  2728	ORL         BP, SI
  2729	ADDL        R12, BX
  2730	ADDL        412(R15), CX
  2731	VPXOR       Y0, Y15, Y15
  2732	LEAL        (CX)(SI*1), CX
  2733	MOVL        DI, BP
  2734	ORL         BX, BP
  2735	RORXL       $0x1b, BX, R12
  2736	RORXL       $0x02, BX, SI
  2737	ANDL        AX, BP
  2738	ANDL        DI, BX
  2739	ORL         BP, BX
  2740	ADDL        R12, CX
  2741	ADDL        432(R15), DX
  2742	VPSLLD      $0x02, Y15, Y0
  2743	LEAL        (DX)(BX*1), DX
  2744	MOVL        SI, BP
  2745	ORL         CX, BP
  2746	RORXL       $0x1b, CX, R12
  2747	RORXL       $0x02, CX, BX
  2748	ANDL        DI, BP
  2749	ANDL        SI, CX
  2750	ORL         BP, CX
  2751	ADDL        R12, DX
  2752	ADDL        436(R15), AX
  2753	VPSRLD      $0x1e, Y15, Y15
  2754	VPOR        Y15, Y0, Y15
  2755	LEAL        (AX)(CX*1), AX
  2756	MOVL        BX, BP
  2757	ORL         DX, BP
  2758	RORXL       $0x1b, DX, R12
  2759	RORXL       $0x02, DX, CX
  2760	ANDL        SI, BP
  2761	ANDL        BX, DX
  2762	ORL         BP, DX
  2763	ADDL        R12, AX
  2764	ADDL        440(R15), DI
  2765	LEAL        (DI)(DX*1), DI
  2766	MOVL        CX, BP
  2767	ORL         AX, BP
  2768	RORXL       $0x1b, AX, R12
  2769	RORXL       $0x02, AX, DX
  2770	ANDL        BX, BP
  2771	ANDL        CX, AX
  2772	ORL         BP, AX
  2773	ADDL        R12, DI
  2774	ADDL        444(R15), SI
  2775	VPADDD      96(R8), Y15, Y0
  2776	VMOVDQU     Y0, 512(R14)
  2777	LEAL        (SI)(AX*1), SI
  2778	MOVL        DX, BP
  2779	ORL         DI, BP
  2780	RORXL       $0x1b, DI, R12
  2781	RORXL       $0x02, DI, AX
  2782	ANDL        CX, BP
  2783	ANDL        DX, DI
  2784	ORL         BP, DI
  2785	ADDL        R12, SI
  2786	ADDL        464(R15), BX
  2787	VPALIGNR    $0x08, Y3, Y15, Y0
  2788	LEAL        (BX)(DI*1), BX
  2789	MOVL        AX, BP
  2790	ORL         SI, BP
  2791	RORXL       $0x1b, SI, R12
  2792	RORXL       $0x02, SI, DI
  2793	ANDL        DX, BP
  2794	ANDL        AX, SI
  2795	ORL         BP, SI
  2796	ADDL        R12, BX
  2797	ADDL        468(R15), CX
  2798	VPXOR       Y13, Y14, Y14
  2799	LEAL        (CX)(SI*1), CX
  2800	MOVL        DI, BP
  2801	ORL         BX, BP
  2802	RORXL       $0x1b, BX, R12
  2803	RORXL       $0x02, BX, SI
  2804	ANDL        AX, BP
  2805	ANDL        DI, BX
  2806	ORL         BP, BX
  2807	ADDL        R12, CX
  2808	ADDL        472(R15), DX
  2809	VPXOR       Y7, Y0, Y0
  2810	LEAL        (DX)(BX*1), DX
  2811	MOVL        SI, BP
  2812	ORL         CX, BP
  2813	RORXL       $0x1b, CX, R12
  2814	RORXL       $0x02, CX, BX
  2815	ANDL        DI, BP
  2816	ANDL        SI, CX
  2817	ORL         BP, CX
  2818	ADDL        R12, DX
  2819	ADDL        476(R15), AX
  2820	LEAL        (AX)(CX*1), AX
  2821	RORXL       $0x1b, DX, R12
  2822	RORXL       $0x02, DX, CX
  2823	VPXOR       Y0, Y14, Y14
  2824	XORL        BX, DX
  2825	ADDL        R12, AX
  2826	XORL        SI, DX
  2827	ADDQ        $0x80, R13
  2828	CMPQ        R13, R11
  2829	CMOVQCC     R8, R10
  2830	ADDL        496(R15), DI
  2831	LEAL        (DI)(DX*1), DI
  2832	RORXL       $0x1b, AX, R12
  2833	RORXL       $0x02, AX, DX
  2834	VPSLLD      $0x02, Y14, Y0
  2835	XORL        CX, AX
  2836	ADDL        R12, DI
  2837	XORL        BX, AX
  2838	ADDL        500(R15), SI
  2839	LEAL        (SI)(AX*1), SI
  2840	RORXL       $0x1b, DI, R12
  2841	RORXL       $0x02, DI, AX
  2842	VPSRLD      $0x1e, Y14, Y14
  2843	VPOR        Y14, Y0, Y14
  2844	XORL        DX, DI
  2845	ADDL        R12, SI
  2846	XORL        CX, DI
  2847	ADDL        504(R15), BX
  2848	LEAL        (BX)(DI*1), BX
  2849	RORXL       $0x1b, SI, R12
  2850	RORXL       $0x02, SI, DI
  2851	XORL        AX, SI
  2852	ADDL        R12, BX
  2853	XORL        DX, SI
  2854	ADDL        508(R15), CX
  2855	LEAL        (CX)(SI*1), CX
  2856	RORXL       $0x1b, BX, R12
  2857	RORXL       $0x02, BX, SI
  2858	VPADDD      96(R8), Y14, Y0
  2859	VMOVDQU     Y0, 544(R14)
  2860	XORL        DI, BX
  2861	ADDL        R12, CX
  2862	XORL        AX, BX
  2863	ADDL        528(R15), DX
  2864	LEAL        (DX)(BX*1), DX
  2865	RORXL       $0x1b, CX, R12
  2866	RORXL       $0x02, CX, BX
  2867	VPALIGNR    $0x08, Y15, Y14, Y0
  2868	XORL        SI, CX
  2869	ADDL        R12, DX
  2870	XORL        DI, CX
  2871	ADDL        532(R15), AX
  2872	LEAL        (AX)(CX*1), AX
  2873	RORXL       $0x1b, DX, R12
  2874	RORXL       $0x02, DX, CX
  2875	VPXOR       Y12, Y13, Y13
  2876	XORL        BX, DX
  2877	ADDL        R12, AX
  2878	XORL        SI, DX
  2879	ADDL        536(R15), DI
  2880	LEAL        (DI)(DX*1), DI
  2881	RORXL       $0x1b, AX, R12
  2882	RORXL       $0x02, AX, DX
  2883	VPXOR       Y5, Y0, Y0
  2884	XORL        CX, AX
  2885	ADDL        R12, DI
  2886	XORL        BX, AX
  2887	ADDL        540(R15), SI
  2888	LEAL        (SI)(AX*1), SI
  2889	RORXL       $0x1b, DI, R12
  2890	RORXL       $0x02, DI, AX
  2891	VPXOR       Y0, Y13, Y13
  2892	XORL        DX, DI
  2893	ADDL        R12, SI
  2894	XORL        CX, DI
  2895	ADDL        560(R15), BX
  2896	LEAL        (BX)(DI*1), BX
  2897	RORXL       $0x1b, SI, R12
  2898	RORXL       $0x02, SI, DI
  2899	VPSLLD      $0x02, Y13, Y0
  2900	XORL        AX, SI
  2901	ADDL        R12, BX
  2902	XORL        DX, SI
  2903	ADDL        564(R15), CX
  2904	LEAL        (CX)(SI*1), CX
  2905	RORXL       $0x1b, BX, R12
  2906	RORXL       $0x02, BX, SI
  2907	VPSRLD      $0x1e, Y13, Y13
  2908	VPOR        Y13, Y0, Y13
  2909	XORL        DI, BX
  2910	ADDL        R12, CX
  2911	XORL        AX, BX
  2912	ADDL        568(R15), DX
  2913	LEAL        (DX)(BX*1), DX
  2914	RORXL       $0x1b, CX, R12
  2915	RORXL       $0x02, CX, BX
  2916	XORL        SI, CX
  2917	ADDL        R12, DX
  2918	XORL        DI, CX
  2919	ADDL        572(R15), AX
  2920	LEAL        (AX)(CX*1), AX
  2921	RORXL       $0x1b, DX, R12
  2922	RORXL       $0x02, DX, CX
  2923	VPADDD      96(R8), Y13, Y0
  2924	VMOVDQU     Y0, 576(R14)
  2925	XORL        BX, DX
  2926	ADDL        R12, AX
  2927	XORL        SI, DX
  2928	ADDL        592(R15), DI
  2929	LEAL        (DI)(DX*1), DI
  2930	RORXL       $0x1b, AX, R12
  2931	RORXL       $0x02, AX, DX
  2932	VPALIGNR    $0x08, Y14, Y13, Y0
  2933	XORL        CX, AX
  2934	ADDL        R12, DI
  2935	XORL        BX, AX
  2936	ADDL        596(R15), SI
  2937	LEAL        (SI)(AX*1), SI
  2938	RORXL       $0x1b, DI, R12
  2939	RORXL       $0x02, DI, AX
  2940	VPXOR       Y8, Y12, Y12
  2941	XORL        DX, DI
  2942	ADDL        R12, SI
  2943	XORL        CX, DI
  2944	ADDL        600(R15), BX
  2945	LEAL        (BX)(DI*1), BX
  2946	RORXL       $0x1b, SI, R12
  2947	RORXL       $0x02, SI, DI
  2948	VPXOR       Y3, Y0, Y0
  2949	XORL        AX, SI
  2950	ADDL        R12, BX
  2951	XORL        DX, SI
  2952	ADDL        604(R15), CX
  2953	LEAL        (CX)(SI*1), CX
  2954	RORXL       $0x1b, BX, R12
  2955	RORXL       $0x02, BX, SI
  2956	VPXOR       Y0, Y12, Y12
  2957	XORL        DI, BX
  2958	ADDL        R12, CX
  2959	XORL        AX, BX
  2960	ADDL        624(R15), DX
  2961	LEAL        (DX)(BX*1), DX
  2962	RORXL       $0x1b, CX, R12
  2963	RORXL       $0x02, CX, BX
  2964	VPSLLD      $0x02, Y12, Y0
  2965	XORL        SI, CX
  2966	ADDL        R12, DX
  2967	XORL        DI, CX
  2968	ADDL        628(R15), AX
  2969	LEAL        (AX)(CX*1), AX
  2970	RORXL       $0x1b, DX, R12
  2971	RORXL       $0x02, DX, CX
  2972	VPSRLD      $0x1e, Y12, Y12
  2973	VPOR        Y12, Y0, Y12
  2974	XORL        BX, DX
  2975	ADDL        R12, AX
  2976	XORL        SI, DX
  2977	ADDL        632(R15), DI
  2978	LEAL        (DI)(DX*1), DI
  2979	RORXL       $0x1b, AX, R12
  2980	RORXL       $0x02, AX, DX
  2981	XORL        CX, AX
  2982	ADDL        R12, DI
  2983	XORL        BX, AX
  2984	ADDL        636(R15), SI
  2985	LEAL        (SI)(AX*1), SI
  2986	RORXL       $0x1b, DI, R12
  2987	VPADDD      96(R8), Y12, Y0
  2988	VMOVDQU     Y0, 608(R14)
  2989	ADDL        R12, SI
  2990	ADDL        (R9), SI
  2991	MOVL        SI, (R9)
  2992	ADDL        4(R9), DI
  2993	MOVL        DI, 4(R9)
  2994	ADDL        8(R9), DX
  2995	MOVL        DX, 8(R9)
  2996	ADDL        12(R9), CX
  2997	MOVL        CX, 12(R9)
  2998	ADDL        16(R9), BX
  2999	MOVL        BX, 16(R9)
  3000	MOVL        SI, R12
  3001	MOVL        DI, SI
  3002	MOVL        DX, DI
  3003	MOVL        BX, DX
  3004	MOVL        CX, AX
  3005	MOVL        R12, CX
  3006	XCHGQ       R15, R14
  3007	JMP         loop
  3008
  3009DATA K_XMM_AR<>+0(SB)/4, $0x5a827999
  3010DATA K_XMM_AR<>+4(SB)/4, $0x5a827999
  3011DATA K_XMM_AR<>+8(SB)/4, $0x5a827999
  3012DATA K_XMM_AR<>+12(SB)/4, $0x5a827999
  3013DATA K_XMM_AR<>+16(SB)/4, $0x5a827999
  3014DATA K_XMM_AR<>+20(SB)/4, $0x5a827999
  3015DATA K_XMM_AR<>+24(SB)/4, $0x5a827999
  3016DATA K_XMM_AR<>+28(SB)/4, $0x5a827999
  3017DATA K_XMM_AR<>+32(SB)/4, $0x6ed9eba1
  3018DATA K_XMM_AR<>+36(SB)/4, $0x6ed9eba1
  3019DATA K_XMM_AR<>+40(SB)/4, $0x6ed9eba1
  3020DATA K_XMM_AR<>+44(SB)/4, $0x6ed9eba1
  3021DATA K_XMM_AR<>+48(SB)/4, $0x6ed9eba1
  3022DATA K_XMM_AR<>+52(SB)/4, $0x6ed9eba1
  3023DATA K_XMM_AR<>+56(SB)/4, $0x6ed9eba1
  3024DATA K_XMM_AR<>+60(SB)/4, $0x6ed9eba1
  3025DATA K_XMM_AR<>+64(SB)/4, $0x8f1bbcdc
  3026DATA K_XMM_AR<>+68(SB)/4, $0x8f1bbcdc
  3027DATA K_XMM_AR<>+72(SB)/4, $0x8f1bbcdc
  3028DATA K_XMM_AR<>+76(SB)/4, $0x8f1bbcdc
  3029DATA K_XMM_AR<>+80(SB)/4, $0x8f1bbcdc
  3030DATA K_XMM_AR<>+84(SB)/4, $0x8f1bbcdc
  3031DATA K_XMM_AR<>+88(SB)/4, $0x8f1bbcdc
  3032DATA K_XMM_AR<>+92(SB)/4, $0x8f1bbcdc
  3033DATA K_XMM_AR<>+96(SB)/4, $0xca62c1d6
  3034DATA K_XMM_AR<>+100(SB)/4, $0xca62c1d6
  3035DATA K_XMM_AR<>+104(SB)/4, $0xca62c1d6
  3036DATA K_XMM_AR<>+108(SB)/4, $0xca62c1d6
  3037DATA K_XMM_AR<>+112(SB)/4, $0xca62c1d6
  3038DATA K_XMM_AR<>+116(SB)/4, $0xca62c1d6
  3039DATA K_XMM_AR<>+120(SB)/4, $0xca62c1d6
  3040DATA K_XMM_AR<>+124(SB)/4, $0xca62c1d6
  3041GLOBL K_XMM_AR<>(SB), RODATA, $128
  3042
  3043DATA BSWAP_SHUFB_CTL<>+0(SB)/4, $0x00010203
  3044DATA BSWAP_SHUFB_CTL<>+4(SB)/4, $0x04050607
  3045DATA BSWAP_SHUFB_CTL<>+8(SB)/4, $0x08090a0b
  3046DATA BSWAP_SHUFB_CTL<>+12(SB)/4, $0x0c0d0e0f
  3047DATA BSWAP_SHUFB_CTL<>+16(SB)/4, $0x00010203
  3048DATA BSWAP_SHUFB_CTL<>+20(SB)/4, $0x04050607
  3049DATA BSWAP_SHUFB_CTL<>+24(SB)/4, $0x08090a0b
  3050DATA BSWAP_SHUFB_CTL<>+28(SB)/4, $0x0c0d0e0f
  3051GLOBL BSWAP_SHUFB_CTL<>(SB), RODATA, $32

View as plain text