Source file src/simd/archsimd/ops_amd64.go

     1  // Code generated by 'simdgen -o godefs -goroot $GOROOT -arch amd64 -xedPath $XED_PATH go_amd64.yaml types.yaml categories.yaml'; DO NOT EDIT.
     2  
     3  //go:build goexperiment.simd
     4  
     5  package archsimd
     6  
     7  /* AESDecryptLastRound */
     8  
     9  // AESDecryptLastRound performs a series of operations in AES cipher algorithm defined in FIPS 197.
    10  // x is the state array, starting from low index to high are s00, s10, s20, s30, s01, ..., s33.
    11  // y is the chunk of dw array in use.
    12  // result = AddRoundKey(InvShiftRows(InvSubBytes(x)), y)
    13  //
    14  // Asm: VAESDECLAST, CPU Feature: AVXAES
    15  func (x Uint8x16) AESDecryptLastRound(y Uint32x4) Uint8x16
    16  
    17  // AESDecryptLastRound performs a series of operations in AES cipher algorithm defined in FIPS 197.
    18  // x is the state array, starting from low index to high are s00, s10, s20, s30, s01, ..., s33.
    19  // y is the chunk of dw array in use.
    20  // result = AddRoundKey(InvShiftRows(InvSubBytes(x)), y)
    21  //
    22  // Asm: VAESDECLAST, CPU Feature: VAES
    23  func (x Uint8x32) AESDecryptLastRound(y Uint32x8) Uint8x32
    24  
    25  // AESDecryptLastRound performs a series of operations in AES cipher algorithm defined in FIPS 197.
    26  // x is the state array, starting from low index to high are s00, s10, s20, s30, s01, ..., s33.
    27  // y is the chunk of dw array in use.
    28  // result = AddRoundKey(InvShiftRows(InvSubBytes(x)), y)
    29  //
    30  // Asm: VAESDECLAST, CPU Feature: AVX512VAES
    31  func (x Uint8x64) AESDecryptLastRound(y Uint32x16) Uint8x64
    32  
    33  /* AESDecryptOneRound */
    34  
    35  // AESDecryptOneRound performs a series of operations in AES cipher algorithm defined in FIPS 197.
    36  // x is the state array, starting from low index to high are s00, s10, s20, s30, s01, ..., s33.
    37  // y is the chunk of dw array in use.
    38  // result = AddRoundKey(InvMixColumns(InvShiftRows(InvSubBytes(x))), y)
    39  //
    40  // Asm: VAESDEC, CPU Feature: AVXAES
    41  func (x Uint8x16) AESDecryptOneRound(y Uint32x4) Uint8x16
    42  
    43  // AESDecryptOneRound performs a series of operations in AES cipher algorithm defined in FIPS 197.
    44  // x is the state array, starting from low index to high are s00, s10, s20, s30, s01, ..., s33.
    45  // y is the chunk of dw array in use.
    46  // result = AddRoundKey(InvMixColumns(InvShiftRows(InvSubBytes(x))), y)
    47  //
    48  // Asm: VAESDEC, CPU Feature: VAES
    49  func (x Uint8x32) AESDecryptOneRound(y Uint32x8) Uint8x32
    50  
    51  // AESDecryptOneRound performs a series of operations in AES cipher algorithm defined in FIPS 197.
    52  // x is the state array, starting from low index to high are s00, s10, s20, s30, s01, ..., s33.
    53  // y is the chunk of dw array in use.
    54  // result = AddRoundKey(InvMixColumns(InvShiftRows(InvSubBytes(x))), y)
    55  //
    56  // Asm: VAESDEC, CPU Feature: AVX512VAES
    57  func (x Uint8x64) AESDecryptOneRound(y Uint32x16) Uint8x64
    58  
    59  /* AESEncryptLastRound */
    60  
    61  // AESEncryptLastRound performs a series of operations in AES cipher algorithm defined in FIPS 197.
    62  // x is the state array, starting from low index to high are s00, s10, s20, s30, s01, ..., s33.
    63  // y is the chunk of w array in use.
    64  // result = AddRoundKey((ShiftRows(SubBytes(x))), y)
    65  //
    66  // Asm: VAESENCLAST, CPU Feature: AVXAES
    67  func (x Uint8x16) AESEncryptLastRound(y Uint32x4) Uint8x16
    68  
    69  // AESEncryptLastRound performs a series of operations in AES cipher algorithm defined in FIPS 197.
    70  // x is the state array, starting from low index to high are s00, s10, s20, s30, s01, ..., s33.
    71  // y is the chunk of w array in use.
    72  // result = AddRoundKey((ShiftRows(SubBytes(x))), y)
    73  //
    74  // Asm: VAESENCLAST, CPU Feature: VAES
    75  func (x Uint8x32) AESEncryptLastRound(y Uint32x8) Uint8x32
    76  
    77  // AESEncryptLastRound performs a series of operations in AES cipher algorithm defined in FIPS 197.
    78  // x is the state array, starting from low index to high are s00, s10, s20, s30, s01, ..., s33.
    79  // y is the chunk of w array in use.
    80  // result = AddRoundKey((ShiftRows(SubBytes(x))), y)
    81  //
    82  // Asm: VAESENCLAST, CPU Feature: AVX512VAES
    83  func (x Uint8x64) AESEncryptLastRound(y Uint32x16) Uint8x64
    84  
    85  /* AESEncryptOneRound */
    86  
    87  // AESEncryptOneRound performs a series of operations in AES cipher algorithm defined in FIPS 197.
    88  // x is the state array, starting from low index to high are s00, s10, s20, s30, s01, ..., s33.
    89  // y is the chunk of w array in use.
    90  // result = AddRoundKey(MixColumns(ShiftRows(SubBytes(x))), y)
    91  //
    92  // Asm: VAESENC, CPU Feature: AVXAES
    93  func (x Uint8x16) AESEncryptOneRound(y Uint32x4) Uint8x16
    94  
    95  // AESEncryptOneRound performs a series of operations in AES cipher algorithm defined in FIPS 197.
    96  // x is the state array, starting from low index to high are s00, s10, s20, s30, s01, ..., s33.
    97  // y is the chunk of w array in use.
    98  // result = AddRoundKey(MixColumns(ShiftRows(SubBytes(x))), y)
    99  //
   100  // Asm: VAESENC, CPU Feature: VAES
   101  func (x Uint8x32) AESEncryptOneRound(y Uint32x8) Uint8x32
   102  
   103  // AESEncryptOneRound performs a series of operations in AES cipher algorithm defined in FIPS 197.
   104  // x is the state array, starting from low index to high are s00, s10, s20, s30, s01, ..., s33.
   105  // y is the chunk of w array in use.
   106  // result = AddRoundKey(MixColumns(ShiftRows(SubBytes(x))), y)
   107  //
   108  // Asm: VAESENC, CPU Feature: AVX512VAES
   109  func (x Uint8x64) AESEncryptOneRound(y Uint32x16) Uint8x64
   110  
   111  /* AESInvMixColumns */
   112  
   113  // AESInvMixColumns performs the InvMixColumns operation in AES cipher algorithm defined in FIPS 197.
   114  // x is the chunk of w array in use.
   115  // result = InvMixColumns(x)
   116  //
   117  // Asm: VAESIMC, CPU Feature: AVXAES
   118  func (x Uint32x4) AESInvMixColumns() Uint32x4
   119  
   120  /* AESRoundKeyGenAssist */
   121  
   122  // AESRoundKeyGenAssist performs some components of KeyExpansion in AES cipher algorithm defined in FIPS 197.
   123  // x is an array of AES words, but only x[0] and x[2] are used.
   124  // r is a value from the Rcon constant array.
   125  // result[0] = XOR(SubWord(RotWord(x[0])), r)
   126  // result[1] = SubWord(x[1])
   127  // result[2] = XOR(SubWord(RotWord(x[2])), r)
   128  // result[3] = SubWord(x[3])
   129  //
   130  // A non-constant value of rconVal may result in significantly worse performance for this operation.
   131  //
   132  // Asm: VAESKEYGENASSIST, CPU Feature: AVXAES
   133  func (x Uint32x4) AESRoundKeyGenAssist(rconVal uint8) Uint32x4
   134  
   135  /* Abs */
   136  
   137  // Abs computes the absolute value of each element.
   138  //
   139  // Asm: VPABSB, CPU Feature: AVX
   140  func (x Int8x16) Abs() Int8x16
   141  
   142  // Abs computes the absolute value of each element.
   143  //
   144  // Asm: VPABSB, CPU Feature: AVX2
   145  func (x Int8x32) Abs() Int8x32
   146  
   147  // Abs computes the absolute value of each element.
   148  //
   149  // Asm: VPABSB, CPU Feature: AVX512
   150  func (x Int8x64) Abs() Int8x64
   151  
   152  // Abs computes the absolute value of each element.
   153  //
   154  // Asm: VPABSW, CPU Feature: AVX
   155  func (x Int16x8) Abs() Int16x8
   156  
   157  // Abs computes the absolute value of each element.
   158  //
   159  // Asm: VPABSW, CPU Feature: AVX2
   160  func (x Int16x16) Abs() Int16x16
   161  
   162  // Abs computes the absolute value of each element.
   163  //
   164  // Asm: VPABSW, CPU Feature: AVX512
   165  func (x Int16x32) Abs() Int16x32
   166  
   167  // Abs computes the absolute value of each element.
   168  //
   169  // Asm: VPABSD, CPU Feature: AVX
   170  func (x Int32x4) Abs() Int32x4
   171  
   172  // Abs computes the absolute value of each element.
   173  //
   174  // Asm: VPABSD, CPU Feature: AVX2
   175  func (x Int32x8) Abs() Int32x8
   176  
   177  // Abs computes the absolute value of each element.
   178  //
   179  // Asm: VPABSD, CPU Feature: AVX512
   180  func (x Int32x16) Abs() Int32x16
   181  
   182  // Abs computes the absolute value of each element.
   183  //
   184  // Asm: VPABSQ, CPU Feature: AVX512
   185  func (x Int64x2) Abs() Int64x2
   186  
   187  // Abs computes the absolute value of each element.
   188  //
   189  // Asm: VPABSQ, CPU Feature: AVX512
   190  func (x Int64x4) Abs() Int64x4
   191  
   192  // Abs computes the absolute value of each element.
   193  //
   194  // Asm: VPABSQ, CPU Feature: AVX512
   195  func (x Int64x8) Abs() Int64x8
   196  
   197  /* Add */
   198  
   199  // Add adds corresponding elements of two vectors.
   200  //
   201  // Asm: VADDPS, CPU Feature: AVX
   202  func (x Float32x4) Add(y Float32x4) Float32x4
   203  
   204  // Add adds corresponding elements of two vectors.
   205  //
   206  // Asm: VADDPS, CPU Feature: AVX
   207  func (x Float32x8) Add(y Float32x8) Float32x8
   208  
   209  // Add adds corresponding elements of two vectors.
   210  //
   211  // Asm: VADDPS, CPU Feature: AVX512
   212  func (x Float32x16) Add(y Float32x16) Float32x16
   213  
   214  // Add adds corresponding elements of two vectors.
   215  //
   216  // Asm: VADDPD, CPU Feature: AVX
   217  func (x Float64x2) Add(y Float64x2) Float64x2
   218  
   219  // Add adds corresponding elements of two vectors.
   220  //
   221  // Asm: VADDPD, CPU Feature: AVX
   222  func (x Float64x4) Add(y Float64x4) Float64x4
   223  
   224  // Add adds corresponding elements of two vectors.
   225  //
   226  // Asm: VADDPD, CPU Feature: AVX512
   227  func (x Float64x8) Add(y Float64x8) Float64x8
   228  
   229  // Add adds corresponding elements of two vectors.
   230  //
   231  // Asm: VPADDB, CPU Feature: AVX
   232  func (x Int8x16) Add(y Int8x16) Int8x16
   233  
   234  // Add adds corresponding elements of two vectors.
   235  //
   236  // Asm: VPADDB, CPU Feature: AVX2
   237  func (x Int8x32) Add(y Int8x32) Int8x32
   238  
   239  // Add adds corresponding elements of two vectors.
   240  //
   241  // Asm: VPADDB, CPU Feature: AVX512
   242  func (x Int8x64) Add(y Int8x64) Int8x64
   243  
   244  // Add adds corresponding elements of two vectors.
   245  //
   246  // Asm: VPADDW, CPU Feature: AVX
   247  func (x Int16x8) Add(y Int16x8) Int16x8
   248  
   249  // Add adds corresponding elements of two vectors.
   250  //
   251  // Asm: VPADDW, CPU Feature: AVX2
   252  func (x Int16x16) Add(y Int16x16) Int16x16
   253  
   254  // Add adds corresponding elements of two vectors.
   255  //
   256  // Asm: VPADDW, CPU Feature: AVX512
   257  func (x Int16x32) Add(y Int16x32) Int16x32
   258  
   259  // Add adds corresponding elements of two vectors.
   260  //
   261  // Asm: VPADDD, CPU Feature: AVX
   262  func (x Int32x4) Add(y Int32x4) Int32x4
   263  
   264  // Add adds corresponding elements of two vectors.
   265  //
   266  // Asm: VPADDD, CPU Feature: AVX2
   267  func (x Int32x8) Add(y Int32x8) Int32x8
   268  
   269  // Add adds corresponding elements of two vectors.
   270  //
   271  // Asm: VPADDD, CPU Feature: AVX512
   272  func (x Int32x16) Add(y Int32x16) Int32x16
   273  
   274  // Add adds corresponding elements of two vectors.
   275  //
   276  // Asm: VPADDQ, CPU Feature: AVX
   277  func (x Int64x2) Add(y Int64x2) Int64x2
   278  
   279  // Add adds corresponding elements of two vectors.
   280  //
   281  // Asm: VPADDQ, CPU Feature: AVX2
   282  func (x Int64x4) Add(y Int64x4) Int64x4
   283  
   284  // Add adds corresponding elements of two vectors.
   285  //
   286  // Asm: VPADDQ, CPU Feature: AVX512
   287  func (x Int64x8) Add(y Int64x8) Int64x8
   288  
   289  // Add adds corresponding elements of two vectors.
   290  //
   291  // Asm: VPADDB, CPU Feature: AVX
   292  func (x Uint8x16) Add(y Uint8x16) Uint8x16
   293  
   294  // Add adds corresponding elements of two vectors.
   295  //
   296  // Asm: VPADDB, CPU Feature: AVX2
   297  func (x Uint8x32) Add(y Uint8x32) Uint8x32
   298  
   299  // Add adds corresponding elements of two vectors.
   300  //
   301  // Asm: VPADDB, CPU Feature: AVX512
   302  func (x Uint8x64) Add(y Uint8x64) Uint8x64
   303  
   304  // Add adds corresponding elements of two vectors.
   305  //
   306  // Asm: VPADDW, CPU Feature: AVX
   307  func (x Uint16x8) Add(y Uint16x8) Uint16x8
   308  
   309  // Add adds corresponding elements of two vectors.
   310  //
   311  // Asm: VPADDW, CPU Feature: AVX2
   312  func (x Uint16x16) Add(y Uint16x16) Uint16x16
   313  
   314  // Add adds corresponding elements of two vectors.
   315  //
   316  // Asm: VPADDW, CPU Feature: AVX512
   317  func (x Uint16x32) Add(y Uint16x32) Uint16x32
   318  
   319  // Add adds corresponding elements of two vectors.
   320  //
   321  // Asm: VPADDD, CPU Feature: AVX
   322  func (x Uint32x4) Add(y Uint32x4) Uint32x4
   323  
   324  // Add adds corresponding elements of two vectors.
   325  //
   326  // Asm: VPADDD, CPU Feature: AVX2
   327  func (x Uint32x8) Add(y Uint32x8) Uint32x8
   328  
   329  // Add adds corresponding elements of two vectors.
   330  //
   331  // Asm: VPADDD, CPU Feature: AVX512
   332  func (x Uint32x16) Add(y Uint32x16) Uint32x16
   333  
   334  // Add adds corresponding elements of two vectors.
   335  //
   336  // Asm: VPADDQ, CPU Feature: AVX
   337  func (x Uint64x2) Add(y Uint64x2) Uint64x2
   338  
   339  // Add adds corresponding elements of two vectors.
   340  //
   341  // Asm: VPADDQ, CPU Feature: AVX2
   342  func (x Uint64x4) Add(y Uint64x4) Uint64x4
   343  
   344  // Add adds corresponding elements of two vectors.
   345  //
   346  // Asm: VPADDQ, CPU Feature: AVX512
   347  func (x Uint64x8) Add(y Uint64x8) Uint64x8
   348  
   349  /* AddOddSubEven */
   350  
   351  // AddOddSubEven subtracts even elements and adds odd elements of two vectors.
   352  //
   353  // Asm: VADDSUBPS, CPU Feature: AVX
   354  func (x Float32x4) AddOddSubEven(y Float32x4) Float32x4
   355  
   356  // AddOddSubEven subtracts even elements and adds odd elements of two vectors.
   357  //
   358  // Asm: VADDSUBPS, CPU Feature: AVX
   359  func (x Float32x8) AddOddSubEven(y Float32x8) Float32x8
   360  
   361  // AddOddSubEven subtracts even elements and adds odd elements of two vectors.
   362  //
   363  // Asm: VADDSUBPD, CPU Feature: AVX
   364  func (x Float64x2) AddOddSubEven(y Float64x2) Float64x2
   365  
   366  // AddOddSubEven subtracts even elements and adds odd elements of two vectors.
   367  //
   368  // Asm: VADDSUBPD, CPU Feature: AVX
   369  func (x Float64x4) AddOddSubEven(y Float64x4) Float64x4
   370  
   371  /* AddSaturated */
   372  
   373  // AddSaturated adds corresponding elements of two vectors with saturation.
   374  //
   375  // Asm: VPADDSB, CPU Feature: AVX
   376  func (x Int8x16) AddSaturated(y Int8x16) Int8x16
   377  
   378  // AddSaturated adds corresponding elements of two vectors with saturation.
   379  //
   380  // Asm: VPADDSB, CPU Feature: AVX2
   381  func (x Int8x32) AddSaturated(y Int8x32) Int8x32
   382  
   383  // AddSaturated adds corresponding elements of two vectors with saturation.
   384  //
   385  // Asm: VPADDSB, CPU Feature: AVX512
   386  func (x Int8x64) AddSaturated(y Int8x64) Int8x64
   387  
   388  // AddSaturated adds corresponding elements of two vectors with saturation.
   389  //
   390  // Asm: VPADDSW, CPU Feature: AVX
   391  func (x Int16x8) AddSaturated(y Int16x8) Int16x8
   392  
   393  // AddSaturated adds corresponding elements of two vectors with saturation.
   394  //
   395  // Asm: VPADDSW, CPU Feature: AVX2
   396  func (x Int16x16) AddSaturated(y Int16x16) Int16x16
   397  
   398  // AddSaturated adds corresponding elements of two vectors with saturation.
   399  //
   400  // Asm: VPADDSW, CPU Feature: AVX512
   401  func (x Int16x32) AddSaturated(y Int16x32) Int16x32
   402  
   403  // AddSaturated adds corresponding elements of two vectors with saturation.
   404  //
   405  // Asm: VPADDUSB, CPU Feature: AVX
   406  func (x Uint8x16) AddSaturated(y Uint8x16) Uint8x16
   407  
   408  // AddSaturated adds corresponding elements of two vectors with saturation.
   409  //
   410  // Asm: VPADDUSB, CPU Feature: AVX2
   411  func (x Uint8x32) AddSaturated(y Uint8x32) Uint8x32
   412  
   413  // AddSaturated adds corresponding elements of two vectors with saturation.
   414  //
   415  // Asm: VPADDUSB, CPU Feature: AVX512
   416  func (x Uint8x64) AddSaturated(y Uint8x64) Uint8x64
   417  
   418  // AddSaturated adds corresponding elements of two vectors with saturation.
   419  //
   420  // Asm: VPADDUSW, CPU Feature: AVX
   421  func (x Uint16x8) AddSaturated(y Uint16x8) Uint16x8
   422  
   423  // AddSaturated adds corresponding elements of two vectors with saturation.
   424  //
   425  // Asm: VPADDUSW, CPU Feature: AVX2
   426  func (x Uint16x16) AddSaturated(y Uint16x16) Uint16x16
   427  
   428  // AddSaturated adds corresponding elements of two vectors with saturation.
   429  //
   430  // Asm: VPADDUSW, CPU Feature: AVX512
   431  func (x Uint16x32) AddSaturated(y Uint16x32) Uint16x32
   432  
   433  /* And */
   434  
   435  // And performs a bitwise x & y.
   436  //
   437  // Asm: VPAND, CPU Feature: AVX
   438  func (x Int8x16) And(y Int8x16) Int8x16
   439  
   440  // And performs a bitwise x & y.
   441  //
   442  // Asm: VPAND, CPU Feature: AVX2
   443  func (x Int8x32) And(y Int8x32) Int8x32
   444  
   445  // And performs a bitwise x & y.
   446  //
   447  // Asm: VPANDD, CPU Feature: AVX512
   448  func (x Int8x64) And(y Int8x64) Int8x64
   449  
   450  // And performs a bitwise x & y.
   451  //
   452  // Asm: VPAND, CPU Feature: AVX
   453  func (x Int16x8) And(y Int16x8) Int16x8
   454  
   455  // And performs a bitwise x & y.
   456  //
   457  // Asm: VPAND, CPU Feature: AVX2
   458  func (x Int16x16) And(y Int16x16) Int16x16
   459  
   460  // And performs a bitwise x & y.
   461  //
   462  // Asm: VPANDD, CPU Feature: AVX512
   463  func (x Int16x32) And(y Int16x32) Int16x32
   464  
   465  // And performs a bitwise x & y.
   466  //
   467  // Asm: VPAND, CPU Feature: AVX
   468  func (x Int32x4) And(y Int32x4) Int32x4
   469  
   470  // And performs a bitwise x & y.
   471  //
   472  // Asm: VPAND, CPU Feature: AVX2
   473  func (x Int32x8) And(y Int32x8) Int32x8
   474  
   475  // And performs a bitwise x & y.
   476  //
   477  // Asm: VPANDD, CPU Feature: AVX512
   478  func (x Int32x16) And(y Int32x16) Int32x16
   479  
   480  // And performs a bitwise x & y.
   481  //
   482  // Asm: VPAND, CPU Feature: AVX
   483  func (x Int64x2) And(y Int64x2) Int64x2
   484  
   485  // And performs a bitwise x & y.
   486  //
   487  // Asm: VPAND, CPU Feature: AVX2
   488  func (x Int64x4) And(y Int64x4) Int64x4
   489  
   490  // And performs a bitwise x & y.
   491  //
   492  // Asm: VPANDQ, CPU Feature: AVX512
   493  func (x Int64x8) And(y Int64x8) Int64x8
   494  
   495  // And performs a bitwise x & y.
   496  //
   497  // Asm: VPAND, CPU Feature: AVX
   498  func (x Uint8x16) And(y Uint8x16) Uint8x16
   499  
   500  // And performs a bitwise x & y.
   501  //
   502  // Asm: VPAND, CPU Feature: AVX2
   503  func (x Uint8x32) And(y Uint8x32) Uint8x32
   504  
   505  // And performs a bitwise x & y.
   506  //
   507  // Asm: VPANDD, CPU Feature: AVX512
   508  func (x Uint8x64) And(y Uint8x64) Uint8x64
   509  
   510  // And performs a bitwise x & y.
   511  //
   512  // Asm: VPAND, CPU Feature: AVX
   513  func (x Uint16x8) And(y Uint16x8) Uint16x8
   514  
   515  // And performs a bitwise x & y.
   516  //
   517  // Asm: VPAND, CPU Feature: AVX2
   518  func (x Uint16x16) And(y Uint16x16) Uint16x16
   519  
   520  // And performs a bitwise x & y.
   521  //
   522  // Asm: VPANDD, CPU Feature: AVX512
   523  func (x Uint16x32) And(y Uint16x32) Uint16x32
   524  
   525  // And performs a bitwise x & y.
   526  //
   527  // Asm: VPAND, CPU Feature: AVX
   528  func (x Uint32x4) And(y Uint32x4) Uint32x4
   529  
   530  // And performs a bitwise x & y.
   531  //
   532  // Asm: VPAND, CPU Feature: AVX2
   533  func (x Uint32x8) And(y Uint32x8) Uint32x8
   534  
   535  // And performs a bitwise x & y.
   536  //
   537  // Asm: VPANDD, CPU Feature: AVX512
   538  func (x Uint32x16) And(y Uint32x16) Uint32x16
   539  
   540  // And performs a bitwise x & y.
   541  //
   542  // Asm: VPAND, CPU Feature: AVX2
   543  func (x Uint64x4) And(y Uint64x4) Uint64x4
   544  
   545  // And performs a bitwise x & y.
   546  //
   547  // Asm: VPANDQ, CPU Feature: AVX512
   548  func (x Uint64x8) And(y Uint64x8) Uint64x8
   549  
   550  // And performs a bitwise x & y.
   551  //
   552  // Asm: VPAND, CPU Feature: AVX
   553  func (x Uint64x2) And(y Uint64x2) Uint64x2
   554  
   555  /* AndNot */
   556  
   557  // AndNot performs a bitwise x &^ y.
   558  //
   559  // Asm: VPANDN, CPU Feature: AVX
   560  func (x Int8x16) AndNot(y Int8x16) Int8x16
   561  
   562  // AndNot performs a bitwise x &^ y.
   563  //
   564  // Asm: VPANDN, CPU Feature: AVX2
   565  func (x Int8x32) AndNot(y Int8x32) Int8x32
   566  
   567  // AndNot performs a bitwise x &^ y.
   568  //
   569  // Asm: VPANDND, CPU Feature: AVX512
   570  func (x Int8x64) AndNot(y Int8x64) Int8x64
   571  
   572  // AndNot performs a bitwise x &^ y.
   573  //
   574  // Asm: VPANDN, CPU Feature: AVX
   575  func (x Int16x8) AndNot(y Int16x8) Int16x8
   576  
   577  // AndNot performs a bitwise x &^ y.
   578  //
   579  // Asm: VPANDN, CPU Feature: AVX2
   580  func (x Int16x16) AndNot(y Int16x16) Int16x16
   581  
   582  // AndNot performs a bitwise x &^ y.
   583  //
   584  // Asm: VPANDND, CPU Feature: AVX512
   585  func (x Int16x32) AndNot(y Int16x32) Int16x32
   586  
   587  // AndNot performs a bitwise x &^ y.
   588  //
   589  // Asm: VPANDN, CPU Feature: AVX
   590  func (x Int32x4) AndNot(y Int32x4) Int32x4
   591  
   592  // AndNot performs a bitwise x &^ y.
   593  //
   594  // Asm: VPANDN, CPU Feature: AVX2
   595  func (x Int32x8) AndNot(y Int32x8) Int32x8
   596  
   597  // AndNot performs a bitwise x &^ y.
   598  //
   599  // Asm: VPANDND, CPU Feature: AVX512
   600  func (x Int32x16) AndNot(y Int32x16) Int32x16
   601  
   602  // AndNot performs a bitwise x &^ y.
   603  //
   604  // Asm: VPANDN, CPU Feature: AVX
   605  func (x Int64x2) AndNot(y Int64x2) Int64x2
   606  
   607  // AndNot performs a bitwise x &^ y.
   608  //
   609  // Asm: VPANDN, CPU Feature: AVX2
   610  func (x Int64x4) AndNot(y Int64x4) Int64x4
   611  
   612  // AndNot performs a bitwise x &^ y.
   613  //
   614  // Asm: VPANDNQ, CPU Feature: AVX512
   615  func (x Int64x8) AndNot(y Int64x8) Int64x8
   616  
   617  // AndNot performs a bitwise x &^ y.
   618  //
   619  // Asm: VPANDN, CPU Feature: AVX
   620  func (x Uint8x16) AndNot(y Uint8x16) Uint8x16
   621  
   622  // AndNot performs a bitwise x &^ y.
   623  //
   624  // Asm: VPANDN, CPU Feature: AVX2
   625  func (x Uint8x32) AndNot(y Uint8x32) Uint8x32
   626  
   627  // AndNot performs a bitwise x &^ y.
   628  //
   629  // Asm: VPANDND, CPU Feature: AVX512
   630  func (x Uint8x64) AndNot(y Uint8x64) Uint8x64
   631  
   632  // AndNot performs a bitwise x &^ y.
   633  //
   634  // Asm: VPANDN, CPU Feature: AVX
   635  func (x Uint16x8) AndNot(y Uint16x8) Uint16x8
   636  
   637  // AndNot performs a bitwise x &^ y.
   638  //
   639  // Asm: VPANDN, CPU Feature: AVX2
   640  func (x Uint16x16) AndNot(y Uint16x16) Uint16x16
   641  
   642  // AndNot performs a bitwise x &^ y.
   643  //
   644  // Asm: VPANDND, CPU Feature: AVX512
   645  func (x Uint16x32) AndNot(y Uint16x32) Uint16x32
   646  
   647  // AndNot performs a bitwise x &^ y.
   648  //
   649  // Asm: VPANDN, CPU Feature: AVX
   650  func (x Uint32x4) AndNot(y Uint32x4) Uint32x4
   651  
   652  // AndNot performs a bitwise x &^ y.
   653  //
   654  // Asm: VPANDN, CPU Feature: AVX2
   655  func (x Uint32x8) AndNot(y Uint32x8) Uint32x8
   656  
   657  // AndNot performs a bitwise x &^ y.
   658  //
   659  // Asm: VPANDND, CPU Feature: AVX512
   660  func (x Uint32x16) AndNot(y Uint32x16) Uint32x16
   661  
   662  // AndNot performs a bitwise x &^ y.
   663  //
   664  // Asm: VPANDN, CPU Feature: AVX2
   665  func (x Uint64x4) AndNot(y Uint64x4) Uint64x4
   666  
   667  // AndNot performs a bitwise x &^ y.
   668  //
   669  // Asm: VPANDNQ, CPU Feature: AVX512
   670  func (x Uint64x8) AndNot(y Uint64x8) Uint64x8
   671  
   672  // AndNot performs a bitwise x &^ y.
   673  //
   674  // Asm: VPANDN, CPU Feature: AVX
   675  func (x Uint64x2) AndNot(y Uint64x2) Uint64x2
   676  
   677  /* Average */
   678  
   679  // Average computes the rounded average of corresponding elements.
   680  //
   681  // Asm: VPAVGB, CPU Feature: AVX
   682  func (x Uint8x16) Average(y Uint8x16) Uint8x16
   683  
   684  // Average computes the rounded average of corresponding elements.
   685  //
   686  // Asm: VPAVGB, CPU Feature: AVX2
   687  func (x Uint8x32) Average(y Uint8x32) Uint8x32
   688  
   689  // Average computes the rounded average of corresponding elements.
   690  //
   691  // Asm: VPAVGB, CPU Feature: AVX512
   692  func (x Uint8x64) Average(y Uint8x64) Uint8x64
   693  
   694  // Average computes the rounded average of corresponding elements.
   695  //
   696  // Asm: VPAVGW, CPU Feature: AVX
   697  func (x Uint16x8) Average(y Uint16x8) Uint16x8
   698  
   699  // Average computes the rounded average of corresponding elements.
   700  //
   701  // Asm: VPAVGW, CPU Feature: AVX2
   702  func (x Uint16x16) Average(y Uint16x16) Uint16x16
   703  
   704  // Average computes the rounded average of corresponding elements.
   705  //
   706  // Asm: VPAVGW, CPU Feature: AVX512
   707  func (x Uint16x32) Average(y Uint16x32) Uint16x32
   708  
   709  /* Ceil */
   710  
   711  // Ceil rounds elements up to the nearest integer.
   712  //
   713  // Asm: VROUNDPS, CPU Feature: AVX
   714  func (x Float32x4) Ceil() Float32x4
   715  
   716  // Ceil rounds elements up to the nearest integer.
   717  //
   718  // Asm: VROUNDPS, CPU Feature: AVX
   719  func (x Float32x8) Ceil() Float32x8
   720  
   721  // Ceil rounds elements up to the nearest integer.
   722  //
   723  // Asm: VROUNDPD, CPU Feature: AVX
   724  func (x Float64x2) Ceil() Float64x2
   725  
   726  // Ceil rounds elements up to the nearest integer.
   727  //
   728  // Asm: VROUNDPD, CPU Feature: AVX
   729  func (x Float64x4) Ceil() Float64x4
   730  
   731  /* CeilScaled */
   732  
   733  // CeilScaled rounds elements up with specified precision.
   734  //
   735  // A non-constant value of prec may result in significantly worse performance for this operation.
   736  //
   737  // Asm: VRNDSCALEPS, CPU Feature: AVX512
   738  func (x Float32x4) CeilScaled(prec uint8) Float32x4
   739  
   740  // CeilScaled rounds elements up with specified precision.
   741  //
   742  // A non-constant value of prec may result in significantly worse performance for this operation.
   743  //
   744  // Asm: VRNDSCALEPS, CPU Feature: AVX512
   745  func (x Float32x8) CeilScaled(prec uint8) Float32x8
   746  
   747  // CeilScaled rounds elements up with specified precision.
   748  //
   749  // A non-constant value of prec may result in significantly worse performance for this operation.
   750  //
   751  // Asm: VRNDSCALEPS, CPU Feature: AVX512
   752  func (x Float32x16) CeilScaled(prec uint8) Float32x16
   753  
   754  // CeilScaled rounds elements up with specified precision.
   755  //
   756  // A non-constant value of prec may result in significantly worse performance for this operation.
   757  //
   758  // Asm: VRNDSCALEPD, CPU Feature: AVX512
   759  func (x Float64x2) CeilScaled(prec uint8) Float64x2
   760  
   761  // CeilScaled rounds elements up with specified precision.
   762  //
   763  // A non-constant value of prec may result in significantly worse performance for this operation.
   764  //
   765  // Asm: VRNDSCALEPD, CPU Feature: AVX512
   766  func (x Float64x4) CeilScaled(prec uint8) Float64x4
   767  
   768  // CeilScaled rounds elements up with specified precision.
   769  //
   770  // A non-constant value of prec may result in significantly worse performance for this operation.
   771  //
   772  // Asm: VRNDSCALEPD, CPU Feature: AVX512
   773  func (x Float64x8) CeilScaled(prec uint8) Float64x8
   774  
   775  /* CeilScaledResidue */
   776  
   777  // CeilScaledResidue computes the difference after ceiling with specified precision.
   778  //
   779  // A non-constant value of prec may result in significantly worse performance for this operation.
   780  //
   781  // Asm: VREDUCEPS, CPU Feature: AVX512
   782  func (x Float32x4) CeilScaledResidue(prec uint8) Float32x4
   783  
   784  // CeilScaledResidue computes the difference after ceiling with specified precision.
   785  //
   786  // A non-constant value of prec may result in significantly worse performance for this operation.
   787  //
   788  // Asm: VREDUCEPS, CPU Feature: AVX512
   789  func (x Float32x8) CeilScaledResidue(prec uint8) Float32x8
   790  
   791  // CeilScaledResidue computes the difference after ceiling with specified precision.
   792  //
   793  // A non-constant value of prec may result in significantly worse performance for this operation.
   794  //
   795  // Asm: VREDUCEPS, CPU Feature: AVX512
   796  func (x Float32x16) CeilScaledResidue(prec uint8) Float32x16
   797  
   798  // CeilScaledResidue computes the difference after ceiling with specified precision.
   799  //
   800  // A non-constant value of prec may result in significantly worse performance for this operation.
   801  //
   802  // Asm: VREDUCEPD, CPU Feature: AVX512
   803  func (x Float64x2) CeilScaledResidue(prec uint8) Float64x2
   804  
   805  // CeilScaledResidue computes the difference after ceiling with specified precision.
   806  //
   807  // A non-constant value of prec may result in significantly worse performance for this operation.
   808  //
   809  // Asm: VREDUCEPD, CPU Feature: AVX512
   810  func (x Float64x4) CeilScaledResidue(prec uint8) Float64x4
   811  
   812  // CeilScaledResidue computes the difference after ceiling with specified precision.
   813  //
   814  // A non-constant value of prec may result in significantly worse performance for this operation.
   815  //
   816  // Asm: VREDUCEPD, CPU Feature: AVX512
   817  func (x Float64x8) CeilScaledResidue(prec uint8) Float64x8
   818  
   819  /* Compress */
   820  
   821  // Compress packs the masked elements of x into the lower indexed elements of z,
   822  // zeroing any remaining elements.
   823  //
   824  // Asm: VCOMPRESSPS, CPU Feature: AVX512
   825  func (x Float32x4) Compress(mask Mask32x4) Float32x4
   826  
   827  // Compress packs the masked elements of x into the lower indexed elements of z,
   828  // zeroing any remaining elements.
   829  //
   830  // Asm: VCOMPRESSPS, CPU Feature: AVX512
   831  func (x Float32x8) Compress(mask Mask32x8) Float32x8
   832  
   833  // Compress packs the masked elements of x into the lower indexed elements of z,
   834  // zeroing any remaining elements.
   835  //
   836  // Asm: VCOMPRESSPS, CPU Feature: AVX512
   837  func (x Float32x16) Compress(mask Mask32x16) Float32x16
   838  
   839  // Compress packs the masked elements of x into the lower indexed elements of z,
   840  // zeroing any remaining elements.
   841  //
   842  // Asm: VCOMPRESSPD, CPU Feature: AVX512
   843  func (x Float64x2) Compress(mask Mask64x2) Float64x2
   844  
   845  // Compress packs the masked elements of x into the lower indexed elements of z,
   846  // zeroing any remaining elements.
   847  //
   848  // Asm: VCOMPRESSPD, CPU Feature: AVX512
   849  func (x Float64x4) Compress(mask Mask64x4) Float64x4
   850  
   851  // Compress packs the masked elements of x into the lower indexed elements of z,
   852  // zeroing any remaining elements.
   853  //
   854  // Asm: VCOMPRESSPD, CPU Feature: AVX512
   855  func (x Float64x8) Compress(mask Mask64x8) Float64x8
   856  
   857  // Compress packs the masked elements of x into the lower indexed elements of z,
   858  // zeroing any remaining elements.
   859  //
   860  // Asm: VPCOMPRESSB, CPU Feature: AVX512VBMI2
   861  func (x Int8x16) Compress(mask Mask8x16) Int8x16
   862  
   863  // Compress packs the masked elements of x into the lower indexed elements of z,
   864  // zeroing any remaining elements.
   865  //
   866  // Asm: VPCOMPRESSB, CPU Feature: AVX512VBMI2
   867  func (x Int8x32) Compress(mask Mask8x32) Int8x32
   868  
   869  // Compress packs the masked elements of x into the lower indexed elements of z,
   870  // zeroing any remaining elements.
   871  //
   872  // Asm: VPCOMPRESSB, CPU Feature: AVX512VBMI2
   873  func (x Int8x64) Compress(mask Mask8x64) Int8x64
   874  
   875  // Compress packs the masked elements of x into the lower indexed elements of z,
   876  // zeroing any remaining elements.
   877  //
   878  // Asm: VPCOMPRESSW, CPU Feature: AVX512VBMI2
   879  func (x Int16x8) Compress(mask Mask16x8) Int16x8
   880  
   881  // Compress packs the masked elements of x into the lower indexed elements of z,
   882  // zeroing any remaining elements.
   883  //
   884  // Asm: VPCOMPRESSW, CPU Feature: AVX512VBMI2
   885  func (x Int16x16) Compress(mask Mask16x16) Int16x16
   886  
   887  // Compress packs the masked elements of x into the lower indexed elements of z,
   888  // zeroing any remaining elements.
   889  //
   890  // Asm: VPCOMPRESSW, CPU Feature: AVX512VBMI2
   891  func (x Int16x32) Compress(mask Mask16x32) Int16x32
   892  
   893  // Compress packs the masked elements of x into the lower indexed elements of z,
   894  // zeroing any remaining elements.
   895  //
   896  // Asm: VPCOMPRESSD, CPU Feature: AVX512
   897  func (x Int32x4) Compress(mask Mask32x4) Int32x4
   898  
   899  // Compress packs the masked elements of x into the lower indexed elements of z,
   900  // zeroing any remaining elements.
   901  //
   902  // Asm: VPCOMPRESSD, CPU Feature: AVX512
   903  func (x Int32x8) Compress(mask Mask32x8) Int32x8
   904  
   905  // Compress packs the masked elements of x into the lower indexed elements of z,
   906  // zeroing any remaining elements.
   907  //
   908  // Asm: VPCOMPRESSD, CPU Feature: AVX512
   909  func (x Int32x16) Compress(mask Mask32x16) Int32x16
   910  
   911  // Compress packs the masked elements of x into the lower indexed elements of z,
   912  // zeroing any remaining elements.
   913  //
   914  // Asm: VPCOMPRESSQ, CPU Feature: AVX512
   915  func (x Int64x2) Compress(mask Mask64x2) Int64x2
   916  
   917  // Compress packs the masked elements of x into the lower indexed elements of z,
   918  // zeroing any remaining elements.
   919  //
   920  // Asm: VPCOMPRESSQ, CPU Feature: AVX512
   921  func (x Int64x4) Compress(mask Mask64x4) Int64x4
   922  
   923  // Compress packs the masked elements of x into the lower indexed elements of z,
   924  // zeroing any remaining elements.
   925  //
   926  // Asm: VPCOMPRESSQ, CPU Feature: AVX512
   927  func (x Int64x8) Compress(mask Mask64x8) Int64x8
   928  
   929  // Compress packs the masked elements of x into the lower indexed elements of z,
   930  // zeroing any remaining elements.
   931  //
   932  // Asm: VPCOMPRESSB, CPU Feature: AVX512VBMI2
   933  func (x Uint8x16) Compress(mask Mask8x16) Uint8x16
   934  
   935  // Compress packs the masked elements of x into the lower indexed elements of z,
   936  // zeroing any remaining elements.
   937  //
   938  // Asm: VPCOMPRESSB, CPU Feature: AVX512VBMI2
   939  func (x Uint8x32) Compress(mask Mask8x32) Uint8x32
   940  
   941  // Compress packs the masked elements of x into the lower indexed elements of z,
   942  // zeroing any remaining elements.
   943  //
   944  // Asm: VPCOMPRESSB, CPU Feature: AVX512VBMI2
   945  func (x Uint8x64) Compress(mask Mask8x64) Uint8x64
   946  
   947  // Compress packs the masked elements of x into the lower indexed elements of z,
   948  // zeroing any remaining elements.
   949  //
   950  // Asm: VPCOMPRESSW, CPU Feature: AVX512VBMI2
   951  func (x Uint16x8) Compress(mask Mask16x8) Uint16x8
   952  
   953  // Compress packs the masked elements of x into the lower indexed elements of z,
   954  // zeroing any remaining elements.
   955  //
   956  // Asm: VPCOMPRESSW, CPU Feature: AVX512VBMI2
   957  func (x Uint16x16) Compress(mask Mask16x16) Uint16x16
   958  
   959  // Compress packs the masked elements of x into the lower indexed elements of z,
   960  // zeroing any remaining elements.
   961  //
   962  // Asm: VPCOMPRESSW, CPU Feature: AVX512VBMI2
   963  func (x Uint16x32) Compress(mask Mask16x32) Uint16x32
   964  
   965  // Compress packs the masked elements of x into the lower indexed elements of z,
   966  // zeroing any remaining elements.
   967  //
   968  // Asm: VPCOMPRESSD, CPU Feature: AVX512
   969  func (x Uint32x4) Compress(mask Mask32x4) Uint32x4
   970  
   971  // Compress packs the masked elements of x into the lower indexed elements of z,
   972  // zeroing any remaining elements.
   973  //
   974  // Asm: VPCOMPRESSD, CPU Feature: AVX512
   975  func (x Uint32x8) Compress(mask Mask32x8) Uint32x8
   976  
   977  // Compress packs the masked elements of x into the lower indexed elements of z,
   978  // zeroing any remaining elements.
   979  //
   980  // Asm: VPCOMPRESSD, CPU Feature: AVX512
   981  func (x Uint32x16) Compress(mask Mask32x16) Uint32x16
   982  
   983  // Compress packs the masked elements of x into the lower indexed elements of z,
   984  // zeroing any remaining elements.
   985  //
   986  // Asm: VPCOMPRESSQ, CPU Feature: AVX512
   987  func (x Uint64x2) Compress(mask Mask64x2) Uint64x2
   988  
   989  // Compress packs the masked elements of x into the lower indexed elements of z,
   990  // zeroing any remaining elements.
   991  //
   992  // Asm: VPCOMPRESSQ, CPU Feature: AVX512
   993  func (x Uint64x4) Compress(mask Mask64x4) Uint64x4
   994  
   995  // Compress packs the masked elements of x into the lower indexed elements of z,
   996  // zeroing any remaining elements.
   997  //
   998  // Asm: VPCOMPRESSQ, CPU Feature: AVX512
   999  func (x Uint64x8) Compress(mask Mask64x8) Uint64x8
  1000  
  1001  /* ConcatAddPairs */
  1002  
  1003  // ConcatAddPairs horizontally adds adjacent pairs of elements.
  1004  // For x = [x0, x1, x2, x3, ...] and y = [y0, y1, y2, y3, ...], the result is [x0+x1, x2+x3, ..., y0+y1, y2+y3, ...].
  1005  //
  1006  // Asm: VHADDPS, CPU Feature: AVX
  1007  func (x Float32x4) ConcatAddPairs(y Float32x4) Float32x4
  1008  
  1009  // ConcatAddPairs horizontally adds adjacent pairs of elements.
  1010  // For x = [x0, x1] and y = [y0, y1], the result is [x0+x1, y0+y1].
  1011  //
  1012  // Asm: VHADDPD, CPU Feature: AVX
  1013  func (x Float64x2) ConcatAddPairs(y Float64x2) Float64x2
  1014  
  1015  // ConcatAddPairs horizontally adds adjacent pairs of elements.
  1016  // For x = [x0, x1, x2, x3, ...] and y = [y0, y1, y2, y3, ...], the result is [x0+x1, x2+x3, ..., y0+y1, y2+y3, ...].
  1017  //
  1018  // Asm: VPHADDW, CPU Feature: AVX
  1019  func (x Int16x8) ConcatAddPairs(y Int16x8) Int16x8
  1020  
  1021  // ConcatAddPairs horizontally adds adjacent pairs of elements.
  1022  // For x = [x0, x1, x2, x3, ...] and y = [y0, y1, y2, y3, ...], the result is [x0+x1, x2+x3, ..., y0+y1, y2+y3, ...].
  1023  //
  1024  // Asm: VPHADDD, CPU Feature: AVX
  1025  func (x Int32x4) ConcatAddPairs(y Int32x4) Int32x4
  1026  
  1027  // ConcatAddPairs horizontally adds adjacent pairs of elements.
  1028  // For x = [x0, x1, x2, x3, ...] and y = [y0, y1, y2, y3, ...], the result is [x0+x1, x2+x3, ..., y0+y1, y2+y3, ...].
  1029  //
  1030  // Asm: VPHADDW, CPU Feature: AVX
  1031  func (x Uint16x8) ConcatAddPairs(y Uint16x8) Uint16x8
  1032  
  1033  // ConcatAddPairs horizontally adds adjacent pairs of elements.
  1034  // For x = [x0, x1, x2, x3, ...] and y = [y0, y1, y2, y3, ...], the result is [x0+x1, x2+x3, ..., y0+y1, y2+y3, ...].
  1035  //
  1036  // Asm: VPHADDD, CPU Feature: AVX
  1037  func (x Uint32x4) ConcatAddPairs(y Uint32x4) Uint32x4
  1038  
  1039  /* ConcatAddPairsGrouped */
  1040  
  1041  // ConcatAddPairsGrouped horizontally adds adjacent pairs of elements.
  1042  // With each 128-bit as a group:
  1043  // for x = [x0, x1, x2, x3, ...] and y = [y0, y1, y2, y3, ...], the result is [x0+x1, x2+x3, ..., y0+y1, y2+y3, ...].
  1044  //
  1045  // Asm: VHADDPS, CPU Feature: AVX
  1046  func (x Float32x8) ConcatAddPairsGrouped(y Float32x8) Float32x8
  1047  
  1048  // ConcatAddPairsGrouped horizontally adds adjacent pairs of elements.
  1049  // With each 128-bit as a group:
  1050  // for x = [x0, x1] and y = [y0, y1], the result is [x0+x1, y0+y1].
  1051  //
  1052  // Asm: VHADDPD, CPU Feature: AVX
  1053  func (x Float64x4) ConcatAddPairsGrouped(y Float64x4) Float64x4
  1054  
  1055  // ConcatAddPairsGrouped horizontally adds adjacent pairs of elements.
  1056  // With each 128-bit as a group:
  1057  // for x = [x0, x1, x2, x3, ...] and y = [y0, y1, y2, y3, ...], the result is [x0+x1, x2+x3, ..., y0+y1, y2+y3, ...].
  1058  //
  1059  // Asm: VPHADDW, CPU Feature: AVX2
  1060  func (x Int16x16) ConcatAddPairsGrouped(y Int16x16) Int16x16
  1061  
  1062  // ConcatAddPairsGrouped horizontally adds adjacent pairs of elements.
  1063  // With each 128-bit as a group:
  1064  // for x = [x0, x1, x2, x3, ...] and y = [y0, y1, y2, y3, ...], the result is [x0+x1, x2+x3, ..., y0+y1, y2+y3, ...].
  1065  //
  1066  // Asm: VPHADDD, CPU Feature: AVX2
  1067  func (x Int32x8) ConcatAddPairsGrouped(y Int32x8) Int32x8
  1068  
  1069  // ConcatAddPairsGrouped horizontally adds adjacent pairs of elements.
  1070  // With each 128-bit as a group:
  1071  // for x = [x0, x1, x2, x3, ...] and y = [y0, y1, y2, y3, ...], the result is [x0+x1, x2+x3, ..., y0+y1, y2+y3, ...].
  1072  //
  1073  // Asm: VPHADDW, CPU Feature: AVX2
  1074  func (x Uint16x16) ConcatAddPairsGrouped(y Uint16x16) Uint16x16
  1075  
  1076  // ConcatAddPairsGrouped horizontally adds adjacent pairs of elements.
  1077  // With each 128-bit as a group:
  1078  // for x = [x0, x1, x2, x3, ...] and y = [y0, y1, y2, y3, ...], the result is [x0+x1, x2+x3, ..., y0+y1, y2+y3, ...].
  1079  //
  1080  // Asm: VPHADDD, CPU Feature: AVX2
  1081  func (x Uint32x8) ConcatAddPairsGrouped(y Uint32x8) Uint32x8
  1082  
  1083  /* ConcatAddPairsSaturated */
  1084  
  1085  // ConcatAddPairsSaturated horizontally adds adjacent pairs of elements with saturation.
  1086  // For x = [x0, x1, x2, x3, ...] and y = [y0, y1, y2, y3, ...], the result is [x0+x1, x2+x3, ..., y0+y1, y2+y3, ...].
  1087  //
  1088  // Asm: VPHADDSW, CPU Feature: AVX
  1089  func (x Int16x8) ConcatAddPairsSaturated(y Int16x8) Int16x8
  1090  
  1091  /* ConcatAddPairsSaturatedGrouped */
  1092  
  1093  // ConcatAddPairsSaturatedGrouped horizontally adds adjacent pairs of elements with saturation.
  1094  // With each 128-bit as a group:
  1095  // for x = [x0, x1, x2, x3, ...] and y = [y0, y1, y2, y3, ...], the result is [x0+x1, x2+x3, ..., y0+y1, y2+y3, ...].
  1096  //
  1097  // Asm: VPHADDSW, CPU Feature: AVX2
  1098  func (x Int16x16) ConcatAddPairsSaturatedGrouped(y Int16x16) Int16x16
  1099  
  1100  /* ConcatPermute */
  1101  
  1102  // ConcatPermute performs a full permutation of vector x, y using indices:
  1103  //
  1104  //	result = {xy[indices[0]], xy[indices[1]], ..., xy[indices[n]]}
  1105  //
  1106  // where xy is the concatenation of x (lower half) and y (upper half).
  1107  // Only the needed bits to represent xy's index are used in indices' elements.
  1108  //
  1109  // Asm: VPERMI2B, CPU Feature: AVX512VBMI
  1110  func (x Int8x16) ConcatPermute(y Int8x16, indices Uint8x16) Int8x16
  1111  
  1112  // ConcatPermute performs a full permutation of vector x, y using indices:
  1113  //
  1114  //	result = {xy[indices[0]], xy[indices[1]], ..., xy[indices[n]]}
  1115  //
  1116  // where xy is the concatenation of x (lower half) and y (upper half).
  1117  // Only the needed bits to represent xy's index are used in indices' elements.
  1118  //
  1119  // Asm: VPERMI2B, CPU Feature: AVX512VBMI
  1120  func (x Uint8x16) ConcatPermute(y Uint8x16, indices Uint8x16) Uint8x16
  1121  
  1122  // ConcatPermute performs a full permutation of vector x, y using indices:
  1123  //
  1124  //	result = {xy[indices[0]], xy[indices[1]], ..., xy[indices[n]]}
  1125  //
  1126  // where xy is the concatenation of x (lower half) and y (upper half).
  1127  // Only the needed bits to represent xy's index are used in indices' elements.
  1128  //
  1129  // Asm: VPERMI2B, CPU Feature: AVX512VBMI
  1130  func (x Int8x32) ConcatPermute(y Int8x32, indices Uint8x32) Int8x32
  1131  
  1132  // ConcatPermute performs a full permutation of vector x, y using indices:
  1133  //
  1134  //	result = {xy[indices[0]], xy[indices[1]], ..., xy[indices[n]]}
  1135  //
  1136  // where xy is the concatenation of x (lower half) and y (upper half).
  1137  // Only the needed bits to represent xy's index are used in indices' elements.
  1138  //
  1139  // Asm: VPERMI2B, CPU Feature: AVX512VBMI
  1140  func (x Uint8x32) ConcatPermute(y Uint8x32, indices Uint8x32) Uint8x32
  1141  
  1142  // ConcatPermute performs a full permutation of vector x, y using indices:
  1143  //
  1144  //	result = {xy[indices[0]], xy[indices[1]], ..., xy[indices[n]]}
  1145  //
  1146  // where xy is the concatenation of x (lower half) and y (upper half).
  1147  // Only the needed bits to represent xy's index are used in indices' elements.
  1148  //
  1149  // Asm: VPERMI2B, CPU Feature: AVX512VBMI
  1150  func (x Int8x64) ConcatPermute(y Int8x64, indices Uint8x64) Int8x64
  1151  
  1152  // ConcatPermute performs a full permutation of vector x, y using indices:
  1153  //
  1154  //	result = {xy[indices[0]], xy[indices[1]], ..., xy[indices[n]]}
  1155  //
  1156  // where xy is the concatenation of x (lower half) and y (upper half).
  1157  // Only the needed bits to represent xy's index are used in indices' elements.
  1158  //
  1159  // Asm: VPERMI2B, CPU Feature: AVX512VBMI
  1160  func (x Uint8x64) ConcatPermute(y Uint8x64, indices Uint8x64) Uint8x64
  1161  
  1162  // ConcatPermute performs a full permutation of vector x, y using indices:
  1163  //
  1164  //	result = {xy[indices[0]], xy[indices[1]], ..., xy[indices[n]]}
  1165  //
  1166  // where xy is the concatenation of x (lower half) and y (upper half).
  1167  // Only the needed bits to represent xy's index are used in indices' elements.
  1168  //
  1169  // Asm: VPERMI2W, CPU Feature: AVX512
  1170  func (x Int16x8) ConcatPermute(y Int16x8, indices Uint16x8) Int16x8
  1171  
  1172  // ConcatPermute performs a full permutation of vector x, y using indices:
  1173  //
  1174  //	result = {xy[indices[0]], xy[indices[1]], ..., xy[indices[n]]}
  1175  //
  1176  // where xy is the concatenation of x (lower half) and y (upper half).
  1177  // Only the needed bits to represent xy's index are used in indices' elements.
  1178  //
  1179  // Asm: VPERMI2W, CPU Feature: AVX512
  1180  func (x Uint16x8) ConcatPermute(y Uint16x8, indices Uint16x8) Uint16x8
  1181  
  1182  // ConcatPermute performs a full permutation of vector x, y using indices:
  1183  //
  1184  //	result = {xy[indices[0]], xy[indices[1]], ..., xy[indices[n]]}
  1185  //
  1186  // where xy is the concatenation of x (lower half) and y (upper half).
  1187  // Only the needed bits to represent xy's index are used in indices' elements.
  1188  //
  1189  // Asm: VPERMI2W, CPU Feature: AVX512
  1190  func (x Int16x16) ConcatPermute(y Int16x16, indices Uint16x16) Int16x16
  1191  
  1192  // ConcatPermute performs a full permutation of vector x, y using indices:
  1193  //
  1194  //	result = {xy[indices[0]], xy[indices[1]], ..., xy[indices[n]]}
  1195  //
  1196  // where xy is the concatenation of x (lower half) and y (upper half).
  1197  // Only the needed bits to represent xy's index are used in indices' elements.
  1198  //
  1199  // Asm: VPERMI2W, CPU Feature: AVX512
  1200  func (x Uint16x16) ConcatPermute(y Uint16x16, indices Uint16x16) Uint16x16
  1201  
  1202  // ConcatPermute performs a full permutation of vector x, y using indices:
  1203  //
  1204  //	result = {xy[indices[0]], xy[indices[1]], ..., xy[indices[n]]}
  1205  //
  1206  // where xy is the concatenation of x (lower half) and y (upper half).
  1207  // Only the needed bits to represent xy's index are used in indices' elements.
  1208  //
  1209  // Asm: VPERMI2W, CPU Feature: AVX512
  1210  func (x Int16x32) ConcatPermute(y Int16x32, indices Uint16x32) Int16x32
  1211  
  1212  // ConcatPermute performs a full permutation of vector x, y using indices:
  1213  //
  1214  //	result = {xy[indices[0]], xy[indices[1]], ..., xy[indices[n]]}
  1215  //
  1216  // where xy is the concatenation of x (lower half) and y (upper half).
  1217  // Only the needed bits to represent xy's index are used in indices' elements.
  1218  //
  1219  // Asm: VPERMI2W, CPU Feature: AVX512
  1220  func (x Uint16x32) ConcatPermute(y Uint16x32, indices Uint16x32) Uint16x32
  1221  
  1222  // ConcatPermute performs a full permutation of vector x, y using indices:
  1223  //
  1224  //	result = {xy[indices[0]], xy[indices[1]], ..., xy[indices[n]]}
  1225  //
  1226  // where xy is the concatenation of x (lower half) and y (upper half).
  1227  // Only the needed bits to represent xy's index are used in indices' elements.
  1228  //
  1229  // Asm: VPERMI2PS, CPU Feature: AVX512
  1230  func (x Float32x4) ConcatPermute(y Float32x4, indices Uint32x4) Float32x4
  1231  
  1232  // ConcatPermute performs a full permutation of vector x, y using indices:
  1233  //
  1234  //	result = {xy[indices[0]], xy[indices[1]], ..., xy[indices[n]]}
  1235  //
  1236  // where xy is the concatenation of x (lower half) and y (upper half).
  1237  // Only the needed bits to represent xy's index are used in indices' elements.
  1238  //
  1239  // Asm: VPERMI2D, CPU Feature: AVX512
  1240  func (x Int32x4) ConcatPermute(y Int32x4, indices Uint32x4) Int32x4
  1241  
  1242  // ConcatPermute performs a full permutation of vector x, y using indices:
  1243  //
  1244  //	result = {xy[indices[0]], xy[indices[1]], ..., xy[indices[n]]}
  1245  //
  1246  // where xy is the concatenation of x (lower half) and y (upper half).
  1247  // Only the needed bits to represent xy's index are used in indices' elements.
  1248  //
  1249  // Asm: VPERMI2D, CPU Feature: AVX512
  1250  func (x Uint32x4) ConcatPermute(y Uint32x4, indices Uint32x4) Uint32x4
  1251  
  1252  // ConcatPermute performs a full permutation of vector x, y using indices:
  1253  //
  1254  //	result = {xy[indices[0]], xy[indices[1]], ..., xy[indices[n]]}
  1255  //
  1256  // where xy is the concatenation of x (lower half) and y (upper half).
  1257  // Only the needed bits to represent xy's index are used in indices' elements.
  1258  //
  1259  // Asm: VPERMI2PS, CPU Feature: AVX512
  1260  func (x Float32x8) ConcatPermute(y Float32x8, indices Uint32x8) Float32x8
  1261  
  1262  // ConcatPermute performs a full permutation of vector x, y using indices:
  1263  //
  1264  //	result = {xy[indices[0]], xy[indices[1]], ..., xy[indices[n]]}
  1265  //
  1266  // where xy is the concatenation of x (lower half) and y (upper half).
  1267  // Only the needed bits to represent xy's index are used in indices' elements.
  1268  //
  1269  // Asm: VPERMI2D, CPU Feature: AVX512
  1270  func (x Int32x8) ConcatPermute(y Int32x8, indices Uint32x8) Int32x8
  1271  
  1272  // ConcatPermute performs a full permutation of vector x, y using indices:
  1273  //
  1274  //	result = {xy[indices[0]], xy[indices[1]], ..., xy[indices[n]]}
  1275  //
  1276  // where xy is the concatenation of x (lower half) and y (upper half).
  1277  // Only the needed bits to represent xy's index are used in indices' elements.
  1278  //
  1279  // Asm: VPERMI2D, CPU Feature: AVX512
  1280  func (x Uint32x8) ConcatPermute(y Uint32x8, indices Uint32x8) Uint32x8
  1281  
  1282  // ConcatPermute performs a full permutation of vector x, y using indices:
  1283  //
  1284  //	result = {xy[indices[0]], xy[indices[1]], ..., xy[indices[n]]}
  1285  //
  1286  // where xy is the concatenation of x (lower half) and y (upper half).
  1287  // Only the needed bits to represent xy's index are used in indices' elements.
  1288  //
  1289  // Asm: VPERMI2PS, CPU Feature: AVX512
  1290  func (x Float32x16) ConcatPermute(y Float32x16, indices Uint32x16) Float32x16
  1291  
  1292  // ConcatPermute performs a full permutation of vector x, y using indices:
  1293  //
  1294  //	result = {xy[indices[0]], xy[indices[1]], ..., xy[indices[n]]}
  1295  //
  1296  // where xy is the concatenation of x (lower half) and y (upper half).
  1297  // Only the needed bits to represent xy's index are used in indices' elements.
  1298  //
  1299  // Asm: VPERMI2D, CPU Feature: AVX512
  1300  func (x Int32x16) ConcatPermute(y Int32x16, indices Uint32x16) Int32x16
  1301  
  1302  // ConcatPermute performs a full permutation of vector x, y using indices:
  1303  //
  1304  //	result = {xy[indices[0]], xy[indices[1]], ..., xy[indices[n]]}
  1305  //
  1306  // where xy is the concatenation of x (lower half) and y (upper half).
  1307  // Only the needed bits to represent xy's index are used in indices' elements.
  1308  //
  1309  // Asm: VPERMI2D, CPU Feature: AVX512
  1310  func (x Uint32x16) ConcatPermute(y Uint32x16, indices Uint32x16) Uint32x16
  1311  
  1312  // ConcatPermute performs a full permutation of vector x, y using indices:
  1313  //
  1314  //	result = {xy[indices[0]], xy[indices[1]], ..., xy[indices[n]]}
  1315  //
  1316  // where xy is the concatenation of x (lower half) and y (upper half).
  1317  // Only the needed bits to represent xy's index are used in indices' elements.
  1318  //
  1319  // Asm: VPERMI2PD, CPU Feature: AVX512
  1320  func (x Float64x2) ConcatPermute(y Float64x2, indices Uint64x2) Float64x2
  1321  
  1322  // ConcatPermute performs a full permutation of vector x, y using indices:
  1323  //
  1324  //	result = {xy[indices[0]], xy[indices[1]], ..., xy[indices[n]]}
  1325  //
  1326  // where xy is the concatenation of x (lower half) and y (upper half).
  1327  // Only the needed bits to represent xy's index are used in indices' elements.
  1328  //
  1329  // Asm: VPERMI2Q, CPU Feature: AVX512
  1330  func (x Int64x2) ConcatPermute(y Int64x2, indices Uint64x2) Int64x2
  1331  
  1332  // ConcatPermute performs a full permutation of vector x, y using indices:
  1333  //
  1334  //	result = {xy[indices[0]], xy[indices[1]], ..., xy[indices[n]]}
  1335  //
  1336  // where xy is the concatenation of x (lower half) and y (upper half).
  1337  // Only the needed bits to represent xy's index are used in indices' elements.
  1338  //
  1339  // Asm: VPERMI2Q, CPU Feature: AVX512
  1340  func (x Uint64x2) ConcatPermute(y Uint64x2, indices Uint64x2) Uint64x2
  1341  
  1342  // ConcatPermute performs a full permutation of vector x, y using indices:
  1343  //
  1344  //	result = {xy[indices[0]], xy[indices[1]], ..., xy[indices[n]]}
  1345  //
  1346  // where xy is the concatenation of x (lower half) and y (upper half).
  1347  // Only the needed bits to represent xy's index are used in indices' elements.
  1348  //
  1349  // Asm: VPERMI2PD, CPU Feature: AVX512
  1350  func (x Float64x4) ConcatPermute(y Float64x4, indices Uint64x4) Float64x4
  1351  
  1352  // ConcatPermute performs a full permutation of vector x, y using indices:
  1353  //
  1354  //	result = {xy[indices[0]], xy[indices[1]], ..., xy[indices[n]]}
  1355  //
  1356  // where xy is the concatenation of x (lower half) and y (upper half).
  1357  // Only the needed bits to represent xy's index are used in indices' elements.
  1358  //
  1359  // Asm: VPERMI2Q, CPU Feature: AVX512
  1360  func (x Int64x4) ConcatPermute(y Int64x4, indices Uint64x4) Int64x4
  1361  
  1362  // ConcatPermute performs a full permutation of vector x, y using indices:
  1363  //
  1364  //	result = {xy[indices[0]], xy[indices[1]], ..., xy[indices[n]]}
  1365  //
  1366  // where xy is the concatenation of x (lower half) and y (upper half).
  1367  // Only the needed bits to represent xy's index are used in indices' elements.
  1368  //
  1369  // Asm: VPERMI2Q, CPU Feature: AVX512
  1370  func (x Uint64x4) ConcatPermute(y Uint64x4, indices Uint64x4) Uint64x4
  1371  
  1372  // ConcatPermute performs a full permutation of vector x, y using indices:
  1373  //
  1374  //	result = {xy[indices[0]], xy[indices[1]], ..., xy[indices[n]]}
  1375  //
  1376  // where xy is the concatenation of x (lower half) and y (upper half).
  1377  // Only the needed bits to represent xy's index are used in indices' elements.
  1378  //
  1379  // Asm: VPERMI2PD, CPU Feature: AVX512
  1380  func (x Float64x8) ConcatPermute(y Float64x8, indices Uint64x8) Float64x8
  1381  
  1382  // ConcatPermute performs a full permutation of vector x, y using indices:
  1383  //
  1384  //	result = {xy[indices[0]], xy[indices[1]], ..., xy[indices[n]]}
  1385  //
  1386  // where xy is the concatenation of x (lower half) and y (upper half).
  1387  // Only the needed bits to represent xy's index are used in indices' elements.
  1388  //
  1389  // Asm: VPERMI2Q, CPU Feature: AVX512
  1390  func (x Int64x8) ConcatPermute(y Int64x8, indices Uint64x8) Int64x8
  1391  
  1392  // ConcatPermute performs a full permutation of vector x, y using indices:
  1393  //
  1394  //	result = {xy[indices[0]], xy[indices[1]], ..., xy[indices[n]]}
  1395  //
  1396  // where xy is the concatenation of x (lower half) and y (upper half).
  1397  // Only the needed bits to represent xy's index are used in indices' elements.
  1398  //
  1399  // Asm: VPERMI2Q, CPU Feature: AVX512
  1400  func (x Uint64x8) ConcatPermute(y Uint64x8, indices Uint64x8) Uint64x8
  1401  
  1402  /* ConcatPermute128Scalars */
  1403  
  1404  // ConcatPermute128Scalars treats the 256-bit vectors x and y as a single vector of four
  1405  // 128-bit elements, and returns a 256-bit result formed by
  1406  // concatenating the two elements specified by lo and hi.
  1407  // For example,
  1408  //
  1409  //	{40, 41, 42, 43, 50, 51, 52, 53}.ConcatPermute128Scalars(3, 0, {60, 61, 62, 63, 70, 71, 72, 73})
  1410  //
  1411  // returns {70, 71, 72, 73, 40, 41, 42, 43}.
  1412  //
  1413  // lo, hi should be between 0 and 3, inclusive; other values may result in a runtime panic.
  1414  //
  1415  // A non-constant value of lo, hi may result in significantly worse performance for this operation.
  1416  //
  1417  // Asm: VPERM2F128, CPU Feature: AVX
  1418  func (x Float32x8) ConcatPermute128Scalars(lo, hi uint8, y Float32x8) Float32x8
  1419  
  1420  // ConcatPermute128Scalars treats the 256-bit vectors x and y as a single vector of four
  1421  // 128-bit elements, and returns a 256-bit result formed by
  1422  // concatenating the two elements specified by lo and hi.
  1423  // For example,
  1424  //
  1425  //	{40, 41, 50, 51}.ConcatPermute128Scalars(3, 0, {60, 61, 70, 71})
  1426  //
  1427  // returns {70, 71, 40, 41}.
  1428  //
  1429  // lo, hi should be between 0 and 3, inclusive; other values may result in a runtime panic.
  1430  //
  1431  // A non-constant value of lo, hi may result in significantly worse performance for this operation.
  1432  //
  1433  // Asm: VPERM2F128, CPU Feature: AVX
  1434  func (x Float64x4) ConcatPermute128Scalars(lo, hi uint8, y Float64x4) Float64x4
  1435  
  1436  // ConcatPermute128Scalars treats the 256-bit vectors x and y as a single vector of four
  1437  // 128-bit elements, and returns a 256-bit result formed by
  1438  // concatenating the two elements specified by lo and hi.
  1439  // For example,
  1440  //
  1441  //	{0x40, 0x41, ..., 0x4f, 0x50, 0x51, ..., 0x5f}.ConcatPermute128Scalars(3, 0,
  1442  //	     {0x60, 0x61, ..., 0x6f, 0x70, 0x71, ..., 0x7f})
  1443  //
  1444  // returns {0x70, 0x71, ..., 0x7f, 0x40, 0x41, ..., 0x4f}.
  1445  //
  1446  // lo, hi should be between 0 and 3, inclusive; other values may result in a runtime panic.
  1447  //
  1448  // A non-constant value of lo, hi may result in significantly worse performance for this operation.
  1449  //
  1450  // Asm: VPERM2I128, CPU Feature: AVX2
  1451  func (x Int8x32) ConcatPermute128Scalars(lo, hi uint8, y Int8x32) Int8x32
  1452  
  1453  // ConcatPermute128Scalars treats the 256-bit vectors x and y as a single vector of four
  1454  // 128-bit elements, and returns a 256-bit result formed by
  1455  // concatenating the two elements specified by lo and hi.
  1456  // For example,
  1457  //
  1458  //	{40, 41, 42, 43, 44, 45, 46, 47, 50, 51, 52, 53, 54, 55, 56, 57}.ConcatPermute128Scalars(3, 0,
  1459  //	 {60, 61, 62, 63, 64, 65, 66, 67, 70, 71, 72, 73, 74, 75, 76, 77})
  1460  //
  1461  // returns {70, 71, 72, 73, 74, 75, 76, 77, 40, 41, 42, 43, 44, 45, 46, 47}.
  1462  //
  1463  // lo, hi should be between 0 and 3, inclusive; other values may result in a runtime panic.
  1464  //
  1465  // A non-constant value of lo, hi may result in significantly worse performance for this operation.
  1466  //
  1467  // Asm: VPERM2I128, CPU Feature: AVX2
  1468  func (x Int16x16) ConcatPermute128Scalars(lo, hi uint8, y Int16x16) Int16x16
  1469  
  1470  // ConcatPermute128Scalars treats the 256-bit vectors x and y as a single vector of four
  1471  // 128-bit elements, and returns a 256-bit result formed by
  1472  // concatenating the two elements specified by lo and hi.
  1473  // For example,
  1474  //
  1475  //	{40, 41, 42, 43, 50, 51, 52, 53}.ConcatPermute128Scalars(3, 0, {60, 61, 62, 63, 70, 71, 72, 73})
  1476  //
  1477  // returns {70, 71, 72, 73, 40, 41, 42, 43}.
  1478  //
  1479  // lo, hi should be between 0 and 3, inclusive; other values may result in a runtime panic.
  1480  //
  1481  // A non-constant value of lo, hi may result in significantly worse performance for this operation.
  1482  //
  1483  // Asm: VPERM2I128, CPU Feature: AVX2
  1484  func (x Int32x8) ConcatPermute128Scalars(lo, hi uint8, y Int32x8) Int32x8
  1485  
  1486  // ConcatPermute128Scalars treats the 256-bit vectors x and y as a single vector of four
  1487  // 128-bit elements, and returns a 256-bit result formed by
  1488  // concatenating the two elements specified by lo and hi.
  1489  // For example,
  1490  //
  1491  //	{40, 41, 50, 51}.ConcatPermute128Scalars(3, 0, {60, 61, 70, 71})
  1492  //
  1493  // returns {70, 71, 40, 41}.
  1494  //
  1495  // lo, hi should be between 0 and 3, inclusive; other values may result in a runtime panic.
  1496  //
  1497  // A non-constant value of lo, hi may result in significantly worse performance for this operation.
  1498  //
  1499  // Asm: VPERM2I128, CPU Feature: AVX2
  1500  func (x Int64x4) ConcatPermute128Scalars(lo, hi uint8, y Int64x4) Int64x4
  1501  
  1502  // ConcatPermute128Scalars treats the 256-bit vectors x and y as a single vector of four
  1503  // 128-bit elements, and returns a 256-bit result formed by
  1504  // concatenating the two elements specified by lo and hi.
  1505  // For example,
  1506  //
  1507  //	{0x40, 0x41, ..., 0x4f, 0x50, 0x51, ..., 0x5f}.ConcatPermute128Scalars(3, 0,
  1508  //	     {0x60, 0x61, ..., 0x6f, 0x70, 0x71, ..., 0x7f})
  1509  //
  1510  // returns {0x70, 0x71, ..., 0x7f, 0x40, 0x41, ..., 0x4f}.
  1511  //
  1512  // lo, hi should be between 0 and 3, inclusive; other values may result in a runtime panic.
  1513  //
  1514  // A non-constant value of lo, hi may result in significantly worse performance for this operation.
  1515  //
  1516  // Asm: VPERM2I128, CPU Feature: AVX2
  1517  func (x Uint8x32) ConcatPermute128Scalars(lo, hi uint8, y Uint8x32) Uint8x32
  1518  
  1519  // ConcatPermute128Scalars treats the 256-bit vectors x and y as a single vector of four
  1520  // 128-bit elements, and returns a 256-bit result formed by
  1521  // concatenating the two elements specified by lo and hi.
  1522  // For example,
  1523  //
  1524  //	{40, 41, 42, 43, 44, 45, 46, 47, 50, 51, 52, 53, 54, 55, 56, 57}.ConcatPermute128Scalars(3, 0,
  1525  //	 {60, 61, 62, 63, 64, 65, 66, 67, 70, 71, 72, 73, 74, 75, 76, 77})
  1526  //
  1527  // returns {70, 71, 72, 73, 74, 75, 76, 77, 40, 41, 42, 43, 44, 45, 46, 47}.
  1528  //
  1529  // lo, hi should be between 0 and 3, inclusive; other values may result in a runtime panic.
  1530  //
  1531  // A non-constant value of lo, hi may result in significantly worse performance for this operation.
  1532  //
  1533  // Asm: VPERM2I128, CPU Feature: AVX2
  1534  func (x Uint16x16) ConcatPermute128Scalars(lo, hi uint8, y Uint16x16) Uint16x16
  1535  
  1536  // ConcatPermute128Scalars treats the 256-bit vectors x and y as a single vector of four
  1537  // 128-bit elements, and returns a 256-bit result formed by
  1538  // concatenating the two elements specified by lo and hi.
  1539  // For example,
  1540  //
  1541  //	{40, 41, 42, 43, 50, 51, 52, 53}.ConcatPermute128Scalars(3, 0, {60, 61, 62, 63, 70, 71, 72, 73})
  1542  //
  1543  // returns {70, 71, 72, 73, 40, 41, 42, 43}.
  1544  //
  1545  // lo, hi should be between 0 and 3, inclusive; other values may result in a runtime panic.
  1546  //
  1547  // A non-constant value of lo, hi may result in significantly worse performance for this operation.
  1548  //
  1549  // Asm: VPERM2I128, CPU Feature: AVX2
  1550  func (x Uint32x8) ConcatPermute128Scalars(lo, hi uint8, y Uint32x8) Uint32x8
  1551  
  1552  // ConcatPermute128Scalars treats the 256-bit vectors x and y as a single vector of four
  1553  // 128-bit elements, and returns a 256-bit result formed by
  1554  // concatenating the two elements specified by lo and hi.
  1555  // For example,
  1556  //
  1557  //	{40, 41, 50, 51}.ConcatPermute128Scalars(3, 0, {60, 61, 70, 71})
  1558  //
  1559  // returns {70, 71, 40, 41}.
  1560  //
  1561  // lo, hi should be between 0 and 3, inclusive; other values may result in a runtime panic.
  1562  //
  1563  // A non-constant value of lo, hi may result in significantly worse performance for this operation.
  1564  //
  1565  // Asm: VPERM2I128, CPU Feature: AVX2
  1566  func (x Uint64x4) ConcatPermute128Scalars(lo, hi uint8, y Uint64x4) Uint64x4
  1567  
  1568  /* ConcatShiftBytesRight */
  1569  
  1570  // ConcatShiftBytesRight concatenates x and y and shifts it right by shift bytes.
  1571  // The result vector will be the lower half of the concatenated vector.
  1572  //
  1573  // A non-constant value of shift may result in significantly worse performance for this operation.
  1574  //
  1575  // Asm: VPALIGNR, CPU Feature: AVX
  1576  func (x Uint8x16) ConcatShiftBytesRight(y Uint8x16, shift uint64) Uint8x16
  1577  
  1578  /* ConcatShiftBytesRightGrouped */
  1579  
  1580  // ConcatShiftBytesRightGrouped concatenates x and y and shifts it right by shift bytes.
  1581  // The result vector will be the lower half of the concatenated vector.
  1582  // This operation is performed grouped by each 16 byte.
  1583  //
  1584  // A non-constant value of shift may result in significantly worse performance for this operation.
  1585  //
  1586  // Asm: VPALIGNR, CPU Feature: AVX2
  1587  func (x Uint8x32) ConcatShiftBytesRightGrouped(y Uint8x32, shift uint64) Uint8x32
  1588  
  1589  // ConcatShiftBytesRightGrouped concatenates x and y and shifts it right by shift bytes.
  1590  // The result vector will be the lower half of the concatenated vector.
  1591  // This operation is performed grouped by each 16 byte.
  1592  //
  1593  // A non-constant value of shift may result in significantly worse performance for this operation.
  1594  //
  1595  // Asm: VPALIGNR, CPU Feature: AVX512
  1596  func (x Uint8x64) ConcatShiftBytesRightGrouped(y Uint8x64, shift uint64) Uint8x64
  1597  
  1598  /* ConcatSubPairs */
  1599  
  1600  // ConcatSubPairs horizontally subtracts adjacent pairs of elements.
  1601  // For x = [x0, x1, x2, x3, ...] and y = [y0, y1, y2, y3, ...], the result is [x0-x1, x2-x3, ..., y0-y1, y2-y3, ...].
  1602  //
  1603  // Asm: VHSUBPS, CPU Feature: AVX
  1604  func (x Float32x4) ConcatSubPairs(y Float32x4) Float32x4
  1605  
  1606  // ConcatSubPairs horizontally subtracts adjacent pairs of elements.
  1607  // For x = [x0, x1] and y = [y0, y1], the result is [x0-x1, y0-y1].
  1608  //
  1609  // Asm: VHSUBPD, CPU Feature: AVX
  1610  func (x Float64x2) ConcatSubPairs(y Float64x2) Float64x2
  1611  
  1612  // ConcatSubPairs horizontally subtracts adjacent pairs of elements.
  1613  // For x = [x0, x1, x2, x3, ...] and y = [y0, y1, y2, y3, ...], the result is [x0-x1, x2-x3, ..., y0-y1, y2-y3, ...].
  1614  //
  1615  // Asm: VPHSUBW, CPU Feature: AVX
  1616  func (x Int16x8) ConcatSubPairs(y Int16x8) Int16x8
  1617  
  1618  // ConcatSubPairs horizontally subtracts adjacent pairs of elements.
  1619  // For x = [x0, x1, x2, x3, ...] and y = [y0, y1, y2, y3, ...], the result is [x0-x1, x2-x3, ..., y0-y1, y2-y3, ...].
  1620  //
  1621  // Asm: VPHSUBD, CPU Feature: AVX
  1622  func (x Int32x4) ConcatSubPairs(y Int32x4) Int32x4
  1623  
  1624  // ConcatSubPairs horizontally subtracts adjacent pairs of elements.
  1625  // For x = [x0, x1, x2, x3, ...] and y = [y0, y1, y2, y3, ...], the result is [x0-x1, x2-x3, ..., y0-y1, y2-y3, ...].
  1626  //
  1627  // Asm: VPHSUBW, CPU Feature: AVX
  1628  func (x Uint16x8) ConcatSubPairs(y Uint16x8) Uint16x8
  1629  
  1630  // ConcatSubPairs horizontally subtracts adjacent pairs of elements.
  1631  // For x = [x0, x1, x2, x3, ...] and y = [y0, y1, y2, y3, ...], the result is [x0-x1, x2-x3, ..., y0-y1, y2-y3, ...].
  1632  //
  1633  // Asm: VPHSUBD, CPU Feature: AVX
  1634  func (x Uint32x4) ConcatSubPairs(y Uint32x4) Uint32x4
  1635  
  1636  /* ConcatSubPairsGrouped */
  1637  
  1638  // ConcatSubPairsGrouped horizontally subtracts adjacent pairs of elements.
  1639  // With each 128-bit as a group:
  1640  // for x = [x0, x1, x2, x3, ...] and y = [y0, y1, y2, y3, ...], the result is [x0-x1, x2-x3, ..., y0-y1, y2-y3, ...].
  1641  //
  1642  // Asm: VHSUBPS, CPU Feature: AVX
  1643  func (x Float32x8) ConcatSubPairsGrouped(y Float32x8) Float32x8
  1644  
  1645  // ConcatSubPairsGrouped horizontally subtracts adjacent pairs of elements.
  1646  // With each 128-bit as a group:
  1647  // for x = [x0, x1] and y = [y0, y1], the result is [x0-x1, y0-y1].
  1648  //
  1649  // Asm: VHSUBPD, CPU Feature: AVX
  1650  func (x Float64x4) ConcatSubPairsGrouped(y Float64x4) Float64x4
  1651  
  1652  // ConcatSubPairsGrouped horizontally subtracts adjacent pairs of elements.
  1653  // With each 128-bit as a group:
  1654  // for x = [x0, x1, x2, x3, ...] and y = [y0, y1, y2, y3, ...], the result is [x0-x1, x2-x3, ..., y0-y1, y2-y3, ...].
  1655  //
  1656  // Asm: VPHSUBW, CPU Feature: AVX2
  1657  func (x Int16x16) ConcatSubPairsGrouped(y Int16x16) Int16x16
  1658  
  1659  // ConcatSubPairsGrouped horizontally subtracts adjacent pairs of elements.
  1660  // With each 128-bit as a group:
  1661  // for x = [x0, x1, x2, x3, ...] and y = [y0, y1, y2, y3, ...], the result is [x0-x1, x2-x3, ..., y0-y1, y2-y3, ...].
  1662  //
  1663  // Asm: VPHSUBD, CPU Feature: AVX2
  1664  func (x Int32x8) ConcatSubPairsGrouped(y Int32x8) Int32x8
  1665  
  1666  // ConcatSubPairsGrouped horizontally subtracts adjacent pairs of elements.
  1667  // With each 128-bit as a group:
  1668  // for x = [x0, x1, x2, x3, ...] and y = [y0, y1, y2, y3, ...], the result is [x0-x1, x2-x3, ..., y0-y1, y2-y3, ...].
  1669  //
  1670  // Asm: VPHSUBW, CPU Feature: AVX2
  1671  func (x Uint16x16) ConcatSubPairsGrouped(y Uint16x16) Uint16x16
  1672  
  1673  // ConcatSubPairsGrouped horizontally subtracts adjacent pairs of elements.
  1674  // With each 128-bit as a group:
  1675  // for x = [x0, x1, x2, x3, ...] and y = [y0, y1, y2, y3, ...], the result is [x0-x1, x2-x3, ..., y0-y1, y2-y3, ...].
  1676  //
  1677  // Asm: VPHSUBD, CPU Feature: AVX2
  1678  func (x Uint32x8) ConcatSubPairsGrouped(y Uint32x8) Uint32x8
  1679  
  1680  /* ConcatSubPairsSaturated */
  1681  
  1682  // ConcatSubPairsSaturated horizontally subtracts adjacent pairs of elements with saturation.
  1683  // For x = [x0, x1, x2, x3, ...] and y = [y0, y1, y2, y3, ...], the result is [x0-x1, x2-x3, ..., y0-y1, y2-y3, ...].
  1684  //
  1685  // Asm: VPHSUBSW, CPU Feature: AVX
  1686  func (x Int16x8) ConcatSubPairsSaturated(y Int16x8) Int16x8
  1687  
  1688  /* ConcatSubPairsSaturatedGrouped */
  1689  
  1690  // ConcatSubPairsSaturatedGrouped horizontally subtracts adjacent pairs of elements with saturation.
  1691  // With each 128-bit as a group:
  1692  // for x = [x0, x1, x2, x3, ...] and y = [y0, y1, y2, y3, ...], the result is [x0-x1, x2-x3, ..., y0-y1, y2-y3, ...].
  1693  //
  1694  // Asm: VPHSUBSW, CPU Feature: AVX2
  1695  func (x Int16x16) ConcatSubPairsSaturatedGrouped(y Int16x16) Int16x16
  1696  
  1697  /* ConvertToFloat32 */
  1698  
  1699  // ConvertToFloat32 converts element values to float32.
  1700  // The result vector's elements are rounded to the nearest value.
  1701  //
  1702  // Asm: VCVTPD2PSX, CPU Feature: AVX
  1703  func (x Float64x2) ConvertToFloat32() Float32x4
  1704  
  1705  // ConvertToFloat32 converts element values to float32.
  1706  // The result vector's elements are rounded to the nearest value.
  1707  //
  1708  // Asm: VCVTPD2PSY, CPU Feature: AVX
  1709  func (x Float64x4) ConvertToFloat32() Float32x4
  1710  
  1711  // ConvertToFloat32 converts element values to float32.
  1712  // The result vector's elements are rounded to the nearest value.
  1713  //
  1714  // Asm: VCVTPD2PS, CPU Feature: AVX512
  1715  func (x Float64x8) ConvertToFloat32() Float32x8
  1716  
  1717  // ConvertToFloat32 converts element values to float32.
  1718  //
  1719  // Asm: VCVTDQ2PS, CPU Feature: AVX
  1720  func (x Int32x4) ConvertToFloat32() Float32x4
  1721  
  1722  // ConvertToFloat32 converts element values to float32.
  1723  //
  1724  // Asm: VCVTDQ2PS, CPU Feature: AVX
  1725  func (x Int32x8) ConvertToFloat32() Float32x8
  1726  
  1727  // ConvertToFloat32 converts element values to float32.
  1728  //
  1729  // Asm: VCVTDQ2PS, CPU Feature: AVX512
  1730  func (x Int32x16) ConvertToFloat32() Float32x16
  1731  
  1732  // ConvertToFloat32 converts element values to float32.
  1733  //
  1734  // Asm: VCVTQQ2PSX, CPU Feature: AVX512
  1735  func (x Int64x2) ConvertToFloat32() Float32x4
  1736  
  1737  // ConvertToFloat32 converts element values to float32.
  1738  //
  1739  // Asm: VCVTQQ2PSY, CPU Feature: AVX512
  1740  func (x Int64x4) ConvertToFloat32() Float32x4
  1741  
  1742  // ConvertToFloat32 converts element values to float32.
  1743  //
  1744  // Asm: VCVTQQ2PS, CPU Feature: AVX512
  1745  func (x Int64x8) ConvertToFloat32() Float32x8
  1746  
  1747  // ConvertToFloat32 converts element values to float32.
  1748  //
  1749  // Asm: VCVTUDQ2PS, CPU Feature: AVX512
  1750  func (x Uint32x4) ConvertToFloat32() Float32x4
  1751  
  1752  // ConvertToFloat32 converts element values to float32.
  1753  //
  1754  // Asm: VCVTUDQ2PS, CPU Feature: AVX512
  1755  func (x Uint32x8) ConvertToFloat32() Float32x8
  1756  
  1757  // ConvertToFloat32 converts element values to float32.
  1758  //
  1759  // Asm: VCVTUDQ2PS, CPU Feature: AVX512
  1760  func (x Uint32x16) ConvertToFloat32() Float32x16
  1761  
  1762  // ConvertToFloat32 converts element values to float32.
  1763  //
  1764  // Asm: VCVTUQQ2PSX, CPU Feature: AVX512
  1765  func (x Uint64x2) ConvertToFloat32() Float32x4
  1766  
  1767  // ConvertToFloat32 converts element values to float32.
  1768  //
  1769  // Asm: VCVTUQQ2PSY, CPU Feature: AVX512
  1770  func (x Uint64x4) ConvertToFloat32() Float32x4
  1771  
  1772  // ConvertToFloat32 converts element values to float32.
  1773  //
  1774  // Asm: VCVTUQQ2PS, CPU Feature: AVX512
  1775  func (x Uint64x8) ConvertToFloat32() Float32x8
  1776  
  1777  /* ConvertToFloat64 */
  1778  
  1779  // ConvertToFloat64 converts element values to float64.
  1780  //
  1781  // Asm: VCVTPS2PD, CPU Feature: AVX
  1782  func (x Float32x4) ConvertToFloat64() Float64x4
  1783  
  1784  // ConvertToFloat64 converts element values to float64.
  1785  //
  1786  // Asm: VCVTPS2PD, CPU Feature: AVX512
  1787  func (x Float32x8) ConvertToFloat64() Float64x8
  1788  
  1789  // ConvertToFloat64 converts element values to float64.
  1790  //
  1791  // Asm: VCVTDQ2PD, CPU Feature: AVX
  1792  func (x Int32x4) ConvertToFloat64() Float64x4
  1793  
  1794  // ConvertToFloat64 converts element values to float64.
  1795  //
  1796  // Asm: VCVTDQ2PD, CPU Feature: AVX512
  1797  func (x Int32x8) ConvertToFloat64() Float64x8
  1798  
  1799  // ConvertToFloat64 converts element values to float64.
  1800  //
  1801  // Asm: VCVTQQ2PD, CPU Feature: AVX512
  1802  func (x Int64x2) ConvertToFloat64() Float64x2
  1803  
  1804  // ConvertToFloat64 converts element values to float64.
  1805  //
  1806  // Asm: VCVTQQ2PD, CPU Feature: AVX512
  1807  func (x Int64x4) ConvertToFloat64() Float64x4
  1808  
  1809  // ConvertToFloat64 converts element values to float64.
  1810  //
  1811  // Asm: VCVTQQ2PD, CPU Feature: AVX512
  1812  func (x Int64x8) ConvertToFloat64() Float64x8
  1813  
  1814  // ConvertToFloat64 converts element values to float64.
  1815  //
  1816  // Asm: VCVTUDQ2PD, CPU Feature: AVX512
  1817  func (x Uint32x4) ConvertToFloat64() Float64x4
  1818  
  1819  // ConvertToFloat64 converts element values to float64.
  1820  //
  1821  // Asm: VCVTUDQ2PD, CPU Feature: AVX512
  1822  func (x Uint32x8) ConvertToFloat64() Float64x8
  1823  
  1824  // ConvertToFloat64 converts element values to float64.
  1825  //
  1826  // Asm: VCVTUQQ2PD, CPU Feature: AVX512
  1827  func (x Uint64x2) ConvertToFloat64() Float64x2
  1828  
  1829  // ConvertToFloat64 converts element values to float64.
  1830  //
  1831  // Asm: VCVTUQQ2PD, CPU Feature: AVX512
  1832  func (x Uint64x4) ConvertToFloat64() Float64x4
  1833  
  1834  // ConvertToFloat64 converts element values to float64.
  1835  //
  1836  // Asm: VCVTUQQ2PD, CPU Feature: AVX512
  1837  func (x Uint64x8) ConvertToFloat64() Float64x8
  1838  
  1839  /* ConvertToInt32 */
  1840  
  1841  // ConvertToInt32 converts element values to int32.
  1842  // When a conversion is inexact, a truncated (round toward zero) value is returned.
  1843  // If a converted result cannot be represented in int32, an implementation-defined
  1844  // architecture-specific value is returned.
  1845  //
  1846  // Asm: VCVTTPS2DQ, CPU Feature: AVX
  1847  func (x Float32x4) ConvertToInt32() Int32x4
  1848  
  1849  // ConvertToInt32 converts element values to int32.
  1850  // When a conversion is inexact, a truncated (round toward zero) value is returned.
  1851  // If a converted result cannot be represented in int32, an implementation-defined
  1852  // architecture-specific value is returned.
  1853  //
  1854  // Asm: VCVTTPS2DQ, CPU Feature: AVX
  1855  func (x Float32x8) ConvertToInt32() Int32x8
  1856  
  1857  // ConvertToInt32 converts element values to int32.
  1858  // When a conversion is inexact, a truncated (round toward zero) value is returned.
  1859  // If a converted result cannot be represented in int32, an implementation-defined
  1860  // architecture-specific value is returned.
  1861  //
  1862  // Asm: VCVTTPS2DQ, CPU Feature: AVX512
  1863  func (x Float32x16) ConvertToInt32() Int32x16
  1864  
  1865  // ConvertToInt32 converts element values to int32.
  1866  // When a conversion is inexact, a truncated (round toward zero) value is returned.
  1867  // If a converted result cannot be represented in int32, an implementation-defined
  1868  // architecture-specific value is returned.
  1869  //
  1870  // Asm: VCVTTPD2DQX, CPU Feature: AVX
  1871  func (x Float64x2) ConvertToInt32() Int32x4
  1872  
  1873  // ConvertToInt32 converts element values to int32.
  1874  // When a conversion is inexact, a truncated (round toward zero) value is returned.
  1875  // If a converted result cannot be represented in int32, an implementation-defined
  1876  // architecture-specific value is returned.
  1877  //
  1878  // Asm: VCVTTPD2DQY, CPU Feature: AVX
  1879  func (x Float64x4) ConvertToInt32() Int32x4
  1880  
  1881  // ConvertToInt32 converts element values to int32.
  1882  // When a conversion is inexact, a truncated (round toward zero) value is returned.
  1883  // If a converted result cannot be represented in int32, an implementation-defined
  1884  // architecture-specific value is returned.
  1885  //
  1886  // Asm: VCVTTPD2DQ, CPU Feature: AVX512
  1887  func (x Float64x8) ConvertToInt32() Int32x8
  1888  
  1889  /* ConvertToInt64 */
  1890  
  1891  // ConvertToInt64 converts element values to int64.
  1892  // When a conversion is inexact, a truncated (round toward zero) value is returned.
  1893  // If a converted result cannot be represented in int64, an implementation-defined
  1894  // architecture-specific value is returned.
  1895  //
  1896  // Asm: VCVTTPS2QQ, CPU Feature: AVX512
  1897  func (x Float32x4) ConvertToInt64() Int64x4
  1898  
  1899  // ConvertToInt64 converts element values to int64.
  1900  // When a conversion is inexact, a truncated (round toward zero) value is returned.
  1901  // If a converted result cannot be represented in int64, an implementation-defined
  1902  // architecture-specific value is returned.
  1903  //
  1904  // Asm: VCVTTPS2QQ, CPU Feature: AVX512
  1905  func (x Float32x8) ConvertToInt64() Int64x8
  1906  
  1907  // ConvertToInt64 converts element values to int64.
  1908  // When a conversion is inexact, a truncated (round toward zero) value is returned.
  1909  // If a converted result cannot be represented in int64, an implementation-defined
  1910  // architecture-specific value is returned.
  1911  //
  1912  // Asm: VCVTTPD2QQ, CPU Feature: AVX512
  1913  func (x Float64x2) ConvertToInt64() Int64x2
  1914  
  1915  // ConvertToInt64 converts element values to int64.
  1916  // When a conversion is inexact, a truncated (round toward zero) value is returned.
  1917  // If a converted result cannot be represented in int64, an implementation-defined
  1918  // architecture-specific value is returned.
  1919  //
  1920  // Asm: VCVTTPD2QQ, CPU Feature: AVX512
  1921  func (x Float64x4) ConvertToInt64() Int64x4
  1922  
  1923  // ConvertToInt64 converts element values to int64.
  1924  // When a conversion is inexact, a truncated (round toward zero) value is returned.
  1925  // If a converted result cannot be represented in int64, an implementation-defined
  1926  // architecture-specific value is returned.
  1927  //
  1928  // Asm: VCVTTPD2QQ, CPU Feature: AVX512
  1929  func (x Float64x8) ConvertToInt64() Int64x8
  1930  
  1931  /* ConvertToUint32 */
  1932  
  1933  // ConvertToUint32 converts element values to uint32.
  1934  // When a conversion is inexact, a truncated (round toward zero) value is returned.
  1935  // If a converted result cannot be represented in uint32, an implementation-defined
  1936  // architecture-specific value is returned.
  1937  //
  1938  // Asm: VCVTTPS2UDQ, CPU Feature: AVX512
  1939  func (x Float32x4) ConvertToUint32() Uint32x4
  1940  
  1941  // ConvertToUint32 converts element values to uint32.
  1942  // When a conversion is inexact, a truncated (round toward zero) value is returned.
  1943  // If a converted result cannot be represented in uint32, an implementation-defined
  1944  // architecture-specific value is returned.
  1945  //
  1946  // Asm: VCVTTPS2UDQ, CPU Feature: AVX512
  1947  func (x Float32x8) ConvertToUint32() Uint32x8
  1948  
  1949  // ConvertToUint32 converts element values to uint32.
  1950  // When a conversion is inexact, a truncated (round toward zero) value is returned.
  1951  // If a converted result cannot be represented in uint32, an implementation-defined
  1952  // architecture-specific value is returned.
  1953  //
  1954  // Asm: VCVTTPS2UDQ, CPU Feature: AVX512
  1955  func (x Float32x16) ConvertToUint32() Uint32x16
  1956  
  1957  // ConvertToUint32 converts element values to uint32.
  1958  // When a conversion is inexact, a truncated (round toward zero) value is returned.
  1959  // If a converted result cannot be represented in uint32, an implementation-defined
  1960  // architecture-specific value is returned.
  1961  //
  1962  // Asm: VCVTTPD2UDQX, CPU Feature: AVX512
  1963  func (x Float64x2) ConvertToUint32() Uint32x4
  1964  
  1965  // ConvertToUint32 converts element values to uint32.
  1966  // When a conversion is inexact, a truncated (round toward zero) value is returned.
  1967  // If a converted result cannot be represented in uint32, an implementation-defined
  1968  // architecture-specific value is returned.
  1969  //
  1970  // Asm: VCVTTPD2UDQY, CPU Feature: AVX512
  1971  func (x Float64x4) ConvertToUint32() Uint32x4
  1972  
  1973  // ConvertToUint32 converts element values to uint32.
  1974  // When a conversion is inexact, a truncated (round toward zero) value is returned.
  1975  // If a converted result cannot be represented in uint32, an implementation-defined
  1976  // architecture-specific value is returned.
  1977  //
  1978  // Asm: VCVTTPD2UDQ, CPU Feature: AVX512
  1979  func (x Float64x8) ConvertToUint32() Uint32x8
  1980  
  1981  /* ConvertToUint64 */
  1982  
  1983  // ConvertToUint64 converts element values to uint64.
  1984  // When a conversion is inexact, a truncated (round toward zero) value is returned.
  1985  // If a converted result cannot be represented in uint64, an implementation-defined
  1986  // architecture-specific value is returned.
  1987  //
  1988  // Asm: VCVTTPS2UQQ, CPU Feature: AVX512
  1989  func (x Float32x4) ConvertToUint64() Uint64x4
  1990  
  1991  // ConvertToUint64 converts element values to uint64.
  1992  // When a conversion is inexact, a truncated (round toward zero) value is returned.
  1993  // If a converted result cannot be represented in uint64, an implementation-defined
  1994  // architecture-specific value is returned.
  1995  //
  1996  // Asm: VCVTTPS2UQQ, CPU Feature: AVX512
  1997  func (x Float32x8) ConvertToUint64() Uint64x8
  1998  
  1999  // ConvertToUint64 converts element values to uint64.
  2000  // When a conversion is inexact, a truncated (round toward zero) value is returned.
  2001  // If a converted result cannot be represented in uint64, an implementation-defined
  2002  // architecture-specific value is returned.
  2003  //
  2004  // Asm: VCVTTPD2UQQ, CPU Feature: AVX512
  2005  func (x Float64x2) ConvertToUint64() Uint64x2
  2006  
  2007  // ConvertToUint64 converts element values to uint64.
  2008  // When a conversion is inexact, a truncated (round toward zero) value is returned.
  2009  // If a converted result cannot be represented in uint64, an implementation-defined
  2010  // architecture-specific value is returned.
  2011  //
  2012  // Asm: VCVTTPD2UQQ, CPU Feature: AVX512
  2013  func (x Float64x4) ConvertToUint64() Uint64x4
  2014  
  2015  // ConvertToUint64 converts element values to uint64.
  2016  // When a conversion is inexact, a truncated (round toward zero) value is returned.
  2017  // If a converted result cannot be represented in uint64, an implementation-defined
  2018  // architecture-specific value is returned.
  2019  //
  2020  // Asm: VCVTTPD2UQQ, CPU Feature: AVX512
  2021  func (x Float64x8) ConvertToUint64() Uint64x8
  2022  
  2023  /* Div */
  2024  
  2025  // Div divides elements of two vectors. Division by zero follows IEEE 754 and does not panic.
  2026  //
  2027  // Asm: VDIVPS, CPU Feature: AVX
  2028  func (x Float32x4) Div(y Float32x4) Float32x4
  2029  
  2030  // Div divides elements of two vectors. Division by zero follows IEEE 754 and does not panic.
  2031  //
  2032  // Asm: VDIVPS, CPU Feature: AVX
  2033  func (x Float32x8) Div(y Float32x8) Float32x8
  2034  
  2035  // Div divides elements of two vectors. Division by zero follows IEEE 754 and does not panic.
  2036  //
  2037  // Asm: VDIVPS, CPU Feature: AVX512
  2038  func (x Float32x16) Div(y Float32x16) Float32x16
  2039  
  2040  // Div divides elements of two vectors. Division by zero follows IEEE 754 and does not panic.
  2041  //
  2042  // Asm: VDIVPD, CPU Feature: AVX
  2043  func (x Float64x2) Div(y Float64x2) Float64x2
  2044  
  2045  // Div divides elements of two vectors. Division by zero follows IEEE 754 and does not panic.
  2046  //
  2047  // Asm: VDIVPD, CPU Feature: AVX
  2048  func (x Float64x4) Div(y Float64x4) Float64x4
  2049  
  2050  // Div divides elements of two vectors. Division by zero follows IEEE 754 and does not panic.
  2051  //
  2052  // Asm: VDIVPD, CPU Feature: AVX512
  2053  func (x Float64x8) Div(y Float64x8) Float64x8
  2054  
  2055  /* DotProductPairs */
  2056  
  2057  // DotProductPairs multiplies the elements and add the pairs together,
  2058  // yielding a vector of half as many elements with twice the input element size.
  2059  //
  2060  // Asm: VPMADDWD, CPU Feature: AVX
  2061  func (x Int16x8) DotProductPairs(y Int16x8) Int32x4
  2062  
  2063  // DotProductPairs multiplies the elements and add the pairs together,
  2064  // yielding a vector of half as many elements with twice the input element size.
  2065  //
  2066  // Asm: VPMADDWD, CPU Feature: AVX2
  2067  func (x Int16x16) DotProductPairs(y Int16x16) Int32x8
  2068  
  2069  // DotProductPairs multiplies the elements and add the pairs together,
  2070  // yielding a vector of half as many elements with twice the input element size.
  2071  //
  2072  // Asm: VPMADDWD, CPU Feature: AVX512
  2073  func (x Int16x32) DotProductPairs(y Int16x32) Int32x16
  2074  
  2075  /* DotProductPairsSaturated */
  2076  
  2077  // DotProductPairsSaturated multiplies the elements and add the pairs together with saturation,
  2078  // yielding a vector of half as many elements with twice the input element size.
  2079  //
  2080  // Asm: VPMADDUBSW, CPU Feature: AVX
  2081  func (x Uint8x16) DotProductPairsSaturated(y Int8x16) Int16x8
  2082  
  2083  // DotProductPairsSaturated multiplies the elements and add the pairs together with saturation,
  2084  // yielding a vector of half as many elements with twice the input element size.
  2085  //
  2086  // Asm: VPMADDUBSW, CPU Feature: AVX2
  2087  func (x Uint8x32) DotProductPairsSaturated(y Int8x32) Int16x16
  2088  
  2089  // DotProductPairsSaturated multiplies the elements and add the pairs together with saturation,
  2090  // yielding a vector of half as many elements with twice the input element size.
  2091  //
  2092  // Asm: VPMADDUBSW, CPU Feature: AVX512
  2093  func (x Uint8x64) DotProductPairsSaturated(y Int8x64) Int16x32
  2094  
  2095  /* Equal */
  2096  
  2097  // Equal returns a mask whose elements indicate whether x == y.
  2098  //
  2099  // Asm: VPCMPEQB, CPU Feature: AVX
  2100  func (x Int8x16) Equal(y Int8x16) Mask8x16
  2101  
  2102  // Equal returns a mask whose elements indicate whether x == y.
  2103  //
  2104  // Asm: VPCMPEQB, CPU Feature: AVX2
  2105  func (x Int8x32) Equal(y Int8x32) Mask8x32
  2106  
  2107  // Equal returns a mask whose elements indicate whether x == y.
  2108  //
  2109  // Asm: VPCMPEQB, CPU Feature: AVX512
  2110  func (x Int8x64) Equal(y Int8x64) Mask8x64
  2111  
  2112  // Equal returns a mask whose elements indicate whether x == y.
  2113  //
  2114  // Asm: VPCMPEQW, CPU Feature: AVX
  2115  func (x Int16x8) Equal(y Int16x8) Mask16x8
  2116  
  2117  // Equal returns a mask whose elements indicate whether x == y.
  2118  //
  2119  // Asm: VPCMPEQW, CPU Feature: AVX2
  2120  func (x Int16x16) Equal(y Int16x16) Mask16x16
  2121  
  2122  // Equal returns a mask whose elements indicate whether x == y.
  2123  //
  2124  // Asm: VPCMPEQW, CPU Feature: AVX512
  2125  func (x Int16x32) Equal(y Int16x32) Mask16x32
  2126  
  2127  // Equal returns a mask whose elements indicate whether x == y.
  2128  //
  2129  // Asm: VPCMPEQD, CPU Feature: AVX
  2130  func (x Int32x4) Equal(y Int32x4) Mask32x4
  2131  
  2132  // Equal returns a mask whose elements indicate whether x == y.
  2133  //
  2134  // Asm: VPCMPEQD, CPU Feature: AVX2
  2135  func (x Int32x8) Equal(y Int32x8) Mask32x8
  2136  
  2137  // Equal returns a mask whose elements indicate whether x == y.
  2138  //
  2139  // Asm: VPCMPEQD, CPU Feature: AVX512
  2140  func (x Int32x16) Equal(y Int32x16) Mask32x16
  2141  
  2142  // Equal returns a mask whose elements indicate whether x == y.
  2143  //
  2144  // Asm: VPCMPEQQ, CPU Feature: AVX
  2145  func (x Int64x2) Equal(y Int64x2) Mask64x2
  2146  
  2147  // Equal returns a mask whose elements indicate whether x == y.
  2148  //
  2149  // Asm: VPCMPEQQ, CPU Feature: AVX2
  2150  func (x Int64x4) Equal(y Int64x4) Mask64x4
  2151  
  2152  // Equal returns a mask whose elements indicate whether x == y.
  2153  //
  2154  // Asm: VPCMPEQQ, CPU Feature: AVX512
  2155  func (x Int64x8) Equal(y Int64x8) Mask64x8
  2156  
  2157  // Equal returns a mask whose elements indicate whether x == y.
  2158  //
  2159  // Asm: VPCMPEQB, CPU Feature: AVX
  2160  func (x Uint8x16) Equal(y Uint8x16) Mask8x16
  2161  
  2162  // Equal returns a mask whose elements indicate whether x == y.
  2163  //
  2164  // Asm: VPCMPEQB, CPU Feature: AVX2
  2165  func (x Uint8x32) Equal(y Uint8x32) Mask8x32
  2166  
  2167  // Equal returns a mask whose elements indicate whether x == y.
  2168  //
  2169  // Asm: VPCMPEQB, CPU Feature: AVX512
  2170  func (x Uint8x64) Equal(y Uint8x64) Mask8x64
  2171  
  2172  // Equal returns a mask whose elements indicate whether x == y.
  2173  //
  2174  // Asm: VPCMPEQW, CPU Feature: AVX
  2175  func (x Uint16x8) Equal(y Uint16x8) Mask16x8
  2176  
  2177  // Equal returns a mask whose elements indicate whether x == y.
  2178  //
  2179  // Asm: VPCMPEQW, CPU Feature: AVX2
  2180  func (x Uint16x16) Equal(y Uint16x16) Mask16x16
  2181  
  2182  // Equal returns a mask whose elements indicate whether x == y.
  2183  //
  2184  // Asm: VPCMPEQW, CPU Feature: AVX512
  2185  func (x Uint16x32) Equal(y Uint16x32) Mask16x32
  2186  
  2187  // Equal returns a mask whose elements indicate whether x == y.
  2188  //
  2189  // Asm: VPCMPEQD, CPU Feature: AVX
  2190  func (x Uint32x4) Equal(y Uint32x4) Mask32x4
  2191  
  2192  // Equal returns a mask whose elements indicate whether x == y.
  2193  //
  2194  // Asm: VPCMPEQD, CPU Feature: AVX2
  2195  func (x Uint32x8) Equal(y Uint32x8) Mask32x8
  2196  
  2197  // Equal returns a mask whose elements indicate whether x == y.
  2198  //
  2199  // Asm: VPCMPEQD, CPU Feature: AVX512
  2200  func (x Uint32x16) Equal(y Uint32x16) Mask32x16
  2201  
  2202  // Equal returns a mask whose elements indicate whether x == y.
  2203  //
  2204  // Asm: VPCMPEQQ, CPU Feature: AVX
  2205  func (x Uint64x2) Equal(y Uint64x2) Mask64x2
  2206  
  2207  // Equal returns a mask whose elements indicate whether x == y.
  2208  //
  2209  // Asm: VPCMPEQQ, CPU Feature: AVX2
  2210  func (x Uint64x4) Equal(y Uint64x4) Mask64x4
  2211  
  2212  // Equal returns a mask whose elements indicate whether x == y.
  2213  //
  2214  // Asm: VPCMPEQQ, CPU Feature: AVX512
  2215  func (x Uint64x8) Equal(y Uint64x8) Mask64x8
  2216  
  2217  // Equal returns a mask whose elements indicate whether x == y.
  2218  //
  2219  // Asm: VCMPPS, CPU Feature: AVX
  2220  func (x Float32x4) Equal(y Float32x4) Mask32x4
  2221  
  2222  // Equal returns a mask whose elements indicate whether x == y.
  2223  //
  2224  // Asm: VCMPPS, CPU Feature: AVX
  2225  func (x Float32x8) Equal(y Float32x8) Mask32x8
  2226  
  2227  // Equal returns a mask whose elements indicate whether x == y.
  2228  //
  2229  // Asm: VCMPPS, CPU Feature: AVX512
  2230  func (x Float32x16) Equal(y Float32x16) Mask32x16
  2231  
  2232  // Equal returns a mask whose elements indicate whether x == y.
  2233  //
  2234  // Asm: VCMPPD, CPU Feature: AVX
  2235  func (x Float64x2) Equal(y Float64x2) Mask64x2
  2236  
  2237  // Equal returns a mask whose elements indicate whether x == y.
  2238  //
  2239  // Asm: VCMPPD, CPU Feature: AVX
  2240  func (x Float64x4) Equal(y Float64x4) Mask64x4
  2241  
  2242  // Equal returns a mask whose elements indicate whether x == y.
  2243  //
  2244  // Asm: VCMPPD, CPU Feature: AVX512
  2245  func (x Float64x8) Equal(y Float64x8) Mask64x8
  2246  
  2247  /* Expand */
  2248  
  2249  // Expand expands the lower elements of x into the masked elements of z.
  2250  //
  2251  // Asm: VEXPANDPS, CPU Feature: AVX512
  2252  func (x Float32x4) Expand(mask Mask32x4) Float32x4
  2253  
  2254  // Expand expands the lower elements of x into the masked elements of z.
  2255  //
  2256  // Asm: VEXPANDPS, CPU Feature: AVX512
  2257  func (x Float32x8) Expand(mask Mask32x8) Float32x8
  2258  
  2259  // Expand expands the lower elements of x into the masked elements of z.
  2260  //
  2261  // Asm: VEXPANDPS, CPU Feature: AVX512
  2262  func (x Float32x16) Expand(mask Mask32x16) Float32x16
  2263  
  2264  // Expand expands the lower elements of x into the masked elements of z.
  2265  //
  2266  // Asm: VEXPANDPD, CPU Feature: AVX512
  2267  func (x Float64x2) Expand(mask Mask64x2) Float64x2
  2268  
  2269  // Expand expands the lower elements of x into the masked elements of z.
  2270  //
  2271  // Asm: VEXPANDPD, CPU Feature: AVX512
  2272  func (x Float64x4) Expand(mask Mask64x4) Float64x4
  2273  
  2274  // Expand expands the lower elements of x into the masked elements of z.
  2275  //
  2276  // Asm: VEXPANDPD, CPU Feature: AVX512
  2277  func (x Float64x8) Expand(mask Mask64x8) Float64x8
  2278  
  2279  // Expand expands the lower elements of x into the masked elements of z.
  2280  //
  2281  // Asm: VPEXPANDB, CPU Feature: AVX512VBMI2
  2282  func (x Int8x16) Expand(mask Mask8x16) Int8x16
  2283  
  2284  // Expand expands the lower elements of x into the masked elements of z.
  2285  //
  2286  // Asm: VPEXPANDB, CPU Feature: AVX512VBMI2
  2287  func (x Int8x32) Expand(mask Mask8x32) Int8x32
  2288  
  2289  // Expand expands the lower elements of x into the masked elements of z.
  2290  //
  2291  // Asm: VPEXPANDB, CPU Feature: AVX512VBMI2
  2292  func (x Int8x64) Expand(mask Mask8x64) Int8x64
  2293  
  2294  // Expand expands the lower elements of x into the masked elements of z.
  2295  //
  2296  // Asm: VPEXPANDW, CPU Feature: AVX512VBMI2
  2297  func (x Int16x8) Expand(mask Mask16x8) Int16x8
  2298  
  2299  // Expand expands the lower elements of x into the masked elements of z.
  2300  //
  2301  // Asm: VPEXPANDW, CPU Feature: AVX512VBMI2
  2302  func (x Int16x16) Expand(mask Mask16x16) Int16x16
  2303  
  2304  // Expand expands the lower elements of x into the masked elements of z.
  2305  //
  2306  // Asm: VPEXPANDW, CPU Feature: AVX512VBMI2
  2307  func (x Int16x32) Expand(mask Mask16x32) Int16x32
  2308  
  2309  // Expand expands the lower elements of x into the masked elements of z.
  2310  //
  2311  // Asm: VPEXPANDD, CPU Feature: AVX512
  2312  func (x Int32x4) Expand(mask Mask32x4) Int32x4
  2313  
  2314  // Expand expands the lower elements of x into the masked elements of z.
  2315  //
  2316  // Asm: VPEXPANDD, CPU Feature: AVX512
  2317  func (x Int32x8) Expand(mask Mask32x8) Int32x8
  2318  
  2319  // Expand expands the lower elements of x into the masked elements of z.
  2320  //
  2321  // Asm: VPEXPANDD, CPU Feature: AVX512
  2322  func (x Int32x16) Expand(mask Mask32x16) Int32x16
  2323  
  2324  // Expand expands the lower elements of x into the masked elements of z.
  2325  //
  2326  // Asm: VPEXPANDQ, CPU Feature: AVX512
  2327  func (x Int64x2) Expand(mask Mask64x2) Int64x2
  2328  
  2329  // Expand expands the lower elements of x into the masked elements of z.
  2330  //
  2331  // Asm: VPEXPANDQ, CPU Feature: AVX512
  2332  func (x Int64x4) Expand(mask Mask64x4) Int64x4
  2333  
  2334  // Expand expands the lower elements of x into the masked elements of z.
  2335  //
  2336  // Asm: VPEXPANDQ, CPU Feature: AVX512
  2337  func (x Int64x8) Expand(mask Mask64x8) Int64x8
  2338  
  2339  // Expand expands the lower elements of x into the masked elements of z.
  2340  //
  2341  // Asm: VPEXPANDB, CPU Feature: AVX512VBMI2
  2342  func (x Uint8x16) Expand(mask Mask8x16) Uint8x16
  2343  
  2344  // Expand expands the lower elements of x into the masked elements of z.
  2345  //
  2346  // Asm: VPEXPANDB, CPU Feature: AVX512VBMI2
  2347  func (x Uint8x32) Expand(mask Mask8x32) Uint8x32
  2348  
  2349  // Expand expands the lower elements of x into the masked elements of z.
  2350  //
  2351  // Asm: VPEXPANDB, CPU Feature: AVX512VBMI2
  2352  func (x Uint8x64) Expand(mask Mask8x64) Uint8x64
  2353  
  2354  // Expand expands the lower elements of x into the masked elements of z.
  2355  //
  2356  // Asm: VPEXPANDW, CPU Feature: AVX512VBMI2
  2357  func (x Uint16x8) Expand(mask Mask16x8) Uint16x8
  2358  
  2359  // Expand expands the lower elements of x into the masked elements of z.
  2360  //
  2361  // Asm: VPEXPANDW, CPU Feature: AVX512VBMI2
  2362  func (x Uint16x16) Expand(mask Mask16x16) Uint16x16
  2363  
  2364  // Expand expands the lower elements of x into the masked elements of z.
  2365  //
  2366  // Asm: VPEXPANDW, CPU Feature: AVX512VBMI2
  2367  func (x Uint16x32) Expand(mask Mask16x32) Uint16x32
  2368  
  2369  // Expand expands the lower elements of x into the masked elements of z.
  2370  //
  2371  // Asm: VPEXPANDD, CPU Feature: AVX512
  2372  func (x Uint32x4) Expand(mask Mask32x4) Uint32x4
  2373  
  2374  // Expand expands the lower elements of x into the masked elements of z.
  2375  //
  2376  // Asm: VPEXPANDD, CPU Feature: AVX512
  2377  func (x Uint32x8) Expand(mask Mask32x8) Uint32x8
  2378  
  2379  // Expand expands the lower elements of x into the masked elements of z.
  2380  //
  2381  // Asm: VPEXPANDD, CPU Feature: AVX512
  2382  func (x Uint32x16) Expand(mask Mask32x16) Uint32x16
  2383  
  2384  // Expand expands the lower elements of x into the masked elements of z.
  2385  //
  2386  // Asm: VPEXPANDQ, CPU Feature: AVX512
  2387  func (x Uint64x2) Expand(mask Mask64x2) Uint64x2
  2388  
  2389  // Expand expands the lower elements of x into the masked elements of z.
  2390  //
  2391  // Asm: VPEXPANDQ, CPU Feature: AVX512
  2392  func (x Uint64x4) Expand(mask Mask64x4) Uint64x4
  2393  
  2394  // Expand expands the lower elements of x into the masked elements of z.
  2395  //
  2396  // Asm: VPEXPANDQ, CPU Feature: AVX512
  2397  func (x Uint64x8) Expand(mask Mask64x8) Uint64x8
  2398  
  2399  /* ExtendLo2ToInt64 */
  2400  
  2401  // ExtendLo2ToInt64 sign-extends 2 lowest vector element values to int64.
  2402  //
  2403  // Asm: VPMOVSXBQ, CPU Feature: AVX
  2404  func (x Int8x16) ExtendLo2ToInt64() Int64x2
  2405  
  2406  // ExtendLo2ToInt64 sign-extends 2 lowest vector element values to int64.
  2407  //
  2408  // Asm: VPMOVSXWQ, CPU Feature: AVX
  2409  func (x Int16x8) ExtendLo2ToInt64() Int64x2
  2410  
  2411  // ExtendLo2ToInt64 sign-extends 2 lowest vector element values to int64.
  2412  //
  2413  // Asm: VPMOVSXDQ, CPU Feature: AVX
  2414  func (x Int32x4) ExtendLo2ToInt64() Int64x2
  2415  
  2416  /* ExtendLo2ToUint64 */
  2417  
  2418  // ExtendLo2ToUint64 zero-extends 2 lowest vector element values to uint64.
  2419  //
  2420  // Asm: VPMOVZXBQ, CPU Feature: AVX
  2421  func (x Uint8x16) ExtendLo2ToUint64() Uint64x2
  2422  
  2423  // ExtendLo2ToUint64 zero-extends 2 lowest vector element values to uint64.
  2424  //
  2425  // Asm: VPMOVZXWQ, CPU Feature: AVX
  2426  func (x Uint16x8) ExtendLo2ToUint64() Uint64x2
  2427  
  2428  // ExtendLo2ToUint64 zero-extends 2 lowest vector element values to uint64.
  2429  //
  2430  // Asm: VPMOVZXDQ, CPU Feature: AVX
  2431  func (x Uint32x4) ExtendLo2ToUint64() Uint64x2
  2432  
  2433  /* ExtendLo4ToInt32 */
  2434  
  2435  // ExtendLo4ToInt32 sign-extends 4 lowest vector element values to int32.
  2436  //
  2437  // Asm: VPMOVSXBD, CPU Feature: AVX
  2438  func (x Int8x16) ExtendLo4ToInt32() Int32x4
  2439  
  2440  // ExtendLo4ToInt32 sign-extends 4 lowest vector element values to int32.
  2441  //
  2442  // Asm: VPMOVSXWD, CPU Feature: AVX
  2443  func (x Int16x8) ExtendLo4ToInt32() Int32x4
  2444  
  2445  /* ExtendLo4ToInt64 */
  2446  
  2447  // ExtendLo4ToInt64 sign-extends 4 lowest vector element values to int64.
  2448  //
  2449  // Asm: VPMOVSXBQ, CPU Feature: AVX2
  2450  func (x Int8x16) ExtendLo4ToInt64() Int64x4
  2451  
  2452  // ExtendLo4ToInt64 sign-extends 4 lowest vector element values to int64.
  2453  //
  2454  // Asm: VPMOVSXWQ, CPU Feature: AVX2
  2455  func (x Int16x8) ExtendLo4ToInt64() Int64x4
  2456  
  2457  /* ExtendLo4ToUint32 */
  2458  
  2459  // ExtendLo4ToUint32 zero-extends 4 lowest vector element values to uint32.
  2460  //
  2461  // Asm: VPMOVZXBD, CPU Feature: AVX
  2462  func (x Uint8x16) ExtendLo4ToUint32() Uint32x4
  2463  
  2464  // ExtendLo4ToUint32 zero-extends 4 lowest vector element values to uint32.
  2465  //
  2466  // Asm: VPMOVZXWD, CPU Feature: AVX
  2467  func (x Uint16x8) ExtendLo4ToUint32() Uint32x4
  2468  
  2469  /* ExtendLo4ToUint64 */
  2470  
  2471  // ExtendLo4ToUint64 zero-extends 4 lowest vector element values to uint64.
  2472  //
  2473  // Asm: VPMOVZXBQ, CPU Feature: AVX2
  2474  func (x Uint8x16) ExtendLo4ToUint64() Uint64x4
  2475  
  2476  // ExtendLo4ToUint64 zero-extends 4 lowest vector element values to uint64.
  2477  //
  2478  // Asm: VPMOVZXWQ, CPU Feature: AVX2
  2479  func (x Uint16x8) ExtendLo4ToUint64() Uint64x4
  2480  
  2481  /* ExtendLo8ToInt16 */
  2482  
  2483  // ExtendLo8ToInt16 sign-extends 8 lowest vector element values to int16.
  2484  //
  2485  // Asm: VPMOVSXBW, CPU Feature: AVX
  2486  func (x Int8x16) ExtendLo8ToInt16() Int16x8
  2487  
  2488  /* ExtendLo8ToInt32 */
  2489  
  2490  // ExtendLo8ToInt32 sign-extends 8 lowest vector element values to int32.
  2491  //
  2492  // Asm: VPMOVSXBD, CPU Feature: AVX2
  2493  func (x Int8x16) ExtendLo8ToInt32() Int32x8
  2494  
  2495  /* ExtendLo8ToInt64 */
  2496  
  2497  // ExtendLo8ToInt64 sign-extends 8 lowest vector element values to int64.
  2498  //
  2499  // Asm: VPMOVSXBQ, CPU Feature: AVX512
  2500  func (x Int8x16) ExtendLo8ToInt64() Int64x8
  2501  
  2502  /* ExtendLo8ToUint16 */
  2503  
  2504  // ExtendLo8ToUint16 zero-extends 8 lowest vector element values to uint16.
  2505  //
  2506  // Asm: VPMOVZXBW, CPU Feature: AVX
  2507  func (x Uint8x16) ExtendLo8ToUint16() Uint16x8
  2508  
  2509  /* ExtendLo8ToUint32 */
  2510  
  2511  // ExtendLo8ToUint32 zero-extends 8 lowest vector element values to uint32.
  2512  //
  2513  // Asm: VPMOVZXBD, CPU Feature: AVX2
  2514  func (x Uint8x16) ExtendLo8ToUint32() Uint32x8
  2515  
  2516  /* ExtendLo8ToUint64 */
  2517  
  2518  // ExtendLo8ToUint64 zero-extends 8 lowest vector element values to uint64.
  2519  //
  2520  // Asm: VPMOVZXBQ, CPU Feature: AVX512
  2521  func (x Uint8x16) ExtendLo8ToUint64() Uint64x8
  2522  
  2523  /* ExtendToInt16 */
  2524  
  2525  // ExtendToInt16 sign-extends element values to int16.
  2526  //
  2527  // Asm: VPMOVSXBW, CPU Feature: AVX2
  2528  func (x Int8x16) ExtendToInt16() Int16x16
  2529  
  2530  // ExtendToInt16 sign-extends element values to int16.
  2531  //
  2532  // Asm: VPMOVSXBW, CPU Feature: AVX512
  2533  func (x Int8x32) ExtendToInt16() Int16x32
  2534  
  2535  /* ExtendToInt32 */
  2536  
  2537  // ExtendToInt32 sign-extends element values to int32.
  2538  //
  2539  // Asm: VPMOVSXBD, CPU Feature: AVX512
  2540  func (x Int8x16) ExtendToInt32() Int32x16
  2541  
  2542  // ExtendToInt32 sign-extends element values to int32.
  2543  //
  2544  // Asm: VPMOVSXWD, CPU Feature: AVX2
  2545  func (x Int16x8) ExtendToInt32() Int32x8
  2546  
  2547  // ExtendToInt32 sign-extends element values to int32.
  2548  //
  2549  // Asm: VPMOVSXWD, CPU Feature: AVX512
  2550  func (x Int16x16) ExtendToInt32() Int32x16
  2551  
  2552  /* ExtendToInt64 */
  2553  
  2554  // ExtendToInt64 sign-extends element values to int64.
  2555  //
  2556  // Asm: VPMOVSXWQ, CPU Feature: AVX512
  2557  func (x Int16x8) ExtendToInt64() Int64x8
  2558  
  2559  // ExtendToInt64 sign-extends element values to int64.
  2560  //
  2561  // Asm: VPMOVSXDQ, CPU Feature: AVX2
  2562  func (x Int32x4) ExtendToInt64() Int64x4
  2563  
  2564  // ExtendToInt64 sign-extends element values to int64.
  2565  //
  2566  // Asm: VPMOVSXDQ, CPU Feature: AVX512
  2567  func (x Int32x8) ExtendToInt64() Int64x8
  2568  
  2569  /* ExtendToUint16 */
  2570  
  2571  // ExtendToUint16 zero-extends element values to uint16.
  2572  //
  2573  // Asm: VPMOVZXBW, CPU Feature: AVX2
  2574  func (x Uint8x16) ExtendToUint16() Uint16x16
  2575  
  2576  // ExtendToUint16 zero-extends element values to uint16.
  2577  //
  2578  // Asm: VPMOVZXBW, CPU Feature: AVX512
  2579  func (x Uint8x32) ExtendToUint16() Uint16x32
  2580  
  2581  /* ExtendToUint32 */
  2582  
  2583  // ExtendToUint32 zero-extends element values to uint32.
  2584  //
  2585  // Asm: VPMOVZXBD, CPU Feature: AVX512
  2586  func (x Uint8x16) ExtendToUint32() Uint32x16
  2587  
  2588  // ExtendToUint32 zero-extends element values to uint32.
  2589  //
  2590  // Asm: VPMOVZXWD, CPU Feature: AVX2
  2591  func (x Uint16x8) ExtendToUint32() Uint32x8
  2592  
  2593  // ExtendToUint32 zero-extends element values to uint32.
  2594  //
  2595  // Asm: VPMOVZXWD, CPU Feature: AVX512
  2596  func (x Uint16x16) ExtendToUint32() Uint32x16
  2597  
  2598  /* ExtendToUint64 */
  2599  
  2600  // ExtendToUint64 zero-extends element values to uint64.
  2601  //
  2602  // Asm: VPMOVZXWQ, CPU Feature: AVX512
  2603  func (x Uint16x8) ExtendToUint64() Uint64x8
  2604  
  2605  // ExtendToUint64 zero-extends element values to uint64.
  2606  //
  2607  // Asm: VPMOVZXDQ, CPU Feature: AVX2
  2608  func (x Uint32x4) ExtendToUint64() Uint64x4
  2609  
  2610  // ExtendToUint64 zero-extends element values to uint64.
  2611  //
  2612  // Asm: VPMOVZXDQ, CPU Feature: AVX512
  2613  func (x Uint32x8) ExtendToUint64() Uint64x8
  2614  
  2615  /* Floor */
  2616  
  2617  // Floor rounds elements down to the nearest integer.
  2618  //
  2619  // Asm: VROUNDPS, CPU Feature: AVX
  2620  func (x Float32x4) Floor() Float32x4
  2621  
  2622  // Floor rounds elements down to the nearest integer.
  2623  //
  2624  // Asm: VROUNDPS, CPU Feature: AVX
  2625  func (x Float32x8) Floor() Float32x8
  2626  
  2627  // Floor rounds elements down to the nearest integer.
  2628  //
  2629  // Asm: VROUNDPD, CPU Feature: AVX
  2630  func (x Float64x2) Floor() Float64x2
  2631  
  2632  // Floor rounds elements down to the nearest integer.
  2633  //
  2634  // Asm: VROUNDPD, CPU Feature: AVX
  2635  func (x Float64x4) Floor() Float64x4
  2636  
  2637  /* FloorScaled */
  2638  
  2639  // FloorScaled rounds elements down with specified precision.
  2640  //
  2641  // A non-constant value of prec may result in significantly worse performance for this operation.
  2642  //
  2643  // Asm: VRNDSCALEPS, CPU Feature: AVX512
  2644  func (x Float32x4) FloorScaled(prec uint8) Float32x4
  2645  
  2646  // FloorScaled rounds elements down with specified precision.
  2647  //
  2648  // A non-constant value of prec may result in significantly worse performance for this operation.
  2649  //
  2650  // Asm: VRNDSCALEPS, CPU Feature: AVX512
  2651  func (x Float32x8) FloorScaled(prec uint8) Float32x8
  2652  
  2653  // FloorScaled rounds elements down with specified precision.
  2654  //
  2655  // A non-constant value of prec may result in significantly worse performance for this operation.
  2656  //
  2657  // Asm: VRNDSCALEPS, CPU Feature: AVX512
  2658  func (x Float32x16) FloorScaled(prec uint8) Float32x16
  2659  
  2660  // FloorScaled rounds elements down with specified precision.
  2661  //
  2662  // A non-constant value of prec may result in significantly worse performance for this operation.
  2663  //
  2664  // Asm: VRNDSCALEPD, CPU Feature: AVX512
  2665  func (x Float64x2) FloorScaled(prec uint8) Float64x2
  2666  
  2667  // FloorScaled rounds elements down with specified precision.
  2668  //
  2669  // A non-constant value of prec may result in significantly worse performance for this operation.
  2670  //
  2671  // Asm: VRNDSCALEPD, CPU Feature: AVX512
  2672  func (x Float64x4) FloorScaled(prec uint8) Float64x4
  2673  
  2674  // FloorScaled rounds elements down with specified precision.
  2675  //
  2676  // A non-constant value of prec may result in significantly worse performance for this operation.
  2677  //
  2678  // Asm: VRNDSCALEPD, CPU Feature: AVX512
  2679  func (x Float64x8) FloorScaled(prec uint8) Float64x8
  2680  
  2681  /* FloorScaledResidue */
  2682  
  2683  // FloorScaledResidue computes the difference after flooring with specified precision.
  2684  //
  2685  // A non-constant value of prec may result in significantly worse performance for this operation.
  2686  //
  2687  // Asm: VREDUCEPS, CPU Feature: AVX512
  2688  func (x Float32x4) FloorScaledResidue(prec uint8) Float32x4
  2689  
  2690  // FloorScaledResidue computes the difference after flooring with specified precision.
  2691  //
  2692  // A non-constant value of prec may result in significantly worse performance for this operation.
  2693  //
  2694  // Asm: VREDUCEPS, CPU Feature: AVX512
  2695  func (x Float32x8) FloorScaledResidue(prec uint8) Float32x8
  2696  
  2697  // FloorScaledResidue computes the difference after flooring with specified precision.
  2698  //
  2699  // A non-constant value of prec may result in significantly worse performance for this operation.
  2700  //
  2701  // Asm: VREDUCEPS, CPU Feature: AVX512
  2702  func (x Float32x16) FloorScaledResidue(prec uint8) Float32x16
  2703  
  2704  // FloorScaledResidue computes the difference after flooring with specified precision.
  2705  //
  2706  // A non-constant value of prec may result in significantly worse performance for this operation.
  2707  //
  2708  // Asm: VREDUCEPD, CPU Feature: AVX512
  2709  func (x Float64x2) FloorScaledResidue(prec uint8) Float64x2
  2710  
  2711  // FloorScaledResidue computes the difference after flooring with specified precision.
  2712  //
  2713  // A non-constant value of prec may result in significantly worse performance for this operation.
  2714  //
  2715  // Asm: VREDUCEPD, CPU Feature: AVX512
  2716  func (x Float64x4) FloorScaledResidue(prec uint8) Float64x4
  2717  
  2718  // FloorScaledResidue computes the difference after flooring with specified precision.
  2719  //
  2720  // A non-constant value of prec may result in significantly worse performance for this operation.
  2721  //
  2722  // Asm: VREDUCEPD, CPU Feature: AVX512
  2723  func (x Float64x8) FloorScaledResidue(prec uint8) Float64x8
  2724  
  2725  /* GaloisFieldAffineTransform */
  2726  
  2727  // GaloisFieldAffineTransform returns the affine transformation A * x + b in GF(2^8).
  2728  // Each element of A is interpreted as an 8x8 matrix of bits.
  2729  // Each element of x is interpreted as an 8-element vector of bits.
  2730  // The b argument is likewise an 8-element vector of bits.
  2731  // The result is z[i] = A[i/8] * x[i] + b, where * and + are performed in GF2.
  2732  //
  2733  // A non-constant value of b may result in significantly worse performance for this operation.
  2734  //
  2735  // Asm: VGF2P8AFFINEQB, CPU Feature: AVX512GFNI
  2736  func (x Uint8x16) GaloisFieldAffineTransform(A Uint64x2, b uint8) Uint8x16
  2737  
  2738  // GaloisFieldAffineTransform returns the affine transformation A * x + b in GF(2^8).
  2739  // Each element of A is interpreted as an 8x8 matrix of bits.
  2740  // Each element of x is interpreted as an 8-element vector of bits.
  2741  // The b argument is likewise an 8-element vector of bits.
  2742  // The result is z[i] = A[i/8] * x[i] + b, where * and + are performed in GF2.
  2743  //
  2744  // A non-constant value of b may result in significantly worse performance for this operation.
  2745  //
  2746  // Asm: VGF2P8AFFINEQB, CPU Feature: AVX512GFNI
  2747  func (x Uint8x32) GaloisFieldAffineTransform(A Uint64x4, b uint8) Uint8x32
  2748  
  2749  // GaloisFieldAffineTransform returns the affine transformation A * x + b in GF(2^8).
  2750  // Each element of A is interpreted as an 8x8 matrix of bits.
  2751  // Each element of x is interpreted as an 8-element vector of bits.
  2752  // The b argument is likewise an 8-element vector of bits.
  2753  // The result is z[i] = A[i/8] * x[i] + b, where * and + are performed in GF2.
  2754  //
  2755  // A non-constant value of b may result in significantly worse performance for this operation.
  2756  //
  2757  // Asm: VGF2P8AFFINEQB, CPU Feature: AVX512GFNI
  2758  func (x Uint8x64) GaloisFieldAffineTransform(A Uint64x8, b uint8) Uint8x64
  2759  
  2760  /* GaloisFieldAffineTransformInverse */
  2761  
  2762  // GaloisFieldAffineTransformInverse returns the affine transformation A * (x⁻¹ mod P) + b in GF(2^8),
  2763  // where the characteristic polynomial P is x^8 + x^4 + x^3 + x + 1.
  2764  // Each element of A is interpreted as an 8x8 matrix of bits.
  2765  // Each element of x is interpreted as an 8-element vector of bits.
  2766  // The b argument is likewise an 8-element vector of bits.
  2767  // The result is z[i] = A[i/8] * inv(x[i]) + b, where * and + are performed in GF2.
  2768  //
  2769  // A non-constant value of b may result in significantly worse performance for this operation.
  2770  //
  2771  // Asm: VGF2P8AFFINEINVQB, CPU Feature: AVX512GFNI
  2772  func (x Uint8x16) GaloisFieldAffineTransformInverse(A Uint64x2, b uint8) Uint8x16
  2773  
  2774  // GaloisFieldAffineTransformInverse returns the affine transformation A * (x⁻¹ mod P) + b in GF(2^8),
  2775  // where the characteristic polynomial P is x^8 + x^4 + x^3 + x + 1.
  2776  // Each element of A is interpreted as an 8x8 matrix of bits.
  2777  // Each element of x is interpreted as an 8-element vector of bits.
  2778  // The b argument is likewise an 8-element vector of bits.
  2779  // The result is z[i] = A[i/8] * inv(x[i]) + b, where * and + are performed in GF2.
  2780  //
  2781  // A non-constant value of b may result in significantly worse performance for this operation.
  2782  //
  2783  // Asm: VGF2P8AFFINEINVQB, CPU Feature: AVX512GFNI
  2784  func (x Uint8x32) GaloisFieldAffineTransformInverse(A Uint64x4, b uint8) Uint8x32
  2785  
  2786  // GaloisFieldAffineTransformInverse returns the affine transformation A * (x⁻¹ mod P) + b in GF(2^8),
  2787  // where the characteristic polynomial P is x^8 + x^4 + x^3 + x + 1.
  2788  // Each element of A is interpreted as an 8x8 matrix of bits.
  2789  // Each element of x is interpreted as an 8-element vector of bits.
  2790  // The b argument is likewise an 8-element vector of bits.
  2791  // The result is z[i] = A[i/8] * inv(x[i]) + b, where * and + are performed in GF2.
  2792  //
  2793  // A non-constant value of b may result in significantly worse performance for this operation.
  2794  //
  2795  // Asm: VGF2P8AFFINEINVQB, CPU Feature: AVX512GFNI
  2796  func (x Uint8x64) GaloisFieldAffineTransformInverse(A Uint64x8, b uint8) Uint8x64
  2797  
  2798  /* GaloisFieldMul */
  2799  
  2800  // GaloisFieldMul returns (x * y) mod P, performed in GF(2^8),
  2801  // where the characteristic polynomial P is x^8 + x^4 + x^3 + x + 1.
  2802  //
  2803  // Asm: VGF2P8MULB, CPU Feature: AVX512GFNI
  2804  func (x Uint8x16) GaloisFieldMul(y Uint8x16) Uint8x16
  2805  
  2806  // GaloisFieldMul returns (x * y) mod P, performed in GF(2^8),
  2807  // where the characteristic polynomial P is x^8 + x^4 + x^3 + x + 1.
  2808  //
  2809  // Asm: VGF2P8MULB, CPU Feature: AVX512GFNI
  2810  func (x Uint8x32) GaloisFieldMul(y Uint8x32) Uint8x32
  2811  
  2812  // GaloisFieldMul returns (x * y) mod P, performed in GF(2^8),
  2813  // where the characteristic polynomial P is x^8 + x^4 + x^3 + x + 1.
  2814  //
  2815  // Asm: VGF2P8MULB, CPU Feature: AVX512GFNI
  2816  func (x Uint8x64) GaloisFieldMul(y Uint8x64) Uint8x64
  2817  
  2818  /* GetElem */
  2819  
  2820  // GetElem returns the index'th element of x.
  2821  //
  2822  // A non-constant value of index may result in significantly worse performance for this operation.
  2823  //
  2824  // Asm: VPEXTRD, CPU Feature: AVX
  2825  func (x Float32x4) GetElem(index uint8) float32
  2826  
  2827  // GetElem returns the index'th element of x.
  2828  //
  2829  // A non-constant value of index may result in significantly worse performance for this operation.
  2830  //
  2831  // Asm: VPEXTRQ, CPU Feature: AVX
  2832  func (x Float64x2) GetElem(index uint8) float64
  2833  
  2834  // GetElem returns the index'th element of x.
  2835  //
  2836  // A non-constant value of index may result in significantly worse performance for this operation.
  2837  //
  2838  // Asm: VPEXTRB, CPU Feature: AVX
  2839  func (x Int8x16) GetElem(index uint8) int8
  2840  
  2841  // GetElem returns the index'th element of x.
  2842  //
  2843  // A non-constant value of index may result in significantly worse performance for this operation.
  2844  //
  2845  // Asm: VPEXTRW, CPU Feature: AVX
  2846  func (x Int16x8) GetElem(index uint8) int16
  2847  
  2848  // GetElem returns the index'th element of x.
  2849  //
  2850  // A non-constant value of index may result in significantly worse performance for this operation.
  2851  //
  2852  // Asm: VPEXTRD, CPU Feature: AVX
  2853  func (x Int32x4) GetElem(index uint8) int32
  2854  
  2855  // GetElem returns the index'th element of x.
  2856  //
  2857  // A non-constant value of index may result in significantly worse performance for this operation.
  2858  //
  2859  // Asm: VPEXTRQ, CPU Feature: AVX
  2860  func (x Int64x2) GetElem(index uint8) int64
  2861  
  2862  // GetElem returns the index'th element of x.
  2863  //
  2864  // A non-constant value of index may result in significantly worse performance for this operation.
  2865  //
  2866  // Asm: VPEXTRB, CPU Feature: AVX
  2867  func (x Uint8x16) GetElem(index uint8) uint8
  2868  
  2869  // GetElem returns the index'th element of x.
  2870  //
  2871  // A non-constant value of index may result in significantly worse performance for this operation.
  2872  //
  2873  // Asm: VPEXTRW, CPU Feature: AVX
  2874  func (x Uint16x8) GetElem(index uint8) uint16
  2875  
  2876  // GetElem returns the index'th element of x.
  2877  //
  2878  // A non-constant value of index may result in significantly worse performance for this operation.
  2879  //
  2880  // Asm: VPEXTRD, CPU Feature: AVX
  2881  func (x Uint32x4) GetElem(index uint8) uint32
  2882  
  2883  // GetElem returns the index'th element of x.
  2884  //
  2885  // A non-constant value of index may result in significantly worse performance for this operation.
  2886  //
  2887  // Asm: VPEXTRQ, CPU Feature: AVX
  2888  func (x Uint64x2) GetElem(index uint8) uint64
  2889  
  2890  /* GetHi */
  2891  
  2892  // GetHi returns the upper half of x.
  2893  //
  2894  // Asm: VEXTRACTF128, CPU Feature: AVX
  2895  func (x Float32x8) GetHi() Float32x4
  2896  
  2897  // GetHi returns the upper half of x.
  2898  //
  2899  // Asm: VEXTRACTF64X4, CPU Feature: AVX512
  2900  func (x Float32x16) GetHi() Float32x8
  2901  
  2902  // GetHi returns the upper half of x.
  2903  //
  2904  // Asm: VEXTRACTF128, CPU Feature: AVX
  2905  func (x Float64x4) GetHi() Float64x2
  2906  
  2907  // GetHi returns the upper half of x.
  2908  //
  2909  // Asm: VEXTRACTF64X4, CPU Feature: AVX512
  2910  func (x Float64x8) GetHi() Float64x4
  2911  
  2912  // GetHi returns the upper half of x.
  2913  //
  2914  // Asm: VEXTRACTI128, CPU Feature: AVX2
  2915  func (x Int8x32) GetHi() Int8x16
  2916  
  2917  // GetHi returns the upper half of x.
  2918  //
  2919  // Asm: VEXTRACTI64X4, CPU Feature: AVX512
  2920  func (x Int8x64) GetHi() Int8x32
  2921  
  2922  // GetHi returns the upper half of x.
  2923  //
  2924  // Asm: VEXTRACTI128, CPU Feature: AVX2
  2925  func (x Int16x16) GetHi() Int16x8
  2926  
  2927  // GetHi returns the upper half of x.
  2928  //
  2929  // Asm: VEXTRACTI64X4, CPU Feature: AVX512
  2930  func (x Int16x32) GetHi() Int16x16
  2931  
  2932  // GetHi returns the upper half of x.
  2933  //
  2934  // Asm: VEXTRACTI128, CPU Feature: AVX2
  2935  func (x Int32x8) GetHi() Int32x4
  2936  
  2937  // GetHi returns the upper half of x.
  2938  //
  2939  // Asm: VEXTRACTI64X4, CPU Feature: AVX512
  2940  func (x Int32x16) GetHi() Int32x8
  2941  
  2942  // GetHi returns the upper half of x.
  2943  //
  2944  // Asm: VEXTRACTI128, CPU Feature: AVX2
  2945  func (x Int64x4) GetHi() Int64x2
  2946  
  2947  // GetHi returns the upper half of x.
  2948  //
  2949  // Asm: VEXTRACTI64X4, CPU Feature: AVX512
  2950  func (x Int64x8) GetHi() Int64x4
  2951  
  2952  // GetHi returns the upper half of x.
  2953  //
  2954  // Asm: VEXTRACTI128, CPU Feature: AVX2
  2955  func (x Uint8x32) GetHi() Uint8x16
  2956  
  2957  // GetHi returns the upper half of x.
  2958  //
  2959  // Asm: VEXTRACTI64X4, CPU Feature: AVX512
  2960  func (x Uint8x64) GetHi() Uint8x32
  2961  
  2962  // GetHi returns the upper half of x.
  2963  //
  2964  // Asm: VEXTRACTI128, CPU Feature: AVX2
  2965  func (x Uint16x16) GetHi() Uint16x8
  2966  
  2967  // GetHi returns the upper half of x.
  2968  //
  2969  // Asm: VEXTRACTI64X4, CPU Feature: AVX512
  2970  func (x Uint16x32) GetHi() Uint16x16
  2971  
  2972  // GetHi returns the upper half of x.
  2973  //
  2974  // Asm: VEXTRACTI128, CPU Feature: AVX2
  2975  func (x Uint32x8) GetHi() Uint32x4
  2976  
  2977  // GetHi returns the upper half of x.
  2978  //
  2979  // Asm: VEXTRACTI64X4, CPU Feature: AVX512
  2980  func (x Uint32x16) GetHi() Uint32x8
  2981  
  2982  // GetHi returns the upper half of x.
  2983  //
  2984  // Asm: VEXTRACTI128, CPU Feature: AVX2
  2985  func (x Uint64x4) GetHi() Uint64x2
  2986  
  2987  // GetHi returns the upper half of x.
  2988  //
  2989  // Asm: VEXTRACTI64X4, CPU Feature: AVX512
  2990  func (x Uint64x8) GetHi() Uint64x4
  2991  
  2992  /* GetLo */
  2993  
  2994  // GetLo returns the lower half of x.
  2995  //
  2996  // Asm: VEXTRACTF128, CPU Feature: AVX
  2997  func (x Float32x8) GetLo() Float32x4
  2998  
  2999  // GetLo returns the lower half of x.
  3000  //
  3001  // Asm: VEXTRACTF64X4, CPU Feature: AVX512
  3002  func (x Float32x16) GetLo() Float32x8
  3003  
  3004  // GetLo returns the lower half of x.
  3005  //
  3006  // Asm: VEXTRACTF128, CPU Feature: AVX
  3007  func (x Float64x4) GetLo() Float64x2
  3008  
  3009  // GetLo returns the lower half of x.
  3010  //
  3011  // Asm: VEXTRACTF64X4, CPU Feature: AVX512
  3012  func (x Float64x8) GetLo() Float64x4
  3013  
  3014  // GetLo returns the lower half of x.
  3015  //
  3016  // Asm: VEXTRACTI128, CPU Feature: AVX2
  3017  func (x Int8x32) GetLo() Int8x16
  3018  
  3019  // GetLo returns the lower half of x.
  3020  //
  3021  // Asm: VEXTRACTI64X4, CPU Feature: AVX512
  3022  func (x Int8x64) GetLo() Int8x32
  3023  
  3024  // GetLo returns the lower half of x.
  3025  //
  3026  // Asm: VEXTRACTI128, CPU Feature: AVX2
  3027  func (x Int16x16) GetLo() Int16x8
  3028  
  3029  // GetLo returns the lower half of x.
  3030  //
  3031  // Asm: VEXTRACTI64X4, CPU Feature: AVX512
  3032  func (x Int16x32) GetLo() Int16x16
  3033  
  3034  // GetLo returns the lower half of x.
  3035  //
  3036  // Asm: VEXTRACTI128, CPU Feature: AVX2
  3037  func (x Int32x8) GetLo() Int32x4
  3038  
  3039  // GetLo returns the lower half of x.
  3040  //
  3041  // Asm: VEXTRACTI64X4, CPU Feature: AVX512
  3042  func (x Int32x16) GetLo() Int32x8
  3043  
  3044  // GetLo returns the lower half of x.
  3045  //
  3046  // Asm: VEXTRACTI128, CPU Feature: AVX2
  3047  func (x Int64x4) GetLo() Int64x2
  3048  
  3049  // GetLo returns the lower half of x.
  3050  //
  3051  // Asm: VEXTRACTI64X4, CPU Feature: AVX512
  3052  func (x Int64x8) GetLo() Int64x4
  3053  
  3054  // GetLo returns the lower half of x.
  3055  //
  3056  // Asm: VEXTRACTI128, CPU Feature: AVX2
  3057  func (x Uint8x32) GetLo() Uint8x16
  3058  
  3059  // GetLo returns the lower half of x.
  3060  //
  3061  // Asm: VEXTRACTI64X4, CPU Feature: AVX512
  3062  func (x Uint8x64) GetLo() Uint8x32
  3063  
  3064  // GetLo returns the lower half of x.
  3065  //
  3066  // Asm: VEXTRACTI128, CPU Feature: AVX2
  3067  func (x Uint16x16) GetLo() Uint16x8
  3068  
  3069  // GetLo returns the lower half of x.
  3070  //
  3071  // Asm: VEXTRACTI64X4, CPU Feature: AVX512
  3072  func (x Uint16x32) GetLo() Uint16x16
  3073  
  3074  // GetLo returns the lower half of x.
  3075  //
  3076  // Asm: VEXTRACTI128, CPU Feature: AVX2
  3077  func (x Uint32x8) GetLo() Uint32x4
  3078  
  3079  // GetLo returns the lower half of x.
  3080  //
  3081  // Asm: VEXTRACTI64X4, CPU Feature: AVX512
  3082  func (x Uint32x16) GetLo() Uint32x8
  3083  
  3084  // GetLo returns the lower half of x.
  3085  //
  3086  // Asm: VEXTRACTI128, CPU Feature: AVX2
  3087  func (x Uint64x4) GetLo() Uint64x2
  3088  
  3089  // GetLo returns the lower half of x.
  3090  //
  3091  // Asm: VEXTRACTI64X4, CPU Feature: AVX512
  3092  func (x Uint64x8) GetLo() Uint64x4
  3093  
  3094  /* Greater */
  3095  
  3096  // Greater returns a mask whose elements indicate whether x > y.
  3097  //
  3098  // Asm: VPCMPGTB, CPU Feature: AVX
  3099  func (x Int8x16) Greater(y Int8x16) Mask8x16
  3100  
  3101  // Greater returns a mask whose elements indicate whether x > y.
  3102  //
  3103  // Asm: VPCMPGTB, CPU Feature: AVX2
  3104  func (x Int8x32) Greater(y Int8x32) Mask8x32
  3105  
  3106  // Greater returns a mask whose elements indicate whether x > y.
  3107  //
  3108  // Asm: VPCMPGTB, CPU Feature: AVX512
  3109  func (x Int8x64) Greater(y Int8x64) Mask8x64
  3110  
  3111  // Greater returns a mask whose elements indicate whether x > y.
  3112  //
  3113  // Asm: VPCMPGTW, CPU Feature: AVX
  3114  func (x Int16x8) Greater(y Int16x8) Mask16x8
  3115  
  3116  // Greater returns a mask whose elements indicate whether x > y.
  3117  //
  3118  // Asm: VPCMPGTW, CPU Feature: AVX2
  3119  func (x Int16x16) Greater(y Int16x16) Mask16x16
  3120  
  3121  // Greater returns a mask whose elements indicate whether x > y.
  3122  //
  3123  // Asm: VPCMPGTW, CPU Feature: AVX512
  3124  func (x Int16x32) Greater(y Int16x32) Mask16x32
  3125  
  3126  // Greater returns a mask whose elements indicate whether x > y.
  3127  //
  3128  // Asm: VPCMPGTD, CPU Feature: AVX
  3129  func (x Int32x4) Greater(y Int32x4) Mask32x4
  3130  
  3131  // Greater returns a mask whose elements indicate whether x > y.
  3132  //
  3133  // Asm: VPCMPGTD, CPU Feature: AVX2
  3134  func (x Int32x8) Greater(y Int32x8) Mask32x8
  3135  
  3136  // Greater returns a mask whose elements indicate whether x > y.
  3137  //
  3138  // Asm: VPCMPGTD, CPU Feature: AVX512
  3139  func (x Int32x16) Greater(y Int32x16) Mask32x16
  3140  
  3141  // Greater returns a mask whose elements indicate whether x > y.
  3142  //
  3143  // Asm: VPCMPGTQ, CPU Feature: AVX
  3144  func (x Int64x2) Greater(y Int64x2) Mask64x2
  3145  
  3146  // Greater returns a mask whose elements indicate whether x > y.
  3147  //
  3148  // Asm: VPCMPGTQ, CPU Feature: AVX2
  3149  func (x Int64x4) Greater(y Int64x4) Mask64x4
  3150  
  3151  // Greater returns a mask whose elements indicate whether x > y.
  3152  //
  3153  // Asm: VPCMPGTQ, CPU Feature: AVX512
  3154  func (x Int64x8) Greater(y Int64x8) Mask64x8
  3155  
  3156  // Greater returns a mask whose elements indicate whether x > y.
  3157  //
  3158  // Asm: VCMPPS, CPU Feature: AVX
  3159  func (x Float32x4) Greater(y Float32x4) Mask32x4
  3160  
  3161  // Greater returns a mask whose elements indicate whether x > y.
  3162  //
  3163  // Asm: VCMPPS, CPU Feature: AVX
  3164  func (x Float32x8) Greater(y Float32x8) Mask32x8
  3165  
  3166  // Greater returns a mask whose elements indicate whether x > y.
  3167  //
  3168  // Asm: VCMPPS, CPU Feature: AVX512
  3169  func (x Float32x16) Greater(y Float32x16) Mask32x16
  3170  
  3171  // Greater returns a mask whose elements indicate whether x > y.
  3172  //
  3173  // Asm: VCMPPD, CPU Feature: AVX
  3174  func (x Float64x2) Greater(y Float64x2) Mask64x2
  3175  
  3176  // Greater returns a mask whose elements indicate whether x > y.
  3177  //
  3178  // Asm: VCMPPD, CPU Feature: AVX
  3179  func (x Float64x4) Greater(y Float64x4) Mask64x4
  3180  
  3181  // Greater returns a mask whose elements indicate whether x > y.
  3182  //
  3183  // Asm: VCMPPD, CPU Feature: AVX512
  3184  func (x Float64x8) Greater(y Float64x8) Mask64x8
  3185  
  3186  // Greater returns a mask whose elements indicate whether x > y.
  3187  //
  3188  // Asm: VPCMPUB, CPU Feature: AVX512
  3189  func (x Uint8x64) Greater(y Uint8x64) Mask8x64
  3190  
  3191  // Greater returns a mask whose elements indicate whether x > y.
  3192  //
  3193  // Asm: VPCMPUW, CPU Feature: AVX512
  3194  func (x Uint16x32) Greater(y Uint16x32) Mask16x32
  3195  
  3196  // Greater returns a mask whose elements indicate whether x > y.
  3197  //
  3198  // Asm: VPCMPUD, CPU Feature: AVX512
  3199  func (x Uint32x16) Greater(y Uint32x16) Mask32x16
  3200  
  3201  // Greater returns a mask whose elements indicate whether x > y.
  3202  //
  3203  // Asm: VPCMPUQ, CPU Feature: AVX512
  3204  func (x Uint64x8) Greater(y Uint64x8) Mask64x8
  3205  
  3206  /* GreaterEqual */
  3207  
  3208  // GreaterEqual returns a mask whose elements indicate whether x >= y.
  3209  //
  3210  // Asm: VCMPPS, CPU Feature: AVX
  3211  func (x Float32x4) GreaterEqual(y Float32x4) Mask32x4
  3212  
  3213  // GreaterEqual returns a mask whose elements indicate whether x >= y.
  3214  //
  3215  // Asm: VCMPPS, CPU Feature: AVX
  3216  func (x Float32x8) GreaterEqual(y Float32x8) Mask32x8
  3217  
  3218  // GreaterEqual returns a mask whose elements indicate whether x >= y.
  3219  //
  3220  // Asm: VCMPPS, CPU Feature: AVX512
  3221  func (x Float32x16) GreaterEqual(y Float32x16) Mask32x16
  3222  
  3223  // GreaterEqual returns a mask whose elements indicate whether x >= y.
  3224  //
  3225  // Asm: VCMPPD, CPU Feature: AVX
  3226  func (x Float64x2) GreaterEqual(y Float64x2) Mask64x2
  3227  
  3228  // GreaterEqual returns a mask whose elements indicate whether x >= y.
  3229  //
  3230  // Asm: VCMPPD, CPU Feature: AVX
  3231  func (x Float64x4) GreaterEqual(y Float64x4) Mask64x4
  3232  
  3233  // GreaterEqual returns a mask whose elements indicate whether x >= y.
  3234  //
  3235  // Asm: VCMPPD, CPU Feature: AVX512
  3236  func (x Float64x8) GreaterEqual(y Float64x8) Mask64x8
  3237  
  3238  // GreaterEqual returns a mask whose elements indicate whether x >= y.
  3239  //
  3240  // Asm: VPCMPB, CPU Feature: AVX512
  3241  func (x Int8x64) GreaterEqual(y Int8x64) Mask8x64
  3242  
  3243  // GreaterEqual returns a mask whose elements indicate whether x >= y.
  3244  //
  3245  // Asm: VPCMPW, CPU Feature: AVX512
  3246  func (x Int16x32) GreaterEqual(y Int16x32) Mask16x32
  3247  
  3248  // GreaterEqual returns a mask whose elements indicate whether x >= y.
  3249  //
  3250  // Asm: VPCMPD, CPU Feature: AVX512
  3251  func (x Int32x16) GreaterEqual(y Int32x16) Mask32x16
  3252  
  3253  // GreaterEqual returns a mask whose elements indicate whether x >= y.
  3254  //
  3255  // Asm: VPCMPQ, CPU Feature: AVX512
  3256  func (x Int64x8) GreaterEqual(y Int64x8) Mask64x8
  3257  
  3258  // GreaterEqual returns a mask whose elements indicate whether x >= y.
  3259  //
  3260  // Asm: VPCMPUB, CPU Feature: AVX512
  3261  func (x Uint8x64) GreaterEqual(y Uint8x64) Mask8x64
  3262  
  3263  // GreaterEqual returns a mask whose elements indicate whether x >= y.
  3264  //
  3265  // Asm: VPCMPUW, CPU Feature: AVX512
  3266  func (x Uint16x32) GreaterEqual(y Uint16x32) Mask16x32
  3267  
  3268  // GreaterEqual returns a mask whose elements indicate whether x >= y.
  3269  //
  3270  // Asm: VPCMPUD, CPU Feature: AVX512
  3271  func (x Uint32x16) GreaterEqual(y Uint32x16) Mask32x16
  3272  
  3273  // GreaterEqual returns a mask whose elements indicate whether x >= y.
  3274  //
  3275  // Asm: VPCMPUQ, CPU Feature: AVX512
  3276  func (x Uint64x8) GreaterEqual(y Uint64x8) Mask64x8
  3277  
  3278  /* InterleaveHi */
  3279  
  3280  // InterleaveHi interleaves the elements of the high halves of x and y.
  3281  //
  3282  // Asm: VPUNPCKHWD, CPU Feature: AVX
  3283  func (x Int16x8) InterleaveHi(y Int16x8) Int16x8
  3284  
  3285  // InterleaveHi interleaves the elements of the high halves of x and y.
  3286  //
  3287  // Asm: VPUNPCKHDQ, CPU Feature: AVX
  3288  func (x Int32x4) InterleaveHi(y Int32x4) Int32x4
  3289  
  3290  // InterleaveHi interleaves the elements of the high halves of x and y.
  3291  //
  3292  // Asm: VPUNPCKHQDQ, CPU Feature: AVX
  3293  func (x Int64x2) InterleaveHi(y Int64x2) Int64x2
  3294  
  3295  // InterleaveHi interleaves the elements of the high halves of x and y.
  3296  //
  3297  // Asm: VPUNPCKHWD, CPU Feature: AVX
  3298  func (x Uint16x8) InterleaveHi(y Uint16x8) Uint16x8
  3299  
  3300  // InterleaveHi interleaves the elements of the high halves of x and y.
  3301  //
  3302  // Asm: VPUNPCKHDQ, CPU Feature: AVX
  3303  func (x Uint32x4) InterleaveHi(y Uint32x4) Uint32x4
  3304  
  3305  // InterleaveHi interleaves the elements of the high halves of x and y.
  3306  //
  3307  // Asm: VPUNPCKHQDQ, CPU Feature: AVX
  3308  func (x Uint64x2) InterleaveHi(y Uint64x2) Uint64x2
  3309  
  3310  /* InterleaveHiGrouped */
  3311  
  3312  // InterleaveHiGrouped interleaves the elements of the high half of each 128-bit subvector of x and y.
  3313  //
  3314  // Asm: VPUNPCKHWD, CPU Feature: AVX2
  3315  func (x Int16x16) InterleaveHiGrouped(y Int16x16) Int16x16
  3316  
  3317  // InterleaveHiGrouped interleaves the elements of the high half of each 128-bit subvector of x and y.
  3318  //
  3319  // Asm: VPUNPCKHWD, CPU Feature: AVX512
  3320  func (x Int16x32) InterleaveHiGrouped(y Int16x32) Int16x32
  3321  
  3322  // InterleaveHiGrouped interleaves the elements of the high half of each 128-bit subvector of x and y.
  3323  //
  3324  // Asm: VPUNPCKHDQ, CPU Feature: AVX2
  3325  func (x Int32x8) InterleaveHiGrouped(y Int32x8) Int32x8
  3326  
  3327  // InterleaveHiGrouped interleaves the elements of the high half of each 128-bit subvector of x and y.
  3328  //
  3329  // Asm: VPUNPCKHDQ, CPU Feature: AVX512
  3330  func (x Int32x16) InterleaveHiGrouped(y Int32x16) Int32x16
  3331  
  3332  // InterleaveHiGrouped interleaves the elements of the high half of each 128-bit subvector of x and y.
  3333  //
  3334  // Asm: VPUNPCKHQDQ, CPU Feature: AVX2
  3335  func (x Int64x4) InterleaveHiGrouped(y Int64x4) Int64x4
  3336  
  3337  // InterleaveHiGrouped interleaves the elements of the high half of each 128-bit subvector of x and y.
  3338  //
  3339  // Asm: VPUNPCKHQDQ, CPU Feature: AVX512
  3340  func (x Int64x8) InterleaveHiGrouped(y Int64x8) Int64x8
  3341  
  3342  // InterleaveHiGrouped interleaves the elements of the high half of each 128-bit subvector of x and y.
  3343  //
  3344  // Asm: VPUNPCKHWD, CPU Feature: AVX2
  3345  func (x Uint16x16) InterleaveHiGrouped(y Uint16x16) Uint16x16
  3346  
  3347  // InterleaveHiGrouped interleaves the elements of the high half of each 128-bit subvector of x and y.
  3348  //
  3349  // Asm: VPUNPCKHWD, CPU Feature: AVX512
  3350  func (x Uint16x32) InterleaveHiGrouped(y Uint16x32) Uint16x32
  3351  
  3352  // InterleaveHiGrouped interleaves the elements of the high half of each 128-bit subvector of x and y.
  3353  //
  3354  // Asm: VPUNPCKHDQ, CPU Feature: AVX2
  3355  func (x Uint32x8) InterleaveHiGrouped(y Uint32x8) Uint32x8
  3356  
  3357  // InterleaveHiGrouped interleaves the elements of the high half of each 128-bit subvector of x and y.
  3358  //
  3359  // Asm: VPUNPCKHDQ, CPU Feature: AVX512
  3360  func (x Uint32x16) InterleaveHiGrouped(y Uint32x16) Uint32x16
  3361  
  3362  // InterleaveHiGrouped interleaves the elements of the high half of each 128-bit subvector of x and y.
  3363  //
  3364  // Asm: VPUNPCKHQDQ, CPU Feature: AVX2
  3365  func (x Uint64x4) InterleaveHiGrouped(y Uint64x4) Uint64x4
  3366  
  3367  // InterleaveHiGrouped interleaves the elements of the high half of each 128-bit subvector of x and y.
  3368  //
  3369  // Asm: VPUNPCKHQDQ, CPU Feature: AVX512
  3370  func (x Uint64x8) InterleaveHiGrouped(y Uint64x8) Uint64x8
  3371  
  3372  /* InterleaveLo */
  3373  
  3374  // InterleaveLo interleaves the elements of the low halves of x and y.
  3375  //
  3376  // Asm: VPUNPCKLWD, CPU Feature: AVX
  3377  func (x Int16x8) InterleaveLo(y Int16x8) Int16x8
  3378  
  3379  // InterleaveLo interleaves the elements of the low halves of x and y.
  3380  //
  3381  // Asm: VPUNPCKLDQ, CPU Feature: AVX
  3382  func (x Int32x4) InterleaveLo(y Int32x4) Int32x4
  3383  
  3384  // InterleaveLo interleaves the elements of the low halves of x and y.
  3385  //
  3386  // Asm: VPUNPCKLQDQ, CPU Feature: AVX
  3387  func (x Int64x2) InterleaveLo(y Int64x2) Int64x2
  3388  
  3389  // InterleaveLo interleaves the elements of the low halves of x and y.
  3390  //
  3391  // Asm: VPUNPCKLWD, CPU Feature: AVX
  3392  func (x Uint16x8) InterleaveLo(y Uint16x8) Uint16x8
  3393  
  3394  // InterleaveLo interleaves the elements of the low halves of x and y.
  3395  //
  3396  // Asm: VPUNPCKLDQ, CPU Feature: AVX
  3397  func (x Uint32x4) InterleaveLo(y Uint32x4) Uint32x4
  3398  
  3399  // InterleaveLo interleaves the elements of the low halves of x and y.
  3400  //
  3401  // Asm: VPUNPCKLQDQ, CPU Feature: AVX
  3402  func (x Uint64x2) InterleaveLo(y Uint64x2) Uint64x2
  3403  
  3404  /* InterleaveLoGrouped */
  3405  
  3406  // InterleaveLoGrouped interleaves the elements of the low half of each 128-bit subvector of x and y.
  3407  //
  3408  // Asm: VPUNPCKLWD, CPU Feature: AVX2
  3409  func (x Int16x16) InterleaveLoGrouped(y Int16x16) Int16x16
  3410  
  3411  // InterleaveLoGrouped interleaves the elements of the low half of each 128-bit subvector of x and y.
  3412  //
  3413  // Asm: VPUNPCKLWD, CPU Feature: AVX512
  3414  func (x Int16x32) InterleaveLoGrouped(y Int16x32) Int16x32
  3415  
  3416  // InterleaveLoGrouped interleaves the elements of the low half of each 128-bit subvector of x and y.
  3417  //
  3418  // Asm: VPUNPCKLDQ, CPU Feature: AVX2
  3419  func (x Int32x8) InterleaveLoGrouped(y Int32x8) Int32x8
  3420  
  3421  // InterleaveLoGrouped interleaves the elements of the low half of each 128-bit subvector of x and y.
  3422  //
  3423  // Asm: VPUNPCKLDQ, CPU Feature: AVX512
  3424  func (x Int32x16) InterleaveLoGrouped(y Int32x16) Int32x16
  3425  
  3426  // InterleaveLoGrouped interleaves the elements of the low half of each 128-bit subvector of x and y.
  3427  //
  3428  // Asm: VPUNPCKLQDQ, CPU Feature: AVX2
  3429  func (x Int64x4) InterleaveLoGrouped(y Int64x4) Int64x4
  3430  
  3431  // InterleaveLoGrouped interleaves the elements of the low half of each 128-bit subvector of x and y.
  3432  //
  3433  // Asm: VPUNPCKLQDQ, CPU Feature: AVX512
  3434  func (x Int64x8) InterleaveLoGrouped(y Int64x8) Int64x8
  3435  
  3436  // InterleaveLoGrouped interleaves the elements of the low half of each 128-bit subvector of x and y.
  3437  //
  3438  // Asm: VPUNPCKLWD, CPU Feature: AVX2
  3439  func (x Uint16x16) InterleaveLoGrouped(y Uint16x16) Uint16x16
  3440  
  3441  // InterleaveLoGrouped interleaves the elements of the low half of each 128-bit subvector of x and y.
  3442  //
  3443  // Asm: VPUNPCKLWD, CPU Feature: AVX512
  3444  func (x Uint16x32) InterleaveLoGrouped(y Uint16x32) Uint16x32
  3445  
  3446  // InterleaveLoGrouped interleaves the elements of the low half of each 128-bit subvector of x and y.
  3447  //
  3448  // Asm: VPUNPCKLDQ, CPU Feature: AVX2
  3449  func (x Uint32x8) InterleaveLoGrouped(y Uint32x8) Uint32x8
  3450  
  3451  // InterleaveLoGrouped interleaves the elements of the low half of each 128-bit subvector of x and y.
  3452  //
  3453  // Asm: VPUNPCKLDQ, CPU Feature: AVX512
  3454  func (x Uint32x16) InterleaveLoGrouped(y Uint32x16) Uint32x16
  3455  
  3456  // InterleaveLoGrouped interleaves the elements of the low half of each 128-bit subvector of x and y.
  3457  //
  3458  // Asm: VPUNPCKLQDQ, CPU Feature: AVX2
  3459  func (x Uint64x4) InterleaveLoGrouped(y Uint64x4) Uint64x4
  3460  
  3461  // InterleaveLoGrouped interleaves the elements of the low half of each 128-bit subvector of x and y.
  3462  //
  3463  // Asm: VPUNPCKLQDQ, CPU Feature: AVX512
  3464  func (x Uint64x8) InterleaveLoGrouped(y Uint64x8) Uint64x8
  3465  
  3466  /* LeadingZeros */
  3467  
  3468  // LeadingZeros counts the leading zeros of each element in x.
  3469  //
  3470  // Asm: VPLZCNTD, CPU Feature: AVX512
  3471  func (x Int32x4) LeadingZeros() Int32x4
  3472  
  3473  // LeadingZeros counts the leading zeros of each element in x.
  3474  //
  3475  // Asm: VPLZCNTD, CPU Feature: AVX512
  3476  func (x Int32x8) LeadingZeros() Int32x8
  3477  
  3478  // LeadingZeros counts the leading zeros of each element in x.
  3479  //
  3480  // Asm: VPLZCNTD, CPU Feature: AVX512
  3481  func (x Int32x16) LeadingZeros() Int32x16
  3482  
  3483  // LeadingZeros counts the leading zeros of each element in x.
  3484  //
  3485  // Asm: VPLZCNTQ, CPU Feature: AVX512
  3486  func (x Int64x2) LeadingZeros() Int64x2
  3487  
  3488  // LeadingZeros counts the leading zeros of each element in x.
  3489  //
  3490  // Asm: VPLZCNTQ, CPU Feature: AVX512
  3491  func (x Int64x4) LeadingZeros() Int64x4
  3492  
  3493  // LeadingZeros counts the leading zeros of each element in x.
  3494  //
  3495  // Asm: VPLZCNTQ, CPU Feature: AVX512
  3496  func (x Int64x8) LeadingZeros() Int64x8
  3497  
  3498  // LeadingZeros counts the leading zeros of each element in x.
  3499  //
  3500  // Asm: VPLZCNTD, CPU Feature: AVX512
  3501  func (x Uint32x4) LeadingZeros() Uint32x4
  3502  
  3503  // LeadingZeros counts the leading zeros of each element in x.
  3504  //
  3505  // Asm: VPLZCNTD, CPU Feature: AVX512
  3506  func (x Uint32x8) LeadingZeros() Uint32x8
  3507  
  3508  // LeadingZeros counts the leading zeros of each element in x.
  3509  //
  3510  // Asm: VPLZCNTD, CPU Feature: AVX512
  3511  func (x Uint32x16) LeadingZeros() Uint32x16
  3512  
  3513  // LeadingZeros counts the leading zeros of each element in x.
  3514  //
  3515  // Asm: VPLZCNTQ, CPU Feature: AVX512
  3516  func (x Uint64x2) LeadingZeros() Uint64x2
  3517  
  3518  // LeadingZeros counts the leading zeros of each element in x.
  3519  //
  3520  // Asm: VPLZCNTQ, CPU Feature: AVX512
  3521  func (x Uint64x4) LeadingZeros() Uint64x4
  3522  
  3523  // LeadingZeros counts the leading zeros of each element in x.
  3524  //
  3525  // Asm: VPLZCNTQ, CPU Feature: AVX512
  3526  func (x Uint64x8) LeadingZeros() Uint64x8
  3527  
  3528  /* Less */
  3529  
  3530  // Less returns a mask whose elements indicate whether x < y.
  3531  //
  3532  // Asm: VCMPPS, CPU Feature: AVX
  3533  func (x Float32x4) Less(y Float32x4) Mask32x4
  3534  
  3535  // Less returns a mask whose elements indicate whether x < y.
  3536  //
  3537  // Asm: VCMPPS, CPU Feature: AVX
  3538  func (x Float32x8) Less(y Float32x8) Mask32x8
  3539  
  3540  // Less returns a mask whose elements indicate whether x < y.
  3541  //
  3542  // Asm: VCMPPS, CPU Feature: AVX512
  3543  func (x Float32x16) Less(y Float32x16) Mask32x16
  3544  
  3545  // Less returns a mask whose elements indicate whether x < y.
  3546  //
  3547  // Asm: VCMPPD, CPU Feature: AVX
  3548  func (x Float64x2) Less(y Float64x2) Mask64x2
  3549  
  3550  // Less returns a mask whose elements indicate whether x < y.
  3551  //
  3552  // Asm: VCMPPD, CPU Feature: AVX
  3553  func (x Float64x4) Less(y Float64x4) Mask64x4
  3554  
  3555  // Less returns a mask whose elements indicate whether x < y.
  3556  //
  3557  // Asm: VCMPPD, CPU Feature: AVX512
  3558  func (x Float64x8) Less(y Float64x8) Mask64x8
  3559  
  3560  // Less returns a mask whose elements indicate whether x < y.
  3561  //
  3562  // Asm: VPCMPB, CPU Feature: AVX512
  3563  func (x Int8x64) Less(y Int8x64) Mask8x64
  3564  
  3565  // Less returns a mask whose elements indicate whether x < y.
  3566  //
  3567  // Asm: VPCMPW, CPU Feature: AVX512
  3568  func (x Int16x32) Less(y Int16x32) Mask16x32
  3569  
  3570  // Less returns a mask whose elements indicate whether x < y.
  3571  //
  3572  // Asm: VPCMPD, CPU Feature: AVX512
  3573  func (x Int32x16) Less(y Int32x16) Mask32x16
  3574  
  3575  // Less returns a mask whose elements indicate whether x < y.
  3576  //
  3577  // Asm: VPCMPQ, CPU Feature: AVX512
  3578  func (x Int64x8) Less(y Int64x8) Mask64x8
  3579  
  3580  // Less returns a mask whose elements indicate whether x < y.
  3581  //
  3582  // Asm: VPCMPUB, CPU Feature: AVX512
  3583  func (x Uint8x64) Less(y Uint8x64) Mask8x64
  3584  
  3585  // Less returns a mask whose elements indicate whether x < y.
  3586  //
  3587  // Asm: VPCMPUW, CPU Feature: AVX512
  3588  func (x Uint16x32) Less(y Uint16x32) Mask16x32
  3589  
  3590  // Less returns a mask whose elements indicate whether x < y.
  3591  //
  3592  // Asm: VPCMPUD, CPU Feature: AVX512
  3593  func (x Uint32x16) Less(y Uint32x16) Mask32x16
  3594  
  3595  // Less returns a mask whose elements indicate whether x < y.
  3596  //
  3597  // Asm: VPCMPUQ, CPU Feature: AVX512
  3598  func (x Uint64x8) Less(y Uint64x8) Mask64x8
  3599  
  3600  /* LessEqual */
  3601  
  3602  // LessEqual returns a mask whose elements indicate whether x <= y.
  3603  //
  3604  // Asm: VCMPPS, CPU Feature: AVX
  3605  func (x Float32x4) LessEqual(y Float32x4) Mask32x4
  3606  
  3607  // LessEqual returns a mask whose elements indicate whether x <= y.
  3608  //
  3609  // Asm: VCMPPS, CPU Feature: AVX
  3610  func (x Float32x8) LessEqual(y Float32x8) Mask32x8
  3611  
  3612  // LessEqual returns a mask whose elements indicate whether x <= y.
  3613  //
  3614  // Asm: VCMPPS, CPU Feature: AVX512
  3615  func (x Float32x16) LessEqual(y Float32x16) Mask32x16
  3616  
  3617  // LessEqual returns a mask whose elements indicate whether x <= y.
  3618  //
  3619  // Asm: VCMPPD, CPU Feature: AVX
  3620  func (x Float64x2) LessEqual(y Float64x2) Mask64x2
  3621  
  3622  // LessEqual returns a mask whose elements indicate whether x <= y.
  3623  //
  3624  // Asm: VCMPPD, CPU Feature: AVX
  3625  func (x Float64x4) LessEqual(y Float64x4) Mask64x4
  3626  
  3627  // LessEqual returns a mask whose elements indicate whether x <= y.
  3628  //
  3629  // Asm: VCMPPD, CPU Feature: AVX512
  3630  func (x Float64x8) LessEqual(y Float64x8) Mask64x8
  3631  
  3632  // LessEqual returns a mask whose elements indicate whether x <= y.
  3633  //
  3634  // Asm: VPCMPB, CPU Feature: AVX512
  3635  func (x Int8x64) LessEqual(y Int8x64) Mask8x64
  3636  
  3637  // LessEqual returns a mask whose elements indicate whether x <= y.
  3638  //
  3639  // Asm: VPCMPW, CPU Feature: AVX512
  3640  func (x Int16x32) LessEqual(y Int16x32) Mask16x32
  3641  
  3642  // LessEqual returns a mask whose elements indicate whether x <= y.
  3643  //
  3644  // Asm: VPCMPD, CPU Feature: AVX512
  3645  func (x Int32x16) LessEqual(y Int32x16) Mask32x16
  3646  
  3647  // LessEqual returns a mask whose elements indicate whether x <= y.
  3648  //
  3649  // Asm: VPCMPQ, CPU Feature: AVX512
  3650  func (x Int64x8) LessEqual(y Int64x8) Mask64x8
  3651  
  3652  // LessEqual returns a mask whose elements indicate whether x <= y.
  3653  //
  3654  // Asm: VPCMPUB, CPU Feature: AVX512
  3655  func (x Uint8x64) LessEqual(y Uint8x64) Mask8x64
  3656  
  3657  // LessEqual returns a mask whose elements indicate whether x <= y.
  3658  //
  3659  // Asm: VPCMPUW, CPU Feature: AVX512
  3660  func (x Uint16x32) LessEqual(y Uint16x32) Mask16x32
  3661  
  3662  // LessEqual returns a mask whose elements indicate whether x <= y.
  3663  //
  3664  // Asm: VPCMPUD, CPU Feature: AVX512
  3665  func (x Uint32x16) LessEqual(y Uint32x16) Mask32x16
  3666  
  3667  // LessEqual returns a mask whose elements indicate whether x <= y.
  3668  //
  3669  // Asm: VPCMPUQ, CPU Feature: AVX512
  3670  func (x Uint64x8) LessEqual(y Uint64x8) Mask64x8
  3671  
  3672  /* Max */
  3673  
  3674  // Max computes the maximum of each pair of corresponding elements in x and y.
  3675  //
  3676  // Asm: VMAXPS, CPU Feature: AVX
  3677  func (x Float32x4) Max(y Float32x4) Float32x4
  3678  
  3679  // Max computes the maximum of each pair of corresponding elements in x and y.
  3680  //
  3681  // Asm: VMAXPS, CPU Feature: AVX
  3682  func (x Float32x8) Max(y Float32x8) Float32x8
  3683  
  3684  // Max computes the maximum of each pair of corresponding elements in x and y.
  3685  //
  3686  // Asm: VMAXPS, CPU Feature: AVX512
  3687  func (x Float32x16) Max(y Float32x16) Float32x16
  3688  
  3689  // Max computes the maximum of each pair of corresponding elements in x and y.
  3690  //
  3691  // Asm: VMAXPD, CPU Feature: AVX
  3692  func (x Float64x2) Max(y Float64x2) Float64x2
  3693  
  3694  // Max computes the maximum of each pair of corresponding elements in x and y.
  3695  //
  3696  // Asm: VMAXPD, CPU Feature: AVX
  3697  func (x Float64x4) Max(y Float64x4) Float64x4
  3698  
  3699  // Max computes the maximum of each pair of corresponding elements in x and y.
  3700  //
  3701  // Asm: VMAXPD, CPU Feature: AVX512
  3702  func (x Float64x8) Max(y Float64x8) Float64x8
  3703  
  3704  // Max computes the maximum of each pair of corresponding elements in x and y.
  3705  //
  3706  // Asm: VPMAXSB, CPU Feature: AVX
  3707  func (x Int8x16) Max(y Int8x16) Int8x16
  3708  
  3709  // Max computes the maximum of each pair of corresponding elements in x and y.
  3710  //
  3711  // Asm: VPMAXSB, CPU Feature: AVX2
  3712  func (x Int8x32) Max(y Int8x32) Int8x32
  3713  
  3714  // Max computes the maximum of each pair of corresponding elements in x and y.
  3715  //
  3716  // Asm: VPMAXSB, CPU Feature: AVX512
  3717  func (x Int8x64) Max(y Int8x64) Int8x64
  3718  
  3719  // Max computes the maximum of each pair of corresponding elements in x and y.
  3720  //
  3721  // Asm: VPMAXSW, CPU Feature: AVX
  3722  func (x Int16x8) Max(y Int16x8) Int16x8
  3723  
  3724  // Max computes the maximum of each pair of corresponding elements in x and y.
  3725  //
  3726  // Asm: VPMAXSW, CPU Feature: AVX2
  3727  func (x Int16x16) Max(y Int16x16) Int16x16
  3728  
  3729  // Max computes the maximum of each pair of corresponding elements in x and y.
  3730  //
  3731  // Asm: VPMAXSW, CPU Feature: AVX512
  3732  func (x Int16x32) Max(y Int16x32) Int16x32
  3733  
  3734  // Max computes the maximum of each pair of corresponding elements in x and y.
  3735  //
  3736  // Asm: VPMAXSD, CPU Feature: AVX
  3737  func (x Int32x4) Max(y Int32x4) Int32x4
  3738  
  3739  // Max computes the maximum of each pair of corresponding elements in x and y.
  3740  //
  3741  // Asm: VPMAXSD, CPU Feature: AVX2
  3742  func (x Int32x8) Max(y Int32x8) Int32x8
  3743  
  3744  // Max computes the maximum of each pair of corresponding elements in x and y.
  3745  //
  3746  // Asm: VPMAXSD, CPU Feature: AVX512
  3747  func (x Int32x16) Max(y Int32x16) Int32x16
  3748  
  3749  // Max computes the maximum of each pair of corresponding elements in x and y.
  3750  //
  3751  // Asm: VPMAXSQ, CPU Feature: AVX512
  3752  func (x Int64x2) Max(y Int64x2) Int64x2
  3753  
  3754  // Max computes the maximum of each pair of corresponding elements in x and y.
  3755  //
  3756  // Asm: VPMAXSQ, CPU Feature: AVX512
  3757  func (x Int64x4) Max(y Int64x4) Int64x4
  3758  
  3759  // Max computes the maximum of each pair of corresponding elements in x and y.
  3760  //
  3761  // Asm: VPMAXSQ, CPU Feature: AVX512
  3762  func (x Int64x8) Max(y Int64x8) Int64x8
  3763  
  3764  // Max computes the maximum of each pair of corresponding elements in x and y.
  3765  //
  3766  // Asm: VPMAXUB, CPU Feature: AVX
  3767  func (x Uint8x16) Max(y Uint8x16) Uint8x16
  3768  
  3769  // Max computes the maximum of each pair of corresponding elements in x and y.
  3770  //
  3771  // Asm: VPMAXUB, CPU Feature: AVX2
  3772  func (x Uint8x32) Max(y Uint8x32) Uint8x32
  3773  
  3774  // Max computes the maximum of each pair of corresponding elements in x and y.
  3775  //
  3776  // Asm: VPMAXUB, CPU Feature: AVX512
  3777  func (x Uint8x64) Max(y Uint8x64) Uint8x64
  3778  
  3779  // Max computes the maximum of each pair of corresponding elements in x and y.
  3780  //
  3781  // Asm: VPMAXUW, CPU Feature: AVX
  3782  func (x Uint16x8) Max(y Uint16x8) Uint16x8
  3783  
  3784  // Max computes the maximum of each pair of corresponding elements in x and y.
  3785  //
  3786  // Asm: VPMAXUW, CPU Feature: AVX2
  3787  func (x Uint16x16) Max(y Uint16x16) Uint16x16
  3788  
  3789  // Max computes the maximum of each pair of corresponding elements in x and y.
  3790  //
  3791  // Asm: VPMAXUW, CPU Feature: AVX512
  3792  func (x Uint16x32) Max(y Uint16x32) Uint16x32
  3793  
  3794  // Max computes the maximum of each pair of corresponding elements in x and y.
  3795  //
  3796  // Asm: VPMAXUD, CPU Feature: AVX
  3797  func (x Uint32x4) Max(y Uint32x4) Uint32x4
  3798  
  3799  // Max computes the maximum of each pair of corresponding elements in x and y.
  3800  //
  3801  // Asm: VPMAXUD, CPU Feature: AVX2
  3802  func (x Uint32x8) Max(y Uint32x8) Uint32x8
  3803  
  3804  // Max computes the maximum of each pair of corresponding elements in x and y.
  3805  //
  3806  // Asm: VPMAXUD, CPU Feature: AVX512
  3807  func (x Uint32x16) Max(y Uint32x16) Uint32x16
  3808  
  3809  // Max computes the maximum of each pair of corresponding elements in x and y.
  3810  //
  3811  // Asm: VPMAXUQ, CPU Feature: AVX512
  3812  func (x Uint64x2) Max(y Uint64x2) Uint64x2
  3813  
  3814  // Max computes the maximum of each pair of corresponding elements in x and y.
  3815  //
  3816  // Asm: VPMAXUQ, CPU Feature: AVX512
  3817  func (x Uint64x4) Max(y Uint64x4) Uint64x4
  3818  
  3819  // Max computes the maximum of each pair of corresponding elements in x and y.
  3820  //
  3821  // Asm: VPMAXUQ, CPU Feature: AVX512
  3822  func (x Uint64x8) Max(y Uint64x8) Uint64x8
  3823  
  3824  /* Min */
  3825  
  3826  // Min computes the minimum of each pair of corresponding elements in x and y.
  3827  //
  3828  // Asm: VMINPS, CPU Feature: AVX
  3829  func (x Float32x4) Min(y Float32x4) Float32x4
  3830  
  3831  // Min computes the minimum of each pair of corresponding elements in x and y.
  3832  //
  3833  // Asm: VMINPS, CPU Feature: AVX
  3834  func (x Float32x8) Min(y Float32x8) Float32x8
  3835  
  3836  // Min computes the minimum of each pair of corresponding elements in x and y.
  3837  //
  3838  // Asm: VMINPS, CPU Feature: AVX512
  3839  func (x Float32x16) Min(y Float32x16) Float32x16
  3840  
  3841  // Min computes the minimum of each pair of corresponding elements in x and y.
  3842  //
  3843  // Asm: VMINPD, CPU Feature: AVX
  3844  func (x Float64x2) Min(y Float64x2) Float64x2
  3845  
  3846  // Min computes the minimum of each pair of corresponding elements in x and y.
  3847  //
  3848  // Asm: VMINPD, CPU Feature: AVX
  3849  func (x Float64x4) Min(y Float64x4) Float64x4
  3850  
  3851  // Min computes the minimum of each pair of corresponding elements in x and y.
  3852  //
  3853  // Asm: VMINPD, CPU Feature: AVX512
  3854  func (x Float64x8) Min(y Float64x8) Float64x8
  3855  
  3856  // Min computes the minimum of each pair of corresponding elements in x and y.
  3857  //
  3858  // Asm: VPMINSB, CPU Feature: AVX
  3859  func (x Int8x16) Min(y Int8x16) Int8x16
  3860  
  3861  // Min computes the minimum of each pair of corresponding elements in x and y.
  3862  //
  3863  // Asm: VPMINSB, CPU Feature: AVX2
  3864  func (x Int8x32) Min(y Int8x32) Int8x32
  3865  
  3866  // Min computes the minimum of each pair of corresponding elements in x and y.
  3867  //
  3868  // Asm: VPMINSB, CPU Feature: AVX512
  3869  func (x Int8x64) Min(y Int8x64) Int8x64
  3870  
  3871  // Min computes the minimum of each pair of corresponding elements in x and y.
  3872  //
  3873  // Asm: VPMINSW, CPU Feature: AVX
  3874  func (x Int16x8) Min(y Int16x8) Int16x8
  3875  
  3876  // Min computes the minimum of each pair of corresponding elements in x and y.
  3877  //
  3878  // Asm: VPMINSW, CPU Feature: AVX2
  3879  func (x Int16x16) Min(y Int16x16) Int16x16
  3880  
  3881  // Min computes the minimum of each pair of corresponding elements in x and y.
  3882  //
  3883  // Asm: VPMINSW, CPU Feature: AVX512
  3884  func (x Int16x32) Min(y Int16x32) Int16x32
  3885  
  3886  // Min computes the minimum of each pair of corresponding elements in x and y.
  3887  //
  3888  // Asm: VPMINSD, CPU Feature: AVX
  3889  func (x Int32x4) Min(y Int32x4) Int32x4
  3890  
  3891  // Min computes the minimum of each pair of corresponding elements in x and y.
  3892  //
  3893  // Asm: VPMINSD, CPU Feature: AVX2
  3894  func (x Int32x8) Min(y Int32x8) Int32x8
  3895  
  3896  // Min computes the minimum of each pair of corresponding elements in x and y.
  3897  //
  3898  // Asm: VPMINSD, CPU Feature: AVX512
  3899  func (x Int32x16) Min(y Int32x16) Int32x16
  3900  
  3901  // Min computes the minimum of each pair of corresponding elements in x and y.
  3902  //
  3903  // Asm: VPMINSQ, CPU Feature: AVX512
  3904  func (x Int64x2) Min(y Int64x2) Int64x2
  3905  
  3906  // Min computes the minimum of each pair of corresponding elements in x and y.
  3907  //
  3908  // Asm: VPMINSQ, CPU Feature: AVX512
  3909  func (x Int64x4) Min(y Int64x4) Int64x4
  3910  
  3911  // Min computes the minimum of each pair of corresponding elements in x and y.
  3912  //
  3913  // Asm: VPMINSQ, CPU Feature: AVX512
  3914  func (x Int64x8) Min(y Int64x8) Int64x8
  3915  
  3916  // Min computes the minimum of each pair of corresponding elements in x and y.
  3917  //
  3918  // Asm: VPMINUB, CPU Feature: AVX
  3919  func (x Uint8x16) Min(y Uint8x16) Uint8x16
  3920  
  3921  // Min computes the minimum of each pair of corresponding elements in x and y.
  3922  //
  3923  // Asm: VPMINUB, CPU Feature: AVX2
  3924  func (x Uint8x32) Min(y Uint8x32) Uint8x32
  3925  
  3926  // Min computes the minimum of each pair of corresponding elements in x and y.
  3927  //
  3928  // Asm: VPMINUB, CPU Feature: AVX512
  3929  func (x Uint8x64) Min(y Uint8x64) Uint8x64
  3930  
  3931  // Min computes the minimum of each pair of corresponding elements in x and y.
  3932  //
  3933  // Asm: VPMINUW, CPU Feature: AVX
  3934  func (x Uint16x8) Min(y Uint16x8) Uint16x8
  3935  
  3936  // Min computes the minimum of each pair of corresponding elements in x and y.
  3937  //
  3938  // Asm: VPMINUW, CPU Feature: AVX2
  3939  func (x Uint16x16) Min(y Uint16x16) Uint16x16
  3940  
  3941  // Min computes the minimum of each pair of corresponding elements in x and y.
  3942  //
  3943  // Asm: VPMINUW, CPU Feature: AVX512
  3944  func (x Uint16x32) Min(y Uint16x32) Uint16x32
  3945  
  3946  // Min computes the minimum of each pair of corresponding elements in x and y.
  3947  //
  3948  // Asm: VPMINUD, CPU Feature: AVX
  3949  func (x Uint32x4) Min(y Uint32x4) Uint32x4
  3950  
  3951  // Min computes the minimum of each pair of corresponding elements in x and y.
  3952  //
  3953  // Asm: VPMINUD, CPU Feature: AVX2
  3954  func (x Uint32x8) Min(y Uint32x8) Uint32x8
  3955  
  3956  // Min computes the minimum of each pair of corresponding elements in x and y.
  3957  //
  3958  // Asm: VPMINUD, CPU Feature: AVX512
  3959  func (x Uint32x16) Min(y Uint32x16) Uint32x16
  3960  
  3961  // Min computes the minimum of each pair of corresponding elements in x and y.
  3962  //
  3963  // Asm: VPMINUQ, CPU Feature: AVX512
  3964  func (x Uint64x2) Min(y Uint64x2) Uint64x2
  3965  
  3966  // Min computes the minimum of each pair of corresponding elements in x and y.
  3967  //
  3968  // Asm: VPMINUQ, CPU Feature: AVX512
  3969  func (x Uint64x4) Min(y Uint64x4) Uint64x4
  3970  
  3971  // Min computes the minimum of each pair of corresponding elements in x and y.
  3972  //
  3973  // Asm: VPMINUQ, CPU Feature: AVX512
  3974  func (x Uint64x8) Min(y Uint64x8) Uint64x8
  3975  
  3976  /* Mul */
  3977  
  3978  // Mul multiplies corresponding elements of two vectors, modulo 2ⁿ.
  3979  //
  3980  // Asm: VMULPS, CPU Feature: AVX
  3981  func (x Float32x4) Mul(y Float32x4) Float32x4
  3982  
  3983  // Mul multiplies corresponding elements of two vectors, modulo 2ⁿ.
  3984  //
  3985  // Asm: VMULPS, CPU Feature: AVX
  3986  func (x Float32x8) Mul(y Float32x8) Float32x8
  3987  
  3988  // Mul multiplies corresponding elements of two vectors, modulo 2ⁿ.
  3989  //
  3990  // Asm: VMULPS, CPU Feature: AVX512
  3991  func (x Float32x16) Mul(y Float32x16) Float32x16
  3992  
  3993  // Mul multiplies corresponding elements of two vectors, modulo 2ⁿ.
  3994  //
  3995  // Asm: VMULPD, CPU Feature: AVX
  3996  func (x Float64x2) Mul(y Float64x2) Float64x2
  3997  
  3998  // Mul multiplies corresponding elements of two vectors, modulo 2ⁿ.
  3999  //
  4000  // Asm: VMULPD, CPU Feature: AVX
  4001  func (x Float64x4) Mul(y Float64x4) Float64x4
  4002  
  4003  // Mul multiplies corresponding elements of two vectors, modulo 2ⁿ.
  4004  //
  4005  // Asm: VMULPD, CPU Feature: AVX512
  4006  func (x Float64x8) Mul(y Float64x8) Float64x8
  4007  
  4008  // Mul multiplies corresponding elements of two vectors, modulo 2ⁿ.
  4009  //
  4010  // Asm: VPMULLW, CPU Feature: AVX
  4011  func (x Int16x8) Mul(y Int16x8) Int16x8
  4012  
  4013  // Mul multiplies corresponding elements of two vectors, modulo 2ⁿ.
  4014  //
  4015  // Asm: VPMULLW, CPU Feature: AVX2
  4016  func (x Int16x16) Mul(y Int16x16) Int16x16
  4017  
  4018  // Mul multiplies corresponding elements of two vectors, modulo 2ⁿ.
  4019  //
  4020  // Asm: VPMULLW, CPU Feature: AVX512
  4021  func (x Int16x32) Mul(y Int16x32) Int16x32
  4022  
  4023  // Mul multiplies corresponding elements of two vectors, modulo 2ⁿ.
  4024  //
  4025  // Asm: VPMULLD, CPU Feature: AVX
  4026  func (x Int32x4) Mul(y Int32x4) Int32x4
  4027  
  4028  // Mul multiplies corresponding elements of two vectors, modulo 2ⁿ.
  4029  //
  4030  // Asm: VPMULLD, CPU Feature: AVX2
  4031  func (x Int32x8) Mul(y Int32x8) Int32x8
  4032  
  4033  // Mul multiplies corresponding elements of two vectors, modulo 2ⁿ.
  4034  //
  4035  // Asm: VPMULLD, CPU Feature: AVX512
  4036  func (x Int32x16) Mul(y Int32x16) Int32x16
  4037  
  4038  // Mul multiplies corresponding elements of two vectors, modulo 2ⁿ.
  4039  //
  4040  // Asm: VPMULLQ, CPU Feature: AVX512
  4041  func (x Int64x2) Mul(y Int64x2) Int64x2
  4042  
  4043  // Mul multiplies corresponding elements of two vectors, modulo 2ⁿ.
  4044  //
  4045  // Asm: VPMULLQ, CPU Feature: AVX512
  4046  func (x Int64x4) Mul(y Int64x4) Int64x4
  4047  
  4048  // Mul multiplies corresponding elements of two vectors, modulo 2ⁿ.
  4049  //
  4050  // Asm: VPMULLQ, CPU Feature: AVX512
  4051  func (x Int64x8) Mul(y Int64x8) Int64x8
  4052  
  4053  // Mul multiplies corresponding elements of two vectors, modulo 2ⁿ.
  4054  //
  4055  // Asm: VPMULLW, CPU Feature: AVX
  4056  func (x Uint16x8) Mul(y Uint16x8) Uint16x8
  4057  
  4058  // Mul multiplies corresponding elements of two vectors, modulo 2ⁿ.
  4059  //
  4060  // Asm: VPMULLW, CPU Feature: AVX2
  4061  func (x Uint16x16) Mul(y Uint16x16) Uint16x16
  4062  
  4063  // Mul multiplies corresponding elements of two vectors, modulo 2ⁿ.
  4064  //
  4065  // Asm: VPMULLW, CPU Feature: AVX512
  4066  func (x Uint16x32) Mul(y Uint16x32) Uint16x32
  4067  
  4068  // Mul multiplies corresponding elements of two vectors, modulo 2ⁿ.
  4069  //
  4070  // Asm: VPMULLD, CPU Feature: AVX
  4071  func (x Uint32x4) Mul(y Uint32x4) Uint32x4
  4072  
  4073  // Mul multiplies corresponding elements of two vectors, modulo 2ⁿ.
  4074  //
  4075  // Asm: VPMULLD, CPU Feature: AVX2
  4076  func (x Uint32x8) Mul(y Uint32x8) Uint32x8
  4077  
  4078  // Mul multiplies corresponding elements of two vectors, modulo 2ⁿ.
  4079  //
  4080  // Asm: VPMULLD, CPU Feature: AVX512
  4081  func (x Uint32x16) Mul(y Uint32x16) Uint32x16
  4082  
  4083  // Mul multiplies corresponding elements of two vectors, modulo 2ⁿ.
  4084  //
  4085  // Asm: VPMULLQ, CPU Feature: AVX512
  4086  func (x Uint64x2) Mul(y Uint64x2) Uint64x2
  4087  
  4088  // Mul multiplies corresponding elements of two vectors, modulo 2ⁿ.
  4089  //
  4090  // Asm: VPMULLQ, CPU Feature: AVX512
  4091  func (x Uint64x4) Mul(y Uint64x4) Uint64x4
  4092  
  4093  // Mul multiplies corresponding elements of two vectors, modulo 2ⁿ.
  4094  //
  4095  // Asm: VPMULLQ, CPU Feature: AVX512
  4096  func (x Uint64x8) Mul(y Uint64x8) Uint64x8
  4097  
  4098  /* MulAdd */
  4099  
  4100  // MulAdd performs a fused (x * y) + z.
  4101  //
  4102  // Asm: VFMADD213PS, CPU Feature: FMA
  4103  func (x Float32x4) MulAdd(y Float32x4, z Float32x4) Float32x4
  4104  
  4105  // MulAdd performs a fused (x * y) + z.
  4106  //
  4107  // Asm: VFMADD213PS, CPU Feature: FMA
  4108  func (x Float32x8) MulAdd(y Float32x8, z Float32x8) Float32x8
  4109  
  4110  // MulAdd performs a fused (x * y) + z.
  4111  //
  4112  // Asm: VFMADD213PS, CPU Feature: AVX512
  4113  func (x Float32x16) MulAdd(y Float32x16, z Float32x16) Float32x16
  4114  
  4115  // MulAdd performs a fused (x * y) + z.
  4116  //
  4117  // Asm: VFMADD213PD, CPU Feature: FMA
  4118  func (x Float64x2) MulAdd(y Float64x2, z Float64x2) Float64x2
  4119  
  4120  // MulAdd performs a fused (x * y) + z.
  4121  //
  4122  // Asm: VFMADD213PD, CPU Feature: FMA
  4123  func (x Float64x4) MulAdd(y Float64x4, z Float64x4) Float64x4
  4124  
  4125  // MulAdd performs a fused (x * y) + z.
  4126  //
  4127  // Asm: VFMADD213PD, CPU Feature: AVX512
  4128  func (x Float64x8) MulAdd(y Float64x8, z Float64x8) Float64x8
  4129  
  4130  /* MulAddEvenSubOdd */
  4131  
  4132  // MulAddEvenSubOdd performs a fused (x * y) - z for odd-indexed elements, and (x * y) + z for even-indexed elements.
  4133  //
  4134  // Asm: VFMADDSUB213PS, CPU Feature: FMA
  4135  func (x Float32x4) MulAddEvenSubOdd(y Float32x4, z Float32x4) Float32x4
  4136  
  4137  // MulAddEvenSubOdd performs a fused (x * y) - z for odd-indexed elements, and (x * y) + z for even-indexed elements.
  4138  //
  4139  // Asm: VFMADDSUB213PS, CPU Feature: FMA
  4140  func (x Float32x8) MulAddEvenSubOdd(y Float32x8, z Float32x8) Float32x8
  4141  
  4142  // MulAddEvenSubOdd performs a fused (x * y) - z for odd-indexed elements, and (x * y) + z for even-indexed elements.
  4143  //
  4144  // Asm: VFMADDSUB213PS, CPU Feature: AVX512
  4145  func (x Float32x16) MulAddEvenSubOdd(y Float32x16, z Float32x16) Float32x16
  4146  
  4147  // MulAddEvenSubOdd performs a fused (x * y) - z for odd-indexed elements, and (x * y) + z for even-indexed elements.
  4148  //
  4149  // Asm: VFMADDSUB213PD, CPU Feature: FMA
  4150  func (x Float64x2) MulAddEvenSubOdd(y Float64x2, z Float64x2) Float64x2
  4151  
  4152  // MulAddEvenSubOdd performs a fused (x * y) - z for odd-indexed elements, and (x * y) + z for even-indexed elements.
  4153  //
  4154  // Asm: VFMADDSUB213PD, CPU Feature: FMA
  4155  func (x Float64x4) MulAddEvenSubOdd(y Float64x4, z Float64x4) Float64x4
  4156  
  4157  // MulAddEvenSubOdd performs a fused (x * y) - z for odd-indexed elements, and (x * y) + z for even-indexed elements.
  4158  //
  4159  // Asm: VFMADDSUB213PD, CPU Feature: AVX512
  4160  func (x Float64x8) MulAddEvenSubOdd(y Float64x8, z Float64x8) Float64x8
  4161  
  4162  /* MulAddOddSubEven */
  4163  
  4164  // MulAddOddSubEven performs a fused (x * y) + z for odd-indexed elements, and (x * y) - z for even-indexed elements.
  4165  //
  4166  // Asm: VFMSUBADD213PS, CPU Feature: FMA
  4167  func (x Float32x4) MulAddOddSubEven(y Float32x4, z Float32x4) Float32x4
  4168  
  4169  // MulAddOddSubEven performs a fused (x * y) + z for odd-indexed elements, and (x * y) - z for even-indexed elements.
  4170  //
  4171  // Asm: VFMSUBADD213PS, CPU Feature: FMA
  4172  func (x Float32x8) MulAddOddSubEven(y Float32x8, z Float32x8) Float32x8
  4173  
  4174  // MulAddOddSubEven performs a fused (x * y) + z for odd-indexed elements, and (x * y) - z for even-indexed elements.
  4175  //
  4176  // Asm: VFMSUBADD213PS, CPU Feature: AVX512
  4177  func (x Float32x16) MulAddOddSubEven(y Float32x16, z Float32x16) Float32x16
  4178  
  4179  // MulAddOddSubEven performs a fused (x * y) + z for odd-indexed elements, and (x * y) - z for even-indexed elements.
  4180  //
  4181  // Asm: VFMSUBADD213PD, CPU Feature: FMA
  4182  func (x Float64x2) MulAddOddSubEven(y Float64x2, z Float64x2) Float64x2
  4183  
  4184  // MulAddOddSubEven performs a fused (x * y) + z for odd-indexed elements, and (x * y) - z for even-indexed elements.
  4185  //
  4186  // Asm: VFMSUBADD213PD, CPU Feature: FMA
  4187  func (x Float64x4) MulAddOddSubEven(y Float64x4, z Float64x4) Float64x4
  4188  
  4189  // MulAddOddSubEven performs a fused (x * y) + z for odd-indexed elements, and (x * y) - z for even-indexed elements.
  4190  //
  4191  // Asm: VFMSUBADD213PD, CPU Feature: AVX512
  4192  func (x Float64x8) MulAddOddSubEven(y Float64x8, z Float64x8) Float64x8
  4193  
  4194  /* MulHigh */
  4195  
  4196  // MulHigh multiplies elements and stores the high part of the result.
  4197  //
  4198  // Asm: VPMULHW, CPU Feature: AVX
  4199  func (x Int16x8) MulHigh(y Int16x8) Int16x8
  4200  
  4201  // MulHigh multiplies elements and stores the high part of the result.
  4202  //
  4203  // Asm: VPMULHW, CPU Feature: AVX2
  4204  func (x Int16x16) MulHigh(y Int16x16) Int16x16
  4205  
  4206  // MulHigh multiplies elements and stores the high part of the result.
  4207  //
  4208  // Asm: VPMULHW, CPU Feature: AVX512
  4209  func (x Int16x32) MulHigh(y Int16x32) Int16x32
  4210  
  4211  // MulHigh multiplies elements and stores the high part of the result.
  4212  //
  4213  // Asm: VPMULHUW, CPU Feature: AVX
  4214  func (x Uint16x8) MulHigh(y Uint16x8) Uint16x8
  4215  
  4216  // MulHigh multiplies elements and stores the high part of the result.
  4217  //
  4218  // Asm: VPMULHUW, CPU Feature: AVX2
  4219  func (x Uint16x16) MulHigh(y Uint16x16) Uint16x16
  4220  
  4221  // MulHigh multiplies elements and stores the high part of the result.
  4222  //
  4223  // Asm: VPMULHUW, CPU Feature: AVX512
  4224  func (x Uint16x32) MulHigh(y Uint16x32) Uint16x32
  4225  
  4226  /* MulSign */
  4227  
  4228  // MulSign returns the product of x with the sign of y (-1, 0, or 1).
  4229  //
  4230  // Asm: VPSIGNB, CPU Feature: AVX
  4231  func (x Int8x16) MulSign(y Int8x16) Int8x16
  4232  
  4233  // MulSign returns the product of x with the sign of y (-1, 0, or 1).
  4234  //
  4235  // Asm: VPSIGNB, CPU Feature: AVX2
  4236  func (x Int8x32) MulSign(y Int8x32) Int8x32
  4237  
  4238  // MulSign returns the product of x with the sign of y (-1, 0, or 1).
  4239  //
  4240  // Asm: VPSIGNW, CPU Feature: AVX
  4241  func (x Int16x8) MulSign(y Int16x8) Int16x8
  4242  
  4243  // MulSign returns the product of x with the sign of y (-1, 0, or 1).
  4244  //
  4245  // Asm: VPSIGNW, CPU Feature: AVX2
  4246  func (x Int16x16) MulSign(y Int16x16) Int16x16
  4247  
  4248  // MulSign returns the product of x with the sign of y (-1, 0, or 1).
  4249  //
  4250  // Asm: VPSIGND, CPU Feature: AVX
  4251  func (x Int32x4) MulSign(y Int32x4) Int32x4
  4252  
  4253  // MulSign returns the product of x with the sign of y (-1, 0, or 1).
  4254  //
  4255  // Asm: VPSIGND, CPU Feature: AVX2
  4256  func (x Int32x8) MulSign(y Int32x8) Int32x8
  4257  
  4258  /* MulWidenEven */
  4259  
  4260  // MulWidenEven multiplies even-indexed elements, widening the result.
  4261  // Result[i] = v1[2*i] * v2[2*i].
  4262  //
  4263  // Asm: VPMULDQ, CPU Feature: AVX
  4264  func (x Int32x4) MulWidenEven(y Int32x4) Int64x2
  4265  
  4266  // MulWidenEven multiplies even-indexed elements, widening the result.
  4267  // Result[i] = v1[2*i] * v2[2*i].
  4268  //
  4269  // Asm: VPMULDQ, CPU Feature: AVX2
  4270  func (x Int32x8) MulWidenEven(y Int32x8) Int64x4
  4271  
  4272  // MulWidenEven multiplies even-indexed elements, widening the result.
  4273  // Result[i] = v1[2*i] * v2[2*i].
  4274  //
  4275  // Asm: VPMULUDQ, CPU Feature: AVX
  4276  func (x Uint32x4) MulWidenEven(y Uint32x4) Uint64x2
  4277  
  4278  // MulWidenEven multiplies even-indexed elements, widening the result.
  4279  // Result[i] = v1[2*i] * v2[2*i].
  4280  //
  4281  // Asm: VPMULUDQ, CPU Feature: AVX2
  4282  func (x Uint32x8) MulWidenEven(y Uint32x8) Uint64x4
  4283  
  4284  /* NotEqual */
  4285  
  4286  // NotEqual returns a mask whose elements indicate whether x != y.
  4287  //
  4288  // Asm: VCMPPS, CPU Feature: AVX
  4289  func (x Float32x4) NotEqual(y Float32x4) Mask32x4
  4290  
  4291  // NotEqual returns a mask whose elements indicate whether x != y.
  4292  //
  4293  // Asm: VCMPPS, CPU Feature: AVX
  4294  func (x Float32x8) NotEqual(y Float32x8) Mask32x8
  4295  
  4296  // NotEqual returns a mask whose elements indicate whether x != y.
  4297  //
  4298  // Asm: VCMPPS, CPU Feature: AVX512
  4299  func (x Float32x16) NotEqual(y Float32x16) Mask32x16
  4300  
  4301  // NotEqual returns a mask whose elements indicate whether x != y.
  4302  //
  4303  // Asm: VCMPPD, CPU Feature: AVX
  4304  func (x Float64x2) NotEqual(y Float64x2) Mask64x2
  4305  
  4306  // NotEqual returns a mask whose elements indicate whether x != y.
  4307  //
  4308  // Asm: VCMPPD, CPU Feature: AVX
  4309  func (x Float64x4) NotEqual(y Float64x4) Mask64x4
  4310  
  4311  // NotEqual returns a mask whose elements indicate whether x != y.
  4312  //
  4313  // Asm: VCMPPD, CPU Feature: AVX512
  4314  func (x Float64x8) NotEqual(y Float64x8) Mask64x8
  4315  
  4316  // NotEqual returns a mask whose elements indicate whether x != y.
  4317  //
  4318  // Asm: VPCMPB, CPU Feature: AVX512
  4319  func (x Int8x64) NotEqual(y Int8x64) Mask8x64
  4320  
  4321  // NotEqual returns a mask whose elements indicate whether x != y.
  4322  //
  4323  // Asm: VPCMPW, CPU Feature: AVX512
  4324  func (x Int16x32) NotEqual(y Int16x32) Mask16x32
  4325  
  4326  // NotEqual returns a mask whose elements indicate whether x != y.
  4327  //
  4328  // Asm: VPCMPD, CPU Feature: AVX512
  4329  func (x Int32x16) NotEqual(y Int32x16) Mask32x16
  4330  
  4331  // NotEqual returns a mask whose elements indicate whether x != y.
  4332  //
  4333  // Asm: VPCMPQ, CPU Feature: AVX512
  4334  func (x Int64x8) NotEqual(y Int64x8) Mask64x8
  4335  
  4336  // NotEqual returns a mask whose elements indicate whether x != y.
  4337  //
  4338  // Asm: VPCMPUB, CPU Feature: AVX512
  4339  func (x Uint8x64) NotEqual(y Uint8x64) Mask8x64
  4340  
  4341  // NotEqual returns a mask whose elements indicate whether x != y.
  4342  //
  4343  // Asm: VPCMPUW, CPU Feature: AVX512
  4344  func (x Uint16x32) NotEqual(y Uint16x32) Mask16x32
  4345  
  4346  // NotEqual returns a mask whose elements indicate whether x != y.
  4347  //
  4348  // Asm: VPCMPUD, CPU Feature: AVX512
  4349  func (x Uint32x16) NotEqual(y Uint32x16) Mask32x16
  4350  
  4351  // NotEqual returns a mask whose elements indicate whether x != y.
  4352  //
  4353  // Asm: VPCMPUQ, CPU Feature: AVX512
  4354  func (x Uint64x8) NotEqual(y Uint64x8) Mask64x8
  4355  
  4356  /* OnesCount */
  4357  
  4358  // OnesCount counts the number of set bits in each element.
  4359  //
  4360  // Asm: VPOPCNTB, CPU Feature: AVX512BITALG
  4361  func (x Int8x16) OnesCount() Int8x16
  4362  
  4363  // OnesCount counts the number of set bits in each element.
  4364  //
  4365  // Asm: VPOPCNTB, CPU Feature: AVX512BITALG
  4366  func (x Int8x32) OnesCount() Int8x32
  4367  
  4368  // OnesCount counts the number of set bits in each element.
  4369  //
  4370  // Asm: VPOPCNTB, CPU Feature: AVX512BITALG
  4371  func (x Int8x64) OnesCount() Int8x64
  4372  
  4373  // OnesCount counts the number of set bits in each element.
  4374  //
  4375  // Asm: VPOPCNTW, CPU Feature: AVX512BITALG
  4376  func (x Int16x8) OnesCount() Int16x8
  4377  
  4378  // OnesCount counts the number of set bits in each element.
  4379  //
  4380  // Asm: VPOPCNTW, CPU Feature: AVX512BITALG
  4381  func (x Int16x16) OnesCount() Int16x16
  4382  
  4383  // OnesCount counts the number of set bits in each element.
  4384  //
  4385  // Asm: VPOPCNTW, CPU Feature: AVX512BITALG
  4386  func (x Int16x32) OnesCount() Int16x32
  4387  
  4388  // OnesCount counts the number of set bits in each element.
  4389  //
  4390  // Asm: VPOPCNTD, CPU Feature: AVX512VPOPCNTDQ
  4391  func (x Int32x4) OnesCount() Int32x4
  4392  
  4393  // OnesCount counts the number of set bits in each element.
  4394  //
  4395  // Asm: VPOPCNTD, CPU Feature: AVX512VPOPCNTDQ
  4396  func (x Int32x8) OnesCount() Int32x8
  4397  
  4398  // OnesCount counts the number of set bits in each element.
  4399  //
  4400  // Asm: VPOPCNTD, CPU Feature: AVX512VPOPCNTDQ
  4401  func (x Int32x16) OnesCount() Int32x16
  4402  
  4403  // OnesCount counts the number of set bits in each element.
  4404  //
  4405  // Asm: VPOPCNTQ, CPU Feature: AVX512VPOPCNTDQ
  4406  func (x Int64x2) OnesCount() Int64x2
  4407  
  4408  // OnesCount counts the number of set bits in each element.
  4409  //
  4410  // Asm: VPOPCNTQ, CPU Feature: AVX512VPOPCNTDQ
  4411  func (x Int64x4) OnesCount() Int64x4
  4412  
  4413  // OnesCount counts the number of set bits in each element.
  4414  //
  4415  // Asm: VPOPCNTQ, CPU Feature: AVX512VPOPCNTDQ
  4416  func (x Int64x8) OnesCount() Int64x8
  4417  
  4418  // OnesCount counts the number of set bits in each element.
  4419  //
  4420  // Asm: VPOPCNTB, CPU Feature: AVX512BITALG
  4421  func (x Uint8x16) OnesCount() Uint8x16
  4422  
  4423  // OnesCount counts the number of set bits in each element.
  4424  //
  4425  // Asm: VPOPCNTB, CPU Feature: AVX512BITALG
  4426  func (x Uint8x32) OnesCount() Uint8x32
  4427  
  4428  // OnesCount counts the number of set bits in each element.
  4429  //
  4430  // Asm: VPOPCNTB, CPU Feature: AVX512BITALG
  4431  func (x Uint8x64) OnesCount() Uint8x64
  4432  
  4433  // OnesCount counts the number of set bits in each element.
  4434  //
  4435  // Asm: VPOPCNTW, CPU Feature: AVX512BITALG
  4436  func (x Uint16x8) OnesCount() Uint16x8
  4437  
  4438  // OnesCount counts the number of set bits in each element.
  4439  //
  4440  // Asm: VPOPCNTW, CPU Feature: AVX512BITALG
  4441  func (x Uint16x16) OnesCount() Uint16x16
  4442  
  4443  // OnesCount counts the number of set bits in each element.
  4444  //
  4445  // Asm: VPOPCNTW, CPU Feature: AVX512BITALG
  4446  func (x Uint16x32) OnesCount() Uint16x32
  4447  
  4448  // OnesCount counts the number of set bits in each element.
  4449  //
  4450  // Asm: VPOPCNTD, CPU Feature: AVX512VPOPCNTDQ
  4451  func (x Uint32x4) OnesCount() Uint32x4
  4452  
  4453  // OnesCount counts the number of set bits in each element.
  4454  //
  4455  // Asm: VPOPCNTD, CPU Feature: AVX512VPOPCNTDQ
  4456  func (x Uint32x8) OnesCount() Uint32x8
  4457  
  4458  // OnesCount counts the number of set bits in each element.
  4459  //
  4460  // Asm: VPOPCNTD, CPU Feature: AVX512VPOPCNTDQ
  4461  func (x Uint32x16) OnesCount() Uint32x16
  4462  
  4463  // OnesCount counts the number of set bits in each element.
  4464  //
  4465  // Asm: VPOPCNTQ, CPU Feature: AVX512VPOPCNTDQ
  4466  func (x Uint64x2) OnesCount() Uint64x2
  4467  
  4468  // OnesCount counts the number of set bits in each element.
  4469  //
  4470  // Asm: VPOPCNTQ, CPU Feature: AVX512VPOPCNTDQ
  4471  func (x Uint64x4) OnesCount() Uint64x4
  4472  
  4473  // OnesCount counts the number of set bits in each element.
  4474  //
  4475  // Asm: VPOPCNTQ, CPU Feature: AVX512VPOPCNTDQ
  4476  func (x Uint64x8) OnesCount() Uint64x8
  4477  
  4478  /* Or */
  4479  
  4480  // Or performs a bitwise x | y.
  4481  //
  4482  // Asm: VPOR, CPU Feature: AVX
  4483  func (x Int8x16) Or(y Int8x16) Int8x16
  4484  
  4485  // Or performs a bitwise x | y.
  4486  //
  4487  // Asm: VPOR, CPU Feature: AVX2
  4488  func (x Int8x32) Or(y Int8x32) Int8x32
  4489  
  4490  // Or performs a bitwise x | y.
  4491  //
  4492  // Asm: VPORD, CPU Feature: AVX512
  4493  func (x Int8x64) Or(y Int8x64) Int8x64
  4494  
  4495  // Or performs a bitwise x | y.
  4496  //
  4497  // Asm: VPOR, CPU Feature: AVX
  4498  func (x Int16x8) Or(y Int16x8) Int16x8
  4499  
  4500  // Or performs a bitwise x | y.
  4501  //
  4502  // Asm: VPOR, CPU Feature: AVX2
  4503  func (x Int16x16) Or(y Int16x16) Int16x16
  4504  
  4505  // Or performs a bitwise x | y.
  4506  //
  4507  // Asm: VPORD, CPU Feature: AVX512
  4508  func (x Int16x32) Or(y Int16x32) Int16x32
  4509  
  4510  // Or performs a bitwise x | y.
  4511  //
  4512  // Asm: VPOR, CPU Feature: AVX
  4513  func (x Int32x4) Or(y Int32x4) Int32x4
  4514  
  4515  // Or performs a bitwise x | y.
  4516  //
  4517  // Asm: VPOR, CPU Feature: AVX2
  4518  func (x Int32x8) Or(y Int32x8) Int32x8
  4519  
  4520  // Or performs a bitwise x | y.
  4521  //
  4522  // Asm: VPORD, CPU Feature: AVX512
  4523  func (x Int32x16) Or(y Int32x16) Int32x16
  4524  
  4525  // Or performs a bitwise x | y.
  4526  //
  4527  // Asm: VPOR, CPU Feature: AVX
  4528  func (x Int64x2) Or(y Int64x2) Int64x2
  4529  
  4530  // Or performs a bitwise x | y.
  4531  //
  4532  // Asm: VPOR, CPU Feature: AVX2
  4533  func (x Int64x4) Or(y Int64x4) Int64x4
  4534  
  4535  // Or performs a bitwise x | y.
  4536  //
  4537  // Asm: VPORQ, CPU Feature: AVX512
  4538  func (x Int64x8) Or(y Int64x8) Int64x8
  4539  
  4540  // Or performs a bitwise x | y.
  4541  //
  4542  // Asm: VPOR, CPU Feature: AVX
  4543  func (x Uint8x16) Or(y Uint8x16) Uint8x16
  4544  
  4545  // Or performs a bitwise x | y.
  4546  //
  4547  // Asm: VPOR, CPU Feature: AVX2
  4548  func (x Uint8x32) Or(y Uint8x32) Uint8x32
  4549  
  4550  // Or performs a bitwise x | y.
  4551  //
  4552  // Asm: VPORD, CPU Feature: AVX512
  4553  func (x Uint8x64) Or(y Uint8x64) Uint8x64
  4554  
  4555  // Or performs a bitwise x | y.
  4556  //
  4557  // Asm: VPOR, CPU Feature: AVX
  4558  func (x Uint16x8) Or(y Uint16x8) Uint16x8
  4559  
  4560  // Or performs a bitwise x | y.
  4561  //
  4562  // Asm: VPOR, CPU Feature: AVX2
  4563  func (x Uint16x16) Or(y Uint16x16) Uint16x16
  4564  
  4565  // Or performs a bitwise x | y.
  4566  //
  4567  // Asm: VPORD, CPU Feature: AVX512
  4568  func (x Uint16x32) Or(y Uint16x32) Uint16x32
  4569  
  4570  // Or performs a bitwise x | y.
  4571  //
  4572  // Asm: VPOR, CPU Feature: AVX
  4573  func (x Uint32x4) Or(y Uint32x4) Uint32x4
  4574  
  4575  // Or performs a bitwise x | y.
  4576  //
  4577  // Asm: VPOR, CPU Feature: AVX2
  4578  func (x Uint32x8) Or(y Uint32x8) Uint32x8
  4579  
  4580  // Or performs a bitwise x | y.
  4581  //
  4582  // Asm: VPORD, CPU Feature: AVX512
  4583  func (x Uint32x16) Or(y Uint32x16) Uint32x16
  4584  
  4585  // Or performs a bitwise x | y.
  4586  //
  4587  // Asm: VPOR, CPU Feature: AVX2
  4588  func (x Uint64x4) Or(y Uint64x4) Uint64x4
  4589  
  4590  // Or performs a bitwise x | y.
  4591  //
  4592  // Asm: VPORQ, CPU Feature: AVX512
  4593  func (x Uint64x8) Or(y Uint64x8) Uint64x8
  4594  
  4595  // Or performs a bitwise x | y.
  4596  //
  4597  // Asm: VPOR, CPU Feature: AVX
  4598  func (x Uint64x2) Or(y Uint64x2) Uint64x2
  4599  
  4600  /* Permute */
  4601  
  4602  // Permute permutes x.
  4603  //
  4604  //	z[i] = x[indices[i] % len(x)]
  4605  //
  4606  // Asm: VPERMB, CPU Feature: AVX512VBMI
  4607  func (x Int8x16) Permute(indices Uint8x16) Int8x16
  4608  
  4609  // Permute permutes x.
  4610  //
  4611  //	z[i] = x[indices[i] % len(x)]
  4612  //
  4613  // Asm: VPERMB, CPU Feature: AVX512VBMI
  4614  func (x Uint8x16) Permute(indices Uint8x16) Uint8x16
  4615  
  4616  // Permute permutes x.
  4617  //
  4618  //	z[i] = x[indices[i] % len(x)]
  4619  //
  4620  // Asm: VPERMB, CPU Feature: AVX512VBMI
  4621  func (x Int8x32) Permute(indices Uint8x32) Int8x32
  4622  
  4623  // Permute permutes x.
  4624  //
  4625  //	z[i] = x[indices[i] % len(x)]
  4626  //
  4627  // Asm: VPERMB, CPU Feature: AVX512VBMI
  4628  func (x Uint8x32) Permute(indices Uint8x32) Uint8x32
  4629  
  4630  // Permute permutes x.
  4631  //
  4632  //	z[i] = x[indices[i] % len(x)]
  4633  //
  4634  // Asm: VPERMB, CPU Feature: AVX512VBMI
  4635  func (x Int8x64) Permute(indices Uint8x64) Int8x64
  4636  
  4637  // Permute permutes x.
  4638  //
  4639  //	z[i] = x[indices[i] % len(x)]
  4640  //
  4641  // Asm: VPERMB, CPU Feature: AVX512VBMI
  4642  func (x Uint8x64) Permute(indices Uint8x64) Uint8x64
  4643  
  4644  // Permute permutes x.
  4645  //
  4646  //	z[i] = x[indices[i] % len(x)]
  4647  //
  4648  // Asm: VPERMW, CPU Feature: AVX512
  4649  func (x Int16x8) Permute(indices Uint16x8) Int16x8
  4650  
  4651  // Permute permutes x.
  4652  //
  4653  //	z[i] = x[indices[i] % len(x)]
  4654  //
  4655  // Asm: VPERMW, CPU Feature: AVX512
  4656  func (x Uint16x8) Permute(indices Uint16x8) Uint16x8
  4657  
  4658  // Permute permutes x.
  4659  //
  4660  //	z[i] = x[indices[i] % len(x)]
  4661  //
  4662  // Asm: VPERMW, CPU Feature: AVX512
  4663  func (x Int16x16) Permute(indices Uint16x16) Int16x16
  4664  
  4665  // Permute permutes x.
  4666  //
  4667  //	z[i] = x[indices[i] % len(x)]
  4668  //
  4669  // Asm: VPERMW, CPU Feature: AVX512
  4670  func (x Uint16x16) Permute(indices Uint16x16) Uint16x16
  4671  
  4672  // Permute permutes x.
  4673  //
  4674  //	z[i] = x[indices[i] % len(x)]
  4675  //
  4676  // Asm: VPERMW, CPU Feature: AVX512
  4677  func (x Int16x32) Permute(indices Uint16x32) Int16x32
  4678  
  4679  // Permute permutes x.
  4680  //
  4681  //	z[i] = x[indices[i] % len(x)]
  4682  //
  4683  // Asm: VPERMW, CPU Feature: AVX512
  4684  func (x Uint16x32) Permute(indices Uint16x32) Uint16x32
  4685  
  4686  // Permute permutes x.
  4687  //
  4688  //	z[i] = x[indices[i] % len(x)]
  4689  //
  4690  // Asm: VPERMPS, CPU Feature: AVX2
  4691  func (x Float32x8) Permute(indices Uint32x8) Float32x8
  4692  
  4693  // Permute permutes x.
  4694  //
  4695  //	z[i] = x[indices[i] % len(x)]
  4696  //
  4697  // Asm: VPERMD, CPU Feature: AVX2
  4698  func (x Int32x8) Permute(indices Uint32x8) Int32x8
  4699  
  4700  // Permute permutes x.
  4701  //
  4702  //	z[i] = x[indices[i] % len(x)]
  4703  //
  4704  // Asm: VPERMD, CPU Feature: AVX2
  4705  func (x Uint32x8) Permute(indices Uint32x8) Uint32x8
  4706  
  4707  // Permute permutes x.
  4708  //
  4709  //	z[i] = x[indices[i] % len(x)]
  4710  //
  4711  // Asm: VPERMPS, CPU Feature: AVX512
  4712  func (x Float32x16) Permute(indices Uint32x16) Float32x16
  4713  
  4714  // Permute permutes x.
  4715  //
  4716  //	z[i] = x[indices[i] % len(x)]
  4717  //
  4718  // Asm: VPERMD, CPU Feature: AVX512
  4719  func (x Int32x16) Permute(indices Uint32x16) Int32x16
  4720  
  4721  // Permute permutes x.
  4722  //
  4723  //	z[i] = x[indices[i] % len(x)]
  4724  //
  4725  // Asm: VPERMD, CPU Feature: AVX512
  4726  func (x Uint32x16) Permute(indices Uint32x16) Uint32x16
  4727  
  4728  // Permute permutes x.
  4729  //
  4730  //	z[i] = x[indices[i] % len(x)]
  4731  //
  4732  // Asm: VPERMPD, CPU Feature: AVX512
  4733  func (x Float64x4) Permute(indices Uint64x4) Float64x4
  4734  
  4735  // Permute permutes x.
  4736  //
  4737  //	z[i] = x[indices[i] % len(x)]
  4738  //
  4739  // Asm: VPERMQ, CPU Feature: AVX512
  4740  func (x Int64x4) Permute(indices Uint64x4) Int64x4
  4741  
  4742  // Permute permutes x.
  4743  //
  4744  //	z[i] = x[indices[i] % len(x)]
  4745  //
  4746  // Asm: VPERMQ, CPU Feature: AVX512
  4747  func (x Uint64x4) Permute(indices Uint64x4) Uint64x4
  4748  
  4749  // Permute permutes x.
  4750  //
  4751  //	z[i] = x[indices[i] % len(x)]
  4752  //
  4753  // Asm: VPERMPD, CPU Feature: AVX512
  4754  func (x Float64x8) Permute(indices Uint64x8) Float64x8
  4755  
  4756  // Permute permutes x.
  4757  //
  4758  //	z[i] = x[indices[i] % len(x)]
  4759  //
  4760  // Asm: VPERMQ, CPU Feature: AVX512
  4761  func (x Int64x8) Permute(indices Uint64x8) Int64x8
  4762  
  4763  // Permute permutes x.
  4764  //
  4765  //	z[i] = x[indices[i] % len(x)]
  4766  //
  4767  // Asm: VPERMQ, CPU Feature: AVX512
  4768  func (x Uint64x8) Permute(indices Uint64x8) Uint64x8
  4769  
  4770  /* PermuteOrZero */
  4771  
  4772  // PermuteOrZero permutes x. If an index is negative, the result is 0.
  4773  //
  4774  //	if indices[i] >= 0 {
  4775  //	    z[i] = x[indices[i] % len(x)]
  4776  //	} else {
  4777  //	    z[i] = 0
  4778  //	}
  4779  //
  4780  // Asm: VPSHUFB, CPU Feature: AVX
  4781  func (x Int8x16) PermuteOrZero(indices Int8x16) Int8x16
  4782  
  4783  // PermuteOrZero permutes x. If an index is negative, the result is 0.
  4784  //
  4785  //	if indices[i] >= 0 {
  4786  //	    z[i] = x[indices[i] % len(x)]
  4787  //	} else {
  4788  //	    z[i] = 0
  4789  //	}
  4790  //
  4791  // Asm: VPSHUFB, CPU Feature: AVX
  4792  func (x Uint8x16) PermuteOrZero(indices Int8x16) Uint8x16
  4793  
  4794  /* PermuteOrZeroGrouped */
  4795  
  4796  // PermuteOrZeroGrouped permutes x within each 128-bit group. If an index is negative, the result is 0.
  4797  //
  4798  //	let vₙ be the n'th 128-bit group of vector v
  4799  //	if indicesₙ[i] >= 0 {
  4800  //	    zₙ[i] = xₙ[indicesₙ[i] % len(xₙ)]
  4801  //	} else {
  4802  //	    zₙ[i] = 0
  4803  //	}
  4804  //
  4805  // Asm: VPSHUFB, CPU Feature: AVX2
  4806  func (x Int8x32) PermuteOrZeroGrouped(indices Int8x32) Int8x32
  4807  
  4808  // PermuteOrZeroGrouped permutes x within each 128-bit group. If an index is negative, the result is 0.
  4809  //
  4810  //	let vₙ be the n'th 128-bit group of vector v
  4811  //	if indicesₙ[i] >= 0 {
  4812  //	    zₙ[i] = xₙ[indicesₙ[i] % len(xₙ)]
  4813  //	} else {
  4814  //	    zₙ[i] = 0
  4815  //	}
  4816  //
  4817  // Asm: VPSHUFB, CPU Feature: AVX512
  4818  func (x Int8x64) PermuteOrZeroGrouped(indices Int8x64) Int8x64
  4819  
  4820  // PermuteOrZeroGrouped permutes x within each 128-bit group. If an index is negative, the result is 0.
  4821  //
  4822  //	let vₙ be the n'th 128-bit group of vector v
  4823  //	if indicesₙ[i] >= 0 {
  4824  //	    zₙ[i] = xₙ[indicesₙ[i] % len(xₙ)]
  4825  //	} else {
  4826  //	    zₙ[i] = 0
  4827  //	}
  4828  //
  4829  // Asm: VPSHUFB, CPU Feature: AVX2
  4830  func (x Uint8x32) PermuteOrZeroGrouped(indices Int8x32) Uint8x32
  4831  
  4832  // PermuteOrZeroGrouped permutes x within each 128-bit group. If an index is negative, the result is 0.
  4833  //
  4834  //	let vₙ be the n'th 128-bit group of vector v
  4835  //	if indicesₙ[i] >= 0 {
  4836  //	    zₙ[i] = xₙ[indicesₙ[i] % len(xₙ)]
  4837  //	} else {
  4838  //	    zₙ[i] = 0
  4839  //	}
  4840  //
  4841  // Asm: VPSHUFB, CPU Feature: AVX512
  4842  func (x Uint8x64) PermuteOrZeroGrouped(indices Int8x64) Uint8x64
  4843  
  4844  /* Reciprocal */
  4845  
  4846  // Reciprocal computes an approximate reciprocal of each element.
  4847  //
  4848  // Asm: VRCPPS, CPU Feature: AVX
  4849  func (x Float32x4) Reciprocal() Float32x4
  4850  
  4851  // Reciprocal computes an approximate reciprocal of each element.
  4852  //
  4853  // Asm: VRCPPS, CPU Feature: AVX
  4854  func (x Float32x8) Reciprocal() Float32x8
  4855  
  4856  // Reciprocal computes an approximate reciprocal of each element.
  4857  //
  4858  // Asm: VRCP14PS, CPU Feature: AVX512
  4859  func (x Float32x16) Reciprocal() Float32x16
  4860  
  4861  // Reciprocal computes an approximate reciprocal of each element.
  4862  //
  4863  // Asm: VRCP14PD, CPU Feature: AVX512
  4864  func (x Float64x2) Reciprocal() Float64x2
  4865  
  4866  // Reciprocal computes an approximate reciprocal of each element.
  4867  //
  4868  // Asm: VRCP14PD, CPU Feature: AVX512
  4869  func (x Float64x4) Reciprocal() Float64x4
  4870  
  4871  // Reciprocal computes an approximate reciprocal of each element.
  4872  //
  4873  // Asm: VRCP14PD, CPU Feature: AVX512
  4874  func (x Float64x8) Reciprocal() Float64x8
  4875  
  4876  /* ReciprocalSqrt */
  4877  
  4878  // ReciprocalSqrt computes an approximate reciprocal of the square root of each element.
  4879  //
  4880  // Asm: VRSQRTPS, CPU Feature: AVX
  4881  func (x Float32x4) ReciprocalSqrt() Float32x4
  4882  
  4883  // ReciprocalSqrt computes an approximate reciprocal of the square root of each element.
  4884  //
  4885  // Asm: VRSQRTPS, CPU Feature: AVX
  4886  func (x Float32x8) ReciprocalSqrt() Float32x8
  4887  
  4888  // ReciprocalSqrt computes an approximate reciprocal of the square root of each element.
  4889  //
  4890  // Asm: VRSQRT14PS, CPU Feature: AVX512
  4891  func (x Float32x16) ReciprocalSqrt() Float32x16
  4892  
  4893  // ReciprocalSqrt computes an approximate reciprocal of the square root of each element.
  4894  //
  4895  // Asm: VRSQRT14PD, CPU Feature: AVX512
  4896  func (x Float64x2) ReciprocalSqrt() Float64x2
  4897  
  4898  // ReciprocalSqrt computes an approximate reciprocal of the square root of each element.
  4899  //
  4900  // Asm: VRSQRT14PD, CPU Feature: AVX512
  4901  func (x Float64x4) ReciprocalSqrt() Float64x4
  4902  
  4903  // ReciprocalSqrt computes an approximate reciprocal of the square root of each element.
  4904  //
  4905  // Asm: VRSQRT14PD, CPU Feature: AVX512
  4906  func (x Float64x8) ReciprocalSqrt() Float64x8
  4907  
  4908  /* RotateLeft */
  4909  
  4910  // RotateLeft rotates each element in x to the left by the number of bits specified by y's corresponding elements.
  4911  //
  4912  // Asm: VPROLVD, CPU Feature: AVX512
  4913  func (x Int32x4) RotateLeft(y Int32x4) Int32x4
  4914  
  4915  // RotateLeft rotates each element in x to the left by the number of bits specified by y's corresponding elements.
  4916  //
  4917  // Asm: VPROLVD, CPU Feature: AVX512
  4918  func (x Int32x8) RotateLeft(y Int32x8) Int32x8
  4919  
  4920  // RotateLeft rotates each element in x to the left by the number of bits specified by y's corresponding elements.
  4921  //
  4922  // Asm: VPROLVD, CPU Feature: AVX512
  4923  func (x Int32x16) RotateLeft(y Int32x16) Int32x16
  4924  
  4925  // RotateLeft rotates each element in x to the left by the number of bits specified by y's corresponding elements.
  4926  //
  4927  // Asm: VPROLVQ, CPU Feature: AVX512
  4928  func (x Int64x2) RotateLeft(y Int64x2) Int64x2
  4929  
  4930  // RotateLeft rotates each element in x to the left by the number of bits specified by y's corresponding elements.
  4931  //
  4932  // Asm: VPROLVQ, CPU Feature: AVX512
  4933  func (x Int64x4) RotateLeft(y Int64x4) Int64x4
  4934  
  4935  // RotateLeft rotates each element in x to the left by the number of bits specified by y's corresponding elements.
  4936  //
  4937  // Asm: VPROLVQ, CPU Feature: AVX512
  4938  func (x Int64x8) RotateLeft(y Int64x8) Int64x8
  4939  
  4940  // RotateLeft rotates each element in x to the left by the number of bits specified by y's corresponding elements.
  4941  //
  4942  // Asm: VPROLVD, CPU Feature: AVX512
  4943  func (x Uint32x4) RotateLeft(y Uint32x4) Uint32x4
  4944  
  4945  // RotateLeft rotates each element in x to the left by the number of bits specified by y's corresponding elements.
  4946  //
  4947  // Asm: VPROLVD, CPU Feature: AVX512
  4948  func (x Uint32x8) RotateLeft(y Uint32x8) Uint32x8
  4949  
  4950  // RotateLeft rotates each element in x to the left by the number of bits specified by y's corresponding elements.
  4951  //
  4952  // Asm: VPROLVD, CPU Feature: AVX512
  4953  func (x Uint32x16) RotateLeft(y Uint32x16) Uint32x16
  4954  
  4955  // RotateLeft rotates each element in x to the left by the number of bits specified by y's corresponding elements.
  4956  //
  4957  // Asm: VPROLVQ, CPU Feature: AVX512
  4958  func (x Uint64x2) RotateLeft(y Uint64x2) Uint64x2
  4959  
  4960  // RotateLeft rotates each element in x to the left by the number of bits specified by y's corresponding elements.
  4961  //
  4962  // Asm: VPROLVQ, CPU Feature: AVX512
  4963  func (x Uint64x4) RotateLeft(y Uint64x4) Uint64x4
  4964  
  4965  // RotateLeft rotates each element in x to the left by the number of bits specified by y's corresponding elements.
  4966  //
  4967  // Asm: VPROLVQ, CPU Feature: AVX512
  4968  func (x Uint64x8) RotateLeft(y Uint64x8) Uint64x8
  4969  
  4970  /* RotateRight */
  4971  
  4972  // RotateRight rotates each element in x to the right by the number of bits specified by y's corresponding elements.
  4973  //
  4974  // Asm: VPRORVD, CPU Feature: AVX512
  4975  func (x Int32x4) RotateRight(y Int32x4) Int32x4
  4976  
  4977  // RotateRight rotates each element in x to the right by the number of bits specified by y's corresponding elements.
  4978  //
  4979  // Asm: VPRORVD, CPU Feature: AVX512
  4980  func (x Int32x8) RotateRight(y Int32x8) Int32x8
  4981  
  4982  // RotateRight rotates each element in x to the right by the number of bits specified by y's corresponding elements.
  4983  //
  4984  // Asm: VPRORVD, CPU Feature: AVX512
  4985  func (x Int32x16) RotateRight(y Int32x16) Int32x16
  4986  
  4987  // RotateRight rotates each element in x to the right by the number of bits specified by y's corresponding elements.
  4988  //
  4989  // Asm: VPRORVQ, CPU Feature: AVX512
  4990  func (x Int64x2) RotateRight(y Int64x2) Int64x2
  4991  
  4992  // RotateRight rotates each element in x to the right by the number of bits specified by y's corresponding elements.
  4993  //
  4994  // Asm: VPRORVQ, CPU Feature: AVX512
  4995  func (x Int64x4) RotateRight(y Int64x4) Int64x4
  4996  
  4997  // RotateRight rotates each element in x to the right by the number of bits specified by y's corresponding elements.
  4998  //
  4999  // Asm: VPRORVQ, CPU Feature: AVX512
  5000  func (x Int64x8) RotateRight(y Int64x8) Int64x8
  5001  
  5002  // RotateRight rotates each element in x to the right by the number of bits specified by y's corresponding elements.
  5003  //
  5004  // Asm: VPRORVD, CPU Feature: AVX512
  5005  func (x Uint32x4) RotateRight(y Uint32x4) Uint32x4
  5006  
  5007  // RotateRight rotates each element in x to the right by the number of bits specified by y's corresponding elements.
  5008  //
  5009  // Asm: VPRORVD, CPU Feature: AVX512
  5010  func (x Uint32x8) RotateRight(y Uint32x8) Uint32x8
  5011  
  5012  // RotateRight rotates each element in x to the right by the number of bits specified by y's corresponding elements.
  5013  //
  5014  // Asm: VPRORVD, CPU Feature: AVX512
  5015  func (x Uint32x16) RotateRight(y Uint32x16) Uint32x16
  5016  
  5017  // RotateRight rotates each element in x to the right by the number of bits specified by y's corresponding elements.
  5018  //
  5019  // Asm: VPRORVQ, CPU Feature: AVX512
  5020  func (x Uint64x2) RotateRight(y Uint64x2) Uint64x2
  5021  
  5022  // RotateRight rotates each element in x to the right by the number of bits specified by y's corresponding elements.
  5023  //
  5024  // Asm: VPRORVQ, CPU Feature: AVX512
  5025  func (x Uint64x4) RotateRight(y Uint64x4) Uint64x4
  5026  
  5027  // RotateRight rotates each element in x to the right by the number of bits specified by y's corresponding elements.
  5028  //
  5029  // Asm: VPRORVQ, CPU Feature: AVX512
  5030  func (x Uint64x8) RotateRight(y Uint64x8) Uint64x8
  5031  
  5032  /* Round */
  5033  
  5034  // Round rounds elements to the nearest integer, rounding ties to even.
  5035  //
  5036  // Asm: VROUNDPS, CPU Feature: AVX
  5037  func (x Float32x4) Round() Float32x4
  5038  
  5039  // Round rounds elements to the nearest integer, rounding ties to even.
  5040  //
  5041  // Asm: VROUNDPS, CPU Feature: AVX
  5042  func (x Float32x8) Round() Float32x8
  5043  
  5044  // Round rounds elements to the nearest integer, rounding ties to even.
  5045  //
  5046  // Asm: VROUNDPD, CPU Feature: AVX
  5047  func (x Float64x2) Round() Float64x2
  5048  
  5049  // Round rounds elements to the nearest integer, rounding ties to even.
  5050  //
  5051  // Asm: VROUNDPD, CPU Feature: AVX
  5052  func (x Float64x4) Round() Float64x4
  5053  
  5054  /* RoundScaled */
  5055  
  5056  // RoundScaled rounds elements with specified precision.
  5057  //
  5058  // A non-constant value of prec may result in significantly worse performance for this operation.
  5059  //
  5060  // Asm: VRNDSCALEPS, CPU Feature: AVX512
  5061  func (x Float32x4) RoundScaled(prec uint8) Float32x4
  5062  
  5063  // RoundScaled rounds elements with specified precision.
  5064  //
  5065  // A non-constant value of prec may result in significantly worse performance for this operation.
  5066  //
  5067  // Asm: VRNDSCALEPS, CPU Feature: AVX512
  5068  func (x Float32x8) RoundScaled(prec uint8) Float32x8
  5069  
  5070  // RoundScaled rounds elements with specified precision.
  5071  //
  5072  // A non-constant value of prec may result in significantly worse performance for this operation.
  5073  //
  5074  // Asm: VRNDSCALEPS, CPU Feature: AVX512
  5075  func (x Float32x16) RoundScaled(prec uint8) Float32x16
  5076  
  5077  // RoundScaled rounds elements with specified precision.
  5078  //
  5079  // A non-constant value of prec may result in significantly worse performance for this operation.
  5080  //
  5081  // Asm: VRNDSCALEPD, CPU Feature: AVX512
  5082  func (x Float64x2) RoundScaled(prec uint8) Float64x2
  5083  
  5084  // RoundScaled rounds elements with specified precision.
  5085  //
  5086  // A non-constant value of prec may result in significantly worse performance for this operation.
  5087  //
  5088  // Asm: VRNDSCALEPD, CPU Feature: AVX512
  5089  func (x Float64x4) RoundScaled(prec uint8) Float64x4
  5090  
  5091  // RoundScaled rounds elements with specified precision.
  5092  //
  5093  // A non-constant value of prec may result in significantly worse performance for this operation.
  5094  //
  5095  // Asm: VRNDSCALEPD, CPU Feature: AVX512
  5096  func (x Float64x8) RoundScaled(prec uint8) Float64x8
  5097  
  5098  /* RoundScaledResidue */
  5099  
  5100  // RoundScaledResidue computes the difference after rounding with specified precision.
  5101  //
  5102  // A non-constant value of prec may result in significantly worse performance for this operation.
  5103  //
  5104  // Asm: VREDUCEPS, CPU Feature: AVX512
  5105  func (x Float32x4) RoundScaledResidue(prec uint8) Float32x4
  5106  
  5107  // RoundScaledResidue computes the difference after rounding with specified precision.
  5108  //
  5109  // A non-constant value of prec may result in significantly worse performance for this operation.
  5110  //
  5111  // Asm: VREDUCEPS, CPU Feature: AVX512
  5112  func (x Float32x8) RoundScaledResidue(prec uint8) Float32x8
  5113  
  5114  // RoundScaledResidue computes the difference after rounding with specified precision.
  5115  //
  5116  // A non-constant value of prec may result in significantly worse performance for this operation.
  5117  //
  5118  // Asm: VREDUCEPS, CPU Feature: AVX512
  5119  func (x Float32x16) RoundScaledResidue(prec uint8) Float32x16
  5120  
  5121  // RoundScaledResidue computes the difference after rounding with specified precision.
  5122  //
  5123  // A non-constant value of prec may result in significantly worse performance for this operation.
  5124  //
  5125  // Asm: VREDUCEPD, CPU Feature: AVX512
  5126  func (x Float64x2) RoundScaledResidue(prec uint8) Float64x2
  5127  
  5128  // RoundScaledResidue computes the difference after rounding with specified precision.
  5129  //
  5130  // A non-constant value of prec may result in significantly worse performance for this operation.
  5131  //
  5132  // Asm: VREDUCEPD, CPU Feature: AVX512
  5133  func (x Float64x4) RoundScaledResidue(prec uint8) Float64x4
  5134  
  5135  // RoundScaledResidue computes the difference after rounding with specified precision.
  5136  //
  5137  // A non-constant value of prec may result in significantly worse performance for this operation.
  5138  //
  5139  // Asm: VREDUCEPD, CPU Feature: AVX512
  5140  func (x Float64x8) RoundScaledResidue(prec uint8) Float64x8
  5141  
  5142  /* SHA1FourRounds */
  5143  
  5144  // SHA1FourRounds performs 4 rounds of B loop in SHA1 algorithm defined in FIPS 180-4.
  5145  // x contains the state variables a, b, c and d from upper to lower order.
  5146  // y contains the W array elements (with the state variable e added to the upper element) from upper to lower order.
  5147  // result = the state variables a', b', c', d' updated after 4 rounds.
  5148  // constant = 0 for the first 20 rounds of the loop, 1 for the next 20 rounds of the loop..., 3 for the last 20 rounds of the loop.
  5149  //
  5150  // A non-constant value of constant may result in significantly worse performance for this operation.
  5151  //
  5152  // Asm: SHA1RNDS4, CPU Feature: SHA
  5153  func (x Uint32x4) SHA1FourRounds(constant uint8, y Uint32x4) Uint32x4
  5154  
  5155  /* SHA1Message1 */
  5156  
  5157  // SHA1Message1 does the XORing of 1 in SHA1 algorithm defined in FIPS 180-4.
  5158  // x = {W3, W2, W1, W0}
  5159  // y = {0, 0, W5, W4}
  5160  // result = {W3^W5, W2^W4, W1^W3, W0^W2}.
  5161  //
  5162  // Asm: SHA1MSG1, CPU Feature: SHA
  5163  func (x Uint32x4) SHA1Message1(y Uint32x4) Uint32x4
  5164  
  5165  /* SHA1Message2 */
  5166  
  5167  // SHA1Message2 does the calculation of 3 and 4 in SHA1 algorithm defined in FIPS 180-4.
  5168  // x = result of 2.
  5169  // y = {W15, W14, W13}
  5170  // result = {W19, W18, W17, W16}
  5171  //
  5172  // Asm: SHA1MSG2, CPU Feature: SHA
  5173  func (x Uint32x4) SHA1Message2(y Uint32x4) Uint32x4
  5174  
  5175  /* SHA1NextE */
  5176  
  5177  // SHA1NextE calculates the state variable e' updated after 4 rounds in SHA1 algorithm defined in FIPS 180-4.
  5178  // x contains the state variable a (before the 4 rounds), placed in the upper element.
  5179  // y is the elements of W array for next 4 rounds from upper to lower order.
  5180  // result = the elements of the W array for the next 4 rounds, with the updated state variable e' added to the upper element,
  5181  // from upper to lower order.
  5182  // For the last round of the loop, you can specify zero for y to obtain the e' value itself, or better off specifying H4:0:0:0
  5183  // for y to get e' added to H4. (Note that the value of e' is computed only from x, and values of y don't affect the
  5184  // computation of the value of e'.)
  5185  //
  5186  // Asm: SHA1NEXTE, CPU Feature: SHA
  5187  func (x Uint32x4) SHA1NextE(y Uint32x4) Uint32x4
  5188  
  5189  /* SHA256Message1 */
  5190  
  5191  // SHA256Message1 does the sigma and addition of 1 in SHA256 algorithm defined in FIPS 180-4.
  5192  // x = {W0, W1, W2, W3}
  5193  // y = {W4, 0, 0, 0}
  5194  // result = {W0+σ(W1), W1+σ(W2), W2+σ(W3), W3+σ(W4)}
  5195  //
  5196  // Asm: SHA256MSG1, CPU Feature: SHA
  5197  func (x Uint32x4) SHA256Message1(y Uint32x4) Uint32x4
  5198  
  5199  /* SHA256Message2 */
  5200  
  5201  // SHA256Message2 does the sigma and addition of 3 in SHA256 algorithm defined in FIPS 180-4.
  5202  // x = result of 2
  5203  // y = {0, 0, W14, W15}
  5204  // result = {W16, W17, W18, W19}
  5205  //
  5206  // Asm: SHA256MSG2, CPU Feature: SHA
  5207  func (x Uint32x4) SHA256Message2(y Uint32x4) Uint32x4
  5208  
  5209  /* SHA256TwoRounds */
  5210  
  5211  // SHA256TwoRounds does 2 rounds of B loop to calculate updated state variables in SHA256 algorithm defined in FIPS 180-4.
  5212  // x = {h, g, d, c}
  5213  // y = {f, e, b, a}
  5214  // z = {W0+K0, W1+K1}
  5215  // result = {f', e', b', a'}
  5216  // The K array is a 64-DWORD constant array defined in page 11 of FIPS 180-4. Each element of the K array is to be added to
  5217  // the corresponding element of the W array to make the input data z.
  5218  // The updated state variables c', d', g', h' are not returned by this instruction, because they are equal to the input data
  5219  // y (the state variables a, b, e, f before the 2 rounds).
  5220  //
  5221  // Asm: SHA256RNDS2, CPU Feature: SHA
  5222  func (x Uint32x4) SHA256TwoRounds(y Uint32x4, z Uint32x4) Uint32x4
  5223  
  5224  /* SaturateToInt8 */
  5225  
  5226  // SaturateToInt8 converts element values to int8 with signed saturation.
  5227  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  5228  //
  5229  // Asm: VPMOVSWB, CPU Feature: AVX512
  5230  func (x Int16x8) SaturateToInt8() Int8x16
  5231  
  5232  // SaturateToInt8 converts element values to int8 with signed saturation.
  5233  //
  5234  // Asm: VPMOVSWB, CPU Feature: AVX512
  5235  func (x Int16x16) SaturateToInt8() Int8x16
  5236  
  5237  // SaturateToInt8 converts element values to int8 with signed saturation.
  5238  //
  5239  // Asm: VPMOVSWB, CPU Feature: AVX512
  5240  func (x Int16x32) SaturateToInt8() Int8x32
  5241  
  5242  // SaturateToInt8 converts element values to int8 with signed saturation.
  5243  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  5244  //
  5245  // Asm: VPMOVSDB, CPU Feature: AVX512
  5246  func (x Int32x4) SaturateToInt8() Int8x16
  5247  
  5248  // SaturateToInt8 converts element values to int8 with signed saturation.
  5249  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  5250  //
  5251  // Asm: VPMOVSDB, CPU Feature: AVX512
  5252  func (x Int32x8) SaturateToInt8() Int8x16
  5253  
  5254  // SaturateToInt8 converts element values to int8 with signed saturation.
  5255  //
  5256  // Asm: VPMOVSDB, CPU Feature: AVX512
  5257  func (x Int32x16) SaturateToInt8() Int8x16
  5258  
  5259  // SaturateToInt8 converts element values to int8 with signed saturation.
  5260  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  5261  //
  5262  // Asm: VPMOVSQB, CPU Feature: AVX512
  5263  func (x Int64x2) SaturateToInt8() Int8x16
  5264  
  5265  // SaturateToInt8 converts element values to int8 with signed saturation.
  5266  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  5267  //
  5268  // Asm: VPMOVSQB, CPU Feature: AVX512
  5269  func (x Int64x4) SaturateToInt8() Int8x16
  5270  
  5271  // SaturateToInt8 converts element values to int8 with signed saturation.
  5272  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  5273  //
  5274  // Asm: VPMOVSQB, CPU Feature: AVX512
  5275  func (x Int64x8) SaturateToInt8() Int8x16
  5276  
  5277  /* SaturateToInt16 */
  5278  
  5279  // SaturateToInt16 converts element values to int16 with signed saturation.
  5280  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  5281  //
  5282  // Asm: VPMOVSDW, CPU Feature: AVX512
  5283  func (x Int32x4) SaturateToInt16() Int16x8
  5284  
  5285  // SaturateToInt16 converts element values to int16 with signed saturation.
  5286  //
  5287  // Asm: VPMOVSDW, CPU Feature: AVX512
  5288  func (x Int32x8) SaturateToInt16() Int16x8
  5289  
  5290  // SaturateToInt16 converts element values to int16 with signed saturation.
  5291  //
  5292  // Asm: VPMOVSDW, CPU Feature: AVX512
  5293  func (x Int32x16) SaturateToInt16() Int16x16
  5294  
  5295  // SaturateToInt16 converts element values to int16 with signed saturation.
  5296  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  5297  //
  5298  // Asm: VPMOVSQW, CPU Feature: AVX512
  5299  func (x Int64x2) SaturateToInt16() Int16x8
  5300  
  5301  // SaturateToInt16 converts element values to int16 with signed saturation.
  5302  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  5303  //
  5304  // Asm: VPMOVSQW, CPU Feature: AVX512
  5305  func (x Int64x4) SaturateToInt16() Int16x8
  5306  
  5307  // SaturateToInt16 converts element values to int16 with signed saturation.
  5308  //
  5309  // Asm: VPMOVSQW, CPU Feature: AVX512
  5310  func (x Int64x8) SaturateToInt16() Int16x8
  5311  
  5312  /* SaturateToInt16Concat */
  5313  
  5314  // SaturateToInt16Concat converts element values to int16 with signed saturation.
  5315  // The converted elements from x will be packed to the lower part of the result vector,
  5316  // the converted elements from y will be packed to the upper part of the result vector.
  5317  //
  5318  // Asm: VPACKSSDW, CPU Feature: AVX
  5319  func (x Int32x4) SaturateToInt16Concat(y Int32x4) Int16x8
  5320  
  5321  /* SaturateToInt16ConcatGrouped */
  5322  
  5323  // SaturateToInt16ConcatGrouped converts element values to int16 with signed saturation.
  5324  // With each 128-bit as a group:
  5325  // The converted elements from x will be packed to the lower part of the group in the result vector,
  5326  // the converted elements from y will be packed to the upper part of the group in the result vector.
  5327  //
  5328  // Asm: VPACKSSDW, CPU Feature: AVX2
  5329  func (x Int32x8) SaturateToInt16ConcatGrouped(y Int32x8) Int16x16
  5330  
  5331  // SaturateToInt16ConcatGrouped converts element values to int16 with signed saturation.
  5332  // With each 128-bit as a group:
  5333  // The converted elements from x will be packed to the lower part of the group in the result vector,
  5334  // the converted elements from y will be packed to the upper part of the group in the result vector.
  5335  //
  5336  // Asm: VPACKSSDW, CPU Feature: AVX512
  5337  func (x Int32x16) SaturateToInt16ConcatGrouped(y Int32x16) Int16x32
  5338  
  5339  /* SaturateToInt32 */
  5340  
  5341  // SaturateToInt32 converts element values to int32 with signed saturation.
  5342  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  5343  //
  5344  // Asm: VPMOVSQD, CPU Feature: AVX512
  5345  func (x Int64x2) SaturateToInt32() Int32x4
  5346  
  5347  // SaturateToInt32 converts element values to int32 with signed saturation.
  5348  //
  5349  // Asm: VPMOVSQD, CPU Feature: AVX512
  5350  func (x Int64x4) SaturateToInt32() Int32x4
  5351  
  5352  // SaturateToInt32 converts element values to int32 with signed saturation.
  5353  //
  5354  // Asm: VPMOVSQD, CPU Feature: AVX512
  5355  func (x Int64x8) SaturateToInt32() Int32x8
  5356  
  5357  /* SaturateToUint8 */
  5358  
  5359  // SaturateToUint8 converts element values to uint8 with unsigned saturation.
  5360  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  5361  //
  5362  // Asm: VPMOVUSWB, CPU Feature: AVX512
  5363  func (x Uint16x8) SaturateToUint8() Uint8x16
  5364  
  5365  // SaturateToUint8 converts element values to uint8 with unsigned saturation.
  5366  //
  5367  // Asm: VPMOVUSWB, CPU Feature: AVX512
  5368  func (x Uint16x16) SaturateToUint8() Uint8x16
  5369  
  5370  // SaturateToUint8 converts element values to uint8 with unsigned saturation.
  5371  //
  5372  // Asm: VPMOVUSWB, CPU Feature: AVX512
  5373  func (x Uint16x32) SaturateToUint8() Uint8x32
  5374  
  5375  // SaturateToUint8 converts element values to uint8 with unsigned saturation.
  5376  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  5377  //
  5378  // Asm: VPMOVUSDB, CPU Feature: AVX512
  5379  func (x Uint32x4) SaturateToUint8() Uint8x16
  5380  
  5381  // SaturateToUint8 converts element values to uint8 with unsigned saturation.
  5382  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  5383  //
  5384  // Asm: VPMOVUSDB, CPU Feature: AVX512
  5385  func (x Uint32x8) SaturateToUint8() Uint8x16
  5386  
  5387  // SaturateToUint8 converts element values to uint8 with unsigned saturation.
  5388  //
  5389  // Asm: VPMOVUSDB, CPU Feature: AVX512
  5390  func (x Uint32x16) SaturateToUint8() Uint8x16
  5391  
  5392  // SaturateToUint8 converts element values to uint8 with unsigned saturation.
  5393  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  5394  //
  5395  // Asm: VPMOVUSQB, CPU Feature: AVX512
  5396  func (x Uint64x2) SaturateToUint8() Uint8x16
  5397  
  5398  // SaturateToUint8 converts element values to uint8 with unsigned saturation.
  5399  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  5400  //
  5401  // Asm: VPMOVUSQB, CPU Feature: AVX512
  5402  func (x Uint64x4) SaturateToUint8() Uint8x16
  5403  
  5404  // SaturateToUint8 converts element values to uint8 with unsigned saturation.
  5405  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  5406  //
  5407  // Asm: VPMOVUSQB, CPU Feature: AVX512
  5408  func (x Uint64x8) SaturateToUint8() Uint8x16
  5409  
  5410  /* SaturateToUint16 */
  5411  
  5412  // SaturateToUint16 converts element values to uint16 with unsigned saturation.
  5413  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  5414  //
  5415  // Asm: VPMOVUSDW, CPU Feature: AVX512
  5416  func (x Uint32x4) SaturateToUint16() Uint16x8
  5417  
  5418  // SaturateToUint16 converts element values to uint16 with unsigned saturation.
  5419  //
  5420  // Asm: VPMOVUSDW, CPU Feature: AVX512
  5421  func (x Uint32x8) SaturateToUint16() Uint16x8
  5422  
  5423  // SaturateToUint16 converts element values to uint16 with unsigned saturation.
  5424  //
  5425  // Asm: VPMOVUSDW, CPU Feature: AVX512
  5426  func (x Uint32x16) SaturateToUint16() Uint16x16
  5427  
  5428  // SaturateToUint16 converts element values to uint16 with unsigned saturation.
  5429  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  5430  //
  5431  // Asm: VPMOVUSQW, CPU Feature: AVX512
  5432  func (x Uint64x2) SaturateToUint16() Uint16x8
  5433  
  5434  // SaturateToUint16 converts element values to uint16 with unsigned saturation.
  5435  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  5436  //
  5437  // Asm: VPMOVUSQW, CPU Feature: AVX512
  5438  func (x Uint64x4) SaturateToUint16() Uint16x8
  5439  
  5440  // SaturateToUint16 converts element values to uint16 with unsigned saturation.
  5441  //
  5442  // Asm: VPMOVUSQW, CPU Feature: AVX512
  5443  func (x Uint64x8) SaturateToUint16() Uint16x8
  5444  
  5445  /* SaturateToUint16Concat */
  5446  
  5447  // SaturateToUint16Concat converts element values to uint16 with unsigned saturation.
  5448  // The converted elements from x will be packed to the lower part of the result vector,
  5449  // the converted elements from y will be packed to the upper part of the result vector.
  5450  //
  5451  // Asm: VPACKUSDW, CPU Feature: AVX
  5452  func (x Int32x4) SaturateToUint16Concat(y Int32x4) Uint16x8
  5453  
  5454  /* SaturateToUint16ConcatGrouped */
  5455  
  5456  // SaturateToUint16ConcatGrouped converts element values to uint16 with unsigned saturation.
  5457  // With each 128-bit as a group:
  5458  // The converted elements from x will be packed to the lower part of the group in the result vector,
  5459  // the converted elements from y will be packed to the upper part of the group in the result vector.
  5460  //
  5461  // Asm: VPACKUSDW, CPU Feature: AVX2
  5462  func (x Int32x8) SaturateToUint16ConcatGrouped(y Int32x8) Uint16x16
  5463  
  5464  // SaturateToUint16ConcatGrouped converts element values to uint16 with unsigned saturation.
  5465  // With each 128-bit as a group:
  5466  // The converted elements from x will be packed to the lower part of the group in the result vector,
  5467  // the converted elements from y will be packed to the upper part of the group in the result vector.
  5468  //
  5469  // Asm: VPACKUSDW, CPU Feature: AVX512
  5470  func (x Int32x16) SaturateToUint16ConcatGrouped(y Int32x16) Uint16x32
  5471  
  5472  /* SaturateToUint32 */
  5473  
  5474  // SaturateToUint32 converts element values to uint32 with unsigned saturation.
  5475  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  5476  //
  5477  // Asm: VPMOVUSQD, CPU Feature: AVX512
  5478  func (x Uint64x2) SaturateToUint32() Uint32x4
  5479  
  5480  // SaturateToUint32 converts element values to uint32 with unsigned saturation.
  5481  //
  5482  // Asm: VPMOVUSQD, CPU Feature: AVX512
  5483  func (x Uint64x4) SaturateToUint32() Uint32x4
  5484  
  5485  // SaturateToUint32 converts element values to uint32 with unsigned saturation.
  5486  //
  5487  // Asm: VPMOVUSQD, CPU Feature: AVX512
  5488  func (x Uint64x8) SaturateToUint32() Uint32x8
  5489  
  5490  /* Scale */
  5491  
  5492  // Scale multiplies each element of x by 2 raised to the power of the
  5493  // floor of the corresponding element in y.
  5494  //
  5495  // Asm: VSCALEFPS, CPU Feature: AVX512
  5496  func (x Float32x4) Scale(y Float32x4) Float32x4
  5497  
  5498  // Scale multiplies each element of x by 2 raised to the power of the
  5499  // floor of the corresponding element in y.
  5500  //
  5501  // Asm: VSCALEFPS, CPU Feature: AVX512
  5502  func (x Float32x8) Scale(y Float32x8) Float32x8
  5503  
  5504  // Scale multiplies each element of x by 2 raised to the power of the
  5505  // floor of the corresponding element in y.
  5506  //
  5507  // Asm: VSCALEFPS, CPU Feature: AVX512
  5508  func (x Float32x16) Scale(y Float32x16) Float32x16
  5509  
  5510  // Scale multiplies each element of x by 2 raised to the power of the
  5511  // floor of the corresponding element in y.
  5512  //
  5513  // Asm: VSCALEFPD, CPU Feature: AVX512
  5514  func (x Float64x2) Scale(y Float64x2) Float64x2
  5515  
  5516  // Scale multiplies each element of x by 2 raised to the power of the
  5517  // floor of the corresponding element in y.
  5518  //
  5519  // Asm: VSCALEFPD, CPU Feature: AVX512
  5520  func (x Float64x4) Scale(y Float64x4) Float64x4
  5521  
  5522  // Scale multiplies each element of x by 2 raised to the power of the
  5523  // floor of the corresponding element in y.
  5524  //
  5525  // Asm: VSCALEFPD, CPU Feature: AVX512
  5526  func (x Float64x8) Scale(y Float64x8) Float64x8
  5527  
  5528  /* SetElem */
  5529  
  5530  // SetElem returns x with the index'th element set to y.
  5531  //
  5532  // A non-constant value of index may result in significantly worse performance for this operation.
  5533  //
  5534  // Asm: VPINSRD, CPU Feature: AVX
  5535  func (x Float32x4) SetElem(index uint8, y float32) Float32x4
  5536  
  5537  // SetElem returns x with the index'th element set to y.
  5538  //
  5539  // A non-constant value of index may result in significantly worse performance for this operation.
  5540  //
  5541  // Asm: VPINSRQ, CPU Feature: AVX
  5542  func (x Float64x2) SetElem(index uint8, y float64) Float64x2
  5543  
  5544  // SetElem returns x with the index'th element set to y.
  5545  //
  5546  // A non-constant value of index may result in significantly worse performance for this operation.
  5547  //
  5548  // Asm: VPINSRB, CPU Feature: AVX
  5549  func (x Int8x16) SetElem(index uint8, y int8) Int8x16
  5550  
  5551  // SetElem returns x with the index'th element set to y.
  5552  //
  5553  // A non-constant value of index may result in significantly worse performance for this operation.
  5554  //
  5555  // Asm: VPINSRW, CPU Feature: AVX
  5556  func (x Int16x8) SetElem(index uint8, y int16) Int16x8
  5557  
  5558  // SetElem returns x with the index'th element set to y.
  5559  //
  5560  // A non-constant value of index may result in significantly worse performance for this operation.
  5561  //
  5562  // Asm: VPINSRD, CPU Feature: AVX
  5563  func (x Int32x4) SetElem(index uint8, y int32) Int32x4
  5564  
  5565  // SetElem returns x with the index'th element set to y.
  5566  //
  5567  // A non-constant value of index may result in significantly worse performance for this operation.
  5568  //
  5569  // Asm: VPINSRQ, CPU Feature: AVX
  5570  func (x Int64x2) SetElem(index uint8, y int64) Int64x2
  5571  
  5572  // SetElem returns x with the index'th element set to y.
  5573  //
  5574  // A non-constant value of index may result in significantly worse performance for this operation.
  5575  //
  5576  // Asm: VPINSRB, CPU Feature: AVX
  5577  func (x Uint8x16) SetElem(index uint8, y uint8) Uint8x16
  5578  
  5579  // SetElem returns x with the index'th element set to y.
  5580  //
  5581  // A non-constant value of index may result in significantly worse performance for this operation.
  5582  //
  5583  // Asm: VPINSRW, CPU Feature: AVX
  5584  func (x Uint16x8) SetElem(index uint8, y uint16) Uint16x8
  5585  
  5586  // SetElem returns x with the index'th element set to y.
  5587  //
  5588  // A non-constant value of index may result in significantly worse performance for this operation.
  5589  //
  5590  // Asm: VPINSRD, CPU Feature: AVX
  5591  func (x Uint32x4) SetElem(index uint8, y uint32) Uint32x4
  5592  
  5593  // SetElem returns x with the index'th element set to y.
  5594  //
  5595  // A non-constant value of index may result in significantly worse performance for this operation.
  5596  //
  5597  // Asm: VPINSRQ, CPU Feature: AVX
  5598  func (x Uint64x2) SetElem(index uint8, y uint64) Uint64x2
  5599  
  5600  /* SetHi */
  5601  
  5602  // SetHi returns x with its upper half set to y.
  5603  //
  5604  // Asm: VINSERTF128, CPU Feature: AVX
  5605  func (x Float32x8) SetHi(y Float32x4) Float32x8
  5606  
  5607  // SetHi returns x with its upper half set to y.
  5608  //
  5609  // Asm: VINSERTF64X4, CPU Feature: AVX512
  5610  func (x Float32x16) SetHi(y Float32x8) Float32x16
  5611  
  5612  // SetHi returns x with its upper half set to y.
  5613  //
  5614  // Asm: VINSERTF128, CPU Feature: AVX
  5615  func (x Float64x4) SetHi(y Float64x2) Float64x4
  5616  
  5617  // SetHi returns x with its upper half set to y.
  5618  //
  5619  // Asm: VINSERTF64X4, CPU Feature: AVX512
  5620  func (x Float64x8) SetHi(y Float64x4) Float64x8
  5621  
  5622  // SetHi returns x with its upper half set to y.
  5623  //
  5624  // Asm: VINSERTI128, CPU Feature: AVX2
  5625  func (x Int8x32) SetHi(y Int8x16) Int8x32
  5626  
  5627  // SetHi returns x with its upper half set to y.
  5628  //
  5629  // Asm: VINSERTI64X4, CPU Feature: AVX512
  5630  func (x Int8x64) SetHi(y Int8x32) Int8x64
  5631  
  5632  // SetHi returns x with its upper half set to y.
  5633  //
  5634  // Asm: VINSERTI128, CPU Feature: AVX2
  5635  func (x Int16x16) SetHi(y Int16x8) Int16x16
  5636  
  5637  // SetHi returns x with its upper half set to y.
  5638  //
  5639  // Asm: VINSERTI64X4, CPU Feature: AVX512
  5640  func (x Int16x32) SetHi(y Int16x16) Int16x32
  5641  
  5642  // SetHi returns x with its upper half set to y.
  5643  //
  5644  // Asm: VINSERTI128, CPU Feature: AVX2
  5645  func (x Int32x8) SetHi(y Int32x4) Int32x8
  5646  
  5647  // SetHi returns x with its upper half set to y.
  5648  //
  5649  // Asm: VINSERTI64X4, CPU Feature: AVX512
  5650  func (x Int32x16) SetHi(y Int32x8) Int32x16
  5651  
  5652  // SetHi returns x with its upper half set to y.
  5653  //
  5654  // Asm: VINSERTI128, CPU Feature: AVX2
  5655  func (x Int64x4) SetHi(y Int64x2) Int64x4
  5656  
  5657  // SetHi returns x with its upper half set to y.
  5658  //
  5659  // Asm: VINSERTI64X4, CPU Feature: AVX512
  5660  func (x Int64x8) SetHi(y Int64x4) Int64x8
  5661  
  5662  // SetHi returns x with its upper half set to y.
  5663  //
  5664  // Asm: VINSERTI128, CPU Feature: AVX2
  5665  func (x Uint8x32) SetHi(y Uint8x16) Uint8x32
  5666  
  5667  // SetHi returns x with its upper half set to y.
  5668  //
  5669  // Asm: VINSERTI64X4, CPU Feature: AVX512
  5670  func (x Uint8x64) SetHi(y Uint8x32) Uint8x64
  5671  
  5672  // SetHi returns x with its upper half set to y.
  5673  //
  5674  // Asm: VINSERTI128, CPU Feature: AVX2
  5675  func (x Uint16x16) SetHi(y Uint16x8) Uint16x16
  5676  
  5677  // SetHi returns x with its upper half set to y.
  5678  //
  5679  // Asm: VINSERTI64X4, CPU Feature: AVX512
  5680  func (x Uint16x32) SetHi(y Uint16x16) Uint16x32
  5681  
  5682  // SetHi returns x with its upper half set to y.
  5683  //
  5684  // Asm: VINSERTI128, CPU Feature: AVX2
  5685  func (x Uint32x8) SetHi(y Uint32x4) Uint32x8
  5686  
  5687  // SetHi returns x with its upper half set to y.
  5688  //
  5689  // Asm: VINSERTI64X4, CPU Feature: AVX512
  5690  func (x Uint32x16) SetHi(y Uint32x8) Uint32x16
  5691  
  5692  // SetHi returns x with its upper half set to y.
  5693  //
  5694  // Asm: VINSERTI128, CPU Feature: AVX2
  5695  func (x Uint64x4) SetHi(y Uint64x2) Uint64x4
  5696  
  5697  // SetHi returns x with its upper half set to y.
  5698  //
  5699  // Asm: VINSERTI64X4, CPU Feature: AVX512
  5700  func (x Uint64x8) SetHi(y Uint64x4) Uint64x8
  5701  
  5702  /* SetLo */
  5703  
  5704  // SetLo returns x with its lower half set to y.
  5705  //
  5706  // Asm: VINSERTF128, CPU Feature: AVX
  5707  func (x Float32x8) SetLo(y Float32x4) Float32x8
  5708  
  5709  // SetLo returns x with its lower half set to y.
  5710  //
  5711  // Asm: VINSERTF64X4, CPU Feature: AVX512
  5712  func (x Float32x16) SetLo(y Float32x8) Float32x16
  5713  
  5714  // SetLo returns x with its lower half set to y.
  5715  //
  5716  // Asm: VINSERTF128, CPU Feature: AVX
  5717  func (x Float64x4) SetLo(y Float64x2) Float64x4
  5718  
  5719  // SetLo returns x with its lower half set to y.
  5720  //
  5721  // Asm: VINSERTF64X4, CPU Feature: AVX512
  5722  func (x Float64x8) SetLo(y Float64x4) Float64x8
  5723  
  5724  // SetLo returns x with its lower half set to y.
  5725  //
  5726  // Asm: VINSERTI128, CPU Feature: AVX2
  5727  func (x Int8x32) SetLo(y Int8x16) Int8x32
  5728  
  5729  // SetLo returns x with its lower half set to y.
  5730  //
  5731  // Asm: VINSERTI64X4, CPU Feature: AVX512
  5732  func (x Int8x64) SetLo(y Int8x32) Int8x64
  5733  
  5734  // SetLo returns x with its lower half set to y.
  5735  //
  5736  // Asm: VINSERTI128, CPU Feature: AVX2
  5737  func (x Int16x16) SetLo(y Int16x8) Int16x16
  5738  
  5739  // SetLo returns x with its lower half set to y.
  5740  //
  5741  // Asm: VINSERTI64X4, CPU Feature: AVX512
  5742  func (x Int16x32) SetLo(y Int16x16) Int16x32
  5743  
  5744  // SetLo returns x with its lower half set to y.
  5745  //
  5746  // Asm: VINSERTI128, CPU Feature: AVX2
  5747  func (x Int32x8) SetLo(y Int32x4) Int32x8
  5748  
  5749  // SetLo returns x with its lower half set to y.
  5750  //
  5751  // Asm: VINSERTI64X4, CPU Feature: AVX512
  5752  func (x Int32x16) SetLo(y Int32x8) Int32x16
  5753  
  5754  // SetLo returns x with its lower half set to y.
  5755  //
  5756  // Asm: VINSERTI128, CPU Feature: AVX2
  5757  func (x Int64x4) SetLo(y Int64x2) Int64x4
  5758  
  5759  // SetLo returns x with its lower half set to y.
  5760  //
  5761  // Asm: VINSERTI64X4, CPU Feature: AVX512
  5762  func (x Int64x8) SetLo(y Int64x4) Int64x8
  5763  
  5764  // SetLo returns x with its lower half set to y.
  5765  //
  5766  // Asm: VINSERTI128, CPU Feature: AVX2
  5767  func (x Uint8x32) SetLo(y Uint8x16) Uint8x32
  5768  
  5769  // SetLo returns x with its lower half set to y.
  5770  //
  5771  // Asm: VINSERTI64X4, CPU Feature: AVX512
  5772  func (x Uint8x64) SetLo(y Uint8x32) Uint8x64
  5773  
  5774  // SetLo returns x with its lower half set to y.
  5775  //
  5776  // Asm: VINSERTI128, CPU Feature: AVX2
  5777  func (x Uint16x16) SetLo(y Uint16x8) Uint16x16
  5778  
  5779  // SetLo returns x with its lower half set to y.
  5780  //
  5781  // Asm: VINSERTI64X4, CPU Feature: AVX512
  5782  func (x Uint16x32) SetLo(y Uint16x16) Uint16x32
  5783  
  5784  // SetLo returns x with its lower half set to y.
  5785  //
  5786  // Asm: VINSERTI128, CPU Feature: AVX2
  5787  func (x Uint32x8) SetLo(y Uint32x4) Uint32x8
  5788  
  5789  // SetLo returns x with its lower half set to y.
  5790  //
  5791  // Asm: VINSERTI64X4, CPU Feature: AVX512
  5792  func (x Uint32x16) SetLo(y Uint32x8) Uint32x16
  5793  
  5794  // SetLo returns x with its lower half set to y.
  5795  //
  5796  // Asm: VINSERTI128, CPU Feature: AVX2
  5797  func (x Uint64x4) SetLo(y Uint64x2) Uint64x4
  5798  
  5799  // SetLo returns x with its lower half set to y.
  5800  //
  5801  // Asm: VINSERTI64X4, CPU Feature: AVX512
  5802  func (x Uint64x8) SetLo(y Uint64x4) Uint64x8
  5803  
  5804  /* ShiftAllLeft */
  5805  
  5806  // ShiftAllLeft shifts each element of x left by y bits.
  5807  // If y is greater than the element width, the result is 0.
  5808  //
  5809  // Asm: VPSLLW, CPU Feature: AVX
  5810  func (x Int16x8) ShiftAllLeft(shift uint64) Int16x8
  5811  
  5812  // ShiftAllLeft shifts each element of x left by y bits.
  5813  // If y is greater than the element width, the result is 0.
  5814  //
  5815  // Asm: VPSLLW, CPU Feature: AVX2
  5816  func (x Int16x16) ShiftAllLeft(shift uint64) Int16x16
  5817  
  5818  // ShiftAllLeft shifts each element of x left by y bits.
  5819  // If y is greater than the element width, the result is 0.
  5820  //
  5821  // Asm: VPSLLW, CPU Feature: AVX512
  5822  func (x Int16x32) ShiftAllLeft(shift uint64) Int16x32
  5823  
  5824  // ShiftAllLeft shifts each element of x left by y bits.
  5825  // If y is greater than the element width, the result is 0.
  5826  //
  5827  // Asm: VPSLLD, CPU Feature: AVX
  5828  func (x Int32x4) ShiftAllLeft(shift uint64) Int32x4
  5829  
  5830  // ShiftAllLeft shifts each element of x left by y bits.
  5831  // If y is greater than the element width, the result is 0.
  5832  //
  5833  // Asm: VPSLLD, CPU Feature: AVX2
  5834  func (x Int32x8) ShiftAllLeft(shift uint64) Int32x8
  5835  
  5836  // ShiftAllLeft shifts each element of x left by y bits.
  5837  // If y is greater than the element width, the result is 0.
  5838  //
  5839  // Asm: VPSLLD, CPU Feature: AVX512
  5840  func (x Int32x16) ShiftAllLeft(shift uint64) Int32x16
  5841  
  5842  // ShiftAllLeft shifts each element of x left by y bits.
  5843  // If y is greater than the element width, the result is 0.
  5844  //
  5845  // Asm: VPSLLQ, CPU Feature: AVX
  5846  func (x Int64x2) ShiftAllLeft(shift uint64) Int64x2
  5847  
  5848  // ShiftAllLeft shifts each element of x left by y bits.
  5849  // If y is greater than the element width, the result is 0.
  5850  //
  5851  // Asm: VPSLLQ, CPU Feature: AVX2
  5852  func (x Int64x4) ShiftAllLeft(shift uint64) Int64x4
  5853  
  5854  // ShiftAllLeft shifts each element of x left by y bits.
  5855  // If y is greater than the element width, the result is 0.
  5856  //
  5857  // Asm: VPSLLQ, CPU Feature: AVX512
  5858  func (x Int64x8) ShiftAllLeft(shift uint64) Int64x8
  5859  
  5860  // ShiftAllLeft shifts each element of x left by y bits.
  5861  // If y is greater than the element width, the result is 0.
  5862  //
  5863  // Asm: VPSLLW, CPU Feature: AVX
  5864  func (x Uint16x8) ShiftAllLeft(shift uint64) Uint16x8
  5865  
  5866  // ShiftAllLeft shifts each element of x left by y bits.
  5867  // If y is greater than the element width, the result is 0.
  5868  //
  5869  // Asm: VPSLLW, CPU Feature: AVX2
  5870  func (x Uint16x16) ShiftAllLeft(shift uint64) Uint16x16
  5871  
  5872  // ShiftAllLeft shifts each element of x left by y bits.
  5873  // If y is greater than the element width, the result is 0.
  5874  //
  5875  // Asm: VPSLLW, CPU Feature: AVX512
  5876  func (x Uint16x32) ShiftAllLeft(shift uint64) Uint16x32
  5877  
  5878  // ShiftAllLeft shifts each element of x left by y bits.
  5879  // If y is greater than the element width, the result is 0.
  5880  //
  5881  // Asm: VPSLLD, CPU Feature: AVX
  5882  func (x Uint32x4) ShiftAllLeft(shift uint64) Uint32x4
  5883  
  5884  // ShiftAllLeft shifts each element of x left by y bits.
  5885  // If y is greater than the element width, the result is 0.
  5886  //
  5887  // Asm: VPSLLD, CPU Feature: AVX2
  5888  func (x Uint32x8) ShiftAllLeft(shift uint64) Uint32x8
  5889  
  5890  // ShiftAllLeft shifts each element of x left by y bits.
  5891  // If y is greater than the element width, the result is 0.
  5892  //
  5893  // Asm: VPSLLD, CPU Feature: AVX512
  5894  func (x Uint32x16) ShiftAllLeft(shift uint64) Uint32x16
  5895  
  5896  // ShiftAllLeft shifts each element of x left by y bits.
  5897  // If y is greater than the element width, the result is 0.
  5898  //
  5899  // Asm: VPSLLQ, CPU Feature: AVX
  5900  func (x Uint64x2) ShiftAllLeft(shift uint64) Uint64x2
  5901  
  5902  // ShiftAllLeft shifts each element of x left by y bits.
  5903  // If y is greater than the element width, the result is 0.
  5904  //
  5905  // Asm: VPSLLQ, CPU Feature: AVX2
  5906  func (x Uint64x4) ShiftAllLeft(shift uint64) Uint64x4
  5907  
  5908  // ShiftAllLeft shifts each element of x left by y bits.
  5909  // If y is greater than the element width, the result is 0.
  5910  //
  5911  // Asm: VPSLLQ, CPU Feature: AVX512
  5912  func (x Uint64x8) ShiftAllLeft(shift uint64) Uint64x8
  5913  
  5914  /* ShiftAllLeftConcatMod16 */
  5915  
  5916  // ShiftAllLeftConcatMod16 shifts x[i] left by shift%16, filing any empted lower bits
  5917  // with the high bits of y[i].
  5918  //
  5919  //	z[i] = concat(x[i], y[i]) << (shift%16)
  5920  //
  5921  // A non-constant value of shift may result in significantly worse performance for this operation.
  5922  //
  5923  // Asm: VPSHLDW, CPU Feature: AVX512VBMI2
  5924  func (x Int16x8) ShiftAllLeftConcatMod16(y Int16x8, shift uint64) Int16x8
  5925  
  5926  // ShiftAllLeftConcatMod16 shifts x[i] left by shift%16, filing any empted lower bits
  5927  // with the high bits of y[i].
  5928  //
  5929  //	z[i] = concat(x[i], y[i]) << (shift%16)
  5930  //
  5931  // A non-constant value of shift may result in significantly worse performance for this operation.
  5932  //
  5933  // Asm: VPSHLDW, CPU Feature: AVX512VBMI2
  5934  func (x Int16x16) ShiftAllLeftConcatMod16(y Int16x16, shift uint64) Int16x16
  5935  
  5936  // ShiftAllLeftConcatMod16 shifts x[i] left by shift%16, filing any empted lower bits
  5937  // with the high bits of y[i].
  5938  //
  5939  //	z[i] = concat(x[i], y[i]) << (shift%16)
  5940  //
  5941  // A non-constant value of shift may result in significantly worse performance for this operation.
  5942  //
  5943  // Asm: VPSHLDW, CPU Feature: AVX512VBMI2
  5944  func (x Int16x32) ShiftAllLeftConcatMod16(y Int16x32, shift uint64) Int16x32
  5945  
  5946  // ShiftAllLeftConcatMod16 shifts x[i] left by shift%16, filing any empted lower bits
  5947  // with the high bits of y[i].
  5948  //
  5949  //	z[i] = concat(x[i], y[i]) << (shift%16)
  5950  //
  5951  // A non-constant value of shift may result in significantly worse performance for this operation.
  5952  //
  5953  // Asm: VPSHLDW, CPU Feature: AVX512VBMI2
  5954  func (x Uint16x8) ShiftAllLeftConcatMod16(y Uint16x8, shift uint64) Uint16x8
  5955  
  5956  // ShiftAllLeftConcatMod16 shifts x[i] left by shift%16, filing any empted lower bits
  5957  // with the high bits of y[i].
  5958  //
  5959  //	z[i] = concat(x[i], y[i]) << (shift%16)
  5960  //
  5961  // A non-constant value of shift may result in significantly worse performance for this operation.
  5962  //
  5963  // Asm: VPSHLDW, CPU Feature: AVX512VBMI2
  5964  func (x Uint16x16) ShiftAllLeftConcatMod16(y Uint16x16, shift uint64) Uint16x16
  5965  
  5966  // ShiftAllLeftConcatMod16 shifts x[i] left by shift%16, filing any empted lower bits
  5967  // with the high bits of y[i].
  5968  //
  5969  //	z[i] = concat(x[i], y[i]) << (shift%16)
  5970  //
  5971  // A non-constant value of shift may result in significantly worse performance for this operation.
  5972  //
  5973  // Asm: VPSHLDW, CPU Feature: AVX512VBMI2
  5974  func (x Uint16x32) ShiftAllLeftConcatMod16(y Uint16x32, shift uint64) Uint16x32
  5975  
  5976  /* ShiftAllLeftConcatMod32 */
  5977  
  5978  // ShiftAllLeftConcatMod32 shifts x[i] left by shift%32, filing any empted lower bits
  5979  // with the high bits of y[i].
  5980  //
  5981  //	z[i] = concat(x[i], y[i]) << (shift%32)
  5982  //
  5983  // A non-constant value of shift may result in significantly worse performance for this operation.
  5984  //
  5985  // Asm: VPSHLDD, CPU Feature: AVX512VBMI2
  5986  func (x Int32x4) ShiftAllLeftConcatMod32(y Int32x4, shift uint64) Int32x4
  5987  
  5988  // ShiftAllLeftConcatMod32 shifts x[i] left by shift%32, filing any empted lower bits
  5989  // with the high bits of y[i].
  5990  //
  5991  //	z[i] = concat(x[i], y[i]) << (shift%32)
  5992  //
  5993  // A non-constant value of shift may result in significantly worse performance for this operation.
  5994  //
  5995  // Asm: VPSHLDD, CPU Feature: AVX512VBMI2
  5996  func (x Int32x8) ShiftAllLeftConcatMod32(y Int32x8, shift uint64) Int32x8
  5997  
  5998  // ShiftAllLeftConcatMod32 shifts x[i] left by shift%32, filing any empted lower bits
  5999  // with the high bits of y[i].
  6000  //
  6001  //	z[i] = concat(x[i], y[i]) << (shift%32)
  6002  //
  6003  // A non-constant value of shift may result in significantly worse performance for this operation.
  6004  //
  6005  // Asm: VPSHLDD, CPU Feature: AVX512VBMI2
  6006  func (x Int32x16) ShiftAllLeftConcatMod32(y Int32x16, shift uint64) Int32x16
  6007  
  6008  // ShiftAllLeftConcatMod32 shifts x[i] left by shift%32, filing any empted lower bits
  6009  // with the high bits of y[i].
  6010  //
  6011  //	z[i] = concat(x[i], y[i]) << (shift%32)
  6012  //
  6013  // A non-constant value of shift may result in significantly worse performance for this operation.
  6014  //
  6015  // Asm: VPSHLDD, CPU Feature: AVX512VBMI2
  6016  func (x Uint32x4) ShiftAllLeftConcatMod32(y Uint32x4, shift uint64) Uint32x4
  6017  
  6018  // ShiftAllLeftConcatMod32 shifts x[i] left by shift%32, filing any empted lower bits
  6019  // with the high bits of y[i].
  6020  //
  6021  //	z[i] = concat(x[i], y[i]) << (shift%32)
  6022  //
  6023  // A non-constant value of shift may result in significantly worse performance for this operation.
  6024  //
  6025  // Asm: VPSHLDD, CPU Feature: AVX512VBMI2
  6026  func (x Uint32x8) ShiftAllLeftConcatMod32(y Uint32x8, shift uint64) Uint32x8
  6027  
  6028  // ShiftAllLeftConcatMod32 shifts x[i] left by shift%32, filing any empted lower bits
  6029  // with the high bits of y[i].
  6030  //
  6031  //	z[i] = concat(x[i], y[i]) << (shift%32)
  6032  //
  6033  // A non-constant value of shift may result in significantly worse performance for this operation.
  6034  //
  6035  // Asm: VPSHLDD, CPU Feature: AVX512VBMI2
  6036  func (x Uint32x16) ShiftAllLeftConcatMod32(y Uint32x16, shift uint64) Uint32x16
  6037  
  6038  /* ShiftAllLeftConcatMod64 */
  6039  
  6040  // ShiftAllLeftConcatMod64 shifts x[i] left by shift%64, filing any empted lower bits
  6041  // with the high bits of y[i].
  6042  //
  6043  //	z[i] = concat(x[i], y[i]) << (shift%64)
  6044  //
  6045  // A non-constant value of shift may result in significantly worse performance for this operation.
  6046  //
  6047  // Asm: VPSHLDQ, CPU Feature: AVX512VBMI2
  6048  func (x Int64x2) ShiftAllLeftConcatMod64(y Int64x2, shift uint64) Int64x2
  6049  
  6050  // ShiftAllLeftConcatMod64 shifts x[i] left by shift%64, filing any empted lower bits
  6051  // with the high bits of y[i].
  6052  //
  6053  //	z[i] = concat(x[i], y[i]) << (shift%64)
  6054  //
  6055  // A non-constant value of shift may result in significantly worse performance for this operation.
  6056  //
  6057  // Asm: VPSHLDQ, CPU Feature: AVX512VBMI2
  6058  func (x Int64x4) ShiftAllLeftConcatMod64(y Int64x4, shift uint64) Int64x4
  6059  
  6060  // ShiftAllLeftConcatMod64 shifts x[i] left by shift%64, filing any empted lower bits
  6061  // with the high bits of y[i].
  6062  //
  6063  //	z[i] = concat(x[i], y[i]) << (shift%64)
  6064  //
  6065  // A non-constant value of shift may result in significantly worse performance for this operation.
  6066  //
  6067  // Asm: VPSHLDQ, CPU Feature: AVX512VBMI2
  6068  func (x Int64x8) ShiftAllLeftConcatMod64(y Int64x8, shift uint64) Int64x8
  6069  
  6070  // ShiftAllLeftConcatMod64 shifts x[i] left by shift%64, filing any empted lower bits
  6071  // with the high bits of y[i].
  6072  //
  6073  //	z[i] = concat(x[i], y[i]) << (shift%64)
  6074  //
  6075  // A non-constant value of shift may result in significantly worse performance for this operation.
  6076  //
  6077  // Asm: VPSHLDQ, CPU Feature: AVX512VBMI2
  6078  func (x Uint64x2) ShiftAllLeftConcatMod64(y Uint64x2, shift uint64) Uint64x2
  6079  
  6080  // ShiftAllLeftConcatMod64 shifts x[i] left by shift%64, filing any empted lower bits
  6081  // with the high bits of y[i].
  6082  //
  6083  //	z[i] = concat(x[i], y[i]) << (shift%64)
  6084  //
  6085  // A non-constant value of shift may result in significantly worse performance for this operation.
  6086  //
  6087  // Asm: VPSHLDQ, CPU Feature: AVX512VBMI2
  6088  func (x Uint64x4) ShiftAllLeftConcatMod64(y Uint64x4, shift uint64) Uint64x4
  6089  
  6090  // ShiftAllLeftConcatMod64 shifts x[i] left by shift%64, filing any empted lower bits
  6091  // with the high bits of y[i].
  6092  //
  6093  //	z[i] = concat(x[i], y[i]) << (shift%64)
  6094  //
  6095  // A non-constant value of shift may result in significantly worse performance for this operation.
  6096  //
  6097  // Asm: VPSHLDQ, CPU Feature: AVX512VBMI2
  6098  func (x Uint64x8) ShiftAllLeftConcatMod64(y Uint64x8, shift uint64) Uint64x8
  6099  
  6100  /* ShiftAllRight */
  6101  
  6102  // ShiftAllRight arithmetically shifts each element of x right by y bits.
  6103  // If y is greater than the element width, the result is 0 or -1.
  6104  //
  6105  // Asm: VPSRAW, CPU Feature: AVX
  6106  func (x Int16x8) ShiftAllRight(shift uint64) Int16x8
  6107  
  6108  // ShiftAllRight arithmetically shifts each element of x right by y bits.
  6109  // If y is greater than the element width, the result is 0 or -1.
  6110  //
  6111  // Asm: VPSRAW, CPU Feature: AVX2
  6112  func (x Int16x16) ShiftAllRight(shift uint64) Int16x16
  6113  
  6114  // ShiftAllRight arithmetically shifts each element of x right by y bits.
  6115  // If y is greater than the element width, the result is 0 or -1.
  6116  //
  6117  // Asm: VPSRAW, CPU Feature: AVX512
  6118  func (x Int16x32) ShiftAllRight(shift uint64) Int16x32
  6119  
  6120  // ShiftAllRight arithmetically shifts each element of x right by y bits.
  6121  // If y is greater than the element width, the result is 0 or -1.
  6122  //
  6123  // Asm: VPSRAD, CPU Feature: AVX
  6124  func (x Int32x4) ShiftAllRight(shift uint64) Int32x4
  6125  
  6126  // ShiftAllRight arithmetically shifts each element of x right by y bits.
  6127  // If y is greater than the element width, the result is 0 or -1.
  6128  //
  6129  // Asm: VPSRAD, CPU Feature: AVX2
  6130  func (x Int32x8) ShiftAllRight(shift uint64) Int32x8
  6131  
  6132  // ShiftAllRight arithmetically shifts each element of x right by y bits.
  6133  // If y is greater than the element width, the result is 0 or -1.
  6134  //
  6135  // Asm: VPSRAD, CPU Feature: AVX512
  6136  func (x Int32x16) ShiftAllRight(shift uint64) Int32x16
  6137  
  6138  // ShiftAllRight arithmetically shifts each element of x right by y bits.
  6139  // If y is greater than the element width, the result is 0 or -1.
  6140  //
  6141  // Asm: VPSRAQ, CPU Feature: AVX512
  6142  func (x Int64x2) ShiftAllRight(shift uint64) Int64x2
  6143  
  6144  // ShiftAllRight arithmetically shifts each element of x right by y bits.
  6145  // If y is greater than the element width, the result is 0 or -1.
  6146  //
  6147  // Asm: VPSRAQ, CPU Feature: AVX512
  6148  func (x Int64x4) ShiftAllRight(shift uint64) Int64x4
  6149  
  6150  // ShiftAllRight arithmetically shifts each element of x right by y bits.
  6151  // If y is greater than the element width, the result is 0 or -1.
  6152  //
  6153  // Asm: VPSRAQ, CPU Feature: AVX512
  6154  func (x Int64x8) ShiftAllRight(shift uint64) Int64x8
  6155  
  6156  // ShiftAllRight logically shifts each element of x right by y bits.
  6157  // If y is greater than the element width, the result is 0.
  6158  //
  6159  // Asm: VPSRLW, CPU Feature: AVX
  6160  func (x Uint16x8) ShiftAllRight(shift uint64) Uint16x8
  6161  
  6162  // ShiftAllRight logically shifts each element of x right by y bits.
  6163  // If y is greater than the element width, the result is 0.
  6164  //
  6165  // Asm: VPSRLW, CPU Feature: AVX2
  6166  func (x Uint16x16) ShiftAllRight(shift uint64) Uint16x16
  6167  
  6168  // ShiftAllRight logically shifts each element of x right by y bits.
  6169  // If y is greater than the element width, the result is 0.
  6170  //
  6171  // Asm: VPSRLW, CPU Feature: AVX512
  6172  func (x Uint16x32) ShiftAllRight(shift uint64) Uint16x32
  6173  
  6174  // ShiftAllRight logically shifts each element of x right by y bits.
  6175  // If y is greater than the element width, the result is 0.
  6176  //
  6177  // Asm: VPSRLD, CPU Feature: AVX
  6178  func (x Uint32x4) ShiftAllRight(shift uint64) Uint32x4
  6179  
  6180  // ShiftAllRight logically shifts each element of x right by y bits.
  6181  // If y is greater than the element width, the result is 0.
  6182  //
  6183  // Asm: VPSRLD, CPU Feature: AVX2
  6184  func (x Uint32x8) ShiftAllRight(shift uint64) Uint32x8
  6185  
  6186  // ShiftAllRight logically shifts each element of x right by y bits.
  6187  // If y is greater than the element width, the result is 0.
  6188  //
  6189  // Asm: VPSRLD, CPU Feature: AVX512
  6190  func (x Uint32x16) ShiftAllRight(shift uint64) Uint32x16
  6191  
  6192  // ShiftAllRight logically shifts each element of x right by y bits.
  6193  // If y is greater than the element width, the result is 0.
  6194  //
  6195  // Asm: VPSRLQ, CPU Feature: AVX
  6196  func (x Uint64x2) ShiftAllRight(shift uint64) Uint64x2
  6197  
  6198  // ShiftAllRight logically shifts each element of x right by y bits.
  6199  // If y is greater than the element width, the result is 0.
  6200  //
  6201  // Asm: VPSRLQ, CPU Feature: AVX2
  6202  func (x Uint64x4) ShiftAllRight(shift uint64) Uint64x4
  6203  
  6204  // ShiftAllRight logically shifts each element of x right by y bits.
  6205  // If y is greater than the element width, the result is 0.
  6206  //
  6207  // Asm: VPSRLQ, CPU Feature: AVX512
  6208  func (x Uint64x8) ShiftAllRight(shift uint64) Uint64x8
  6209  
  6210  /* ShiftAllRightConcatMod16 */
  6211  
  6212  // ShiftAllRightConcatMod16 shifts x[i] right by shift%16, filling any emptied upper bits
  6213  // with the low bits of y[i].
  6214  //
  6215  //	z[i] = concat(y[i], x[i]) >> (shift%16)
  6216  //
  6217  // A non-constant value of shift may result in significantly worse performance for this operation.
  6218  //
  6219  // Asm: VPSHRDW, CPU Feature: AVX512VBMI2
  6220  func (x Int16x8) ShiftAllRightConcatMod16(y Int16x8, shift uint64) Int16x8
  6221  
  6222  // ShiftAllRightConcatMod16 shifts x[i] right by shift%16, filling any emptied upper bits
  6223  // with the low bits of y[i].
  6224  //
  6225  //	z[i] = concat(y[i], x[i]) >> (shift%16)
  6226  //
  6227  // A non-constant value of shift may result in significantly worse performance for this operation.
  6228  //
  6229  // Asm: VPSHRDW, CPU Feature: AVX512VBMI2
  6230  func (x Int16x16) ShiftAllRightConcatMod16(y Int16x16, shift uint64) Int16x16
  6231  
  6232  // ShiftAllRightConcatMod16 shifts x[i] right by shift%16, filling any emptied upper bits
  6233  // with the low bits of y[i].
  6234  //
  6235  //	z[i] = concat(y[i], x[i]) >> (shift%16)
  6236  //
  6237  // A non-constant value of shift may result in significantly worse performance for this operation.
  6238  //
  6239  // Asm: VPSHRDW, CPU Feature: AVX512VBMI2
  6240  func (x Int16x32) ShiftAllRightConcatMod16(y Int16x32, shift uint64) Int16x32
  6241  
  6242  // ShiftAllRightConcatMod16 shifts x[i] right by shift%16, filling any emptied upper bits
  6243  // with the low bits of y[i].
  6244  //
  6245  //	z[i] = concat(y[i], x[i]) >> (shift%16)
  6246  //
  6247  // A non-constant value of shift may result in significantly worse performance for this operation.
  6248  //
  6249  // Asm: VPSHRDW, CPU Feature: AVX512VBMI2
  6250  func (x Uint16x8) ShiftAllRightConcatMod16(y Uint16x8, shift uint64) Uint16x8
  6251  
  6252  // ShiftAllRightConcatMod16 shifts x[i] right by shift%16, filling any emptied upper bits
  6253  // with the low bits of y[i].
  6254  //
  6255  //	z[i] = concat(y[i], x[i]) >> (shift%16)
  6256  //
  6257  // A non-constant value of shift may result in significantly worse performance for this operation.
  6258  //
  6259  // Asm: VPSHRDW, CPU Feature: AVX512VBMI2
  6260  func (x Uint16x16) ShiftAllRightConcatMod16(y Uint16x16, shift uint64) Uint16x16
  6261  
  6262  // ShiftAllRightConcatMod16 shifts x[i] right by shift%16, filling any emptied upper bits
  6263  // with the low bits of y[i].
  6264  //
  6265  //	z[i] = concat(y[i], x[i]) >> (shift%16)
  6266  //
  6267  // A non-constant value of shift may result in significantly worse performance for this operation.
  6268  //
  6269  // Asm: VPSHRDW, CPU Feature: AVX512VBMI2
  6270  func (x Uint16x32) ShiftAllRightConcatMod16(y Uint16x32, shift uint64) Uint16x32
  6271  
  6272  /* ShiftAllRightConcatMod32 */
  6273  
  6274  // ShiftAllRightConcatMod32 shifts x[i] right by shift%32, filling any emptied upper bits
  6275  // with the low bits of y[i].
  6276  //
  6277  //	z[i] = concat(y[i], x[i]) >> (shift%32)
  6278  //
  6279  // A non-constant value of shift may result in significantly worse performance for this operation.
  6280  //
  6281  // Asm: VPSHRDD, CPU Feature: AVX512VBMI2
  6282  func (x Int32x4) ShiftAllRightConcatMod32(y Int32x4, shift uint64) Int32x4
  6283  
  6284  // ShiftAllRightConcatMod32 shifts x[i] right by shift%32, filling any emptied upper bits
  6285  // with the low bits of y[i].
  6286  //
  6287  //	z[i] = concat(y[i], x[i]) >> (shift%32)
  6288  //
  6289  // A non-constant value of shift may result in significantly worse performance for this operation.
  6290  //
  6291  // Asm: VPSHRDD, CPU Feature: AVX512VBMI2
  6292  func (x Int32x8) ShiftAllRightConcatMod32(y Int32x8, shift uint64) Int32x8
  6293  
  6294  // ShiftAllRightConcatMod32 shifts x[i] right by shift%32, filling any emptied upper bits
  6295  // with the low bits of y[i].
  6296  //
  6297  //	z[i] = concat(y[i], x[i]) >> (shift%32)
  6298  //
  6299  // A non-constant value of shift may result in significantly worse performance for this operation.
  6300  //
  6301  // Asm: VPSHRDD, CPU Feature: AVX512VBMI2
  6302  func (x Int32x16) ShiftAllRightConcatMod32(y Int32x16, shift uint64) Int32x16
  6303  
  6304  // ShiftAllRightConcatMod32 shifts x[i] right by shift%32, filling any emptied upper bits
  6305  // with the low bits of y[i].
  6306  //
  6307  //	z[i] = concat(y[i], x[i]) >> (shift%32)
  6308  //
  6309  // A non-constant value of shift may result in significantly worse performance for this operation.
  6310  //
  6311  // Asm: VPSHRDD, CPU Feature: AVX512VBMI2
  6312  func (x Uint32x4) ShiftAllRightConcatMod32(y Uint32x4, shift uint64) Uint32x4
  6313  
  6314  // ShiftAllRightConcatMod32 shifts x[i] right by shift%32, filling any emptied upper bits
  6315  // with the low bits of y[i].
  6316  //
  6317  //	z[i] = concat(y[i], x[i]) >> (shift%32)
  6318  //
  6319  // A non-constant value of shift may result in significantly worse performance for this operation.
  6320  //
  6321  // Asm: VPSHRDD, CPU Feature: AVX512VBMI2
  6322  func (x Uint32x8) ShiftAllRightConcatMod32(y Uint32x8, shift uint64) Uint32x8
  6323  
  6324  // ShiftAllRightConcatMod32 shifts x[i] right by shift%32, filling any emptied upper bits
  6325  // with the low bits of y[i].
  6326  //
  6327  //	z[i] = concat(y[i], x[i]) >> (shift%32)
  6328  //
  6329  // A non-constant value of shift may result in significantly worse performance for this operation.
  6330  //
  6331  // Asm: VPSHRDD, CPU Feature: AVX512VBMI2
  6332  func (x Uint32x16) ShiftAllRightConcatMod32(y Uint32x16, shift uint64) Uint32x16
  6333  
  6334  /* ShiftAllRightConcatMod64 */
  6335  
  6336  // ShiftAllRightConcatMod64 shifts x[i] right by shift%64, filling any emptied upper bits
  6337  // with the low bits of y[i].
  6338  //
  6339  //	z[i] = concat(y[i], x[i]) >> (shift%64)
  6340  //
  6341  // A non-constant value of shift may result in significantly worse performance for this operation.
  6342  //
  6343  // Asm: VPSHRDQ, CPU Feature: AVX512VBMI2
  6344  func (x Int64x2) ShiftAllRightConcatMod64(y Int64x2, shift uint64) Int64x2
  6345  
  6346  // ShiftAllRightConcatMod64 shifts x[i] right by shift%64, filling any emptied upper bits
  6347  // with the low bits of y[i].
  6348  //
  6349  //	z[i] = concat(y[i], x[i]) >> (shift%64)
  6350  //
  6351  // A non-constant value of shift may result in significantly worse performance for this operation.
  6352  //
  6353  // Asm: VPSHRDQ, CPU Feature: AVX512VBMI2
  6354  func (x Int64x4) ShiftAllRightConcatMod64(y Int64x4, shift uint64) Int64x4
  6355  
  6356  // ShiftAllRightConcatMod64 shifts x[i] right by shift%64, filling any emptied upper bits
  6357  // with the low bits of y[i].
  6358  //
  6359  //	z[i] = concat(y[i], x[i]) >> (shift%64)
  6360  //
  6361  // A non-constant value of shift may result in significantly worse performance for this operation.
  6362  //
  6363  // Asm: VPSHRDQ, CPU Feature: AVX512VBMI2
  6364  func (x Int64x8) ShiftAllRightConcatMod64(y Int64x8, shift uint64) Int64x8
  6365  
  6366  // ShiftAllRightConcatMod64 shifts x[i] right by shift%64, filling any emptied upper bits
  6367  // with the low bits of y[i].
  6368  //
  6369  //	z[i] = concat(y[i], x[i]) >> (shift%64)
  6370  //
  6371  // A non-constant value of shift may result in significantly worse performance for this operation.
  6372  //
  6373  // Asm: VPSHRDQ, CPU Feature: AVX512VBMI2
  6374  func (x Uint64x2) ShiftAllRightConcatMod64(y Uint64x2, shift uint64) Uint64x2
  6375  
  6376  // ShiftAllRightConcatMod64 shifts x[i] right by shift%64, filling any emptied upper bits
  6377  // with the low bits of y[i].
  6378  //
  6379  //	z[i] = concat(y[i], x[i]) >> (shift%64)
  6380  //
  6381  // A non-constant value of shift may result in significantly worse performance for this operation.
  6382  //
  6383  // Asm: VPSHRDQ, CPU Feature: AVX512VBMI2
  6384  func (x Uint64x4) ShiftAllRightConcatMod64(y Uint64x4, shift uint64) Uint64x4
  6385  
  6386  // ShiftAllRightConcatMod64 shifts x[i] right by shift%64, filling any emptied upper bits
  6387  // with the low bits of y[i].
  6388  //
  6389  //	z[i] = concat(y[i], x[i]) >> (shift%64)
  6390  //
  6391  // A non-constant value of shift may result in significantly worse performance for this operation.
  6392  //
  6393  // Asm: VPSHRDQ, CPU Feature: AVX512VBMI2
  6394  func (x Uint64x8) ShiftAllRightConcatMod64(y Uint64x8, shift uint64) Uint64x8
  6395  
  6396  /* ShiftLeft */
  6397  
  6398  // ShiftLeft shifts x[i] left by y[i] bits.
  6399  // If y[i] is greater than the element width, the result is 0.
  6400  //
  6401  // Asm: VPSLLVW, CPU Feature: AVX512
  6402  func (x Int16x8) ShiftLeft(shift Uint16x8) Int16x8
  6403  
  6404  // ShiftLeft shifts x[i] left by y[i] bits.
  6405  // If y[i] is greater than the element width, the result is 0.
  6406  //
  6407  // Asm: VPSLLVW, CPU Feature: AVX512
  6408  func (x Int16x16) ShiftLeft(shift Uint16x16) Int16x16
  6409  
  6410  // ShiftLeft shifts x[i] left by y[i] bits.
  6411  // If y[i] is greater than the element width, the result is 0.
  6412  //
  6413  // Asm: VPSLLVW, CPU Feature: AVX512
  6414  func (x Int16x32) ShiftLeft(shift Uint16x32) Int16x32
  6415  
  6416  // ShiftLeft shifts x[i] left by y[i] bits.
  6417  // If y[i] is greater than the element width, the result is 0.
  6418  //
  6419  // Asm: VPSLLVD, CPU Feature: AVX2
  6420  func (x Int32x4) ShiftLeft(shift Uint32x4) Int32x4
  6421  
  6422  // ShiftLeft shifts x[i] left by y[i] bits.
  6423  // If y[i] is greater than the element width, the result is 0.
  6424  //
  6425  // Asm: VPSLLVD, CPU Feature: AVX2
  6426  func (x Int32x8) ShiftLeft(shift Uint32x8) Int32x8
  6427  
  6428  // ShiftLeft shifts x[i] left by y[i] bits.
  6429  // If y[i] is greater than the element width, the result is 0.
  6430  //
  6431  // Asm: VPSLLVD, CPU Feature: AVX512
  6432  func (x Int32x16) ShiftLeft(shift Uint32x16) Int32x16
  6433  
  6434  // ShiftLeft shifts x[i] left by y[i] bits.
  6435  // If y[i] is greater than the element width, the result is 0.
  6436  //
  6437  // Asm: VPSLLVQ, CPU Feature: AVX2
  6438  func (x Int64x2) ShiftLeft(shift Uint64x2) Int64x2
  6439  
  6440  // ShiftLeft shifts x[i] left by y[i] bits.
  6441  // If y[i] is greater than the element width, the result is 0.
  6442  //
  6443  // Asm: VPSLLVQ, CPU Feature: AVX2
  6444  func (x Int64x4) ShiftLeft(shift Uint64x4) Int64x4
  6445  
  6446  // ShiftLeft shifts x[i] left by y[i] bits.
  6447  // If y[i] is greater than the element width, the result is 0.
  6448  //
  6449  // Asm: VPSLLVQ, CPU Feature: AVX512
  6450  func (x Int64x8) ShiftLeft(shift Uint64x8) Int64x8
  6451  
  6452  // ShiftLeft shifts x[i] left by y[i] bits.
  6453  // If y[i] is greater than the element width, the result is 0.
  6454  //
  6455  // Asm: VPSLLVW, CPU Feature: AVX512
  6456  func (x Uint16x8) ShiftLeft(shift Uint16x8) Uint16x8
  6457  
  6458  // ShiftLeft shifts x[i] left by y[i] bits.
  6459  // If y[i] is greater than the element width, the result is 0.
  6460  //
  6461  // Asm: VPSLLVW, CPU Feature: AVX512
  6462  func (x Uint16x16) ShiftLeft(shift Uint16x16) Uint16x16
  6463  
  6464  // ShiftLeft shifts x[i] left by y[i] bits.
  6465  // If y[i] is greater than the element width, the result is 0.
  6466  //
  6467  // Asm: VPSLLVW, CPU Feature: AVX512
  6468  func (x Uint16x32) ShiftLeft(shift Uint16x32) Uint16x32
  6469  
  6470  // ShiftLeft shifts x[i] left by y[i] bits.
  6471  // If y[i] is greater than the element width, the result is 0.
  6472  //
  6473  // Asm: VPSLLVD, CPU Feature: AVX2
  6474  func (x Uint32x4) ShiftLeft(shift Uint32x4) Uint32x4
  6475  
  6476  // ShiftLeft shifts x[i] left by y[i] bits.
  6477  // If y[i] is greater than the element width, the result is 0.
  6478  //
  6479  // Asm: VPSLLVD, CPU Feature: AVX2
  6480  func (x Uint32x8) ShiftLeft(shift Uint32x8) Uint32x8
  6481  
  6482  // ShiftLeft shifts x[i] left by y[i] bits.
  6483  // If y[i] is greater than the element width, the result is 0.
  6484  //
  6485  // Asm: VPSLLVD, CPU Feature: AVX512
  6486  func (x Uint32x16) ShiftLeft(shift Uint32x16) Uint32x16
  6487  
  6488  // ShiftLeft shifts x[i] left by y[i] bits.
  6489  // If y[i] is greater than the element width, the result is 0.
  6490  //
  6491  // Asm: VPSLLVQ, CPU Feature: AVX2
  6492  func (x Uint64x2) ShiftLeft(shift Uint64x2) Uint64x2
  6493  
  6494  // ShiftLeft shifts x[i] left by y[i] bits.
  6495  // If y[i] is greater than the element width, the result is 0.
  6496  //
  6497  // Asm: VPSLLVQ, CPU Feature: AVX2
  6498  func (x Uint64x4) ShiftLeft(shift Uint64x4) Uint64x4
  6499  
  6500  // ShiftLeft shifts x[i] left by y[i] bits.
  6501  // If y[i] is greater than the element width, the result is 0.
  6502  //
  6503  // Asm: VPSLLVQ, CPU Feature: AVX512
  6504  func (x Uint64x8) ShiftLeft(shift Uint64x8) Uint64x8
  6505  
  6506  /* ShiftLeftConcatMod16 */
  6507  
  6508  // ShiftLeftConcatMod16 shifts x[i] left by shift[i]%16, filing any empted lower bits
  6509  // with the high bits of y[i].
  6510  //
  6511  //	z[i] = concat(x[i], y[i]) << (shift[i]%16)
  6512  //
  6513  // Asm: VPSHLDVW, CPU Feature: AVX512VBMI2
  6514  func (x Int16x8) ShiftLeftConcatMod16(y Int16x8, shift Uint16x8) Int16x8
  6515  
  6516  // ShiftLeftConcatMod16 shifts x[i] left by shift[i]%16, filing any empted lower bits
  6517  // with the high bits of y[i].
  6518  //
  6519  //	z[i] = concat(x[i], y[i]) << (shift[i]%16)
  6520  //
  6521  // Asm: VPSHLDVW, CPU Feature: AVX512VBMI2
  6522  func (x Int16x16) ShiftLeftConcatMod16(y Int16x16, shift Uint16x16) Int16x16
  6523  
  6524  // ShiftLeftConcatMod16 shifts x[i] left by shift[i]%16, filing any empted lower bits
  6525  // with the high bits of y[i].
  6526  //
  6527  //	z[i] = concat(x[i], y[i]) << (shift[i]%16)
  6528  //
  6529  // Asm: VPSHLDVW, CPU Feature: AVX512VBMI2
  6530  func (x Int16x32) ShiftLeftConcatMod16(y Int16x32, shift Uint16x32) Int16x32
  6531  
  6532  // ShiftLeftConcatMod16 shifts x[i] left by shift[i]%16, filing any empted lower bits
  6533  // with the high bits of y[i].
  6534  //
  6535  //	z[i] = concat(x[i], y[i]) << (shift[i]%16)
  6536  //
  6537  // Asm: VPSHLDVW, CPU Feature: AVX512VBMI2
  6538  func (x Uint16x8) ShiftLeftConcatMod16(y Uint16x8, shift Uint16x8) Uint16x8
  6539  
  6540  // ShiftLeftConcatMod16 shifts x[i] left by shift[i]%16, filing any empted lower bits
  6541  // with the high bits of y[i].
  6542  //
  6543  //	z[i] = concat(x[i], y[i]) << (shift[i]%16)
  6544  //
  6545  // Asm: VPSHLDVW, CPU Feature: AVX512VBMI2
  6546  func (x Uint16x16) ShiftLeftConcatMod16(y Uint16x16, shift Uint16x16) Uint16x16
  6547  
  6548  // ShiftLeftConcatMod16 shifts x[i] left by shift[i]%16, filing any empted lower bits
  6549  // with the high bits of y[i].
  6550  //
  6551  //	z[i] = concat(x[i], y[i]) << (shift[i]%16)
  6552  //
  6553  // Asm: VPSHLDVW, CPU Feature: AVX512VBMI2
  6554  func (x Uint16x32) ShiftLeftConcatMod16(y Uint16x32, shift Uint16x32) Uint16x32
  6555  
  6556  /* ShiftLeftConcatMod32 */
  6557  
  6558  // ShiftLeftConcatMod32 shifts x[i] left by shift[i]%32, filing any empted lower bits
  6559  // with the high bits of y[i].
  6560  //
  6561  //	z[i] = concat(x[i], y[i]) << (shift[i]%32)
  6562  //
  6563  // Asm: VPSHLDVD, CPU Feature: AVX512VBMI2
  6564  func (x Int32x4) ShiftLeftConcatMod32(y Int32x4, shift Uint32x4) Int32x4
  6565  
  6566  // ShiftLeftConcatMod32 shifts x[i] left by shift[i]%32, filing any empted lower bits
  6567  // with the high bits of y[i].
  6568  //
  6569  //	z[i] = concat(x[i], y[i]) << (shift[i]%32)
  6570  //
  6571  // Asm: VPSHLDVD, CPU Feature: AVX512VBMI2
  6572  func (x Int32x8) ShiftLeftConcatMod32(y Int32x8, shift Uint32x8) Int32x8
  6573  
  6574  // ShiftLeftConcatMod32 shifts x[i] left by shift[i]%32, filing any empted lower bits
  6575  // with the high bits of y[i].
  6576  //
  6577  //	z[i] = concat(x[i], y[i]) << (shift[i]%32)
  6578  //
  6579  // Asm: VPSHLDVD, CPU Feature: AVX512VBMI2
  6580  func (x Int32x16) ShiftLeftConcatMod32(y Int32x16, shift Uint32x16) Int32x16
  6581  
  6582  // ShiftLeftConcatMod32 shifts x[i] left by shift[i]%32, filing any empted lower bits
  6583  // with the high bits of y[i].
  6584  //
  6585  //	z[i] = concat(x[i], y[i]) << (shift[i]%32)
  6586  //
  6587  // Asm: VPSHLDVD, CPU Feature: AVX512VBMI2
  6588  func (x Uint32x4) ShiftLeftConcatMod32(y Uint32x4, shift Uint32x4) Uint32x4
  6589  
  6590  // ShiftLeftConcatMod32 shifts x[i] left by shift[i]%32, filing any empted lower bits
  6591  // with the high bits of y[i].
  6592  //
  6593  //	z[i] = concat(x[i], y[i]) << (shift[i]%32)
  6594  //
  6595  // Asm: VPSHLDVD, CPU Feature: AVX512VBMI2
  6596  func (x Uint32x8) ShiftLeftConcatMod32(y Uint32x8, shift Uint32x8) Uint32x8
  6597  
  6598  // ShiftLeftConcatMod32 shifts x[i] left by shift[i]%32, filing any empted lower bits
  6599  // with the high bits of y[i].
  6600  //
  6601  //	z[i] = concat(x[i], y[i]) << (shift[i]%32)
  6602  //
  6603  // Asm: VPSHLDVD, CPU Feature: AVX512VBMI2
  6604  func (x Uint32x16) ShiftLeftConcatMod32(y Uint32x16, shift Uint32x16) Uint32x16
  6605  
  6606  /* ShiftLeftConcatMod64 */
  6607  
  6608  // ShiftLeftConcatMod64 shifts x[i] left by shift[i]%64, filing any empted lower bits
  6609  // with the high bits of y[i].
  6610  //
  6611  //	z[i] = concat(x[i], y[i]) << (shift[i]%64)
  6612  //
  6613  // Asm: VPSHLDVQ, CPU Feature: AVX512VBMI2
  6614  func (x Int64x2) ShiftLeftConcatMod64(y Int64x2, shift Uint64x2) Int64x2
  6615  
  6616  // ShiftLeftConcatMod64 shifts x[i] left by shift[i]%64, filing any empted lower bits
  6617  // with the high bits of y[i].
  6618  //
  6619  //	z[i] = concat(x[i], y[i]) << (shift[i]%64)
  6620  //
  6621  // Asm: VPSHLDVQ, CPU Feature: AVX512VBMI2
  6622  func (x Int64x4) ShiftLeftConcatMod64(y Int64x4, shift Uint64x4) Int64x4
  6623  
  6624  // ShiftLeftConcatMod64 shifts x[i] left by shift[i]%64, filing any empted lower bits
  6625  // with the high bits of y[i].
  6626  //
  6627  //	z[i] = concat(x[i], y[i]) << (shift[i]%64)
  6628  //
  6629  // Asm: VPSHLDVQ, CPU Feature: AVX512VBMI2
  6630  func (x Int64x8) ShiftLeftConcatMod64(y Int64x8, shift Uint64x8) Int64x8
  6631  
  6632  // ShiftLeftConcatMod64 shifts x[i] left by shift[i]%64, filing any empted lower bits
  6633  // with the high bits of y[i].
  6634  //
  6635  //	z[i] = concat(x[i], y[i]) << (shift[i]%64)
  6636  //
  6637  // Asm: VPSHLDVQ, CPU Feature: AVX512VBMI2
  6638  func (x Uint64x2) ShiftLeftConcatMod64(y Uint64x2, shift Uint64x2) Uint64x2
  6639  
  6640  // ShiftLeftConcatMod64 shifts x[i] left by shift[i]%64, filing any empted lower bits
  6641  // with the high bits of y[i].
  6642  //
  6643  //	z[i] = concat(x[i], y[i]) << (shift[i]%64)
  6644  //
  6645  // Asm: VPSHLDVQ, CPU Feature: AVX512VBMI2
  6646  func (x Uint64x4) ShiftLeftConcatMod64(y Uint64x4, shift Uint64x4) Uint64x4
  6647  
  6648  // ShiftLeftConcatMod64 shifts x[i] left by shift[i]%64, filing any empted lower bits
  6649  // with the high bits of y[i].
  6650  //
  6651  //	z[i] = concat(x[i], y[i]) << (shift[i]%64)
  6652  //
  6653  // Asm: VPSHLDVQ, CPU Feature: AVX512VBMI2
  6654  func (x Uint64x8) ShiftLeftConcatMod64(y Uint64x8, shift Uint64x8) Uint64x8
  6655  
  6656  /* ShiftRight */
  6657  
  6658  // ShiftRight arithmetically shifts x[i] right by y[i] bits.
  6659  // If y[i] is greater than the element width, the result is 0 or -1.
  6660  //
  6661  // Asm: VPSRAVW, CPU Feature: AVX512
  6662  func (x Int16x8) ShiftRight(shift Uint16x8) Int16x8
  6663  
  6664  // ShiftRight arithmetically shifts x[i] right by y[i] bits.
  6665  // If y[i] is greater than the element width, the result is 0 or -1.
  6666  //
  6667  // Asm: VPSRAVW, CPU Feature: AVX512
  6668  func (x Int16x16) ShiftRight(shift Uint16x16) Int16x16
  6669  
  6670  // ShiftRight arithmetically shifts x[i] right by y[i] bits.
  6671  // If y[i] is greater than the element width, the result is 0 or -1.
  6672  //
  6673  // Asm: VPSRAVW, CPU Feature: AVX512
  6674  func (x Int16x32) ShiftRight(shift Uint16x32) Int16x32
  6675  
  6676  // ShiftRight arithmetically shifts x[i] right by y[i] bits.
  6677  // If y[i] is greater than the element width, the result is 0 or -1.
  6678  //
  6679  // Asm: VPSRAVD, CPU Feature: AVX2
  6680  func (x Int32x4) ShiftRight(shift Uint32x4) Int32x4
  6681  
  6682  // ShiftRight arithmetically shifts x[i] right by y[i] bits.
  6683  // If y[i] is greater than the element width, the result is 0 or -1.
  6684  //
  6685  // Asm: VPSRAVD, CPU Feature: AVX2
  6686  func (x Int32x8) ShiftRight(shift Uint32x8) Int32x8
  6687  
  6688  // ShiftRight arithmetically shifts x[i] right by y[i] bits.
  6689  // If y[i] is greater than the element width, the result is 0 or -1.
  6690  //
  6691  // Asm: VPSRAVD, CPU Feature: AVX512
  6692  func (x Int32x16) ShiftRight(shift Uint32x16) Int32x16
  6693  
  6694  // ShiftRight arithmetically shifts x[i] right by y[i] bits.
  6695  // If y[i] is greater than the element width, the result is 0 or -1.
  6696  //
  6697  // Asm: VPSRAVQ, CPU Feature: AVX512
  6698  func (x Int64x2) ShiftRight(shift Uint64x2) Int64x2
  6699  
  6700  // ShiftRight arithmetically shifts x[i] right by y[i] bits.
  6701  // If y[i] is greater than the element width, the result is 0 or -1.
  6702  //
  6703  // Asm: VPSRAVQ, CPU Feature: AVX512
  6704  func (x Int64x4) ShiftRight(shift Uint64x4) Int64x4
  6705  
  6706  // ShiftRight arithmetically shifts x[i] right by y[i] bits.
  6707  // If y[i] is greater than the element width, the result is 0 or -1.
  6708  //
  6709  // Asm: VPSRAVQ, CPU Feature: AVX512
  6710  func (x Int64x8) ShiftRight(shift Uint64x8) Int64x8
  6711  
  6712  // ShiftRight logically shifts x[i] right by y[i] bits.
  6713  // If y[i] is greater than the element width, the result is 0.
  6714  //
  6715  // Asm: VPSRLVW, CPU Feature: AVX512
  6716  func (x Uint16x8) ShiftRight(shift Uint16x8) Uint16x8
  6717  
  6718  // ShiftRight logically shifts x[i] right by y[i] bits.
  6719  // If y[i] is greater than the element width, the result is 0.
  6720  //
  6721  // Asm: VPSRLVW, CPU Feature: AVX512
  6722  func (x Uint16x16) ShiftRight(shift Uint16x16) Uint16x16
  6723  
  6724  // ShiftRight logically shifts x[i] right by y[i] bits.
  6725  // If y[i] is greater than the element width, the result is 0.
  6726  //
  6727  // Asm: VPSRLVW, CPU Feature: AVX512
  6728  func (x Uint16x32) ShiftRight(shift Uint16x32) Uint16x32
  6729  
  6730  // ShiftRight logically shifts x[i] right by y[i] bits.
  6731  // If y[i] is greater than the element width, the result is 0.
  6732  //
  6733  // Asm: VPSRLVD, CPU Feature: AVX2
  6734  func (x Uint32x4) ShiftRight(shift Uint32x4) Uint32x4
  6735  
  6736  // ShiftRight logically shifts x[i] right by y[i] bits.
  6737  // If y[i] is greater than the element width, the result is 0.
  6738  //
  6739  // Asm: VPSRLVD, CPU Feature: AVX2
  6740  func (x Uint32x8) ShiftRight(shift Uint32x8) Uint32x8
  6741  
  6742  // ShiftRight logically shifts x[i] right by y[i] bits.
  6743  // If y[i] is greater than the element width, the result is 0.
  6744  //
  6745  // Asm: VPSRLVD, CPU Feature: AVX512
  6746  func (x Uint32x16) ShiftRight(shift Uint32x16) Uint32x16
  6747  
  6748  // ShiftRight logically shifts x[i] right by y[i] bits.
  6749  // If y[i] is greater than the element width, the result is 0.
  6750  //
  6751  // Asm: VPSRLVQ, CPU Feature: AVX2
  6752  func (x Uint64x2) ShiftRight(shift Uint64x2) Uint64x2
  6753  
  6754  // ShiftRight logically shifts x[i] right by y[i] bits.
  6755  // If y[i] is greater than the element width, the result is 0.
  6756  //
  6757  // Asm: VPSRLVQ, CPU Feature: AVX2
  6758  func (x Uint64x4) ShiftRight(shift Uint64x4) Uint64x4
  6759  
  6760  // ShiftRight logically shifts x[i] right by y[i] bits.
  6761  // If y[i] is greater than the element width, the result is 0.
  6762  //
  6763  // Asm: VPSRLVQ, CPU Feature: AVX512
  6764  func (x Uint64x8) ShiftRight(shift Uint64x8) Uint64x8
  6765  
  6766  /* ShiftRightConcatMod16 */
  6767  
  6768  // ShiftRightConcatMod16 shifts x[i] right by shift[i]%16, filling any emptied upper bits
  6769  // with the low bits of y[i].
  6770  //
  6771  //	z[i] = concat(y[i], x[i]) >> (shift[i]%16)
  6772  //
  6773  // Asm: VPSHRDVW, CPU Feature: AVX512VBMI2
  6774  func (x Int16x8) ShiftRightConcatMod16(y Int16x8, shift Uint16x8) Int16x8
  6775  
  6776  // ShiftRightConcatMod16 shifts x[i] right by shift[i]%16, filling any emptied upper bits
  6777  // with the low bits of y[i].
  6778  //
  6779  //	z[i] = concat(y[i], x[i]) >> (shift[i]%16)
  6780  //
  6781  // Asm: VPSHRDVW, CPU Feature: AVX512VBMI2
  6782  func (x Int16x16) ShiftRightConcatMod16(y Int16x16, shift Uint16x16) Int16x16
  6783  
  6784  // ShiftRightConcatMod16 shifts x[i] right by shift[i]%16, filling any emptied upper bits
  6785  // with the low bits of y[i].
  6786  //
  6787  //	z[i] = concat(y[i], x[i]) >> (shift[i]%16)
  6788  //
  6789  // Asm: VPSHRDVW, CPU Feature: AVX512VBMI2
  6790  func (x Int16x32) ShiftRightConcatMod16(y Int16x32, shift Uint16x32) Int16x32
  6791  
  6792  // ShiftRightConcatMod16 shifts x[i] right by shift[i]%16, filling any emptied upper bits
  6793  // with the low bits of y[i].
  6794  //
  6795  //	z[i] = concat(y[i], x[i]) >> (shift[i]%16)
  6796  //
  6797  // Asm: VPSHRDVW, CPU Feature: AVX512VBMI2
  6798  func (x Uint16x8) ShiftRightConcatMod16(y Uint16x8, shift Uint16x8) Uint16x8
  6799  
  6800  // ShiftRightConcatMod16 shifts x[i] right by shift[i]%16, filling any emptied upper bits
  6801  // with the low bits of y[i].
  6802  //
  6803  //	z[i] = concat(y[i], x[i]) >> (shift[i]%16)
  6804  //
  6805  // Asm: VPSHRDVW, CPU Feature: AVX512VBMI2
  6806  func (x Uint16x16) ShiftRightConcatMod16(y Uint16x16, shift Uint16x16) Uint16x16
  6807  
  6808  // ShiftRightConcatMod16 shifts x[i] right by shift[i]%16, filling any emptied upper bits
  6809  // with the low bits of y[i].
  6810  //
  6811  //	z[i] = concat(y[i], x[i]) >> (shift[i]%16)
  6812  //
  6813  // Asm: VPSHRDVW, CPU Feature: AVX512VBMI2
  6814  func (x Uint16x32) ShiftRightConcatMod16(y Uint16x32, shift Uint16x32) Uint16x32
  6815  
  6816  /* ShiftRightConcatMod32 */
  6817  
  6818  // ShiftRightConcatMod32 shifts x[i] right by shift[i]%32, filling any emptied upper bits
  6819  // with the low bits of y[i].
  6820  //
  6821  //	z[i] = concat(y[i], x[i]) >> (shift[i]%32)
  6822  //
  6823  // Asm: VPSHRDVD, CPU Feature: AVX512VBMI2
  6824  func (x Int32x4) ShiftRightConcatMod32(y Int32x4, shift Uint32x4) Int32x4
  6825  
  6826  // ShiftRightConcatMod32 shifts x[i] right by shift[i]%32, filling any emptied upper bits
  6827  // with the low bits of y[i].
  6828  //
  6829  //	z[i] = concat(y[i], x[i]) >> (shift[i]%32)
  6830  //
  6831  // Asm: VPSHRDVD, CPU Feature: AVX512VBMI2
  6832  func (x Int32x8) ShiftRightConcatMod32(y Int32x8, shift Uint32x8) Int32x8
  6833  
  6834  // ShiftRightConcatMod32 shifts x[i] right by shift[i]%32, filling any emptied upper bits
  6835  // with the low bits of y[i].
  6836  //
  6837  //	z[i] = concat(y[i], x[i]) >> (shift[i]%32)
  6838  //
  6839  // Asm: VPSHRDVD, CPU Feature: AVX512VBMI2
  6840  func (x Int32x16) ShiftRightConcatMod32(y Int32x16, shift Uint32x16) Int32x16
  6841  
  6842  // ShiftRightConcatMod32 shifts x[i] right by shift[i]%32, filling any emptied upper bits
  6843  // with the low bits of y[i].
  6844  //
  6845  //	z[i] = concat(y[i], x[i]) >> (shift[i]%32)
  6846  //
  6847  // Asm: VPSHRDVD, CPU Feature: AVX512VBMI2
  6848  func (x Uint32x4) ShiftRightConcatMod32(y Uint32x4, shift Uint32x4) Uint32x4
  6849  
  6850  // ShiftRightConcatMod32 shifts x[i] right by shift[i]%32, filling any emptied upper bits
  6851  // with the low bits of y[i].
  6852  //
  6853  //	z[i] = concat(y[i], x[i]) >> (shift[i]%32)
  6854  //
  6855  // Asm: VPSHRDVD, CPU Feature: AVX512VBMI2
  6856  func (x Uint32x8) ShiftRightConcatMod32(y Uint32x8, shift Uint32x8) Uint32x8
  6857  
  6858  // ShiftRightConcatMod32 shifts x[i] right by shift[i]%32, filling any emptied upper bits
  6859  // with the low bits of y[i].
  6860  //
  6861  //	z[i] = concat(y[i], x[i]) >> (shift[i]%32)
  6862  //
  6863  // Asm: VPSHRDVD, CPU Feature: AVX512VBMI2
  6864  func (x Uint32x16) ShiftRightConcatMod32(y Uint32x16, shift Uint32x16) Uint32x16
  6865  
  6866  /* ShiftRightConcatMod64 */
  6867  
  6868  // ShiftRightConcatMod64 shifts x[i] right by shift[i]%64, filling any emptied upper bits
  6869  // with the low bits of y[i].
  6870  //
  6871  //	z[i] = concat(y[i], x[i]) >> (shift[i]%64)
  6872  //
  6873  // Asm: VPSHRDVQ, CPU Feature: AVX512VBMI2
  6874  func (x Int64x2) ShiftRightConcatMod64(y Int64x2, shift Uint64x2) Int64x2
  6875  
  6876  // ShiftRightConcatMod64 shifts x[i] right by shift[i]%64, filling any emptied upper bits
  6877  // with the low bits of y[i].
  6878  //
  6879  //	z[i] = concat(y[i], x[i]) >> (shift[i]%64)
  6880  //
  6881  // Asm: VPSHRDVQ, CPU Feature: AVX512VBMI2
  6882  func (x Int64x4) ShiftRightConcatMod64(y Int64x4, shift Uint64x4) Int64x4
  6883  
  6884  // ShiftRightConcatMod64 shifts x[i] right by shift[i]%64, filling any emptied upper bits
  6885  // with the low bits of y[i].
  6886  //
  6887  //	z[i] = concat(y[i], x[i]) >> (shift[i]%64)
  6888  //
  6889  // Asm: VPSHRDVQ, CPU Feature: AVX512VBMI2
  6890  func (x Int64x8) ShiftRightConcatMod64(y Int64x8, shift Uint64x8) Int64x8
  6891  
  6892  // ShiftRightConcatMod64 shifts x[i] right by shift[i]%64, filling any emptied upper bits
  6893  // with the low bits of y[i].
  6894  //
  6895  //	z[i] = concat(y[i], x[i]) >> (shift[i]%64)
  6896  //
  6897  // Asm: VPSHRDVQ, CPU Feature: AVX512VBMI2
  6898  func (x Uint64x2) ShiftRightConcatMod64(y Uint64x2, shift Uint64x2) Uint64x2
  6899  
  6900  // ShiftRightConcatMod64 shifts x[i] right by shift[i]%64, filling any emptied upper bits
  6901  // with the low bits of y[i].
  6902  //
  6903  //	z[i] = concat(y[i], x[i]) >> (shift[i]%64)
  6904  //
  6905  // Asm: VPSHRDVQ, CPU Feature: AVX512VBMI2
  6906  func (x Uint64x4) ShiftRightConcatMod64(y Uint64x4, shift Uint64x4) Uint64x4
  6907  
  6908  // ShiftRightConcatMod64 shifts x[i] right by shift[i]%64, filling any emptied upper bits
  6909  // with the low bits of y[i].
  6910  //
  6911  //	z[i] = concat(y[i], x[i]) >> (shift[i]%64)
  6912  //
  6913  // Asm: VPSHRDVQ, CPU Feature: AVX512VBMI2
  6914  func (x Uint64x8) ShiftRightConcatMod64(y Uint64x8, shift Uint64x8) Uint64x8
  6915  
  6916  /* Sqrt */
  6917  
  6918  // Sqrt computes the square root of each element.
  6919  //
  6920  // Asm: VSQRTPS, CPU Feature: AVX
  6921  func (x Float32x4) Sqrt() Float32x4
  6922  
  6923  // Sqrt computes the square root of each element.
  6924  //
  6925  // Asm: VSQRTPS, CPU Feature: AVX
  6926  func (x Float32x8) Sqrt() Float32x8
  6927  
  6928  // Sqrt computes the square root of each element.
  6929  //
  6930  // Asm: VSQRTPS, CPU Feature: AVX512
  6931  func (x Float32x16) Sqrt() Float32x16
  6932  
  6933  // Sqrt computes the square root of each element.
  6934  //
  6935  // Asm: VSQRTPD, CPU Feature: AVX
  6936  func (x Float64x2) Sqrt() Float64x2
  6937  
  6938  // Sqrt computes the square root of each element.
  6939  //
  6940  // Asm: VSQRTPD, CPU Feature: AVX
  6941  func (x Float64x4) Sqrt() Float64x4
  6942  
  6943  // Sqrt computes the square root of each element.
  6944  //
  6945  // Asm: VSQRTPD, CPU Feature: AVX512
  6946  func (x Float64x8) Sqrt() Float64x8
  6947  
  6948  /* Sub */
  6949  
  6950  // Sub subtracts corresponding elements of two vectors.
  6951  //
  6952  // Asm: VSUBPS, CPU Feature: AVX
  6953  func (x Float32x4) Sub(y Float32x4) Float32x4
  6954  
  6955  // Sub subtracts corresponding elements of two vectors.
  6956  //
  6957  // Asm: VSUBPS, CPU Feature: AVX
  6958  func (x Float32x8) Sub(y Float32x8) Float32x8
  6959  
  6960  // Sub subtracts corresponding elements of two vectors.
  6961  //
  6962  // Asm: VSUBPS, CPU Feature: AVX512
  6963  func (x Float32x16) Sub(y Float32x16) Float32x16
  6964  
  6965  // Sub subtracts corresponding elements of two vectors.
  6966  //
  6967  // Asm: VSUBPD, CPU Feature: AVX
  6968  func (x Float64x2) Sub(y Float64x2) Float64x2
  6969  
  6970  // Sub subtracts corresponding elements of two vectors.
  6971  //
  6972  // Asm: VSUBPD, CPU Feature: AVX
  6973  func (x Float64x4) Sub(y Float64x4) Float64x4
  6974  
  6975  // Sub subtracts corresponding elements of two vectors.
  6976  //
  6977  // Asm: VSUBPD, CPU Feature: AVX512
  6978  func (x Float64x8) Sub(y Float64x8) Float64x8
  6979  
  6980  // Sub subtracts corresponding elements of two vectors.
  6981  //
  6982  // Asm: VPSUBB, CPU Feature: AVX
  6983  func (x Int8x16) Sub(y Int8x16) Int8x16
  6984  
  6985  // Sub subtracts corresponding elements of two vectors.
  6986  //
  6987  // Asm: VPSUBB, CPU Feature: AVX2
  6988  func (x Int8x32) Sub(y Int8x32) Int8x32
  6989  
  6990  // Sub subtracts corresponding elements of two vectors.
  6991  //
  6992  // Asm: VPSUBB, CPU Feature: AVX512
  6993  func (x Int8x64) Sub(y Int8x64) Int8x64
  6994  
  6995  // Sub subtracts corresponding elements of two vectors.
  6996  //
  6997  // Asm: VPSUBW, CPU Feature: AVX
  6998  func (x Int16x8) Sub(y Int16x8) Int16x8
  6999  
  7000  // Sub subtracts corresponding elements of two vectors.
  7001  //
  7002  // Asm: VPSUBW, CPU Feature: AVX2
  7003  func (x Int16x16) Sub(y Int16x16) Int16x16
  7004  
  7005  // Sub subtracts corresponding elements of two vectors.
  7006  //
  7007  // Asm: VPSUBW, CPU Feature: AVX512
  7008  func (x Int16x32) Sub(y Int16x32) Int16x32
  7009  
  7010  // Sub subtracts corresponding elements of two vectors.
  7011  //
  7012  // Asm: VPSUBD, CPU Feature: AVX
  7013  func (x Int32x4) Sub(y Int32x4) Int32x4
  7014  
  7015  // Sub subtracts corresponding elements of two vectors.
  7016  //
  7017  // Asm: VPSUBD, CPU Feature: AVX2
  7018  func (x Int32x8) Sub(y Int32x8) Int32x8
  7019  
  7020  // Sub subtracts corresponding elements of two vectors.
  7021  //
  7022  // Asm: VPSUBD, CPU Feature: AVX512
  7023  func (x Int32x16) Sub(y Int32x16) Int32x16
  7024  
  7025  // Sub subtracts corresponding elements of two vectors.
  7026  //
  7027  // Asm: VPSUBQ, CPU Feature: AVX
  7028  func (x Int64x2) Sub(y Int64x2) Int64x2
  7029  
  7030  // Sub subtracts corresponding elements of two vectors.
  7031  //
  7032  // Asm: VPSUBQ, CPU Feature: AVX2
  7033  func (x Int64x4) Sub(y Int64x4) Int64x4
  7034  
  7035  // Sub subtracts corresponding elements of two vectors.
  7036  //
  7037  // Asm: VPSUBQ, CPU Feature: AVX512
  7038  func (x Int64x8) Sub(y Int64x8) Int64x8
  7039  
  7040  // Sub subtracts corresponding elements of two vectors.
  7041  //
  7042  // Asm: VPSUBB, CPU Feature: AVX
  7043  func (x Uint8x16) Sub(y Uint8x16) Uint8x16
  7044  
  7045  // Sub subtracts corresponding elements of two vectors.
  7046  //
  7047  // Asm: VPSUBB, CPU Feature: AVX2
  7048  func (x Uint8x32) Sub(y Uint8x32) Uint8x32
  7049  
  7050  // Sub subtracts corresponding elements of two vectors.
  7051  //
  7052  // Asm: VPSUBB, CPU Feature: AVX512
  7053  func (x Uint8x64) Sub(y Uint8x64) Uint8x64
  7054  
  7055  // Sub subtracts corresponding elements of two vectors.
  7056  //
  7057  // Asm: VPSUBW, CPU Feature: AVX
  7058  func (x Uint16x8) Sub(y Uint16x8) Uint16x8
  7059  
  7060  // Sub subtracts corresponding elements of two vectors.
  7061  //
  7062  // Asm: VPSUBW, CPU Feature: AVX2
  7063  func (x Uint16x16) Sub(y Uint16x16) Uint16x16
  7064  
  7065  // Sub subtracts corresponding elements of two vectors.
  7066  //
  7067  // Asm: VPSUBW, CPU Feature: AVX512
  7068  func (x Uint16x32) Sub(y Uint16x32) Uint16x32
  7069  
  7070  // Sub subtracts corresponding elements of two vectors.
  7071  //
  7072  // Asm: VPSUBD, CPU Feature: AVX
  7073  func (x Uint32x4) Sub(y Uint32x4) Uint32x4
  7074  
  7075  // Sub subtracts corresponding elements of two vectors.
  7076  //
  7077  // Asm: VPSUBD, CPU Feature: AVX2
  7078  func (x Uint32x8) Sub(y Uint32x8) Uint32x8
  7079  
  7080  // Sub subtracts corresponding elements of two vectors.
  7081  //
  7082  // Asm: VPSUBD, CPU Feature: AVX512
  7083  func (x Uint32x16) Sub(y Uint32x16) Uint32x16
  7084  
  7085  // Sub subtracts corresponding elements of two vectors.
  7086  //
  7087  // Asm: VPSUBQ, CPU Feature: AVX
  7088  func (x Uint64x2) Sub(y Uint64x2) Uint64x2
  7089  
  7090  // Sub subtracts corresponding elements of two vectors.
  7091  //
  7092  // Asm: VPSUBQ, CPU Feature: AVX2
  7093  func (x Uint64x4) Sub(y Uint64x4) Uint64x4
  7094  
  7095  // Sub subtracts corresponding elements of two vectors.
  7096  //
  7097  // Asm: VPSUBQ, CPU Feature: AVX512
  7098  func (x Uint64x8) Sub(y Uint64x8) Uint64x8
  7099  
  7100  /* SubSaturated */
  7101  
  7102  // SubSaturated subtracts corresponding elements of two vectors with saturation.
  7103  //
  7104  // Asm: VPSUBSB, CPU Feature: AVX
  7105  func (x Int8x16) SubSaturated(y Int8x16) Int8x16
  7106  
  7107  // SubSaturated subtracts corresponding elements of two vectors with saturation.
  7108  //
  7109  // Asm: VPSUBSB, CPU Feature: AVX2
  7110  func (x Int8x32) SubSaturated(y Int8x32) Int8x32
  7111  
  7112  // SubSaturated subtracts corresponding elements of two vectors with saturation.
  7113  //
  7114  // Asm: VPSUBSB, CPU Feature: AVX512
  7115  func (x Int8x64) SubSaturated(y Int8x64) Int8x64
  7116  
  7117  // SubSaturated subtracts corresponding elements of two vectors with saturation.
  7118  //
  7119  // Asm: VPSUBSW, CPU Feature: AVX
  7120  func (x Int16x8) SubSaturated(y Int16x8) Int16x8
  7121  
  7122  // SubSaturated subtracts corresponding elements of two vectors with saturation.
  7123  //
  7124  // Asm: VPSUBSW, CPU Feature: AVX2
  7125  func (x Int16x16) SubSaturated(y Int16x16) Int16x16
  7126  
  7127  // SubSaturated subtracts corresponding elements of two vectors with saturation.
  7128  //
  7129  // Asm: VPSUBSW, CPU Feature: AVX512
  7130  func (x Int16x32) SubSaturated(y Int16x32) Int16x32
  7131  
  7132  // SubSaturated subtracts corresponding elements of two vectors with saturation.
  7133  //
  7134  // Asm: VPSUBUSB, CPU Feature: AVX
  7135  func (x Uint8x16) SubSaturated(y Uint8x16) Uint8x16
  7136  
  7137  // SubSaturated subtracts corresponding elements of two vectors with saturation.
  7138  //
  7139  // Asm: VPSUBUSB, CPU Feature: AVX2
  7140  func (x Uint8x32) SubSaturated(y Uint8x32) Uint8x32
  7141  
  7142  // SubSaturated subtracts corresponding elements of two vectors with saturation.
  7143  //
  7144  // Asm: VPSUBUSB, CPU Feature: AVX512
  7145  func (x Uint8x64) SubSaturated(y Uint8x64) Uint8x64
  7146  
  7147  // SubSaturated subtracts corresponding elements of two vectors with saturation.
  7148  //
  7149  // Asm: VPSUBUSW, CPU Feature: AVX
  7150  func (x Uint16x8) SubSaturated(y Uint16x8) Uint16x8
  7151  
  7152  // SubSaturated subtracts corresponding elements of two vectors with saturation.
  7153  //
  7154  // Asm: VPSUBUSW, CPU Feature: AVX2
  7155  func (x Uint16x16) SubSaturated(y Uint16x16) Uint16x16
  7156  
  7157  // SubSaturated subtracts corresponding elements of two vectors with saturation.
  7158  //
  7159  // Asm: VPSUBUSW, CPU Feature: AVX512
  7160  func (x Uint16x32) SubSaturated(y Uint16x32) Uint16x32
  7161  
  7162  /* SumOf8AbsDiff */
  7163  
  7164  // SumOf8AbsDiff computes the absolute difference of x and y and sums each group of 8 results.
  7165  // This method could be seen as the norm of the L1 distance of each 8-element group of the two input vectors.
  7166  //
  7167  // Asm: VPSADBW, CPU Feature: AVX
  7168  func (x Uint8x16) SumOf8AbsDiff(y Uint8x16) Uint64x2
  7169  
  7170  // SumOf8AbsDiff computes the absolute difference of x and y and sums each group of 8 results.
  7171  // This method could be seen as the norm of the L1 distance of each 8-element group of the two input vectors.
  7172  //
  7173  // Asm: VPSADBW, CPU Feature: AVX2
  7174  func (x Uint8x32) SumOf8AbsDiff(y Uint8x32) Uint64x4
  7175  
  7176  // SumOf8AbsDiff computes the absolute difference of x and y and sums each group of 8 results.
  7177  // This method could be seen as the norm of the L1 distance of each 8-element group of the two input vectors.
  7178  //
  7179  // Asm: VPSADBW, CPU Feature: AVX512
  7180  func (x Uint8x64) SumOf8AbsDiff(y Uint8x64) Uint64x8
  7181  
  7182  /* Trunc */
  7183  
  7184  // Trunc truncates elements towards zero.
  7185  //
  7186  // Asm: VROUNDPS, CPU Feature: AVX
  7187  func (x Float32x4) Trunc() Float32x4
  7188  
  7189  // Trunc truncates elements towards zero.
  7190  //
  7191  // Asm: VROUNDPS, CPU Feature: AVX
  7192  func (x Float32x8) Trunc() Float32x8
  7193  
  7194  // Trunc truncates elements towards zero.
  7195  //
  7196  // Asm: VROUNDPD, CPU Feature: AVX
  7197  func (x Float64x2) Trunc() Float64x2
  7198  
  7199  // Trunc truncates elements towards zero.
  7200  //
  7201  // Asm: VROUNDPD, CPU Feature: AVX
  7202  func (x Float64x4) Trunc() Float64x4
  7203  
  7204  /* TruncScaled */
  7205  
  7206  // TruncScaled truncates elements with specified precision.
  7207  //
  7208  // A non-constant value of prec may result in significantly worse performance for this operation.
  7209  //
  7210  // Asm: VRNDSCALEPS, CPU Feature: AVX512
  7211  func (x Float32x4) TruncScaled(prec uint8) Float32x4
  7212  
  7213  // TruncScaled truncates elements with specified precision.
  7214  //
  7215  // A non-constant value of prec may result in significantly worse performance for this operation.
  7216  //
  7217  // Asm: VRNDSCALEPS, CPU Feature: AVX512
  7218  func (x Float32x8) TruncScaled(prec uint8) Float32x8
  7219  
  7220  // TruncScaled truncates elements with specified precision.
  7221  //
  7222  // A non-constant value of prec may result in significantly worse performance for this operation.
  7223  //
  7224  // Asm: VRNDSCALEPS, CPU Feature: AVX512
  7225  func (x Float32x16) TruncScaled(prec uint8) Float32x16
  7226  
  7227  // TruncScaled truncates elements with specified precision.
  7228  //
  7229  // A non-constant value of prec may result in significantly worse performance for this operation.
  7230  //
  7231  // Asm: VRNDSCALEPD, CPU Feature: AVX512
  7232  func (x Float64x2) TruncScaled(prec uint8) Float64x2
  7233  
  7234  // TruncScaled truncates elements with specified precision.
  7235  //
  7236  // A non-constant value of prec may result in significantly worse performance for this operation.
  7237  //
  7238  // Asm: VRNDSCALEPD, CPU Feature: AVX512
  7239  func (x Float64x4) TruncScaled(prec uint8) Float64x4
  7240  
  7241  // TruncScaled truncates elements with specified precision.
  7242  //
  7243  // A non-constant value of prec may result in significantly worse performance for this operation.
  7244  //
  7245  // Asm: VRNDSCALEPD, CPU Feature: AVX512
  7246  func (x Float64x8) TruncScaled(prec uint8) Float64x8
  7247  
  7248  /* TruncScaledResidue */
  7249  
  7250  // TruncScaledResidue computes the difference after truncating with specified precision.
  7251  //
  7252  // A non-constant value of prec may result in significantly worse performance for this operation.
  7253  //
  7254  // Asm: VREDUCEPS, CPU Feature: AVX512
  7255  func (x Float32x4) TruncScaledResidue(prec uint8) Float32x4
  7256  
  7257  // TruncScaledResidue computes the difference after truncating with specified precision.
  7258  //
  7259  // A non-constant value of prec may result in significantly worse performance for this operation.
  7260  //
  7261  // Asm: VREDUCEPS, CPU Feature: AVX512
  7262  func (x Float32x8) TruncScaledResidue(prec uint8) Float32x8
  7263  
  7264  // TruncScaledResidue computes the difference after truncating with specified precision.
  7265  //
  7266  // A non-constant value of prec may result in significantly worse performance for this operation.
  7267  //
  7268  // Asm: VREDUCEPS, CPU Feature: AVX512
  7269  func (x Float32x16) TruncScaledResidue(prec uint8) Float32x16
  7270  
  7271  // TruncScaledResidue computes the difference after truncating with specified precision.
  7272  //
  7273  // A non-constant value of prec may result in significantly worse performance for this operation.
  7274  //
  7275  // Asm: VREDUCEPD, CPU Feature: AVX512
  7276  func (x Float64x2) TruncScaledResidue(prec uint8) Float64x2
  7277  
  7278  // TruncScaledResidue computes the difference after truncating with specified precision.
  7279  //
  7280  // A non-constant value of prec may result in significantly worse performance for this operation.
  7281  //
  7282  // Asm: VREDUCEPD, CPU Feature: AVX512
  7283  func (x Float64x4) TruncScaledResidue(prec uint8) Float64x4
  7284  
  7285  // TruncScaledResidue computes the difference after truncating with specified precision.
  7286  //
  7287  // A non-constant value of prec may result in significantly worse performance for this operation.
  7288  //
  7289  // Asm: VREDUCEPD, CPU Feature: AVX512
  7290  func (x Float64x8) TruncScaledResidue(prec uint8) Float64x8
  7291  
  7292  /* TruncToInt8 */
  7293  
  7294  // TruncToInt8 truncates element values to int8.
  7295  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  7296  //
  7297  // Asm: VPMOVWB, CPU Feature: AVX512
  7298  func (x Int16x8) TruncToInt8() Int8x16
  7299  
  7300  // TruncToInt8 truncates element values to int8.
  7301  //
  7302  // Asm: VPMOVWB, CPU Feature: AVX512
  7303  func (x Int16x16) TruncToInt8() Int8x16
  7304  
  7305  // TruncToInt8 truncates element values to int8.
  7306  //
  7307  // Asm: VPMOVWB, CPU Feature: AVX512
  7308  func (x Int16x32) TruncToInt8() Int8x32
  7309  
  7310  // TruncToInt8 truncates element values to int8.
  7311  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  7312  //
  7313  // Asm: VPMOVDB, CPU Feature: AVX512
  7314  func (x Int32x4) TruncToInt8() Int8x16
  7315  
  7316  // TruncToInt8 truncates element values to int8.
  7317  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  7318  //
  7319  // Asm: VPMOVDB, CPU Feature: AVX512
  7320  func (x Int32x8) TruncToInt8() Int8x16
  7321  
  7322  // TruncToInt8 truncates element values to int8.
  7323  //
  7324  // Asm: VPMOVDB, CPU Feature: AVX512
  7325  func (x Int32x16) TruncToInt8() Int8x16
  7326  
  7327  // TruncToInt8 truncates element values to int8.
  7328  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  7329  //
  7330  // Asm: VPMOVQB, CPU Feature: AVX512
  7331  func (x Int64x2) TruncToInt8() Int8x16
  7332  
  7333  // TruncToInt8 truncates element values to int8.
  7334  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  7335  //
  7336  // Asm: VPMOVQB, CPU Feature: AVX512
  7337  func (x Int64x4) TruncToInt8() Int8x16
  7338  
  7339  // TruncToInt8 truncates element values to int8.
  7340  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  7341  //
  7342  // Asm: VPMOVQB, CPU Feature: AVX512
  7343  func (x Int64x8) TruncToInt8() Int8x16
  7344  
  7345  /* TruncToInt16 */
  7346  
  7347  // TruncToInt16 truncates element values to int16.
  7348  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  7349  //
  7350  // Asm: VPMOVDW, CPU Feature: AVX512
  7351  func (x Int32x4) TruncToInt16() Int16x8
  7352  
  7353  // TruncToInt16 truncates element values to int16.
  7354  //
  7355  // Asm: VPMOVDW, CPU Feature: AVX512
  7356  func (x Int32x8) TruncToInt16() Int16x8
  7357  
  7358  // TruncToInt16 truncates element values to int16.
  7359  //
  7360  // Asm: VPMOVDW, CPU Feature: AVX512
  7361  func (x Int32x16) TruncToInt16() Int16x16
  7362  
  7363  // TruncToInt16 truncates element values to int16.
  7364  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  7365  //
  7366  // Asm: VPMOVQW, CPU Feature: AVX512
  7367  func (x Int64x2) TruncToInt16() Int16x8
  7368  
  7369  // TruncToInt16 truncates element values to int16.
  7370  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  7371  //
  7372  // Asm: VPMOVQW, CPU Feature: AVX512
  7373  func (x Int64x4) TruncToInt16() Int16x8
  7374  
  7375  // TruncToInt16 truncates element values to int16.
  7376  //
  7377  // Asm: VPMOVQW, CPU Feature: AVX512
  7378  func (x Int64x8) TruncToInt16() Int16x8
  7379  
  7380  /* TruncToInt32 */
  7381  
  7382  // TruncToInt32 truncates element values to int32.
  7383  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  7384  //
  7385  // Asm: VPMOVQD, CPU Feature: AVX512
  7386  func (x Int64x2) TruncToInt32() Int32x4
  7387  
  7388  // TruncToInt32 truncates element values to int32.
  7389  //
  7390  // Asm: VPMOVQD, CPU Feature: AVX512
  7391  func (x Int64x4) TruncToInt32() Int32x4
  7392  
  7393  // TruncToInt32 truncates element values to int32.
  7394  //
  7395  // Asm: VPMOVQD, CPU Feature: AVX512
  7396  func (x Int64x8) TruncToInt32() Int32x8
  7397  
  7398  /* TruncToUint8 */
  7399  
  7400  // TruncToUint8 truncates element values to uint8.
  7401  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  7402  //
  7403  // Asm: VPMOVWB, CPU Feature: AVX512
  7404  func (x Uint16x8) TruncToUint8() Uint8x16
  7405  
  7406  // TruncToUint8 truncates element values to uint8.
  7407  //
  7408  // Asm: VPMOVWB, CPU Feature: AVX512
  7409  func (x Uint16x16) TruncToUint8() Uint8x16
  7410  
  7411  // TruncToUint8 truncates element values to uint8.
  7412  //
  7413  // Asm: VPMOVWB, CPU Feature: AVX512
  7414  func (x Uint16x32) TruncToUint8() Uint8x32
  7415  
  7416  // TruncToUint8 truncates element values to uint8.
  7417  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  7418  //
  7419  // Asm: VPMOVDB, CPU Feature: AVX512
  7420  func (x Uint32x4) TruncToUint8() Uint8x16
  7421  
  7422  // TruncToUint8 truncates element values to uint8.
  7423  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  7424  //
  7425  // Asm: VPMOVDB, CPU Feature: AVX512
  7426  func (x Uint32x8) TruncToUint8() Uint8x16
  7427  
  7428  // TruncToUint8 truncates element values to uint8.
  7429  //
  7430  // Asm: VPMOVDB, CPU Feature: AVX512
  7431  func (x Uint32x16) TruncToUint8() Uint8x16
  7432  
  7433  // TruncToUint8 truncates element values to uint8.
  7434  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  7435  //
  7436  // Asm: VPMOVQB, CPU Feature: AVX512
  7437  func (x Uint64x2) TruncToUint8() Uint8x16
  7438  
  7439  // TruncToUint8 truncates element values to uint8.
  7440  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  7441  //
  7442  // Asm: VPMOVQB, CPU Feature: AVX512
  7443  func (x Uint64x4) TruncToUint8() Uint8x16
  7444  
  7445  // TruncToUint8 truncates element values to uint8.
  7446  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  7447  //
  7448  // Asm: VPMOVQB, CPU Feature: AVX512
  7449  func (x Uint64x8) TruncToUint8() Uint8x16
  7450  
  7451  /* TruncToUint16 */
  7452  
  7453  // TruncToUint16 truncates element values to uint16.
  7454  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  7455  //
  7456  // Asm: VPMOVDW, CPU Feature: AVX512
  7457  func (x Uint32x4) TruncToUint16() Uint16x8
  7458  
  7459  // TruncToUint16 truncates element values to uint16.
  7460  //
  7461  // Asm: VPMOVDW, CPU Feature: AVX512
  7462  func (x Uint32x8) TruncToUint16() Uint16x8
  7463  
  7464  // TruncToUint16 truncates element values to uint16.
  7465  //
  7466  // Asm: VPMOVDW, CPU Feature: AVX512
  7467  func (x Uint32x16) TruncToUint16() Uint16x16
  7468  
  7469  // TruncToUint16 truncates element values to uint16.
  7470  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  7471  //
  7472  // Asm: VPMOVQW, CPU Feature: AVX512
  7473  func (x Uint64x2) TruncToUint16() Uint16x8
  7474  
  7475  // TruncToUint16 truncates element values to uint16.
  7476  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  7477  //
  7478  // Asm: VPMOVQW, CPU Feature: AVX512
  7479  func (x Uint64x4) TruncToUint16() Uint16x8
  7480  
  7481  // TruncToUint16 truncates element values to uint16.
  7482  //
  7483  // Asm: VPMOVQW, CPU Feature: AVX512
  7484  func (x Uint64x8) TruncToUint16() Uint16x8
  7485  
  7486  /* TruncToUint32 */
  7487  
  7488  // TruncToUint32 truncates element values to uint32.
  7489  // Results are packed to low elements in the returned vector, its upper elements are zeroed.
  7490  //
  7491  // Asm: VPMOVQD, CPU Feature: AVX512
  7492  func (x Uint64x2) TruncToUint32() Uint32x4
  7493  
  7494  // TruncToUint32 truncates element values to uint32.
  7495  //
  7496  // Asm: VPMOVQD, CPU Feature: AVX512
  7497  func (x Uint64x4) TruncToUint32() Uint32x4
  7498  
  7499  // TruncToUint32 truncates element values to uint32.
  7500  //
  7501  // Asm: VPMOVQD, CPU Feature: AVX512
  7502  func (x Uint64x8) TruncToUint32() Uint32x8
  7503  
  7504  /* Xor */
  7505  
  7506  // Xor performs a bitwise x ^ y.
  7507  //
  7508  // Asm: VPXOR, CPU Feature: AVX
  7509  func (x Int8x16) Xor(y Int8x16) Int8x16
  7510  
  7511  // Xor performs a bitwise x ^ y.
  7512  //
  7513  // Asm: VPXOR, CPU Feature: AVX2
  7514  func (x Int8x32) Xor(y Int8x32) Int8x32
  7515  
  7516  // Xor performs a bitwise x ^ y.
  7517  //
  7518  // Asm: VPXORD, CPU Feature: AVX512
  7519  func (x Int8x64) Xor(y Int8x64) Int8x64
  7520  
  7521  // Xor performs a bitwise x ^ y.
  7522  //
  7523  // Asm: VPXOR, CPU Feature: AVX
  7524  func (x Int16x8) Xor(y Int16x8) Int16x8
  7525  
  7526  // Xor performs a bitwise x ^ y.
  7527  //
  7528  // Asm: VPXOR, CPU Feature: AVX2
  7529  func (x Int16x16) Xor(y Int16x16) Int16x16
  7530  
  7531  // Xor performs a bitwise x ^ y.
  7532  //
  7533  // Asm: VPXORD, CPU Feature: AVX512
  7534  func (x Int16x32) Xor(y Int16x32) Int16x32
  7535  
  7536  // Xor performs a bitwise x ^ y.
  7537  //
  7538  // Asm: VPXOR, CPU Feature: AVX
  7539  func (x Int32x4) Xor(y Int32x4) Int32x4
  7540  
  7541  // Xor performs a bitwise x ^ y.
  7542  //
  7543  // Asm: VPXOR, CPU Feature: AVX2
  7544  func (x Int32x8) Xor(y Int32x8) Int32x8
  7545  
  7546  // Xor performs a bitwise x ^ y.
  7547  //
  7548  // Asm: VPXORD, CPU Feature: AVX512
  7549  func (x Int32x16) Xor(y Int32x16) Int32x16
  7550  
  7551  // Xor performs a bitwise x ^ y.
  7552  //
  7553  // Asm: VPXOR, CPU Feature: AVX
  7554  func (x Int64x2) Xor(y Int64x2) Int64x2
  7555  
  7556  // Xor performs a bitwise x ^ y.
  7557  //
  7558  // Asm: VPXOR, CPU Feature: AVX2
  7559  func (x Int64x4) Xor(y Int64x4) Int64x4
  7560  
  7561  // Xor performs a bitwise x ^ y.
  7562  //
  7563  // Asm: VPXORQ, CPU Feature: AVX512
  7564  func (x Int64x8) Xor(y Int64x8) Int64x8
  7565  
  7566  // Xor performs a bitwise x ^ y.
  7567  //
  7568  // Asm: VPXOR, CPU Feature: AVX
  7569  func (x Uint8x16) Xor(y Uint8x16) Uint8x16
  7570  
  7571  // Xor performs a bitwise x ^ y.
  7572  //
  7573  // Asm: VPXOR, CPU Feature: AVX2
  7574  func (x Uint8x32) Xor(y Uint8x32) Uint8x32
  7575  
  7576  // Xor performs a bitwise x ^ y.
  7577  //
  7578  // Asm: VPXORD, CPU Feature: AVX512
  7579  func (x Uint8x64) Xor(y Uint8x64) Uint8x64
  7580  
  7581  // Xor performs a bitwise x ^ y.
  7582  //
  7583  // Asm: VPXOR, CPU Feature: AVX
  7584  func (x Uint16x8) Xor(y Uint16x8) Uint16x8
  7585  
  7586  // Xor performs a bitwise x ^ y.
  7587  //
  7588  // Asm: VPXOR, CPU Feature: AVX2
  7589  func (x Uint16x16) Xor(y Uint16x16) Uint16x16
  7590  
  7591  // Xor performs a bitwise x ^ y.
  7592  //
  7593  // Asm: VPXORD, CPU Feature: AVX512
  7594  func (x Uint16x32) Xor(y Uint16x32) Uint16x32
  7595  
  7596  // Xor performs a bitwise x ^ y.
  7597  //
  7598  // Asm: VPXOR, CPU Feature: AVX
  7599  func (x Uint32x4) Xor(y Uint32x4) Uint32x4
  7600  
  7601  // Xor performs a bitwise x ^ y.
  7602  //
  7603  // Asm: VPXOR, CPU Feature: AVX2
  7604  func (x Uint32x8) Xor(y Uint32x8) Uint32x8
  7605  
  7606  // Xor performs a bitwise x ^ y.
  7607  //
  7608  // Asm: VPXORD, CPU Feature: AVX512
  7609  func (x Uint32x16) Xor(y Uint32x16) Uint32x16
  7610  
  7611  // Xor performs a bitwise x ^ y.
  7612  //
  7613  // Asm: VPXOR, CPU Feature: AVX2
  7614  func (x Uint64x4) Xor(y Uint64x4) Uint64x4
  7615  
  7616  // Xor performs a bitwise x ^ y.
  7617  //
  7618  // Asm: VPXORQ, CPU Feature: AVX512
  7619  func (x Uint64x8) Xor(y Uint64x8) Uint64x8
  7620  
  7621  // Xor performs a bitwise x ^ y.
  7622  //
  7623  // Asm: VPXOR, CPU Feature: AVX
  7624  func (x Uint64x2) Xor(y Uint64x2) Uint64x2
  7625  
  7626  // AsFloat64x2 reinterprets the bits of a Float32x4 vector as a Float64x2 vector
  7627  //
  7628  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7629  //
  7630  //go:fix inline
  7631  func (x Float32x4) AsFloat64x2() Float64x2 {
  7632  	return x.ToBits().ReshapeToUint64s().BitsToFloat64()
  7633  }
  7634  
  7635  // AsInt8x16 reinterprets the bits of a Float32x4 vector as a Int8x16 vector
  7636  //
  7637  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7638  //
  7639  //go:fix inline
  7640  func (x Float32x4) AsInt8x16() Int8x16 {
  7641  	return x.ToBits().ReshapeToUint8s().BitsToInt8()
  7642  }
  7643  
  7644  // AsInt16x8 reinterprets the bits of a Float32x4 vector as a Int16x8 vector
  7645  //
  7646  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7647  //
  7648  //go:fix inline
  7649  func (x Float32x4) AsInt16x8() Int16x8 {
  7650  	return x.ToBits().ReshapeToUint16s().BitsToInt16()
  7651  }
  7652  
  7653  // AsInt32x4 reinterprets the bits of a Float32x4 vector as a Int32x4 vector
  7654  //
  7655  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7656  //
  7657  //go:fix inline
  7658  func (x Float32x4) AsInt32x4() Int32x4 {
  7659  	return x.ToBits().BitsToInt32()
  7660  }
  7661  
  7662  // AsInt64x2 reinterprets the bits of a Float32x4 vector as a Int64x2 vector
  7663  //
  7664  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7665  //
  7666  //go:fix inline
  7667  func (x Float32x4) AsInt64x2() Int64x2 {
  7668  	return x.ToBits().ReshapeToUint64s().BitsToInt64()
  7669  }
  7670  
  7671  // AsUint8x16 reinterprets the bits of a Float32x4 vector as a Uint8x16 vector
  7672  //
  7673  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7674  //
  7675  //go:fix inline
  7676  func (x Float32x4) AsUint8x16() Uint8x16 {
  7677  	return x.ToBits().ReshapeToUint8s()
  7678  }
  7679  
  7680  // AsUint16x8 reinterprets the bits of a Float32x4 vector as a Uint16x8 vector
  7681  //
  7682  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7683  //
  7684  //go:fix inline
  7685  func (x Float32x4) AsUint16x8() Uint16x8 {
  7686  	return x.ToBits().ReshapeToUint16s()
  7687  }
  7688  
  7689  // AsUint32x4 reinterprets the bits of a Float32x4 vector as a Uint32x4 vector
  7690  //
  7691  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7692  //
  7693  //go:fix inline
  7694  func (x Float32x4) AsUint32x4() Uint32x4 {
  7695  	return x.ToBits()
  7696  }
  7697  
  7698  // AsUint64x2 reinterprets the bits of a Float32x4 vector as a Uint64x2 vector
  7699  //
  7700  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7701  //
  7702  //go:fix inline
  7703  func (x Float32x4) AsUint64x2() Uint64x2 {
  7704  	return x.ToBits().ReshapeToUint64s()
  7705  }
  7706  
  7707  // AsFloat64x4 reinterprets the bits of a Float32x8 vector as a Float64x4 vector
  7708  //
  7709  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7710  //
  7711  //go:fix inline
  7712  func (x Float32x8) AsFloat64x4() Float64x4 {
  7713  	return x.ToBits().ReshapeToUint64s().BitsToFloat64()
  7714  }
  7715  
  7716  // AsInt8x32 reinterprets the bits of a Float32x8 vector as a Int8x32 vector
  7717  //
  7718  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7719  //
  7720  //go:fix inline
  7721  func (x Float32x8) AsInt8x32() Int8x32 {
  7722  	return x.ToBits().ReshapeToUint8s().BitsToInt8()
  7723  }
  7724  
  7725  // AsInt16x16 reinterprets the bits of a Float32x8 vector as a Int16x16 vector
  7726  //
  7727  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7728  //
  7729  //go:fix inline
  7730  func (x Float32x8) AsInt16x16() Int16x16 {
  7731  	return x.ToBits().ReshapeToUint16s().BitsToInt16()
  7732  }
  7733  
  7734  // AsInt32x8 reinterprets the bits of a Float32x8 vector as a Int32x8 vector
  7735  //
  7736  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7737  //
  7738  //go:fix inline
  7739  func (x Float32x8) AsInt32x8() Int32x8 {
  7740  	return x.ToBits().BitsToInt32()
  7741  }
  7742  
  7743  // AsInt64x4 reinterprets the bits of a Float32x8 vector as a Int64x4 vector
  7744  //
  7745  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7746  //
  7747  //go:fix inline
  7748  func (x Float32x8) AsInt64x4() Int64x4 {
  7749  	return x.ToBits().ReshapeToUint64s().BitsToInt64()
  7750  }
  7751  
  7752  // AsUint8x32 reinterprets the bits of a Float32x8 vector as a Uint8x32 vector
  7753  //
  7754  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7755  //
  7756  //go:fix inline
  7757  func (x Float32x8) AsUint8x32() Uint8x32 {
  7758  	return x.ToBits().ReshapeToUint8s()
  7759  }
  7760  
  7761  // AsUint16x16 reinterprets the bits of a Float32x8 vector as a Uint16x16 vector
  7762  //
  7763  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7764  //
  7765  //go:fix inline
  7766  func (x Float32x8) AsUint16x16() Uint16x16 {
  7767  	return x.ToBits().ReshapeToUint16s()
  7768  }
  7769  
  7770  // AsUint32x8 reinterprets the bits of a Float32x8 vector as a Uint32x8 vector
  7771  //
  7772  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7773  //
  7774  //go:fix inline
  7775  func (x Float32x8) AsUint32x8() Uint32x8 {
  7776  	return x.ToBits()
  7777  }
  7778  
  7779  // AsUint64x4 reinterprets the bits of a Float32x8 vector as a Uint64x4 vector
  7780  //
  7781  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7782  //
  7783  //go:fix inline
  7784  func (x Float32x8) AsUint64x4() Uint64x4 {
  7785  	return x.ToBits().ReshapeToUint64s()
  7786  }
  7787  
  7788  // AsFloat64x8 reinterprets the bits of a Float32x16 vector as a Float64x8 vector
  7789  //
  7790  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7791  //
  7792  //go:fix inline
  7793  func (x Float32x16) AsFloat64x8() Float64x8 {
  7794  	return x.ToBits().ReshapeToUint64s().BitsToFloat64()
  7795  }
  7796  
  7797  // AsInt8x64 reinterprets the bits of a Float32x16 vector as a Int8x64 vector
  7798  //
  7799  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7800  //
  7801  //go:fix inline
  7802  func (x Float32x16) AsInt8x64() Int8x64 {
  7803  	return x.ToBits().ReshapeToUint8s().BitsToInt8()
  7804  }
  7805  
  7806  // AsInt16x32 reinterprets the bits of a Float32x16 vector as a Int16x32 vector
  7807  //
  7808  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7809  //
  7810  //go:fix inline
  7811  func (x Float32x16) AsInt16x32() Int16x32 {
  7812  	return x.ToBits().ReshapeToUint16s().BitsToInt16()
  7813  }
  7814  
  7815  // AsInt32x16 reinterprets the bits of a Float32x16 vector as a Int32x16 vector
  7816  //
  7817  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7818  //
  7819  //go:fix inline
  7820  func (x Float32x16) AsInt32x16() Int32x16 {
  7821  	return x.ToBits().BitsToInt32()
  7822  }
  7823  
  7824  // AsInt64x8 reinterprets the bits of a Float32x16 vector as a Int64x8 vector
  7825  //
  7826  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7827  //
  7828  //go:fix inline
  7829  func (x Float32x16) AsInt64x8() Int64x8 {
  7830  	return x.ToBits().ReshapeToUint64s().BitsToInt64()
  7831  }
  7832  
  7833  // AsUint8x64 reinterprets the bits of a Float32x16 vector as a Uint8x64 vector
  7834  //
  7835  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7836  //
  7837  //go:fix inline
  7838  func (x Float32x16) AsUint8x64() Uint8x64 {
  7839  	return x.ToBits().ReshapeToUint8s()
  7840  }
  7841  
  7842  // AsUint16x32 reinterprets the bits of a Float32x16 vector as a Uint16x32 vector
  7843  //
  7844  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7845  //
  7846  //go:fix inline
  7847  func (x Float32x16) AsUint16x32() Uint16x32 {
  7848  	return x.ToBits().ReshapeToUint16s()
  7849  }
  7850  
  7851  // AsUint32x16 reinterprets the bits of a Float32x16 vector as a Uint32x16 vector
  7852  //
  7853  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7854  //
  7855  //go:fix inline
  7856  func (x Float32x16) AsUint32x16() Uint32x16 {
  7857  	return x.ToBits()
  7858  }
  7859  
  7860  // AsUint64x8 reinterprets the bits of a Float32x16 vector as a Uint64x8 vector
  7861  //
  7862  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7863  //
  7864  //go:fix inline
  7865  func (x Float32x16) AsUint64x8() Uint64x8 {
  7866  	return x.ToBits().ReshapeToUint64s()
  7867  }
  7868  
  7869  // AsFloat32x4 reinterprets the bits of a Float64x2 vector as a Float32x4 vector
  7870  //
  7871  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7872  //
  7873  //go:fix inline
  7874  func (x Float64x2) AsFloat32x4() Float32x4 {
  7875  	return x.ToBits().ReshapeToUint32s().BitsToFloat32()
  7876  }
  7877  
  7878  // AsInt8x16 reinterprets the bits of a Float64x2 vector as a Int8x16 vector
  7879  //
  7880  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7881  //
  7882  //go:fix inline
  7883  func (x Float64x2) AsInt8x16() Int8x16 {
  7884  	return x.ToBits().ReshapeToUint8s().BitsToInt8()
  7885  }
  7886  
  7887  // AsInt16x8 reinterprets the bits of a Float64x2 vector as a Int16x8 vector
  7888  //
  7889  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7890  //
  7891  //go:fix inline
  7892  func (x Float64x2) AsInt16x8() Int16x8 {
  7893  	return x.ToBits().ReshapeToUint16s().BitsToInt16()
  7894  }
  7895  
  7896  // AsInt32x4 reinterprets the bits of a Float64x2 vector as a Int32x4 vector
  7897  //
  7898  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7899  //
  7900  //go:fix inline
  7901  func (x Float64x2) AsInt32x4() Int32x4 {
  7902  	return x.ToBits().ReshapeToUint32s().BitsToInt32()
  7903  }
  7904  
  7905  // AsInt64x2 reinterprets the bits of a Float64x2 vector as a Int64x2 vector
  7906  //
  7907  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7908  //
  7909  //go:fix inline
  7910  func (x Float64x2) AsInt64x2() Int64x2 {
  7911  	return x.ToBits().BitsToInt64()
  7912  }
  7913  
  7914  // AsUint8x16 reinterprets the bits of a Float64x2 vector as a Uint8x16 vector
  7915  //
  7916  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7917  //
  7918  //go:fix inline
  7919  func (x Float64x2) AsUint8x16() Uint8x16 {
  7920  	return x.ToBits().ReshapeToUint8s()
  7921  }
  7922  
  7923  // AsUint16x8 reinterprets the bits of a Float64x2 vector as a Uint16x8 vector
  7924  //
  7925  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7926  //
  7927  //go:fix inline
  7928  func (x Float64x2) AsUint16x8() Uint16x8 {
  7929  	return x.ToBits().ReshapeToUint16s()
  7930  }
  7931  
  7932  // AsUint32x4 reinterprets the bits of a Float64x2 vector as a Uint32x4 vector
  7933  //
  7934  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7935  //
  7936  //go:fix inline
  7937  func (x Float64x2) AsUint32x4() Uint32x4 {
  7938  	return x.ToBits().ReshapeToUint32s()
  7939  }
  7940  
  7941  // AsUint64x2 reinterprets the bits of a Float64x2 vector as a Uint64x2 vector
  7942  //
  7943  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7944  //
  7945  //go:fix inline
  7946  func (x Float64x2) AsUint64x2() Uint64x2 {
  7947  	return x.ToBits()
  7948  }
  7949  
  7950  // AsFloat32x8 reinterprets the bits of a Float64x4 vector as a Float32x8 vector
  7951  //
  7952  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7953  //
  7954  //go:fix inline
  7955  func (x Float64x4) AsFloat32x8() Float32x8 {
  7956  	return x.ToBits().ReshapeToUint32s().BitsToFloat32()
  7957  }
  7958  
  7959  // AsInt8x32 reinterprets the bits of a Float64x4 vector as a Int8x32 vector
  7960  //
  7961  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7962  //
  7963  //go:fix inline
  7964  func (x Float64x4) AsInt8x32() Int8x32 {
  7965  	return x.ToBits().ReshapeToUint8s().BitsToInt8()
  7966  }
  7967  
  7968  // AsInt16x16 reinterprets the bits of a Float64x4 vector as a Int16x16 vector
  7969  //
  7970  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7971  //
  7972  //go:fix inline
  7973  func (x Float64x4) AsInt16x16() Int16x16 {
  7974  	return x.ToBits().ReshapeToUint16s().BitsToInt16()
  7975  }
  7976  
  7977  // AsInt32x8 reinterprets the bits of a Float64x4 vector as a Int32x8 vector
  7978  //
  7979  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7980  //
  7981  //go:fix inline
  7982  func (x Float64x4) AsInt32x8() Int32x8 {
  7983  	return x.ToBits().ReshapeToUint32s().BitsToInt32()
  7984  }
  7985  
  7986  // AsInt64x4 reinterprets the bits of a Float64x4 vector as a Int64x4 vector
  7987  //
  7988  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7989  //
  7990  //go:fix inline
  7991  func (x Float64x4) AsInt64x4() Int64x4 {
  7992  	return x.ToBits().BitsToInt64()
  7993  }
  7994  
  7995  // AsUint8x32 reinterprets the bits of a Float64x4 vector as a Uint8x32 vector
  7996  //
  7997  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  7998  //
  7999  //go:fix inline
  8000  func (x Float64x4) AsUint8x32() Uint8x32 {
  8001  	return x.ToBits().ReshapeToUint8s()
  8002  }
  8003  
  8004  // AsUint16x16 reinterprets the bits of a Float64x4 vector as a Uint16x16 vector
  8005  //
  8006  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8007  //
  8008  //go:fix inline
  8009  func (x Float64x4) AsUint16x16() Uint16x16 {
  8010  	return x.ToBits().ReshapeToUint16s()
  8011  }
  8012  
  8013  // AsUint32x8 reinterprets the bits of a Float64x4 vector as a Uint32x8 vector
  8014  //
  8015  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8016  //
  8017  //go:fix inline
  8018  func (x Float64x4) AsUint32x8() Uint32x8 {
  8019  	return x.ToBits().ReshapeToUint32s()
  8020  }
  8021  
  8022  // AsUint64x4 reinterprets the bits of a Float64x4 vector as a Uint64x4 vector
  8023  //
  8024  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8025  //
  8026  //go:fix inline
  8027  func (x Float64x4) AsUint64x4() Uint64x4 {
  8028  	return x.ToBits()
  8029  }
  8030  
  8031  // AsFloat32x16 reinterprets the bits of a Float64x8 vector as a Float32x16 vector
  8032  //
  8033  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8034  //
  8035  //go:fix inline
  8036  func (x Float64x8) AsFloat32x16() Float32x16 {
  8037  	return x.ToBits().ReshapeToUint32s().BitsToFloat32()
  8038  }
  8039  
  8040  // AsInt8x64 reinterprets the bits of a Float64x8 vector as a Int8x64 vector
  8041  //
  8042  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8043  //
  8044  //go:fix inline
  8045  func (x Float64x8) AsInt8x64() Int8x64 {
  8046  	return x.ToBits().ReshapeToUint8s().BitsToInt8()
  8047  }
  8048  
  8049  // AsInt16x32 reinterprets the bits of a Float64x8 vector as a Int16x32 vector
  8050  //
  8051  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8052  //
  8053  //go:fix inline
  8054  func (x Float64x8) AsInt16x32() Int16x32 {
  8055  	return x.ToBits().ReshapeToUint16s().BitsToInt16()
  8056  }
  8057  
  8058  // AsInt32x16 reinterprets the bits of a Float64x8 vector as a Int32x16 vector
  8059  //
  8060  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8061  //
  8062  //go:fix inline
  8063  func (x Float64x8) AsInt32x16() Int32x16 {
  8064  	return x.ToBits().ReshapeToUint32s().BitsToInt32()
  8065  }
  8066  
  8067  // AsInt64x8 reinterprets the bits of a Float64x8 vector as a Int64x8 vector
  8068  //
  8069  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8070  //
  8071  //go:fix inline
  8072  func (x Float64x8) AsInt64x8() Int64x8 {
  8073  	return x.ToBits().BitsToInt64()
  8074  }
  8075  
  8076  // AsUint8x64 reinterprets the bits of a Float64x8 vector as a Uint8x64 vector
  8077  //
  8078  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8079  //
  8080  //go:fix inline
  8081  func (x Float64x8) AsUint8x64() Uint8x64 {
  8082  	return x.ToBits().ReshapeToUint8s()
  8083  }
  8084  
  8085  // AsUint16x32 reinterprets the bits of a Float64x8 vector as a Uint16x32 vector
  8086  //
  8087  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8088  //
  8089  //go:fix inline
  8090  func (x Float64x8) AsUint16x32() Uint16x32 {
  8091  	return x.ToBits().ReshapeToUint16s()
  8092  }
  8093  
  8094  // AsUint32x16 reinterprets the bits of a Float64x8 vector as a Uint32x16 vector
  8095  //
  8096  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8097  //
  8098  //go:fix inline
  8099  func (x Float64x8) AsUint32x16() Uint32x16 {
  8100  	return x.ToBits().ReshapeToUint32s()
  8101  }
  8102  
  8103  // AsUint64x8 reinterprets the bits of a Float64x8 vector as a Uint64x8 vector
  8104  //
  8105  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8106  //
  8107  //go:fix inline
  8108  func (x Float64x8) AsUint64x8() Uint64x8 {
  8109  	return x.ToBits()
  8110  }
  8111  
  8112  // AsFloat32x4 reinterprets the bits of a Int8x16 vector as a Float32x4 vector
  8113  //
  8114  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8115  //
  8116  //go:fix inline
  8117  func (x Int8x16) AsFloat32x4() Float32x4 {
  8118  	return x.ToBits().ReshapeToUint32s().BitsToFloat32()
  8119  }
  8120  
  8121  // AsFloat64x2 reinterprets the bits of a Int8x16 vector as a Float64x2 vector
  8122  //
  8123  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8124  //
  8125  //go:fix inline
  8126  func (x Int8x16) AsFloat64x2() Float64x2 {
  8127  	return x.ToBits().ReshapeToUint64s().BitsToFloat64()
  8128  }
  8129  
  8130  // AsInt16x8 reinterprets the bits of a Int8x16 vector as a Int16x8 vector
  8131  //
  8132  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8133  //
  8134  //go:fix inline
  8135  func (x Int8x16) AsInt16x8() Int16x8 {
  8136  	return x.ToBits().ReshapeToUint16s().BitsToInt16()
  8137  }
  8138  
  8139  // AsInt32x4 reinterprets the bits of a Int8x16 vector as a Int32x4 vector
  8140  //
  8141  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8142  //
  8143  //go:fix inline
  8144  func (x Int8x16) AsInt32x4() Int32x4 {
  8145  	return x.ToBits().ReshapeToUint32s().BitsToInt32()
  8146  }
  8147  
  8148  // AsInt64x2 reinterprets the bits of a Int8x16 vector as a Int64x2 vector
  8149  //
  8150  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8151  //
  8152  //go:fix inline
  8153  func (x Int8x16) AsInt64x2() Int64x2 {
  8154  	return x.ToBits().ReshapeToUint64s().BitsToInt64()
  8155  }
  8156  
  8157  // AsUint8x16 reinterprets the bits of a Int8x16 vector as a Uint8x16 vector
  8158  //
  8159  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8160  //
  8161  //go:fix inline
  8162  func (x Int8x16) AsUint8x16() Uint8x16 {
  8163  	return x.ToBits()
  8164  }
  8165  
  8166  // AsUint16x8 reinterprets the bits of a Int8x16 vector as a Uint16x8 vector
  8167  //
  8168  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8169  //
  8170  //go:fix inline
  8171  func (x Int8x16) AsUint16x8() Uint16x8 {
  8172  	return x.ToBits().ReshapeToUint16s()
  8173  }
  8174  
  8175  // AsUint32x4 reinterprets the bits of a Int8x16 vector as a Uint32x4 vector
  8176  //
  8177  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8178  //
  8179  //go:fix inline
  8180  func (x Int8x16) AsUint32x4() Uint32x4 {
  8181  	return x.ToBits().ReshapeToUint32s()
  8182  }
  8183  
  8184  // AsUint64x2 reinterprets the bits of a Int8x16 vector as a Uint64x2 vector
  8185  //
  8186  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8187  //
  8188  //go:fix inline
  8189  func (x Int8x16) AsUint64x2() Uint64x2 {
  8190  	return x.ToBits().ReshapeToUint64s()
  8191  }
  8192  
  8193  // AsFloat32x8 reinterprets the bits of a Int8x32 vector as a Float32x8 vector
  8194  //
  8195  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8196  //
  8197  //go:fix inline
  8198  func (x Int8x32) AsFloat32x8() Float32x8 {
  8199  	return x.ToBits().ReshapeToUint32s().BitsToFloat32()
  8200  }
  8201  
  8202  // AsFloat64x4 reinterprets the bits of a Int8x32 vector as a Float64x4 vector
  8203  //
  8204  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8205  //
  8206  //go:fix inline
  8207  func (x Int8x32) AsFloat64x4() Float64x4 {
  8208  	return x.ToBits().ReshapeToUint64s().BitsToFloat64()
  8209  }
  8210  
  8211  // AsInt16x16 reinterprets the bits of a Int8x32 vector as a Int16x16 vector
  8212  //
  8213  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8214  //
  8215  //go:fix inline
  8216  func (x Int8x32) AsInt16x16() Int16x16 {
  8217  	return x.ToBits().ReshapeToUint16s().BitsToInt16()
  8218  }
  8219  
  8220  // AsInt32x8 reinterprets the bits of a Int8x32 vector as a Int32x8 vector
  8221  //
  8222  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8223  //
  8224  //go:fix inline
  8225  func (x Int8x32) AsInt32x8() Int32x8 {
  8226  	return x.ToBits().ReshapeToUint32s().BitsToInt32()
  8227  }
  8228  
  8229  // AsInt64x4 reinterprets the bits of a Int8x32 vector as a Int64x4 vector
  8230  //
  8231  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8232  //
  8233  //go:fix inline
  8234  func (x Int8x32) AsInt64x4() Int64x4 {
  8235  	return x.ToBits().ReshapeToUint64s().BitsToInt64()
  8236  }
  8237  
  8238  // AsUint8x32 reinterprets the bits of a Int8x32 vector as a Uint8x32 vector
  8239  //
  8240  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8241  //
  8242  //go:fix inline
  8243  func (x Int8x32) AsUint8x32() Uint8x32 {
  8244  	return x.ToBits()
  8245  }
  8246  
  8247  // AsUint16x16 reinterprets the bits of a Int8x32 vector as a Uint16x16 vector
  8248  //
  8249  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8250  //
  8251  //go:fix inline
  8252  func (x Int8x32) AsUint16x16() Uint16x16 {
  8253  	return x.ToBits().ReshapeToUint16s()
  8254  }
  8255  
  8256  // AsUint32x8 reinterprets the bits of a Int8x32 vector as a Uint32x8 vector
  8257  //
  8258  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8259  //
  8260  //go:fix inline
  8261  func (x Int8x32) AsUint32x8() Uint32x8 {
  8262  	return x.ToBits().ReshapeToUint32s()
  8263  }
  8264  
  8265  // AsUint64x4 reinterprets the bits of a Int8x32 vector as a Uint64x4 vector
  8266  //
  8267  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8268  //
  8269  //go:fix inline
  8270  func (x Int8x32) AsUint64x4() Uint64x4 {
  8271  	return x.ToBits().ReshapeToUint64s()
  8272  }
  8273  
  8274  // AsFloat32x16 reinterprets the bits of a Int8x64 vector as a Float32x16 vector
  8275  //
  8276  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8277  //
  8278  //go:fix inline
  8279  func (x Int8x64) AsFloat32x16() Float32x16 {
  8280  	return x.ToBits().ReshapeToUint32s().BitsToFloat32()
  8281  }
  8282  
  8283  // AsFloat64x8 reinterprets the bits of a Int8x64 vector as a Float64x8 vector
  8284  //
  8285  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8286  //
  8287  //go:fix inline
  8288  func (x Int8x64) AsFloat64x8() Float64x8 {
  8289  	return x.ToBits().ReshapeToUint64s().BitsToFloat64()
  8290  }
  8291  
  8292  // AsInt16x32 reinterprets the bits of a Int8x64 vector as a Int16x32 vector
  8293  //
  8294  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8295  //
  8296  //go:fix inline
  8297  func (x Int8x64) AsInt16x32() Int16x32 {
  8298  	return x.ToBits().ReshapeToUint16s().BitsToInt16()
  8299  }
  8300  
  8301  // AsInt32x16 reinterprets the bits of a Int8x64 vector as a Int32x16 vector
  8302  //
  8303  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8304  //
  8305  //go:fix inline
  8306  func (x Int8x64) AsInt32x16() Int32x16 {
  8307  	return x.ToBits().ReshapeToUint32s().BitsToInt32()
  8308  }
  8309  
  8310  // AsInt64x8 reinterprets the bits of a Int8x64 vector as a Int64x8 vector
  8311  //
  8312  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8313  //
  8314  //go:fix inline
  8315  func (x Int8x64) AsInt64x8() Int64x8 {
  8316  	return x.ToBits().ReshapeToUint64s().BitsToInt64()
  8317  }
  8318  
  8319  // AsUint8x64 reinterprets the bits of a Int8x64 vector as a Uint8x64 vector
  8320  //
  8321  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8322  //
  8323  //go:fix inline
  8324  func (x Int8x64) AsUint8x64() Uint8x64 {
  8325  	return x.ToBits()
  8326  }
  8327  
  8328  // AsUint16x32 reinterprets the bits of a Int8x64 vector as a Uint16x32 vector
  8329  //
  8330  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8331  //
  8332  //go:fix inline
  8333  func (x Int8x64) AsUint16x32() Uint16x32 {
  8334  	return x.ToBits().ReshapeToUint16s()
  8335  }
  8336  
  8337  // AsUint32x16 reinterprets the bits of a Int8x64 vector as a Uint32x16 vector
  8338  //
  8339  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8340  //
  8341  //go:fix inline
  8342  func (x Int8x64) AsUint32x16() Uint32x16 {
  8343  	return x.ToBits().ReshapeToUint32s()
  8344  }
  8345  
  8346  // AsUint64x8 reinterprets the bits of a Int8x64 vector as a Uint64x8 vector
  8347  //
  8348  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8349  //
  8350  //go:fix inline
  8351  func (x Int8x64) AsUint64x8() Uint64x8 {
  8352  	return x.ToBits().ReshapeToUint64s()
  8353  }
  8354  
  8355  // AsFloat32x4 reinterprets the bits of a Int16x8 vector as a Float32x4 vector
  8356  //
  8357  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8358  //
  8359  //go:fix inline
  8360  func (x Int16x8) AsFloat32x4() Float32x4 {
  8361  	return x.ToBits().ReshapeToUint32s().BitsToFloat32()
  8362  }
  8363  
  8364  // AsFloat64x2 reinterprets the bits of a Int16x8 vector as a Float64x2 vector
  8365  //
  8366  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8367  //
  8368  //go:fix inline
  8369  func (x Int16x8) AsFloat64x2() Float64x2 {
  8370  	return x.ToBits().ReshapeToUint64s().BitsToFloat64()
  8371  }
  8372  
  8373  // AsInt8x16 reinterprets the bits of a Int16x8 vector as a Int8x16 vector
  8374  //
  8375  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8376  //
  8377  //go:fix inline
  8378  func (x Int16x8) AsInt8x16() Int8x16 {
  8379  	return x.ToBits().ReshapeToUint8s().BitsToInt8()
  8380  }
  8381  
  8382  // AsInt32x4 reinterprets the bits of a Int16x8 vector as a Int32x4 vector
  8383  //
  8384  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8385  //
  8386  //go:fix inline
  8387  func (x Int16x8) AsInt32x4() Int32x4 {
  8388  	return x.ToBits().ReshapeToUint32s().BitsToInt32()
  8389  }
  8390  
  8391  // AsInt64x2 reinterprets the bits of a Int16x8 vector as a Int64x2 vector
  8392  //
  8393  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8394  //
  8395  //go:fix inline
  8396  func (x Int16x8) AsInt64x2() Int64x2 {
  8397  	return x.ToBits().ReshapeToUint64s().BitsToInt64()
  8398  }
  8399  
  8400  // AsUint8x16 reinterprets the bits of a Int16x8 vector as a Uint8x16 vector
  8401  //
  8402  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8403  //
  8404  //go:fix inline
  8405  func (x Int16x8) AsUint8x16() Uint8x16 {
  8406  	return x.ToBits().ReshapeToUint8s()
  8407  }
  8408  
  8409  // AsUint16x8 reinterprets the bits of a Int16x8 vector as a Uint16x8 vector
  8410  //
  8411  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8412  //
  8413  //go:fix inline
  8414  func (x Int16x8) AsUint16x8() Uint16x8 {
  8415  	return x.ToBits()
  8416  }
  8417  
  8418  // AsUint32x4 reinterprets the bits of a Int16x8 vector as a Uint32x4 vector
  8419  //
  8420  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8421  //
  8422  //go:fix inline
  8423  func (x Int16x8) AsUint32x4() Uint32x4 {
  8424  	return x.ToBits().ReshapeToUint32s()
  8425  }
  8426  
  8427  // AsUint64x2 reinterprets the bits of a Int16x8 vector as a Uint64x2 vector
  8428  //
  8429  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8430  //
  8431  //go:fix inline
  8432  func (x Int16x8) AsUint64x2() Uint64x2 {
  8433  	return x.ToBits().ReshapeToUint64s()
  8434  }
  8435  
  8436  // AsFloat32x8 reinterprets the bits of a Int16x16 vector as a Float32x8 vector
  8437  //
  8438  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8439  //
  8440  //go:fix inline
  8441  func (x Int16x16) AsFloat32x8() Float32x8 {
  8442  	return x.ToBits().ReshapeToUint32s().BitsToFloat32()
  8443  }
  8444  
  8445  // AsFloat64x4 reinterprets the bits of a Int16x16 vector as a Float64x4 vector
  8446  //
  8447  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8448  //
  8449  //go:fix inline
  8450  func (x Int16x16) AsFloat64x4() Float64x4 {
  8451  	return x.ToBits().ReshapeToUint64s().BitsToFloat64()
  8452  }
  8453  
  8454  // AsInt8x32 reinterprets the bits of a Int16x16 vector as a Int8x32 vector
  8455  //
  8456  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8457  //
  8458  //go:fix inline
  8459  func (x Int16x16) AsInt8x32() Int8x32 {
  8460  	return x.ToBits().ReshapeToUint8s().BitsToInt8()
  8461  }
  8462  
  8463  // AsInt32x8 reinterprets the bits of a Int16x16 vector as a Int32x8 vector
  8464  //
  8465  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8466  //
  8467  //go:fix inline
  8468  func (x Int16x16) AsInt32x8() Int32x8 {
  8469  	return x.ToBits().ReshapeToUint32s().BitsToInt32()
  8470  }
  8471  
  8472  // AsInt64x4 reinterprets the bits of a Int16x16 vector as a Int64x4 vector
  8473  //
  8474  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8475  //
  8476  //go:fix inline
  8477  func (x Int16x16) AsInt64x4() Int64x4 {
  8478  	return x.ToBits().ReshapeToUint64s().BitsToInt64()
  8479  }
  8480  
  8481  // AsUint8x32 reinterprets the bits of a Int16x16 vector as a Uint8x32 vector
  8482  //
  8483  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8484  //
  8485  //go:fix inline
  8486  func (x Int16x16) AsUint8x32() Uint8x32 {
  8487  	return x.ToBits().ReshapeToUint8s()
  8488  }
  8489  
  8490  // AsUint16x16 reinterprets the bits of a Int16x16 vector as a Uint16x16 vector
  8491  //
  8492  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8493  //
  8494  //go:fix inline
  8495  func (x Int16x16) AsUint16x16() Uint16x16 {
  8496  	return x.ToBits()
  8497  }
  8498  
  8499  // AsUint32x8 reinterprets the bits of a Int16x16 vector as a Uint32x8 vector
  8500  //
  8501  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8502  //
  8503  //go:fix inline
  8504  func (x Int16x16) AsUint32x8() Uint32x8 {
  8505  	return x.ToBits().ReshapeToUint32s()
  8506  }
  8507  
  8508  // AsUint64x4 reinterprets the bits of a Int16x16 vector as a Uint64x4 vector
  8509  //
  8510  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8511  //
  8512  //go:fix inline
  8513  func (x Int16x16) AsUint64x4() Uint64x4 {
  8514  	return x.ToBits().ReshapeToUint64s()
  8515  }
  8516  
  8517  // AsFloat32x16 reinterprets the bits of a Int16x32 vector as a Float32x16 vector
  8518  //
  8519  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8520  //
  8521  //go:fix inline
  8522  func (x Int16x32) AsFloat32x16() Float32x16 {
  8523  	return x.ToBits().ReshapeToUint32s().BitsToFloat32()
  8524  }
  8525  
  8526  // AsFloat64x8 reinterprets the bits of a Int16x32 vector as a Float64x8 vector
  8527  //
  8528  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8529  //
  8530  //go:fix inline
  8531  func (x Int16x32) AsFloat64x8() Float64x8 {
  8532  	return x.ToBits().ReshapeToUint64s().BitsToFloat64()
  8533  }
  8534  
  8535  // AsInt8x64 reinterprets the bits of a Int16x32 vector as a Int8x64 vector
  8536  //
  8537  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8538  //
  8539  //go:fix inline
  8540  func (x Int16x32) AsInt8x64() Int8x64 {
  8541  	return x.ToBits().ReshapeToUint8s().BitsToInt8()
  8542  }
  8543  
  8544  // AsInt32x16 reinterprets the bits of a Int16x32 vector as a Int32x16 vector
  8545  //
  8546  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8547  //
  8548  //go:fix inline
  8549  func (x Int16x32) AsInt32x16() Int32x16 {
  8550  	return x.ToBits().ReshapeToUint32s().BitsToInt32()
  8551  }
  8552  
  8553  // AsInt64x8 reinterprets the bits of a Int16x32 vector as a Int64x8 vector
  8554  //
  8555  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8556  //
  8557  //go:fix inline
  8558  func (x Int16x32) AsInt64x8() Int64x8 {
  8559  	return x.ToBits().ReshapeToUint64s().BitsToInt64()
  8560  }
  8561  
  8562  // AsUint8x64 reinterprets the bits of a Int16x32 vector as a Uint8x64 vector
  8563  //
  8564  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8565  //
  8566  //go:fix inline
  8567  func (x Int16x32) AsUint8x64() Uint8x64 {
  8568  	return x.ToBits().ReshapeToUint8s()
  8569  }
  8570  
  8571  // AsUint16x32 reinterprets the bits of a Int16x32 vector as a Uint16x32 vector
  8572  //
  8573  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8574  //
  8575  //go:fix inline
  8576  func (x Int16x32) AsUint16x32() Uint16x32 {
  8577  	return x.ToBits()
  8578  }
  8579  
  8580  // AsUint32x16 reinterprets the bits of a Int16x32 vector as a Uint32x16 vector
  8581  //
  8582  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8583  //
  8584  //go:fix inline
  8585  func (x Int16x32) AsUint32x16() Uint32x16 {
  8586  	return x.ToBits().ReshapeToUint32s()
  8587  }
  8588  
  8589  // AsUint64x8 reinterprets the bits of a Int16x32 vector as a Uint64x8 vector
  8590  //
  8591  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8592  //
  8593  //go:fix inline
  8594  func (x Int16x32) AsUint64x8() Uint64x8 {
  8595  	return x.ToBits().ReshapeToUint64s()
  8596  }
  8597  
  8598  // AsFloat32x4 reinterprets the bits of a Int32x4 vector as a Float32x4 vector
  8599  //
  8600  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8601  //
  8602  //go:fix inline
  8603  func (x Int32x4) AsFloat32x4() Float32x4 {
  8604  	return x.ToBits().BitsToFloat32()
  8605  }
  8606  
  8607  // AsFloat64x2 reinterprets the bits of a Int32x4 vector as a Float64x2 vector
  8608  //
  8609  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8610  //
  8611  //go:fix inline
  8612  func (x Int32x4) AsFloat64x2() Float64x2 {
  8613  	return x.ToBits().ReshapeToUint64s().BitsToFloat64()
  8614  }
  8615  
  8616  // AsInt8x16 reinterprets the bits of a Int32x4 vector as a Int8x16 vector
  8617  //
  8618  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8619  //
  8620  //go:fix inline
  8621  func (x Int32x4) AsInt8x16() Int8x16 {
  8622  	return x.ToBits().ReshapeToUint8s().BitsToInt8()
  8623  }
  8624  
  8625  // AsInt16x8 reinterprets the bits of a Int32x4 vector as a Int16x8 vector
  8626  //
  8627  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8628  //
  8629  //go:fix inline
  8630  func (x Int32x4) AsInt16x8() Int16x8 {
  8631  	return x.ToBits().ReshapeToUint16s().BitsToInt16()
  8632  }
  8633  
  8634  // AsInt64x2 reinterprets the bits of a Int32x4 vector as a Int64x2 vector
  8635  //
  8636  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8637  //
  8638  //go:fix inline
  8639  func (x Int32x4) AsInt64x2() Int64x2 {
  8640  	return x.ToBits().ReshapeToUint64s().BitsToInt64()
  8641  }
  8642  
  8643  // AsUint8x16 reinterprets the bits of a Int32x4 vector as a Uint8x16 vector
  8644  //
  8645  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8646  //
  8647  //go:fix inline
  8648  func (x Int32x4) AsUint8x16() Uint8x16 {
  8649  	return x.ToBits().ReshapeToUint8s()
  8650  }
  8651  
  8652  // AsUint16x8 reinterprets the bits of a Int32x4 vector as a Uint16x8 vector
  8653  //
  8654  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8655  //
  8656  //go:fix inline
  8657  func (x Int32x4) AsUint16x8() Uint16x8 {
  8658  	return x.ToBits().ReshapeToUint16s()
  8659  }
  8660  
  8661  // AsUint32x4 reinterprets the bits of a Int32x4 vector as a Uint32x4 vector
  8662  //
  8663  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8664  //
  8665  //go:fix inline
  8666  func (x Int32x4) AsUint32x4() Uint32x4 {
  8667  	return x.ToBits()
  8668  }
  8669  
  8670  // AsUint64x2 reinterprets the bits of a Int32x4 vector as a Uint64x2 vector
  8671  //
  8672  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8673  //
  8674  //go:fix inline
  8675  func (x Int32x4) AsUint64x2() Uint64x2 {
  8676  	return x.ToBits().ReshapeToUint64s()
  8677  }
  8678  
  8679  // AsFloat32x8 reinterprets the bits of a Int32x8 vector as a Float32x8 vector
  8680  //
  8681  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8682  //
  8683  //go:fix inline
  8684  func (x Int32x8) AsFloat32x8() Float32x8 {
  8685  	return x.ToBits().BitsToFloat32()
  8686  }
  8687  
  8688  // AsFloat64x4 reinterprets the bits of a Int32x8 vector as a Float64x4 vector
  8689  //
  8690  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8691  //
  8692  //go:fix inline
  8693  func (x Int32x8) AsFloat64x4() Float64x4 {
  8694  	return x.ToBits().ReshapeToUint64s().BitsToFloat64()
  8695  }
  8696  
  8697  // AsInt8x32 reinterprets the bits of a Int32x8 vector as a Int8x32 vector
  8698  //
  8699  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8700  //
  8701  //go:fix inline
  8702  func (x Int32x8) AsInt8x32() Int8x32 {
  8703  	return x.ToBits().ReshapeToUint8s().BitsToInt8()
  8704  }
  8705  
  8706  // AsInt16x16 reinterprets the bits of a Int32x8 vector as a Int16x16 vector
  8707  //
  8708  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8709  //
  8710  //go:fix inline
  8711  func (x Int32x8) AsInt16x16() Int16x16 {
  8712  	return x.ToBits().ReshapeToUint16s().BitsToInt16()
  8713  }
  8714  
  8715  // AsInt64x4 reinterprets the bits of a Int32x8 vector as a Int64x4 vector
  8716  //
  8717  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8718  //
  8719  //go:fix inline
  8720  func (x Int32x8) AsInt64x4() Int64x4 {
  8721  	return x.ToBits().ReshapeToUint64s().BitsToInt64()
  8722  }
  8723  
  8724  // AsUint8x32 reinterprets the bits of a Int32x8 vector as a Uint8x32 vector
  8725  //
  8726  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8727  //
  8728  //go:fix inline
  8729  func (x Int32x8) AsUint8x32() Uint8x32 {
  8730  	return x.ToBits().ReshapeToUint8s()
  8731  }
  8732  
  8733  // AsUint16x16 reinterprets the bits of a Int32x8 vector as a Uint16x16 vector
  8734  //
  8735  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8736  //
  8737  //go:fix inline
  8738  func (x Int32x8) AsUint16x16() Uint16x16 {
  8739  	return x.ToBits().ReshapeToUint16s()
  8740  }
  8741  
  8742  // AsUint32x8 reinterprets the bits of a Int32x8 vector as a Uint32x8 vector
  8743  //
  8744  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8745  //
  8746  //go:fix inline
  8747  func (x Int32x8) AsUint32x8() Uint32x8 {
  8748  	return x.ToBits()
  8749  }
  8750  
  8751  // AsUint64x4 reinterprets the bits of a Int32x8 vector as a Uint64x4 vector
  8752  //
  8753  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8754  //
  8755  //go:fix inline
  8756  func (x Int32x8) AsUint64x4() Uint64x4 {
  8757  	return x.ToBits().ReshapeToUint64s()
  8758  }
  8759  
  8760  // AsFloat32x16 reinterprets the bits of a Int32x16 vector as a Float32x16 vector
  8761  //
  8762  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8763  //
  8764  //go:fix inline
  8765  func (x Int32x16) AsFloat32x16() Float32x16 {
  8766  	return x.ToBits().BitsToFloat32()
  8767  }
  8768  
  8769  // AsFloat64x8 reinterprets the bits of a Int32x16 vector as a Float64x8 vector
  8770  //
  8771  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8772  //
  8773  //go:fix inline
  8774  func (x Int32x16) AsFloat64x8() Float64x8 {
  8775  	return x.ToBits().ReshapeToUint64s().BitsToFloat64()
  8776  }
  8777  
  8778  // AsInt8x64 reinterprets the bits of a Int32x16 vector as a Int8x64 vector
  8779  //
  8780  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8781  //
  8782  //go:fix inline
  8783  func (x Int32x16) AsInt8x64() Int8x64 {
  8784  	return x.ToBits().ReshapeToUint8s().BitsToInt8()
  8785  }
  8786  
  8787  // AsInt16x32 reinterprets the bits of a Int32x16 vector as a Int16x32 vector
  8788  //
  8789  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8790  //
  8791  //go:fix inline
  8792  func (x Int32x16) AsInt16x32() Int16x32 {
  8793  	return x.ToBits().ReshapeToUint16s().BitsToInt16()
  8794  }
  8795  
  8796  // AsInt64x8 reinterprets the bits of a Int32x16 vector as a Int64x8 vector
  8797  //
  8798  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8799  //
  8800  //go:fix inline
  8801  func (x Int32x16) AsInt64x8() Int64x8 {
  8802  	return x.ToBits().ReshapeToUint64s().BitsToInt64()
  8803  }
  8804  
  8805  // AsUint8x64 reinterprets the bits of a Int32x16 vector as a Uint8x64 vector
  8806  //
  8807  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8808  //
  8809  //go:fix inline
  8810  func (x Int32x16) AsUint8x64() Uint8x64 {
  8811  	return x.ToBits().ReshapeToUint8s()
  8812  }
  8813  
  8814  // AsUint16x32 reinterprets the bits of a Int32x16 vector as a Uint16x32 vector
  8815  //
  8816  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8817  //
  8818  //go:fix inline
  8819  func (x Int32x16) AsUint16x32() Uint16x32 {
  8820  	return x.ToBits().ReshapeToUint16s()
  8821  }
  8822  
  8823  // AsUint32x16 reinterprets the bits of a Int32x16 vector as a Uint32x16 vector
  8824  //
  8825  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8826  //
  8827  //go:fix inline
  8828  func (x Int32x16) AsUint32x16() Uint32x16 {
  8829  	return x.ToBits()
  8830  }
  8831  
  8832  // AsUint64x8 reinterprets the bits of a Int32x16 vector as a Uint64x8 vector
  8833  //
  8834  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8835  //
  8836  //go:fix inline
  8837  func (x Int32x16) AsUint64x8() Uint64x8 {
  8838  	return x.ToBits().ReshapeToUint64s()
  8839  }
  8840  
  8841  // AsFloat32x4 reinterprets the bits of a Int64x2 vector as a Float32x4 vector
  8842  //
  8843  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8844  //
  8845  //go:fix inline
  8846  func (x Int64x2) AsFloat32x4() Float32x4 {
  8847  	return x.ToBits().ReshapeToUint32s().BitsToFloat32()
  8848  }
  8849  
  8850  // AsFloat64x2 reinterprets the bits of a Int64x2 vector as a Float64x2 vector
  8851  //
  8852  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8853  //
  8854  //go:fix inline
  8855  func (x Int64x2) AsFloat64x2() Float64x2 {
  8856  	return x.ToBits().BitsToFloat64()
  8857  }
  8858  
  8859  // AsInt8x16 reinterprets the bits of a Int64x2 vector as a Int8x16 vector
  8860  //
  8861  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8862  //
  8863  //go:fix inline
  8864  func (x Int64x2) AsInt8x16() Int8x16 {
  8865  	return x.ToBits().ReshapeToUint8s().BitsToInt8()
  8866  }
  8867  
  8868  // AsInt16x8 reinterprets the bits of a Int64x2 vector as a Int16x8 vector
  8869  //
  8870  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8871  //
  8872  //go:fix inline
  8873  func (x Int64x2) AsInt16x8() Int16x8 {
  8874  	return x.ToBits().ReshapeToUint16s().BitsToInt16()
  8875  }
  8876  
  8877  // AsInt32x4 reinterprets the bits of a Int64x2 vector as a Int32x4 vector
  8878  //
  8879  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8880  //
  8881  //go:fix inline
  8882  func (x Int64x2) AsInt32x4() Int32x4 {
  8883  	return x.ToBits().ReshapeToUint32s().BitsToInt32()
  8884  }
  8885  
  8886  // AsUint8x16 reinterprets the bits of a Int64x2 vector as a Uint8x16 vector
  8887  //
  8888  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8889  //
  8890  //go:fix inline
  8891  func (x Int64x2) AsUint8x16() Uint8x16 {
  8892  	return x.ToBits().ReshapeToUint8s()
  8893  }
  8894  
  8895  // AsUint16x8 reinterprets the bits of a Int64x2 vector as a Uint16x8 vector
  8896  //
  8897  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8898  //
  8899  //go:fix inline
  8900  func (x Int64x2) AsUint16x8() Uint16x8 {
  8901  	return x.ToBits().ReshapeToUint16s()
  8902  }
  8903  
  8904  // AsUint32x4 reinterprets the bits of a Int64x2 vector as a Uint32x4 vector
  8905  //
  8906  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8907  //
  8908  //go:fix inline
  8909  func (x Int64x2) AsUint32x4() Uint32x4 {
  8910  	return x.ToBits().ReshapeToUint32s()
  8911  }
  8912  
  8913  // AsUint64x2 reinterprets the bits of a Int64x2 vector as a Uint64x2 vector
  8914  //
  8915  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8916  //
  8917  //go:fix inline
  8918  func (x Int64x2) AsUint64x2() Uint64x2 {
  8919  	return x.ToBits()
  8920  }
  8921  
  8922  // AsFloat32x8 reinterprets the bits of a Int64x4 vector as a Float32x8 vector
  8923  //
  8924  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8925  //
  8926  //go:fix inline
  8927  func (x Int64x4) AsFloat32x8() Float32x8 {
  8928  	return x.ToBits().ReshapeToUint32s().BitsToFloat32()
  8929  }
  8930  
  8931  // AsFloat64x4 reinterprets the bits of a Int64x4 vector as a Float64x4 vector
  8932  //
  8933  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8934  //
  8935  //go:fix inline
  8936  func (x Int64x4) AsFloat64x4() Float64x4 {
  8937  	return x.ToBits().BitsToFloat64()
  8938  }
  8939  
  8940  // AsInt8x32 reinterprets the bits of a Int64x4 vector as a Int8x32 vector
  8941  //
  8942  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8943  //
  8944  //go:fix inline
  8945  func (x Int64x4) AsInt8x32() Int8x32 {
  8946  	return x.ToBits().ReshapeToUint8s().BitsToInt8()
  8947  }
  8948  
  8949  // AsInt16x16 reinterprets the bits of a Int64x4 vector as a Int16x16 vector
  8950  //
  8951  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8952  //
  8953  //go:fix inline
  8954  func (x Int64x4) AsInt16x16() Int16x16 {
  8955  	return x.ToBits().ReshapeToUint16s().BitsToInt16()
  8956  }
  8957  
  8958  // AsInt32x8 reinterprets the bits of a Int64x4 vector as a Int32x8 vector
  8959  //
  8960  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8961  //
  8962  //go:fix inline
  8963  func (x Int64x4) AsInt32x8() Int32x8 {
  8964  	return x.ToBits().ReshapeToUint32s().BitsToInt32()
  8965  }
  8966  
  8967  // AsUint8x32 reinterprets the bits of a Int64x4 vector as a Uint8x32 vector
  8968  //
  8969  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8970  //
  8971  //go:fix inline
  8972  func (x Int64x4) AsUint8x32() Uint8x32 {
  8973  	return x.ToBits().ReshapeToUint8s()
  8974  }
  8975  
  8976  // AsUint16x16 reinterprets the bits of a Int64x4 vector as a Uint16x16 vector
  8977  //
  8978  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8979  //
  8980  //go:fix inline
  8981  func (x Int64x4) AsUint16x16() Uint16x16 {
  8982  	return x.ToBits().ReshapeToUint16s()
  8983  }
  8984  
  8985  // AsUint32x8 reinterprets the bits of a Int64x4 vector as a Uint32x8 vector
  8986  //
  8987  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8988  //
  8989  //go:fix inline
  8990  func (x Int64x4) AsUint32x8() Uint32x8 {
  8991  	return x.ToBits().ReshapeToUint32s()
  8992  }
  8993  
  8994  // AsUint64x4 reinterprets the bits of a Int64x4 vector as a Uint64x4 vector
  8995  //
  8996  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  8997  //
  8998  //go:fix inline
  8999  func (x Int64x4) AsUint64x4() Uint64x4 {
  9000  	return x.ToBits()
  9001  }
  9002  
  9003  // AsFloat32x16 reinterprets the bits of a Int64x8 vector as a Float32x16 vector
  9004  //
  9005  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9006  //
  9007  //go:fix inline
  9008  func (x Int64x8) AsFloat32x16() Float32x16 {
  9009  	return x.ToBits().ReshapeToUint32s().BitsToFloat32()
  9010  }
  9011  
  9012  // AsFloat64x8 reinterprets the bits of a Int64x8 vector as a Float64x8 vector
  9013  //
  9014  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9015  //
  9016  //go:fix inline
  9017  func (x Int64x8) AsFloat64x8() Float64x8 {
  9018  	return x.ToBits().BitsToFloat64()
  9019  }
  9020  
  9021  // AsInt8x64 reinterprets the bits of a Int64x8 vector as a Int8x64 vector
  9022  //
  9023  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9024  //
  9025  //go:fix inline
  9026  func (x Int64x8) AsInt8x64() Int8x64 {
  9027  	return x.ToBits().ReshapeToUint8s().BitsToInt8()
  9028  }
  9029  
  9030  // AsInt16x32 reinterprets the bits of a Int64x8 vector as a Int16x32 vector
  9031  //
  9032  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9033  //
  9034  //go:fix inline
  9035  func (x Int64x8) AsInt16x32() Int16x32 {
  9036  	return x.ToBits().ReshapeToUint16s().BitsToInt16()
  9037  }
  9038  
  9039  // AsInt32x16 reinterprets the bits of a Int64x8 vector as a Int32x16 vector
  9040  //
  9041  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9042  //
  9043  //go:fix inline
  9044  func (x Int64x8) AsInt32x16() Int32x16 {
  9045  	return x.ToBits().ReshapeToUint32s().BitsToInt32()
  9046  }
  9047  
  9048  // AsUint8x64 reinterprets the bits of a Int64x8 vector as a Uint8x64 vector
  9049  //
  9050  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9051  //
  9052  //go:fix inline
  9053  func (x Int64x8) AsUint8x64() Uint8x64 {
  9054  	return x.ToBits().ReshapeToUint8s()
  9055  }
  9056  
  9057  // AsUint16x32 reinterprets the bits of a Int64x8 vector as a Uint16x32 vector
  9058  //
  9059  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9060  //
  9061  //go:fix inline
  9062  func (x Int64x8) AsUint16x32() Uint16x32 {
  9063  	return x.ToBits().ReshapeToUint16s()
  9064  }
  9065  
  9066  // AsUint32x16 reinterprets the bits of a Int64x8 vector as a Uint32x16 vector
  9067  //
  9068  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9069  //
  9070  //go:fix inline
  9071  func (x Int64x8) AsUint32x16() Uint32x16 {
  9072  	return x.ToBits().ReshapeToUint32s()
  9073  }
  9074  
  9075  // AsUint64x8 reinterprets the bits of a Int64x8 vector as a Uint64x8 vector
  9076  //
  9077  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9078  //
  9079  //go:fix inline
  9080  func (x Int64x8) AsUint64x8() Uint64x8 {
  9081  	return x.ToBits()
  9082  }
  9083  
  9084  // AsFloat32x4 reinterprets the bits of a Uint8x16 vector as a Float32x4 vector
  9085  //
  9086  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9087  //
  9088  //go:fix inline
  9089  func (x Uint8x16) AsFloat32x4() Float32x4 {
  9090  	return x.ReshapeToUint32s().BitsToFloat32()
  9091  }
  9092  
  9093  // AsFloat64x2 reinterprets the bits of a Uint8x16 vector as a Float64x2 vector
  9094  //
  9095  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9096  //
  9097  //go:fix inline
  9098  func (x Uint8x16) AsFloat64x2() Float64x2 {
  9099  	return x.ReshapeToUint64s().BitsToFloat64()
  9100  }
  9101  
  9102  // AsInt8x16 reinterprets the bits of a Uint8x16 vector as a Int8x16 vector
  9103  //
  9104  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9105  //
  9106  //go:fix inline
  9107  func (x Uint8x16) AsInt8x16() Int8x16 {
  9108  	return x.BitsToInt8()
  9109  }
  9110  
  9111  // BitsToInt8 reinterprets the bits of a Uint8x16 vector as a Int8x16 vector
  9112  func (x Uint8x16) BitsToInt8() Int8x16
  9113  
  9114  // ConvertToInt8 converts a Uint8x16 vector to a Int8x16 vector
  9115  func (x Uint8x16) ConvertToInt8() Int8x16
  9116  
  9117  // ConvertToUint8 converts a Int8x16 vector to a Uint8x16 vector
  9118  func (x Int8x16) ConvertToUint8() Uint8x16
  9119  
  9120  // ToBits reinterprets the bits of a Int8x16 vector as a Uint8x16 vector
  9121  func (x Int8x16) ToBits() Uint8x16
  9122  
  9123  // AsInt16x8 reinterprets the bits of a Uint8x16 vector as a Int16x8 vector
  9124  //
  9125  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9126  //
  9127  //go:fix inline
  9128  func (x Uint8x16) AsInt16x8() Int16x8 {
  9129  	return x.ReshapeToUint16s().BitsToInt16()
  9130  }
  9131  
  9132  // AsInt32x4 reinterprets the bits of a Uint8x16 vector as a Int32x4 vector
  9133  //
  9134  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9135  //
  9136  //go:fix inline
  9137  func (x Uint8x16) AsInt32x4() Int32x4 {
  9138  	return x.ReshapeToUint32s().BitsToInt32()
  9139  }
  9140  
  9141  // AsInt64x2 reinterprets the bits of a Uint8x16 vector as a Int64x2 vector
  9142  //
  9143  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9144  //
  9145  //go:fix inline
  9146  func (x Uint8x16) AsInt64x2() Int64x2 {
  9147  	return x.ReshapeToUint64s().BitsToInt64()
  9148  }
  9149  
  9150  // AsUint16x8 reinterprets the bits of a Uint8x16 vector as a Uint16x8 vector
  9151  //
  9152  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9153  //
  9154  //go:fix inline
  9155  func (x Uint8x16) AsUint16x8() Uint16x8 {
  9156  	return x.ReshapeToUint16s()
  9157  }
  9158  
  9159  // ReshapeToUint16s reinterprets the bits of a Uint8x16 vector as a Uint16x8 vector
  9160  func (x Uint8x16) ReshapeToUint16s() Uint16x8
  9161  
  9162  // AsUint32x4 reinterprets the bits of a Uint8x16 vector as a Uint32x4 vector
  9163  //
  9164  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9165  //
  9166  //go:fix inline
  9167  func (x Uint8x16) AsUint32x4() Uint32x4 {
  9168  	return x.ReshapeToUint32s()
  9169  }
  9170  
  9171  // ReshapeToUint32s reinterprets the bits of a Uint8x16 vector as a Uint32x4 vector
  9172  func (x Uint8x16) ReshapeToUint32s() Uint32x4
  9173  
  9174  // AsUint64x2 reinterprets the bits of a Uint8x16 vector as a Uint64x2 vector
  9175  //
  9176  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9177  //
  9178  //go:fix inline
  9179  func (x Uint8x16) AsUint64x2() Uint64x2 {
  9180  	return x.ReshapeToUint64s()
  9181  }
  9182  
  9183  // ReshapeToUint64s reinterprets the bits of a Uint8x16 vector as a Uint64x2 vector
  9184  func (x Uint8x16) ReshapeToUint64s() Uint64x2
  9185  
  9186  // AsFloat32x8 reinterprets the bits of a Uint8x32 vector as a Float32x8 vector
  9187  //
  9188  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9189  //
  9190  //go:fix inline
  9191  func (x Uint8x32) AsFloat32x8() Float32x8 {
  9192  	return x.ReshapeToUint32s().BitsToFloat32()
  9193  }
  9194  
  9195  // AsFloat64x4 reinterprets the bits of a Uint8x32 vector as a Float64x4 vector
  9196  //
  9197  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9198  //
  9199  //go:fix inline
  9200  func (x Uint8x32) AsFloat64x4() Float64x4 {
  9201  	return x.ReshapeToUint64s().BitsToFloat64()
  9202  }
  9203  
  9204  // AsInt8x32 reinterprets the bits of a Uint8x32 vector as a Int8x32 vector
  9205  //
  9206  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9207  //
  9208  //go:fix inline
  9209  func (x Uint8x32) AsInt8x32() Int8x32 {
  9210  	return x.BitsToInt8()
  9211  }
  9212  
  9213  // BitsToInt8 reinterprets the bits of a Uint8x32 vector as a Int8x32 vector
  9214  func (x Uint8x32) BitsToInt8() Int8x32
  9215  
  9216  // ConvertToInt8 converts a Uint8x32 vector to a Int8x32 vector
  9217  func (x Uint8x32) ConvertToInt8() Int8x32
  9218  
  9219  // ConvertToUint8 converts a Int8x32 vector to a Uint8x32 vector
  9220  func (x Int8x32) ConvertToUint8() Uint8x32
  9221  
  9222  // ToBits reinterprets the bits of a Int8x32 vector as a Uint8x32 vector
  9223  func (x Int8x32) ToBits() Uint8x32
  9224  
  9225  // AsInt16x16 reinterprets the bits of a Uint8x32 vector as a Int16x16 vector
  9226  //
  9227  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9228  //
  9229  //go:fix inline
  9230  func (x Uint8x32) AsInt16x16() Int16x16 {
  9231  	return x.ReshapeToUint16s().BitsToInt16()
  9232  }
  9233  
  9234  // AsInt32x8 reinterprets the bits of a Uint8x32 vector as a Int32x8 vector
  9235  //
  9236  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9237  //
  9238  //go:fix inline
  9239  func (x Uint8x32) AsInt32x8() Int32x8 {
  9240  	return x.ReshapeToUint32s().BitsToInt32()
  9241  }
  9242  
  9243  // AsInt64x4 reinterprets the bits of a Uint8x32 vector as a Int64x4 vector
  9244  //
  9245  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9246  //
  9247  //go:fix inline
  9248  func (x Uint8x32) AsInt64x4() Int64x4 {
  9249  	return x.ReshapeToUint64s().BitsToInt64()
  9250  }
  9251  
  9252  // AsUint16x16 reinterprets the bits of a Uint8x32 vector as a Uint16x16 vector
  9253  //
  9254  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9255  //
  9256  //go:fix inline
  9257  func (x Uint8x32) AsUint16x16() Uint16x16 {
  9258  	return x.ReshapeToUint16s()
  9259  }
  9260  
  9261  // ReshapeToUint16s reinterprets the bits of a Uint8x32 vector as a Uint16x16 vector
  9262  func (x Uint8x32) ReshapeToUint16s() Uint16x16
  9263  
  9264  // AsUint32x8 reinterprets the bits of a Uint8x32 vector as a Uint32x8 vector
  9265  //
  9266  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9267  //
  9268  //go:fix inline
  9269  func (x Uint8x32) AsUint32x8() Uint32x8 {
  9270  	return x.ReshapeToUint32s()
  9271  }
  9272  
  9273  // ReshapeToUint32s reinterprets the bits of a Uint8x32 vector as a Uint32x8 vector
  9274  func (x Uint8x32) ReshapeToUint32s() Uint32x8
  9275  
  9276  // AsUint64x4 reinterprets the bits of a Uint8x32 vector as a Uint64x4 vector
  9277  //
  9278  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9279  //
  9280  //go:fix inline
  9281  func (x Uint8x32) AsUint64x4() Uint64x4 {
  9282  	return x.ReshapeToUint64s()
  9283  }
  9284  
  9285  // ReshapeToUint64s reinterprets the bits of a Uint8x32 vector as a Uint64x4 vector
  9286  func (x Uint8x32) ReshapeToUint64s() Uint64x4
  9287  
  9288  // AsFloat32x16 reinterprets the bits of a Uint8x64 vector as a Float32x16 vector
  9289  //
  9290  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9291  //
  9292  //go:fix inline
  9293  func (x Uint8x64) AsFloat32x16() Float32x16 {
  9294  	return x.ReshapeToUint32s().BitsToFloat32()
  9295  }
  9296  
  9297  // AsFloat64x8 reinterprets the bits of a Uint8x64 vector as a Float64x8 vector
  9298  //
  9299  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9300  //
  9301  //go:fix inline
  9302  func (x Uint8x64) AsFloat64x8() Float64x8 {
  9303  	return x.ReshapeToUint64s().BitsToFloat64()
  9304  }
  9305  
  9306  // AsInt8x64 reinterprets the bits of a Uint8x64 vector as a Int8x64 vector
  9307  //
  9308  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9309  //
  9310  //go:fix inline
  9311  func (x Uint8x64) AsInt8x64() Int8x64 {
  9312  	return x.BitsToInt8()
  9313  }
  9314  
  9315  // BitsToInt8 reinterprets the bits of a Uint8x64 vector as a Int8x64 vector
  9316  func (x Uint8x64) BitsToInt8() Int8x64
  9317  
  9318  // ConvertToInt8 converts a Uint8x64 vector to a Int8x64 vector
  9319  func (x Uint8x64) ConvertToInt8() Int8x64
  9320  
  9321  // ConvertToUint8 converts a Int8x64 vector to a Uint8x64 vector
  9322  func (x Int8x64) ConvertToUint8() Uint8x64
  9323  
  9324  // ToBits reinterprets the bits of a Int8x64 vector as a Uint8x64 vector
  9325  func (x Int8x64) ToBits() Uint8x64
  9326  
  9327  // AsInt16x32 reinterprets the bits of a Uint8x64 vector as a Int16x32 vector
  9328  //
  9329  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9330  //
  9331  //go:fix inline
  9332  func (x Uint8x64) AsInt16x32() Int16x32 {
  9333  	return x.ReshapeToUint16s().BitsToInt16()
  9334  }
  9335  
  9336  // AsInt32x16 reinterprets the bits of a Uint8x64 vector as a Int32x16 vector
  9337  //
  9338  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9339  //
  9340  //go:fix inline
  9341  func (x Uint8x64) AsInt32x16() Int32x16 {
  9342  	return x.ReshapeToUint32s().BitsToInt32()
  9343  }
  9344  
  9345  // AsInt64x8 reinterprets the bits of a Uint8x64 vector as a Int64x8 vector
  9346  //
  9347  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9348  //
  9349  //go:fix inline
  9350  func (x Uint8x64) AsInt64x8() Int64x8 {
  9351  	return x.ReshapeToUint64s().BitsToInt64()
  9352  }
  9353  
  9354  // AsUint16x32 reinterprets the bits of a Uint8x64 vector as a Uint16x32 vector
  9355  //
  9356  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9357  //
  9358  //go:fix inline
  9359  func (x Uint8x64) AsUint16x32() Uint16x32 {
  9360  	return x.ReshapeToUint16s()
  9361  }
  9362  
  9363  // ReshapeToUint16s reinterprets the bits of a Uint8x64 vector as a Uint16x32 vector
  9364  func (x Uint8x64) ReshapeToUint16s() Uint16x32
  9365  
  9366  // AsUint32x16 reinterprets the bits of a Uint8x64 vector as a Uint32x16 vector
  9367  //
  9368  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9369  //
  9370  //go:fix inline
  9371  func (x Uint8x64) AsUint32x16() Uint32x16 {
  9372  	return x.ReshapeToUint32s()
  9373  }
  9374  
  9375  // ReshapeToUint32s reinterprets the bits of a Uint8x64 vector as a Uint32x16 vector
  9376  func (x Uint8x64) ReshapeToUint32s() Uint32x16
  9377  
  9378  // AsUint64x8 reinterprets the bits of a Uint8x64 vector as a Uint64x8 vector
  9379  //
  9380  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9381  //
  9382  //go:fix inline
  9383  func (x Uint8x64) AsUint64x8() Uint64x8 {
  9384  	return x.ReshapeToUint64s()
  9385  }
  9386  
  9387  // ReshapeToUint64s reinterprets the bits of a Uint8x64 vector as a Uint64x8 vector
  9388  func (x Uint8x64) ReshapeToUint64s() Uint64x8
  9389  
  9390  // AsFloat32x4 reinterprets the bits of a Uint16x8 vector as a Float32x4 vector
  9391  //
  9392  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9393  //
  9394  //go:fix inline
  9395  func (x Uint16x8) AsFloat32x4() Float32x4 {
  9396  	return x.ReshapeToUint32s().BitsToFloat32()
  9397  }
  9398  
  9399  // AsFloat64x2 reinterprets the bits of a Uint16x8 vector as a Float64x2 vector
  9400  //
  9401  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9402  //
  9403  //go:fix inline
  9404  func (x Uint16x8) AsFloat64x2() Float64x2 {
  9405  	return x.ReshapeToUint64s().BitsToFloat64()
  9406  }
  9407  
  9408  // AsInt8x16 reinterprets the bits of a Uint16x8 vector as a Int8x16 vector
  9409  //
  9410  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9411  //
  9412  //go:fix inline
  9413  func (x Uint16x8) AsInt8x16() Int8x16 {
  9414  	return x.ReshapeToUint8s().BitsToInt8()
  9415  }
  9416  
  9417  // AsInt16x8 reinterprets the bits of a Uint16x8 vector as a Int16x8 vector
  9418  //
  9419  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9420  //
  9421  //go:fix inline
  9422  func (x Uint16x8) AsInt16x8() Int16x8 {
  9423  	return x.BitsToInt16()
  9424  }
  9425  
  9426  // BitsToInt16 reinterprets the bits of a Uint16x8 vector as a Int16x8 vector
  9427  func (x Uint16x8) BitsToInt16() Int16x8
  9428  
  9429  // ConvertToInt16 converts a Uint16x8 vector to a Int16x8 vector
  9430  func (x Uint16x8) ConvertToInt16() Int16x8
  9431  
  9432  // ConvertToUint16 converts a Int16x8 vector to a Uint16x8 vector
  9433  func (x Int16x8) ConvertToUint16() Uint16x8
  9434  
  9435  // ToBits reinterprets the bits of a Int16x8 vector as a Uint16x8 vector
  9436  func (x Int16x8) ToBits() Uint16x8
  9437  
  9438  // AsInt32x4 reinterprets the bits of a Uint16x8 vector as a Int32x4 vector
  9439  //
  9440  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9441  //
  9442  //go:fix inline
  9443  func (x Uint16x8) AsInt32x4() Int32x4 {
  9444  	return x.ReshapeToUint32s().BitsToInt32()
  9445  }
  9446  
  9447  // AsInt64x2 reinterprets the bits of a Uint16x8 vector as a Int64x2 vector
  9448  //
  9449  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9450  //
  9451  //go:fix inline
  9452  func (x Uint16x8) AsInt64x2() Int64x2 {
  9453  	return x.ReshapeToUint64s().BitsToInt64()
  9454  }
  9455  
  9456  // AsUint8x16 reinterprets the bits of a Uint16x8 vector as a Uint8x16 vector
  9457  //
  9458  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9459  //
  9460  //go:fix inline
  9461  func (x Uint16x8) AsUint8x16() Uint8x16 {
  9462  	return x.ReshapeToUint8s()
  9463  }
  9464  
  9465  // ReshapeToUint8s reinterprets the bits of a Uint16x8 vector as a Uint8x16 vector
  9466  func (x Uint16x8) ReshapeToUint8s() Uint8x16
  9467  
  9468  // AsUint32x4 reinterprets the bits of a Uint16x8 vector as a Uint32x4 vector
  9469  //
  9470  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9471  //
  9472  //go:fix inline
  9473  func (x Uint16x8) AsUint32x4() Uint32x4 {
  9474  	return x.ReshapeToUint32s()
  9475  }
  9476  
  9477  // ReshapeToUint32s reinterprets the bits of a Uint16x8 vector as a Uint32x4 vector
  9478  func (x Uint16x8) ReshapeToUint32s() Uint32x4
  9479  
  9480  // AsUint64x2 reinterprets the bits of a Uint16x8 vector as a Uint64x2 vector
  9481  //
  9482  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9483  //
  9484  //go:fix inline
  9485  func (x Uint16x8) AsUint64x2() Uint64x2 {
  9486  	return x.ReshapeToUint64s()
  9487  }
  9488  
  9489  // ReshapeToUint64s reinterprets the bits of a Uint16x8 vector as a Uint64x2 vector
  9490  func (x Uint16x8) ReshapeToUint64s() Uint64x2
  9491  
  9492  // AsFloat32x8 reinterprets the bits of a Uint16x16 vector as a Float32x8 vector
  9493  //
  9494  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9495  //
  9496  //go:fix inline
  9497  func (x Uint16x16) AsFloat32x8() Float32x8 {
  9498  	return x.ReshapeToUint32s().BitsToFloat32()
  9499  }
  9500  
  9501  // AsFloat64x4 reinterprets the bits of a Uint16x16 vector as a Float64x4 vector
  9502  //
  9503  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9504  //
  9505  //go:fix inline
  9506  func (x Uint16x16) AsFloat64x4() Float64x4 {
  9507  	return x.ReshapeToUint64s().BitsToFloat64()
  9508  }
  9509  
  9510  // AsInt8x32 reinterprets the bits of a Uint16x16 vector as a Int8x32 vector
  9511  //
  9512  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9513  //
  9514  //go:fix inline
  9515  func (x Uint16x16) AsInt8x32() Int8x32 {
  9516  	return x.ReshapeToUint8s().BitsToInt8()
  9517  }
  9518  
  9519  // AsInt16x16 reinterprets the bits of a Uint16x16 vector as a Int16x16 vector
  9520  //
  9521  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9522  //
  9523  //go:fix inline
  9524  func (x Uint16x16) AsInt16x16() Int16x16 {
  9525  	return x.BitsToInt16()
  9526  }
  9527  
  9528  // BitsToInt16 reinterprets the bits of a Uint16x16 vector as a Int16x16 vector
  9529  func (x Uint16x16) BitsToInt16() Int16x16
  9530  
  9531  // ConvertToInt16 converts a Uint16x16 vector to a Int16x16 vector
  9532  func (x Uint16x16) ConvertToInt16() Int16x16
  9533  
  9534  // ConvertToUint16 converts a Int16x16 vector to a Uint16x16 vector
  9535  func (x Int16x16) ConvertToUint16() Uint16x16
  9536  
  9537  // ToBits reinterprets the bits of a Int16x16 vector as a Uint16x16 vector
  9538  func (x Int16x16) ToBits() Uint16x16
  9539  
  9540  // AsInt32x8 reinterprets the bits of a Uint16x16 vector as a Int32x8 vector
  9541  //
  9542  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9543  //
  9544  //go:fix inline
  9545  func (x Uint16x16) AsInt32x8() Int32x8 {
  9546  	return x.ReshapeToUint32s().BitsToInt32()
  9547  }
  9548  
  9549  // AsInt64x4 reinterprets the bits of a Uint16x16 vector as a Int64x4 vector
  9550  //
  9551  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9552  //
  9553  //go:fix inline
  9554  func (x Uint16x16) AsInt64x4() Int64x4 {
  9555  	return x.ReshapeToUint64s().BitsToInt64()
  9556  }
  9557  
  9558  // AsUint8x32 reinterprets the bits of a Uint16x16 vector as a Uint8x32 vector
  9559  //
  9560  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9561  //
  9562  //go:fix inline
  9563  func (x Uint16x16) AsUint8x32() Uint8x32 {
  9564  	return x.ReshapeToUint8s()
  9565  }
  9566  
  9567  // ReshapeToUint8s reinterprets the bits of a Uint16x16 vector as a Uint8x32 vector
  9568  func (x Uint16x16) ReshapeToUint8s() Uint8x32
  9569  
  9570  // AsUint32x8 reinterprets the bits of a Uint16x16 vector as a Uint32x8 vector
  9571  //
  9572  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9573  //
  9574  //go:fix inline
  9575  func (x Uint16x16) AsUint32x8() Uint32x8 {
  9576  	return x.ReshapeToUint32s()
  9577  }
  9578  
  9579  // ReshapeToUint32s reinterprets the bits of a Uint16x16 vector as a Uint32x8 vector
  9580  func (x Uint16x16) ReshapeToUint32s() Uint32x8
  9581  
  9582  // AsUint64x4 reinterprets the bits of a Uint16x16 vector as a Uint64x4 vector
  9583  //
  9584  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9585  //
  9586  //go:fix inline
  9587  func (x Uint16x16) AsUint64x4() Uint64x4 {
  9588  	return x.ReshapeToUint64s()
  9589  }
  9590  
  9591  // ReshapeToUint64s reinterprets the bits of a Uint16x16 vector as a Uint64x4 vector
  9592  func (x Uint16x16) ReshapeToUint64s() Uint64x4
  9593  
  9594  // AsFloat32x16 reinterprets the bits of a Uint16x32 vector as a Float32x16 vector
  9595  //
  9596  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9597  //
  9598  //go:fix inline
  9599  func (x Uint16x32) AsFloat32x16() Float32x16 {
  9600  	return x.ReshapeToUint32s().BitsToFloat32()
  9601  }
  9602  
  9603  // AsFloat64x8 reinterprets the bits of a Uint16x32 vector as a Float64x8 vector
  9604  //
  9605  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9606  //
  9607  //go:fix inline
  9608  func (x Uint16x32) AsFloat64x8() Float64x8 {
  9609  	return x.ReshapeToUint64s().BitsToFloat64()
  9610  }
  9611  
  9612  // AsInt8x64 reinterprets the bits of a Uint16x32 vector as a Int8x64 vector
  9613  //
  9614  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9615  //
  9616  //go:fix inline
  9617  func (x Uint16x32) AsInt8x64() Int8x64 {
  9618  	return x.ReshapeToUint8s().BitsToInt8()
  9619  }
  9620  
  9621  // AsInt16x32 reinterprets the bits of a Uint16x32 vector as a Int16x32 vector
  9622  //
  9623  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9624  //
  9625  //go:fix inline
  9626  func (x Uint16x32) AsInt16x32() Int16x32 {
  9627  	return x.BitsToInt16()
  9628  }
  9629  
  9630  // BitsToInt16 reinterprets the bits of a Uint16x32 vector as a Int16x32 vector
  9631  func (x Uint16x32) BitsToInt16() Int16x32
  9632  
  9633  // ConvertToInt16 converts a Uint16x32 vector to a Int16x32 vector
  9634  func (x Uint16x32) ConvertToInt16() Int16x32
  9635  
  9636  // ConvertToUint16 converts a Int16x32 vector to a Uint16x32 vector
  9637  func (x Int16x32) ConvertToUint16() Uint16x32
  9638  
  9639  // ToBits reinterprets the bits of a Int16x32 vector as a Uint16x32 vector
  9640  func (x Int16x32) ToBits() Uint16x32
  9641  
  9642  // AsInt32x16 reinterprets the bits of a Uint16x32 vector as a Int32x16 vector
  9643  //
  9644  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9645  //
  9646  //go:fix inline
  9647  func (x Uint16x32) AsInt32x16() Int32x16 {
  9648  	return x.ReshapeToUint32s().BitsToInt32()
  9649  }
  9650  
  9651  // AsInt64x8 reinterprets the bits of a Uint16x32 vector as a Int64x8 vector
  9652  //
  9653  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9654  //
  9655  //go:fix inline
  9656  func (x Uint16x32) AsInt64x8() Int64x8 {
  9657  	return x.ReshapeToUint64s().BitsToInt64()
  9658  }
  9659  
  9660  // AsUint8x64 reinterprets the bits of a Uint16x32 vector as a Uint8x64 vector
  9661  //
  9662  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9663  //
  9664  //go:fix inline
  9665  func (x Uint16x32) AsUint8x64() Uint8x64 {
  9666  	return x.ReshapeToUint8s()
  9667  }
  9668  
  9669  // ReshapeToUint8s reinterprets the bits of a Uint16x32 vector as a Uint8x64 vector
  9670  func (x Uint16x32) ReshapeToUint8s() Uint8x64
  9671  
  9672  // AsUint32x16 reinterprets the bits of a Uint16x32 vector as a Uint32x16 vector
  9673  //
  9674  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9675  //
  9676  //go:fix inline
  9677  func (x Uint16x32) AsUint32x16() Uint32x16 {
  9678  	return x.ReshapeToUint32s()
  9679  }
  9680  
  9681  // ReshapeToUint32s reinterprets the bits of a Uint16x32 vector as a Uint32x16 vector
  9682  func (x Uint16x32) ReshapeToUint32s() Uint32x16
  9683  
  9684  // AsUint64x8 reinterprets the bits of a Uint16x32 vector as a Uint64x8 vector
  9685  //
  9686  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9687  //
  9688  //go:fix inline
  9689  func (x Uint16x32) AsUint64x8() Uint64x8 {
  9690  	return x.ReshapeToUint64s()
  9691  }
  9692  
  9693  // ReshapeToUint64s reinterprets the bits of a Uint16x32 vector as a Uint64x8 vector
  9694  func (x Uint16x32) ReshapeToUint64s() Uint64x8
  9695  
  9696  // AsFloat32x4 reinterprets the bits of a Uint32x4 vector as a Float32x4 vector
  9697  //
  9698  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9699  //
  9700  //go:fix inline
  9701  func (x Uint32x4) AsFloat32x4() Float32x4 {
  9702  	return x.BitsToFloat32()
  9703  }
  9704  
  9705  // BitsToFloat32 reinterprets the bits of a Uint32x4 vector as a Float32x4 vector
  9706  func (x Uint32x4) BitsToFloat32() Float32x4
  9707  
  9708  // ToBits reinterprets the bits of a Float32x4 vector as a Uint32x4 vector
  9709  func (x Float32x4) ToBits() Uint32x4
  9710  
  9711  // AsFloat64x2 reinterprets the bits of a Uint32x4 vector as a Float64x2 vector
  9712  //
  9713  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9714  //
  9715  //go:fix inline
  9716  func (x Uint32x4) AsFloat64x2() Float64x2 {
  9717  	return x.ReshapeToUint64s().BitsToFloat64()
  9718  }
  9719  
  9720  // AsInt8x16 reinterprets the bits of a Uint32x4 vector as a Int8x16 vector
  9721  //
  9722  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9723  //
  9724  //go:fix inline
  9725  func (x Uint32x4) AsInt8x16() Int8x16 {
  9726  	return x.ReshapeToUint8s().BitsToInt8()
  9727  }
  9728  
  9729  // AsInt16x8 reinterprets the bits of a Uint32x4 vector as a Int16x8 vector
  9730  //
  9731  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9732  //
  9733  //go:fix inline
  9734  func (x Uint32x4) AsInt16x8() Int16x8 {
  9735  	return x.ReshapeToUint16s().BitsToInt16()
  9736  }
  9737  
  9738  // AsInt32x4 reinterprets the bits of a Uint32x4 vector as a Int32x4 vector
  9739  //
  9740  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9741  //
  9742  //go:fix inline
  9743  func (x Uint32x4) AsInt32x4() Int32x4 {
  9744  	return x.BitsToInt32()
  9745  }
  9746  
  9747  // BitsToInt32 reinterprets the bits of a Uint32x4 vector as a Int32x4 vector
  9748  func (x Uint32x4) BitsToInt32() Int32x4
  9749  
  9750  // ConvertToInt32 converts a Uint32x4 vector to a Int32x4 vector
  9751  func (x Uint32x4) ConvertToInt32() Int32x4
  9752  
  9753  // ConvertToUint32 converts a Int32x4 vector to a Uint32x4 vector
  9754  func (x Int32x4) ConvertToUint32() Uint32x4
  9755  
  9756  // ToBits reinterprets the bits of a Int32x4 vector as a Uint32x4 vector
  9757  func (x Int32x4) ToBits() Uint32x4
  9758  
  9759  // AsInt64x2 reinterprets the bits of a Uint32x4 vector as a Int64x2 vector
  9760  //
  9761  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9762  //
  9763  //go:fix inline
  9764  func (x Uint32x4) AsInt64x2() Int64x2 {
  9765  	return x.ReshapeToUint64s().BitsToInt64()
  9766  }
  9767  
  9768  // AsUint8x16 reinterprets the bits of a Uint32x4 vector as a Uint8x16 vector
  9769  //
  9770  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9771  //
  9772  //go:fix inline
  9773  func (x Uint32x4) AsUint8x16() Uint8x16 {
  9774  	return x.ReshapeToUint8s()
  9775  }
  9776  
  9777  // ReshapeToUint8s reinterprets the bits of a Uint32x4 vector as a Uint8x16 vector
  9778  func (x Uint32x4) ReshapeToUint8s() Uint8x16
  9779  
  9780  // AsUint16x8 reinterprets the bits of a Uint32x4 vector as a Uint16x8 vector
  9781  //
  9782  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9783  //
  9784  //go:fix inline
  9785  func (x Uint32x4) AsUint16x8() Uint16x8 {
  9786  	return x.ReshapeToUint16s()
  9787  }
  9788  
  9789  // ReshapeToUint16s reinterprets the bits of a Uint32x4 vector as a Uint16x8 vector
  9790  func (x Uint32x4) ReshapeToUint16s() Uint16x8
  9791  
  9792  // AsUint64x2 reinterprets the bits of a Uint32x4 vector as a Uint64x2 vector
  9793  //
  9794  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9795  //
  9796  //go:fix inline
  9797  func (x Uint32x4) AsUint64x2() Uint64x2 {
  9798  	return x.ReshapeToUint64s()
  9799  }
  9800  
  9801  // ReshapeToUint64s reinterprets the bits of a Uint32x4 vector as a Uint64x2 vector
  9802  func (x Uint32x4) ReshapeToUint64s() Uint64x2
  9803  
  9804  // AsFloat32x8 reinterprets the bits of a Uint32x8 vector as a Float32x8 vector
  9805  //
  9806  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9807  //
  9808  //go:fix inline
  9809  func (x Uint32x8) AsFloat32x8() Float32x8 {
  9810  	return x.BitsToFloat32()
  9811  }
  9812  
  9813  // BitsToFloat32 reinterprets the bits of a Uint32x8 vector as a Float32x8 vector
  9814  func (x Uint32x8) BitsToFloat32() Float32x8
  9815  
  9816  // ToBits reinterprets the bits of a Float32x8 vector as a Uint32x8 vector
  9817  func (x Float32x8) ToBits() Uint32x8
  9818  
  9819  // AsFloat64x4 reinterprets the bits of a Uint32x8 vector as a Float64x4 vector
  9820  //
  9821  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9822  //
  9823  //go:fix inline
  9824  func (x Uint32x8) AsFloat64x4() Float64x4 {
  9825  	return x.ReshapeToUint64s().BitsToFloat64()
  9826  }
  9827  
  9828  // AsInt8x32 reinterprets the bits of a Uint32x8 vector as a Int8x32 vector
  9829  //
  9830  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9831  //
  9832  //go:fix inline
  9833  func (x Uint32x8) AsInt8x32() Int8x32 {
  9834  	return x.ReshapeToUint8s().BitsToInt8()
  9835  }
  9836  
  9837  // AsInt16x16 reinterprets the bits of a Uint32x8 vector as a Int16x16 vector
  9838  //
  9839  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9840  //
  9841  //go:fix inline
  9842  func (x Uint32x8) AsInt16x16() Int16x16 {
  9843  	return x.ReshapeToUint16s().BitsToInt16()
  9844  }
  9845  
  9846  // AsInt32x8 reinterprets the bits of a Uint32x8 vector as a Int32x8 vector
  9847  //
  9848  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9849  //
  9850  //go:fix inline
  9851  func (x Uint32x8) AsInt32x8() Int32x8 {
  9852  	return x.BitsToInt32()
  9853  }
  9854  
  9855  // BitsToInt32 reinterprets the bits of a Uint32x8 vector as a Int32x8 vector
  9856  func (x Uint32x8) BitsToInt32() Int32x8
  9857  
  9858  // ConvertToInt32 converts a Uint32x8 vector to a Int32x8 vector
  9859  func (x Uint32x8) ConvertToInt32() Int32x8
  9860  
  9861  // ConvertToUint32 converts a Int32x8 vector to a Uint32x8 vector
  9862  func (x Int32x8) ConvertToUint32() Uint32x8
  9863  
  9864  // ToBits reinterprets the bits of a Int32x8 vector as a Uint32x8 vector
  9865  func (x Int32x8) ToBits() Uint32x8
  9866  
  9867  // AsInt64x4 reinterprets the bits of a Uint32x8 vector as a Int64x4 vector
  9868  //
  9869  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9870  //
  9871  //go:fix inline
  9872  func (x Uint32x8) AsInt64x4() Int64x4 {
  9873  	return x.ReshapeToUint64s().BitsToInt64()
  9874  }
  9875  
  9876  // AsUint8x32 reinterprets the bits of a Uint32x8 vector as a Uint8x32 vector
  9877  //
  9878  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9879  //
  9880  //go:fix inline
  9881  func (x Uint32x8) AsUint8x32() Uint8x32 {
  9882  	return x.ReshapeToUint8s()
  9883  }
  9884  
  9885  // ReshapeToUint8s reinterprets the bits of a Uint32x8 vector as a Uint8x32 vector
  9886  func (x Uint32x8) ReshapeToUint8s() Uint8x32
  9887  
  9888  // AsUint16x16 reinterprets the bits of a Uint32x8 vector as a Uint16x16 vector
  9889  //
  9890  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9891  //
  9892  //go:fix inline
  9893  func (x Uint32x8) AsUint16x16() Uint16x16 {
  9894  	return x.ReshapeToUint16s()
  9895  }
  9896  
  9897  // ReshapeToUint16s reinterprets the bits of a Uint32x8 vector as a Uint16x16 vector
  9898  func (x Uint32x8) ReshapeToUint16s() Uint16x16
  9899  
  9900  // AsUint64x4 reinterprets the bits of a Uint32x8 vector as a Uint64x4 vector
  9901  //
  9902  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9903  //
  9904  //go:fix inline
  9905  func (x Uint32x8) AsUint64x4() Uint64x4 {
  9906  	return x.ReshapeToUint64s()
  9907  }
  9908  
  9909  // ReshapeToUint64s reinterprets the bits of a Uint32x8 vector as a Uint64x4 vector
  9910  func (x Uint32x8) ReshapeToUint64s() Uint64x4
  9911  
  9912  // AsFloat32x16 reinterprets the bits of a Uint32x16 vector as a Float32x16 vector
  9913  //
  9914  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9915  //
  9916  //go:fix inline
  9917  func (x Uint32x16) AsFloat32x16() Float32x16 {
  9918  	return x.BitsToFloat32()
  9919  }
  9920  
  9921  // BitsToFloat32 reinterprets the bits of a Uint32x16 vector as a Float32x16 vector
  9922  func (x Uint32x16) BitsToFloat32() Float32x16
  9923  
  9924  // ToBits reinterprets the bits of a Float32x16 vector as a Uint32x16 vector
  9925  func (x Float32x16) ToBits() Uint32x16
  9926  
  9927  // AsFloat64x8 reinterprets the bits of a Uint32x16 vector as a Float64x8 vector
  9928  //
  9929  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9930  //
  9931  //go:fix inline
  9932  func (x Uint32x16) AsFloat64x8() Float64x8 {
  9933  	return x.ReshapeToUint64s().BitsToFloat64()
  9934  }
  9935  
  9936  // AsInt8x64 reinterprets the bits of a Uint32x16 vector as a Int8x64 vector
  9937  //
  9938  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9939  //
  9940  //go:fix inline
  9941  func (x Uint32x16) AsInt8x64() Int8x64 {
  9942  	return x.ReshapeToUint8s().BitsToInt8()
  9943  }
  9944  
  9945  // AsInt16x32 reinterprets the bits of a Uint32x16 vector as a Int16x32 vector
  9946  //
  9947  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9948  //
  9949  //go:fix inline
  9950  func (x Uint32x16) AsInt16x32() Int16x32 {
  9951  	return x.ReshapeToUint16s().BitsToInt16()
  9952  }
  9953  
  9954  // AsInt32x16 reinterprets the bits of a Uint32x16 vector as a Int32x16 vector
  9955  //
  9956  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9957  //
  9958  //go:fix inline
  9959  func (x Uint32x16) AsInt32x16() Int32x16 {
  9960  	return x.BitsToInt32()
  9961  }
  9962  
  9963  // BitsToInt32 reinterprets the bits of a Uint32x16 vector as a Int32x16 vector
  9964  func (x Uint32x16) BitsToInt32() Int32x16
  9965  
  9966  // ConvertToInt32 converts a Uint32x16 vector to a Int32x16 vector
  9967  func (x Uint32x16) ConvertToInt32() Int32x16
  9968  
  9969  // ConvertToUint32 converts a Int32x16 vector to a Uint32x16 vector
  9970  func (x Int32x16) ConvertToUint32() Uint32x16
  9971  
  9972  // ToBits reinterprets the bits of a Int32x16 vector as a Uint32x16 vector
  9973  func (x Int32x16) ToBits() Uint32x16
  9974  
  9975  // AsInt64x8 reinterprets the bits of a Uint32x16 vector as a Int64x8 vector
  9976  //
  9977  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9978  //
  9979  //go:fix inline
  9980  func (x Uint32x16) AsInt64x8() Int64x8 {
  9981  	return x.ReshapeToUint64s().BitsToInt64()
  9982  }
  9983  
  9984  // AsUint8x64 reinterprets the bits of a Uint32x16 vector as a Uint8x64 vector
  9985  //
  9986  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9987  //
  9988  //go:fix inline
  9989  func (x Uint32x16) AsUint8x64() Uint8x64 {
  9990  	return x.ReshapeToUint8s()
  9991  }
  9992  
  9993  // ReshapeToUint8s reinterprets the bits of a Uint32x16 vector as a Uint8x64 vector
  9994  func (x Uint32x16) ReshapeToUint8s() Uint8x64
  9995  
  9996  // AsUint16x32 reinterprets the bits of a Uint32x16 vector as a Uint16x32 vector
  9997  //
  9998  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
  9999  //
 10000  //go:fix inline
 10001  func (x Uint32x16) AsUint16x32() Uint16x32 {
 10002  	return x.ReshapeToUint16s()
 10003  }
 10004  
 10005  // ReshapeToUint16s reinterprets the bits of a Uint32x16 vector as a Uint16x32 vector
 10006  func (x Uint32x16) ReshapeToUint16s() Uint16x32
 10007  
 10008  // AsUint64x8 reinterprets the bits of a Uint32x16 vector as a Uint64x8 vector
 10009  //
 10010  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
 10011  //
 10012  //go:fix inline
 10013  func (x Uint32x16) AsUint64x8() Uint64x8 {
 10014  	return x.ReshapeToUint64s()
 10015  }
 10016  
 10017  // ReshapeToUint64s reinterprets the bits of a Uint32x16 vector as a Uint64x8 vector
 10018  func (x Uint32x16) ReshapeToUint64s() Uint64x8
 10019  
 10020  // AsFloat32x4 reinterprets the bits of a Uint64x2 vector as a Float32x4 vector
 10021  //
 10022  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
 10023  //
 10024  //go:fix inline
 10025  func (x Uint64x2) AsFloat32x4() Float32x4 {
 10026  	return x.ReshapeToUint32s().BitsToFloat32()
 10027  }
 10028  
 10029  // AsFloat64x2 reinterprets the bits of a Uint64x2 vector as a Float64x2 vector
 10030  //
 10031  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
 10032  //
 10033  //go:fix inline
 10034  func (x Uint64x2) AsFloat64x2() Float64x2 {
 10035  	return x.BitsToFloat64()
 10036  }
 10037  
 10038  // BitsToFloat64 reinterprets the bits of a Uint64x2 vector as a Float64x2 vector
 10039  func (x Uint64x2) BitsToFloat64() Float64x2
 10040  
 10041  // ToBits reinterprets the bits of a Float64x2 vector as a Uint64x2 vector
 10042  func (x Float64x2) ToBits() Uint64x2
 10043  
 10044  // AsInt8x16 reinterprets the bits of a Uint64x2 vector as a Int8x16 vector
 10045  //
 10046  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
 10047  //
 10048  //go:fix inline
 10049  func (x Uint64x2) AsInt8x16() Int8x16 {
 10050  	return x.ReshapeToUint8s().BitsToInt8()
 10051  }
 10052  
 10053  // AsInt16x8 reinterprets the bits of a Uint64x2 vector as a Int16x8 vector
 10054  //
 10055  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
 10056  //
 10057  //go:fix inline
 10058  func (x Uint64x2) AsInt16x8() Int16x8 {
 10059  	return x.ReshapeToUint16s().BitsToInt16()
 10060  }
 10061  
 10062  // AsInt32x4 reinterprets the bits of a Uint64x2 vector as a Int32x4 vector
 10063  //
 10064  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
 10065  //
 10066  //go:fix inline
 10067  func (x Uint64x2) AsInt32x4() Int32x4 {
 10068  	return x.ReshapeToUint32s().BitsToInt32()
 10069  }
 10070  
 10071  // AsInt64x2 reinterprets the bits of a Uint64x2 vector as a Int64x2 vector
 10072  //
 10073  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
 10074  //
 10075  //go:fix inline
 10076  func (x Uint64x2) AsInt64x2() Int64x2 {
 10077  	return x.BitsToInt64()
 10078  }
 10079  
 10080  // BitsToInt64 reinterprets the bits of a Uint64x2 vector as a Int64x2 vector
 10081  func (x Uint64x2) BitsToInt64() Int64x2
 10082  
 10083  // ConvertToInt64 converts a Uint64x2 vector to a Int64x2 vector
 10084  func (x Uint64x2) ConvertToInt64() Int64x2
 10085  
 10086  // ConvertToUint64 converts a Int64x2 vector to a Uint64x2 vector
 10087  func (x Int64x2) ConvertToUint64() Uint64x2
 10088  
 10089  // ToBits reinterprets the bits of a Int64x2 vector as a Uint64x2 vector
 10090  func (x Int64x2) ToBits() Uint64x2
 10091  
 10092  // AsUint8x16 reinterprets the bits of a Uint64x2 vector as a Uint8x16 vector
 10093  //
 10094  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
 10095  //
 10096  //go:fix inline
 10097  func (x Uint64x2) AsUint8x16() Uint8x16 {
 10098  	return x.ReshapeToUint8s()
 10099  }
 10100  
 10101  // ReshapeToUint8s reinterprets the bits of a Uint64x2 vector as a Uint8x16 vector
 10102  func (x Uint64x2) ReshapeToUint8s() Uint8x16
 10103  
 10104  // AsUint16x8 reinterprets the bits of a Uint64x2 vector as a Uint16x8 vector
 10105  //
 10106  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
 10107  //
 10108  //go:fix inline
 10109  func (x Uint64x2) AsUint16x8() Uint16x8 {
 10110  	return x.ReshapeToUint16s()
 10111  }
 10112  
 10113  // ReshapeToUint16s reinterprets the bits of a Uint64x2 vector as a Uint16x8 vector
 10114  func (x Uint64x2) ReshapeToUint16s() Uint16x8
 10115  
 10116  // AsUint32x4 reinterprets the bits of a Uint64x2 vector as a Uint32x4 vector
 10117  //
 10118  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
 10119  //
 10120  //go:fix inline
 10121  func (x Uint64x2) AsUint32x4() Uint32x4 {
 10122  	return x.ReshapeToUint32s()
 10123  }
 10124  
 10125  // ReshapeToUint32s reinterprets the bits of a Uint64x2 vector as a Uint32x4 vector
 10126  func (x Uint64x2) ReshapeToUint32s() Uint32x4
 10127  
 10128  // AsFloat32x8 reinterprets the bits of a Uint64x4 vector as a Float32x8 vector
 10129  //
 10130  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
 10131  //
 10132  //go:fix inline
 10133  func (x Uint64x4) AsFloat32x8() Float32x8 {
 10134  	return x.ReshapeToUint32s().BitsToFloat32()
 10135  }
 10136  
 10137  // AsFloat64x4 reinterprets the bits of a Uint64x4 vector as a Float64x4 vector
 10138  //
 10139  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
 10140  //
 10141  //go:fix inline
 10142  func (x Uint64x4) AsFloat64x4() Float64x4 {
 10143  	return x.BitsToFloat64()
 10144  }
 10145  
 10146  // BitsToFloat64 reinterprets the bits of a Uint64x4 vector as a Float64x4 vector
 10147  func (x Uint64x4) BitsToFloat64() Float64x4
 10148  
 10149  // ToBits reinterprets the bits of a Float64x4 vector as a Uint64x4 vector
 10150  func (x Float64x4) ToBits() Uint64x4
 10151  
 10152  // AsInt8x32 reinterprets the bits of a Uint64x4 vector as a Int8x32 vector
 10153  //
 10154  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
 10155  //
 10156  //go:fix inline
 10157  func (x Uint64x4) AsInt8x32() Int8x32 {
 10158  	return x.ReshapeToUint8s().BitsToInt8()
 10159  }
 10160  
 10161  // AsInt16x16 reinterprets the bits of a Uint64x4 vector as a Int16x16 vector
 10162  //
 10163  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
 10164  //
 10165  //go:fix inline
 10166  func (x Uint64x4) AsInt16x16() Int16x16 {
 10167  	return x.ReshapeToUint16s().BitsToInt16()
 10168  }
 10169  
 10170  // AsInt32x8 reinterprets the bits of a Uint64x4 vector as a Int32x8 vector
 10171  //
 10172  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
 10173  //
 10174  //go:fix inline
 10175  func (x Uint64x4) AsInt32x8() Int32x8 {
 10176  	return x.ReshapeToUint32s().BitsToInt32()
 10177  }
 10178  
 10179  // AsInt64x4 reinterprets the bits of a Uint64x4 vector as a Int64x4 vector
 10180  //
 10181  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
 10182  //
 10183  //go:fix inline
 10184  func (x Uint64x4) AsInt64x4() Int64x4 {
 10185  	return x.BitsToInt64()
 10186  }
 10187  
 10188  // BitsToInt64 reinterprets the bits of a Uint64x4 vector as a Int64x4 vector
 10189  func (x Uint64x4) BitsToInt64() Int64x4
 10190  
 10191  // ConvertToInt64 converts a Uint64x4 vector to a Int64x4 vector
 10192  func (x Uint64x4) ConvertToInt64() Int64x4
 10193  
 10194  // ConvertToUint64 converts a Int64x4 vector to a Uint64x4 vector
 10195  func (x Int64x4) ConvertToUint64() Uint64x4
 10196  
 10197  // ToBits reinterprets the bits of a Int64x4 vector as a Uint64x4 vector
 10198  func (x Int64x4) ToBits() Uint64x4
 10199  
 10200  // AsUint8x32 reinterprets the bits of a Uint64x4 vector as a Uint8x32 vector
 10201  //
 10202  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
 10203  //
 10204  //go:fix inline
 10205  func (x Uint64x4) AsUint8x32() Uint8x32 {
 10206  	return x.ReshapeToUint8s()
 10207  }
 10208  
 10209  // ReshapeToUint8s reinterprets the bits of a Uint64x4 vector as a Uint8x32 vector
 10210  func (x Uint64x4) ReshapeToUint8s() Uint8x32
 10211  
 10212  // AsUint16x16 reinterprets the bits of a Uint64x4 vector as a Uint16x16 vector
 10213  //
 10214  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
 10215  //
 10216  //go:fix inline
 10217  func (x Uint64x4) AsUint16x16() Uint16x16 {
 10218  	return x.ReshapeToUint16s()
 10219  }
 10220  
 10221  // ReshapeToUint16s reinterprets the bits of a Uint64x4 vector as a Uint16x16 vector
 10222  func (x Uint64x4) ReshapeToUint16s() Uint16x16
 10223  
 10224  // AsUint32x8 reinterprets the bits of a Uint64x4 vector as a Uint32x8 vector
 10225  //
 10226  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
 10227  //
 10228  //go:fix inline
 10229  func (x Uint64x4) AsUint32x8() Uint32x8 {
 10230  	return x.ReshapeToUint32s()
 10231  }
 10232  
 10233  // ReshapeToUint32s reinterprets the bits of a Uint64x4 vector as a Uint32x8 vector
 10234  func (x Uint64x4) ReshapeToUint32s() Uint32x8
 10235  
 10236  // AsFloat32x16 reinterprets the bits of a Uint64x8 vector as a Float32x16 vector
 10237  //
 10238  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
 10239  //
 10240  //go:fix inline
 10241  func (x Uint64x8) AsFloat32x16() Float32x16 {
 10242  	return x.ReshapeToUint32s().BitsToFloat32()
 10243  }
 10244  
 10245  // AsFloat64x8 reinterprets the bits of a Uint64x8 vector as a Float64x8 vector
 10246  //
 10247  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
 10248  //
 10249  //go:fix inline
 10250  func (x Uint64x8) AsFloat64x8() Float64x8 {
 10251  	return x.BitsToFloat64()
 10252  }
 10253  
 10254  // BitsToFloat64 reinterprets the bits of a Uint64x8 vector as a Float64x8 vector
 10255  func (x Uint64x8) BitsToFloat64() Float64x8
 10256  
 10257  // ToBits reinterprets the bits of a Float64x8 vector as a Uint64x8 vector
 10258  func (x Float64x8) ToBits() Uint64x8
 10259  
 10260  // AsInt8x64 reinterprets the bits of a Uint64x8 vector as a Int8x64 vector
 10261  //
 10262  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
 10263  //
 10264  //go:fix inline
 10265  func (x Uint64x8) AsInt8x64() Int8x64 {
 10266  	return x.ReshapeToUint8s().BitsToInt8()
 10267  }
 10268  
 10269  // AsInt16x32 reinterprets the bits of a Uint64x8 vector as a Int16x32 vector
 10270  //
 10271  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
 10272  //
 10273  //go:fix inline
 10274  func (x Uint64x8) AsInt16x32() Int16x32 {
 10275  	return x.ReshapeToUint16s().BitsToInt16()
 10276  }
 10277  
 10278  // AsInt32x16 reinterprets the bits of a Uint64x8 vector as a Int32x16 vector
 10279  //
 10280  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
 10281  //
 10282  //go:fix inline
 10283  func (x Uint64x8) AsInt32x16() Int32x16 {
 10284  	return x.ReshapeToUint32s().BitsToInt32()
 10285  }
 10286  
 10287  // AsInt64x8 reinterprets the bits of a Uint64x8 vector as a Int64x8 vector
 10288  //
 10289  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
 10290  //
 10291  //go:fix inline
 10292  func (x Uint64x8) AsInt64x8() Int64x8 {
 10293  	return x.BitsToInt64()
 10294  }
 10295  
 10296  // BitsToInt64 reinterprets the bits of a Uint64x8 vector as a Int64x8 vector
 10297  func (x Uint64x8) BitsToInt64() Int64x8
 10298  
 10299  // ConvertToInt64 converts a Uint64x8 vector to a Int64x8 vector
 10300  func (x Uint64x8) ConvertToInt64() Int64x8
 10301  
 10302  // ConvertToUint64 converts a Int64x8 vector to a Uint64x8 vector
 10303  func (x Int64x8) ConvertToUint64() Uint64x8
 10304  
 10305  // ToBits reinterprets the bits of a Int64x8 vector as a Uint64x8 vector
 10306  func (x Int64x8) ToBits() Uint64x8
 10307  
 10308  // AsUint8x64 reinterprets the bits of a Uint64x8 vector as a Uint8x64 vector
 10309  //
 10310  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
 10311  //
 10312  //go:fix inline
 10313  func (x Uint64x8) AsUint8x64() Uint8x64 {
 10314  	return x.ReshapeToUint8s()
 10315  }
 10316  
 10317  // ReshapeToUint8s reinterprets the bits of a Uint64x8 vector as a Uint8x64 vector
 10318  func (x Uint64x8) ReshapeToUint8s() Uint8x64
 10319  
 10320  // AsUint16x32 reinterprets the bits of a Uint64x8 vector as a Uint16x32 vector
 10321  //
 10322  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
 10323  //
 10324  //go:fix inline
 10325  func (x Uint64x8) AsUint16x32() Uint16x32 {
 10326  	return x.ReshapeToUint16s()
 10327  }
 10328  
 10329  // ReshapeToUint16s reinterprets the bits of a Uint64x8 vector as a Uint16x32 vector
 10330  func (x Uint64x8) ReshapeToUint16s() Uint16x32
 10331  
 10332  // AsUint32x16 reinterprets the bits of a Uint64x8 vector as a Uint32x16 vector
 10333  //
 10334  // Deprecated: use combinations of ToBits, BitsTo{Int<N>,Float<N>}, ReshapeToUint<N>
 10335  //
 10336  //go:fix inline
 10337  func (x Uint64x8) AsUint32x16() Uint32x16 {
 10338  	return x.ReshapeToUint32s()
 10339  }
 10340  
 10341  // ReshapeToUint32s reinterprets the bits of a Uint64x8 vector as a Uint32x16 vector
 10342  func (x Uint64x8) ReshapeToUint32s() Uint32x16
 10343  
 10344  // ToInt8x16 converts from Mask8x16 to Int8x16.
 10345  // If element i in the mask is "true", all bits in element i of the resulting
 10346  // vector will be set.
 10347  func (from Mask8x16) ToInt8x16() (to Int8x16)
 10348  
 10349  // asMask converts from Int8x16 to Mask8x16.
 10350  func (from Int8x16) asMask() (to Mask8x16)
 10351  
 10352  func (x Mask8x16) And(y Mask8x16) Mask8x16
 10353  
 10354  func (x Mask8x16) Or(y Mask8x16) Mask8x16
 10355  
 10356  // ToInt8x32 converts from Mask8x32 to Int8x32.
 10357  // If element i in the mask is "true", all bits in element i of the resulting
 10358  // vector will be set.
 10359  func (from Mask8x32) ToInt8x32() (to Int8x32)
 10360  
 10361  // asMask converts from Int8x32 to Mask8x32.
 10362  func (from Int8x32) asMask() (to Mask8x32)
 10363  
 10364  func (x Mask8x32) And(y Mask8x32) Mask8x32
 10365  
 10366  func (x Mask8x32) Or(y Mask8x32) Mask8x32
 10367  
 10368  // ToInt8x64 converts from Mask8x64 to Int8x64.
 10369  // If element i in the mask is "true", all bits in element i of the resulting
 10370  // vector will be set.
 10371  func (from Mask8x64) ToInt8x64() (to Int8x64)
 10372  
 10373  // asMask converts from Int8x64 to Mask8x64.
 10374  func (from Int8x64) asMask() (to Mask8x64)
 10375  
 10376  func (x Mask8x64) And(y Mask8x64) Mask8x64
 10377  
 10378  func (x Mask8x64) Or(y Mask8x64) Mask8x64
 10379  
 10380  // ToInt16x8 converts from Mask16x8 to Int16x8.
 10381  // If element i in the mask is "true", all bits in element i of the resulting
 10382  // vector will be set.
 10383  func (from Mask16x8) ToInt16x8() (to Int16x8)
 10384  
 10385  // asMask converts from Int16x8 to Mask16x8.
 10386  func (from Int16x8) asMask() (to Mask16x8)
 10387  
 10388  func (x Mask16x8) And(y Mask16x8) Mask16x8
 10389  
 10390  func (x Mask16x8) Or(y Mask16x8) Mask16x8
 10391  
 10392  // ToInt16x16 converts from Mask16x16 to Int16x16.
 10393  // If element i in the mask is "true", all bits in element i of the resulting
 10394  // vector will be set.
 10395  func (from Mask16x16) ToInt16x16() (to Int16x16)
 10396  
 10397  // asMask converts from Int16x16 to Mask16x16.
 10398  func (from Int16x16) asMask() (to Mask16x16)
 10399  
 10400  func (x Mask16x16) And(y Mask16x16) Mask16x16
 10401  
 10402  func (x Mask16x16) Or(y Mask16x16) Mask16x16
 10403  
 10404  // ToInt16x32 converts from Mask16x32 to Int16x32.
 10405  // If element i in the mask is "true", all bits in element i of the resulting
 10406  // vector will be set.
 10407  func (from Mask16x32) ToInt16x32() (to Int16x32)
 10408  
 10409  // asMask converts from Int16x32 to Mask16x32.
 10410  func (from Int16x32) asMask() (to Mask16x32)
 10411  
 10412  func (x Mask16x32) And(y Mask16x32) Mask16x32
 10413  
 10414  func (x Mask16x32) Or(y Mask16x32) Mask16x32
 10415  
 10416  // ToInt32x4 converts from Mask32x4 to Int32x4.
 10417  // If element i in the mask is "true", all bits in element i of the resulting
 10418  // vector will be set.
 10419  func (from Mask32x4) ToInt32x4() (to Int32x4)
 10420  
 10421  // asMask converts from Int32x4 to Mask32x4.
 10422  func (from Int32x4) asMask() (to Mask32x4)
 10423  
 10424  func (x Mask32x4) And(y Mask32x4) Mask32x4
 10425  
 10426  func (x Mask32x4) Or(y Mask32x4) Mask32x4
 10427  
 10428  // ToInt32x8 converts from Mask32x8 to Int32x8.
 10429  // If element i in the mask is "true", all bits in element i of the resulting
 10430  // vector will be set.
 10431  func (from Mask32x8) ToInt32x8() (to Int32x8)
 10432  
 10433  // asMask converts from Int32x8 to Mask32x8.
 10434  func (from Int32x8) asMask() (to Mask32x8)
 10435  
 10436  func (x Mask32x8) And(y Mask32x8) Mask32x8
 10437  
 10438  func (x Mask32x8) Or(y Mask32x8) Mask32x8
 10439  
 10440  // ToInt32x16 converts from Mask32x16 to Int32x16.
 10441  // If element i in the mask is "true", all bits in element i of the resulting
 10442  // vector will be set.
 10443  func (from Mask32x16) ToInt32x16() (to Int32x16)
 10444  
 10445  // asMask converts from Int32x16 to Mask32x16.
 10446  func (from Int32x16) asMask() (to Mask32x16)
 10447  
 10448  func (x Mask32x16) And(y Mask32x16) Mask32x16
 10449  
 10450  func (x Mask32x16) Or(y Mask32x16) Mask32x16
 10451  
 10452  // ToInt64x2 converts from Mask64x2 to Int64x2.
 10453  // If element i in the mask is "true", all bits in element i of the resulting
 10454  // vector will be set.
 10455  func (from Mask64x2) ToInt64x2() (to Int64x2)
 10456  
 10457  // asMask converts from Int64x2 to Mask64x2.
 10458  func (from Int64x2) asMask() (to Mask64x2)
 10459  
 10460  func (x Mask64x2) And(y Mask64x2) Mask64x2
 10461  
 10462  func (x Mask64x2) Or(y Mask64x2) Mask64x2
 10463  
 10464  // ToInt64x4 converts from Mask64x4 to Int64x4.
 10465  // If element i in the mask is "true", all bits in element i of the resulting
 10466  // vector will be set.
 10467  func (from Mask64x4) ToInt64x4() (to Int64x4)
 10468  
 10469  // asMask converts from Int64x4 to Mask64x4.
 10470  func (from Int64x4) asMask() (to Mask64x4)
 10471  
 10472  func (x Mask64x4) And(y Mask64x4) Mask64x4
 10473  
 10474  func (x Mask64x4) Or(y Mask64x4) Mask64x4
 10475  
 10476  // ToInt64x8 converts from Mask64x8 to Int64x8.
 10477  // If element i in the mask is "true", all bits in element i of the resulting
 10478  // vector will be set.
 10479  func (from Mask64x8) ToInt64x8() (to Int64x8)
 10480  
 10481  // asMask converts from Int64x8 to Mask64x8.
 10482  func (from Int64x8) asMask() (to Mask64x8)
 10483  
 10484  func (x Mask64x8) And(y Mask64x8) Mask64x8
 10485  
 10486  func (x Mask64x8) Or(y Mask64x8) Mask64x8
 10487  

View as plain text