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