github.com/maenmax/kairep@v0.0.0-20210218001208-55bf3df36788/src/golang.org/x/crypto/curve25519/ladderstep_amd64.s (about)

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