...

Text file src/golang.org/x/crypto/argon2/blamka_amd64.s

Documentation: golang.org/x/crypto/argon2

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

View as plain text