...

Source file src/cmd/internal/obj/x86/avx_optabs.go

Documentation: cmd/internal/obj/x86

     1  // Code generated by x86avxgen. DO NOT EDIT.
     2  
     3  package x86
     4  
     5  // VEX instructions that come in two forms:
     6  //	VTHING xmm2/m128, xmmV, xmm1
     7  //	VTHING ymm2/m256, ymmV, ymm1
     8  //
     9  // The opcode array in the corresponding Optab entry
    10  // should contain the (VEX prefixes, opcode byte) pair
    11  // for each of the two forms.
    12  // For example, the entries for VPXOR are:
    13  //
    14  //	VPXOR xmm2/m128, xmmV, xmm1
    15  //	VEX.NDS.128.66.0F.WIG EF /r
    16  //
    17  //	VPXOR ymm2/m256, ymmV, ymm1
    18  //	VEX.NDS.256.66.0F.WIG EF /r
    19  //
    20  // Produce this optab entry:
    21  //
    22  //	{AVPXOR, yvex_xy3, Pavx, opBytes{vex128|vex66|vex0F|vexWIG, 0xEF, vex256|vex66|vex0F|vexWIG, 0xEF}}
    23  //
    24  // VEX requires at least 2 bytes inside opBytes:
    25  //	- VEX prefixes (vex-prefixed constants)
    26  //	- Opcode byte
    27  //
    28  // EVEX instructions extend VEX form variety:
    29  //	VTHING zmm2/m512, zmmV, zmm1    -- implicit K0 (merging)
    30  //	VTHING zmm2/m512, zmmV, K, zmm1 -- explicit K mask (can't use K0)
    31  //
    32  // EVEX requires at least 3 bytes inside opBytes:
    33  //	- EVEX prefixes (evex-prefixed constants); similar to VEX
    34  //	- Displacement multiplier info (scale / broadcast scale)
    35  //	- Opcode byte; similar to VEX
    36  //
    37  // Both VEX and EVEX instructions may have opdigit (opcode extension) byte
    38  // which follows the primary opcode byte.
    39  // Because it can only have value of 0-7, it is written in octal notation.
    40  //
    41  // x86.csv can be very useful for figuring out proper [E]VEX parts.
    42  
    43  var _yandnl = []ytab{
    44  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yml, Yrl, Yrl}},
    45  }
    46  
    47  var _ybextrl = []ytab{
    48  	{zcase: Zvex_v_rm_r, zoffset: 2, args: argList{Yrl, Yml, Yrl}},
    49  }
    50  
    51  var _yblsil = []ytab{
    52  	{zcase: Zvex_rm_r_vo, zoffset: 3, args: argList{Yml, Yrl}},
    53  }
    54  
    55  var _ykaddb = []ytab{
    56  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yk, Yk, Yk}},
    57  }
    58  
    59  var _ykmovb = []ytab{
    60  	{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yk, Ym}},
    61  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yk, Yrl}},
    62  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Ykm, Yk}},
    63  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yrl, Yk}},
    64  }
    65  
    66  var _yknotb = []ytab{
    67  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yk, Yk}},
    68  }
    69  
    70  var _ykshiftlb = []ytab{
    71  	{zcase: Zvex_i_rm_r, zoffset: 2, args: argList{Yu8, Yk, Yk}},
    72  }
    73  
    74  var _yrorxl = []ytab{
    75  	{zcase: Zvex_i_rm_r, zoffset: 0, args: argList{Yu8, Yml, Yrl}},
    76  	{zcase: Zvex_i_rm_r, zoffset: 2, args: argList{Yi8, Yml, Yrl}},
    77  }
    78  
    79  var _yv4fmaddps = []ytab{
    80  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Ym, YzrMulti4, Yzr}},
    81  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{Ym, YzrMulti4, Yknot0, Yzr}},
    82  }
    83  
    84  var _yv4fmaddss = []ytab{
    85  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Ym, YxrEvexMulti4, YxrEvex}},
    86  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{Ym, YxrEvexMulti4, Yknot0, YxrEvex}},
    87  }
    88  
    89  var _yvaddpd = []ytab{
    90  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr, Yxr}},
    91  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yym, Yyr, Yyr}},
    92  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr, Yzr}},
    93  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{Yzm, Yzr, Yknot0, Yzr}},
    94  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex, YxrEvex}},
    95  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, YxrEvex, Yknot0, YxrEvex}},
    96  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex, YyrEvex}},
    97  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YymEvex, YyrEvex, Yknot0, YyrEvex}},
    98  }
    99  
   100  var _yvaddsd = []ytab{
   101  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr, Yxr}},
   102  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex, YxrEvex}},
   103  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, YxrEvex, Yknot0, YxrEvex}},
   104  }
   105  
   106  var _yvaddsubpd = []ytab{
   107  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr, Yxr}},
   108  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yym, Yyr, Yyr}},
   109  }
   110  
   111  var _yvaesdec = []ytab{
   112  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr, Yxr}},
   113  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yym, Yyr, Yyr}},
   114  	{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{YxmEvex, YxrEvex, YxrEvex}},
   115  	{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{YymEvex, YyrEvex, YyrEvex}},
   116  	{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{Yzm, Yzr, Yzr}},
   117  }
   118  
   119  var _yvaesimc = []ytab{
   120  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr}},
   121  }
   122  
   123  var _yvaeskeygenassist = []ytab{
   124  	{zcase: Zvex_i_rm_r, zoffset: 0, args: argList{Yu8, Yxm, Yxr}},
   125  	{zcase: Zvex_i_rm_r, zoffset: 2, args: argList{Yi8, Yxm, Yxr}},
   126  }
   127  
   128  var _yvalignd = []ytab{
   129  	{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YxmEvex, YxrEvex, YxrEvex}},
   130  	{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YxmEvex, YxrEvex, Yknot0, YxrEvex}},
   131  	{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YymEvex, YyrEvex, YyrEvex}},
   132  	{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YymEvex, YyrEvex, Yknot0, YyrEvex}},
   133  	{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, Yzm, Yzr, Yzr}},
   134  	{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, Yzm, Yzr, Yknot0, Yzr}},
   135  }
   136  
   137  var _yvandnpd = []ytab{
   138  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr, Yxr}},
   139  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yym, Yyr, Yyr}},
   140  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex, YxrEvex}},
   141  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, YxrEvex, Yknot0, YxrEvex}},
   142  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex, YyrEvex}},
   143  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YymEvex, YyrEvex, Yknot0, YyrEvex}},
   144  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr, Yzr}},
   145  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{Yzm, Yzr, Yknot0, Yzr}},
   146  }
   147  
   148  var _yvblendmpd = []ytab{
   149  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex, YxrEvex}},
   150  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, YxrEvex, Yknot0, YxrEvex}},
   151  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex, YyrEvex}},
   152  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YymEvex, YyrEvex, Yknot0, YyrEvex}},
   153  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr, Yzr}},
   154  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{Yzm, Yzr, Yknot0, Yzr}},
   155  }
   156  
   157  var _yvblendpd = []ytab{
   158  	{zcase: Zvex_i_rm_v_r, zoffset: 2, args: argList{Yu8, Yxm, Yxr, Yxr}},
   159  	{zcase: Zvex_i_rm_v_r, zoffset: 2, args: argList{Yu8, Yym, Yyr, Yyr}},
   160  }
   161  
   162  var _yvblendvpd = []ytab{
   163  	{zcase: Zvex_hr_rm_v_r, zoffset: 2, args: argList{Yxr, Yxm, Yxr, Yxr}},
   164  	{zcase: Zvex_hr_rm_v_r, zoffset: 2, args: argList{Yyr, Yym, Yyr, Yyr}},
   165  }
   166  
   167  var _yvbroadcastf128 = []ytab{
   168  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Ym, Yyr}},
   169  }
   170  
   171  var _yvbroadcastf32x2 = []ytab{
   172  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YyrEvex}},
   173  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YyrEvex}},
   174  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, Yzr}},
   175  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, Yzr}},
   176  }
   177  
   178  var _yvbroadcastf32x4 = []ytab{
   179  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Ym, YyrEvex}},
   180  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Ym, Yknot0, YyrEvex}},
   181  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Ym, Yzr}},
   182  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Ym, Yknot0, Yzr}},
   183  }
   184  
   185  var _yvbroadcastf32x8 = []ytab{
   186  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Ym, Yzr}},
   187  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Ym, Yknot0, Yzr}},
   188  }
   189  
   190  var _yvbroadcasti32x2 = []ytab{
   191  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex}},
   192  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YxrEvex}},
   193  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YyrEvex}},
   194  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YyrEvex}},
   195  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, Yzr}},
   196  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, Yzr}},
   197  }
   198  
   199  var _yvbroadcastsd = []ytab{
   200  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yyr}},
   201  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YyrEvex}},
   202  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YyrEvex}},
   203  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, Yzr}},
   204  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, Yzr}},
   205  }
   206  
   207  var _yvbroadcastss = []ytab{
   208  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr}},
   209  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yyr}},
   210  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex}},
   211  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YxrEvex}},
   212  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YyrEvex}},
   213  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YyrEvex}},
   214  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, Yzr}},
   215  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, Yzr}},
   216  }
   217  
   218  var _yvcmppd = []ytab{
   219  	{zcase: Zvex_i_rm_v_r, zoffset: 2, args: argList{Yu8, Yxm, Yxr, Yxr}},
   220  	{zcase: Zvex_i_rm_v_r, zoffset: 2, args: argList{Yu8, Yym, Yyr, Yyr}},
   221  	{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, Yzm, Yzr, Yk}},
   222  	{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, Yzm, Yzr, Yknot0, Yk}},
   223  	{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YxmEvex, YxrEvex, Yk}},
   224  	{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YxmEvex, YxrEvex, Yknot0, Yk}},
   225  	{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YymEvex, YyrEvex, Yk}},
   226  	{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YymEvex, YyrEvex, Yknot0, Yk}},
   227  }
   228  
   229  var _yvcmpsd = []ytab{
   230  	{zcase: Zvex_i_rm_v_r, zoffset: 2, args: argList{Yu8, Yxm, Yxr, Yxr}},
   231  	{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YxmEvex, YxrEvex, Yk}},
   232  	{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YxmEvex, YxrEvex, Yknot0, Yk}},
   233  }
   234  
   235  var _yvcomisd = []ytab{
   236  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr}},
   237  	{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{YxmEvex, YxrEvex}},
   238  }
   239  
   240  var _yvcompresspd = []ytab{
   241  	{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{YxrEvex, YxmEvex}},
   242  	{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YxrEvex, Yknot0, YxmEvex}},
   243  	{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{YyrEvex, YymEvex}},
   244  	{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YyrEvex, Yknot0, YymEvex}},
   245  	{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{Yzr, Yzm}},
   246  	{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{Yzr, Yknot0, Yzm}},
   247  }
   248  
   249  var _yvcvtdq2pd = []ytab{
   250  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr}},
   251  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yyr}},
   252  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex}},
   253  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YxrEvex}},
   254  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YyrEvex}},
   255  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YyrEvex}},
   256  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, Yzr}},
   257  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YymEvex, Yknot0, Yzr}},
   258  }
   259  
   260  var _yvcvtdq2ps = []ytab{
   261  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr}},
   262  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yym, Yyr}},
   263  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr}},
   264  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Yzm, Yknot0, Yzr}},
   265  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex}},
   266  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YxrEvex}},
   267  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex}},
   268  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YymEvex, Yknot0, YyrEvex}},
   269  }
   270  
   271  var _yvcvtpd2dq = []ytab{
   272  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, YyrEvex}},
   273  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Yzm, Yknot0, YyrEvex}},
   274  }
   275  
   276  var _yvcvtpd2dqx = []ytab{
   277  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr}},
   278  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex}},
   279  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YxrEvex}},
   280  }
   281  
   282  var _yvcvtpd2dqy = []ytab{
   283  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yym, Yxr}},
   284  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YxrEvex}},
   285  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YymEvex, Yknot0, YxrEvex}},
   286  }
   287  
   288  var _yvcvtpd2qq = []ytab{
   289  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr}},
   290  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Yzm, Yknot0, Yzr}},
   291  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex}},
   292  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YxrEvex}},
   293  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex}},
   294  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YymEvex, Yknot0, YyrEvex}},
   295  }
   296  
   297  var _yvcvtpd2udqx = []ytab{
   298  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex}},
   299  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YxrEvex}},
   300  }
   301  
   302  var _yvcvtpd2udqy = []ytab{
   303  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YxrEvex}},
   304  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YymEvex, Yknot0, YxrEvex}},
   305  }
   306  
   307  var _yvcvtph2ps = []ytab{
   308  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr}},
   309  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yyr}},
   310  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, Yzr}},
   311  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YymEvex, Yknot0, Yzr}},
   312  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex}},
   313  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YxrEvex}},
   314  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YyrEvex}},
   315  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YyrEvex}},
   316  }
   317  
   318  var _yvcvtps2ph = []ytab{
   319  	{zcase: Zvex_i_r_rm, zoffset: 0, args: argList{Yu8, Yxr, Yxm}},
   320  	{zcase: Zvex_i_r_rm, zoffset: 2, args: argList{Yi8, Yxr, Yxm}},
   321  	{zcase: Zvex_i_r_rm, zoffset: 0, args: argList{Yu8, Yyr, Yxm}},
   322  	{zcase: Zvex_i_r_rm, zoffset: 2, args: argList{Yi8, Yyr, Yxm}},
   323  	{zcase: Zevex_i_r_rm, zoffset: 0, args: argList{Yu8, Yzr, YymEvex}},
   324  	{zcase: Zevex_i_r_k_rm, zoffset: 3, args: argList{Yu8, Yzr, Yknot0, YymEvex}},
   325  	{zcase: Zevex_i_r_rm, zoffset: 0, args: argList{Yu8, YxrEvex, YxmEvex}},
   326  	{zcase: Zevex_i_r_k_rm, zoffset: 3, args: argList{Yu8, YxrEvex, Yknot0, YxmEvex}},
   327  	{zcase: Zevex_i_r_rm, zoffset: 0, args: argList{Yu8, YyrEvex, YxmEvex}},
   328  	{zcase: Zevex_i_r_k_rm, zoffset: 3, args: argList{Yu8, YyrEvex, Yknot0, YxmEvex}},
   329  }
   330  
   331  var _yvcvtps2qq = []ytab{
   332  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, Yzr}},
   333  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YymEvex, Yknot0, Yzr}},
   334  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex}},
   335  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YxrEvex}},
   336  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YyrEvex}},
   337  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YyrEvex}},
   338  }
   339  
   340  var _yvcvtsd2si = []ytab{
   341  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yrl}},
   342  	{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{YxmEvex, Yrl}},
   343  }
   344  
   345  var _yvcvtsd2usil = []ytab{
   346  	{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{YxmEvex, Yrl}},
   347  }
   348  
   349  var _yvcvtsi2sdl = []ytab{
   350  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yml, Yxr, Yxr}},
   351  	{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{Yml, YxrEvex, YxrEvex}},
   352  }
   353  
   354  var _yvcvtudq2pd = []ytab{
   355  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex}},
   356  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YxrEvex}},
   357  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YyrEvex}},
   358  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YyrEvex}},
   359  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, Yzr}},
   360  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YymEvex, Yknot0, Yzr}},
   361  }
   362  
   363  var _yvcvtusi2sdl = []ytab{
   364  	{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{Yml, YxrEvex, YxrEvex}},
   365  }
   366  
   367  var _yvdppd = []ytab{
   368  	{zcase: Zvex_i_rm_v_r, zoffset: 2, args: argList{Yu8, Yxm, Yxr, Yxr}},
   369  }
   370  
   371  var _yvexp2pd = []ytab{
   372  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr}},
   373  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Yzm, Yknot0, Yzr}},
   374  }
   375  
   376  var _yvexpandpd = []ytab{
   377  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex}},
   378  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YxrEvex}},
   379  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex}},
   380  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YymEvex, Yknot0, YyrEvex}},
   381  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr}},
   382  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Yzm, Yknot0, Yzr}},
   383  }
   384  
   385  var _yvextractf128 = []ytab{
   386  	{zcase: Zvex_i_r_rm, zoffset: 0, args: argList{Yu8, Yyr, Yxm}},
   387  	{zcase: Zvex_i_r_rm, zoffset: 2, args: argList{Yi8, Yyr, Yxm}},
   388  }
   389  
   390  var _yvextractf32x4 = []ytab{
   391  	{zcase: Zevex_i_r_rm, zoffset: 0, args: argList{Yu8, YyrEvex, YxmEvex}},
   392  	{zcase: Zevex_i_r_k_rm, zoffset: 3, args: argList{Yu8, YyrEvex, Yknot0, YxmEvex}},
   393  	{zcase: Zevex_i_r_rm, zoffset: 0, args: argList{Yu8, Yzr, YxmEvex}},
   394  	{zcase: Zevex_i_r_k_rm, zoffset: 3, args: argList{Yu8, Yzr, Yknot0, YxmEvex}},
   395  }
   396  
   397  var _yvextractf32x8 = []ytab{
   398  	{zcase: Zevex_i_r_rm, zoffset: 0, args: argList{Yu8, Yzr, YymEvex}},
   399  	{zcase: Zevex_i_r_k_rm, zoffset: 3, args: argList{Yu8, Yzr, Yknot0, YymEvex}},
   400  }
   401  
   402  var _yvextractps = []ytab{
   403  	{zcase: Zvex_i_r_rm, zoffset: 0, args: argList{Yu8, Yxr, Yml}},
   404  	{zcase: Zvex_i_r_rm, zoffset: 2, args: argList{Yi8, Yxr, Yml}},
   405  	{zcase: Zevex_i_r_rm, zoffset: 3, args: argList{Yu8, YxrEvex, Yml}},
   406  }
   407  
   408  var _yvfixupimmpd = []ytab{
   409  	{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, Yzm, Yzr, Yzr}},
   410  	{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, Yzm, Yzr, Yknot0, Yzr}},
   411  	{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YxmEvex, YxrEvex, YxrEvex}},
   412  	{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YxmEvex, YxrEvex, Yknot0, YxrEvex}},
   413  	{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YymEvex, YyrEvex, YyrEvex}},
   414  	{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YymEvex, YyrEvex, Yknot0, YyrEvex}},
   415  }
   416  
   417  var _yvfixupimmsd = []ytab{
   418  	{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YxmEvex, YxrEvex, YxrEvex}},
   419  	{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YxmEvex, YxrEvex, Yknot0, YxrEvex}},
   420  }
   421  
   422  var _yvfpclasspdx = []ytab{
   423  	{zcase: Zevex_i_rm_r, zoffset: 0, args: argList{Yu8, YxmEvex, Yk}},
   424  	{zcase: Zevex_i_rm_k_r, zoffset: 3, args: argList{Yu8, YxmEvex, Yknot0, Yk}},
   425  }
   426  
   427  var _yvfpclasspdy = []ytab{
   428  	{zcase: Zevex_i_rm_r, zoffset: 0, args: argList{Yu8, YymEvex, Yk}},
   429  	{zcase: Zevex_i_rm_k_r, zoffset: 3, args: argList{Yu8, YymEvex, Yknot0, Yk}},
   430  }
   431  
   432  var _yvfpclasspdz = []ytab{
   433  	{zcase: Zevex_i_rm_r, zoffset: 0, args: argList{Yu8, Yzm, Yk}},
   434  	{zcase: Zevex_i_rm_k_r, zoffset: 3, args: argList{Yu8, Yzm, Yknot0, Yk}},
   435  }
   436  
   437  var _yvgatherdpd = []ytab{
   438  	{zcase: Zvex_v_rm_r, zoffset: 2, args: argList{Yxr, Yxvm, Yxr}},
   439  	{zcase: Zvex_v_rm_r, zoffset: 2, args: argList{Yyr, Yxvm, Yyr}},
   440  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxvmEvex, Yknot0, YxrEvex}},
   441  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxvmEvex, Yknot0, YyrEvex}},
   442  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YyvmEvex, Yknot0, Yzr}},
   443  }
   444  
   445  var _yvgatherdps = []ytab{
   446  	{zcase: Zvex_v_rm_r, zoffset: 2, args: argList{Yxr, Yxvm, Yxr}},
   447  	{zcase: Zvex_v_rm_r, zoffset: 2, args: argList{Yyr, Yyvm, Yyr}},
   448  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxvmEvex, Yknot0, YxrEvex}},
   449  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YyvmEvex, Yknot0, YyrEvex}},
   450  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Yzvm, Yknot0, Yzr}},
   451  }
   452  
   453  var _yvgatherpf0dpd = []ytab{
   454  	{zcase: Zevex_k_rmo, zoffset: 4, args: argList{Yknot0, YyvmEvex}},
   455  }
   456  
   457  var _yvgatherpf0dps = []ytab{
   458  	{zcase: Zevex_k_rmo, zoffset: 4, args: argList{Yknot0, Yzvm}},
   459  }
   460  
   461  var _yvgatherqps = []ytab{
   462  	{zcase: Zvex_v_rm_r, zoffset: 2, args: argList{Yxr, Yxvm, Yxr}},
   463  	{zcase: Zvex_v_rm_r, zoffset: 2, args: argList{Yxr, Yyvm, Yxr}},
   464  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxvmEvex, Yknot0, YxrEvex}},
   465  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YyvmEvex, Yknot0, YxrEvex}},
   466  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Yzvm, Yknot0, YyrEvex}},
   467  }
   468  
   469  var _yvgetexpsd = []ytab{
   470  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex, YxrEvex}},
   471  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, YxrEvex, Yknot0, YxrEvex}},
   472  }
   473  
   474  var _yvgetmantpd = []ytab{
   475  	{zcase: Zevex_i_rm_r, zoffset: 0, args: argList{Yu8, Yzm, Yzr}},
   476  	{zcase: Zevex_i_rm_k_r, zoffset: 3, args: argList{Yu8, Yzm, Yknot0, Yzr}},
   477  	{zcase: Zevex_i_rm_r, zoffset: 0, args: argList{Yu8, YxmEvex, YxrEvex}},
   478  	{zcase: Zevex_i_rm_k_r, zoffset: 3, args: argList{Yu8, YxmEvex, Yknot0, YxrEvex}},
   479  	{zcase: Zevex_i_rm_r, zoffset: 0, args: argList{Yu8, YymEvex, YyrEvex}},
   480  	{zcase: Zevex_i_rm_k_r, zoffset: 3, args: argList{Yu8, YymEvex, Yknot0, YyrEvex}},
   481  }
   482  
   483  var _yvgf2p8affineinvqb = []ytab{
   484  	{zcase: Zvex_i_rm_v_r, zoffset: 2, args: argList{Yu8, Yxm, Yxr, Yxr}},
   485  	{zcase: Zvex_i_rm_v_r, zoffset: 2, args: argList{Yu8, Yym, Yyr, Yyr}},
   486  	{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YxmEvex, YxrEvex, YxrEvex}},
   487  	{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YxmEvex, YxrEvex, Yknot0, YxrEvex}},
   488  	{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YymEvex, YyrEvex, YyrEvex}},
   489  	{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YymEvex, YyrEvex, Yknot0, YyrEvex}},
   490  	{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, Yzm, Yzr, Yzr}},
   491  	{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, Yzm, Yzr, Yknot0, Yzr}},
   492  }
   493  
   494  var _yvinsertf128 = []ytab{
   495  	{zcase: Zvex_i_rm_v_r, zoffset: 2, args: argList{Yu8, Yxm, Yyr, Yyr}},
   496  }
   497  
   498  var _yvinsertf32x4 = []ytab{
   499  	{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YxmEvex, YyrEvex, YyrEvex}},
   500  	{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YxmEvex, YyrEvex, Yknot0, YyrEvex}},
   501  	{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YxmEvex, Yzr, Yzr}},
   502  	{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YxmEvex, Yzr, Yknot0, Yzr}},
   503  }
   504  
   505  var _yvinsertf32x8 = []ytab{
   506  	{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YymEvex, Yzr, Yzr}},
   507  	{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YymEvex, Yzr, Yknot0, Yzr}},
   508  }
   509  
   510  var _yvinsertps = []ytab{
   511  	{zcase: Zvex_i_rm_v_r, zoffset: 2, args: argList{Yu8, Yxm, Yxr, Yxr}},
   512  	{zcase: Zevex_i_rm_v_r, zoffset: 3, args: argList{Yu8, YxmEvex, YxrEvex, YxrEvex}},
   513  }
   514  
   515  var _yvlddqu = []ytab{
   516  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Ym, Yxr}},
   517  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Ym, Yyr}},
   518  }
   519  
   520  var _yvldmxcsr = []ytab{
   521  	{zcase: Zvex_rm_v_ro, zoffset: 3, args: argList{Ym}},
   522  }
   523  
   524  var _yvmaskmovdqu = []ytab{
   525  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxr, Yxr}},
   526  }
   527  
   528  var _yvmaskmovpd = []ytab{
   529  	{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yxr, Yxr, Ym}},
   530  	{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yyr, Yyr, Ym}},
   531  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Ym, Yxr, Yxr}},
   532  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Ym, Yyr, Yyr}},
   533  }
   534  
   535  var _yvmovapd = []ytab{
   536  	{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yxr, Yxm}},
   537  	{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yyr, Yym}},
   538  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr}},
   539  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yym, Yyr}},
   540  	{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{YxrEvex, YxmEvex}},
   541  	{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YxrEvex, Yknot0, YxmEvex}},
   542  	{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{YyrEvex, YymEvex}},
   543  	{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YyrEvex, Yknot0, YymEvex}},
   544  	{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{Yzr, Yzm}},
   545  	{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{Yzr, Yknot0, Yzm}},
   546  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex}},
   547  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YxrEvex}},
   548  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex}},
   549  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YymEvex, Yknot0, YyrEvex}},
   550  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr}},
   551  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Yzm, Yknot0, Yzr}},
   552  }
   553  
   554  var _yvmovd = []ytab{
   555  	{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yxr, Yml}},
   556  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yml, Yxr}},
   557  	{zcase: Zevex_r_v_rm, zoffset: 3, args: argList{YxrEvex, Yml}},
   558  	{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{Yml, YxrEvex}},
   559  }
   560  
   561  var _yvmovddup = []ytab{
   562  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr}},
   563  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yym, Yyr}},
   564  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex}},
   565  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YxrEvex}},
   566  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex}},
   567  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YymEvex, Yknot0, YyrEvex}},
   568  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr}},
   569  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Yzm, Yknot0, Yzr}},
   570  }
   571  
   572  var _yvmovdqa = []ytab{
   573  	{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yxr, Yxm}},
   574  	{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yyr, Yym}},
   575  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr}},
   576  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yym, Yyr}},
   577  }
   578  
   579  var _yvmovdqa32 = []ytab{
   580  	{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{YxrEvex, YxmEvex}},
   581  	{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YxrEvex, Yknot0, YxmEvex}},
   582  	{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{YyrEvex, YymEvex}},
   583  	{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YyrEvex, Yknot0, YymEvex}},
   584  	{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{Yzr, Yzm}},
   585  	{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{Yzr, Yknot0, Yzm}},
   586  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex}},
   587  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YxrEvex}},
   588  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex}},
   589  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YymEvex, Yknot0, YyrEvex}},
   590  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr}},
   591  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Yzm, Yknot0, Yzr}},
   592  }
   593  
   594  var _yvmovhlps = []ytab{
   595  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxr, Yxr, Yxr}},
   596  	{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{YxrEvex, YxrEvex, YxrEvex}},
   597  }
   598  
   599  var _yvmovhpd = []ytab{
   600  	{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yxr, Ym}},
   601  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Ym, Yxr, Yxr}},
   602  	{zcase: Zevex_r_v_rm, zoffset: 3, args: argList{YxrEvex, Ym}},
   603  	{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{Ym, YxrEvex, YxrEvex}},
   604  }
   605  
   606  var _yvmovmskpd = []ytab{
   607  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxr, Yrl}},
   608  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yyr, Yrl}},
   609  }
   610  
   611  var _yvmovntdq = []ytab{
   612  	{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yxr, Ym}},
   613  	{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yyr, Ym}},
   614  	{zcase: Zevex_r_v_rm, zoffset: 3, args: argList{YxrEvex, Ym}},
   615  	{zcase: Zevex_r_v_rm, zoffset: 3, args: argList{YyrEvex, Ym}},
   616  	{zcase: Zevex_r_v_rm, zoffset: 3, args: argList{Yzr, Ym}},
   617  }
   618  
   619  var _yvmovntdqa = []ytab{
   620  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Ym, Yxr}},
   621  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Ym, Yyr}},
   622  	{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{Ym, YxrEvex}},
   623  	{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{Ym, YyrEvex}},
   624  	{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{Ym, Yzr}},
   625  }
   626  
   627  var _yvmovq = []ytab{
   628  	{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yxr, Yml}},
   629  	{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yxr, Yxm}},
   630  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yml, Yxr}},
   631  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr}},
   632  	{zcase: Zevex_r_v_rm, zoffset: 3, args: argList{YxrEvex, Yml}},
   633  	{zcase: Zevex_r_v_rm, zoffset: 3, args: argList{YxrEvex, YxmEvex}},
   634  	{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{Yml, YxrEvex}},
   635  	{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{YxmEvex, YxrEvex}},
   636  }
   637  
   638  var _yvmovsd = []ytab{
   639  	{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yxr, Yxr, Yxr}},
   640  	{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yxr, Ym}},
   641  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Ym, Yxr}},
   642  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxr, Yxr, Yxr}},
   643  	{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{YxrEvex, YxrEvex, YxrEvex}},
   644  	{zcase: Zevex_r_v_k_rm, zoffset: 3, args: argList{YxrEvex, YxrEvex, Yknot0, YxrEvex}},
   645  	{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{YxrEvex, Ym}},
   646  	{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YxrEvex, Yknot0, Ym}},
   647  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Ym, YxrEvex}},
   648  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Ym, Yknot0, YxrEvex}},
   649  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxrEvex, YxrEvex, YxrEvex}},
   650  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxrEvex, YxrEvex, Yknot0, YxrEvex}},
   651  }
   652  
   653  var _yvpbroadcastb = []ytab{
   654  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr}},
   655  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yyr}},
   656  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yrl, YxrEvex}},
   657  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Yrl, Yknot0, YxrEvex}},
   658  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yrl, YyrEvex}},
   659  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Yrl, Yknot0, YyrEvex}},
   660  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yrl, Yzr}},
   661  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Yrl, Yknot0, Yzr}},
   662  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex}},
   663  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YxrEvex}},
   664  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YyrEvex}},
   665  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YyrEvex}},
   666  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, Yzr}},
   667  	{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, Yzr}},
   668  }
   669  
   670  var _yvpbroadcastmb2q = []ytab{
   671  	{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{Yk, YxrEvex}},
   672  	{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{Yk, YyrEvex}},
   673  	{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{Yk, Yzr}},
   674  }
   675  
   676  var _yvpclmulqdq = []ytab{
   677  	{zcase: Zvex_i_rm_v_r, zoffset: 2, args: argList{Yu8, Yxm, Yxr, Yxr}},
   678  	{zcase: Zvex_i_rm_v_r, zoffset: 2, args: argList{Yu8, Yym, Yyr, Yyr}},
   679  	{zcase: Zevex_i_rm_v_r, zoffset: 3, args: argList{Yu8, YxmEvex, YxrEvex, YxrEvex}},
   680  	{zcase: Zevex_i_rm_v_r, zoffset: 3, args: argList{Yu8, YymEvex, YyrEvex, YyrEvex}},
   681  	{zcase: Zevex_i_rm_v_r, zoffset: 3, args: argList{Yu8, Yzm, Yzr, Yzr}},
   682  }
   683  
   684  var _yvpcmpb = []ytab{
   685  	{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YxmEvex, YxrEvex, Yk}},
   686  	{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YxmEvex, YxrEvex, Yknot0, Yk}},
   687  	{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YymEvex, YyrEvex, Yk}},
   688  	{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YymEvex, YyrEvex, Yknot0, Yk}},
   689  	{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, Yzm, Yzr, Yk}},
   690  	{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, Yzm, Yzr, Yknot0, Yk}},
   691  }
   692  
   693  var _yvpcmpeqb = []ytab{
   694  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr, Yxr}},
   695  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yym, Yyr, Yyr}},
   696  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex, Yk}},
   697  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, YxrEvex, Yknot0, Yk}},
   698  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex, Yk}},
   699  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YymEvex, YyrEvex, Yknot0, Yk}},
   700  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr, Yk}},
   701  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{Yzm, Yzr, Yknot0, Yk}},
   702  }
   703  
   704  var _yvperm2f128 = []ytab{
   705  	{zcase: Zvex_i_rm_v_r, zoffset: 2, args: argList{Yu8, Yym, Yyr, Yyr}},
   706  }
   707  
   708  var _yvpermd = []ytab{
   709  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yym, Yyr, Yyr}},
   710  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex, YyrEvex}},
   711  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YymEvex, YyrEvex, Yknot0, YyrEvex}},
   712  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr, Yzr}},
   713  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{Yzm, Yzr, Yknot0, Yzr}},
   714  }
   715  
   716  var _yvpermilpd = []ytab{
   717  	{zcase: Zvex_i_rm_r, zoffset: 0, args: argList{Yu8, Yxm, Yxr}},
   718  	{zcase: Zvex_i_rm_r, zoffset: 2, args: argList{Yi8, Yxm, Yxr}},
   719  	{zcase: Zvex_i_rm_r, zoffset: 0, args: argList{Yu8, Yym, Yyr}},
   720  	{zcase: Zvex_i_rm_r, zoffset: 2, args: argList{Yi8, Yym, Yyr}},
   721  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr, Yxr}},
   722  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yym, Yyr, Yyr}},
   723  	{zcase: Zevex_i_rm_r, zoffset: 0, args: argList{Yu8, YxmEvex, YxrEvex}},
   724  	{zcase: Zevex_i_rm_k_r, zoffset: 3, args: argList{Yu8, YxmEvex, Yknot0, YxrEvex}},
   725  	{zcase: Zevex_i_rm_r, zoffset: 0, args: argList{Yu8, YymEvex, YyrEvex}},
   726  	{zcase: Zevex_i_rm_k_r, zoffset: 3, args: argList{Yu8, YymEvex, Yknot0, YyrEvex}},
   727  	{zcase: Zevex_i_rm_r, zoffset: 0, args: argList{Yu8, Yzm, Yzr}},
   728  	{zcase: Zevex_i_rm_k_r, zoffset: 3, args: argList{Yu8, Yzm, Yknot0, Yzr}},
   729  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex, YxrEvex}},
   730  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, YxrEvex, Yknot0, YxrEvex}},
   731  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex, YyrEvex}},
   732  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YymEvex, YyrEvex, Yknot0, YyrEvex}},
   733  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr, Yzr}},
   734  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{Yzm, Yzr, Yknot0, Yzr}},
   735  }
   736  
   737  var _yvpermpd = []ytab{
   738  	{zcase: Zvex_i_rm_r, zoffset: 2, args: argList{Yu8, Yym, Yyr}},
   739  	{zcase: Zevex_i_rm_r, zoffset: 0, args: argList{Yu8, YymEvex, YyrEvex}},
   740  	{zcase: Zevex_i_rm_k_r, zoffset: 3, args: argList{Yu8, YymEvex, Yknot0, YyrEvex}},
   741  	{zcase: Zevex_i_rm_r, zoffset: 0, args: argList{Yu8, Yzm, Yzr}},
   742  	{zcase: Zevex_i_rm_k_r, zoffset: 3, args: argList{Yu8, Yzm, Yknot0, Yzr}},
   743  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex, YyrEvex}},
   744  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YymEvex, YyrEvex, Yknot0, YyrEvex}},
   745  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr, Yzr}},
   746  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{Yzm, Yzr, Yknot0, Yzr}},
   747  }
   748  
   749  var _yvpermq = []ytab{
   750  	{zcase: Zvex_i_rm_r, zoffset: 0, args: argList{Yu8, Yym, Yyr}},
   751  	{zcase: Zvex_i_rm_r, zoffset: 2, args: argList{Yi8, Yym, Yyr}},
   752  	{zcase: Zevex_i_rm_r, zoffset: 0, args: argList{Yu8, YymEvex, YyrEvex}},
   753  	{zcase: Zevex_i_rm_k_r, zoffset: 3, args: argList{Yu8, YymEvex, Yknot0, YyrEvex}},
   754  	{zcase: Zevex_i_rm_r, zoffset: 0, args: argList{Yu8, Yzm, Yzr}},
   755  	{zcase: Zevex_i_rm_k_r, zoffset: 3, args: argList{Yu8, Yzm, Yknot0, Yzr}},
   756  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex, YyrEvex}},
   757  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YymEvex, YyrEvex, Yknot0, YyrEvex}},
   758  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr, Yzr}},
   759  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{Yzm, Yzr, Yknot0, Yzr}},
   760  }
   761  
   762  var _yvpextrw = []ytab{
   763  	{zcase: Zvex_i_r_rm, zoffset: 0, args: argList{Yu8, Yxr, Yml}},
   764  	{zcase: Zvex_i_r_rm, zoffset: 2, args: argList{Yi8, Yxr, Yml}},
   765  	{zcase: Zvex_i_rm_r, zoffset: 0, args: argList{Yu8, Yxr, Yrl}},
   766  	{zcase: Zvex_i_rm_r, zoffset: 2, args: argList{Yi8, Yxr, Yrl}},
   767  	{zcase: Zevex_i_r_rm, zoffset: 3, args: argList{Yu8, YxrEvex, Yml}},
   768  	{zcase: Zevex_i_rm_r, zoffset: 3, args: argList{Yu8, YxrEvex, Yrl}},
   769  }
   770  
   771  var _yvpinsrb = []ytab{
   772  	{zcase: Zvex_i_rm_v_r, zoffset: 2, args: argList{Yu8, Yml, Yxr, Yxr}},
   773  	{zcase: Zevex_i_rm_v_r, zoffset: 3, args: argList{Yu8, Yml, YxrEvex, YxrEvex}},
   774  }
   775  
   776  var _yvpmovb2m = []ytab{
   777  	{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{YxrEvex, Yk}},
   778  	{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{YyrEvex, Yk}},
   779  	{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{Yzr, Yk}},
   780  }
   781  
   782  var _yvpmovdb = []ytab{
   783  	{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{YxrEvex, YxmEvex}},
   784  	{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YxrEvex, Yknot0, YxmEvex}},
   785  	{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{YyrEvex, YxmEvex}},
   786  	{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YyrEvex, Yknot0, YxmEvex}},
   787  	{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{Yzr, YxmEvex}},
   788  	{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{Yzr, Yknot0, YxmEvex}},
   789  }
   790  
   791  var _yvpmovdw = []ytab{
   792  	{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{YxrEvex, YxmEvex}},
   793  	{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YxrEvex, Yknot0, YxmEvex}},
   794  	{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{YyrEvex, YxmEvex}},
   795  	{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YyrEvex, Yknot0, YxmEvex}},
   796  	{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{Yzr, YymEvex}},
   797  	{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{Yzr, Yknot0, YymEvex}},
   798  }
   799  
   800  var _yvprold = []ytab{
   801  	{zcase: Zevex_i_rm_vo, zoffset: 0, args: argList{Yu8, YxmEvex, YxrEvex}},
   802  	{zcase: Zevex_i_rm_k_vo, zoffset: 4, args: argList{Yu8, YxmEvex, Yknot0, YxrEvex}},
   803  	{zcase: Zevex_i_rm_vo, zoffset: 0, args: argList{Yu8, YymEvex, YyrEvex}},
   804  	{zcase: Zevex_i_rm_k_vo, zoffset: 4, args: argList{Yu8, YymEvex, Yknot0, YyrEvex}},
   805  	{zcase: Zevex_i_rm_vo, zoffset: 0, args: argList{Yu8, Yzm, Yzr}},
   806  	{zcase: Zevex_i_rm_k_vo, zoffset: 4, args: argList{Yu8, Yzm, Yknot0, Yzr}},
   807  }
   808  
   809  var _yvpscatterdd = []ytab{
   810  	{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YxrEvex, Yknot0, YxvmEvex}},
   811  	{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YyrEvex, Yknot0, YyvmEvex}},
   812  	{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{Yzr, Yknot0, Yzvm}},
   813  }
   814  
   815  var _yvpscatterdq = []ytab{
   816  	{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YxrEvex, Yknot0, YxvmEvex}},
   817  	{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YyrEvex, Yknot0, YxvmEvex}},
   818  	{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{Yzr, Yknot0, YyvmEvex}},
   819  }
   820  
   821  var _yvpscatterqd = []ytab{
   822  	{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YxrEvex, Yknot0, YxvmEvex}},
   823  	{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YxrEvex, Yknot0, YyvmEvex}},
   824  	{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YyrEvex, Yknot0, Yzvm}},
   825  }
   826  
   827  var _yvpshufbitqmb = []ytab{
   828  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex, Yk}},
   829  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, YxrEvex, Yknot0, Yk}},
   830  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex, Yk}},
   831  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YymEvex, YyrEvex, Yknot0, Yk}},
   832  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr, Yk}},
   833  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{Yzm, Yzr, Yknot0, Yk}},
   834  }
   835  
   836  var _yvpshufd = []ytab{
   837  	{zcase: Zvex_i_rm_r, zoffset: 0, args: argList{Yu8, Yxm, Yxr}},
   838  	{zcase: Zvex_i_rm_r, zoffset: 2, args: argList{Yi8, Yxm, Yxr}},
   839  	{zcase: Zvex_i_rm_r, zoffset: 0, args: argList{Yu8, Yym, Yyr}},
   840  	{zcase: Zvex_i_rm_r, zoffset: 2, args: argList{Yi8, Yym, Yyr}},
   841  	{zcase: Zevex_i_rm_r, zoffset: 0, args: argList{Yu8, YxmEvex, YxrEvex}},
   842  	{zcase: Zevex_i_rm_k_r, zoffset: 3, args: argList{Yu8, YxmEvex, Yknot0, YxrEvex}},
   843  	{zcase: Zevex_i_rm_r, zoffset: 0, args: argList{Yu8, YymEvex, YyrEvex}},
   844  	{zcase: Zevex_i_rm_k_r, zoffset: 3, args: argList{Yu8, YymEvex, Yknot0, YyrEvex}},
   845  	{zcase: Zevex_i_rm_r, zoffset: 0, args: argList{Yu8, Yzm, Yzr}},
   846  	{zcase: Zevex_i_rm_k_r, zoffset: 3, args: argList{Yu8, Yzm, Yknot0, Yzr}},
   847  }
   848  
   849  var _yvpslld = []ytab{
   850  	{zcase: Zvex_i_rm_vo, zoffset: 0, args: argList{Yu8, Yxr, Yxr}},
   851  	{zcase: Zvex_i_rm_vo, zoffset: 3, args: argList{Yi8, Yxr, Yxr}},
   852  	{zcase: Zvex_i_rm_vo, zoffset: 0, args: argList{Yu8, Yyr, Yyr}},
   853  	{zcase: Zvex_i_rm_vo, zoffset: 3, args: argList{Yi8, Yyr, Yyr}},
   854  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr, Yxr}},
   855  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yyr, Yyr}},
   856  	{zcase: Zevex_i_rm_vo, zoffset: 0, args: argList{Yu8, YxmEvex, YxrEvex}},
   857  	{zcase: Zevex_i_rm_k_vo, zoffset: 4, args: argList{Yu8, YxmEvex, Yknot0, YxrEvex}},
   858  	{zcase: Zevex_i_rm_vo, zoffset: 0, args: argList{Yu8, YymEvex, YyrEvex}},
   859  	{zcase: Zevex_i_rm_k_vo, zoffset: 4, args: argList{Yu8, YymEvex, Yknot0, YyrEvex}},
   860  	{zcase: Zevex_i_rm_vo, zoffset: 0, args: argList{Yu8, Yzm, Yzr}},
   861  	{zcase: Zevex_i_rm_k_vo, zoffset: 4, args: argList{Yu8, Yzm, Yknot0, Yzr}},
   862  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex, YxrEvex}},
   863  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, YxrEvex, Yknot0, YxrEvex}},
   864  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YyrEvex, YyrEvex}},
   865  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, YyrEvex, Yknot0, YyrEvex}},
   866  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, Yzr, Yzr}},
   867  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, Yzr, Yknot0, Yzr}},
   868  }
   869  
   870  var _yvpslldq = []ytab{
   871  	{zcase: Zvex_i_rm_vo, zoffset: 0, args: argList{Yu8, Yxr, Yxr}},
   872  	{zcase: Zvex_i_rm_vo, zoffset: 3, args: argList{Yi8, Yxr, Yxr}},
   873  	{zcase: Zvex_i_rm_vo, zoffset: 0, args: argList{Yu8, Yyr, Yyr}},
   874  	{zcase: Zvex_i_rm_vo, zoffset: 3, args: argList{Yi8, Yyr, Yyr}},
   875  	{zcase: Zevex_i_rm_vo, zoffset: 4, args: argList{Yu8, YxmEvex, YxrEvex}},
   876  	{zcase: Zevex_i_rm_vo, zoffset: 4, args: argList{Yu8, YymEvex, YyrEvex}},
   877  	{zcase: Zevex_i_rm_vo, zoffset: 4, args: argList{Yu8, Yzm, Yzr}},
   878  }
   879  
   880  var _yvpsraq = []ytab{
   881  	{zcase: Zevex_i_rm_vo, zoffset: 0, args: argList{Yu8, YxmEvex, YxrEvex}},
   882  	{zcase: Zevex_i_rm_k_vo, zoffset: 4, args: argList{Yu8, YxmEvex, Yknot0, YxrEvex}},
   883  	{zcase: Zevex_i_rm_vo, zoffset: 0, args: argList{Yu8, YymEvex, YyrEvex}},
   884  	{zcase: Zevex_i_rm_k_vo, zoffset: 4, args: argList{Yu8, YymEvex, Yknot0, YyrEvex}},
   885  	{zcase: Zevex_i_rm_vo, zoffset: 0, args: argList{Yu8, Yzm, Yzr}},
   886  	{zcase: Zevex_i_rm_k_vo, zoffset: 4, args: argList{Yu8, Yzm, Yknot0, Yzr}},
   887  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex, YxrEvex}},
   888  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, YxrEvex, Yknot0, YxrEvex}},
   889  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YyrEvex, YyrEvex}},
   890  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, YyrEvex, Yknot0, YyrEvex}},
   891  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, Yzr, Yzr}},
   892  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, Yzr, Yknot0, Yzr}},
   893  }
   894  
   895  var _yvptest = []ytab{
   896  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr}},
   897  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yym, Yyr}},
   898  }
   899  
   900  var _yvrcpss = []ytab{
   901  	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr, Yxr}},
   902  }
   903  
   904  var _yvroundpd = []ytab{
   905  	{zcase: Zvex_i_rm_r, zoffset: 0, args: argList{Yu8, Yxm, Yxr}},
   906  	{zcase: Zvex_i_rm_r, zoffset: 2, args: argList{Yi8, Yxm, Yxr}},
   907  	{zcase: Zvex_i_rm_r, zoffset: 0, args: argList{Yu8, Yym, Yyr}},
   908  	{zcase: Zvex_i_rm_r, zoffset: 2, args: argList{Yi8, Yym, Yyr}},
   909  }
   910  
   911  var _yvscalefpd = []ytab{
   912  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr, Yzr}},
   913  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{Yzm, Yzr, Yknot0, Yzr}},
   914  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex, YxrEvex}},
   915  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, YxrEvex, Yknot0, YxrEvex}},
   916  	{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex, YyrEvex}},
   917  	{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YymEvex, YyrEvex, Yknot0, YyrEvex}},
   918  }
   919  
   920  var _yvshuff32x4 = []ytab{
   921  	{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YymEvex, YyrEvex, YyrEvex}},
   922  	{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YymEvex, YyrEvex, Yknot0, YyrEvex}},
   923  	{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, Yzm, Yzr, Yzr}},
   924  	{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, Yzm, Yzr, Yknot0, Yzr}},
   925  }
   926  
   927  var _yvzeroall = []ytab{
   928  	{zcase: Zvex, zoffset: 2, args: argList{}},
   929  }
   930  
   931  var avxOptab = [...]Optab{
   932  	{as: AANDNL, ytab: _yandnl, prefix: Pavx, op: opBytes{
   933  		avxEscape | vex128 | vex0F38 | vexW0, 0xF2,
   934  	}},
   935  	{as: AANDNQ, ytab: _yandnl, prefix: Pavx, op: opBytes{
   936  		avxEscape | vex128 | vex0F38 | vexW1, 0xF2,
   937  	}},
   938  	{as: ABEXTRL, ytab: _ybextrl, prefix: Pavx, op: opBytes{
   939  		avxEscape | vex128 | vex0F38 | vexW0, 0xF7,
   940  	}},
   941  	{as: ABEXTRQ, ytab: _ybextrl, prefix: Pavx, op: opBytes{
   942  		avxEscape | vex128 | vex0F38 | vexW1, 0xF7,
   943  	}},
   944  	{as: ABLSIL, ytab: _yblsil, prefix: Pavx, op: opBytes{
   945  		avxEscape | vex128 | vex0F38 | vexW0, 0xF3, 03,
   946  	}},
   947  	{as: ABLSIQ, ytab: _yblsil, prefix: Pavx, op: opBytes{
   948  		avxEscape | vex128 | vex0F38 | vexW1, 0xF3, 03,
   949  	}},
   950  	{as: ABLSMSKL, ytab: _yblsil, prefix: Pavx, op: opBytes{
   951  		avxEscape | vex128 | vex0F38 | vexW0, 0xF3, 02,
   952  	}},
   953  	{as: ABLSMSKQ, ytab: _yblsil, prefix: Pavx, op: opBytes{
   954  		avxEscape | vex128 | vex0F38 | vexW1, 0xF3, 02,
   955  	}},
   956  	{as: ABLSRL, ytab: _yblsil, prefix: Pavx, op: opBytes{
   957  		avxEscape | vex128 | vex0F38 | vexW0, 0xF3, 01,
   958  	}},
   959  	{as: ABLSRQ, ytab: _yblsil, prefix: Pavx, op: opBytes{
   960  		avxEscape | vex128 | vex0F38 | vexW1, 0xF3, 01,
   961  	}},
   962  	{as: ABZHIL, ytab: _ybextrl, prefix: Pavx, op: opBytes{
   963  		avxEscape | vex128 | vex0F38 | vexW0, 0xF5,
   964  	}},
   965  	{as: ABZHIQ, ytab: _ybextrl, prefix: Pavx, op: opBytes{
   966  		avxEscape | vex128 | vex0F38 | vexW1, 0xF5,
   967  	}},
   968  	{as: AKADDB, ytab: _ykaddb, prefix: Pavx, op: opBytes{
   969  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x4A,
   970  	}},
   971  	{as: AKADDD, ytab: _ykaddb, prefix: Pavx, op: opBytes{
   972  		avxEscape | vex256 | vex66 | vex0F | vexW1, 0x4A,
   973  	}},
   974  	{as: AKADDQ, ytab: _ykaddb, prefix: Pavx, op: opBytes{
   975  		avxEscape | vex256 | vex0F | vexW1, 0x4A,
   976  	}},
   977  	{as: AKADDW, ytab: _ykaddb, prefix: Pavx, op: opBytes{
   978  		avxEscape | vex256 | vex0F | vexW0, 0x4A,
   979  	}},
   980  	{as: AKANDB, ytab: _ykaddb, prefix: Pavx, op: opBytes{
   981  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x41,
   982  	}},
   983  	{as: AKANDD, ytab: _ykaddb, prefix: Pavx, op: opBytes{
   984  		avxEscape | vex256 | vex66 | vex0F | vexW1, 0x41,
   985  	}},
   986  	{as: AKANDNB, ytab: _ykaddb, prefix: Pavx, op: opBytes{
   987  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x42,
   988  	}},
   989  	{as: AKANDND, ytab: _ykaddb, prefix: Pavx, op: opBytes{
   990  		avxEscape | vex256 | vex66 | vex0F | vexW1, 0x42,
   991  	}},
   992  	{as: AKANDNQ, ytab: _ykaddb, prefix: Pavx, op: opBytes{
   993  		avxEscape | vex256 | vex0F | vexW1, 0x42,
   994  	}},
   995  	{as: AKANDNW, ytab: _ykaddb, prefix: Pavx, op: opBytes{
   996  		avxEscape | vex256 | vex0F | vexW0, 0x42,
   997  	}},
   998  	{as: AKANDQ, ytab: _ykaddb, prefix: Pavx, op: opBytes{
   999  		avxEscape | vex256 | vex0F | vexW1, 0x41,
  1000  	}},
  1001  	{as: AKANDW, ytab: _ykaddb, prefix: Pavx, op: opBytes{
  1002  		avxEscape | vex256 | vex0F | vexW0, 0x41,
  1003  	}},
  1004  	{as: AKMOVB, ytab: _ykmovb, prefix: Pavx, op: opBytes{
  1005  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x91,
  1006  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x93,
  1007  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x90,
  1008  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x92,
  1009  	}},
  1010  	{as: AKMOVD, ytab: _ykmovb, prefix: Pavx, op: opBytes{
  1011  		avxEscape | vex128 | vex66 | vex0F | vexW1, 0x91,
  1012  		avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x93,
  1013  		avxEscape | vex128 | vex66 | vex0F | vexW1, 0x90,
  1014  		avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x92,
  1015  	}},
  1016  	{as: AKMOVQ, ytab: _ykmovb, prefix: Pavx, op: opBytes{
  1017  		avxEscape | vex128 | vex0F | vexW1, 0x91,
  1018  		avxEscape | vex128 | vexF2 | vex0F | vexW1, 0x93,
  1019  		avxEscape | vex128 | vex0F | vexW1, 0x90,
  1020  		avxEscape | vex128 | vexF2 | vex0F | vexW1, 0x92,
  1021  	}},
  1022  	{as: AKMOVW, ytab: _ykmovb, prefix: Pavx, op: opBytes{
  1023  		avxEscape | vex128 | vex0F | vexW0, 0x91,
  1024  		avxEscape | vex128 | vex0F | vexW0, 0x93,
  1025  		avxEscape | vex128 | vex0F | vexW0, 0x90,
  1026  		avxEscape | vex128 | vex0F | vexW0, 0x92,
  1027  	}},
  1028  	{as: AKNOTB, ytab: _yknotb, prefix: Pavx, op: opBytes{
  1029  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x44,
  1030  	}},
  1031  	{as: AKNOTD, ytab: _yknotb, prefix: Pavx, op: opBytes{
  1032  		avxEscape | vex128 | vex66 | vex0F | vexW1, 0x44,
  1033  	}},
  1034  	{as: AKNOTQ, ytab: _yknotb, prefix: Pavx, op: opBytes{
  1035  		avxEscape | vex128 | vex0F | vexW1, 0x44,
  1036  	}},
  1037  	{as: AKNOTW, ytab: _yknotb, prefix: Pavx, op: opBytes{
  1038  		avxEscape | vex128 | vex0F | vexW0, 0x44,
  1039  	}},
  1040  	{as: AKORB, ytab: _ykaddb, prefix: Pavx, op: opBytes{
  1041  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x45,
  1042  	}},
  1043  	{as: AKORD, ytab: _ykaddb, prefix: Pavx, op: opBytes{
  1044  		avxEscape | vex256 | vex66 | vex0F | vexW1, 0x45,
  1045  	}},
  1046  	{as: AKORQ, ytab: _ykaddb, prefix: Pavx, op: opBytes{
  1047  		avxEscape | vex256 | vex0F | vexW1, 0x45,
  1048  	}},
  1049  	{as: AKORTESTB, ytab: _yknotb, prefix: Pavx, op: opBytes{
  1050  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x98,
  1051  	}},
  1052  	{as: AKORTESTD, ytab: _yknotb, prefix: Pavx, op: opBytes{
  1053  		avxEscape | vex128 | vex66 | vex0F | vexW1, 0x98,
  1054  	}},
  1055  	{as: AKORTESTQ, ytab: _yknotb, prefix: Pavx, op: opBytes{
  1056  		avxEscape | vex128 | vex0F | vexW1, 0x98,
  1057  	}},
  1058  	{as: AKORTESTW, ytab: _yknotb, prefix: Pavx, op: opBytes{
  1059  		avxEscape | vex128 | vex0F | vexW0, 0x98,
  1060  	}},
  1061  	{as: AKORW, ytab: _ykaddb, prefix: Pavx, op: opBytes{
  1062  		avxEscape | vex256 | vex0F | vexW0, 0x45,
  1063  	}},
  1064  	{as: AKSHIFTLB, ytab: _ykshiftlb, prefix: Pavx, op: opBytes{
  1065  		avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x32,
  1066  	}},
  1067  	{as: AKSHIFTLD, ytab: _ykshiftlb, prefix: Pavx, op: opBytes{
  1068  		avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x33,
  1069  	}},
  1070  	{as: AKSHIFTLQ, ytab: _ykshiftlb, prefix: Pavx, op: opBytes{
  1071  		avxEscape | vex128 | vex66 | vex0F3A | vexW1, 0x33,
  1072  	}},
  1073  	{as: AKSHIFTLW, ytab: _ykshiftlb, prefix: Pavx, op: opBytes{
  1074  		avxEscape | vex128 | vex66 | vex0F3A | vexW1, 0x32,
  1075  	}},
  1076  	{as: AKSHIFTRB, ytab: _ykshiftlb, prefix: Pavx, op: opBytes{
  1077  		avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x30,
  1078  	}},
  1079  	{as: AKSHIFTRD, ytab: _ykshiftlb, prefix: Pavx, op: opBytes{
  1080  		avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x31,
  1081  	}},
  1082  	{as: AKSHIFTRQ, ytab: _ykshiftlb, prefix: Pavx, op: opBytes{
  1083  		avxEscape | vex128 | vex66 | vex0F3A | vexW1, 0x31,
  1084  	}},
  1085  	{as: AKSHIFTRW, ytab: _ykshiftlb, prefix: Pavx, op: opBytes{
  1086  		avxEscape | vex128 | vex66 | vex0F3A | vexW1, 0x30,
  1087  	}},
  1088  	{as: AKTESTB, ytab: _yknotb, prefix: Pavx, op: opBytes{
  1089  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x99,
  1090  	}},
  1091  	{as: AKTESTD, ytab: _yknotb, prefix: Pavx, op: opBytes{
  1092  		avxEscape | vex128 | vex66 | vex0F | vexW1, 0x99,
  1093  	}},
  1094  	{as: AKTESTQ, ytab: _yknotb, prefix: Pavx, op: opBytes{
  1095  		avxEscape | vex128 | vex0F | vexW1, 0x99,
  1096  	}},
  1097  	{as: AKTESTW, ytab: _yknotb, prefix: Pavx, op: opBytes{
  1098  		avxEscape | vex128 | vex0F | vexW0, 0x99,
  1099  	}},
  1100  	{as: AKUNPCKBW, ytab: _ykaddb, prefix: Pavx, op: opBytes{
  1101  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x4B,
  1102  	}},
  1103  	{as: AKUNPCKDQ, ytab: _ykaddb, prefix: Pavx, op: opBytes{
  1104  		avxEscape | vex256 | vex0F | vexW1, 0x4B,
  1105  	}},
  1106  	{as: AKUNPCKWD, ytab: _ykaddb, prefix: Pavx, op: opBytes{
  1107  		avxEscape | vex256 | vex0F | vexW0, 0x4B,
  1108  	}},
  1109  	{as: AKXNORB, ytab: _ykaddb, prefix: Pavx, op: opBytes{
  1110  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x46,
  1111  	}},
  1112  	{as: AKXNORD, ytab: _ykaddb, prefix: Pavx, op: opBytes{
  1113  		avxEscape | vex256 | vex66 | vex0F | vexW1, 0x46,
  1114  	}},
  1115  	{as: AKXNORQ, ytab: _ykaddb, prefix: Pavx, op: opBytes{
  1116  		avxEscape | vex256 | vex0F | vexW1, 0x46,
  1117  	}},
  1118  	{as: AKXNORW, ytab: _ykaddb, prefix: Pavx, op: opBytes{
  1119  		avxEscape | vex256 | vex0F | vexW0, 0x46,
  1120  	}},
  1121  	{as: AKXORB, ytab: _ykaddb, prefix: Pavx, op: opBytes{
  1122  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x47,
  1123  	}},
  1124  	{as: AKXORD, ytab: _ykaddb, prefix: Pavx, op: opBytes{
  1125  		avxEscape | vex256 | vex66 | vex0F | vexW1, 0x47,
  1126  	}},
  1127  	{as: AKXORQ, ytab: _ykaddb, prefix: Pavx, op: opBytes{
  1128  		avxEscape | vex256 | vex0F | vexW1, 0x47,
  1129  	}},
  1130  	{as: AKXORW, ytab: _ykaddb, prefix: Pavx, op: opBytes{
  1131  		avxEscape | vex256 | vex0F | vexW0, 0x47,
  1132  	}},
  1133  	{as: AMULXL, ytab: _yandnl, prefix: Pavx, op: opBytes{
  1134  		avxEscape | vex128 | vexF2 | vex0F38 | vexW0, 0xF6,
  1135  	}},
  1136  	{as: AMULXQ, ytab: _yandnl, prefix: Pavx, op: opBytes{
  1137  		avxEscape | vex128 | vexF2 | vex0F38 | vexW1, 0xF6,
  1138  	}},
  1139  	{as: APDEPL, ytab: _yandnl, prefix: Pavx, op: opBytes{
  1140  		avxEscape | vex128 | vexF2 | vex0F38 | vexW0, 0xF5,
  1141  	}},
  1142  	{as: APDEPQ, ytab: _yandnl, prefix: Pavx, op: opBytes{
  1143  		avxEscape | vex128 | vexF2 | vex0F38 | vexW1, 0xF5,
  1144  	}},
  1145  	{as: APEXTL, ytab: _yandnl, prefix: Pavx, op: opBytes{
  1146  		avxEscape | vex128 | vexF3 | vex0F38 | vexW0, 0xF5,
  1147  	}},
  1148  	{as: APEXTQ, ytab: _yandnl, prefix: Pavx, op: opBytes{
  1149  		avxEscape | vex128 | vexF3 | vex0F38 | vexW1, 0xF5,
  1150  	}},
  1151  	{as: ARORXL, ytab: _yrorxl, prefix: Pavx, op: opBytes{
  1152  		avxEscape | vex128 | vexF2 | vex0F3A | vexW0, 0xF0,
  1153  	}},
  1154  	{as: ARORXQ, ytab: _yrorxl, prefix: Pavx, op: opBytes{
  1155  		avxEscape | vex128 | vexF2 | vex0F3A | vexW1, 0xF0,
  1156  	}},
  1157  	{as: ASARXL, ytab: _ybextrl, prefix: Pavx, op: opBytes{
  1158  		avxEscape | vex128 | vexF3 | vex0F38 | vexW0, 0xF7,
  1159  	}},
  1160  	{as: ASARXQ, ytab: _ybextrl, prefix: Pavx, op: opBytes{
  1161  		avxEscape | vex128 | vexF3 | vex0F38 | vexW1, 0xF7,
  1162  	}},
  1163  	{as: ASHLXL, ytab: _ybextrl, prefix: Pavx, op: opBytes{
  1164  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xF7,
  1165  	}},
  1166  	{as: ASHLXQ, ytab: _ybextrl, prefix: Pavx, op: opBytes{
  1167  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xF7,
  1168  	}},
  1169  	{as: ASHRXL, ytab: _ybextrl, prefix: Pavx, op: opBytes{
  1170  		avxEscape | vex128 | vexF2 | vex0F38 | vexW0, 0xF7,
  1171  	}},
  1172  	{as: ASHRXQ, ytab: _ybextrl, prefix: Pavx, op: opBytes{
  1173  		avxEscape | vex128 | vexF2 | vex0F38 | vexW1, 0xF7,
  1174  	}},
  1175  	{as: AV4FMADDPS, ytab: _yv4fmaddps, prefix: Pavx, op: opBytes{
  1176  		avxEscape | evex512 | evexF2 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x9A,
  1177  	}},
  1178  	{as: AV4FMADDSS, ytab: _yv4fmaddss, prefix: Pavx, op: opBytes{
  1179  		avxEscape | evex128 | evexF2 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x9B,
  1180  	}},
  1181  	{as: AV4FNMADDPS, ytab: _yv4fmaddps, prefix: Pavx, op: opBytes{
  1182  		avxEscape | evex512 | evexF2 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0xAA,
  1183  	}},
  1184  	{as: AV4FNMADDSS, ytab: _yv4fmaddss, prefix: Pavx, op: opBytes{
  1185  		avxEscape | evex128 | evexF2 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0xAB,
  1186  	}},
  1187  	{as: AVADDPD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  1188  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x58,
  1189  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x58,
  1190  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x58,
  1191  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x58,
  1192  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x58,
  1193  	}},
  1194  	{as: AVADDPS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  1195  		avxEscape | vex128 | vex0F | vexW0, 0x58,
  1196  		avxEscape | vex256 | vex0F | vexW0, 0x58,
  1197  		avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x58,
  1198  		avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x58,
  1199  		avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x58,
  1200  	}},
  1201  	{as: AVADDSD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  1202  		avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x58,
  1203  		avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0x58,
  1204  	}},
  1205  	{as: AVADDSS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  1206  		avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x58,
  1207  		avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0x58,
  1208  	}},
  1209  	{as: AVADDSUBPD, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
  1210  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xD0,
  1211  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xD0,
  1212  	}},
  1213  	{as: AVADDSUBPS, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
  1214  		avxEscape | vex128 | vexF2 | vex0F | vexW0, 0xD0,
  1215  		avxEscape | vex256 | vexF2 | vex0F | vexW0, 0xD0,
  1216  	}},
  1217  	{as: AVAESDEC, ytab: _yvaesdec, prefix: Pavx, op: opBytes{
  1218  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xDE,
  1219  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xDE,
  1220  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16, 0xDE,
  1221  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32, 0xDE,
  1222  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64, 0xDE,
  1223  	}},
  1224  	{as: AVAESDECLAST, ytab: _yvaesdec, prefix: Pavx, op: opBytes{
  1225  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xDF,
  1226  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xDF,
  1227  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16, 0xDF,
  1228  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32, 0xDF,
  1229  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64, 0xDF,
  1230  	}},
  1231  	{as: AVAESENC, ytab: _yvaesdec, prefix: Pavx, op: opBytes{
  1232  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xDC,
  1233  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xDC,
  1234  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16, 0xDC,
  1235  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32, 0xDC,
  1236  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64, 0xDC,
  1237  	}},
  1238  	{as: AVAESENCLAST, ytab: _yvaesdec, prefix: Pavx, op: opBytes{
  1239  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xDD,
  1240  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xDD,
  1241  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16, 0xDD,
  1242  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32, 0xDD,
  1243  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64, 0xDD,
  1244  	}},
  1245  	{as: AVAESIMC, ytab: _yvaesimc, prefix: Pavx, op: opBytes{
  1246  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xDB,
  1247  	}},
  1248  	{as: AVAESKEYGENASSIST, ytab: _yvaeskeygenassist, prefix: Pavx, op: opBytes{
  1249  		avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0xDF,
  1250  	}},
  1251  	{as: AVALIGND, ytab: _yvalignd, prefix: Pavx, op: opBytes{
  1252  		avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x03,
  1253  		avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x03,
  1254  		avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x03,
  1255  	}},
  1256  	{as: AVALIGNQ, ytab: _yvalignd, prefix: Pavx, op: opBytes{
  1257  		avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x03,
  1258  		avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x03,
  1259  		avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x03,
  1260  	}},
  1261  	{as: AVANDNPD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  1262  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x55,
  1263  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x55,
  1264  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x55,
  1265  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x55,
  1266  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x55,
  1267  	}},
  1268  	{as: AVANDNPS, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  1269  		avxEscape | vex128 | vex0F | vexW0, 0x55,
  1270  		avxEscape | vex256 | vex0F | vexW0, 0x55,
  1271  		avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x55,
  1272  		avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x55,
  1273  		avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x55,
  1274  	}},
  1275  	{as: AVANDPD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  1276  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x54,
  1277  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x54,
  1278  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x54,
  1279  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x54,
  1280  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x54,
  1281  	}},
  1282  	{as: AVANDPS, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  1283  		avxEscape | vex128 | vex0F | vexW0, 0x54,
  1284  		avxEscape | vex256 | vex0F | vexW0, 0x54,
  1285  		avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x54,
  1286  		avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x54,
  1287  		avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x54,
  1288  	}},
  1289  	{as: AVBLENDMPD, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  1290  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x65,
  1291  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x65,
  1292  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x65,
  1293  	}},
  1294  	{as: AVBLENDMPS, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  1295  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x65,
  1296  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x65,
  1297  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x65,
  1298  	}},
  1299  	{as: AVBLENDPD, ytab: _yvblendpd, prefix: Pavx, op: opBytes{
  1300  		avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x0D,
  1301  		avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x0D,
  1302  	}},
  1303  	{as: AVBLENDPS, ytab: _yvblendpd, prefix: Pavx, op: opBytes{
  1304  		avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x0C,
  1305  		avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x0C,
  1306  	}},
  1307  	{as: AVBLENDVPD, ytab: _yvblendvpd, prefix: Pavx, op: opBytes{
  1308  		avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x4B,
  1309  		avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x4B,
  1310  	}},
  1311  	{as: AVBLENDVPS, ytab: _yvblendvpd, prefix: Pavx, op: opBytes{
  1312  		avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x4A,
  1313  		avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x4A,
  1314  	}},
  1315  	{as: AVBROADCASTF128, ytab: _yvbroadcastf128, prefix: Pavx, op: opBytes{
  1316  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x1A,
  1317  	}},
  1318  	{as: AVBROADCASTF32X2, ytab: _yvbroadcastf32x2, prefix: Pavx, op: opBytes{
  1319  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x19,
  1320  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x19,
  1321  	}},
  1322  	{as: AVBROADCASTF32X4, ytab: _yvbroadcastf32x4, prefix: Pavx, op: opBytes{
  1323  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x1A,
  1324  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x1A,
  1325  	}},
  1326  	{as: AVBROADCASTF32X8, ytab: _yvbroadcastf32x8, prefix: Pavx, op: opBytes{
  1327  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x1B,
  1328  	}},
  1329  	{as: AVBROADCASTF64X2, ytab: _yvbroadcastf32x4, prefix: Pavx, op: opBytes{
  1330  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN16 | evexZeroingEnabled, 0x1A,
  1331  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN16 | evexZeroingEnabled, 0x1A,
  1332  	}},
  1333  	{as: AVBROADCASTF64X4, ytab: _yvbroadcastf32x8, prefix: Pavx, op: opBytes{
  1334  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN32 | evexZeroingEnabled, 0x1B,
  1335  	}},
  1336  	{as: AVBROADCASTI128, ytab: _yvbroadcastf128, prefix: Pavx, op: opBytes{
  1337  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x5A,
  1338  	}},
  1339  	{as: AVBROADCASTI32X2, ytab: _yvbroadcasti32x2, prefix: Pavx, op: opBytes{
  1340  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x59,
  1341  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x59,
  1342  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x59,
  1343  	}},
  1344  	{as: AVBROADCASTI32X4, ytab: _yvbroadcastf32x4, prefix: Pavx, op: opBytes{
  1345  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x5A,
  1346  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x5A,
  1347  	}},
  1348  	{as: AVBROADCASTI32X8, ytab: _yvbroadcastf32x8, prefix: Pavx, op: opBytes{
  1349  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x5B,
  1350  	}},
  1351  	{as: AVBROADCASTI64X2, ytab: _yvbroadcastf32x4, prefix: Pavx, op: opBytes{
  1352  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN16 | evexZeroingEnabled, 0x5A,
  1353  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN16 | evexZeroingEnabled, 0x5A,
  1354  	}},
  1355  	{as: AVBROADCASTI64X4, ytab: _yvbroadcastf32x8, prefix: Pavx, op: opBytes{
  1356  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN32 | evexZeroingEnabled, 0x5B,
  1357  	}},
  1358  	{as: AVBROADCASTSD, ytab: _yvbroadcastsd, prefix: Pavx, op: opBytes{
  1359  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x19,
  1360  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x19,
  1361  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x19,
  1362  	}},
  1363  	{as: AVBROADCASTSS, ytab: _yvbroadcastss, prefix: Pavx, op: opBytes{
  1364  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x18,
  1365  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x18,
  1366  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x18,
  1367  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x18,
  1368  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x18,
  1369  	}},
  1370  	{as: AVCMPPD, ytab: _yvcmppd, prefix: Pavx, op: opBytes{
  1371  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xC2,
  1372  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xC2,
  1373  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexSaeEnabled, 0xC2,
  1374  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8, 0xC2,
  1375  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8, 0xC2,
  1376  	}},
  1377  	{as: AVCMPPS, ytab: _yvcmppd, prefix: Pavx, op: opBytes{
  1378  		avxEscape | vex128 | vex0F | vexW0, 0xC2,
  1379  		avxEscape | vex256 | vex0F | vexW0, 0xC2,
  1380  		avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexSaeEnabled, 0xC2,
  1381  		avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4, 0xC2,
  1382  		avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4, 0xC2,
  1383  	}},
  1384  	{as: AVCMPSD, ytab: _yvcmpsd, prefix: Pavx, op: opBytes{
  1385  		avxEscape | vex128 | vexF2 | vex0F | vexW0, 0xC2,
  1386  		avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexSaeEnabled, 0xC2,
  1387  	}},
  1388  	{as: AVCMPSS, ytab: _yvcmpsd, prefix: Pavx, op: opBytes{
  1389  		avxEscape | vex128 | vexF3 | vex0F | vexW0, 0xC2,
  1390  		avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4 | evexSaeEnabled, 0xC2,
  1391  	}},
  1392  	{as: AVCOMISD, ytab: _yvcomisd, prefix: Pavx, op: opBytes{
  1393  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x2F,
  1394  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN8 | evexSaeEnabled, 0x2F,
  1395  	}},
  1396  	{as: AVCOMISS, ytab: _yvcomisd, prefix: Pavx, op: opBytes{
  1397  		avxEscape | vex128 | vex0F | vexW0, 0x2F,
  1398  		avxEscape | evex128 | evex0F | evexW0, evexN4 | evexSaeEnabled, 0x2F,
  1399  	}},
  1400  	{as: AVCOMPRESSPD, ytab: _yvcompresspd, prefix: Pavx, op: opBytes{
  1401  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x8A,
  1402  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x8A,
  1403  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x8A,
  1404  	}},
  1405  	{as: AVCOMPRESSPS, ytab: _yvcompresspd, prefix: Pavx, op: opBytes{
  1406  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x8A,
  1407  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x8A,
  1408  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x8A,
  1409  	}},
  1410  	{as: AVCVTDQ2PD, ytab: _yvcvtdq2pd, prefix: Pavx, op: opBytes{
  1411  		avxEscape | vex128 | vexF3 | vex0F | vexW0, 0xE6,
  1412  		avxEscape | vex256 | vexF3 | vex0F | vexW0, 0xE6,
  1413  		avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN8 | evexBcstN4 | evexZeroingEnabled, 0xE6,
  1414  		avxEscape | evex256 | evexF3 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xE6,
  1415  		avxEscape | evex512 | evexF3 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xE6,
  1416  	}},
  1417  	{as: AVCVTDQ2PS, ytab: _yvcvtdq2ps, prefix: Pavx, op: opBytes{
  1418  		avxEscape | vex128 | vex0F | vexW0, 0x5B,
  1419  		avxEscape | vex256 | vex0F | vexW0, 0x5B,
  1420  		avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x5B,
  1421  		avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x5B,
  1422  		avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x5B,
  1423  	}},
  1424  	{as: AVCVTPD2DQ, ytab: _yvcvtpd2dq, prefix: Pavx, op: opBytes{
  1425  		avxEscape | evex512 | evexF2 | evex0F | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0xE6,
  1426  	}},
  1427  	{as: AVCVTPD2DQX, ytab: _yvcvtpd2dqx, prefix: Pavx, op: opBytes{
  1428  		avxEscape | vex128 | vexF2 | vex0F | vexW0, 0xE6,
  1429  		avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xE6,
  1430  	}},
  1431  	{as: AVCVTPD2DQY, ytab: _yvcvtpd2dqy, prefix: Pavx, op: opBytes{
  1432  		avxEscape | vex256 | vexF2 | vex0F | vexW0, 0xE6,
  1433  		avxEscape | evex256 | evexF2 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xE6,
  1434  	}},
  1435  	{as: AVCVTPD2PS, ytab: _yvcvtpd2dq, prefix: Pavx, op: opBytes{
  1436  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x5A,
  1437  	}},
  1438  	{as: AVCVTPD2PSX, ytab: _yvcvtpd2dqx, prefix: Pavx, op: opBytes{
  1439  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x5A,
  1440  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x5A,
  1441  	}},
  1442  	{as: AVCVTPD2PSY, ytab: _yvcvtpd2dqy, prefix: Pavx, op: opBytes{
  1443  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x5A,
  1444  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x5A,
  1445  	}},
  1446  	{as: AVCVTPD2QQ, ytab: _yvcvtpd2qq, prefix: Pavx, op: opBytes{
  1447  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x7B,
  1448  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x7B,
  1449  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x7B,
  1450  	}},
  1451  	{as: AVCVTPD2UDQ, ytab: _yvcvtpd2dq, prefix: Pavx, op: opBytes{
  1452  		avxEscape | evex512 | evex0F | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x79,
  1453  	}},
  1454  	{as: AVCVTPD2UDQX, ytab: _yvcvtpd2udqx, prefix: Pavx, op: opBytes{
  1455  		avxEscape | evex128 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x79,
  1456  	}},
  1457  	{as: AVCVTPD2UDQY, ytab: _yvcvtpd2udqy, prefix: Pavx, op: opBytes{
  1458  		avxEscape | evex256 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x79,
  1459  	}},
  1460  	{as: AVCVTPD2UQQ, ytab: _yvcvtpd2qq, prefix: Pavx, op: opBytes{
  1461  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x79,
  1462  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x79,
  1463  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x79,
  1464  	}},
  1465  	{as: AVCVTPH2PS, ytab: _yvcvtph2ps, prefix: Pavx, op: opBytes{
  1466  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x13,
  1467  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x13,
  1468  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN32 | evexSaeEnabled | evexZeroingEnabled, 0x13,
  1469  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x13,
  1470  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x13,
  1471  	}},
  1472  	{as: AVCVTPS2DQ, ytab: _yvcvtdq2ps, prefix: Pavx, op: opBytes{
  1473  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x5B,
  1474  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x5B,
  1475  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x5B,
  1476  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x5B,
  1477  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x5B,
  1478  	}},
  1479  	{as: AVCVTPS2PD, ytab: _yvcvtph2ps, prefix: Pavx, op: opBytes{
  1480  		avxEscape | vex128 | vex0F | vexW0, 0x5A,
  1481  		avxEscape | vex256 | vex0F | vexW0, 0x5A,
  1482  		avxEscape | evex512 | evex0F | evexW0, evexN32 | evexBcstN4 | evexSaeEnabled | evexZeroingEnabled, 0x5A,
  1483  		avxEscape | evex128 | evex0F | evexW0, evexN8 | evexBcstN4 | evexZeroingEnabled, 0x5A,
  1484  		avxEscape | evex256 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x5A,
  1485  	}},
  1486  	{as: AVCVTPS2PH, ytab: _yvcvtps2ph, prefix: Pavx, op: opBytes{
  1487  		avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x1D,
  1488  		avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x1D,
  1489  		avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN32 | evexSaeEnabled | evexZeroingEnabled, 0x1D,
  1490  		avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN8 | evexZeroingEnabled, 0x1D,
  1491  		avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN16 | evexZeroingEnabled, 0x1D,
  1492  	}},
  1493  	{as: AVCVTPS2QQ, ytab: _yvcvtps2qq, prefix: Pavx, op: opBytes{
  1494  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x7B,
  1495  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN8 | evexBcstN4 | evexZeroingEnabled, 0x7B,
  1496  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x7B,
  1497  	}},
  1498  	{as: AVCVTPS2UDQ, ytab: _yvcvtpd2qq, prefix: Pavx, op: opBytes{
  1499  		avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x79,
  1500  		avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x79,
  1501  		avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x79,
  1502  	}},
  1503  	{as: AVCVTPS2UQQ, ytab: _yvcvtps2qq, prefix: Pavx, op: opBytes{
  1504  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x79,
  1505  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN8 | evexBcstN4 | evexZeroingEnabled, 0x79,
  1506  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x79,
  1507  	}},
  1508  	{as: AVCVTQQ2PD, ytab: _yvcvtpd2qq, prefix: Pavx, op: opBytes{
  1509  		avxEscape | evex512 | evexF3 | evex0F | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0xE6,
  1510  		avxEscape | evex128 | evexF3 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xE6,
  1511  		avxEscape | evex256 | evexF3 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xE6,
  1512  	}},
  1513  	{as: AVCVTQQ2PS, ytab: _yvcvtpd2dq, prefix: Pavx, op: opBytes{
  1514  		avxEscape | evex512 | evex0F | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x5B,
  1515  	}},
  1516  	{as: AVCVTQQ2PSX, ytab: _yvcvtpd2udqx, prefix: Pavx, op: opBytes{
  1517  		avxEscape | evex128 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x5B,
  1518  	}},
  1519  	{as: AVCVTQQ2PSY, ytab: _yvcvtpd2udqy, prefix: Pavx, op: opBytes{
  1520  		avxEscape | evex256 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x5B,
  1521  	}},
  1522  	{as: AVCVTSD2SI, ytab: _yvcvtsd2si, prefix: Pavx, op: opBytes{
  1523  		avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x2D,
  1524  		avxEscape | evex128 | evexF2 | evex0F | evexW0, evexN8 | evexRoundingEnabled, 0x2D,
  1525  	}},
  1526  	{as: AVCVTSD2SIQ, ytab: _yvcvtsd2si, prefix: Pavx, op: opBytes{
  1527  		avxEscape | vex128 | vexF2 | vex0F | vexW1, 0x2D,
  1528  		avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexRoundingEnabled, 0x2D,
  1529  	}},
  1530  	{as: AVCVTSD2SS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  1531  		avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x5A,
  1532  		avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0x5A,
  1533  	}},
  1534  	{as: AVCVTSD2USIL, ytab: _yvcvtsd2usil, prefix: Pavx, op: opBytes{
  1535  		avxEscape | evex128 | evexF2 | evex0F | evexW0, evexN8 | evexRoundingEnabled, 0x79,
  1536  	}},
  1537  	{as: AVCVTSD2USIQ, ytab: _yvcvtsd2usil, prefix: Pavx, op: opBytes{
  1538  		avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexRoundingEnabled, 0x79,
  1539  	}},
  1540  	{as: AVCVTSI2SDL, ytab: _yvcvtsi2sdl, prefix: Pavx, op: opBytes{
  1541  		avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x2A,
  1542  		avxEscape | evex128 | evexF2 | evex0F | evexW0, evexN4, 0x2A,
  1543  	}},
  1544  	{as: AVCVTSI2SDQ, ytab: _yvcvtsi2sdl, prefix: Pavx, op: opBytes{
  1545  		avxEscape | vex128 | vexF2 | vex0F | vexW1, 0x2A,
  1546  		avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexRoundingEnabled, 0x2A,
  1547  	}},
  1548  	{as: AVCVTSI2SSL, ytab: _yvcvtsi2sdl, prefix: Pavx, op: opBytes{
  1549  		avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x2A,
  1550  		avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4 | evexRoundingEnabled, 0x2A,
  1551  	}},
  1552  	{as: AVCVTSI2SSQ, ytab: _yvcvtsi2sdl, prefix: Pavx, op: opBytes{
  1553  		avxEscape | vex128 | vexF3 | vex0F | vexW1, 0x2A,
  1554  		avxEscape | evex128 | evexF3 | evex0F | evexW1, evexN8 | evexRoundingEnabled, 0x2A,
  1555  	}},
  1556  	{as: AVCVTSS2SD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  1557  		avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x5A,
  1558  		avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4 | evexSaeEnabled | evexZeroingEnabled, 0x5A,
  1559  	}},
  1560  	{as: AVCVTSS2SI, ytab: _yvcvtsd2si, prefix: Pavx, op: opBytes{
  1561  		avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x2D,
  1562  		avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4 | evexRoundingEnabled, 0x2D,
  1563  	}},
  1564  	{as: AVCVTSS2SIQ, ytab: _yvcvtsd2si, prefix: Pavx, op: opBytes{
  1565  		avxEscape | vex128 | vexF3 | vex0F | vexW1, 0x2D,
  1566  		avxEscape | evex128 | evexF3 | evex0F | evexW1, evexN4 | evexRoundingEnabled, 0x2D,
  1567  	}},
  1568  	{as: AVCVTSS2USIL, ytab: _yvcvtsd2usil, prefix: Pavx, op: opBytes{
  1569  		avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4 | evexRoundingEnabled, 0x79,
  1570  	}},
  1571  	{as: AVCVTSS2USIQ, ytab: _yvcvtsd2usil, prefix: Pavx, op: opBytes{
  1572  		avxEscape | evex128 | evexF3 | evex0F | evexW1, evexN4 | evexRoundingEnabled, 0x79,
  1573  	}},
  1574  	{as: AVCVTTPD2DQ, ytab: _yvcvtpd2dq, prefix: Pavx, op: opBytes{
  1575  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexSaeEnabled | evexZeroingEnabled, 0xE6,
  1576  	}},
  1577  	{as: AVCVTTPD2DQX, ytab: _yvcvtpd2dqx, prefix: Pavx, op: opBytes{
  1578  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xE6,
  1579  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xE6,
  1580  	}},
  1581  	{as: AVCVTTPD2DQY, ytab: _yvcvtpd2dqy, prefix: Pavx, op: opBytes{
  1582  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xE6,
  1583  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xE6,
  1584  	}},
  1585  	{as: AVCVTTPD2QQ, ytab: _yvcvtpd2qq, prefix: Pavx, op: opBytes{
  1586  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexSaeEnabled | evexZeroingEnabled, 0x7A,
  1587  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x7A,
  1588  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x7A,
  1589  	}},
  1590  	{as: AVCVTTPD2UDQ, ytab: _yvcvtpd2dq, prefix: Pavx, op: opBytes{
  1591  		avxEscape | evex512 | evex0F | evexW1, evexN64 | evexBcstN8 | evexSaeEnabled | evexZeroingEnabled, 0x78,
  1592  	}},
  1593  	{as: AVCVTTPD2UDQX, ytab: _yvcvtpd2udqx, prefix: Pavx, op: opBytes{
  1594  		avxEscape | evex128 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x78,
  1595  	}},
  1596  	{as: AVCVTTPD2UDQY, ytab: _yvcvtpd2udqy, prefix: Pavx, op: opBytes{
  1597  		avxEscape | evex256 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x78,
  1598  	}},
  1599  	{as: AVCVTTPD2UQQ, ytab: _yvcvtpd2qq, prefix: Pavx, op: opBytes{
  1600  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexSaeEnabled | evexZeroingEnabled, 0x78,
  1601  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x78,
  1602  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x78,
  1603  	}},
  1604  	{as: AVCVTTPS2DQ, ytab: _yvcvtdq2ps, prefix: Pavx, op: opBytes{
  1605  		avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x5B,
  1606  		avxEscape | vex256 | vexF3 | vex0F | vexW0, 0x5B,
  1607  		avxEscape | evex512 | evexF3 | evex0F | evexW0, evexN64 | evexBcstN4 | evexSaeEnabled | evexZeroingEnabled, 0x5B,
  1608  		avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x5B,
  1609  		avxEscape | evex256 | evexF3 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x5B,
  1610  	}},
  1611  	{as: AVCVTTPS2QQ, ytab: _yvcvtps2qq, prefix: Pavx, op: opBytes{
  1612  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexSaeEnabled | evexZeroingEnabled, 0x7A,
  1613  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN8 | evexBcstN4 | evexZeroingEnabled, 0x7A,
  1614  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x7A,
  1615  	}},
  1616  	{as: AVCVTTPS2UDQ, ytab: _yvcvtpd2qq, prefix: Pavx, op: opBytes{
  1617  		avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexSaeEnabled | evexZeroingEnabled, 0x78,
  1618  		avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x78,
  1619  		avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x78,
  1620  	}},
  1621  	{as: AVCVTTPS2UQQ, ytab: _yvcvtps2qq, prefix: Pavx, op: opBytes{
  1622  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexSaeEnabled | evexZeroingEnabled, 0x78,
  1623  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN8 | evexBcstN4 | evexZeroingEnabled, 0x78,
  1624  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x78,
  1625  	}},
  1626  	{as: AVCVTTSD2SI, ytab: _yvcvtsd2si, prefix: Pavx, op: opBytes{
  1627  		avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x2C,
  1628  		avxEscape | evex128 | evexF2 | evex0F | evexW0, evexN8 | evexSaeEnabled, 0x2C,
  1629  	}},
  1630  	{as: AVCVTTSD2SIQ, ytab: _yvcvtsd2si, prefix: Pavx, op: opBytes{
  1631  		avxEscape | vex128 | vexF2 | vex0F | vexW1, 0x2C,
  1632  		avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexSaeEnabled, 0x2C,
  1633  	}},
  1634  	{as: AVCVTTSD2USIL, ytab: _yvcvtsd2usil, prefix: Pavx, op: opBytes{
  1635  		avxEscape | evex128 | evexF2 | evex0F | evexW0, evexN8 | evexSaeEnabled, 0x78,
  1636  	}},
  1637  	{as: AVCVTTSD2USIQ, ytab: _yvcvtsd2usil, prefix: Pavx, op: opBytes{
  1638  		avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexSaeEnabled, 0x78,
  1639  	}},
  1640  	{as: AVCVTTSS2SI, ytab: _yvcvtsd2si, prefix: Pavx, op: opBytes{
  1641  		avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x2C,
  1642  		avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4 | evexSaeEnabled, 0x2C,
  1643  	}},
  1644  	{as: AVCVTTSS2SIQ, ytab: _yvcvtsd2si, prefix: Pavx, op: opBytes{
  1645  		avxEscape | vex128 | vexF3 | vex0F | vexW1, 0x2C,
  1646  		avxEscape | evex128 | evexF3 | evex0F | evexW1, evexN4 | evexSaeEnabled, 0x2C,
  1647  	}},
  1648  	{as: AVCVTTSS2USIL, ytab: _yvcvtsd2usil, prefix: Pavx, op: opBytes{
  1649  		avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4 | evexSaeEnabled, 0x78,
  1650  	}},
  1651  	{as: AVCVTTSS2USIQ, ytab: _yvcvtsd2usil, prefix: Pavx, op: opBytes{
  1652  		avxEscape | evex128 | evexF3 | evex0F | evexW1, evexN4 | evexSaeEnabled, 0x78,
  1653  	}},
  1654  	{as: AVCVTUDQ2PD, ytab: _yvcvtudq2pd, prefix: Pavx, op: opBytes{
  1655  		avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN8 | evexBcstN4 | evexZeroingEnabled, 0x7A,
  1656  		avxEscape | evex256 | evexF3 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x7A,
  1657  		avxEscape | evex512 | evexF3 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x7A,
  1658  	}},
  1659  	{as: AVCVTUDQ2PS, ytab: _yvcvtpd2qq, prefix: Pavx, op: opBytes{
  1660  		avxEscape | evex512 | evexF2 | evex0F | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x7A,
  1661  		avxEscape | evex128 | evexF2 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x7A,
  1662  		avxEscape | evex256 | evexF2 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x7A,
  1663  	}},
  1664  	{as: AVCVTUQQ2PD, ytab: _yvcvtpd2qq, prefix: Pavx, op: opBytes{
  1665  		avxEscape | evex512 | evexF3 | evex0F | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x7A,
  1666  		avxEscape | evex128 | evexF3 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x7A,
  1667  		avxEscape | evex256 | evexF3 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x7A,
  1668  	}},
  1669  	{as: AVCVTUQQ2PS, ytab: _yvcvtpd2dq, prefix: Pavx, op: opBytes{
  1670  		avxEscape | evex512 | evexF2 | evex0F | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x7A,
  1671  	}},
  1672  	{as: AVCVTUQQ2PSX, ytab: _yvcvtpd2udqx, prefix: Pavx, op: opBytes{
  1673  		avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x7A,
  1674  	}},
  1675  	{as: AVCVTUQQ2PSY, ytab: _yvcvtpd2udqy, prefix: Pavx, op: opBytes{
  1676  		avxEscape | evex256 | evexF2 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x7A,
  1677  	}},
  1678  	{as: AVCVTUSI2SDL, ytab: _yvcvtusi2sdl, prefix: Pavx, op: opBytes{
  1679  		avxEscape | evex128 | evexF2 | evex0F | evexW0, evexN4, 0x7B,
  1680  	}},
  1681  	{as: AVCVTUSI2SDQ, ytab: _yvcvtusi2sdl, prefix: Pavx, op: opBytes{
  1682  		avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexRoundingEnabled, 0x7B,
  1683  	}},
  1684  	{as: AVCVTUSI2SSL, ytab: _yvcvtusi2sdl, prefix: Pavx, op: opBytes{
  1685  		avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4 | evexRoundingEnabled, 0x7B,
  1686  	}},
  1687  	{as: AVCVTUSI2SSQ, ytab: _yvcvtusi2sdl, prefix: Pavx, op: opBytes{
  1688  		avxEscape | evex128 | evexF3 | evex0F | evexW1, evexN8 | evexRoundingEnabled, 0x7B,
  1689  	}},
  1690  	{as: AVDBPSADBW, ytab: _yvalignd, prefix: Pavx, op: opBytes{
  1691  		avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16 | evexZeroingEnabled, 0x42,
  1692  		avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexZeroingEnabled, 0x42,
  1693  		avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexZeroingEnabled, 0x42,
  1694  	}},
  1695  	{as: AVDIVPD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  1696  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x5E,
  1697  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x5E,
  1698  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x5E,
  1699  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x5E,
  1700  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x5E,
  1701  	}},
  1702  	{as: AVDIVPS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  1703  		avxEscape | vex128 | vex0F | vexW0, 0x5E,
  1704  		avxEscape | vex256 | vex0F | vexW0, 0x5E,
  1705  		avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x5E,
  1706  		avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x5E,
  1707  		avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x5E,
  1708  	}},
  1709  	{as: AVDIVSD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  1710  		avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x5E,
  1711  		avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0x5E,
  1712  	}},
  1713  	{as: AVDIVSS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  1714  		avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x5E,
  1715  		avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0x5E,
  1716  	}},
  1717  	{as: AVDPPD, ytab: _yvdppd, prefix: Pavx, op: opBytes{
  1718  		avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x41,
  1719  	}},
  1720  	{as: AVDPPS, ytab: _yvblendpd, prefix: Pavx, op: opBytes{
  1721  		avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x40,
  1722  		avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x40,
  1723  	}},
  1724  	{as: AVEXP2PD, ytab: _yvexp2pd, prefix: Pavx, op: opBytes{
  1725  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexSaeEnabled | evexZeroingEnabled, 0xC8,
  1726  	}},
  1727  	{as: AVEXP2PS, ytab: _yvexp2pd, prefix: Pavx, op: opBytes{
  1728  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexSaeEnabled | evexZeroingEnabled, 0xC8,
  1729  	}},
  1730  	{as: AVEXPANDPD, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
  1731  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x88,
  1732  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x88,
  1733  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x88,
  1734  	}},
  1735  	{as: AVEXPANDPS, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
  1736  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x88,
  1737  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x88,
  1738  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x88,
  1739  	}},
  1740  	{as: AVEXTRACTF128, ytab: _yvextractf128, prefix: Pavx, op: opBytes{
  1741  		avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x19,
  1742  	}},
  1743  	{as: AVEXTRACTF32X4, ytab: _yvextractf32x4, prefix: Pavx, op: opBytes{
  1744  		avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN16 | evexZeroingEnabled, 0x19,
  1745  		avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN16 | evexZeroingEnabled, 0x19,
  1746  	}},
  1747  	{as: AVEXTRACTF32X8, ytab: _yvextractf32x8, prefix: Pavx, op: opBytes{
  1748  		avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN32 | evexZeroingEnabled, 0x1B,
  1749  	}},
  1750  	{as: AVEXTRACTF64X2, ytab: _yvextractf32x4, prefix: Pavx, op: opBytes{
  1751  		avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN16 | evexZeroingEnabled, 0x19,
  1752  		avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN16 | evexZeroingEnabled, 0x19,
  1753  	}},
  1754  	{as: AVEXTRACTF64X4, ytab: _yvextractf32x8, prefix: Pavx, op: opBytes{
  1755  		avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN32 | evexZeroingEnabled, 0x1B,
  1756  	}},
  1757  	{as: AVEXTRACTI128, ytab: _yvextractf128, prefix: Pavx, op: opBytes{
  1758  		avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x39,
  1759  	}},
  1760  	{as: AVEXTRACTI32X4, ytab: _yvextractf32x4, prefix: Pavx, op: opBytes{
  1761  		avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN16 | evexZeroingEnabled, 0x39,
  1762  		avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN16 | evexZeroingEnabled, 0x39,
  1763  	}},
  1764  	{as: AVEXTRACTI32X8, ytab: _yvextractf32x8, prefix: Pavx, op: opBytes{
  1765  		avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN32 | evexZeroingEnabled, 0x3B,
  1766  	}},
  1767  	{as: AVEXTRACTI64X2, ytab: _yvextractf32x4, prefix: Pavx, op: opBytes{
  1768  		avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN16 | evexZeroingEnabled, 0x39,
  1769  		avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN16 | evexZeroingEnabled, 0x39,
  1770  	}},
  1771  	{as: AVEXTRACTI64X4, ytab: _yvextractf32x8, prefix: Pavx, op: opBytes{
  1772  		avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN32 | evexZeroingEnabled, 0x3B,
  1773  	}},
  1774  	{as: AVEXTRACTPS, ytab: _yvextractps, prefix: Pavx, op: opBytes{
  1775  		avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x17,
  1776  		avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN4, 0x17,
  1777  	}},
  1778  	{as: AVFIXUPIMMPD, ytab: _yvfixupimmpd, prefix: Pavx, op: opBytes{
  1779  		avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8 | evexSaeEnabled | evexZeroingEnabled, 0x54,
  1780  		avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x54,
  1781  		avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x54,
  1782  	}},
  1783  	{as: AVFIXUPIMMPS, ytab: _yvfixupimmpd, prefix: Pavx, op: opBytes{
  1784  		avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexBcstN4 | evexSaeEnabled | evexZeroingEnabled, 0x54,
  1785  		avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x54,
  1786  		avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x54,
  1787  	}},
  1788  	{as: AVFIXUPIMMSD, ytab: _yvfixupimmsd, prefix: Pavx, op: opBytes{
  1789  		avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN8 | evexSaeEnabled | evexZeroingEnabled, 0x55,
  1790  	}},
  1791  	{as: AVFIXUPIMMSS, ytab: _yvfixupimmsd, prefix: Pavx, op: opBytes{
  1792  		avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN4 | evexSaeEnabled | evexZeroingEnabled, 0x55,
  1793  	}},
  1794  	{as: AVFMADD132PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  1795  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x98,
  1796  		avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0x98,
  1797  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x98,
  1798  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x98,
  1799  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x98,
  1800  	}},
  1801  	{as: AVFMADD132PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  1802  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x98,
  1803  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x98,
  1804  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x98,
  1805  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x98,
  1806  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x98,
  1807  	}},
  1808  	{as: AVFMADD132SD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  1809  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x99,
  1810  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0x99,
  1811  	}},
  1812  	{as: AVFMADD132SS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  1813  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x99,
  1814  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0x99,
  1815  	}},
  1816  	{as: AVFMADD213PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  1817  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xA8,
  1818  		avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0xA8,
  1819  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0xA8,
  1820  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xA8,
  1821  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xA8,
  1822  	}},
  1823  	{as: AVFMADD213PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  1824  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xA8,
  1825  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xA8,
  1826  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0xA8,
  1827  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xA8,
  1828  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xA8,
  1829  	}},
  1830  	{as: AVFMADD213SD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  1831  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xA9,
  1832  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0xA9,
  1833  	}},
  1834  	{as: AVFMADD213SS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  1835  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xA9,
  1836  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0xA9,
  1837  	}},
  1838  	{as: AVFMADD231PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  1839  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xB8,
  1840  		avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0xB8,
  1841  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0xB8,
  1842  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xB8,
  1843  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xB8,
  1844  	}},
  1845  	{as: AVFMADD231PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  1846  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xB8,
  1847  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xB8,
  1848  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0xB8,
  1849  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xB8,
  1850  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xB8,
  1851  	}},
  1852  	{as: AVFMADD231SD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  1853  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xB9,
  1854  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0xB9,
  1855  	}},
  1856  	{as: AVFMADD231SS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  1857  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xB9,
  1858  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0xB9,
  1859  	}},
  1860  	{as: AVFMADDSUB132PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  1861  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x96,
  1862  		avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0x96,
  1863  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x96,
  1864  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x96,
  1865  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x96,
  1866  	}},
  1867  	{as: AVFMADDSUB132PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  1868  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x96,
  1869  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x96,
  1870  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x96,
  1871  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x96,
  1872  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x96,
  1873  	}},
  1874  	{as: AVFMADDSUB213PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  1875  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xA6,
  1876  		avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0xA6,
  1877  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0xA6,
  1878  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xA6,
  1879  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xA6,
  1880  	}},
  1881  	{as: AVFMADDSUB213PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  1882  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xA6,
  1883  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xA6,
  1884  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0xA6,
  1885  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xA6,
  1886  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xA6,
  1887  	}},
  1888  	{as: AVFMADDSUB231PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  1889  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xB6,
  1890  		avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0xB6,
  1891  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0xB6,
  1892  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xB6,
  1893  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xB6,
  1894  	}},
  1895  	{as: AVFMADDSUB231PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  1896  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xB6,
  1897  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xB6,
  1898  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0xB6,
  1899  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xB6,
  1900  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xB6,
  1901  	}},
  1902  	{as: AVFMSUB132PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  1903  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x9A,
  1904  		avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0x9A,
  1905  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x9A,
  1906  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x9A,
  1907  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x9A,
  1908  	}},
  1909  	{as: AVFMSUB132PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  1910  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x9A,
  1911  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x9A,
  1912  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x9A,
  1913  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x9A,
  1914  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x9A,
  1915  	}},
  1916  	{as: AVFMSUB132SD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  1917  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x9B,
  1918  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0x9B,
  1919  	}},
  1920  	{as: AVFMSUB132SS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  1921  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x9B,
  1922  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0x9B,
  1923  	}},
  1924  	{as: AVFMSUB213PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  1925  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xAA,
  1926  		avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0xAA,
  1927  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0xAA,
  1928  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xAA,
  1929  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xAA,
  1930  	}},
  1931  	{as: AVFMSUB213PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  1932  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xAA,
  1933  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xAA,
  1934  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0xAA,
  1935  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xAA,
  1936  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xAA,
  1937  	}},
  1938  	{as: AVFMSUB213SD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  1939  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xAB,
  1940  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0xAB,
  1941  	}},
  1942  	{as: AVFMSUB213SS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  1943  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xAB,
  1944  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0xAB,
  1945  	}},
  1946  	{as: AVFMSUB231PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  1947  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xBA,
  1948  		avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0xBA,
  1949  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0xBA,
  1950  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xBA,
  1951  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xBA,
  1952  	}},
  1953  	{as: AVFMSUB231PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  1954  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xBA,
  1955  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xBA,
  1956  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0xBA,
  1957  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xBA,
  1958  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xBA,
  1959  	}},
  1960  	{as: AVFMSUB231SD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  1961  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xBB,
  1962  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0xBB,
  1963  	}},
  1964  	{as: AVFMSUB231SS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  1965  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xBB,
  1966  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0xBB,
  1967  	}},
  1968  	{as: AVFMSUBADD132PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  1969  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x97,
  1970  		avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0x97,
  1971  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x97,
  1972  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x97,
  1973  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x97,
  1974  	}},
  1975  	{as: AVFMSUBADD132PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  1976  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x97,
  1977  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x97,
  1978  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x97,
  1979  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x97,
  1980  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x97,
  1981  	}},
  1982  	{as: AVFMSUBADD213PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  1983  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xA7,
  1984  		avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0xA7,
  1985  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0xA7,
  1986  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xA7,
  1987  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xA7,
  1988  	}},
  1989  	{as: AVFMSUBADD213PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  1990  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xA7,
  1991  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xA7,
  1992  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0xA7,
  1993  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xA7,
  1994  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xA7,
  1995  	}},
  1996  	{as: AVFMSUBADD231PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  1997  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xB7,
  1998  		avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0xB7,
  1999  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0xB7,
  2000  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xB7,
  2001  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xB7,
  2002  	}},
  2003  	{as: AVFMSUBADD231PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  2004  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xB7,
  2005  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xB7,
  2006  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0xB7,
  2007  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xB7,
  2008  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xB7,
  2009  	}},
  2010  	{as: AVFNMADD132PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  2011  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x9C,
  2012  		avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0x9C,
  2013  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x9C,
  2014  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x9C,
  2015  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x9C,
  2016  	}},
  2017  	{as: AVFNMADD132PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  2018  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x9C,
  2019  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x9C,
  2020  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x9C,
  2021  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x9C,
  2022  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x9C,
  2023  	}},
  2024  	{as: AVFNMADD132SD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  2025  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x9D,
  2026  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0x9D,
  2027  	}},
  2028  	{as: AVFNMADD132SS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  2029  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x9D,
  2030  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0x9D,
  2031  	}},
  2032  	{as: AVFNMADD213PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  2033  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xAC,
  2034  		avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0xAC,
  2035  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0xAC,
  2036  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xAC,
  2037  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xAC,
  2038  	}},
  2039  	{as: AVFNMADD213PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  2040  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xAC,
  2041  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xAC,
  2042  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0xAC,
  2043  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xAC,
  2044  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xAC,
  2045  	}},
  2046  	{as: AVFNMADD213SD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  2047  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xAD,
  2048  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0xAD,
  2049  	}},
  2050  	{as: AVFNMADD213SS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  2051  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xAD,
  2052  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0xAD,
  2053  	}},
  2054  	{as: AVFNMADD231PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  2055  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xBC,
  2056  		avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0xBC,
  2057  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0xBC,
  2058  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xBC,
  2059  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xBC,
  2060  	}},
  2061  	{as: AVFNMADD231PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  2062  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xBC,
  2063  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xBC,
  2064  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0xBC,
  2065  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xBC,
  2066  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xBC,
  2067  	}},
  2068  	{as: AVFNMADD231SD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  2069  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xBD,
  2070  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0xBD,
  2071  	}},
  2072  	{as: AVFNMADD231SS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  2073  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xBD,
  2074  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0xBD,
  2075  	}},
  2076  	{as: AVFNMSUB132PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  2077  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x9E,
  2078  		avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0x9E,
  2079  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x9E,
  2080  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x9E,
  2081  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x9E,
  2082  	}},
  2083  	{as: AVFNMSUB132PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  2084  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x9E,
  2085  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x9E,
  2086  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x9E,
  2087  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x9E,
  2088  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x9E,
  2089  	}},
  2090  	{as: AVFNMSUB132SD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  2091  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x9F,
  2092  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0x9F,
  2093  	}},
  2094  	{as: AVFNMSUB132SS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  2095  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x9F,
  2096  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0x9F,
  2097  	}},
  2098  	{as: AVFNMSUB213PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  2099  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xAE,
  2100  		avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0xAE,
  2101  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0xAE,
  2102  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xAE,
  2103  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xAE,
  2104  	}},
  2105  	{as: AVFNMSUB213PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  2106  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xAE,
  2107  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xAE,
  2108  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0xAE,
  2109  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xAE,
  2110  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xAE,
  2111  	}},
  2112  	{as: AVFNMSUB213SD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  2113  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xAF,
  2114  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0xAF,
  2115  	}},
  2116  	{as: AVFNMSUB213SS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  2117  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xAF,
  2118  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0xAF,
  2119  	}},
  2120  	{as: AVFNMSUB231PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  2121  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xBE,
  2122  		avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0xBE,
  2123  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0xBE,
  2124  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xBE,
  2125  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xBE,
  2126  	}},
  2127  	{as: AVFNMSUB231PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  2128  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xBE,
  2129  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xBE,
  2130  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0xBE,
  2131  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xBE,
  2132  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xBE,
  2133  	}},
  2134  	{as: AVFNMSUB231SD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  2135  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xBF,
  2136  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0xBF,
  2137  	}},
  2138  	{as: AVFNMSUB231SS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  2139  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xBF,
  2140  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0xBF,
  2141  	}},
  2142  	{as: AVFPCLASSPDX, ytab: _yvfpclasspdx, prefix: Pavx, op: opBytes{
  2143  		avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexBcstN8, 0x66,
  2144  	}},
  2145  	{as: AVFPCLASSPDY, ytab: _yvfpclasspdy, prefix: Pavx, op: opBytes{
  2146  		avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8, 0x66,
  2147  	}},
  2148  	{as: AVFPCLASSPDZ, ytab: _yvfpclasspdz, prefix: Pavx, op: opBytes{
  2149  		avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8, 0x66,
  2150  	}},
  2151  	{as: AVFPCLASSPSX, ytab: _yvfpclasspdx, prefix: Pavx, op: opBytes{
  2152  		avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16 | evexBcstN4, 0x66,
  2153  	}},
  2154  	{as: AVFPCLASSPSY, ytab: _yvfpclasspdy, prefix: Pavx, op: opBytes{
  2155  		avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexBcstN4, 0x66,
  2156  	}},
  2157  	{as: AVFPCLASSPSZ, ytab: _yvfpclasspdz, prefix: Pavx, op: opBytes{
  2158  		avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexBcstN4, 0x66,
  2159  	}},
  2160  	{as: AVFPCLASSSD, ytab: _yvfpclasspdx, prefix: Pavx, op: opBytes{
  2161  		avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN8, 0x67,
  2162  	}},
  2163  	{as: AVFPCLASSSS, ytab: _yvfpclasspdx, prefix: Pavx, op: opBytes{
  2164  		avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN4, 0x67,
  2165  	}},
  2166  	{as: AVGATHERDPD, ytab: _yvgatherdpd, prefix: Pavx, op: opBytes{
  2167  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x92,
  2168  		avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0x92,
  2169  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8, 0x92,
  2170  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN8, 0x92,
  2171  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8, 0x92,
  2172  	}},
  2173  	{as: AVGATHERDPS, ytab: _yvgatherdps, prefix: Pavx, op: opBytes{
  2174  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x92,
  2175  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x92,
  2176  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4, 0x92,
  2177  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN4, 0x92,
  2178  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4, 0x92,
  2179  	}},
  2180  	{as: AVGATHERPF0DPD, ytab: _yvgatherpf0dpd, prefix: Pavx, op: opBytes{
  2181  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8, 0xC6, 01,
  2182  	}},
  2183  	{as: AVGATHERPF0DPS, ytab: _yvgatherpf0dps, prefix: Pavx, op: opBytes{
  2184  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4, 0xC6, 01,
  2185  	}},
  2186  	{as: AVGATHERPF0QPD, ytab: _yvgatherpf0dps, prefix: Pavx, op: opBytes{
  2187  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8, 0xC7, 01,
  2188  	}},
  2189  	{as: AVGATHERPF0QPS, ytab: _yvgatherpf0dps, prefix: Pavx, op: opBytes{
  2190  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4, 0xC7, 01,
  2191  	}},
  2192  	{as: AVGATHERPF1DPD, ytab: _yvgatherpf0dpd, prefix: Pavx, op: opBytes{
  2193  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8, 0xC6, 02,
  2194  	}},
  2195  	{as: AVGATHERPF1DPS, ytab: _yvgatherpf0dps, prefix: Pavx, op: opBytes{
  2196  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4, 0xC6, 02,
  2197  	}},
  2198  	{as: AVGATHERPF1QPD, ytab: _yvgatherpf0dps, prefix: Pavx, op: opBytes{
  2199  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8, 0xC7, 02,
  2200  	}},
  2201  	{as: AVGATHERPF1QPS, ytab: _yvgatherpf0dps, prefix: Pavx, op: opBytes{
  2202  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4, 0xC7, 02,
  2203  	}},
  2204  	{as: AVGATHERQPD, ytab: _yvgatherdps, prefix: Pavx, op: opBytes{
  2205  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x93,
  2206  		avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0x93,
  2207  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8, 0x93,
  2208  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN8, 0x93,
  2209  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8, 0x93,
  2210  	}},
  2211  	{as: AVGATHERQPS, ytab: _yvgatherqps, prefix: Pavx, op: opBytes{
  2212  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x93,
  2213  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x93,
  2214  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4, 0x93,
  2215  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN4, 0x93,
  2216  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4, 0x93,
  2217  	}},
  2218  	{as: AVGETEXPPD, ytab: _yvcvtpd2qq, prefix: Pavx, op: opBytes{
  2219  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexSaeEnabled | evexZeroingEnabled, 0x42,
  2220  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x42,
  2221  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x42,
  2222  	}},
  2223  	{as: AVGETEXPPS, ytab: _yvcvtpd2qq, prefix: Pavx, op: opBytes{
  2224  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexSaeEnabled | evexZeroingEnabled, 0x42,
  2225  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x42,
  2226  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x42,
  2227  	}},
  2228  	{as: AVGETEXPSD, ytab: _yvgetexpsd, prefix: Pavx, op: opBytes{
  2229  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexSaeEnabled | evexZeroingEnabled, 0x43,
  2230  	}},
  2231  	{as: AVGETEXPSS, ytab: _yvgetexpsd, prefix: Pavx, op: opBytes{
  2232  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexSaeEnabled | evexZeroingEnabled, 0x43,
  2233  	}},
  2234  	{as: AVGETMANTPD, ytab: _yvgetmantpd, prefix: Pavx, op: opBytes{
  2235  		avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8 | evexSaeEnabled | evexZeroingEnabled, 0x26,
  2236  		avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x26,
  2237  		avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x26,
  2238  	}},
  2239  	{as: AVGETMANTPS, ytab: _yvgetmantpd, prefix: Pavx, op: opBytes{
  2240  		avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexBcstN4 | evexSaeEnabled | evexZeroingEnabled, 0x26,
  2241  		avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x26,
  2242  		avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x26,
  2243  	}},
  2244  	{as: AVGETMANTSD, ytab: _yvfixupimmsd, prefix: Pavx, op: opBytes{
  2245  		avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN8 | evexSaeEnabled | evexZeroingEnabled, 0x27,
  2246  	}},
  2247  	{as: AVGETMANTSS, ytab: _yvfixupimmsd, prefix: Pavx, op: opBytes{
  2248  		avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN4 | evexSaeEnabled | evexZeroingEnabled, 0x27,
  2249  	}},
  2250  	{as: AVGF2P8AFFINEINVQB, ytab: _yvgf2p8affineinvqb, prefix: Pavx, op: opBytes{
  2251  		avxEscape | vex128 | vex66 | vex0F3A | vexW1, 0xCF,
  2252  		avxEscape | vex256 | vex66 | vex0F3A | vexW1, 0xCF,
  2253  		avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xCF,
  2254  		avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xCF,
  2255  		avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0xCF,
  2256  	}},
  2257  	{as: AVGF2P8AFFINEQB, ytab: _yvgf2p8affineinvqb, prefix: Pavx, op: opBytes{
  2258  		avxEscape | vex128 | vex66 | vex0F3A | vexW1, 0xCE,
  2259  		avxEscape | vex256 | vex66 | vex0F3A | vexW1, 0xCE,
  2260  		avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xCE,
  2261  		avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xCE,
  2262  		avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0xCE,
  2263  	}},
  2264  	{as: AVGF2P8MULB, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  2265  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xCF,
  2266  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xCF,
  2267  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0xCF,
  2268  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0xCF,
  2269  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexZeroingEnabled, 0xCF,
  2270  	}},
  2271  	{as: AVHADDPD, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
  2272  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x7C,
  2273  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x7C,
  2274  	}},
  2275  	{as: AVHADDPS, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
  2276  		avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x7C,
  2277  		avxEscape | vex256 | vexF2 | vex0F | vexW0, 0x7C,
  2278  	}},
  2279  	{as: AVHSUBPD, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
  2280  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x7D,
  2281  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x7D,
  2282  	}},
  2283  	{as: AVHSUBPS, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
  2284  		avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x7D,
  2285  		avxEscape | vex256 | vexF2 | vex0F | vexW0, 0x7D,
  2286  	}},
  2287  	{as: AVINSERTF128, ytab: _yvinsertf128, prefix: Pavx, op: opBytes{
  2288  		avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x18,
  2289  	}},
  2290  	{as: AVINSERTF32X4, ytab: _yvinsertf32x4, prefix: Pavx, op: opBytes{
  2291  		avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN16 | evexZeroingEnabled, 0x18,
  2292  		avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN16 | evexZeroingEnabled, 0x18,
  2293  	}},
  2294  	{as: AVINSERTF32X8, ytab: _yvinsertf32x8, prefix: Pavx, op: opBytes{
  2295  		avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN32 | evexZeroingEnabled, 0x1A,
  2296  	}},
  2297  	{as: AVINSERTF64X2, ytab: _yvinsertf32x4, prefix: Pavx, op: opBytes{
  2298  		avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN16 | evexZeroingEnabled, 0x18,
  2299  		avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN16 | evexZeroingEnabled, 0x18,
  2300  	}},
  2301  	{as: AVINSERTF64X4, ytab: _yvinsertf32x8, prefix: Pavx, op: opBytes{
  2302  		avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN32 | evexZeroingEnabled, 0x1A,
  2303  	}},
  2304  	{as: AVINSERTI128, ytab: _yvinsertf128, prefix: Pavx, op: opBytes{
  2305  		avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x38,
  2306  	}},
  2307  	{as: AVINSERTI32X4, ytab: _yvinsertf32x4, prefix: Pavx, op: opBytes{
  2308  		avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN16 | evexZeroingEnabled, 0x38,
  2309  		avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN16 | evexZeroingEnabled, 0x38,
  2310  	}},
  2311  	{as: AVINSERTI32X8, ytab: _yvinsertf32x8, prefix: Pavx, op: opBytes{
  2312  		avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN32 | evexZeroingEnabled, 0x3A,
  2313  	}},
  2314  	{as: AVINSERTI64X2, ytab: _yvinsertf32x4, prefix: Pavx, op: opBytes{
  2315  		avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN16 | evexZeroingEnabled, 0x38,
  2316  		avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN16 | evexZeroingEnabled, 0x38,
  2317  	}},
  2318  	{as: AVINSERTI64X4, ytab: _yvinsertf32x8, prefix: Pavx, op: opBytes{
  2319  		avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN32 | evexZeroingEnabled, 0x3A,
  2320  	}},
  2321  	{as: AVINSERTPS, ytab: _yvinsertps, prefix: Pavx, op: opBytes{
  2322  		avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x21,
  2323  		avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN4, 0x21,
  2324  	}},
  2325  	{as: AVLDDQU, ytab: _yvlddqu, prefix: Pavx, op: opBytes{
  2326  		avxEscape | vex128 | vexF2 | vex0F | vexW0, 0xF0,
  2327  		avxEscape | vex256 | vexF2 | vex0F | vexW0, 0xF0,
  2328  	}},
  2329  	{as: AVLDMXCSR, ytab: _yvldmxcsr, prefix: Pavx, op: opBytes{
  2330  		avxEscape | vex128 | vex0F | vexW0, 0xAE, 02,
  2331  	}},
  2332  	{as: AVMASKMOVDQU, ytab: _yvmaskmovdqu, prefix: Pavx, op: opBytes{
  2333  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xF7,
  2334  	}},
  2335  	{as: AVMASKMOVPD, ytab: _yvmaskmovpd, prefix: Pavx, op: opBytes{
  2336  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x2F,
  2337  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x2F,
  2338  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x2D,
  2339  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x2D,
  2340  	}},
  2341  	{as: AVMASKMOVPS, ytab: _yvmaskmovpd, prefix: Pavx, op: opBytes{
  2342  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x2E,
  2343  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x2E,
  2344  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x2C,
  2345  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x2C,
  2346  	}},
  2347  	{as: AVMAXPD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  2348  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x5F,
  2349  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x5F,
  2350  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexSaeEnabled | evexZeroingEnabled, 0x5F,
  2351  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x5F,
  2352  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x5F,
  2353  	}},
  2354  	{as: AVMAXPS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  2355  		avxEscape | vex128 | vex0F | vexW0, 0x5F,
  2356  		avxEscape | vex256 | vex0F | vexW0, 0x5F,
  2357  		avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexSaeEnabled | evexZeroingEnabled, 0x5F,
  2358  		avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x5F,
  2359  		avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x5F,
  2360  	}},
  2361  	{as: AVMAXSD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  2362  		avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x5F,
  2363  		avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexSaeEnabled | evexZeroingEnabled, 0x5F,
  2364  	}},
  2365  	{as: AVMAXSS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  2366  		avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x5F,
  2367  		avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4 | evexSaeEnabled | evexZeroingEnabled, 0x5F,
  2368  	}},
  2369  	{as: AVMINPD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  2370  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x5D,
  2371  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x5D,
  2372  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexSaeEnabled | evexZeroingEnabled, 0x5D,
  2373  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x5D,
  2374  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x5D,
  2375  	}},
  2376  	{as: AVMINPS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  2377  		avxEscape | vex128 | vex0F | vexW0, 0x5D,
  2378  		avxEscape | vex256 | vex0F | vexW0, 0x5D,
  2379  		avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexSaeEnabled | evexZeroingEnabled, 0x5D,
  2380  		avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x5D,
  2381  		avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x5D,
  2382  	}},
  2383  	{as: AVMINSD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  2384  		avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x5D,
  2385  		avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexSaeEnabled | evexZeroingEnabled, 0x5D,
  2386  	}},
  2387  	{as: AVMINSS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  2388  		avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x5D,
  2389  		avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4 | evexSaeEnabled | evexZeroingEnabled, 0x5D,
  2390  	}},
  2391  	{as: AVMOVAPD, ytab: _yvmovapd, prefix: Pavx, op: opBytes{
  2392  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x29,
  2393  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x29,
  2394  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x28,
  2395  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x28,
  2396  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0x29,
  2397  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexZeroingEnabled, 0x29,
  2398  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexZeroingEnabled, 0x29,
  2399  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0x28,
  2400  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexZeroingEnabled, 0x28,
  2401  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexZeroingEnabled, 0x28,
  2402  	}},
  2403  	{as: AVMOVAPS, ytab: _yvmovapd, prefix: Pavx, op: opBytes{
  2404  		avxEscape | vex128 | vex0F | vexW0, 0x29,
  2405  		avxEscape | vex256 | vex0F | vexW0, 0x29,
  2406  		avxEscape | vex128 | vex0F | vexW0, 0x28,
  2407  		avxEscape | vex256 | vex0F | vexW0, 0x28,
  2408  		avxEscape | evex128 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x29,
  2409  		avxEscape | evex256 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x29,
  2410  		avxEscape | evex512 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x29,
  2411  		avxEscape | evex128 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x28,
  2412  		avxEscape | evex256 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x28,
  2413  		avxEscape | evex512 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x28,
  2414  	}},
  2415  	{as: AVMOVD, ytab: _yvmovd, prefix: Pavx, op: opBytes{
  2416  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x7E,
  2417  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x6E,
  2418  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN4, 0x7E,
  2419  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN4, 0x6E,
  2420  	}},
  2421  	{as: AVMOVDDUP, ytab: _yvmovddup, prefix: Pavx, op: opBytes{
  2422  		avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x12,
  2423  		avxEscape | vex256 | vexF2 | vex0F | vexW0, 0x12,
  2424  		avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexZeroingEnabled, 0x12,
  2425  		avxEscape | evex256 | evexF2 | evex0F | evexW1, evexN32 | evexZeroingEnabled, 0x12,
  2426  		avxEscape | evex512 | evexF2 | evex0F | evexW1, evexN64 | evexZeroingEnabled, 0x12,
  2427  	}},
  2428  	{as: AVMOVDQA, ytab: _yvmovdqa, prefix: Pavx, op: opBytes{
  2429  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x7F,
  2430  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x7F,
  2431  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x6F,
  2432  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x6F,
  2433  	}},
  2434  	{as: AVMOVDQA32, ytab: _yvmovdqa32, prefix: Pavx, op: opBytes{
  2435  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x7F,
  2436  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x7F,
  2437  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x7F,
  2438  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x6F,
  2439  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x6F,
  2440  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x6F,
  2441  	}},
  2442  	{as: AVMOVDQA64, ytab: _yvmovdqa32, prefix: Pavx, op: opBytes{
  2443  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0x7F,
  2444  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexZeroingEnabled, 0x7F,
  2445  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexZeroingEnabled, 0x7F,
  2446  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0x6F,
  2447  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexZeroingEnabled, 0x6F,
  2448  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexZeroingEnabled, 0x6F,
  2449  	}},
  2450  	{as: AVMOVDQU, ytab: _yvmovdqa, prefix: Pavx, op: opBytes{
  2451  		avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x7F,
  2452  		avxEscape | vex256 | vexF3 | vex0F | vexW0, 0x7F,
  2453  		avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x6F,
  2454  		avxEscape | vex256 | vexF3 | vex0F | vexW0, 0x6F,
  2455  	}},
  2456  	{as: AVMOVDQU16, ytab: _yvmovdqa32, prefix: Pavx, op: opBytes{
  2457  		avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0x7F,
  2458  		avxEscape | evex256 | evexF2 | evex0F | evexW1, evexN32 | evexZeroingEnabled, 0x7F,
  2459  		avxEscape | evex512 | evexF2 | evex0F | evexW1, evexN64 | evexZeroingEnabled, 0x7F,
  2460  		avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0x6F,
  2461  		avxEscape | evex256 | evexF2 | evex0F | evexW1, evexN32 | evexZeroingEnabled, 0x6F,
  2462  		avxEscape | evex512 | evexF2 | evex0F | evexW1, evexN64 | evexZeroingEnabled, 0x6F,
  2463  	}},
  2464  	{as: AVMOVDQU32, ytab: _yvmovdqa32, prefix: Pavx, op: opBytes{
  2465  		avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x7F,
  2466  		avxEscape | evex256 | evexF3 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x7F,
  2467  		avxEscape | evex512 | evexF3 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x7F,
  2468  		avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x6F,
  2469  		avxEscape | evex256 | evexF3 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x6F,
  2470  		avxEscape | evex512 | evexF3 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x6F,
  2471  	}},
  2472  	{as: AVMOVDQU64, ytab: _yvmovdqa32, prefix: Pavx, op: opBytes{
  2473  		avxEscape | evex128 | evexF3 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0x7F,
  2474  		avxEscape | evex256 | evexF3 | evex0F | evexW1, evexN32 | evexZeroingEnabled, 0x7F,
  2475  		avxEscape | evex512 | evexF3 | evex0F | evexW1, evexN64 | evexZeroingEnabled, 0x7F,
  2476  		avxEscape | evex128 | evexF3 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0x6F,
  2477  		avxEscape | evex256 | evexF3 | evex0F | evexW1, evexN32 | evexZeroingEnabled, 0x6F,
  2478  		avxEscape | evex512 | evexF3 | evex0F | evexW1, evexN64 | evexZeroingEnabled, 0x6F,
  2479  	}},
  2480  	{as: AVMOVDQU8, ytab: _yvmovdqa32, prefix: Pavx, op: opBytes{
  2481  		avxEscape | evex128 | evexF2 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x7F,
  2482  		avxEscape | evex256 | evexF2 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x7F,
  2483  		avxEscape | evex512 | evexF2 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x7F,
  2484  		avxEscape | evex128 | evexF2 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x6F,
  2485  		avxEscape | evex256 | evexF2 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x6F,
  2486  		avxEscape | evex512 | evexF2 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x6F,
  2487  	}},
  2488  	{as: AVMOVHLPS, ytab: _yvmovhlps, prefix: Pavx, op: opBytes{
  2489  		avxEscape | vex128 | vex0F | vexW0, 0x12,
  2490  		avxEscape | evex128 | evex0F | evexW0, 0, 0x12,
  2491  	}},
  2492  	{as: AVMOVHPD, ytab: _yvmovhpd, prefix: Pavx, op: opBytes{
  2493  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x17,
  2494  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x16,
  2495  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN8, 0x17,
  2496  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN8, 0x16,
  2497  	}},
  2498  	{as: AVMOVHPS, ytab: _yvmovhpd, prefix: Pavx, op: opBytes{
  2499  		avxEscape | vex128 | vex0F | vexW0, 0x17,
  2500  		avxEscape | vex128 | vex0F | vexW0, 0x16,
  2501  		avxEscape | evex128 | evex0F | evexW0, evexN8, 0x17,
  2502  		avxEscape | evex128 | evex0F | evexW0, evexN8, 0x16,
  2503  	}},
  2504  	{as: AVMOVLHPS, ytab: _yvmovhlps, prefix: Pavx, op: opBytes{
  2505  		avxEscape | vex128 | vex0F | vexW0, 0x16,
  2506  		avxEscape | evex128 | evex0F | evexW0, 0, 0x16,
  2507  	}},
  2508  	{as: AVMOVLPD, ytab: _yvmovhpd, prefix: Pavx, op: opBytes{
  2509  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x13,
  2510  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x12,
  2511  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN8, 0x13,
  2512  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN8, 0x12,
  2513  	}},
  2514  	{as: AVMOVLPS, ytab: _yvmovhpd, prefix: Pavx, op: opBytes{
  2515  		avxEscape | vex128 | vex0F | vexW0, 0x13,
  2516  		avxEscape | vex128 | vex0F | vexW0, 0x12,
  2517  		avxEscape | evex128 | evex0F | evexW0, evexN8, 0x13,
  2518  		avxEscape | evex128 | evex0F | evexW0, evexN8, 0x12,
  2519  	}},
  2520  	{as: AVMOVMSKPD, ytab: _yvmovmskpd, prefix: Pavx, op: opBytes{
  2521  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x50,
  2522  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x50,
  2523  	}},
  2524  	{as: AVMOVMSKPS, ytab: _yvmovmskpd, prefix: Pavx, op: opBytes{
  2525  		avxEscape | vex128 | vex0F | vexW0, 0x50,
  2526  		avxEscape | vex256 | vex0F | vexW0, 0x50,
  2527  	}},
  2528  	{as: AVMOVNTDQ, ytab: _yvmovntdq, prefix: Pavx, op: opBytes{
  2529  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xE7,
  2530  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xE7,
  2531  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16, 0xE7,
  2532  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32, 0xE7,
  2533  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64, 0xE7,
  2534  	}},
  2535  	{as: AVMOVNTDQA, ytab: _yvmovntdqa, prefix: Pavx, op: opBytes{
  2536  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x2A,
  2537  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x2A,
  2538  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16, 0x2A,
  2539  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32, 0x2A,
  2540  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64, 0x2A,
  2541  	}},
  2542  	{as: AVMOVNTPD, ytab: _yvmovntdq, prefix: Pavx, op: opBytes{
  2543  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x2B,
  2544  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x2B,
  2545  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16, 0x2B,
  2546  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32, 0x2B,
  2547  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64, 0x2B,
  2548  	}},
  2549  	{as: AVMOVNTPS, ytab: _yvmovntdq, prefix: Pavx, op: opBytes{
  2550  		avxEscape | vex128 | vex0F | vexW0, 0x2B,
  2551  		avxEscape | vex256 | vex0F | vexW0, 0x2B,
  2552  		avxEscape | evex128 | evex0F | evexW0, evexN16, 0x2B,
  2553  		avxEscape | evex256 | evex0F | evexW0, evexN32, 0x2B,
  2554  		avxEscape | evex512 | evex0F | evexW0, evexN64, 0x2B,
  2555  	}},
  2556  	{as: AVMOVQ, ytab: _yvmovq, prefix: Pavx, op: opBytes{
  2557  		avxEscape | vex128 | vex66 | vex0F | vexW1, 0x7E,
  2558  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xD6,
  2559  		avxEscape | vex128 | vex66 | vex0F | vexW1, 0x6E,
  2560  		avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x7E,
  2561  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN8, 0x7E,
  2562  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN8, 0xD6,
  2563  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN8, 0x6E,
  2564  		avxEscape | evex128 | evexF3 | evex0F | evexW1, evexN8, 0x7E,
  2565  	}},
  2566  	{as: AVMOVSD, ytab: _yvmovsd, prefix: Pavx, op: opBytes{
  2567  		avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x11,
  2568  		avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x11,
  2569  		avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x10,
  2570  		avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x10,
  2571  		avxEscape | evex128 | evexF2 | evex0F | evexW1, evexZeroingEnabled, 0x11,
  2572  		avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8, 0x11,
  2573  		avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexZeroingEnabled, 0x10,
  2574  		avxEscape | evex128 | evexF2 | evex0F | evexW1, evexZeroingEnabled, 0x10,
  2575  	}},
  2576  	{as: AVMOVSHDUP, ytab: _yvmovddup, prefix: Pavx, op: opBytes{
  2577  		avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x16,
  2578  		avxEscape | vex256 | vexF3 | vex0F | vexW0, 0x16,
  2579  		avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x16,
  2580  		avxEscape | evex256 | evexF3 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x16,
  2581  		avxEscape | evex512 | evexF3 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x16,
  2582  	}},
  2583  	{as: AVMOVSLDUP, ytab: _yvmovddup, prefix: Pavx, op: opBytes{
  2584  		avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x12,
  2585  		avxEscape | vex256 | vexF3 | vex0F | vexW0, 0x12,
  2586  		avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x12,
  2587  		avxEscape | evex256 | evexF3 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x12,
  2588  		avxEscape | evex512 | evexF3 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x12,
  2589  	}},
  2590  	{as: AVMOVSS, ytab: _yvmovsd, prefix: Pavx, op: opBytes{
  2591  		avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x11,
  2592  		avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x11,
  2593  		avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x10,
  2594  		avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x10,
  2595  		avxEscape | evex128 | evexF3 | evex0F | evexW0, evexZeroingEnabled, 0x11,
  2596  		avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4, 0x11,
  2597  		avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4 | evexZeroingEnabled, 0x10,
  2598  		avxEscape | evex128 | evexF3 | evex0F | evexW0, evexZeroingEnabled, 0x10,
  2599  	}},
  2600  	{as: AVMOVUPD, ytab: _yvmovapd, prefix: Pavx, op: opBytes{
  2601  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x11,
  2602  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x11,
  2603  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x10,
  2604  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x10,
  2605  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0x11,
  2606  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexZeroingEnabled, 0x11,
  2607  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexZeroingEnabled, 0x11,
  2608  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0x10,
  2609  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexZeroingEnabled, 0x10,
  2610  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexZeroingEnabled, 0x10,
  2611  	}},
  2612  	{as: AVMOVUPS, ytab: _yvmovapd, prefix: Pavx, op: opBytes{
  2613  		avxEscape | vex128 | vex0F | vexW0, 0x11,
  2614  		avxEscape | vex256 | vex0F | vexW0, 0x11,
  2615  		avxEscape | vex128 | vex0F | vexW0, 0x10,
  2616  		avxEscape | vex256 | vex0F | vexW0, 0x10,
  2617  		avxEscape | evex128 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x11,
  2618  		avxEscape | evex256 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x11,
  2619  		avxEscape | evex512 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x11,
  2620  		avxEscape | evex128 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x10,
  2621  		avxEscape | evex256 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x10,
  2622  		avxEscape | evex512 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x10,
  2623  	}},
  2624  	{as: AVMPSADBW, ytab: _yvblendpd, prefix: Pavx, op: opBytes{
  2625  		avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x42,
  2626  		avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x42,
  2627  	}},
  2628  	{as: AVMULPD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  2629  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x59,
  2630  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x59,
  2631  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x59,
  2632  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x59,
  2633  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x59,
  2634  	}},
  2635  	{as: AVMULPS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  2636  		avxEscape | vex128 | vex0F | vexW0, 0x59,
  2637  		avxEscape | vex256 | vex0F | vexW0, 0x59,
  2638  		avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x59,
  2639  		avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x59,
  2640  		avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x59,
  2641  	}},
  2642  	{as: AVMULSD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  2643  		avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x59,
  2644  		avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0x59,
  2645  	}},
  2646  	{as: AVMULSS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  2647  		avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x59,
  2648  		avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0x59,
  2649  	}},
  2650  	{as: AVORPD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  2651  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x56,
  2652  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x56,
  2653  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x56,
  2654  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x56,
  2655  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x56,
  2656  	}},
  2657  	{as: AVORPS, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  2658  		avxEscape | vex128 | vex0F | vexW0, 0x56,
  2659  		avxEscape | vex256 | vex0F | vexW0, 0x56,
  2660  		avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x56,
  2661  		avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x56,
  2662  		avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x56,
  2663  	}},
  2664  	{as: AVP4DPWSSD, ytab: _yv4fmaddps, prefix: Pavx, op: opBytes{
  2665  		avxEscape | evex512 | evexF2 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x52,
  2666  	}},
  2667  	{as: AVP4DPWSSDS, ytab: _yv4fmaddps, prefix: Pavx, op: opBytes{
  2668  		avxEscape | evex512 | evexF2 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x53,
  2669  	}},
  2670  	{as: AVPABSB, ytab: _yvmovddup, prefix: Pavx, op: opBytes{
  2671  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x1C,
  2672  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x1C,
  2673  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x1C,
  2674  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x1C,
  2675  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexZeroingEnabled, 0x1C,
  2676  	}},
  2677  	{as: AVPABSD, ytab: _yvmovddup, prefix: Pavx, op: opBytes{
  2678  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x1E,
  2679  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x1E,
  2680  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x1E,
  2681  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x1E,
  2682  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x1E,
  2683  	}},
  2684  	{as: AVPABSQ, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
  2685  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x1F,
  2686  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x1F,
  2687  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x1F,
  2688  	}},
  2689  	{as: AVPABSW, ytab: _yvmovddup, prefix: Pavx, op: opBytes{
  2690  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x1D,
  2691  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x1D,
  2692  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x1D,
  2693  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x1D,
  2694  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexZeroingEnabled, 0x1D,
  2695  	}},
  2696  	{as: AVPACKSSDW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  2697  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x6B,
  2698  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x6B,
  2699  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x6B,
  2700  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x6B,
  2701  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x6B,
  2702  	}},
  2703  	{as: AVPACKSSWB, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  2704  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x63,
  2705  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x63,
  2706  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x63,
  2707  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x63,
  2708  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x63,
  2709  	}},
  2710  	{as: AVPACKUSDW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  2711  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x2B,
  2712  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x2B,
  2713  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x2B,
  2714  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x2B,
  2715  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x2B,
  2716  	}},
  2717  	{as: AVPACKUSWB, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  2718  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x67,
  2719  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x67,
  2720  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x67,
  2721  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x67,
  2722  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x67,
  2723  	}},
  2724  	{as: AVPADDB, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  2725  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xFC,
  2726  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xFC,
  2727  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xFC,
  2728  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xFC,
  2729  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xFC,
  2730  	}},
  2731  	{as: AVPADDD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  2732  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xFE,
  2733  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xFE,
  2734  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xFE,
  2735  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xFE,
  2736  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0xFE,
  2737  	}},
  2738  	{as: AVPADDQ, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  2739  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xD4,
  2740  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xD4,
  2741  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xD4,
  2742  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xD4,
  2743  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0xD4,
  2744  	}},
  2745  	{as: AVPADDSB, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  2746  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xEC,
  2747  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xEC,
  2748  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xEC,
  2749  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xEC,
  2750  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xEC,
  2751  	}},
  2752  	{as: AVPADDSW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  2753  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xED,
  2754  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xED,
  2755  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xED,
  2756  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xED,
  2757  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xED,
  2758  	}},
  2759  	{as: AVPADDUSB, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  2760  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xDC,
  2761  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xDC,
  2762  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xDC,
  2763  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xDC,
  2764  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xDC,
  2765  	}},
  2766  	{as: AVPADDUSW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  2767  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xDD,
  2768  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xDD,
  2769  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xDD,
  2770  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xDD,
  2771  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xDD,
  2772  	}},
  2773  	{as: AVPADDW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  2774  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xFD,
  2775  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xFD,
  2776  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xFD,
  2777  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xFD,
  2778  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xFD,
  2779  	}},
  2780  	{as: AVPALIGNR, ytab: _yvgf2p8affineinvqb, prefix: Pavx, op: opBytes{
  2781  		avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x0F,
  2782  		avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x0F,
  2783  		avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16 | evexZeroingEnabled, 0x0F,
  2784  		avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexZeroingEnabled, 0x0F,
  2785  		avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexZeroingEnabled, 0x0F,
  2786  	}},
  2787  	{as: AVPAND, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
  2788  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xDB,
  2789  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xDB,
  2790  	}},
  2791  	{as: AVPANDD, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  2792  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xDB,
  2793  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xDB,
  2794  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0xDB,
  2795  	}},
  2796  	{as: AVPANDN, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
  2797  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xDF,
  2798  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xDF,
  2799  	}},
  2800  	{as: AVPANDND, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  2801  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xDF,
  2802  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xDF,
  2803  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0xDF,
  2804  	}},
  2805  	{as: AVPANDNQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  2806  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xDF,
  2807  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xDF,
  2808  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0xDF,
  2809  	}},
  2810  	{as: AVPANDQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  2811  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xDB,
  2812  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xDB,
  2813  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0xDB,
  2814  	}},
  2815  	{as: AVPAVGB, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  2816  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xE0,
  2817  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xE0,
  2818  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xE0,
  2819  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xE0,
  2820  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xE0,
  2821  	}},
  2822  	{as: AVPAVGW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  2823  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xE3,
  2824  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xE3,
  2825  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xE3,
  2826  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xE3,
  2827  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xE3,
  2828  	}},
  2829  	{as: AVPBLENDD, ytab: _yvblendpd, prefix: Pavx, op: opBytes{
  2830  		avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x02,
  2831  		avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x02,
  2832  	}},
  2833  	{as: AVPBLENDMB, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  2834  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x66,
  2835  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x66,
  2836  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexZeroingEnabled, 0x66,
  2837  	}},
  2838  	{as: AVPBLENDMD, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  2839  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x64,
  2840  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x64,
  2841  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x64,
  2842  	}},
  2843  	{as: AVPBLENDMQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  2844  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x64,
  2845  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x64,
  2846  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x64,
  2847  	}},
  2848  	{as: AVPBLENDMW, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  2849  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexZeroingEnabled, 0x66,
  2850  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexZeroingEnabled, 0x66,
  2851  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexZeroingEnabled, 0x66,
  2852  	}},
  2853  	{as: AVPBLENDVB, ytab: _yvblendvpd, prefix: Pavx, op: opBytes{
  2854  		avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x4C,
  2855  		avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x4C,
  2856  	}},
  2857  	{as: AVPBLENDW, ytab: _yvblendpd, prefix: Pavx, op: opBytes{
  2858  		avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x0E,
  2859  		avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x0E,
  2860  	}},
  2861  	{as: AVPBROADCASTB, ytab: _yvpbroadcastb, prefix: Pavx, op: opBytes{
  2862  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x78,
  2863  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x78,
  2864  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexZeroingEnabled, 0x7A,
  2865  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexZeroingEnabled, 0x7A,
  2866  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexZeroingEnabled, 0x7A,
  2867  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN1 | evexZeroingEnabled, 0x78,
  2868  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN1 | evexZeroingEnabled, 0x78,
  2869  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN1 | evexZeroingEnabled, 0x78,
  2870  	}},
  2871  	{as: AVPBROADCASTD, ytab: _yvpbroadcastb, prefix: Pavx, op: opBytes{
  2872  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x58,
  2873  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x58,
  2874  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexZeroingEnabled, 0x7C,
  2875  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexZeroingEnabled, 0x7C,
  2876  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexZeroingEnabled, 0x7C,
  2877  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x58,
  2878  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x58,
  2879  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x58,
  2880  	}},
  2881  	{as: AVPBROADCASTMB2Q, ytab: _yvpbroadcastmb2q, prefix: Pavx, op: opBytes{
  2882  		avxEscape | evex128 | evexF3 | evex0F38 | evexW1, 0, 0x2A,
  2883  		avxEscape | evex256 | evexF3 | evex0F38 | evexW1, 0, 0x2A,
  2884  		avxEscape | evex512 | evexF3 | evex0F38 | evexW1, 0, 0x2A,
  2885  	}},
  2886  	{as: AVPBROADCASTMW2D, ytab: _yvpbroadcastmb2q, prefix: Pavx, op: opBytes{
  2887  		avxEscape | evex128 | evexF3 | evex0F38 | evexW0, 0, 0x3A,
  2888  		avxEscape | evex256 | evexF3 | evex0F38 | evexW0, 0, 0x3A,
  2889  		avxEscape | evex512 | evexF3 | evex0F38 | evexW0, 0, 0x3A,
  2890  	}},
  2891  	{as: AVPBROADCASTQ, ytab: _yvpbroadcastb, prefix: Pavx, op: opBytes{
  2892  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x59,
  2893  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x59,
  2894  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexZeroingEnabled, 0x7C,
  2895  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexZeroingEnabled, 0x7C,
  2896  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexZeroingEnabled, 0x7C,
  2897  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x59,
  2898  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x59,
  2899  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x59,
  2900  	}},
  2901  	{as: AVPBROADCASTW, ytab: _yvpbroadcastb, prefix: Pavx, op: opBytes{
  2902  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x79,
  2903  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x79,
  2904  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexZeroingEnabled, 0x7B,
  2905  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexZeroingEnabled, 0x7B,
  2906  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexZeroingEnabled, 0x7B,
  2907  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN2 | evexZeroingEnabled, 0x79,
  2908  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN2 | evexZeroingEnabled, 0x79,
  2909  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN2 | evexZeroingEnabled, 0x79,
  2910  	}},
  2911  	{as: AVPCLMULQDQ, ytab: _yvpclmulqdq, prefix: Pavx, op: opBytes{
  2912  		avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x44,
  2913  		avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x44,
  2914  		avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16, 0x44,
  2915  		avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32, 0x44,
  2916  		avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64, 0x44,
  2917  	}},
  2918  	{as: AVPCMPB, ytab: _yvpcmpb, prefix: Pavx, op: opBytes{
  2919  		avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16, 0x3F,
  2920  		avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32, 0x3F,
  2921  		avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64, 0x3F,
  2922  	}},
  2923  	{as: AVPCMPD, ytab: _yvpcmpb, prefix: Pavx, op: opBytes{
  2924  		avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16 | evexBcstN4, 0x1F,
  2925  		avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexBcstN4, 0x1F,
  2926  		avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexBcstN4, 0x1F,
  2927  	}},
  2928  	{as: AVPCMPEQB, ytab: _yvpcmpeqb, prefix: Pavx, op: opBytes{
  2929  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x74,
  2930  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x74,
  2931  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16, 0x74,
  2932  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32, 0x74,
  2933  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64, 0x74,
  2934  	}},
  2935  	{as: AVPCMPEQD, ytab: _yvpcmpeqb, prefix: Pavx, op: opBytes{
  2936  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x76,
  2937  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x76,
  2938  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4, 0x76,
  2939  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4, 0x76,
  2940  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4, 0x76,
  2941  	}},
  2942  	{as: AVPCMPEQQ, ytab: _yvpcmpeqb, prefix: Pavx, op: opBytes{
  2943  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x29,
  2944  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x29,
  2945  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8, 0x29,
  2946  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8, 0x29,
  2947  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8, 0x29,
  2948  	}},
  2949  	{as: AVPCMPEQW, ytab: _yvpcmpeqb, prefix: Pavx, op: opBytes{
  2950  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x75,
  2951  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x75,
  2952  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16, 0x75,
  2953  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32, 0x75,
  2954  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64, 0x75,
  2955  	}},
  2956  	{as: AVPCMPESTRI, ytab: _yvaeskeygenassist, prefix: Pavx, op: opBytes{
  2957  		avxEscape | vex128 | vex66 | vex0F3A | vexWIG, 0x61,
  2958  	}},
  2959  	{as: AVPCMPESTRM, ytab: _yvaeskeygenassist, prefix: Pavx, op: opBytes{
  2960  		avxEscape | vex128 | vex66 | vex0F3A | vexWIG, 0x60,
  2961  	}},
  2962  	{as: AVPCMPGTB, ytab: _yvpcmpeqb, prefix: Pavx, op: opBytes{
  2963  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x64,
  2964  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x64,
  2965  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16, 0x64,
  2966  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32, 0x64,
  2967  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64, 0x64,
  2968  	}},
  2969  	{as: AVPCMPGTD, ytab: _yvpcmpeqb, prefix: Pavx, op: opBytes{
  2970  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x66,
  2971  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x66,
  2972  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4, 0x66,
  2973  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4, 0x66,
  2974  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4, 0x66,
  2975  	}},
  2976  	{as: AVPCMPGTQ, ytab: _yvpcmpeqb, prefix: Pavx, op: opBytes{
  2977  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x37,
  2978  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x37,
  2979  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8, 0x37,
  2980  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8, 0x37,
  2981  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8, 0x37,
  2982  	}},
  2983  	{as: AVPCMPGTW, ytab: _yvpcmpeqb, prefix: Pavx, op: opBytes{
  2984  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x65,
  2985  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x65,
  2986  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16, 0x65,
  2987  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32, 0x65,
  2988  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64, 0x65,
  2989  	}},
  2990  	{as: AVPCMPISTRI, ytab: _yvaeskeygenassist, prefix: Pavx, op: opBytes{
  2991  		avxEscape | vex128 | vex66 | vex0F3A | vexWIG, 0x63,
  2992  	}},
  2993  	{as: AVPCMPISTRM, ytab: _yvaeskeygenassist, prefix: Pavx, op: opBytes{
  2994  		avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x62,
  2995  	}},
  2996  	{as: AVPCMPQ, ytab: _yvpcmpb, prefix: Pavx, op: opBytes{
  2997  		avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexBcstN8, 0x1F,
  2998  		avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8, 0x1F,
  2999  		avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8, 0x1F,
  3000  	}},
  3001  	{as: AVPCMPUB, ytab: _yvpcmpb, prefix: Pavx, op: opBytes{
  3002  		avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16, 0x3E,
  3003  		avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32, 0x3E,
  3004  		avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64, 0x3E,
  3005  	}},
  3006  	{as: AVPCMPUD, ytab: _yvpcmpb, prefix: Pavx, op: opBytes{
  3007  		avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16 | evexBcstN4, 0x1E,
  3008  		avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexBcstN4, 0x1E,
  3009  		avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexBcstN4, 0x1E,
  3010  	}},
  3011  	{as: AVPCMPUQ, ytab: _yvpcmpb, prefix: Pavx, op: opBytes{
  3012  		avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexBcstN8, 0x1E,
  3013  		avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8, 0x1E,
  3014  		avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8, 0x1E,
  3015  	}},
  3016  	{as: AVPCMPUW, ytab: _yvpcmpb, prefix: Pavx, op: opBytes{
  3017  		avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16, 0x3E,
  3018  		avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32, 0x3E,
  3019  		avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64, 0x3E,
  3020  	}},
  3021  	{as: AVPCMPW, ytab: _yvpcmpb, prefix: Pavx, op: opBytes{
  3022  		avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16, 0x3F,
  3023  		avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32, 0x3F,
  3024  		avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64, 0x3F,
  3025  	}},
  3026  	{as: AVPCOMPRESSB, ytab: _yvcompresspd, prefix: Pavx, op: opBytes{
  3027  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN1 | evexZeroingEnabled, 0x63,
  3028  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN1 | evexZeroingEnabled, 0x63,
  3029  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN1 | evexZeroingEnabled, 0x63,
  3030  	}},
  3031  	{as: AVPCOMPRESSD, ytab: _yvcompresspd, prefix: Pavx, op: opBytes{
  3032  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x8B,
  3033  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x8B,
  3034  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x8B,
  3035  	}},
  3036  	{as: AVPCOMPRESSQ, ytab: _yvcompresspd, prefix: Pavx, op: opBytes{
  3037  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x8B,
  3038  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x8B,
  3039  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x8B,
  3040  	}},
  3041  	{as: AVPCOMPRESSW, ytab: _yvcompresspd, prefix: Pavx, op: opBytes{
  3042  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN2 | evexZeroingEnabled, 0x63,
  3043  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN2 | evexZeroingEnabled, 0x63,
  3044  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN2 | evexZeroingEnabled, 0x63,
  3045  	}},
  3046  	{as: AVPCONFLICTD, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
  3047  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xC4,
  3048  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xC4,
  3049  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0xC4,
  3050  	}},
  3051  	{as: AVPCONFLICTQ, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
  3052  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xC4,
  3053  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xC4,
  3054  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0xC4,
  3055  	}},
  3056  	{as: AVPDPBUSD, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3057  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x50,
  3058  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x50,
  3059  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x50,
  3060  	}},
  3061  	{as: AVPDPBUSDS, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3062  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x51,
  3063  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x51,
  3064  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x51,
  3065  	}},
  3066  	{as: AVPDPWSSD, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3067  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x52,
  3068  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x52,
  3069  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x52,
  3070  	}},
  3071  	{as: AVPDPWSSDS, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3072  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x53,
  3073  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x53,
  3074  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x53,
  3075  	}},
  3076  	{as: AVPERM2F128, ytab: _yvperm2f128, prefix: Pavx, op: opBytes{
  3077  		avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x06,
  3078  	}},
  3079  	{as: AVPERM2I128, ytab: _yvperm2f128, prefix: Pavx, op: opBytes{
  3080  		avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x46,
  3081  	}},
  3082  	{as: AVPERMB, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3083  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x8D,
  3084  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x8D,
  3085  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexZeroingEnabled, 0x8D,
  3086  	}},
  3087  	{as: AVPERMD, ytab: _yvpermd, prefix: Pavx, op: opBytes{
  3088  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x36,
  3089  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x36,
  3090  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x36,
  3091  	}},
  3092  	{as: AVPERMI2B, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3093  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x75,
  3094  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x75,
  3095  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexZeroingEnabled, 0x75,
  3096  	}},
  3097  	{as: AVPERMI2D, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3098  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x76,
  3099  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x76,
  3100  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x76,
  3101  	}},
  3102  	{as: AVPERMI2PD, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3103  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x77,
  3104  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x77,
  3105  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x77,
  3106  	}},
  3107  	{as: AVPERMI2PS, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3108  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x77,
  3109  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x77,
  3110  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x77,
  3111  	}},
  3112  	{as: AVPERMI2Q, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3113  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x76,
  3114  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x76,
  3115  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x76,
  3116  	}},
  3117  	{as: AVPERMI2W, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3118  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexZeroingEnabled, 0x75,
  3119  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexZeroingEnabled, 0x75,
  3120  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexZeroingEnabled, 0x75,
  3121  	}},
  3122  	{as: AVPERMILPD, ytab: _yvpermilpd, prefix: Pavx, op: opBytes{
  3123  		avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x05,
  3124  		avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x05,
  3125  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x0D,
  3126  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x0D,
  3127  		avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x05,
  3128  		avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x05,
  3129  		avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x05,
  3130  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x0D,
  3131  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x0D,
  3132  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x0D,
  3133  	}},
  3134  	{as: AVPERMILPS, ytab: _yvpermilpd, prefix: Pavx, op: opBytes{
  3135  		avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x04,
  3136  		avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x04,
  3137  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x0C,
  3138  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x0C,
  3139  		avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x04,
  3140  		avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x04,
  3141  		avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x04,
  3142  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x0C,
  3143  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x0C,
  3144  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x0C,
  3145  	}},
  3146  	{as: AVPERMPD, ytab: _yvpermq, prefix: Pavx, op: opBytes{
  3147  		avxEscape | vex256 | vex66 | vex0F3A | vexW1, 0x01,
  3148  		avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x01,
  3149  		avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x01,
  3150  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x16,
  3151  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x16,
  3152  	}},
  3153  	{as: AVPERMPS, ytab: _yvpermd, prefix: Pavx, op: opBytes{
  3154  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x16,
  3155  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x16,
  3156  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x16,
  3157  	}},
  3158  	{as: AVPERMQ, ytab: _yvpermq, prefix: Pavx, op: opBytes{
  3159  		avxEscape | vex256 | vex66 | vex0F3A | vexW1, 0x00,
  3160  		avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x00,
  3161  		avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x00,
  3162  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x36,
  3163  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x36,
  3164  	}},
  3165  	{as: AVPERMT2B, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3166  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x7D,
  3167  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x7D,
  3168  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexZeroingEnabled, 0x7D,
  3169  	}},
  3170  	{as: AVPERMT2D, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3171  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x7E,
  3172  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x7E,
  3173  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x7E,
  3174  	}},
  3175  	{as: AVPERMT2PD, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3176  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x7F,
  3177  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x7F,
  3178  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x7F,
  3179  	}},
  3180  	{as: AVPERMT2PS, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3181  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x7F,
  3182  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x7F,
  3183  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x7F,
  3184  	}},
  3185  	{as: AVPERMT2Q, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3186  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x7E,
  3187  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x7E,
  3188  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x7E,
  3189  	}},
  3190  	{as: AVPERMT2W, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3191  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexZeroingEnabled, 0x7D,
  3192  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexZeroingEnabled, 0x7D,
  3193  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexZeroingEnabled, 0x7D,
  3194  	}},
  3195  	{as: AVPERMW, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3196  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexZeroingEnabled, 0x8D,
  3197  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexZeroingEnabled, 0x8D,
  3198  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexZeroingEnabled, 0x8D,
  3199  	}},
  3200  	{as: AVPEXPANDB, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
  3201  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN1 | evexZeroingEnabled, 0x62,
  3202  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN1 | evexZeroingEnabled, 0x62,
  3203  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN1 | evexZeroingEnabled, 0x62,
  3204  	}},
  3205  	{as: AVPEXPANDD, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
  3206  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x89,
  3207  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x89,
  3208  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x89,
  3209  	}},
  3210  	{as: AVPEXPANDQ, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
  3211  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x89,
  3212  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x89,
  3213  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x89,
  3214  	}},
  3215  	{as: AVPEXPANDW, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
  3216  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN2 | evexZeroingEnabled, 0x62,
  3217  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN2 | evexZeroingEnabled, 0x62,
  3218  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN2 | evexZeroingEnabled, 0x62,
  3219  	}},
  3220  	{as: AVPEXTRB, ytab: _yvextractps, prefix: Pavx, op: opBytes{
  3221  		avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x14,
  3222  		avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN1, 0x14,
  3223  	}},
  3224  	{as: AVPEXTRD, ytab: _yvextractps, prefix: Pavx, op: opBytes{
  3225  		avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x16,
  3226  		avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN4, 0x16,
  3227  	}},
  3228  	{as: AVPEXTRQ, ytab: _yvextractps, prefix: Pavx, op: opBytes{
  3229  		avxEscape | vex128 | vex66 | vex0F3A | vexW1, 0x16,
  3230  		avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN8, 0x16,
  3231  	}},
  3232  	{as: AVPEXTRW, ytab: _yvpextrw, prefix: Pavx, op: opBytes{
  3233  		avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x15,
  3234  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xC5,
  3235  		avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN2, 0x15,
  3236  		avxEscape | evex128 | evex66 | evex0F | evexW0, 0, 0xC5,
  3237  	}},
  3238  	{as: AVPGATHERDD, ytab: _yvgatherdps, prefix: Pavx, op: opBytes{
  3239  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x90,
  3240  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x90,
  3241  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4, 0x90,
  3242  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN4, 0x90,
  3243  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4, 0x90,
  3244  	}},
  3245  	{as: AVPGATHERDQ, ytab: _yvgatherdpd, prefix: Pavx, op: opBytes{
  3246  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x90,
  3247  		avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0x90,
  3248  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8, 0x90,
  3249  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN8, 0x90,
  3250  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8, 0x90,
  3251  	}},
  3252  	{as: AVPGATHERQD, ytab: _yvgatherqps, prefix: Pavx, op: opBytes{
  3253  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x91,
  3254  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x91,
  3255  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4, 0x91,
  3256  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN4, 0x91,
  3257  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4, 0x91,
  3258  	}},
  3259  	{as: AVPGATHERQQ, ytab: _yvgatherdps, prefix: Pavx, op: opBytes{
  3260  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x91,
  3261  		avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0x91,
  3262  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8, 0x91,
  3263  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN8, 0x91,
  3264  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8, 0x91,
  3265  	}},
  3266  	{as: AVPHADDD, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
  3267  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x02,
  3268  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x02,
  3269  	}},
  3270  	{as: AVPHADDSW, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
  3271  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x03,
  3272  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x03,
  3273  	}},
  3274  	{as: AVPHADDW, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
  3275  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x01,
  3276  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x01,
  3277  	}},
  3278  	{as: AVPHMINPOSUW, ytab: _yvaesimc, prefix: Pavx, op: opBytes{
  3279  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x41,
  3280  	}},
  3281  	{as: AVPHSUBD, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
  3282  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x06,
  3283  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x06,
  3284  	}},
  3285  	{as: AVPHSUBSW, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
  3286  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x07,
  3287  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x07,
  3288  	}},
  3289  	{as: AVPHSUBW, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
  3290  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x05,
  3291  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x05,
  3292  	}},
  3293  	{as: AVPINSRB, ytab: _yvpinsrb, prefix: Pavx, op: opBytes{
  3294  		avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x20,
  3295  		avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN1, 0x20,
  3296  	}},
  3297  	{as: AVPINSRD, ytab: _yvpinsrb, prefix: Pavx, op: opBytes{
  3298  		avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x22,
  3299  		avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN4, 0x22,
  3300  	}},
  3301  	{as: AVPINSRQ, ytab: _yvpinsrb, prefix: Pavx, op: opBytes{
  3302  		avxEscape | vex128 | vex66 | vex0F3A | vexW1, 0x22,
  3303  		avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN8, 0x22,
  3304  	}},
  3305  	{as: AVPINSRW, ytab: _yvpinsrb, prefix: Pavx, op: opBytes{
  3306  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xC4,
  3307  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN2, 0xC4,
  3308  	}},
  3309  	{as: AVPLZCNTD, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
  3310  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x44,
  3311  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x44,
  3312  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x44,
  3313  	}},
  3314  	{as: AVPLZCNTQ, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
  3315  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x44,
  3316  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x44,
  3317  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x44,
  3318  	}},
  3319  	{as: AVPMADD52HUQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3320  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xB5,
  3321  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xB5,
  3322  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0xB5,
  3323  	}},
  3324  	{as: AVPMADD52LUQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3325  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xB4,
  3326  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xB4,
  3327  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0xB4,
  3328  	}},
  3329  	{as: AVPMADDUBSW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  3330  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x04,
  3331  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x04,
  3332  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x04,
  3333  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x04,
  3334  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexZeroingEnabled, 0x04,
  3335  	}},
  3336  	{as: AVPMADDWD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  3337  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xF5,
  3338  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xF5,
  3339  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xF5,
  3340  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xF5,
  3341  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xF5,
  3342  	}},
  3343  	{as: AVPMASKMOVD, ytab: _yvmaskmovpd, prefix: Pavx, op: opBytes{
  3344  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x8E,
  3345  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x8E,
  3346  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x8C,
  3347  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x8C,
  3348  	}},
  3349  	{as: AVPMASKMOVQ, ytab: _yvmaskmovpd, prefix: Pavx, op: opBytes{
  3350  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x8E,
  3351  		avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0x8E,
  3352  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x8C,
  3353  		avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0x8C,
  3354  	}},
  3355  	{as: AVPMAXSB, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  3356  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x3C,
  3357  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x3C,
  3358  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x3C,
  3359  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x3C,
  3360  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexZeroingEnabled, 0x3C,
  3361  	}},
  3362  	{as: AVPMAXSD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  3363  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x3D,
  3364  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x3D,
  3365  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x3D,
  3366  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x3D,
  3367  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x3D,
  3368  	}},
  3369  	{as: AVPMAXSQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3370  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x3D,
  3371  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x3D,
  3372  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x3D,
  3373  	}},
  3374  	{as: AVPMAXSW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  3375  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xEE,
  3376  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xEE,
  3377  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xEE,
  3378  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xEE,
  3379  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xEE,
  3380  	}},
  3381  	{as: AVPMAXUB, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  3382  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xDE,
  3383  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xDE,
  3384  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xDE,
  3385  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xDE,
  3386  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xDE,
  3387  	}},
  3388  	{as: AVPMAXUD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  3389  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x3F,
  3390  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x3F,
  3391  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x3F,
  3392  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x3F,
  3393  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x3F,
  3394  	}},
  3395  	{as: AVPMAXUQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3396  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x3F,
  3397  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x3F,
  3398  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x3F,
  3399  	}},
  3400  	{as: AVPMAXUW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  3401  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x3E,
  3402  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x3E,
  3403  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x3E,
  3404  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x3E,
  3405  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexZeroingEnabled, 0x3E,
  3406  	}},
  3407  	{as: AVPMINSB, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  3408  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x38,
  3409  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x38,
  3410  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x38,
  3411  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x38,
  3412  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexZeroingEnabled, 0x38,
  3413  	}},
  3414  	{as: AVPMINSD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  3415  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x39,
  3416  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x39,
  3417  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x39,
  3418  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x39,
  3419  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x39,
  3420  	}},
  3421  	{as: AVPMINSQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3422  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x39,
  3423  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x39,
  3424  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x39,
  3425  	}},
  3426  	{as: AVPMINSW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  3427  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xEA,
  3428  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xEA,
  3429  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xEA,
  3430  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xEA,
  3431  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xEA,
  3432  	}},
  3433  	{as: AVPMINUB, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  3434  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xDA,
  3435  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xDA,
  3436  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xDA,
  3437  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xDA,
  3438  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xDA,
  3439  	}},
  3440  	{as: AVPMINUD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  3441  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x3B,
  3442  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x3B,
  3443  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x3B,
  3444  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x3B,
  3445  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x3B,
  3446  	}},
  3447  	{as: AVPMINUQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3448  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x3B,
  3449  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x3B,
  3450  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x3B,
  3451  	}},
  3452  	{as: AVPMINUW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  3453  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x3A,
  3454  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x3A,
  3455  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x3A,
  3456  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x3A,
  3457  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexZeroingEnabled, 0x3A,
  3458  	}},
  3459  	{as: AVPMOVB2M, ytab: _yvpmovb2m, prefix: Pavx, op: opBytes{
  3460  		avxEscape | evex128 | evexF3 | evex0F38 | evexW0, 0, 0x29,
  3461  		avxEscape | evex256 | evexF3 | evex0F38 | evexW0, 0, 0x29,
  3462  		avxEscape | evex512 | evexF3 | evex0F38 | evexW0, 0, 0x29,
  3463  	}},
  3464  	{as: AVPMOVD2M, ytab: _yvpmovb2m, prefix: Pavx, op: opBytes{
  3465  		avxEscape | evex128 | evexF3 | evex0F38 | evexW0, 0, 0x39,
  3466  		avxEscape | evex256 | evexF3 | evex0F38 | evexW0, 0, 0x39,
  3467  		avxEscape | evex512 | evexF3 | evex0F38 | evexW0, 0, 0x39,
  3468  	}},
  3469  	{as: AVPMOVDB, ytab: _yvpmovdb, prefix: Pavx, op: opBytes{
  3470  		avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x31,
  3471  		avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x31,
  3472  		avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x31,
  3473  	}},
  3474  	{as: AVPMOVDW, ytab: _yvpmovdw, prefix: Pavx, op: opBytes{
  3475  		avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x33,
  3476  		avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x33,
  3477  		avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x33,
  3478  	}},
  3479  	{as: AVPMOVM2B, ytab: _yvpbroadcastmb2q, prefix: Pavx, op: opBytes{
  3480  		avxEscape | evex128 | evexF3 | evex0F38 | evexW0, 0, 0x28,
  3481  		avxEscape | evex256 | evexF3 | evex0F38 | evexW0, 0, 0x28,
  3482  		avxEscape | evex512 | evexF3 | evex0F38 | evexW0, 0, 0x28,
  3483  	}},
  3484  	{as: AVPMOVM2D, ytab: _yvpbroadcastmb2q, prefix: Pavx, op: opBytes{
  3485  		avxEscape | evex128 | evexF3 | evex0F38 | evexW0, 0, 0x38,
  3486  		avxEscape | evex256 | evexF3 | evex0F38 | evexW0, 0, 0x38,
  3487  		avxEscape | evex512 | evexF3 | evex0F38 | evexW0, 0, 0x38,
  3488  	}},
  3489  	{as: AVPMOVM2Q, ytab: _yvpbroadcastmb2q, prefix: Pavx, op: opBytes{
  3490  		avxEscape | evex128 | evexF3 | evex0F38 | evexW1, 0, 0x38,
  3491  		avxEscape | evex256 | evexF3 | evex0F38 | evexW1, 0, 0x38,
  3492  		avxEscape | evex512 | evexF3 | evex0F38 | evexW1, 0, 0x38,
  3493  	}},
  3494  	{as: AVPMOVM2W, ytab: _yvpbroadcastmb2q, prefix: Pavx, op: opBytes{
  3495  		avxEscape | evex128 | evexF3 | evex0F38 | evexW1, 0, 0x28,
  3496  		avxEscape | evex256 | evexF3 | evex0F38 | evexW1, 0, 0x28,
  3497  		avxEscape | evex512 | evexF3 | evex0F38 | evexW1, 0, 0x28,
  3498  	}},
  3499  	{as: AVPMOVMSKB, ytab: _yvmovmskpd, prefix: Pavx, op: opBytes{
  3500  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xD7,
  3501  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xD7,
  3502  	}},
  3503  	{as: AVPMOVQ2M, ytab: _yvpmovb2m, prefix: Pavx, op: opBytes{
  3504  		avxEscape | evex128 | evexF3 | evex0F38 | evexW1, 0, 0x39,
  3505  		avxEscape | evex256 | evexF3 | evex0F38 | evexW1, 0, 0x39,
  3506  		avxEscape | evex512 | evexF3 | evex0F38 | evexW1, 0, 0x39,
  3507  	}},
  3508  	{as: AVPMOVQB, ytab: _yvpmovdb, prefix: Pavx, op: opBytes{
  3509  		avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN2 | evexZeroingEnabled, 0x32,
  3510  		avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x32,
  3511  		avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x32,
  3512  	}},
  3513  	{as: AVPMOVQD, ytab: _yvpmovdw, prefix: Pavx, op: opBytes{
  3514  		avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x35,
  3515  		avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x35,
  3516  		avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x35,
  3517  	}},
  3518  	{as: AVPMOVQW, ytab: _yvpmovdb, prefix: Pavx, op: opBytes{
  3519  		avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x34,
  3520  		avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x34,
  3521  		avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x34,
  3522  	}},
  3523  	{as: AVPMOVSDB, ytab: _yvpmovdb, prefix: Pavx, op: opBytes{
  3524  		avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x21,
  3525  		avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x21,
  3526  		avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x21,
  3527  	}},
  3528  	{as: AVPMOVSDW, ytab: _yvpmovdw, prefix: Pavx, op: opBytes{
  3529  		avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x23,
  3530  		avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x23,
  3531  		avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x23,
  3532  	}},
  3533  	{as: AVPMOVSQB, ytab: _yvpmovdb, prefix: Pavx, op: opBytes{
  3534  		avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN2 | evexZeroingEnabled, 0x22,
  3535  		avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x22,
  3536  		avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x22,
  3537  	}},
  3538  	{as: AVPMOVSQD, ytab: _yvpmovdw, prefix: Pavx, op: opBytes{
  3539  		avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x25,
  3540  		avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x25,
  3541  		avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x25,
  3542  	}},
  3543  	{as: AVPMOVSQW, ytab: _yvpmovdb, prefix: Pavx, op: opBytes{
  3544  		avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x24,
  3545  		avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x24,
  3546  		avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x24,
  3547  	}},
  3548  	{as: AVPMOVSWB, ytab: _yvpmovdw, prefix: Pavx, op: opBytes{
  3549  		avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x20,
  3550  		avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x20,
  3551  		avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x20,
  3552  	}},
  3553  	{as: AVPMOVSXBD, ytab: _yvbroadcastss, prefix: Pavx, op: opBytes{
  3554  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x21,
  3555  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x21,
  3556  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x21,
  3557  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x21,
  3558  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x21,
  3559  	}},
  3560  	{as: AVPMOVSXBQ, ytab: _yvbroadcastss, prefix: Pavx, op: opBytes{
  3561  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x22,
  3562  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x22,
  3563  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN2 | evexZeroingEnabled, 0x22,
  3564  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x22,
  3565  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x22,
  3566  	}},
  3567  	{as: AVPMOVSXBW, ytab: _yvcvtdq2pd, prefix: Pavx, op: opBytes{
  3568  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x20,
  3569  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x20,
  3570  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x20,
  3571  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x20,
  3572  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x20,
  3573  	}},
  3574  	{as: AVPMOVSXDQ, ytab: _yvcvtdq2pd, prefix: Pavx, op: opBytes{
  3575  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x25,
  3576  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x25,
  3577  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x25,
  3578  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x25,
  3579  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x25,
  3580  	}},
  3581  	{as: AVPMOVSXWD, ytab: _yvcvtdq2pd, prefix: Pavx, op: opBytes{
  3582  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x23,
  3583  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x23,
  3584  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x23,
  3585  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x23,
  3586  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x23,
  3587  	}},
  3588  	{as: AVPMOVSXWQ, ytab: _yvbroadcastss, prefix: Pavx, op: opBytes{
  3589  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x24,
  3590  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x24,
  3591  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x24,
  3592  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x24,
  3593  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x24,
  3594  	}},
  3595  	{as: AVPMOVUSDB, ytab: _yvpmovdb, prefix: Pavx, op: opBytes{
  3596  		avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x11,
  3597  		avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x11,
  3598  		avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x11,
  3599  	}},
  3600  	{as: AVPMOVUSDW, ytab: _yvpmovdw, prefix: Pavx, op: opBytes{
  3601  		avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x13,
  3602  		avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x13,
  3603  		avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x13,
  3604  	}},
  3605  	{as: AVPMOVUSQB, ytab: _yvpmovdb, prefix: Pavx, op: opBytes{
  3606  		avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN2 | evexZeroingEnabled, 0x12,
  3607  		avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x12,
  3608  		avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x12,
  3609  	}},
  3610  	{as: AVPMOVUSQD, ytab: _yvpmovdw, prefix: Pavx, op: opBytes{
  3611  		avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x15,
  3612  		avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x15,
  3613  		avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x15,
  3614  	}},
  3615  	{as: AVPMOVUSQW, ytab: _yvpmovdb, prefix: Pavx, op: opBytes{
  3616  		avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x14,
  3617  		avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x14,
  3618  		avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x14,
  3619  	}},
  3620  	{as: AVPMOVUSWB, ytab: _yvpmovdw, prefix: Pavx, op: opBytes{
  3621  		avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x10,
  3622  		avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x10,
  3623  		avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x10,
  3624  	}},
  3625  	{as: AVPMOVW2M, ytab: _yvpmovb2m, prefix: Pavx, op: opBytes{
  3626  		avxEscape | evex128 | evexF3 | evex0F38 | evexW1, 0, 0x29,
  3627  		avxEscape | evex256 | evexF3 | evex0F38 | evexW1, 0, 0x29,
  3628  		avxEscape | evex512 | evexF3 | evex0F38 | evexW1, 0, 0x29,
  3629  	}},
  3630  	{as: AVPMOVWB, ytab: _yvpmovdw, prefix: Pavx, op: opBytes{
  3631  		avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x30,
  3632  		avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x30,
  3633  		avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x30,
  3634  	}},
  3635  	{as: AVPMOVZXBD, ytab: _yvbroadcastss, prefix: Pavx, op: opBytes{
  3636  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x31,
  3637  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x31,
  3638  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x31,
  3639  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x31,
  3640  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x31,
  3641  	}},
  3642  	{as: AVPMOVZXBQ, ytab: _yvbroadcastss, prefix: Pavx, op: opBytes{
  3643  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x32,
  3644  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x32,
  3645  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN2 | evexZeroingEnabled, 0x32,
  3646  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x32,
  3647  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x32,
  3648  	}},
  3649  	{as: AVPMOVZXBW, ytab: _yvcvtdq2pd, prefix: Pavx, op: opBytes{
  3650  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x30,
  3651  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x30,
  3652  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x30,
  3653  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x30,
  3654  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x30,
  3655  	}},
  3656  	{as: AVPMOVZXDQ, ytab: _yvcvtdq2pd, prefix: Pavx, op: opBytes{
  3657  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x35,
  3658  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x35,
  3659  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x35,
  3660  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x35,
  3661  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x35,
  3662  	}},
  3663  	{as: AVPMOVZXWD, ytab: _yvcvtdq2pd, prefix: Pavx, op: opBytes{
  3664  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x33,
  3665  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x33,
  3666  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x33,
  3667  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x33,
  3668  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x33,
  3669  	}},
  3670  	{as: AVPMOVZXWQ, ytab: _yvbroadcastss, prefix: Pavx, op: opBytes{
  3671  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x34,
  3672  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x34,
  3673  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x34,
  3674  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x34,
  3675  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x34,
  3676  	}},
  3677  	{as: AVPMULDQ, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  3678  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x28,
  3679  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x28,
  3680  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x28,
  3681  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x28,
  3682  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x28,
  3683  	}},
  3684  	{as: AVPMULHRSW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  3685  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x0B,
  3686  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x0B,
  3687  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x0B,
  3688  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x0B,
  3689  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexZeroingEnabled, 0x0B,
  3690  	}},
  3691  	{as: AVPMULHUW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  3692  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xE4,
  3693  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xE4,
  3694  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xE4,
  3695  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xE4,
  3696  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xE4,
  3697  	}},
  3698  	{as: AVPMULHW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  3699  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xE5,
  3700  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xE5,
  3701  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xE5,
  3702  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xE5,
  3703  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xE5,
  3704  	}},
  3705  	{as: AVPMULLD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  3706  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x40,
  3707  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x40,
  3708  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x40,
  3709  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x40,
  3710  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x40,
  3711  	}},
  3712  	{as: AVPMULLQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3713  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x40,
  3714  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x40,
  3715  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x40,
  3716  	}},
  3717  	{as: AVPMULLW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  3718  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xD5,
  3719  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xD5,
  3720  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xD5,
  3721  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xD5,
  3722  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xD5,
  3723  	}},
  3724  	{as: AVPMULTISHIFTQB, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3725  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x83,
  3726  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x83,
  3727  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x83,
  3728  	}},
  3729  	{as: AVPMULUDQ, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  3730  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xF4,
  3731  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xF4,
  3732  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xF4,
  3733  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xF4,
  3734  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0xF4,
  3735  	}},
  3736  	{as: AVPOPCNTB, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
  3737  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x54,
  3738  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x54,
  3739  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexZeroingEnabled, 0x54,
  3740  	}},
  3741  	{as: AVPOPCNTD, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
  3742  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x55,
  3743  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x55,
  3744  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x55,
  3745  	}},
  3746  	{as: AVPOPCNTQ, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
  3747  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x55,
  3748  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x55,
  3749  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x55,
  3750  	}},
  3751  	{as: AVPOPCNTW, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
  3752  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexZeroingEnabled, 0x54,
  3753  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexZeroingEnabled, 0x54,
  3754  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexZeroingEnabled, 0x54,
  3755  	}},
  3756  	{as: AVPOR, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
  3757  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xEB,
  3758  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xEB,
  3759  	}},
  3760  	{as: AVPORD, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3761  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xEB,
  3762  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xEB,
  3763  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0xEB,
  3764  	}},
  3765  	{as: AVPORQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3766  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xEB,
  3767  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xEB,
  3768  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0xEB,
  3769  	}},
  3770  	{as: AVPROLD, ytab: _yvprold, prefix: Pavx, op: opBytes{
  3771  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x72, 01,
  3772  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x72, 01,
  3773  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x72, 01,
  3774  	}},
  3775  	{as: AVPROLQ, ytab: _yvprold, prefix: Pavx, op: opBytes{
  3776  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x72, 01,
  3777  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x72, 01,
  3778  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x72, 01,
  3779  	}},
  3780  	{as: AVPROLVD, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3781  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x15,
  3782  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x15,
  3783  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x15,
  3784  	}},
  3785  	{as: AVPROLVQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3786  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x15,
  3787  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x15,
  3788  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x15,
  3789  	}},
  3790  	{as: AVPRORD, ytab: _yvprold, prefix: Pavx, op: opBytes{
  3791  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x72, 00,
  3792  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x72, 00,
  3793  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x72, 00,
  3794  	}},
  3795  	{as: AVPRORQ, ytab: _yvprold, prefix: Pavx, op: opBytes{
  3796  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x72, 00,
  3797  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x72, 00,
  3798  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x72, 00,
  3799  	}},
  3800  	{as: AVPRORVD, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3801  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x14,
  3802  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x14,
  3803  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x14,
  3804  	}},
  3805  	{as: AVPRORVQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3806  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x14,
  3807  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x14,
  3808  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x14,
  3809  	}},
  3810  	{as: AVPSADBW, ytab: _yvaesdec, prefix: Pavx, op: opBytes{
  3811  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xF6,
  3812  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xF6,
  3813  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16, 0xF6,
  3814  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32, 0xF6,
  3815  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64, 0xF6,
  3816  	}},
  3817  	{as: AVPSCATTERDD, ytab: _yvpscatterdd, prefix: Pavx, op: opBytes{
  3818  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4, 0xA0,
  3819  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN4, 0xA0,
  3820  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4, 0xA0,
  3821  	}},
  3822  	{as: AVPSCATTERDQ, ytab: _yvpscatterdq, prefix: Pavx, op: opBytes{
  3823  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8, 0xA0,
  3824  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN8, 0xA0,
  3825  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8, 0xA0,
  3826  	}},
  3827  	{as: AVPSCATTERQD, ytab: _yvpscatterqd, prefix: Pavx, op: opBytes{
  3828  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4, 0xA1,
  3829  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN4, 0xA1,
  3830  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4, 0xA1,
  3831  	}},
  3832  	{as: AVPSCATTERQQ, ytab: _yvpscatterdd, prefix: Pavx, op: opBytes{
  3833  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8, 0xA1,
  3834  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN8, 0xA1,
  3835  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8, 0xA1,
  3836  	}},
  3837  	{as: AVPSHLDD, ytab: _yvalignd, prefix: Pavx, op: opBytes{
  3838  		avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x71,
  3839  		avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x71,
  3840  		avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x71,
  3841  	}},
  3842  	{as: AVPSHLDQ, ytab: _yvalignd, prefix: Pavx, op: opBytes{
  3843  		avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x71,
  3844  		avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x71,
  3845  		avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x71,
  3846  	}},
  3847  	{as: AVPSHLDVD, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3848  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x71,
  3849  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x71,
  3850  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x71,
  3851  	}},
  3852  	{as: AVPSHLDVQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3853  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x71,
  3854  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x71,
  3855  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x71,
  3856  	}},
  3857  	{as: AVPSHLDVW, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3858  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexZeroingEnabled, 0x70,
  3859  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexZeroingEnabled, 0x70,
  3860  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexZeroingEnabled, 0x70,
  3861  	}},
  3862  	{as: AVPSHLDW, ytab: _yvalignd, prefix: Pavx, op: opBytes{
  3863  		avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexZeroingEnabled, 0x70,
  3864  		avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexZeroingEnabled, 0x70,
  3865  		avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexZeroingEnabled, 0x70,
  3866  	}},
  3867  	{as: AVPSHRDD, ytab: _yvalignd, prefix: Pavx, op: opBytes{
  3868  		avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x73,
  3869  		avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x73,
  3870  		avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x73,
  3871  	}},
  3872  	{as: AVPSHRDQ, ytab: _yvalignd, prefix: Pavx, op: opBytes{
  3873  		avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x73,
  3874  		avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x73,
  3875  		avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x73,
  3876  	}},
  3877  	{as: AVPSHRDVD, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3878  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x73,
  3879  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x73,
  3880  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x73,
  3881  	}},
  3882  	{as: AVPSHRDVQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3883  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x73,
  3884  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x73,
  3885  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x73,
  3886  	}},
  3887  	{as: AVPSHRDVW, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3888  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexZeroingEnabled, 0x72,
  3889  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexZeroingEnabled, 0x72,
  3890  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexZeroingEnabled, 0x72,
  3891  	}},
  3892  	{as: AVPSHRDW, ytab: _yvalignd, prefix: Pavx, op: opBytes{
  3893  		avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexZeroingEnabled, 0x72,
  3894  		avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexZeroingEnabled, 0x72,
  3895  		avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexZeroingEnabled, 0x72,
  3896  	}},
  3897  	{as: AVPSHUFB, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  3898  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x00,
  3899  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x00,
  3900  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x00,
  3901  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x00,
  3902  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexZeroingEnabled, 0x00,
  3903  	}},
  3904  	{as: AVPSHUFBITQMB, ytab: _yvpshufbitqmb, prefix: Pavx, op: opBytes{
  3905  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16, 0x8F,
  3906  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32, 0x8F,
  3907  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64, 0x8F,
  3908  	}},
  3909  	{as: AVPSHUFD, ytab: _yvpshufd, prefix: Pavx, op: opBytes{
  3910  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x70,
  3911  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x70,
  3912  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x70,
  3913  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x70,
  3914  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x70,
  3915  	}},
  3916  	{as: AVPSHUFHW, ytab: _yvpshufd, prefix: Pavx, op: opBytes{
  3917  		avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x70,
  3918  		avxEscape | vex256 | vexF3 | vex0F | vexW0, 0x70,
  3919  		avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x70,
  3920  		avxEscape | evex256 | evexF3 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x70,
  3921  		avxEscape | evex512 | evexF3 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x70,
  3922  	}},
  3923  	{as: AVPSHUFLW, ytab: _yvpshufd, prefix: Pavx, op: opBytes{
  3924  		avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x70,
  3925  		avxEscape | vex256 | vexF2 | vex0F | vexW0, 0x70,
  3926  		avxEscape | evex128 | evexF2 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x70,
  3927  		avxEscape | evex256 | evexF2 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x70,
  3928  		avxEscape | evex512 | evexF2 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x70,
  3929  	}},
  3930  	{as: AVPSIGNB, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
  3931  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x08,
  3932  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x08,
  3933  	}},
  3934  	{as: AVPSIGND, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
  3935  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x0A,
  3936  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x0A,
  3937  	}},
  3938  	{as: AVPSIGNW, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
  3939  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x09,
  3940  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x09,
  3941  	}},
  3942  	{as: AVPSLLD, ytab: _yvpslld, prefix: Pavx, op: opBytes{
  3943  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x72, 06,
  3944  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x72, 06,
  3945  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xF2,
  3946  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xF2,
  3947  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x72, 06,
  3948  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x72, 06,
  3949  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x72, 06,
  3950  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xF2,
  3951  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xF2,
  3952  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xF2,
  3953  	}},
  3954  	{as: AVPSLLDQ, ytab: _yvpslldq, prefix: Pavx, op: opBytes{
  3955  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x73, 07,
  3956  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x73, 07,
  3957  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16, 0x73, 07,
  3958  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32, 0x73, 07,
  3959  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64, 0x73, 07,
  3960  	}},
  3961  	{as: AVPSLLQ, ytab: _yvpslld, prefix: Pavx, op: opBytes{
  3962  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x73, 06,
  3963  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x73, 06,
  3964  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xF3,
  3965  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xF3,
  3966  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x73, 06,
  3967  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x73, 06,
  3968  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x73, 06,
  3969  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0xF3,
  3970  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0xF3,
  3971  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0xF3,
  3972  	}},
  3973  	{as: AVPSLLVD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  3974  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x47,
  3975  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x47,
  3976  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x47,
  3977  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x47,
  3978  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x47,
  3979  	}},
  3980  	{as: AVPSLLVQ, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  3981  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x47,
  3982  		avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0x47,
  3983  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x47,
  3984  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x47,
  3985  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x47,
  3986  	}},
  3987  	{as: AVPSLLVW, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  3988  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexZeroingEnabled, 0x12,
  3989  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexZeroingEnabled, 0x12,
  3990  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexZeroingEnabled, 0x12,
  3991  	}},
  3992  	{as: AVPSLLW, ytab: _yvpslld, prefix: Pavx, op: opBytes{
  3993  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x71, 06,
  3994  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x71, 06,
  3995  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xF1,
  3996  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xF1,
  3997  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x71, 06,
  3998  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x71, 06,
  3999  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x71, 06,
  4000  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xF1,
  4001  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xF1,
  4002  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xF1,
  4003  	}},
  4004  	{as: AVPSRAD, ytab: _yvpslld, prefix: Pavx, op: opBytes{
  4005  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x72, 04,
  4006  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x72, 04,
  4007  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xE2,
  4008  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xE2,
  4009  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x72, 04,
  4010  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x72, 04,
  4011  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x72, 04,
  4012  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xE2,
  4013  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xE2,
  4014  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xE2,
  4015  	}},
  4016  	{as: AVPSRAQ, ytab: _yvpsraq, prefix: Pavx, op: opBytes{
  4017  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x72, 04,
  4018  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x72, 04,
  4019  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x72, 04,
  4020  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0xE2,
  4021  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0xE2,
  4022  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0xE2,
  4023  	}},
  4024  	{as: AVPSRAVD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  4025  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x46,
  4026  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x46,
  4027  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x46,
  4028  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x46,
  4029  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x46,
  4030  	}},
  4031  	{as: AVPSRAVQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  4032  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x46,
  4033  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x46,
  4034  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x46,
  4035  	}},
  4036  	{as: AVPSRAVW, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  4037  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexZeroingEnabled, 0x11,
  4038  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexZeroingEnabled, 0x11,
  4039  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexZeroingEnabled, 0x11,
  4040  	}},
  4041  	{as: AVPSRAW, ytab: _yvpslld, prefix: Pavx, op: opBytes{
  4042  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x71, 04,
  4043  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x71, 04,
  4044  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xE1,
  4045  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xE1,
  4046  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x71, 04,
  4047  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x71, 04,
  4048  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x71, 04,
  4049  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xE1,
  4050  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xE1,
  4051  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xE1,
  4052  	}},
  4053  	{as: AVPSRLD, ytab: _yvpslld, prefix: Pavx, op: opBytes{
  4054  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x72, 02,
  4055  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x72, 02,
  4056  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xD2,
  4057  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xD2,
  4058  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x72, 02,
  4059  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x72, 02,
  4060  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x72, 02,
  4061  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xD2,
  4062  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xD2,
  4063  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xD2,
  4064  	}},
  4065  	{as: AVPSRLDQ, ytab: _yvpslldq, prefix: Pavx, op: opBytes{
  4066  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x73, 03,
  4067  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x73, 03,
  4068  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16, 0x73, 03,
  4069  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32, 0x73, 03,
  4070  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64, 0x73, 03,
  4071  	}},
  4072  	{as: AVPSRLQ, ytab: _yvpslld, prefix: Pavx, op: opBytes{
  4073  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x73, 02,
  4074  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x73, 02,
  4075  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xD3,
  4076  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xD3,
  4077  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x73, 02,
  4078  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x73, 02,
  4079  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x73, 02,
  4080  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0xD3,
  4081  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0xD3,
  4082  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0xD3,
  4083  	}},
  4084  	{as: AVPSRLVD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  4085  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x45,
  4086  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x45,
  4087  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x45,
  4088  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x45,
  4089  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x45,
  4090  	}},
  4091  	{as: AVPSRLVQ, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  4092  		avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x45,
  4093  		avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0x45,
  4094  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x45,
  4095  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x45,
  4096  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x45,
  4097  	}},
  4098  	{as: AVPSRLVW, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  4099  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexZeroingEnabled, 0x10,
  4100  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexZeroingEnabled, 0x10,
  4101  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexZeroingEnabled, 0x10,
  4102  	}},
  4103  	{as: AVPSRLW, ytab: _yvpslld, prefix: Pavx, op: opBytes{
  4104  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x71, 02,
  4105  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x71, 02,
  4106  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xD1,
  4107  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xD1,
  4108  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x71, 02,
  4109  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x71, 02,
  4110  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x71, 02,
  4111  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xD1,
  4112  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xD1,
  4113  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xD1,
  4114  	}},
  4115  	{as: AVPSUBB, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  4116  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xF8,
  4117  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xF8,
  4118  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xF8,
  4119  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xF8,
  4120  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xF8,
  4121  	}},
  4122  	{as: AVPSUBD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  4123  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xFA,
  4124  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xFA,
  4125  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xFA,
  4126  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xFA,
  4127  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0xFA,
  4128  	}},
  4129  	{as: AVPSUBQ, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  4130  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xFB,
  4131  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xFB,
  4132  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xFB,
  4133  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xFB,
  4134  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0xFB,
  4135  	}},
  4136  	{as: AVPSUBSB, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  4137  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xE8,
  4138  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xE8,
  4139  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xE8,
  4140  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xE8,
  4141  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xE8,
  4142  	}},
  4143  	{as: AVPSUBSW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  4144  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xE9,
  4145  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xE9,
  4146  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xE9,
  4147  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xE9,
  4148  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xE9,
  4149  	}},
  4150  	{as: AVPSUBUSB, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  4151  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xD8,
  4152  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xD8,
  4153  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xD8,
  4154  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xD8,
  4155  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xD8,
  4156  	}},
  4157  	{as: AVPSUBUSW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  4158  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xD9,
  4159  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xD9,
  4160  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xD9,
  4161  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xD9,
  4162  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xD9,
  4163  	}},
  4164  	{as: AVPSUBW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  4165  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xF9,
  4166  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xF9,
  4167  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xF9,
  4168  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xF9,
  4169  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xF9,
  4170  	}},
  4171  	{as: AVPTERNLOGD, ytab: _yvalignd, prefix: Pavx, op: opBytes{
  4172  		avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x25,
  4173  		avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x25,
  4174  		avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x25,
  4175  	}},
  4176  	{as: AVPTERNLOGQ, ytab: _yvalignd, prefix: Pavx, op: opBytes{
  4177  		avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x25,
  4178  		avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x25,
  4179  		avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x25,
  4180  	}},
  4181  	{as: AVPTEST, ytab: _yvptest, prefix: Pavx, op: opBytes{
  4182  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x17,
  4183  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x17,
  4184  	}},
  4185  	{as: AVPTESTMB, ytab: _yvpshufbitqmb, prefix: Pavx, op: opBytes{
  4186  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16, 0x26,
  4187  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32, 0x26,
  4188  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64, 0x26,
  4189  	}},
  4190  	{as: AVPTESTMD, ytab: _yvpshufbitqmb, prefix: Pavx, op: opBytes{
  4191  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4, 0x27,
  4192  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4, 0x27,
  4193  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4, 0x27,
  4194  	}},
  4195  	{as: AVPTESTMQ, ytab: _yvpshufbitqmb, prefix: Pavx, op: opBytes{
  4196  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8, 0x27,
  4197  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8, 0x27,
  4198  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8, 0x27,
  4199  	}},
  4200  	{as: AVPTESTMW, ytab: _yvpshufbitqmb, prefix: Pavx, op: opBytes{
  4201  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16, 0x26,
  4202  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32, 0x26,
  4203  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64, 0x26,
  4204  	}},
  4205  	{as: AVPTESTNMB, ytab: _yvpshufbitqmb, prefix: Pavx, op: opBytes{
  4206  		avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN16, 0x26,
  4207  		avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN32, 0x26,
  4208  		avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN64, 0x26,
  4209  	}},
  4210  	{as: AVPTESTNMD, ytab: _yvpshufbitqmb, prefix: Pavx, op: opBytes{
  4211  		avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN16 | evexBcstN4, 0x27,
  4212  		avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN32 | evexBcstN4, 0x27,
  4213  		avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN64 | evexBcstN4, 0x27,
  4214  	}},
  4215  	{as: AVPTESTNMQ, ytab: _yvpshufbitqmb, prefix: Pavx, op: opBytes{
  4216  		avxEscape | evex128 | evexF3 | evex0F38 | evexW1, evexN16 | evexBcstN8, 0x27,
  4217  		avxEscape | evex256 | evexF3 | evex0F38 | evexW1, evexN32 | evexBcstN8, 0x27,
  4218  		avxEscape | evex512 | evexF3 | evex0F38 | evexW1, evexN64 | evexBcstN8, 0x27,
  4219  	}},
  4220  	{as: AVPTESTNMW, ytab: _yvpshufbitqmb, prefix: Pavx, op: opBytes{
  4221  		avxEscape | evex128 | evexF3 | evex0F38 | evexW1, evexN16, 0x26,
  4222  		avxEscape | evex256 | evexF3 | evex0F38 | evexW1, evexN32, 0x26,
  4223  		avxEscape | evex512 | evexF3 | evex0F38 | evexW1, evexN64, 0x26,
  4224  	}},
  4225  	{as: AVPUNPCKHBW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  4226  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x68,
  4227  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x68,
  4228  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x68,
  4229  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x68,
  4230  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x68,
  4231  	}},
  4232  	{as: AVPUNPCKHDQ, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  4233  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x6A,
  4234  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x6A,
  4235  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x6A,
  4236  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x6A,
  4237  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x6A,
  4238  	}},
  4239  	{as: AVPUNPCKHQDQ, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  4240  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x6D,
  4241  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x6D,
  4242  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x6D,
  4243  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x6D,
  4244  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x6D,
  4245  	}},
  4246  	{as: AVPUNPCKHWD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  4247  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x69,
  4248  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x69,
  4249  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x69,
  4250  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x69,
  4251  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x69,
  4252  	}},
  4253  	{as: AVPUNPCKLBW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  4254  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x60,
  4255  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x60,
  4256  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x60,
  4257  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x60,
  4258  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x60,
  4259  	}},
  4260  	{as: AVPUNPCKLDQ, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  4261  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x62,
  4262  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x62,
  4263  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x62,
  4264  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x62,
  4265  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x62,
  4266  	}},
  4267  	{as: AVPUNPCKLQDQ, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  4268  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x6C,
  4269  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x6C,
  4270  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x6C,
  4271  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x6C,
  4272  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x6C,
  4273  	}},
  4274  	{as: AVPUNPCKLWD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  4275  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x61,
  4276  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x61,
  4277  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x61,
  4278  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x61,
  4279  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x61,
  4280  	}},
  4281  	{as: AVPXOR, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
  4282  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xEF,
  4283  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xEF,
  4284  	}},
  4285  	{as: AVPXORD, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  4286  		avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xEF,
  4287  		avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xEF,
  4288  		avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0xEF,
  4289  	}},
  4290  	{as: AVPXORQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
  4291  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xEF,
  4292  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xEF,
  4293  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0xEF,
  4294  	}},
  4295  	{as: AVRANGEPD, ytab: _yvfixupimmpd, prefix: Pavx, op: opBytes{
  4296  		avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8 | evexSaeEnabled | evexZeroingEnabled, 0x50,
  4297  		avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x50,
  4298  		avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x50,
  4299  	}},
  4300  	{as: AVRANGEPS, ytab: _yvfixupimmpd, prefix: Pavx, op: opBytes{
  4301  		avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexBcstN4 | evexSaeEnabled | evexZeroingEnabled, 0x50,
  4302  		avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x50,
  4303  		avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x50,
  4304  	}},
  4305  	{as: AVRANGESD, ytab: _yvfixupimmsd, prefix: Pavx, op: opBytes{
  4306  		avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN8 | evexSaeEnabled | evexZeroingEnabled, 0x51,
  4307  	}},
  4308  	{as: AVRANGESS, ytab: _yvfixupimmsd, prefix: Pavx, op: opBytes{
  4309  		avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN4 | evexSaeEnabled | evexZeroingEnabled, 0x51,
  4310  	}},
  4311  	{as: AVRCP14PD, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
  4312  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x4C,
  4313  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x4C,
  4314  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x4C,
  4315  	}},
  4316  	{as: AVRCP14PS, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
  4317  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x4C,
  4318  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x4C,
  4319  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x4C,
  4320  	}},
  4321  	{as: AVRCP14SD, ytab: _yvgetexpsd, prefix: Pavx, op: opBytes{
  4322  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x4D,
  4323  	}},
  4324  	{as: AVRCP14SS, ytab: _yvgetexpsd, prefix: Pavx, op: opBytes{
  4325  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x4D,
  4326  	}},
  4327  	{as: AVRCP28PD, ytab: _yvexp2pd, prefix: Pavx, op: opBytes{
  4328  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexSaeEnabled | evexZeroingEnabled, 0xCA,
  4329  	}},
  4330  	{as: AVRCP28PS, ytab: _yvexp2pd, prefix: Pavx, op: opBytes{
  4331  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexSaeEnabled | evexZeroingEnabled, 0xCA,
  4332  	}},
  4333  	{as: AVRCP28SD, ytab: _yvgetexpsd, prefix: Pavx, op: opBytes{
  4334  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexSaeEnabled | evexZeroingEnabled, 0xCB,
  4335  	}},
  4336  	{as: AVRCP28SS, ytab: _yvgetexpsd, prefix: Pavx, op: opBytes{
  4337  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexSaeEnabled | evexZeroingEnabled, 0xCB,
  4338  	}},
  4339  	{as: AVRCPPS, ytab: _yvptest, prefix: Pavx, op: opBytes{
  4340  		avxEscape | vex128 | vex0F | vexW0, 0x53,
  4341  		avxEscape | vex256 | vex0F | vexW0, 0x53,
  4342  	}},
  4343  	{as: AVRCPSS, ytab: _yvrcpss, prefix: Pavx, op: opBytes{
  4344  		avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x53,
  4345  	}},
  4346  	{as: AVREDUCEPD, ytab: _yvgetmantpd, prefix: Pavx, op: opBytes{
  4347  		avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8 | evexSaeEnabled | evexZeroingEnabled, 0x56,
  4348  		avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x56,
  4349  		avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x56,
  4350  	}},
  4351  	{as: AVREDUCEPS, ytab: _yvgetmantpd, prefix: Pavx, op: opBytes{
  4352  		avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexBcstN4 | evexSaeEnabled | evexZeroingEnabled, 0x56,
  4353  		avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x56,
  4354  		avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x56,
  4355  	}},
  4356  	{as: AVREDUCESD, ytab: _yvfixupimmsd, prefix: Pavx, op: opBytes{
  4357  		avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN8 | evexSaeEnabled | evexZeroingEnabled, 0x57,
  4358  	}},
  4359  	{as: AVREDUCESS, ytab: _yvfixupimmsd, prefix: Pavx, op: opBytes{
  4360  		avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN4 | evexSaeEnabled | evexZeroingEnabled, 0x57,
  4361  	}},
  4362  	{as: AVRNDSCALEPD, ytab: _yvgetmantpd, prefix: Pavx, op: opBytes{
  4363  		avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8 | evexSaeEnabled | evexZeroingEnabled, 0x09,
  4364  		avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x09,
  4365  		avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x09,
  4366  	}},
  4367  	{as: AVRNDSCALEPS, ytab: _yvgetmantpd, prefix: Pavx, op: opBytes{
  4368  		avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexBcstN4 | evexSaeEnabled | evexZeroingEnabled, 0x08,
  4369  		avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x08,
  4370  		avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x08,
  4371  	}},
  4372  	{as: AVRNDSCALESD, ytab: _yvfixupimmsd, prefix: Pavx, op: opBytes{
  4373  		avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN8 | evexSaeEnabled | evexZeroingEnabled, 0x0B,
  4374  	}},
  4375  	{as: AVRNDSCALESS, ytab: _yvfixupimmsd, prefix: Pavx, op: opBytes{
  4376  		avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN4 | evexSaeEnabled | evexZeroingEnabled, 0x0A,
  4377  	}},
  4378  	{as: AVROUNDPD, ytab: _yvroundpd, prefix: Pavx, op: opBytes{
  4379  		avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x09,
  4380  		avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x09,
  4381  	}},
  4382  	{as: AVROUNDPS, ytab: _yvroundpd, prefix: Pavx, op: opBytes{
  4383  		avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x08,
  4384  		avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x08,
  4385  	}},
  4386  	{as: AVROUNDSD, ytab: _yvdppd, prefix: Pavx, op: opBytes{
  4387  		avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x0B,
  4388  	}},
  4389  	{as: AVROUNDSS, ytab: _yvdppd, prefix: Pavx, op: opBytes{
  4390  		avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x0A,
  4391  	}},
  4392  	{as: AVRSQRT14PD, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
  4393  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x4E,
  4394  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x4E,
  4395  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x4E,
  4396  	}},
  4397  	{as: AVRSQRT14PS, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
  4398  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x4E,
  4399  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x4E,
  4400  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x4E,
  4401  	}},
  4402  	{as: AVRSQRT14SD, ytab: _yvgetexpsd, prefix: Pavx, op: opBytes{
  4403  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x4F,
  4404  	}},
  4405  	{as: AVRSQRT14SS, ytab: _yvgetexpsd, prefix: Pavx, op: opBytes{
  4406  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x4F,
  4407  	}},
  4408  	{as: AVRSQRT28PD, ytab: _yvexp2pd, prefix: Pavx, op: opBytes{
  4409  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexSaeEnabled | evexZeroingEnabled, 0xCC,
  4410  	}},
  4411  	{as: AVRSQRT28PS, ytab: _yvexp2pd, prefix: Pavx, op: opBytes{
  4412  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexSaeEnabled | evexZeroingEnabled, 0xCC,
  4413  	}},
  4414  	{as: AVRSQRT28SD, ytab: _yvgetexpsd, prefix: Pavx, op: opBytes{
  4415  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexSaeEnabled | evexZeroingEnabled, 0xCD,
  4416  	}},
  4417  	{as: AVRSQRT28SS, ytab: _yvgetexpsd, prefix: Pavx, op: opBytes{
  4418  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexSaeEnabled | evexZeroingEnabled, 0xCD,
  4419  	}},
  4420  	{as: AVRSQRTPS, ytab: _yvptest, prefix: Pavx, op: opBytes{
  4421  		avxEscape | vex128 | vex0F | vexW0, 0x52,
  4422  		avxEscape | vex256 | vex0F | vexW0, 0x52,
  4423  	}},
  4424  	{as: AVRSQRTSS, ytab: _yvrcpss, prefix: Pavx, op: opBytes{
  4425  		avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x52,
  4426  	}},
  4427  	{as: AVSCALEFPD, ytab: _yvscalefpd, prefix: Pavx, op: opBytes{
  4428  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x2C,
  4429  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x2C,
  4430  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x2C,
  4431  	}},
  4432  	{as: AVSCALEFPS, ytab: _yvscalefpd, prefix: Pavx, op: opBytes{
  4433  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x2C,
  4434  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x2C,
  4435  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x2C,
  4436  	}},
  4437  	{as: AVSCALEFSD, ytab: _yvgetexpsd, prefix: Pavx, op: opBytes{
  4438  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0x2D,
  4439  	}},
  4440  	{as: AVSCALEFSS, ytab: _yvgetexpsd, prefix: Pavx, op: opBytes{
  4441  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0x2D,
  4442  	}},
  4443  	{as: AVSCATTERDPD, ytab: _yvpscatterdq, prefix: Pavx, op: opBytes{
  4444  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8, 0xA2,
  4445  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN8, 0xA2,
  4446  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8, 0xA2,
  4447  	}},
  4448  	{as: AVSCATTERDPS, ytab: _yvpscatterdd, prefix: Pavx, op: opBytes{
  4449  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4, 0xA2,
  4450  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN4, 0xA2,
  4451  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4, 0xA2,
  4452  	}},
  4453  	{as: AVSCATTERPF0DPD, ytab: _yvgatherpf0dpd, prefix: Pavx, op: opBytes{
  4454  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8, 0xC6, 05,
  4455  	}},
  4456  	{as: AVSCATTERPF0DPS, ytab: _yvgatherpf0dps, prefix: Pavx, op: opBytes{
  4457  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4, 0xC6, 05,
  4458  	}},
  4459  	{as: AVSCATTERPF0QPD, ytab: _yvgatherpf0dps, prefix: Pavx, op: opBytes{
  4460  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8, 0xC7, 05,
  4461  	}},
  4462  	{as: AVSCATTERPF0QPS, ytab: _yvgatherpf0dps, prefix: Pavx, op: opBytes{
  4463  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4, 0xC7, 05,
  4464  	}},
  4465  	{as: AVSCATTERPF1DPD, ytab: _yvgatherpf0dpd, prefix: Pavx, op: opBytes{
  4466  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8, 0xC6, 06,
  4467  	}},
  4468  	{as: AVSCATTERPF1DPS, ytab: _yvgatherpf0dps, prefix: Pavx, op: opBytes{
  4469  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4, 0xC6, 06,
  4470  	}},
  4471  	{as: AVSCATTERPF1QPD, ytab: _yvgatherpf0dps, prefix: Pavx, op: opBytes{
  4472  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8, 0xC7, 06,
  4473  	}},
  4474  	{as: AVSCATTERPF1QPS, ytab: _yvgatherpf0dps, prefix: Pavx, op: opBytes{
  4475  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4, 0xC7, 06,
  4476  	}},
  4477  	{as: AVSCATTERQPD, ytab: _yvpscatterdd, prefix: Pavx, op: opBytes{
  4478  		avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8, 0xA3,
  4479  		avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN8, 0xA3,
  4480  		avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8, 0xA3,
  4481  	}},
  4482  	{as: AVSCATTERQPS, ytab: _yvpscatterqd, prefix: Pavx, op: opBytes{
  4483  		avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4, 0xA3,
  4484  		avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN4, 0xA3,
  4485  		avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4, 0xA3,
  4486  	}},
  4487  	{as: AVSHUFF32X4, ytab: _yvshuff32x4, prefix: Pavx, op: opBytes{
  4488  		avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x23,
  4489  		avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x23,
  4490  	}},
  4491  	{as: AVSHUFF64X2, ytab: _yvshuff32x4, prefix: Pavx, op: opBytes{
  4492  		avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x23,
  4493  		avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x23,
  4494  	}},
  4495  	{as: AVSHUFI32X4, ytab: _yvshuff32x4, prefix: Pavx, op: opBytes{
  4496  		avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x43,
  4497  		avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x43,
  4498  	}},
  4499  	{as: AVSHUFI64X2, ytab: _yvshuff32x4, prefix: Pavx, op: opBytes{
  4500  		avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x43,
  4501  		avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x43,
  4502  	}},
  4503  	{as: AVSHUFPD, ytab: _yvgf2p8affineinvqb, prefix: Pavx, op: opBytes{
  4504  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0xC6,
  4505  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0xC6,
  4506  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xC6,
  4507  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xC6,
  4508  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0xC6,
  4509  	}},
  4510  	{as: AVSHUFPS, ytab: _yvgf2p8affineinvqb, prefix: Pavx, op: opBytes{
  4511  		avxEscape | vex128 | vex0F | vexW0, 0xC6,
  4512  		avxEscape | vex256 | vex0F | vexW0, 0xC6,
  4513  		avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xC6,
  4514  		avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xC6,
  4515  		avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0xC6,
  4516  	}},
  4517  	{as: AVSQRTPD, ytab: _yvcvtdq2ps, prefix: Pavx, op: opBytes{
  4518  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x51,
  4519  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x51,
  4520  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x51,
  4521  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x51,
  4522  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x51,
  4523  	}},
  4524  	{as: AVSQRTPS, ytab: _yvcvtdq2ps, prefix: Pavx, op: opBytes{
  4525  		avxEscape | vex128 | vex0F | vexW0, 0x51,
  4526  		avxEscape | vex256 | vex0F | vexW0, 0x51,
  4527  		avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x51,
  4528  		avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x51,
  4529  		avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x51,
  4530  	}},
  4531  	{as: AVSQRTSD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  4532  		avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x51,
  4533  		avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0x51,
  4534  	}},
  4535  	{as: AVSQRTSS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  4536  		avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x51,
  4537  		avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0x51,
  4538  	}},
  4539  	{as: AVSTMXCSR, ytab: _yvldmxcsr, prefix: Pavx, op: opBytes{
  4540  		avxEscape | vex128 | vex0F | vexW0, 0xAE, 03,
  4541  	}},
  4542  	{as: AVSUBPD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  4543  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x5C,
  4544  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x5C,
  4545  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x5C,
  4546  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x5C,
  4547  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x5C,
  4548  	}},
  4549  	{as: AVSUBPS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
  4550  		avxEscape | vex128 | vex0F | vexW0, 0x5C,
  4551  		avxEscape | vex256 | vex0F | vexW0, 0x5C,
  4552  		avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x5C,
  4553  		avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x5C,
  4554  		avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x5C,
  4555  	}},
  4556  	{as: AVSUBSD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  4557  		avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x5C,
  4558  		avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0x5C,
  4559  	}},
  4560  	{as: AVSUBSS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
  4561  		avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x5C,
  4562  		avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0x5C,
  4563  	}},
  4564  	{as: AVTESTPD, ytab: _yvptest, prefix: Pavx, op: opBytes{
  4565  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x0F,
  4566  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x0F,
  4567  	}},
  4568  	{as: AVTESTPS, ytab: _yvptest, prefix: Pavx, op: opBytes{
  4569  		avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x0E,
  4570  		avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x0E,
  4571  	}},
  4572  	{as: AVUCOMISD, ytab: _yvcomisd, prefix: Pavx, op: opBytes{
  4573  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x2E,
  4574  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN8 | evexSaeEnabled, 0x2E,
  4575  	}},
  4576  	{as: AVUCOMISS, ytab: _yvcomisd, prefix: Pavx, op: opBytes{
  4577  		avxEscape | vex128 | vex0F | vexW0, 0x2E,
  4578  		avxEscape | evex128 | evex0F | evexW0, evexN4 | evexSaeEnabled, 0x2E,
  4579  	}},
  4580  	{as: AVUNPCKHPD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  4581  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x15,
  4582  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x15,
  4583  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x15,
  4584  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x15,
  4585  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x15,
  4586  	}},
  4587  	{as: AVUNPCKHPS, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  4588  		avxEscape | vex128 | vex0F | vexW0, 0x15,
  4589  		avxEscape | vex256 | vex0F | vexW0, 0x15,
  4590  		avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x15,
  4591  		avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x15,
  4592  		avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x15,
  4593  	}},
  4594  	{as: AVUNPCKLPD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  4595  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x14,
  4596  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x14,
  4597  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x14,
  4598  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x14,
  4599  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x14,
  4600  	}},
  4601  	{as: AVUNPCKLPS, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  4602  		avxEscape | vex128 | vex0F | vexW0, 0x14,
  4603  		avxEscape | vex256 | vex0F | vexW0, 0x14,
  4604  		avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x14,
  4605  		avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x14,
  4606  		avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x14,
  4607  	}},
  4608  	{as: AVXORPD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  4609  		avxEscape | vex128 | vex66 | vex0F | vexW0, 0x57,
  4610  		avxEscape | vex256 | vex66 | vex0F | vexW0, 0x57,
  4611  		avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x57,
  4612  		avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x57,
  4613  		avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x57,
  4614  	}},
  4615  	{as: AVXORPS, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
  4616  		avxEscape | vex128 | vex0F | vexW0, 0x57,
  4617  		avxEscape | vex256 | vex0F | vexW0, 0x57,
  4618  		avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x57,
  4619  		avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x57,
  4620  		avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x57,
  4621  	}},
  4622  	{as: AVZEROALL, ytab: _yvzeroall, prefix: Pavx, op: opBytes{
  4623  		avxEscape | vex256 | vex0F | vexW0, 0x77,
  4624  	}},
  4625  	{as: AVZEROUPPER, ytab: _yvzeroall, prefix: Pavx, op: opBytes{
  4626  		avxEscape | vex128 | vex0F | vexW0, 0x77,
  4627  	}},
  4628  }
  4629  

View as plain text