• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Code generated by x86avxgen. DO NOT EDIT.
2
3package 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
43var _yandnl = []ytab{
44	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yml, Yrl, Yrl}},
45}
46
47var _ybextrl = []ytab{
48	{zcase: Zvex_v_rm_r, zoffset: 2, args: argList{Yrl, Yml, Yrl}},
49}
50
51var _yblsil = []ytab{
52	{zcase: Zvex_rm_r_vo, zoffset: 3, args: argList{Yml, Yrl}},
53}
54
55var _ykaddb = []ytab{
56	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yk, Yk, Yk}},
57}
58
59var _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
66var _yknotb = []ytab{
67	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yk, Yk}},
68}
69
70var _ykshiftlb = []ytab{
71	{zcase: Zvex_i_rm_r, zoffset: 2, args: argList{Yu8, Yk, Yk}},
72}
73
74var _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
79var _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
84var _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
89var _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
100var _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
106var _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
111var _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
119var _yvaesimc = []ytab{
120	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr}},
121}
122
123var _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
128var _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
137var _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
148var _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
157var _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
162var _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
167var _yvbroadcastf128 = []ytab{
168	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Ym, Yyr}},
169}
170
171var _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
178var _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
185var _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
190var _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
199var _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
207var _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
218var _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
229var _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
235var _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
240var _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
249var _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
260var _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
271var _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
276var _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
282var _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
288var _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
297var _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
302var _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
307var _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
318var _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
331var _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
340var _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
345var _yvcvtsd2usil = []ytab{
346	{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{YxmEvex, Yrl}},
347}
348
349var _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
354var _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
363var _yvcvtusi2sdl = []ytab{
364	{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{Yml, YxrEvex, YxrEvex}},
365}
366
367var _yvdppd = []ytab{
368	{zcase: Zvex_i_rm_v_r, zoffset: 2, args: argList{Yu8, Yxm, Yxr, Yxr}},
369}
370
371var _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
376var _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
385var _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
390var _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
397var _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
402var _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
408var _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
417var _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
422var _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
427var _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
432var _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
437var _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
445var _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
453var _yvgatherpf0dpd = []ytab{
454	{zcase: Zevex_k_rmo, zoffset: 4, args: argList{Yknot0, YyvmEvex}},
455}
456
457var _yvgatherpf0dps = []ytab{
458	{zcase: Zevex_k_rmo, zoffset: 4, args: argList{Yknot0, Yzvm}},
459}
460
461var _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
469var _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
474var _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
483var _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
494var _yvinsertf128 = []ytab{
495	{zcase: Zvex_i_rm_v_r, zoffset: 2, args: argList{Yu8, Yxm, Yyr, Yyr}},
496}
497
498var _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
505var _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
510var _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
515var _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
520var _yvldmxcsr = []ytab{
521	{zcase: Zvex_rm_v_ro, zoffset: 3, args: argList{Ym}},
522}
523
524var _yvmaskmovdqu = []ytab{
525	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxr, Yxr}},
526}
527
528var _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
535var _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
554var _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
561var _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
572var _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
579var _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
594var _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
599var _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
606var _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
611var _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
619var _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
627var _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
638var _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
653var _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
670var _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
676var _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
684var _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
693var _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
704var _yvperm2f128 = []ytab{
705	{zcase: Zvex_i_rm_v_r, zoffset: 2, args: argList{Yu8, Yym, Yyr, Yyr}},
706}
707
708var _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
716var _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
737var _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
749var _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
762var _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
771var _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
776var _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
782var _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
791var _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
800var _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
809var _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
815var _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
821var _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
827var _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
836var _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
849var _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
870var _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
880var _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
895var _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
900var _yvrcpss = []ytab{
901	{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr, Yxr}},
902}
903
904var _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
911var _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
920var _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
927var _yvzeroall = []ytab{
928	{zcase: Zvex, zoffset: 2, args: argList{}},
929}
930
931var 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