avx_optabs.go raw

   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