...

Text file src/golang.org/x/crypto/blake2b/blake2b_amd64.s

Documentation: golang.org/x/crypto/blake2b

     1// Code generated by command: go run blake2b_amd64_asm.go -out ../../blake2b_amd64.s -pkg blake2b. DO NOT EDIT.
     2
     3//go:build amd64 && gc && !purego
     4
     5#include "textflag.h"
     6
     7// func hashBlocksSSE4(h *[8]uint64, c *[2]uint64, flag uint64, blocks []byte)
     8// Requires: SSE2, SSE4.1, SSSE3
     9TEXT ·hashBlocksSSE4(SB), NOSPLIT, $288-48
    10	MOVQ  h+0(FP), AX
    11	MOVQ  c+8(FP), BX
    12	MOVQ  flag+16(FP), CX
    13	MOVQ  blocks_base+24(FP), SI
    14	MOVQ  blocks_len+32(FP), DI
    15	MOVQ  SP, R10
    16	ADDQ  $0x0f, R10
    17	ANDQ  $-16, R10
    18	MOVOU ·iv3<>+0(SB), X0
    19	MOVO  X0, (R10)
    20	XORQ  CX, (R10)
    21	MOVOU ·c40<>+0(SB), X13
    22	MOVOU ·c48<>+0(SB), X14
    23	MOVOU (AX), X12
    24	MOVOU 16(AX), X15
    25	MOVQ  (BX), R8
    26	MOVQ  8(BX), R9
    27
    28loop:
    29	ADDQ $0x80, R8
    30	CMPQ R8, $0x80
    31	JGE  noinc
    32	INCQ R9
    33
    34noinc:
    35	MOVQ       R8, X8
    36	PINSRQ     $0x01, R9, X8
    37	MOVO       X12, X0
    38	MOVO       X15, X1
    39	MOVOU      32(AX), X2
    40	MOVOU      48(AX), X3
    41	MOVOU      ·iv0<>+0(SB), X4
    42	MOVOU      ·iv1<>+0(SB), X5
    43	MOVOU      ·iv2<>+0(SB), X6
    44	PXOR       X8, X6
    45	MOVO       (R10), X7
    46	MOVQ       (SI), X8
    47	PINSRQ     $0x01, 16(SI), X8
    48	MOVQ       32(SI), X9
    49	PINSRQ     $0x01, 48(SI), X9
    50	MOVQ       8(SI), X10
    51	PINSRQ     $0x01, 24(SI), X10
    52	MOVQ       40(SI), X11
    53	PINSRQ     $0x01, 56(SI), X11
    54	MOVO       X8, 16(R10)
    55	MOVO       X9, 32(R10)
    56	MOVO       X10, 48(R10)
    57	MOVO       X11, 64(R10)
    58	PADDQ      X8, X0
    59	PADDQ      X9, X1
    60	PADDQ      X2, X0
    61	PADDQ      X3, X1
    62	PXOR       X0, X6
    63	PXOR       X1, X7
    64	PSHUFD     $0xb1, X6, X6
    65	PSHUFD     $0xb1, X7, X7
    66	PADDQ      X6, X4
    67	PADDQ      X7, X5
    68	PXOR       X4, X2
    69	PXOR       X5, X3
    70	PSHUFB     X13, X2
    71	PSHUFB     X13, X3
    72	PADDQ      X10, X0
    73	PADDQ      X11, X1
    74	PADDQ      X2, X0
    75	PADDQ      X3, X1
    76	PXOR       X0, X6
    77	PXOR       X1, X7
    78	PSHUFB     X14, X6
    79	PSHUFB     X14, X7
    80	PADDQ      X6, X4
    81	PADDQ      X7, X5
    82	PXOR       X4, X2
    83	PXOR       X5, X3
    84	MOVOU      X2, X11
    85	PADDQ      X2, X11
    86	PSRLQ      $0x3f, X2
    87	PXOR       X11, X2
    88	MOVOU      X3, X11
    89	PADDQ      X3, X11
    90	PSRLQ      $0x3f, X3
    91	PXOR       X11, X3
    92	MOVO       X4, X8
    93	MOVO       X5, X4
    94	MOVO       X8, X5
    95	MOVO       X6, X8
    96	PUNPCKLQDQ X6, X9
    97	PUNPCKHQDQ X7, X6
    98	PUNPCKHQDQ X9, X6
    99	PUNPCKLQDQ X7, X9
   100	MOVO       X8, X7
   101	MOVO       X2, X8
   102	PUNPCKHQDQ X9, X7
   103	PUNPCKLQDQ X3, X9
   104	PUNPCKHQDQ X9, X2
   105	PUNPCKLQDQ X8, X9
   106	PUNPCKHQDQ X9, X3
   107	MOVQ       64(SI), X8
   108	PINSRQ     $0x01, 80(SI), X8
   109	MOVQ       96(SI), X9
   110	PINSRQ     $0x01, 112(SI), X9
   111	MOVQ       72(SI), X10
   112	PINSRQ     $0x01, 88(SI), X10
   113	MOVQ       104(SI), X11
   114	PINSRQ     $0x01, 120(SI), X11
   115	MOVO       X8, 80(R10)
   116	MOVO       X9, 96(R10)
   117	MOVO       X10, 112(R10)
   118	MOVO       X11, 128(R10)
   119	PADDQ      X8, X0
   120	PADDQ      X9, X1
   121	PADDQ      X2, X0
   122	PADDQ      X3, X1
   123	PXOR       X0, X6
   124	PXOR       X1, X7
   125	PSHUFD     $0xb1, X6, X6
   126	PSHUFD     $0xb1, X7, X7
   127	PADDQ      X6, X4
   128	PADDQ      X7, X5
   129	PXOR       X4, X2
   130	PXOR       X5, X3
   131	PSHUFB     X13, X2
   132	PSHUFB     X13, X3
   133	PADDQ      X10, X0
   134	PADDQ      X11, X1
   135	PADDQ      X2, X0
   136	PADDQ      X3, X1
   137	PXOR       X0, X6
   138	PXOR       X1, X7
   139	PSHUFB     X14, X6
   140	PSHUFB     X14, X7
   141	PADDQ      X6, X4
   142	PADDQ      X7, X5
   143	PXOR       X4, X2
   144	PXOR       X5, X3
   145	MOVOU      X2, X11
   146	PADDQ      X2, X11
   147	PSRLQ      $0x3f, X2
   148	PXOR       X11, X2
   149	MOVOU      X3, X11
   150	PADDQ      X3, X11
   151	PSRLQ      $0x3f, X3
   152	PXOR       X11, X3
   153	MOVO       X4, X8
   154	MOVO       X5, X4
   155	MOVO       X8, X5
   156	MOVO       X2, X8
   157	PUNPCKLQDQ X2, X9
   158	PUNPCKHQDQ X3, X2
   159	PUNPCKHQDQ X9, X2
   160	PUNPCKLQDQ X3, X9
   161	MOVO       X8, X3
   162	MOVO       X6, X8
   163	PUNPCKHQDQ X9, X3
   164	PUNPCKLQDQ X7, X9
   165	PUNPCKHQDQ X9, X6
   166	PUNPCKLQDQ X8, X9
   167	PUNPCKHQDQ X9, X7
   168	MOVQ       112(SI), X8
   169	PINSRQ     $0x01, 32(SI), X8
   170	MOVQ       72(SI), X9
   171	PINSRQ     $0x01, 104(SI), X9
   172	MOVQ       80(SI), X10
   173	PINSRQ     $0x01, 64(SI), X10
   174	MOVQ       120(SI), X11
   175	PINSRQ     $0x01, 48(SI), X11
   176	MOVO       X8, 144(R10)
   177	MOVO       X9, 160(R10)
   178	MOVO       X10, 176(R10)
   179	MOVO       X11, 192(R10)
   180	PADDQ      X8, X0
   181	PADDQ      X9, X1
   182	PADDQ      X2, X0
   183	PADDQ      X3, X1
   184	PXOR       X0, X6
   185	PXOR       X1, X7
   186	PSHUFD     $0xb1, X6, X6
   187	PSHUFD     $0xb1, X7, X7
   188	PADDQ      X6, X4
   189	PADDQ      X7, X5
   190	PXOR       X4, X2
   191	PXOR       X5, X3
   192	PSHUFB     X13, X2
   193	PSHUFB     X13, X3
   194	PADDQ      X10, X0
   195	PADDQ      X11, X1
   196	PADDQ      X2, X0
   197	PADDQ      X3, X1
   198	PXOR       X0, X6
   199	PXOR       X1, X7
   200	PSHUFB     X14, X6
   201	PSHUFB     X14, X7
   202	PADDQ      X6, X4
   203	PADDQ      X7, X5
   204	PXOR       X4, X2
   205	PXOR       X5, X3
   206	MOVOU      X2, X11
   207	PADDQ      X2, X11
   208	PSRLQ      $0x3f, X2
   209	PXOR       X11, X2
   210	MOVOU      X3, X11
   211	PADDQ      X3, X11
   212	PSRLQ      $0x3f, X3
   213	PXOR       X11, X3
   214	MOVO       X4, X8
   215	MOVO       X5, X4
   216	MOVO       X8, X5
   217	MOVO       X6, X8
   218	PUNPCKLQDQ X6, X9
   219	PUNPCKHQDQ X7, X6
   220	PUNPCKHQDQ X9, X6
   221	PUNPCKLQDQ X7, X9
   222	MOVO       X8, X7
   223	MOVO       X2, X8
   224	PUNPCKHQDQ X9, X7
   225	PUNPCKLQDQ X3, X9
   226	PUNPCKHQDQ X9, X2
   227	PUNPCKLQDQ X8, X9
   228	PUNPCKHQDQ X9, X3
   229	MOVQ       8(SI), X8
   230	PINSRQ     $0x01, (SI), X8
   231	MOVQ       88(SI), X9
   232	PINSRQ     $0x01, 40(SI), X9
   233	MOVQ       96(SI), X10
   234	PINSRQ     $0x01, 16(SI), X10
   235	MOVQ       56(SI), X11
   236	PINSRQ     $0x01, 24(SI), X11
   237	MOVO       X8, 208(R10)
   238	MOVO       X9, 224(R10)
   239	MOVO       X10, 240(R10)
   240	MOVO       X11, 256(R10)
   241	PADDQ      X8, X0
   242	PADDQ      X9, X1
   243	PADDQ      X2, X0
   244	PADDQ      X3, X1
   245	PXOR       X0, X6
   246	PXOR       X1, X7
   247	PSHUFD     $0xb1, X6, X6
   248	PSHUFD     $0xb1, X7, X7
   249	PADDQ      X6, X4
   250	PADDQ      X7, X5
   251	PXOR       X4, X2
   252	PXOR       X5, X3
   253	PSHUFB     X13, X2
   254	PSHUFB     X13, X3
   255	PADDQ      X10, X0
   256	PADDQ      X11, X1
   257	PADDQ      X2, X0
   258	PADDQ      X3, X1
   259	PXOR       X0, X6
   260	PXOR       X1, X7
   261	PSHUFB     X14, X6
   262	PSHUFB     X14, X7
   263	PADDQ      X6, X4
   264	PADDQ      X7, X5
   265	PXOR       X4, X2
   266	PXOR       X5, X3
   267	MOVOU      X2, X11
   268	PADDQ      X2, X11
   269	PSRLQ      $0x3f, X2
   270	PXOR       X11, X2
   271	MOVOU      X3, X11
   272	PADDQ      X3, X11
   273	PSRLQ      $0x3f, X3
   274	PXOR       X11, X3
   275	MOVO       X4, X8
   276	MOVO       X5, X4
   277	MOVO       X8, X5
   278	MOVO       X2, X8
   279	PUNPCKLQDQ X2, X9
   280	PUNPCKHQDQ X3, X2
   281	PUNPCKHQDQ X9, X2
   282	PUNPCKLQDQ X3, X9
   283	MOVO       X8, X3
   284	MOVO       X6, X8
   285	PUNPCKHQDQ X9, X3
   286	PUNPCKLQDQ X7, X9
   287	PUNPCKHQDQ X9, X6
   288	PUNPCKLQDQ X8, X9
   289	PUNPCKHQDQ X9, X7
   290	MOVQ       88(SI), X8
   291	PINSRQ     $0x01, 96(SI), X8
   292	MOVQ       40(SI), X9
   293	PINSRQ     $0x01, 120(SI), X9
   294	MOVQ       64(SI), X10
   295	PINSRQ     $0x01, (SI), X10
   296	MOVQ       16(SI), X11
   297	PINSRQ     $0x01, 104(SI), X11
   298	PADDQ      X8, X0
   299	PADDQ      X9, X1
   300	PADDQ      X2, X0
   301	PADDQ      X3, X1
   302	PXOR       X0, X6
   303	PXOR       X1, X7
   304	PSHUFD     $0xb1, X6, X6
   305	PSHUFD     $0xb1, X7, X7
   306	PADDQ      X6, X4
   307	PADDQ      X7, X5
   308	PXOR       X4, X2
   309	PXOR       X5, X3
   310	PSHUFB     X13, X2
   311	PSHUFB     X13, X3
   312	PADDQ      X10, X0
   313	PADDQ      X11, X1
   314	PADDQ      X2, X0
   315	PADDQ      X3, X1
   316	PXOR       X0, X6
   317	PXOR       X1, X7
   318	PSHUFB     X14, X6
   319	PSHUFB     X14, X7
   320	PADDQ      X6, X4
   321	PADDQ      X7, X5
   322	PXOR       X4, X2
   323	PXOR       X5, X3
   324	MOVOU      X2, X11
   325	PADDQ      X2, X11
   326	PSRLQ      $0x3f, X2
   327	PXOR       X11, X2
   328	MOVOU      X3, X11
   329	PADDQ      X3, X11
   330	PSRLQ      $0x3f, X3
   331	PXOR       X11, X3
   332	MOVO       X4, X8
   333	MOVO       X5, X4
   334	MOVO       X8, X5
   335	MOVO       X6, X8
   336	PUNPCKLQDQ X6, X9
   337	PUNPCKHQDQ X7, X6
   338	PUNPCKHQDQ X9, X6
   339	PUNPCKLQDQ X7, X9
   340	MOVO       X8, X7
   341	MOVO       X2, X8
   342	PUNPCKHQDQ X9, X7
   343	PUNPCKLQDQ X3, X9
   344	PUNPCKHQDQ X9, X2
   345	PUNPCKLQDQ X8, X9
   346	PUNPCKHQDQ X9, X3
   347	MOVQ       80(SI), X8
   348	PINSRQ     $0x01, 24(SI), X8
   349	MOVQ       56(SI), X9
   350	PINSRQ     $0x01, 72(SI), X9
   351	MOVQ       112(SI), X10
   352	PINSRQ     $0x01, 48(SI), X10
   353	MOVQ       8(SI), X11
   354	PINSRQ     $0x01, 32(SI), X11
   355	PADDQ      X8, X0
   356	PADDQ      X9, X1
   357	PADDQ      X2, X0
   358	PADDQ      X3, X1
   359	PXOR       X0, X6
   360	PXOR       X1, X7
   361	PSHUFD     $0xb1, X6, X6
   362	PSHUFD     $0xb1, X7, X7
   363	PADDQ      X6, X4
   364	PADDQ      X7, X5
   365	PXOR       X4, X2
   366	PXOR       X5, X3
   367	PSHUFB     X13, X2
   368	PSHUFB     X13, X3
   369	PADDQ      X10, X0
   370	PADDQ      X11, X1
   371	PADDQ      X2, X0
   372	PADDQ      X3, X1
   373	PXOR       X0, X6
   374	PXOR       X1, X7
   375	PSHUFB     X14, X6
   376	PSHUFB     X14, X7
   377	PADDQ      X6, X4
   378	PADDQ      X7, X5
   379	PXOR       X4, X2
   380	PXOR       X5, X3
   381	MOVOU      X2, X11
   382	PADDQ      X2, X11
   383	PSRLQ      $0x3f, X2
   384	PXOR       X11, X2
   385	MOVOU      X3, X11
   386	PADDQ      X3, X11
   387	PSRLQ      $0x3f, X3
   388	PXOR       X11, X3
   389	MOVO       X4, X8
   390	MOVO       X5, X4
   391	MOVO       X8, X5
   392	MOVO       X2, X8
   393	PUNPCKLQDQ X2, X9
   394	PUNPCKHQDQ X3, X2
   395	PUNPCKHQDQ X9, X2
   396	PUNPCKLQDQ X3, X9
   397	MOVO       X8, X3
   398	MOVO       X6, X8
   399	PUNPCKHQDQ X9, X3
   400	PUNPCKLQDQ X7, X9
   401	PUNPCKHQDQ X9, X6
   402	PUNPCKLQDQ X8, X9
   403	PUNPCKHQDQ X9, X7
   404	MOVQ       56(SI), X8
   405	PINSRQ     $0x01, 24(SI), X8
   406	MOVQ       104(SI), X9
   407	PINSRQ     $0x01, 88(SI), X9
   408	MOVQ       72(SI), X10
   409	PINSRQ     $0x01, 8(SI), X10
   410	MOVQ       96(SI), X11
   411	PINSRQ     $0x01, 112(SI), X11
   412	PADDQ      X8, X0
   413	PADDQ      X9, X1
   414	PADDQ      X2, X0
   415	PADDQ      X3, X1
   416	PXOR       X0, X6
   417	PXOR       X1, X7
   418	PSHUFD     $0xb1, X6, X6
   419	PSHUFD     $0xb1, X7, X7
   420	PADDQ      X6, X4
   421	PADDQ      X7, X5
   422	PXOR       X4, X2
   423	PXOR       X5, X3
   424	PSHUFB     X13, X2
   425	PSHUFB     X13, X3
   426	PADDQ      X10, X0
   427	PADDQ      X11, X1
   428	PADDQ      X2, X0
   429	PADDQ      X3, X1
   430	PXOR       X0, X6
   431	PXOR       X1, X7
   432	PSHUFB     X14, X6
   433	PSHUFB     X14, X7
   434	PADDQ      X6, X4
   435	PADDQ      X7, X5
   436	PXOR       X4, X2
   437	PXOR       X5, X3
   438	MOVOU      X2, X11
   439	PADDQ      X2, X11
   440	PSRLQ      $0x3f, X2
   441	PXOR       X11, X2
   442	MOVOU      X3, X11
   443	PADDQ      X3, X11
   444	PSRLQ      $0x3f, X3
   445	PXOR       X11, X3
   446	MOVO       X4, X8
   447	MOVO       X5, X4
   448	MOVO       X8, X5
   449	MOVO       X6, X8
   450	PUNPCKLQDQ X6, X9
   451	PUNPCKHQDQ X7, X6
   452	PUNPCKHQDQ X9, X6
   453	PUNPCKLQDQ X7, X9
   454	MOVO       X8, X7
   455	MOVO       X2, X8
   456	PUNPCKHQDQ X9, X7
   457	PUNPCKLQDQ X3, X9
   458	PUNPCKHQDQ X9, X2
   459	PUNPCKLQDQ X8, X9
   460	PUNPCKHQDQ X9, X3
   461	MOVQ       16(SI), X8
   462	PINSRQ     $0x01, 40(SI), X8
   463	MOVQ       32(SI), X9
   464	PINSRQ     $0x01, 120(SI), X9
   465	MOVQ       48(SI), X10
   466	PINSRQ     $0x01, 80(SI), X10
   467	MOVQ       (SI), X11
   468	PINSRQ     $0x01, 64(SI), X11
   469	PADDQ      X8, X0
   470	PADDQ      X9, X1
   471	PADDQ      X2, X0
   472	PADDQ      X3, X1
   473	PXOR       X0, X6
   474	PXOR       X1, X7
   475	PSHUFD     $0xb1, X6, X6
   476	PSHUFD     $0xb1, X7, X7
   477	PADDQ      X6, X4
   478	PADDQ      X7, X5
   479	PXOR       X4, X2
   480	PXOR       X5, X3
   481	PSHUFB     X13, X2
   482	PSHUFB     X13, X3
   483	PADDQ      X10, X0
   484	PADDQ      X11, X1
   485	PADDQ      X2, X0
   486	PADDQ      X3, X1
   487	PXOR       X0, X6
   488	PXOR       X1, X7
   489	PSHUFB     X14, X6
   490	PSHUFB     X14, X7
   491	PADDQ      X6, X4
   492	PADDQ      X7, X5
   493	PXOR       X4, X2
   494	PXOR       X5, X3
   495	MOVOU      X2, X11
   496	PADDQ      X2, X11
   497	PSRLQ      $0x3f, X2
   498	PXOR       X11, X2
   499	MOVOU      X3, X11
   500	PADDQ      X3, X11
   501	PSRLQ      $0x3f, X3
   502	PXOR       X11, X3
   503	MOVO       X4, X8
   504	MOVO       X5, X4
   505	MOVO       X8, X5
   506	MOVO       X2, X8
   507	PUNPCKLQDQ X2, X9
   508	PUNPCKHQDQ X3, X2
   509	PUNPCKHQDQ X9, X2
   510	PUNPCKLQDQ X3, X9
   511	MOVO       X8, X3
   512	MOVO       X6, X8
   513	PUNPCKHQDQ X9, X3
   514	PUNPCKLQDQ X7, X9
   515	PUNPCKHQDQ X9, X6
   516	PUNPCKLQDQ X8, X9
   517	PUNPCKHQDQ X9, X7
   518	MOVQ       72(SI), X8
   519	PINSRQ     $0x01, 40(SI), X8
   520	MOVQ       16(SI), X9
   521	PINSRQ     $0x01, 80(SI), X9
   522	MOVQ       (SI), X10
   523	PINSRQ     $0x01, 56(SI), X10
   524	MOVQ       32(SI), X11
   525	PINSRQ     $0x01, 120(SI), X11
   526	PADDQ      X8, X0
   527	PADDQ      X9, X1
   528	PADDQ      X2, X0
   529	PADDQ      X3, X1
   530	PXOR       X0, X6
   531	PXOR       X1, X7
   532	PSHUFD     $0xb1, X6, X6
   533	PSHUFD     $0xb1, X7, X7
   534	PADDQ      X6, X4
   535	PADDQ      X7, X5
   536	PXOR       X4, X2
   537	PXOR       X5, X3
   538	PSHUFB     X13, X2
   539	PSHUFB     X13, X3
   540	PADDQ      X10, X0
   541	PADDQ      X11, X1
   542	PADDQ      X2, X0
   543	PADDQ      X3, X1
   544	PXOR       X0, X6
   545	PXOR       X1, X7
   546	PSHUFB     X14, X6
   547	PSHUFB     X14, X7
   548	PADDQ      X6, X4
   549	PADDQ      X7, X5
   550	PXOR       X4, X2
   551	PXOR       X5, X3
   552	MOVOU      X2, X11
   553	PADDQ      X2, X11
   554	PSRLQ      $0x3f, X2
   555	PXOR       X11, X2
   556	MOVOU      X3, X11
   557	PADDQ      X3, X11
   558	PSRLQ      $0x3f, X3
   559	PXOR       X11, X3
   560	MOVO       X4, X8
   561	MOVO       X5, X4
   562	MOVO       X8, X5
   563	MOVO       X6, X8
   564	PUNPCKLQDQ X6, X9
   565	PUNPCKHQDQ X7, X6
   566	PUNPCKHQDQ X9, X6
   567	PUNPCKLQDQ X7, X9
   568	MOVO       X8, X7
   569	MOVO       X2, X8
   570	PUNPCKHQDQ X9, X7
   571	PUNPCKLQDQ X3, X9
   572	PUNPCKHQDQ X9, X2
   573	PUNPCKLQDQ X8, X9
   574	PUNPCKHQDQ X9, X3
   575	MOVQ       112(SI), X8
   576	PINSRQ     $0x01, 88(SI), X8
   577	MOVQ       48(SI), X9
   578	PINSRQ     $0x01, 24(SI), X9
   579	MOVQ       8(SI), X10
   580	PINSRQ     $0x01, 96(SI), X10
   581	MOVQ       64(SI), X11
   582	PINSRQ     $0x01, 104(SI), X11
   583	PADDQ      X8, X0
   584	PADDQ      X9, X1
   585	PADDQ      X2, X0
   586	PADDQ      X3, X1
   587	PXOR       X0, X6
   588	PXOR       X1, X7
   589	PSHUFD     $0xb1, X6, X6
   590	PSHUFD     $0xb1, X7, X7
   591	PADDQ      X6, X4
   592	PADDQ      X7, X5
   593	PXOR       X4, X2
   594	PXOR       X5, X3
   595	PSHUFB     X13, X2
   596	PSHUFB     X13, X3
   597	PADDQ      X10, X0
   598	PADDQ      X11, X1
   599	PADDQ      X2, X0
   600	PADDQ      X3, X1
   601	PXOR       X0, X6
   602	PXOR       X1, X7
   603	PSHUFB     X14, X6
   604	PSHUFB     X14, X7
   605	PADDQ      X6, X4
   606	PADDQ      X7, X5
   607	PXOR       X4, X2
   608	PXOR       X5, X3
   609	MOVOU      X2, X11
   610	PADDQ      X2, X11
   611	PSRLQ      $0x3f, X2
   612	PXOR       X11, X2
   613	MOVOU      X3, X11
   614	PADDQ      X3, X11
   615	PSRLQ      $0x3f, X3
   616	PXOR       X11, X3
   617	MOVO       X4, X8
   618	MOVO       X5, X4
   619	MOVO       X8, X5
   620	MOVO       X2, X8
   621	PUNPCKLQDQ X2, X9
   622	PUNPCKHQDQ X3, X2
   623	PUNPCKHQDQ X9, X2
   624	PUNPCKLQDQ X3, X9
   625	MOVO       X8, X3
   626	MOVO       X6, X8
   627	PUNPCKHQDQ X9, X3
   628	PUNPCKLQDQ X7, X9
   629	PUNPCKHQDQ X9, X6
   630	PUNPCKLQDQ X8, X9
   631	PUNPCKHQDQ X9, X7
   632	MOVQ       16(SI), X8
   633	PINSRQ     $0x01, 48(SI), X8
   634	MOVQ       (SI), X9
   635	PINSRQ     $0x01, 64(SI), X9
   636	MOVQ       96(SI), X10
   637	PINSRQ     $0x01, 80(SI), X10
   638	MOVQ       88(SI), X11
   639	PINSRQ     $0x01, 24(SI), X11
   640	PADDQ      X8, X0
   641	PADDQ      X9, X1
   642	PADDQ      X2, X0
   643	PADDQ      X3, X1
   644	PXOR       X0, X6
   645	PXOR       X1, X7
   646	PSHUFD     $0xb1, X6, X6
   647	PSHUFD     $0xb1, X7, X7
   648	PADDQ      X6, X4
   649	PADDQ      X7, X5
   650	PXOR       X4, X2
   651	PXOR       X5, X3
   652	PSHUFB     X13, X2
   653	PSHUFB     X13, X3
   654	PADDQ      X10, X0
   655	PADDQ      X11, X1
   656	PADDQ      X2, X0
   657	PADDQ      X3, X1
   658	PXOR       X0, X6
   659	PXOR       X1, X7
   660	PSHUFB     X14, X6
   661	PSHUFB     X14, X7
   662	PADDQ      X6, X4
   663	PADDQ      X7, X5
   664	PXOR       X4, X2
   665	PXOR       X5, X3
   666	MOVOU      X2, X11
   667	PADDQ      X2, X11
   668	PSRLQ      $0x3f, X2
   669	PXOR       X11, X2
   670	MOVOU      X3, X11
   671	PADDQ      X3, X11
   672	PSRLQ      $0x3f, X3
   673	PXOR       X11, X3
   674	MOVO       X4, X8
   675	MOVO       X5, X4
   676	MOVO       X8, X5
   677	MOVO       X6, X8
   678	PUNPCKLQDQ X6, X9
   679	PUNPCKHQDQ X7, X6
   680	PUNPCKHQDQ X9, X6
   681	PUNPCKLQDQ X7, X9
   682	MOVO       X8, X7
   683	MOVO       X2, X8
   684	PUNPCKHQDQ X9, X7
   685	PUNPCKLQDQ X3, X9
   686	PUNPCKHQDQ X9, X2
   687	PUNPCKLQDQ X8, X9
   688	PUNPCKHQDQ X9, X3
   689	MOVQ       32(SI), X8
   690	PINSRQ     $0x01, 56(SI), X8
   691	MOVQ       120(SI), X9
   692	PINSRQ     $0x01, 8(SI), X9
   693	MOVQ       104(SI), X10
   694	PINSRQ     $0x01, 40(SI), X10
   695	MOVQ       112(SI), X11
   696	PINSRQ     $0x01, 72(SI), X11
   697	PADDQ      X8, X0
   698	PADDQ      X9, X1
   699	PADDQ      X2, X0
   700	PADDQ      X3, X1
   701	PXOR       X0, X6
   702	PXOR       X1, X7
   703	PSHUFD     $0xb1, X6, X6
   704	PSHUFD     $0xb1, X7, X7
   705	PADDQ      X6, X4
   706	PADDQ      X7, X5
   707	PXOR       X4, X2
   708	PXOR       X5, X3
   709	PSHUFB     X13, X2
   710	PSHUFB     X13, X3
   711	PADDQ      X10, X0
   712	PADDQ      X11, X1
   713	PADDQ      X2, X0
   714	PADDQ      X3, X1
   715	PXOR       X0, X6
   716	PXOR       X1, X7
   717	PSHUFB     X14, X6
   718	PSHUFB     X14, X7
   719	PADDQ      X6, X4
   720	PADDQ      X7, X5
   721	PXOR       X4, X2
   722	PXOR       X5, X3
   723	MOVOU      X2, X11
   724	PADDQ      X2, X11
   725	PSRLQ      $0x3f, X2
   726	PXOR       X11, X2
   727	MOVOU      X3, X11
   728	PADDQ      X3, X11
   729	PSRLQ      $0x3f, X3
   730	PXOR       X11, X3
   731	MOVO       X4, X8
   732	MOVO       X5, X4
   733	MOVO       X8, X5
   734	MOVO       X2, X8
   735	PUNPCKLQDQ X2, X9
   736	PUNPCKHQDQ X3, X2
   737	PUNPCKHQDQ X9, X2
   738	PUNPCKLQDQ X3, X9
   739	MOVO       X8, X3
   740	MOVO       X6, X8
   741	PUNPCKHQDQ X9, X3
   742	PUNPCKLQDQ X7, X9
   743	PUNPCKHQDQ X9, X6
   744	PUNPCKLQDQ X8, X9
   745	PUNPCKHQDQ X9, X7
   746	MOVQ       96(SI), X8
   747	PINSRQ     $0x01, 8(SI), X8
   748	MOVQ       112(SI), X9
   749	PINSRQ     $0x01, 32(SI), X9
   750	MOVQ       40(SI), X10
   751	PINSRQ     $0x01, 120(SI), X10
   752	MOVQ       104(SI), X11
   753	PINSRQ     $0x01, 80(SI), X11
   754	PADDQ      X8, X0
   755	PADDQ      X9, X1
   756	PADDQ      X2, X0
   757	PADDQ      X3, X1
   758	PXOR       X0, X6
   759	PXOR       X1, X7
   760	PSHUFD     $0xb1, X6, X6
   761	PSHUFD     $0xb1, X7, X7
   762	PADDQ      X6, X4
   763	PADDQ      X7, X5
   764	PXOR       X4, X2
   765	PXOR       X5, X3
   766	PSHUFB     X13, X2
   767	PSHUFB     X13, X3
   768	PADDQ      X10, X0
   769	PADDQ      X11, X1
   770	PADDQ      X2, X0
   771	PADDQ      X3, X1
   772	PXOR       X0, X6
   773	PXOR       X1, X7
   774	PSHUFB     X14, X6
   775	PSHUFB     X14, X7
   776	PADDQ      X6, X4
   777	PADDQ      X7, X5
   778	PXOR       X4, X2
   779	PXOR       X5, X3
   780	MOVOU      X2, X11
   781	PADDQ      X2, X11
   782	PSRLQ      $0x3f, X2
   783	PXOR       X11, X2
   784	MOVOU      X3, X11
   785	PADDQ      X3, X11
   786	PSRLQ      $0x3f, X3
   787	PXOR       X11, X3
   788	MOVO       X4, X8
   789	MOVO       X5, X4
   790	MOVO       X8, X5
   791	MOVO       X6, X8
   792	PUNPCKLQDQ X6, X9
   793	PUNPCKHQDQ X7, X6
   794	PUNPCKHQDQ X9, X6
   795	PUNPCKLQDQ X7, X9
   796	MOVO       X8, X7
   797	MOVO       X2, X8
   798	PUNPCKHQDQ X9, X7
   799	PUNPCKLQDQ X3, X9
   800	PUNPCKHQDQ X9, X2
   801	PUNPCKLQDQ X8, X9
   802	PUNPCKHQDQ X9, X3
   803	MOVQ       (SI), X8
   804	PINSRQ     $0x01, 48(SI), X8
   805	MOVQ       72(SI), X9
   806	PINSRQ     $0x01, 64(SI), X9
   807	MOVQ       56(SI), X10
   808	PINSRQ     $0x01, 24(SI), X10
   809	MOVQ       16(SI), X11
   810	PINSRQ     $0x01, 88(SI), X11
   811	PADDQ      X8, X0
   812	PADDQ      X9, X1
   813	PADDQ      X2, X0
   814	PADDQ      X3, X1
   815	PXOR       X0, X6
   816	PXOR       X1, X7
   817	PSHUFD     $0xb1, X6, X6
   818	PSHUFD     $0xb1, X7, X7
   819	PADDQ      X6, X4
   820	PADDQ      X7, X5
   821	PXOR       X4, X2
   822	PXOR       X5, X3
   823	PSHUFB     X13, X2
   824	PSHUFB     X13, X3
   825	PADDQ      X10, X0
   826	PADDQ      X11, X1
   827	PADDQ      X2, X0
   828	PADDQ      X3, X1
   829	PXOR       X0, X6
   830	PXOR       X1, X7
   831	PSHUFB     X14, X6
   832	PSHUFB     X14, X7
   833	PADDQ      X6, X4
   834	PADDQ      X7, X5
   835	PXOR       X4, X2
   836	PXOR       X5, X3
   837	MOVOU      X2, X11
   838	PADDQ      X2, X11
   839	PSRLQ      $0x3f, X2
   840	PXOR       X11, X2
   841	MOVOU      X3, X11
   842	PADDQ      X3, X11
   843	PSRLQ      $0x3f, X3
   844	PXOR       X11, X3
   845	MOVO       X4, X8
   846	MOVO       X5, X4
   847	MOVO       X8, X5
   848	MOVO       X2, X8
   849	PUNPCKLQDQ X2, X9
   850	PUNPCKHQDQ X3, X2
   851	PUNPCKHQDQ X9, X2
   852	PUNPCKLQDQ X3, X9
   853	MOVO       X8, X3
   854	MOVO       X6, X8
   855	PUNPCKHQDQ X9, X3
   856	PUNPCKLQDQ X7, X9
   857	PUNPCKHQDQ X9, X6
   858	PUNPCKLQDQ X8, X9
   859	PUNPCKHQDQ X9, X7
   860	MOVQ       104(SI), X8
   861	PINSRQ     $0x01, 56(SI), X8
   862	MOVQ       96(SI), X9
   863	PINSRQ     $0x01, 24(SI), X9
   864	MOVQ       88(SI), X10
   865	PINSRQ     $0x01, 112(SI), X10
   866	MOVQ       8(SI), X11
   867	PINSRQ     $0x01, 72(SI), X11
   868	PADDQ      X8, X0
   869	PADDQ      X9, X1
   870	PADDQ      X2, X0
   871	PADDQ      X3, X1
   872	PXOR       X0, X6
   873	PXOR       X1, X7
   874	PSHUFD     $0xb1, X6, X6
   875	PSHUFD     $0xb1, X7, X7
   876	PADDQ      X6, X4
   877	PADDQ      X7, X5
   878	PXOR       X4, X2
   879	PXOR       X5, X3
   880	PSHUFB     X13, X2
   881	PSHUFB     X13, X3
   882	PADDQ      X10, X0
   883	PADDQ      X11, X1
   884	PADDQ      X2, X0
   885	PADDQ      X3, X1
   886	PXOR       X0, X6
   887	PXOR       X1, X7
   888	PSHUFB     X14, X6
   889	PSHUFB     X14, X7
   890	PADDQ      X6, X4
   891	PADDQ      X7, X5
   892	PXOR       X4, X2
   893	PXOR       X5, X3
   894	MOVOU      X2, X11
   895	PADDQ      X2, X11
   896	PSRLQ      $0x3f, X2
   897	PXOR       X11, X2
   898	MOVOU      X3, X11
   899	PADDQ      X3, X11
   900	PSRLQ      $0x3f, X3
   901	PXOR       X11, X3
   902	MOVO       X4, X8
   903	MOVO       X5, X4
   904	MOVO       X8, X5
   905	MOVO       X6, X8
   906	PUNPCKLQDQ X6, X9
   907	PUNPCKHQDQ X7, X6
   908	PUNPCKHQDQ X9, X6
   909	PUNPCKLQDQ X7, X9
   910	MOVO       X8, X7
   911	MOVO       X2, X8
   912	PUNPCKHQDQ X9, X7
   913	PUNPCKLQDQ X3, X9
   914	PUNPCKHQDQ X9, X2
   915	PUNPCKLQDQ X8, X9
   916	PUNPCKHQDQ X9, X3
   917	MOVQ       40(SI), X8
   918	PINSRQ     $0x01, 120(SI), X8
   919	MOVQ       64(SI), X9
   920	PINSRQ     $0x01, 16(SI), X9
   921	MOVQ       (SI), X10
   922	PINSRQ     $0x01, 32(SI), X10
   923	MOVQ       48(SI), X11
   924	PINSRQ     $0x01, 80(SI), X11
   925	PADDQ      X8, X0
   926	PADDQ      X9, X1
   927	PADDQ      X2, X0
   928	PADDQ      X3, X1
   929	PXOR       X0, X6
   930	PXOR       X1, X7
   931	PSHUFD     $0xb1, X6, X6
   932	PSHUFD     $0xb1, X7, X7
   933	PADDQ      X6, X4
   934	PADDQ      X7, X5
   935	PXOR       X4, X2
   936	PXOR       X5, X3
   937	PSHUFB     X13, X2
   938	PSHUFB     X13, X3
   939	PADDQ      X10, X0
   940	PADDQ      X11, X1
   941	PADDQ      X2, X0
   942	PADDQ      X3, X1
   943	PXOR       X0, X6
   944	PXOR       X1, X7
   945	PSHUFB     X14, X6
   946	PSHUFB     X14, X7
   947	PADDQ      X6, X4
   948	PADDQ      X7, X5
   949	PXOR       X4, X2
   950	PXOR       X5, X3
   951	MOVOU      X2, X11
   952	PADDQ      X2, X11
   953	PSRLQ      $0x3f, X2
   954	PXOR       X11, X2
   955	MOVOU      X3, X11
   956	PADDQ      X3, X11
   957	PSRLQ      $0x3f, X3
   958	PXOR       X11, X3
   959	MOVO       X4, X8
   960	MOVO       X5, X4
   961	MOVO       X8, X5
   962	MOVO       X2, X8
   963	PUNPCKLQDQ X2, X9
   964	PUNPCKHQDQ X3, X2
   965	PUNPCKHQDQ X9, X2
   966	PUNPCKLQDQ X3, X9
   967	MOVO       X8, X3
   968	MOVO       X6, X8
   969	PUNPCKHQDQ X9, X3
   970	PUNPCKLQDQ X7, X9
   971	PUNPCKHQDQ X9, X6
   972	PUNPCKLQDQ X8, X9
   973	PUNPCKHQDQ X9, X7
   974	MOVQ       48(SI), X8
   975	PINSRQ     $0x01, 112(SI), X8
   976	MOVQ       88(SI), X9
   977	PINSRQ     $0x01, (SI), X9
   978	MOVQ       120(SI), X10
   979	PINSRQ     $0x01, 72(SI), X10
   980	MOVQ       24(SI), X11
   981	PINSRQ     $0x01, 64(SI), X11
   982	PADDQ      X8, X0
   983	PADDQ      X9, X1
   984	PADDQ      X2, X0
   985	PADDQ      X3, X1
   986	PXOR       X0, X6
   987	PXOR       X1, X7
   988	PSHUFD     $0xb1, X6, X6
   989	PSHUFD     $0xb1, X7, X7
   990	PADDQ      X6, X4
   991	PADDQ      X7, X5
   992	PXOR       X4, X2
   993	PXOR       X5, X3
   994	PSHUFB     X13, X2
   995	PSHUFB     X13, X3
   996	PADDQ      X10, X0
   997	PADDQ      X11, X1
   998	PADDQ      X2, X0
   999	PADDQ      X3, X1
  1000	PXOR       X0, X6
  1001	PXOR       X1, X7
  1002	PSHUFB     X14, X6
  1003	PSHUFB     X14, X7
  1004	PADDQ      X6, X4
  1005	PADDQ      X7, X5
  1006	PXOR       X4, X2
  1007	PXOR       X5, X3
  1008	MOVOU      X2, X11
  1009	PADDQ      X2, X11
  1010	PSRLQ      $0x3f, X2
  1011	PXOR       X11, X2
  1012	MOVOU      X3, X11
  1013	PADDQ      X3, X11
  1014	PSRLQ      $0x3f, X3
  1015	PXOR       X11, X3
  1016	MOVO       X4, X8
  1017	MOVO       X5, X4
  1018	MOVO       X8, X5
  1019	MOVO       X6, X8
  1020	PUNPCKLQDQ X6, X9
  1021	PUNPCKHQDQ X7, X6
  1022	PUNPCKHQDQ X9, X6
  1023	PUNPCKLQDQ X7, X9
  1024	MOVO       X8, X7
  1025	MOVO       X2, X8
  1026	PUNPCKHQDQ X9, X7
  1027	PUNPCKLQDQ X3, X9
  1028	PUNPCKHQDQ X9, X2
  1029	PUNPCKLQDQ X8, X9
  1030	PUNPCKHQDQ X9, X3
  1031	MOVQ       96(SI), X8
  1032	PINSRQ     $0x01, 104(SI), X8
  1033	MOVQ       8(SI), X9
  1034	PINSRQ     $0x01, 80(SI), X9
  1035	MOVQ       16(SI), X10
  1036	PINSRQ     $0x01, 56(SI), X10
  1037	MOVQ       32(SI), X11
  1038	PINSRQ     $0x01, 40(SI), X11
  1039	PADDQ      X8, X0
  1040	PADDQ      X9, X1
  1041	PADDQ      X2, X0
  1042	PADDQ      X3, X1
  1043	PXOR       X0, X6
  1044	PXOR       X1, X7
  1045	PSHUFD     $0xb1, X6, X6
  1046	PSHUFD     $0xb1, X7, X7
  1047	PADDQ      X6, X4
  1048	PADDQ      X7, X5
  1049	PXOR       X4, X2
  1050	PXOR       X5, X3
  1051	PSHUFB     X13, X2
  1052	PSHUFB     X13, X3
  1053	PADDQ      X10, X0
  1054	PADDQ      X11, X1
  1055	PADDQ      X2, X0
  1056	PADDQ      X3, X1
  1057	PXOR       X0, X6
  1058	PXOR       X1, X7
  1059	PSHUFB     X14, X6
  1060	PSHUFB     X14, X7
  1061	PADDQ      X6, X4
  1062	PADDQ      X7, X5
  1063	PXOR       X4, X2
  1064	PXOR       X5, X3
  1065	MOVOU      X2, X11
  1066	PADDQ      X2, X11
  1067	PSRLQ      $0x3f, X2
  1068	PXOR       X11, X2
  1069	MOVOU      X3, X11
  1070	PADDQ      X3, X11
  1071	PSRLQ      $0x3f, X3
  1072	PXOR       X11, X3
  1073	MOVO       X4, X8
  1074	MOVO       X5, X4
  1075	MOVO       X8, X5
  1076	MOVO       X2, X8
  1077	PUNPCKLQDQ X2, X9
  1078	PUNPCKHQDQ X3, X2
  1079	PUNPCKHQDQ X9, X2
  1080	PUNPCKLQDQ X3, X9
  1081	MOVO       X8, X3
  1082	MOVO       X6, X8
  1083	PUNPCKHQDQ X9, X3
  1084	PUNPCKLQDQ X7, X9
  1085	PUNPCKHQDQ X9, X6
  1086	PUNPCKLQDQ X8, X9
  1087	PUNPCKHQDQ X9, X7
  1088	MOVQ       80(SI), X8
  1089	PINSRQ     $0x01, 64(SI), X8
  1090	MOVQ       56(SI), X9
  1091	PINSRQ     $0x01, 8(SI), X9
  1092	MOVQ       16(SI), X10
  1093	PINSRQ     $0x01, 32(SI), X10
  1094	MOVQ       48(SI), X11
  1095	PINSRQ     $0x01, 40(SI), X11
  1096	PADDQ      X8, X0
  1097	PADDQ      X9, X1
  1098	PADDQ      X2, X0
  1099	PADDQ      X3, X1
  1100	PXOR       X0, X6
  1101	PXOR       X1, X7
  1102	PSHUFD     $0xb1, X6, X6
  1103	PSHUFD     $0xb1, X7, X7
  1104	PADDQ      X6, X4
  1105	PADDQ      X7, X5
  1106	PXOR       X4, X2
  1107	PXOR       X5, X3
  1108	PSHUFB     X13, X2
  1109	PSHUFB     X13, X3
  1110	PADDQ      X10, X0
  1111	PADDQ      X11, X1
  1112	PADDQ      X2, X0
  1113	PADDQ      X3, X1
  1114	PXOR       X0, X6
  1115	PXOR       X1, X7
  1116	PSHUFB     X14, X6
  1117	PSHUFB     X14, X7
  1118	PADDQ      X6, X4
  1119	PADDQ      X7, X5
  1120	PXOR       X4, X2
  1121	PXOR       X5, X3
  1122	MOVOU      X2, X11
  1123	PADDQ      X2, X11
  1124	PSRLQ      $0x3f, X2
  1125	PXOR       X11, X2
  1126	MOVOU      X3, X11
  1127	PADDQ      X3, X11
  1128	PSRLQ      $0x3f, X3
  1129	PXOR       X11, X3
  1130	MOVO       X4, X8
  1131	MOVO       X5, X4
  1132	MOVO       X8, X5
  1133	MOVO       X6, X8
  1134	PUNPCKLQDQ X6, X9
  1135	PUNPCKHQDQ X7, X6
  1136	PUNPCKHQDQ X9, X6
  1137	PUNPCKLQDQ X7, X9
  1138	MOVO       X8, X7
  1139	MOVO       X2, X8
  1140	PUNPCKHQDQ X9, X7
  1141	PUNPCKLQDQ X3, X9
  1142	PUNPCKHQDQ X9, X2
  1143	PUNPCKLQDQ X8, X9
  1144	PUNPCKHQDQ X9, X3
  1145	MOVQ       120(SI), X8
  1146	PINSRQ     $0x01, 72(SI), X8
  1147	MOVQ       24(SI), X9
  1148	PINSRQ     $0x01, 104(SI), X9
  1149	MOVQ       88(SI), X10
  1150	PINSRQ     $0x01, 112(SI), X10
  1151	MOVQ       96(SI), X11
  1152	PINSRQ     $0x01, (SI), X11
  1153	PADDQ      X8, X0
  1154	PADDQ      X9, X1
  1155	PADDQ      X2, X0
  1156	PADDQ      X3, X1
  1157	PXOR       X0, X6
  1158	PXOR       X1, X7
  1159	PSHUFD     $0xb1, X6, X6
  1160	PSHUFD     $0xb1, X7, X7
  1161	PADDQ      X6, X4
  1162	PADDQ      X7, X5
  1163	PXOR       X4, X2
  1164	PXOR       X5, X3
  1165	PSHUFB     X13, X2
  1166	PSHUFB     X13, X3
  1167	PADDQ      X10, X0
  1168	PADDQ      X11, X1
  1169	PADDQ      X2, X0
  1170	PADDQ      X3, X1
  1171	PXOR       X0, X6
  1172	PXOR       X1, X7
  1173	PSHUFB     X14, X6
  1174	PSHUFB     X14, X7
  1175	PADDQ      X6, X4
  1176	PADDQ      X7, X5
  1177	PXOR       X4, X2
  1178	PXOR       X5, X3
  1179	MOVOU      X2, X11
  1180	PADDQ      X2, X11
  1181	PSRLQ      $0x3f, X2
  1182	PXOR       X11, X2
  1183	MOVOU      X3, X11
  1184	PADDQ      X3, X11
  1185	PSRLQ      $0x3f, X3
  1186	PXOR       X11, X3
  1187	MOVO       X4, X8
  1188	MOVO       X5, X4
  1189	MOVO       X8, X5
  1190	MOVO       X2, X8
  1191	PUNPCKLQDQ X2, X9
  1192	PUNPCKHQDQ X3, X2
  1193	PUNPCKHQDQ X9, X2
  1194	PUNPCKLQDQ X3, X9
  1195	MOVO       X8, X3
  1196	MOVO       X6, X8
  1197	PUNPCKHQDQ X9, X3
  1198	PUNPCKLQDQ X7, X9
  1199	PUNPCKHQDQ X9, X6
  1200	PUNPCKLQDQ X8, X9
  1201	PUNPCKHQDQ X9, X7
  1202	PADDQ      16(R10), X0
  1203	PADDQ      32(R10), X1
  1204	PADDQ      X2, X0
  1205	PADDQ      X3, X1
  1206	PXOR       X0, X6
  1207	PXOR       X1, X7
  1208	PSHUFD     $0xb1, X6, X6
  1209	PSHUFD     $0xb1, X7, X7
  1210	PADDQ      X6, X4
  1211	PADDQ      X7, X5
  1212	PXOR       X4, X2
  1213	PXOR       X5, X3
  1214	PSHUFB     X13, X2
  1215	PSHUFB     X13, X3
  1216	PADDQ      48(R10), X0
  1217	PADDQ      64(R10), X1
  1218	PADDQ      X2, X0
  1219	PADDQ      X3, X1
  1220	PXOR       X0, X6
  1221	PXOR       X1, X7
  1222	PSHUFB     X14, X6
  1223	PSHUFB     X14, X7
  1224	PADDQ      X6, X4
  1225	PADDQ      X7, X5
  1226	PXOR       X4, X2
  1227	PXOR       X5, X3
  1228	MOVOU      X2, X11
  1229	PADDQ      X2, X11
  1230	PSRLQ      $0x3f, X2
  1231	PXOR       X11, X2
  1232	MOVOU      X3, X11
  1233	PADDQ      X3, X11
  1234	PSRLQ      $0x3f, X3
  1235	PXOR       X11, X3
  1236	MOVO       X4, X8
  1237	MOVO       X5, X4
  1238	MOVO       X8, X5
  1239	MOVO       X6, X8
  1240	PUNPCKLQDQ X6, X9
  1241	PUNPCKHQDQ X7, X6
  1242	PUNPCKHQDQ X9, X6
  1243	PUNPCKLQDQ X7, X9
  1244	MOVO       X8, X7
  1245	MOVO       X2, X8
  1246	PUNPCKHQDQ X9, X7
  1247	PUNPCKLQDQ X3, X9
  1248	PUNPCKHQDQ X9, X2
  1249	PUNPCKLQDQ X8, X9
  1250	PUNPCKHQDQ X9, X3
  1251	PADDQ      80(R10), X0
  1252	PADDQ      96(R10), X1
  1253	PADDQ      X2, X0
  1254	PADDQ      X3, X1
  1255	PXOR       X0, X6
  1256	PXOR       X1, X7
  1257	PSHUFD     $0xb1, X6, X6
  1258	PSHUFD     $0xb1, X7, X7
  1259	PADDQ      X6, X4
  1260	PADDQ      X7, X5
  1261	PXOR       X4, X2
  1262	PXOR       X5, X3
  1263	PSHUFB     X13, X2
  1264	PSHUFB     X13, X3
  1265	PADDQ      112(R10), X0
  1266	PADDQ      128(R10), X1
  1267	PADDQ      X2, X0
  1268	PADDQ      X3, X1
  1269	PXOR       X0, X6
  1270	PXOR       X1, X7
  1271	PSHUFB     X14, X6
  1272	PSHUFB     X14, X7
  1273	PADDQ      X6, X4
  1274	PADDQ      X7, X5
  1275	PXOR       X4, X2
  1276	PXOR       X5, X3
  1277	MOVOU      X2, X11
  1278	PADDQ      X2, X11
  1279	PSRLQ      $0x3f, X2
  1280	PXOR       X11, X2
  1281	MOVOU      X3, X11
  1282	PADDQ      X3, X11
  1283	PSRLQ      $0x3f, X3
  1284	PXOR       X11, X3
  1285	MOVO       X4, X8
  1286	MOVO       X5, X4
  1287	MOVO       X8, X5
  1288	MOVO       X2, X8
  1289	PUNPCKLQDQ X2, X9
  1290	PUNPCKHQDQ X3, X2
  1291	PUNPCKHQDQ X9, X2
  1292	PUNPCKLQDQ X3, X9
  1293	MOVO       X8, X3
  1294	MOVO       X6, X8
  1295	PUNPCKHQDQ X9, X3
  1296	PUNPCKLQDQ X7, X9
  1297	PUNPCKHQDQ X9, X6
  1298	PUNPCKLQDQ X8, X9
  1299	PUNPCKHQDQ X9, X7
  1300	PADDQ      144(R10), X0
  1301	PADDQ      160(R10), X1
  1302	PADDQ      X2, X0
  1303	PADDQ      X3, X1
  1304	PXOR       X0, X6
  1305	PXOR       X1, X7
  1306	PSHUFD     $0xb1, X6, X6
  1307	PSHUFD     $0xb1, X7, X7
  1308	PADDQ      X6, X4
  1309	PADDQ      X7, X5
  1310	PXOR       X4, X2
  1311	PXOR       X5, X3
  1312	PSHUFB     X13, X2
  1313	PSHUFB     X13, X3
  1314	PADDQ      176(R10), X0
  1315	PADDQ      192(R10), X1
  1316	PADDQ      X2, X0
  1317	PADDQ      X3, X1
  1318	PXOR       X0, X6
  1319	PXOR       X1, X7
  1320	PSHUFB     X14, X6
  1321	PSHUFB     X14, X7
  1322	PADDQ      X6, X4
  1323	PADDQ      X7, X5
  1324	PXOR       X4, X2
  1325	PXOR       X5, X3
  1326	MOVOU      X2, X11
  1327	PADDQ      X2, X11
  1328	PSRLQ      $0x3f, X2
  1329	PXOR       X11, X2
  1330	MOVOU      X3, X11
  1331	PADDQ      X3, X11
  1332	PSRLQ      $0x3f, X3
  1333	PXOR       X11, X3
  1334	MOVO       X4, X8
  1335	MOVO       X5, X4
  1336	MOVO       X8, X5
  1337	MOVO       X6, X8
  1338	PUNPCKLQDQ X6, X9
  1339	PUNPCKHQDQ X7, X6
  1340	PUNPCKHQDQ X9, X6
  1341	PUNPCKLQDQ X7, X9
  1342	MOVO       X8, X7
  1343	MOVO       X2, X8
  1344	PUNPCKHQDQ X9, X7
  1345	PUNPCKLQDQ X3, X9
  1346	PUNPCKHQDQ X9, X2
  1347	PUNPCKLQDQ X8, X9
  1348	PUNPCKHQDQ X9, X3
  1349	PADDQ      208(R10), X0
  1350	PADDQ      224(R10), X1
  1351	PADDQ      X2, X0
  1352	PADDQ      X3, X1
  1353	PXOR       X0, X6
  1354	PXOR       X1, X7
  1355	PSHUFD     $0xb1, X6, X6
  1356	PSHUFD     $0xb1, X7, X7
  1357	PADDQ      X6, X4
  1358	PADDQ      X7, X5
  1359	PXOR       X4, X2
  1360	PXOR       X5, X3
  1361	PSHUFB     X13, X2
  1362	PSHUFB     X13, X3
  1363	PADDQ      240(R10), X0
  1364	PADDQ      256(R10), X1
  1365	PADDQ      X2, X0
  1366	PADDQ      X3, X1
  1367	PXOR       X0, X6
  1368	PXOR       X1, X7
  1369	PSHUFB     X14, X6
  1370	PSHUFB     X14, X7
  1371	PADDQ      X6, X4
  1372	PADDQ      X7, X5
  1373	PXOR       X4, X2
  1374	PXOR       X5, X3
  1375	MOVOU      X2, X11
  1376	PADDQ      X2, X11
  1377	PSRLQ      $0x3f, X2
  1378	PXOR       X11, X2
  1379	MOVOU      X3, X11
  1380	PADDQ      X3, X11
  1381	PSRLQ      $0x3f, X3
  1382	PXOR       X11, X3
  1383	MOVO       X4, X8
  1384	MOVO       X5, X4
  1385	MOVO       X8, X5
  1386	MOVO       X2, X8
  1387	PUNPCKLQDQ X2, X9
  1388	PUNPCKHQDQ X3, X2
  1389	PUNPCKHQDQ X9, X2
  1390	PUNPCKLQDQ X3, X9
  1391	MOVO       X8, X3
  1392	MOVO       X6, X8
  1393	PUNPCKHQDQ X9, X3
  1394	PUNPCKLQDQ X7, X9
  1395	PUNPCKHQDQ X9, X6
  1396	PUNPCKLQDQ X8, X9
  1397	PUNPCKHQDQ X9, X7
  1398	MOVOU      32(AX), X10
  1399	MOVOU      48(AX), X11
  1400	PXOR       X0, X12
  1401	PXOR       X1, X15
  1402	PXOR       X2, X10
  1403	PXOR       X3, X11
  1404	PXOR       X4, X12
  1405	PXOR       X5, X15
  1406	PXOR       X6, X10
  1407	PXOR       X7, X11
  1408	MOVOU      X10, 32(AX)
  1409	MOVOU      X11, 48(AX)
  1410	LEAQ       128(SI), SI
  1411	SUBQ       $0x80, DI
  1412	JNE        loop
  1413	MOVOU      X12, (AX)
  1414	MOVOU      X15, 16(AX)
  1415	MOVQ       R8, (BX)
  1416	MOVQ       R9, 8(BX)
  1417	RET
  1418
  1419DATA ·iv3<>+0(SB)/8, $0x1f83d9abfb41bd6b
  1420DATA ·iv3<>+8(SB)/8, $0x5be0cd19137e2179
  1421GLOBL ·iv3<>(SB), RODATA|NOPTR, $16
  1422
  1423DATA ·c40<>+0(SB)/8, $0x0201000706050403
  1424DATA ·c40<>+8(SB)/8, $0x0a09080f0e0d0c0b
  1425GLOBL ·c40<>(SB), RODATA|NOPTR, $16
  1426
  1427DATA ·c48<>+0(SB)/8, $0x0100070605040302
  1428DATA ·c48<>+8(SB)/8, $0x09080f0e0d0c0b0a
  1429GLOBL ·c48<>(SB), RODATA|NOPTR, $16
  1430
  1431DATA ·iv0<>+0(SB)/8, $0x6a09e667f3bcc908
  1432DATA ·iv0<>+8(SB)/8, $0xbb67ae8584caa73b
  1433GLOBL ·iv0<>(SB), RODATA|NOPTR, $16
  1434
  1435DATA ·iv1<>+0(SB)/8, $0x3c6ef372fe94f82b
  1436DATA ·iv1<>+8(SB)/8, $0xa54ff53a5f1d36f1
  1437GLOBL ·iv1<>(SB), RODATA|NOPTR, $16
  1438
  1439DATA ·iv2<>+0(SB)/8, $0x510e527fade682d1
  1440DATA ·iv2<>+8(SB)/8, $0x9b05688c2b3e6c1f
  1441GLOBL ·iv2<>(SB), RODATA|NOPTR, $16

View as plain text