xref: /plan9/sys/src/cmd/6l/optab.c (revision 27d75179f48b32c8ae0ccd9970d644855c29d5e0)
1e887ea33SDavid du Colombier #include	"l.h"
2e887ea33SDavid du Colombier 
3e887ea33SDavid du Colombier uchar	ynone[] =
4e887ea33SDavid du Colombier {
5e887ea33SDavid du Colombier 	Ynone,	Ynone,	Zlit,	1,
6e887ea33SDavid du Colombier 	0
7e887ea33SDavid du Colombier };
8e887ea33SDavid du Colombier uchar	ytext[] =
9e887ea33SDavid du Colombier {
10e887ea33SDavid du Colombier 	Ymb,	Yi32,	Zpseudo,1,
11e887ea33SDavid du Colombier 	0
12e887ea33SDavid du Colombier };
13e887ea33SDavid du Colombier uchar	ynop[] =
14e887ea33SDavid du Colombier {
15e887ea33SDavid du Colombier 	Ynone,	Ynone,	Zpseudo,1,
16e887ea33SDavid du Colombier 	Ynone,	Yml,	Zpseudo,1,
17e887ea33SDavid du Colombier 	Ynone,	Yrf,	Zpseudo,1,
18*27d75179SDavid du Colombier 	Ynone,	Yxr,	Zpseudo,1,
19e887ea33SDavid du Colombier 	Yml,	Ynone,	Zpseudo,1,
20e887ea33SDavid du Colombier 	Yrf,	Ynone,	Zpseudo,1,
21*27d75179SDavid du Colombier 	Yxr,	Ynone,	Zpseudo,1,
22e887ea33SDavid du Colombier 	0
23e887ea33SDavid du Colombier };
24e887ea33SDavid du Colombier uchar	yxorb[] =
25e887ea33SDavid du Colombier {
26e887ea33SDavid du Colombier 	Yi32,	Yal,	Zib_,	1,
27e887ea33SDavid du Colombier 	Yi32,	Ymb,	Zibo_m,	2,
28e887ea33SDavid du Colombier 	Yrb,	Ymb,	Zr_m,	1,
29e887ea33SDavid du Colombier 	Ymb,	Yrb,	Zm_r,	1,
30e887ea33SDavid du Colombier 	0
31e887ea33SDavid du Colombier };
32e887ea33SDavid du Colombier uchar	yxorl[] =
33e887ea33SDavid du Colombier {
34e887ea33SDavid du Colombier 	Yi8,	Yml,	Zibo_m,	2,
35e887ea33SDavid du Colombier 	Yi32,	Yax,	Zil_,	1,
36e887ea33SDavid du Colombier 	Yi32,	Yml,	Zilo_m,	2,
37e887ea33SDavid du Colombier 	Yrl,	Yml,	Zr_m,	1,
38e887ea33SDavid du Colombier 	Yml,	Yrl,	Zm_r,	1,
39e887ea33SDavid du Colombier 	0
40e887ea33SDavid du Colombier };
41e887ea33SDavid du Colombier uchar	yaddl[] =
42e887ea33SDavid du Colombier {
43e887ea33SDavid du Colombier 	Yi8,	Yml,	Zibo_m,	2,
44e887ea33SDavid du Colombier 	Yi32,	Yax,	Zil_,	1,
45e887ea33SDavid du Colombier 	Yi32,	Yml,	Zilo_m,	2,
46e887ea33SDavid du Colombier 	Yrl,	Yml,	Zr_m,	1,
47e887ea33SDavid du Colombier 	Yml,	Yrl,	Zm_r,	1,
48e887ea33SDavid du Colombier 	0
49e887ea33SDavid du Colombier };
50e887ea33SDavid du Colombier uchar	yincb[] =
51e887ea33SDavid du Colombier {
52e887ea33SDavid du Colombier 	Ynone,	Ymb,	Zo_m,	2,
53e887ea33SDavid du Colombier 	0
54e887ea33SDavid du Colombier };
55e887ea33SDavid du Colombier uchar	yincw[] =
56e887ea33SDavid du Colombier {
57e887ea33SDavid du Colombier 	Ynone,	Yml,	Zo_m,	2,
58e887ea33SDavid du Colombier 	0
59e887ea33SDavid du Colombier };
60e887ea33SDavid du Colombier uchar	yincl[] =
61e887ea33SDavid du Colombier {
62e887ea33SDavid du Colombier 	Ynone,	Yml,	Zo_m,	2,
63e887ea33SDavid du Colombier 	0
64e887ea33SDavid du Colombier };
65e887ea33SDavid du Colombier uchar	ycmpb[] =
66e887ea33SDavid du Colombier {
67e887ea33SDavid du Colombier 	Yal,	Yi32,	Z_ib,	1,
68e887ea33SDavid du Colombier 	Ymb,	Yi32,	Zm_ibo,	2,
69e887ea33SDavid du Colombier 	Ymb,	Yrb,	Zm_r,	1,
70e887ea33SDavid du Colombier 	Yrb,	Ymb,	Zr_m,	1,
71e887ea33SDavid du Colombier 	0
72e887ea33SDavid du Colombier };
73e887ea33SDavid du Colombier uchar	ycmpl[] =
74e887ea33SDavid du Colombier {
75e887ea33SDavid du Colombier 	Yml,	Yi8,	Zm_ibo,	2,
76e887ea33SDavid du Colombier 	Yax,	Yi32,	Z_il,	1,
77e887ea33SDavid du Colombier 	Yml,	Yi32,	Zm_ilo,	2,
78e887ea33SDavid du Colombier 	Yml,	Yrl,	Zm_r,	1,
79e887ea33SDavid du Colombier 	Yrl,	Yml,	Zr_m,	1,
80e887ea33SDavid du Colombier 	0
81e887ea33SDavid du Colombier };
82e887ea33SDavid du Colombier uchar	yshb[] =
83e887ea33SDavid du Colombier {
84e887ea33SDavid du Colombier 	Yi1,	Ymb,	Zo_m,	2,
85e887ea33SDavid du Colombier 	Yi32,	Ymb,	Zibo_m,	2,
86e887ea33SDavid du Colombier 	Ycx,	Ymb,	Zo_m,	2,
87e887ea33SDavid du Colombier 	0
88e887ea33SDavid du Colombier };
89e887ea33SDavid du Colombier uchar	yshl[] =
90e887ea33SDavid du Colombier {
91e887ea33SDavid du Colombier 	Yi1,	Yml,	Zo_m,	2,
92e887ea33SDavid du Colombier 	Yi32,	Yml,	Zibo_m,	2,
93e887ea33SDavid du Colombier 	Ycl,	Yml,	Zo_m,	2,
94e887ea33SDavid du Colombier 	Ycx,	Yml,	Zo_m,	2,
95e887ea33SDavid du Colombier 	0
96e887ea33SDavid du Colombier };
97e887ea33SDavid du Colombier uchar	ytestb[] =
98e887ea33SDavid du Colombier {
99e887ea33SDavid du Colombier 	Yi32,	Yal,	Zib_,	1,
100e887ea33SDavid du Colombier 	Yi32,	Ymb,	Zibo_m,	2,
101e887ea33SDavid du Colombier 	Yrb,	Ymb,	Zr_m,	1,
102e887ea33SDavid du Colombier 	Ymb,	Yrb,	Zm_r,	1,
103e887ea33SDavid du Colombier 	0
104e887ea33SDavid du Colombier };
105e887ea33SDavid du Colombier uchar	ytestl[] =
106e887ea33SDavid du Colombier {
107e887ea33SDavid du Colombier 	Yi32,	Yax,	Zil_,	1,
108e887ea33SDavid du Colombier 	Yi32,	Yml,	Zilo_m,	2,
109e887ea33SDavid du Colombier 	Yrl,	Yml,	Zr_m,	1,
110e887ea33SDavid du Colombier 	Yml,	Yrl,	Zm_r,	1,
111e887ea33SDavid du Colombier 	0
112e887ea33SDavid du Colombier };
113e887ea33SDavid du Colombier uchar	ymovb[] =
114e887ea33SDavid du Colombier {
115e887ea33SDavid du Colombier 	Yrb,	Ymb,	Zr_m,	1,
116e887ea33SDavid du Colombier 	Ymb,	Yrb,	Zm_r,	1,
117e887ea33SDavid du Colombier 	Yi32,	Yrb,	Zib_rp,	1,
118e887ea33SDavid du Colombier 	Yi32,	Ymb,	Zibo_m,	2,
119e887ea33SDavid du Colombier 	0
120e887ea33SDavid du Colombier };
121e887ea33SDavid du Colombier uchar	ymbs[] =
122e887ea33SDavid du Colombier {
123e887ea33SDavid du Colombier 	Ymb,	Ynone,	Zm_o,	2,
124e887ea33SDavid du Colombier 	0
125e887ea33SDavid du Colombier };
126e887ea33SDavid du Colombier uchar	ybtl[] =
127e887ea33SDavid du Colombier {
128e887ea33SDavid du Colombier 	Yi8,	Yml,	Zibo_m,	2,
129e887ea33SDavid du Colombier 	Yrl,	Yml,	Zr_m,	1,
130e887ea33SDavid du Colombier 	0
131e887ea33SDavid du Colombier };
132e887ea33SDavid du Colombier uchar	ymovw[] =
133e887ea33SDavid du Colombier {
134e887ea33SDavid du Colombier 	Yrl,	Yml,	Zr_m,	1,
135e887ea33SDavid du Colombier 	Yml,	Yrl,	Zm_r,	1,
136e887ea33SDavid du Colombier 	Yi0,	Yrl,	Zclr,	1,
137e887ea33SDavid du Colombier 	Yi32,	Yrl,	Zil_rp,	1,
138e887ea33SDavid du Colombier 	Yi32,	Yml,	Zilo_m,	2,
139e887ea33SDavid du Colombier 	Yiauto,	Yrl,	Zaut_r,	2,
140e887ea33SDavid du Colombier 	0
141e887ea33SDavid du Colombier };
142e887ea33SDavid du Colombier uchar	ymovl[] =
143e887ea33SDavid du Colombier {
144e887ea33SDavid du Colombier 	Yrl,	Yml,	Zr_m,	1,
145e887ea33SDavid du Colombier 	Yml,	Yrl,	Zm_r,	1,
146e887ea33SDavid du Colombier 	Yi0,	Yrl,	Zclr,	1,
147e887ea33SDavid du Colombier 	Yi32,	Yrl,	Zil_rp,	1,
148e887ea33SDavid du Colombier 	Yi32,	Yml,	Zilo_m,	2,
149e887ea33SDavid du Colombier 	Yml,	Ymr,	Zm_r_xm,	1,	// MMX MOVD
150e887ea33SDavid du Colombier 	Ymr,	Yml,	Zr_m_xm,	1,	// MMX MOVD
151e887ea33SDavid du Colombier 	Yml,	Yxr,	Zm_r_xm,	2,	// XMM MOVD (32 bit)
152e887ea33SDavid du Colombier 	Yxr,	Yml,	Zr_m_xm,	2,	// XMM MOVD (32 bit)
153e887ea33SDavid du Colombier 	Yiauto,	Yrl,	Zaut_r,	2,
154e887ea33SDavid du Colombier 	0
155e887ea33SDavid du Colombier };
156e887ea33SDavid du Colombier uchar	yret[] =
157e887ea33SDavid du Colombier {
158e887ea33SDavid du Colombier 	Ynone,	Ynone,	Zo_iw,	1,
159e887ea33SDavid du Colombier 	Yi32,	Ynone,	Zo_iw,	1,
160e887ea33SDavid du Colombier 	0
161e887ea33SDavid du Colombier };
162e887ea33SDavid du Colombier uchar	ymovq[] =
163e887ea33SDavid du Colombier {
164e887ea33SDavid du Colombier 	Yrl,	Yml,	Zr_m,	1,	// 0x89
165e887ea33SDavid du Colombier 	Yml,	Yrl,	Zm_r,	1,	// 0x8b
166e887ea33SDavid du Colombier 	Yi0,	Yrl,	Zclr,	1,	// 0x31
167e887ea33SDavid du Colombier 	Ys32,	Yrl,	Zilo_m,	2,	// 32 bit signed 0xc7,(0)
168e887ea33SDavid du Colombier 	Yi64,	Yrl,	Ziq_rp,	1,	// 0xb8 -- 32/64 bit immediate
169e887ea33SDavid du Colombier 	Yi32,	Yml,	Zilo_m,	2,	// 0xc7,(0)
170e887ea33SDavid du Colombier 	Ym,	Ymr,	Zm_r_xm_nr,	1,	// MMX MOVQ (shorter encoding)
171e887ea33SDavid du Colombier 	Ymr,	Ym,	Zr_m_xm_nr,	1,	// MMX MOVQ
172e887ea33SDavid du Colombier 	Ymm,	Ymr,	Zm_r_xm,	1,	// MMX MOVD
173e887ea33SDavid du Colombier 	Ymr,	Ymm,	Zr_m_xm,	1,	// MMX MOVD
174e887ea33SDavid du Colombier 	Yxr,	Ymr,	Zm_r_xm_nr,	2,	// MOVDQ2Q
175e887ea33SDavid du Colombier 	Yxr,	Ym,	Zr_m_xm_nr,	2,	// MOVQ xmm store
176e887ea33SDavid du Colombier 	Yml,	Yxr,	Zm_r_xm,	2,	// MOVD xmm load
177e887ea33SDavid du Colombier 	Yxr,	Yml,	Zr_m_xm,	2,	// MOVD xmm store
178e887ea33SDavid du Colombier 	Yiauto,	Yrl,	Zaut_r,	2,	// built-in LEAQ
179e887ea33SDavid du Colombier 	0
180e887ea33SDavid du Colombier };
181e887ea33SDavid du Colombier uchar	ym_rl[] =
182e887ea33SDavid du Colombier {
183e887ea33SDavid du Colombier 	Ym,	Yrl,	Zm_r,	1,
184e887ea33SDavid du Colombier 	0
185e887ea33SDavid du Colombier };
186e887ea33SDavid du Colombier uchar	yrl_m[] =
187e887ea33SDavid du Colombier {
188e887ea33SDavid du Colombier 	Yrl,	Ym,	Zr_m,	1,
189e887ea33SDavid du Colombier 	0
190e887ea33SDavid du Colombier };
191e887ea33SDavid du Colombier uchar	ymb_rl[] =
192e887ea33SDavid du Colombier {
193e887ea33SDavid du Colombier 	Ymb,	Yrl,	Zmb_r,	1,
194e887ea33SDavid du Colombier 	0
195e887ea33SDavid du Colombier };
196e887ea33SDavid du Colombier uchar	yml_rl[] =
197e887ea33SDavid du Colombier {
198e887ea33SDavid du Colombier 	Yml,	Yrl,	Zm_r,	1,
199e887ea33SDavid du Colombier 	0
200e887ea33SDavid du Colombier };
201e887ea33SDavid du Colombier uchar	yrl_ml[] =
202e887ea33SDavid du Colombier {
203e887ea33SDavid du Colombier 	Yrl,	Yml,	Zr_m,	1,
204e887ea33SDavid du Colombier 	0
205e887ea33SDavid du Colombier };
206e887ea33SDavid du Colombier uchar	yml_mb[] =
207e887ea33SDavid du Colombier {
208e887ea33SDavid du Colombier 	Yrb,	Ymb,	Zr_m,	1,
209e887ea33SDavid du Colombier 	Ymb,	Yrb,	Zm_r,	1,
210e887ea33SDavid du Colombier 	0
211e887ea33SDavid du Colombier };
212e887ea33SDavid du Colombier uchar	yrb_mb[] =
213e887ea33SDavid du Colombier {
214e887ea33SDavid du Colombier 	Yrb,	Ymb,	Zr_m,	1,
215e887ea33SDavid du Colombier 	0
216e887ea33SDavid du Colombier };
217e887ea33SDavid du Colombier uchar	yml_ml[] =
218e887ea33SDavid du Colombier {
219e887ea33SDavid du Colombier 	Yrl,	Yml,	Zr_m,	1,
220e887ea33SDavid du Colombier 	Yml,	Yrl,	Zm_r,	1,
221e887ea33SDavid du Colombier 	0
222e887ea33SDavid du Colombier };
223e887ea33SDavid du Colombier uchar	ydivl[] =
224e887ea33SDavid du Colombier {
225e887ea33SDavid du Colombier 	Yml,	Ynone,	Zm_o,	2,
226e887ea33SDavid du Colombier 	0
227e887ea33SDavid du Colombier };
228e887ea33SDavid du Colombier uchar	ydivb[] =
229e887ea33SDavid du Colombier {
230e887ea33SDavid du Colombier 	Ymb,	Ynone,	Zm_o,	2,
231e887ea33SDavid du Colombier 	0
232e887ea33SDavid du Colombier };
233e887ea33SDavid du Colombier uchar	yimul[] =
234e887ea33SDavid du Colombier {
235e887ea33SDavid du Colombier 	Yml,	Ynone,	Zm_o,	2,
236e887ea33SDavid du Colombier 	Yi8,	Yrl,	Zib_rr,	1,
237e887ea33SDavid du Colombier 	Yi32,	Yrl,	Zil_rr,	1,
238e887ea33SDavid du Colombier 	Yml,	Yrl,	Zm_r,	2,
239e887ea33SDavid du Colombier 	0
240e887ea33SDavid du Colombier };
241e887ea33SDavid du Colombier uchar	ybyte[] =
242e887ea33SDavid du Colombier {
243e887ea33SDavid du Colombier 	Yi64,	Ynone,	Zbyte,	1,
244e887ea33SDavid du Colombier 	0
245e887ea33SDavid du Colombier };
246e887ea33SDavid du Colombier uchar	yin[] =
247e887ea33SDavid du Colombier {
248e887ea33SDavid du Colombier 	Yi32,	Ynone,	Zib_,	1,
249e887ea33SDavid du Colombier 	Ynone,	Ynone,	Zlit,	1,
250e887ea33SDavid du Colombier 	0
251e887ea33SDavid du Colombier };
252e887ea33SDavid du Colombier uchar	yint[] =
253e887ea33SDavid du Colombier {
254e887ea33SDavid du Colombier 	Yi32,	Ynone,	Zib_,	1,
255e887ea33SDavid du Colombier 	0
256e887ea33SDavid du Colombier };
257e887ea33SDavid du Colombier uchar	ypushl[] =
258e887ea33SDavid du Colombier {
259e887ea33SDavid du Colombier 	Yrl,	Ynone,	Zrp_,	1,
260e887ea33SDavid du Colombier 	Ym,	Ynone,	Zm_o,	2,
261e887ea33SDavid du Colombier 	Yi8,	Ynone,	Zib_,	1,
262e887ea33SDavid du Colombier 	Yi32,	Ynone,	Zil_,	1,
263e887ea33SDavid du Colombier 	0
264e887ea33SDavid du Colombier };
265e887ea33SDavid du Colombier uchar	ypopl[] =
266e887ea33SDavid du Colombier {
267e887ea33SDavid du Colombier 	Ynone,	Yrl,	Z_rp,	1,
268e887ea33SDavid du Colombier 	Ynone,	Ym,	Zo_m,	2,
269e887ea33SDavid du Colombier 	0
270e887ea33SDavid du Colombier };
271e887ea33SDavid du Colombier uchar	yscond[] =
272e887ea33SDavid du Colombier {
273e887ea33SDavid du Colombier 	Ynone,	Ymb,	Zo_m,	2,
274e887ea33SDavid du Colombier 	0
275e887ea33SDavid du Colombier };
276e887ea33SDavid du Colombier uchar	yjcond[] =
277e887ea33SDavid du Colombier {
278e887ea33SDavid du Colombier 	Ynone,	Ybr,	Zbr,	1,
279e887ea33SDavid du Colombier 	0
280e887ea33SDavid du Colombier };
281e887ea33SDavid du Colombier uchar	yloop[] =
282e887ea33SDavid du Colombier {
283e887ea33SDavid du Colombier 	Ynone,	Ybr,	Zloop,	1,
284e887ea33SDavid du Colombier 	0
285e887ea33SDavid du Colombier };
286e887ea33SDavid du Colombier uchar	ycall[] =
287e887ea33SDavid du Colombier {
288e887ea33SDavid du Colombier 	Ynone,	Yml,	Zo_m64,	2,
289e887ea33SDavid du Colombier 	Ynone,	Ybr,	Zcall,	1,
290e887ea33SDavid du Colombier 	0
291e887ea33SDavid du Colombier };
292e887ea33SDavid du Colombier uchar	yjmp[] =
293e887ea33SDavid du Colombier {
294e887ea33SDavid du Colombier 	Ynone,	Yml,	Zo_m64,	2,
295e887ea33SDavid du Colombier 	Ynone,	Ybr,	Zjmp,	1,
296e887ea33SDavid du Colombier 	0
297e887ea33SDavid du Colombier };
298e887ea33SDavid du Colombier 
299e887ea33SDavid du Colombier uchar	yfmvd[] =
300e887ea33SDavid du Colombier {
301e887ea33SDavid du Colombier 	Ym,	Yf0,	Zm_o,	2,
302e887ea33SDavid du Colombier 	Yf0,	Ym,	Zo_m,	2,
303e887ea33SDavid du Colombier 	Yrf,	Yf0,	Zm_o,	2,
304e887ea33SDavid du Colombier 	Yf0,	Yrf,	Zo_m,	2,
305e887ea33SDavid du Colombier 	0
306e887ea33SDavid du Colombier };
307e887ea33SDavid du Colombier uchar	yfmvdp[] =
308e887ea33SDavid du Colombier {
309e887ea33SDavid du Colombier 	Yf0,	Ym,	Zo_m,	2,
310e887ea33SDavid du Colombier 	Yf0,	Yrf,	Zo_m,	2,
311e887ea33SDavid du Colombier 	0
312e887ea33SDavid du Colombier };
313e887ea33SDavid du Colombier uchar	yfmvf[] =
314e887ea33SDavid du Colombier {
315e887ea33SDavid du Colombier 	Ym,	Yf0,	Zm_o,	2,
316e887ea33SDavid du Colombier 	Yf0,	Ym,	Zo_m,	2,
317e887ea33SDavid du Colombier 	0
318e887ea33SDavid du Colombier };
319e887ea33SDavid du Colombier uchar	yfmvx[] =
320e887ea33SDavid du Colombier {
321e887ea33SDavid du Colombier 	Ym,	Yf0,	Zm_o,	2,
322e887ea33SDavid du Colombier 	0
323e887ea33SDavid du Colombier };
324e887ea33SDavid du Colombier uchar	yfmvp[] =
325e887ea33SDavid du Colombier {
326e887ea33SDavid du Colombier 	Yf0,	Ym,	Zo_m,	2,
327e887ea33SDavid du Colombier 	0
328e887ea33SDavid du Colombier };
329e887ea33SDavid du Colombier uchar	yfadd[] =
330e887ea33SDavid du Colombier {
331e887ea33SDavid du Colombier 	Ym,	Yf0,	Zm_o,	2,
332e887ea33SDavid du Colombier 	Yrf,	Yf0,	Zm_o,	2,
333e887ea33SDavid du Colombier 	Yf0,	Yrf,	Zo_m,	2,
334e887ea33SDavid du Colombier 	0
335e887ea33SDavid du Colombier };
336e887ea33SDavid du Colombier uchar	yfaddp[] =
337e887ea33SDavid du Colombier {
338e887ea33SDavid du Colombier 	Yf0,	Yrf,	Zo_m,	2,
339e887ea33SDavid du Colombier 	0
340e887ea33SDavid du Colombier };
341e887ea33SDavid du Colombier uchar	yfxch[] =
342e887ea33SDavid du Colombier {
343e887ea33SDavid du Colombier 	Yf0,	Yrf,	Zo_m,	2,
344e887ea33SDavid du Colombier 	Yrf,	Yf0,	Zm_o,	2,
345e887ea33SDavid du Colombier 	0
346e887ea33SDavid du Colombier };
347e887ea33SDavid du Colombier uchar	ycompp[] =
348e887ea33SDavid du Colombier {
349e887ea33SDavid du Colombier 	Yf0,	Yrf,	Zo_m,	2,	/* botch is really f0,f1 */
350e887ea33SDavid du Colombier 	0
351e887ea33SDavid du Colombier };
352e887ea33SDavid du Colombier uchar	ystsw[] =
353e887ea33SDavid du Colombier {
354e887ea33SDavid du Colombier 	Ynone,	Ym,	Zo_m,	2,
355e887ea33SDavid du Colombier 	Ynone,	Yax,	Zlit,	1,
356e887ea33SDavid du Colombier 	0
357e887ea33SDavid du Colombier };
358e887ea33SDavid du Colombier uchar	ystcw[] =
359e887ea33SDavid du Colombier {
360e887ea33SDavid du Colombier 	Ynone,	Ym,	Zo_m,	2,
361e887ea33SDavid du Colombier 	Ym,	Ynone,	Zm_o,	2,
362e887ea33SDavid du Colombier 	0
363e887ea33SDavid du Colombier };
364e887ea33SDavid du Colombier uchar	ysvrs[] =
365e887ea33SDavid du Colombier {
366e887ea33SDavid du Colombier 	Ynone,	Ym,	Zo_m,	2,
367e887ea33SDavid du Colombier 	Ym,	Ynone,	Zm_o,	2,
368e887ea33SDavid du Colombier 	0
369e887ea33SDavid du Colombier };
370e887ea33SDavid du Colombier uchar	ymm[] =
371e887ea33SDavid du Colombier {
372e887ea33SDavid du Colombier 	Ymm,	Ymr,	Zm_r_xm,	1,
373e887ea33SDavid du Colombier 	Yxm,	Yxr,	Zm_r_xm,	2,
374e887ea33SDavid du Colombier 	0
375e887ea33SDavid du Colombier };
376e887ea33SDavid du Colombier uchar	yxm[] =
377e887ea33SDavid du Colombier {
378e887ea33SDavid du Colombier 	Yxm,	Yxr,	Zm_r_xm,	1,
379e887ea33SDavid du Colombier 	0
380e887ea33SDavid du Colombier };
381e887ea33SDavid du Colombier uchar	yxcvm1[] =
382e887ea33SDavid du Colombier {
383e887ea33SDavid du Colombier 	Yxm,	Yxr,	Zm_r_xm,	2,
384e887ea33SDavid du Colombier 	Yxm,	Ymr,	Zm_r_xm,	2,
385e887ea33SDavid du Colombier 	0
386e887ea33SDavid du Colombier };
387e887ea33SDavid du Colombier uchar	yxcvm2[] =
388e887ea33SDavid du Colombier {
389e887ea33SDavid du Colombier 	Yxm,	Yxr,	Zm_r_xm,	2,
390e887ea33SDavid du Colombier 	Ymm,	Yxr,	Zm_r_xm,	2,
391e887ea33SDavid du Colombier 	0
392e887ea33SDavid du Colombier };
393e887ea33SDavid du Colombier uchar	yxmq[] =
394e887ea33SDavid du Colombier {
395e887ea33SDavid du Colombier 	Yxm,	Yxr,	Zm_r_xm,	2,
396e887ea33SDavid du Colombier 	0
397e887ea33SDavid du Colombier };
398e887ea33SDavid du Colombier uchar	yxr[] =
399e887ea33SDavid du Colombier {
400e887ea33SDavid du Colombier 	Yxr,	Yxr,	Zm_r_xm,	1,
401e887ea33SDavid du Colombier 	0
402e887ea33SDavid du Colombier };
403e887ea33SDavid du Colombier uchar	yxr_ml[] =
404e887ea33SDavid du Colombier {
405e887ea33SDavid du Colombier 	Yxr,	Yml,	Zr_m_xm,	1,
406e887ea33SDavid du Colombier 	0
407e887ea33SDavid du Colombier };
408e887ea33SDavid du Colombier uchar	ymr[] =
409e887ea33SDavid du Colombier {
410e887ea33SDavid du Colombier 	Ymr,	Ymr,	Zm_r,	1,
411e887ea33SDavid du Colombier 	0
412e887ea33SDavid du Colombier };
413e887ea33SDavid du Colombier uchar	ymr_ml[] =
414e887ea33SDavid du Colombier {
415e887ea33SDavid du Colombier 	Ymr,	Yml,	Zr_m_xm,	1,
416e887ea33SDavid du Colombier 	0
417e887ea33SDavid du Colombier };
418e887ea33SDavid du Colombier uchar	yxcmp[] =
419e887ea33SDavid du Colombier {
420e887ea33SDavid du Colombier 	Yxm,	Yxr, Zm_r_xm,	1,
421e887ea33SDavid du Colombier 	0
422e887ea33SDavid du Colombier };
423e887ea33SDavid du Colombier uchar	yxcmpi[] =
424e887ea33SDavid du Colombier {
425e887ea33SDavid du Colombier 	Yxm,	Yxr, Zm_r_i_xm,	2,
426e887ea33SDavid du Colombier 	0
427e887ea33SDavid du Colombier };
428e887ea33SDavid du Colombier uchar	yxmov[] =
429e887ea33SDavid du Colombier {
430e887ea33SDavid du Colombier 	Yxm,	Yxr,	Zm_r_xm,	1,
431e887ea33SDavid du Colombier 	Yxr,	Yxm,	Zr_m_xm,	1,
432e887ea33SDavid du Colombier 	0
433e887ea33SDavid du Colombier };
434e887ea33SDavid du Colombier uchar	yxcvfl[] =
435e887ea33SDavid du Colombier {
436e887ea33SDavid du Colombier 	Yxm,	Yrl,	Zm_r_xm,	1,
437e887ea33SDavid du Colombier 	0
438e887ea33SDavid du Colombier };
439e887ea33SDavid du Colombier uchar	yxcvlf[] =
440e887ea33SDavid du Colombier {
441e887ea33SDavid du Colombier 	Yml,	Yxr,	Zm_r_xm,	1,
442e887ea33SDavid du Colombier 	0
443e887ea33SDavid du Colombier };
444e887ea33SDavid du Colombier uchar	yxcvfq[] =
445e887ea33SDavid du Colombier {
446e887ea33SDavid du Colombier 	Yxm,	Yrl,	Zm_r_xm,	2,
447e887ea33SDavid du Colombier 	0
448e887ea33SDavid du Colombier };
449e887ea33SDavid du Colombier uchar	yxcvqf[] =
450e887ea33SDavid du Colombier {
451e887ea33SDavid du Colombier 	Yml,	Yxr,	Zm_r_xm,	2,
452e887ea33SDavid du Colombier 	0
453e887ea33SDavid du Colombier };
454e887ea33SDavid du Colombier uchar	yps[] =
455e887ea33SDavid du Colombier {
456e887ea33SDavid du Colombier 	Ymm,	Ymr,	Zm_r_xm,	1,
457e887ea33SDavid du Colombier 	Yi8,	Ymr,	Zibo_m_xm,	2,
458e887ea33SDavid du Colombier 	Yxm,	Yxr,	Zm_r_xm,	2,
459e887ea33SDavid du Colombier 	Yi8,	Yxr,	Zibo_m_xm,	3,
460e887ea33SDavid du Colombier 	0
461e887ea33SDavid du Colombier };
462e887ea33SDavid du Colombier uchar	yxrrl[] =
463e887ea33SDavid du Colombier {
464e887ea33SDavid du Colombier 	Yxr,	Yrl,	Zm_r,	1,
465e887ea33SDavid du Colombier 	0
466e887ea33SDavid du Colombier };
467e887ea33SDavid du Colombier uchar	ymfp[] =
468e887ea33SDavid du Colombier {
469e887ea33SDavid du Colombier 	Ymm,	Ymr,	Zm_r_3d,	1,
470e887ea33SDavid du Colombier 	0,
471e887ea33SDavid du Colombier };
472e887ea33SDavid du Colombier uchar	ymrxr[] =
473e887ea33SDavid du Colombier {
474e887ea33SDavid du Colombier 	Ymr,	Yxr,	Zm_r,	1,
475e887ea33SDavid du Colombier 	Yxm,	Yxr,	Zm_r_xm,	1,
476e887ea33SDavid du Colombier 	0
477e887ea33SDavid du Colombier };
478e887ea33SDavid du Colombier uchar	ymshuf[] =
479e887ea33SDavid du Colombier {
480e887ea33SDavid du Colombier 	Ymm,	Ymr,	Zibm_r,	1,
481e887ea33SDavid du Colombier 	0
482e887ea33SDavid du Colombier };
483e887ea33SDavid du Colombier uchar	yxshuf[] =
484e887ea33SDavid du Colombier {
485e887ea33SDavid du Colombier 	Yxm,	Yxr,	Zibm_r,	1,
486e887ea33SDavid du Colombier 	0
487e887ea33SDavid du Colombier };
488e887ea33SDavid du Colombier uchar	yextrw[] =
489e887ea33SDavid du Colombier {
490e887ea33SDavid du Colombier 	Yxr,	Yrl,	Zibm_r,	1,
491e887ea33SDavid du Colombier 	0
492e887ea33SDavid du Colombier };
493e887ea33SDavid du Colombier uchar	ypsdq[] =
494e887ea33SDavid du Colombier {
495e887ea33SDavid du Colombier 	Yi8,	Yxr,	Zibo_m,	2,
496e887ea33SDavid du Colombier 	0
497e887ea33SDavid du Colombier };
498e887ea33SDavid du Colombier uchar	ymskb[] =
499e887ea33SDavid du Colombier {
500e887ea33SDavid du Colombier 	Yxr,	Yrl,	Zm_r_xm,	2,
501e887ea33SDavid du Colombier 	Ymr,	Yrl,	Zm_r_xm,	1,
502e887ea33SDavid du Colombier 	0
503e887ea33SDavid du Colombier };
504e887ea33SDavid du Colombier 
505e887ea33SDavid du Colombier Optab optab[] =
506e887ea33SDavid du Colombier /*	as, ytab, andproto, opcode */
507e887ea33SDavid du Colombier {
508e887ea33SDavid du Colombier 	{ AXXX },
509e887ea33SDavid du Colombier 	{ AAAA,		ynone,	P32, 0x37 },
510e887ea33SDavid du Colombier 	{ AAAD,		ynone,	P32, 0xd5,0x0a },
511e887ea33SDavid du Colombier 	{ AAAM,		ynone,	P32, 0xd4,0x0a },
512e887ea33SDavid du Colombier 	{ AAAS,		ynone,	P32, 0x3f },
513e887ea33SDavid du Colombier 	{ AADCB,	yxorb,	Pb, 0x14,0x80,(02),0x10,0x10 },
514e887ea33SDavid du Colombier 	{ AADCL,	yxorl,	Px, 0x83,(02),0x15,0x81,(02),0x11,0x13 },
515e887ea33SDavid du Colombier 	{ AADCQ,	yxorl,	Pw, 0x83,(02),0x15,0x81,(02),0x11,0x13 },
516e887ea33SDavid du Colombier 	{ AADCW,	yxorl,	Pe, 0x83,(02),0x15,0x81,(02),0x11,0x13 },
517e887ea33SDavid du Colombier 	{ AADDB,	yxorb,	Pb, 0x04,0x80,(00),0x00,0x02 },
518e887ea33SDavid du Colombier 	{ AADDL,	yaddl,	Px, 0x83,(00),0x05,0x81,(00),0x01,0x03 },
519e887ea33SDavid du Colombier 	{ AADDPD,	yxm,	Pq, 0x58 },
520e887ea33SDavid du Colombier 	{ AADDPS,	yxm,	Pm, 0x58 },
521e887ea33SDavid du Colombier 	{ AADDQ,	yaddl,	Pw, 0x83,(00),0x05,0x81,(00),0x01,0x03 },
522e887ea33SDavid du Colombier 	{ AADDSD,	yxm,	Pf2, 0x58 },
523e887ea33SDavid du Colombier 	{ AADDSS,	yxm,	Pf3, 0x58 },
524e887ea33SDavid du Colombier 	{ AADDW,	yaddl,	Pe, 0x83,(00),0x05,0x81,(00),0x01,0x03 },
525e887ea33SDavid du Colombier 	{ AADJSP },
526e887ea33SDavid du Colombier 	{ AANDB,	yxorb,	Pb, 0x24,0x80,(04),0x20,0x22 },
527e887ea33SDavid du Colombier 	{ AANDL,	yxorl,	Px, 0x83,(04),0x25,0x81,(04),0x21,0x23 },
528e887ea33SDavid du Colombier 	{ AANDNPD,	yxm,	Pq, 0x55 },
529e887ea33SDavid du Colombier 	{ AANDNPS,	yxm,	Pm, 0x55 },
530e887ea33SDavid du Colombier 	{ AANDPD,	yxm,	Pq, 0x54 },
531e887ea33SDavid du Colombier 	{ AANDPS,	yxm,	Pq, 0x54 },
532e887ea33SDavid du Colombier 	{ AANDQ,	yxorl,	Pw, 0x83,(04),0x25,0x81,(04),0x21,0x23 },
533e887ea33SDavid du Colombier 	{ AANDW,	yxorl,	Pe, 0x83,(04),0x25,0x81,(04),0x21,0x23 },
534e887ea33SDavid du Colombier 	{ AARPL,	yrl_ml,	P32, 0x63 },
535e887ea33SDavid du Colombier 	{ ABOUNDL,	yrl_m,	P32, 0x62 },
536e887ea33SDavid du Colombier 	{ ABOUNDW,	yrl_m,	Pe, 0x62 },
537e887ea33SDavid du Colombier 	{ ABSFL,	yml_rl,	Pm, 0xbc },
538e887ea33SDavid du Colombier 	{ ABSFQ,	yml_rl,	Pw, 0x0f,0xbc },
539e887ea33SDavid du Colombier 	{ ABSFW,	yml_rl,	Pq, 0xbc },
540e887ea33SDavid du Colombier 	{ ABSRL,	yml_rl,	Pm, 0xbd },
541e887ea33SDavid du Colombier 	{ ABSRQ,	yml_rl,	Pw, 0x0f,0xbd },
542e887ea33SDavid du Colombier 	{ ABSRW,	yml_rl,	Pq, 0xbd },
543e887ea33SDavid du Colombier 	{ ABTCL,	ybtl,	Pm, 0xba,(07),0xbb },
544e887ea33SDavid du Colombier 	{ ABTCQ,	ybtl,	Pw, 0x0f,0xba,(07),0x0f,0xbb },
545e887ea33SDavid du Colombier 	{ ABTCW,	ybtl,	Pq, 0xba,(07),0xbb },
546e887ea33SDavid du Colombier 	{ ABTL,		ybtl,	Pm, 0xba,(04),0xa3 },
547e887ea33SDavid du Colombier 	{ ABTQ,		ybtl,	Pw, 0x0f,0xba,(04),0x0f,0xa3},
548e887ea33SDavid du Colombier 	{ ABTRL,	ybtl,	Pm, 0xba,(06),0xb3 },
549e887ea33SDavid du Colombier 	{ ABTRQ,	ybtl,	Pw, 0x0f,0xba,(06),0x0f,0xb3 },
550e887ea33SDavid du Colombier 	{ ABTRW,	ybtl,	Pq, 0xba,(06),0xb3 },
551e887ea33SDavid du Colombier 	{ ABTSL,	ybtl,	Pm, 0xba,(05),0xab  },
552e887ea33SDavid du Colombier 	{ ABTSQ,	ybtl,	Pw, 0x0f,0xba,(05),0x0f,0xab },
553e887ea33SDavid du Colombier 	{ ABTSW,	ybtl,	Pq, 0xba,(05),0xab  },
554e887ea33SDavid du Colombier 	{ ABTW,		ybtl,	Pq, 0xba,(04),0xa3 },
555e887ea33SDavid du Colombier 	{ ABYTE,	ybyte,	Px, 1 },
556e887ea33SDavid du Colombier 	{ ACALL,	ycall,	Px, 0xff,(02),0xe8 },
557e887ea33SDavid du Colombier 	{ ACDQ,		ynone,	Px, 0x99 },
558e887ea33SDavid du Colombier 	{ ACLC,		ynone,	Px, 0xf8 },
559e887ea33SDavid du Colombier 	{ ACLD,		ynone,	Px, 0xfc },
560e887ea33SDavid du Colombier 	{ ACLI,		ynone,	Px, 0xfa },
561e887ea33SDavid du Colombier 	{ ACLTS,	ynone,	Pm, 0x06 },
562e887ea33SDavid du Colombier 	{ ACMC,		ynone,	Px, 0xf5 },
563e887ea33SDavid du Colombier 	{ ACMOVLCC,	yml_rl,	Pm, 0x43 },
564e887ea33SDavid du Colombier 	{ ACMOVLCS,	yml_rl,	Pm, 0x42 },
565e887ea33SDavid du Colombier 	{ ACMOVLEQ,	yml_rl,	Pm, 0x44 },
566e887ea33SDavid du Colombier 	{ ACMOVLGE,	yml_rl,	Pm, 0x4d },
567e887ea33SDavid du Colombier 	{ ACMOVLGT,	yml_rl,	Pm, 0x4f },
568e887ea33SDavid du Colombier 	{ ACMOVLHI,	yml_rl,	Pm, 0x47 },
569e887ea33SDavid du Colombier 	{ ACMOVLLE,	yml_rl,	Pm, 0x4e },
570e887ea33SDavid du Colombier 	{ ACMOVLLS,	yml_rl,	Pm, 0x46 },
571e887ea33SDavid du Colombier 	{ ACMOVLLT,	yml_rl,	Pm, 0x4c },
572e887ea33SDavid du Colombier 	{ ACMOVLMI,	yml_rl,	Pm, 0x48 },
573e887ea33SDavid du Colombier 	{ ACMOVLNE,	yml_rl,	Pm, 0x45 },
574e887ea33SDavid du Colombier 	{ ACMOVLOC,	yml_rl,	Pm, 0x41 },
575e887ea33SDavid du Colombier 	{ ACMOVLOS,	yml_rl,	Pm, 0x40 },
576e887ea33SDavid du Colombier 	{ ACMOVLPC,	yml_rl,	Pm, 0x4b },
577e887ea33SDavid du Colombier 	{ ACMOVLPL,	yml_rl,	Pm, 0x49 },
578e887ea33SDavid du Colombier 	{ ACMOVLPS,	yml_rl,	Pm, 0x4a },
579e887ea33SDavid du Colombier 	{ ACMOVQCC,	yml_rl,	Pw, 0x0f,0x43 },
580e887ea33SDavid du Colombier 	{ ACMOVQCS,	yml_rl,	Pw, 0x0f,0x42 },
581e887ea33SDavid du Colombier 	{ ACMOVQEQ,	yml_rl,	Pw, 0x0f,0x44 },
582e887ea33SDavid du Colombier 	{ ACMOVQGE,	yml_rl,	Pw, 0x0f,0x4d },
583e887ea33SDavid du Colombier 	{ ACMOVQGT,	yml_rl,	Pw, 0x0f,0x4f },
584e887ea33SDavid du Colombier 	{ ACMOVQHI,	yml_rl,	Pw, 0x0f,0x47 },
585e887ea33SDavid du Colombier 	{ ACMOVQLE,	yml_rl,	Pw, 0x0f,0x4e },
586e887ea33SDavid du Colombier 	{ ACMOVQLS,	yml_rl,	Pw, 0x0f,0x46 },
587e887ea33SDavid du Colombier 	{ ACMOVQLT,	yml_rl,	Pw, 0x0f,0x4c },
588e887ea33SDavid du Colombier 	{ ACMOVQMI,	yml_rl,	Pw, 0x0f,0x48 },
589e887ea33SDavid du Colombier 	{ ACMOVQNE,	yml_rl,	Pw, 0x0f,0x45 },
590e887ea33SDavid du Colombier 	{ ACMOVQOC,	yml_rl,	Pw, 0x0f,0x41 },
591e887ea33SDavid du Colombier 	{ ACMOVQOS,	yml_rl,	Pw, 0x0f,0x40 },
592e887ea33SDavid du Colombier 	{ ACMOVQPC,	yml_rl,	Pw, 0x0f,0x4b },
593e887ea33SDavid du Colombier 	{ ACMOVQPL,	yml_rl,	Pw, 0x0f,0x49 },
594e887ea33SDavid du Colombier 	{ ACMOVQPS,	yml_rl,	Pw, 0x0f,0x4a },
595e887ea33SDavid du Colombier 	{ ACMOVWCC,	yml_rl,	Pq, 0x43 },
596e887ea33SDavid du Colombier 	{ ACMOVWCS,	yml_rl,	Pq, 0x42 },
597e887ea33SDavid du Colombier 	{ ACMOVWEQ,	yml_rl,	Pq, 0x44 },
598e887ea33SDavid du Colombier 	{ ACMOVWGE,	yml_rl,	Pq, 0x4d },
599e887ea33SDavid du Colombier 	{ ACMOVWGT,	yml_rl,	Pq, 0x4f },
600e887ea33SDavid du Colombier 	{ ACMOVWHI,	yml_rl,	Pq, 0x47 },
601e887ea33SDavid du Colombier 	{ ACMOVWLE,	yml_rl,	Pq, 0x4e },
602e887ea33SDavid du Colombier 	{ ACMOVWLS,	yml_rl,	Pq, 0x46 },
603e887ea33SDavid du Colombier 	{ ACMOVWLT,	yml_rl,	Pq, 0x4c },
604e887ea33SDavid du Colombier 	{ ACMOVWMI,	yml_rl,	Pq, 0x48 },
605e887ea33SDavid du Colombier 	{ ACMOVWNE,	yml_rl,	Pq, 0x45 },
606e887ea33SDavid du Colombier 	{ ACMOVWOC,	yml_rl,	Pq, 0x41 },
607e887ea33SDavid du Colombier 	{ ACMOVWOS,	yml_rl,	Pq, 0x40 },
608e887ea33SDavid du Colombier 	{ ACMOVWPC,	yml_rl,	Pq, 0x4b },
609e887ea33SDavid du Colombier 	{ ACMOVWPL,	yml_rl,	Pq, 0x49 },
610e887ea33SDavid du Colombier 	{ ACMOVWPS,	yml_rl,	Pq, 0x4a },
611e887ea33SDavid du Colombier 	{ ACMPB,	ycmpb,	Pb, 0x3c,0x80,(07),0x38,0x3a },
612e887ea33SDavid du Colombier 	{ ACMPL,	ycmpl,	Px, 0x83,(07),0x3d,0x81,(07),0x39,0x3b },
613e887ea33SDavid du Colombier 	{ ACMPPD,	yxcmpi,	Px, Pe,0xc2 },
614e887ea33SDavid du Colombier 	{ ACMPPS,	yxcmpi,	Pm, 0xc2,0 },
615e887ea33SDavid du Colombier 	{ ACMPQ,	ycmpl,	Pw, 0x83,(07),0x3d,0x81,(07),0x39,0x3b },
616e887ea33SDavid du Colombier 	{ ACMPSB,	ynone,	Pb, 0xa6 },
617e887ea33SDavid du Colombier 	{ ACMPSD,	yxcmpi,	Px, Pf2,0xc2 },
618e887ea33SDavid du Colombier 	{ ACMPSL,	ynone,	Px, 0xa7 },
619e887ea33SDavid du Colombier 	{ ACMPSQ,	ynone,	Pw, 0xa7 },
620e887ea33SDavid du Colombier 	{ ACMPSS,	yxcmpi,	Px, Pf3,0xc2 },
621e887ea33SDavid du Colombier 	{ ACMPSW,	ynone,	Pe, 0xa7 },
622e887ea33SDavid du Colombier 	{ ACMPW,	ycmpl,	Pe, 0x83,(07),0x3d,0x81,(07),0x39,0x3b },
623e887ea33SDavid du Colombier 	{ ACOMISD,	yxcmp,	Pe, 0x2f },
624e887ea33SDavid du Colombier 	{ ACOMISS,	yxcmp,	Pm, 0x2f },
625e887ea33SDavid du Colombier 	{ ACPUID,	ynone,	Pm, 0xa2 },
626e887ea33SDavid du Colombier 	{ ACVTPL2PD,	yxcvm2,	Px, Pf3,0xe6,Pe,0x2a },
627e887ea33SDavid du Colombier 	{ ACVTPL2PS,	yxcvm2,	Pm, 0x5b,0,0x2a,0, },
628e887ea33SDavid du Colombier 	{ ACVTPD2PL,	yxcvm1,	Px, Pf2,0xe6,Pe,0x2d },
629e887ea33SDavid du Colombier 	{ ACVTPD2PS,	yxm,	Pe, 0x5a },
630e887ea33SDavid du Colombier 	{ ACVTPS2PL,	yxcvm1, Px, Pe,0x5b,Pm,0x2d },
631e887ea33SDavid du Colombier 	{ ACVTPS2PD,	yxm,	Pm, 0x5a },
632e887ea33SDavid du Colombier 	{ API2FW,	ymfp,	Px, 0x0c },
633e887ea33SDavid du Colombier 	{ ACVTSD2SL,	yxcvfl, Pf2, 0x2d },
634e887ea33SDavid du Colombier 	{ ACVTSD2SQ,	yxcvfq, Pw, Pf2,0x2d },
635e887ea33SDavid du Colombier 	{ ACVTSD2SS,	yxm,	Pf2, 0x5a },
636e887ea33SDavid du Colombier 	{ ACVTSL2SD,	yxcvlf, Pf2, 0x2a },
637e887ea33SDavid du Colombier 	{ ACVTSQ2SD,	yxcvqf, Pw, Pf2,0x2a },
638e887ea33SDavid du Colombier 	{ ACVTSL2SS,	yxcvlf, Pf3, 0x2a },
639e887ea33SDavid du Colombier 	{ ACVTSQ2SS,	yxcvqf, Pw, Pf3,0x2a },
640e887ea33SDavid du Colombier 	{ ACVTSS2SD,	yxm,	Pf3, 0x5a },
641e887ea33SDavid du Colombier 	{ ACVTSS2SL,	yxcvfl, Pf3, 0x2d },
642e887ea33SDavid du Colombier 	{ ACVTSS2SQ,	yxcvfq, Pw, Pf3,0x2d },
643e887ea33SDavid du Colombier 	{ ACVTTPD2PL,	yxcvm1,	Px, Pe,0xe6,Pe,0x2c },
644e887ea33SDavid du Colombier 	{ ACVTTPS2PL,	yxcvm1,	Px, Pf3,0x5b,Pm,0x2c },
645e887ea33SDavid du Colombier 	{ ACVTTSD2SL,	yxcvfl, Pf2, 0x2c },
646e887ea33SDavid du Colombier 	{ ACVTTSD2SQ,	yxcvfq, Pw, Pf2,0x2c },
647e887ea33SDavid du Colombier 	{ ACVTTSS2SL,	yxcvfl,	Pf3, 0x2c },
648e887ea33SDavid du Colombier 	{ ACVTTSS2SQ,	yxcvfq, Pw, Pf3,0x2c },
649e887ea33SDavid du Colombier 	{ ACWD,		ynone,	Pe, 0x99 },
650e887ea33SDavid du Colombier 	{ ACQO,		ynone,	Pw, 0x99 },
651e887ea33SDavid du Colombier 	{ ADAA,		ynone,	P32, 0x27 },
652e887ea33SDavid du Colombier 	{ ADAS,		ynone,	P32, 0x2f },
653e887ea33SDavid du Colombier 	{ ADATA },
654e887ea33SDavid du Colombier 	{ ADECB,	yincb,	Pb, 0xfe,(01) },
655e887ea33SDavid du Colombier 	{ ADECL,	yincl,	Px, 0xff,(01) },
656e887ea33SDavid du Colombier 	{ ADECQ,	yincl,	Pw, 0xff,(01) },
657e887ea33SDavid du Colombier 	{ ADECW,	yincw,	Pe, 0xff,(01) },
658e887ea33SDavid du Colombier 	{ ADIVB,	ydivb,	Pb, 0xf6,(06) },
659e887ea33SDavid du Colombier 	{ ADIVL,	ydivl,	Px, 0xf7,(06) },
660e887ea33SDavid du Colombier 	{ ADIVPD,	yxm,	Pe, 0x5e },
661e887ea33SDavid du Colombier 	{ ADIVPS,	yxm,	Pm, 0x5e },
662e887ea33SDavid du Colombier 	{ ADIVQ,	ydivl,	Pw, 0xf7,(06) },
663e887ea33SDavid du Colombier 	{ ADIVSD,	yxm,	Pf2, 0x5e },
664e887ea33SDavid du Colombier 	{ ADIVSS,	yxm,	Pf3, 0x5e },
665e887ea33SDavid du Colombier 	{ ADIVW,	ydivl,	Pe, 0xf7,(06) },
666e887ea33SDavid du Colombier 	{ AEMMS,	ynone,	Pm, 0x77 },
667e887ea33SDavid du Colombier 	{ AENTER },				/* botch */
668e887ea33SDavid du Colombier 	{ AFXRSTOR,	ysvrs,	Pm, 0xae,(01),0xae,(01) },
669e887ea33SDavid du Colombier 	{ AFXSAVE,	ysvrs,	Pm, 0xae,(00),0xae,(00) },
670e887ea33SDavid du Colombier 	{ AFXRSTOR64,	ysvrs,	Pw, 0x0f,0xae,(01),0x0f,0xae,(01) },
671e887ea33SDavid du Colombier 	{ AFXSAVE64,	ysvrs,	Pw, 0x0f,0xae,(00),0x0f,0xae,(00) },
672e887ea33SDavid du Colombier 	{ AGLOBL },
673e887ea33SDavid du Colombier 	{ AGOK },
674e887ea33SDavid du Colombier 	{ AHISTORY },
675e887ea33SDavid du Colombier 	{ AHLT,		ynone,	Px, 0xf4 },
676e887ea33SDavid du Colombier 	{ AIDIVB,	ydivb,	Pb, 0xf6,(07) },
677e887ea33SDavid du Colombier 	{ AIDIVL,	ydivl,	Px, 0xf7,(07) },
678e887ea33SDavid du Colombier 	{ AIDIVQ,	ydivl,	Pw, 0xf7,(07) },
679e887ea33SDavid du Colombier 	{ AIDIVW,	ydivl,	Pe, 0xf7,(07) },
680e887ea33SDavid du Colombier 	{ AIMULB,	ydivb,	Pb, 0xf6,(05) },
681e887ea33SDavid du Colombier 	{ AIMULL,	yimul,	Px, 0xf7,(05),0x6b,0x69,Pm,0xaf },
682e887ea33SDavid du Colombier 	{ AIMULQ,	yimul,	Pw, 0xf7,(05),0x6b,0x69,Pm,0xaf },
683e887ea33SDavid du Colombier 	{ AIMULW,	yimul,	Pe, 0xf7,(05),0x6b,0x69,Pm,0xaf },
684e887ea33SDavid du Colombier 	{ AINB,		yin,	Pb, 0xe4,0xec },
685e887ea33SDavid du Colombier 	{ AINCB,	yincb,	Pb, 0xfe,(00) },
686e887ea33SDavid du Colombier 	{ AINCL,	yincl,	Px, 0xff,(00) },
687e887ea33SDavid du Colombier 	{ AINCQ,	yincl,	Pw, 0xff,(00) },
688e887ea33SDavid du Colombier 	{ AINCW,	yincw,	Pe, 0xff,(00) },
689e887ea33SDavid du Colombier 	{ AINL,		yin,	Px, 0xe5,0xed },
690e887ea33SDavid du Colombier 	{ AINSB,	ynone,	Pb, 0x6c },
691e887ea33SDavid du Colombier 	{ AINSL,	ynone,	Px, 0x6d },
692e887ea33SDavid du Colombier 	{ AINSW,	ynone,	Pe, 0x6d },
693e887ea33SDavid du Colombier 	{ AINT,		yint,	Px, 0xcd },
694e887ea33SDavid du Colombier 	{ AINTO,	ynone,	P32, 0xce },
695e887ea33SDavid du Colombier 	{ AINW,		yin,	Pe, 0xe5,0xed },
696e887ea33SDavid du Colombier 	{ AIRETL,	ynone,	Px, 0xcf },
697e887ea33SDavid du Colombier 	{ AIRETQ,	ynone,	Pw, 0xcf },
698e887ea33SDavid du Colombier 	{ AIRETW,	ynone,	Pe, 0xcf },
699e887ea33SDavid du Colombier 	{ AJCC,		yjcond,	Px, 0x73,0x83,(00) },
700e887ea33SDavid du Colombier 	{ AJCS,		yjcond,	Px, 0x72,0x82 },
701e887ea33SDavid du Colombier 	{ AJCXZ,	yloop,	Px, 0xe3 },
702e887ea33SDavid du Colombier 	{ AJEQ,		yjcond,	Px, 0x74,0x84 },
703e887ea33SDavid du Colombier 	{ AJGE,		yjcond,	Px, 0x7d,0x8d },
704e887ea33SDavid du Colombier 	{ AJGT,		yjcond,	Px, 0x7f,0x8f },
705e887ea33SDavid du Colombier 	{ AJHI,		yjcond,	Px, 0x77,0x87 },
706e887ea33SDavid du Colombier 	{ AJLE,		yjcond,	Px, 0x7e,0x8e },
707e887ea33SDavid du Colombier 	{ AJLS,		yjcond,	Px, 0x76,0x86 },
708e887ea33SDavid du Colombier 	{ AJLT,		yjcond,	Px, 0x7c,0x8c },
709e887ea33SDavid du Colombier 	{ AJMI,		yjcond,	Px, 0x78,0x88 },
710e887ea33SDavid du Colombier 	{ AJMP,		yjmp,	Px, 0xff,(04),0xeb,0xe9 },
711e887ea33SDavid du Colombier 	{ AJNE,		yjcond,	Px, 0x75,0x85 },
712e887ea33SDavid du Colombier 	{ AJOC,		yjcond,	Px, 0x71,0x81,(00) },
713e887ea33SDavid du Colombier 	{ AJOS,		yjcond,	Px, 0x70,0x80,(00) },
714e887ea33SDavid du Colombier 	{ AJPC,		yjcond,	Px, 0x7b,0x8b },
715e887ea33SDavid du Colombier 	{ AJPL,		yjcond,	Px, 0x79,0x89 },
716e887ea33SDavid du Colombier 	{ AJPS,		yjcond,	Px, 0x7a,0x8a },
717e887ea33SDavid du Colombier 	{ ALAHF,	ynone,	Px, 0x9f },
718e887ea33SDavid du Colombier 	{ ALARL,	yml_rl,	Pm, 0x02 },
719e887ea33SDavid du Colombier 	{ ALARW,	yml_rl,	Pq, 0x02 },
720e887ea33SDavid du Colombier 	{ ALDMXCSR,	ysvrs,	Pm, 0xae,(02),0xae,(02) },
721e887ea33SDavid du Colombier 	{ ALEAL,	ym_rl,	Px, 0x8d },
722e887ea33SDavid du Colombier 	{ ALEAQ,	ym_rl,	Pw, 0x8d },
723e887ea33SDavid du Colombier 	{ ALEAVEL,	ynone,	P32, 0xc9 },
724e887ea33SDavid du Colombier 	{ ALEAVEQ,	ynone,	Py, 0xc9 },
725e887ea33SDavid du Colombier 	{ ALEAVEW,	ynone,	Pe, 0xc9 },
726e887ea33SDavid du Colombier 	{ ALEAW,	ym_rl,	Pe, 0x8d },
727e887ea33SDavid du Colombier 	{ ALOCK,	ynone,	Px, 0xf0 },
728e887ea33SDavid du Colombier 	{ ALODSB,	ynone,	Pb, 0xac },
729e887ea33SDavid du Colombier 	{ ALODSL,	ynone,	Px, 0xad },
730e887ea33SDavid du Colombier 	{ ALODSQ,	ynone,	Pw, 0xad },
731e887ea33SDavid du Colombier 	{ ALODSW,	ynone,	Pe, 0xad },
732e887ea33SDavid du Colombier 	{ ALONG,	ybyte,	Px, 4 },
733e887ea33SDavid du Colombier 	{ ALOOP,	yloop,	Px, 0xe2 },
734e887ea33SDavid du Colombier 	{ ALOOPEQ,	yloop,	Px, 0xe1 },
735e887ea33SDavid du Colombier 	{ ALOOPNE,	yloop,	Px, 0xe0 },
736e887ea33SDavid du Colombier 	{ ALSLL,	yml_rl,	Pm, 0x03  },
737e887ea33SDavid du Colombier 	{ ALSLW,	yml_rl,	Pq, 0x03  },
738e887ea33SDavid du Colombier 	{ AMASKMOVOU,	yxr,	Pe, 0xf7 },
739e887ea33SDavid du Colombier 	{ AMASKMOVQ,	ymr,	Pm, 0xf7 },
740e887ea33SDavid du Colombier 	{ AMAXPD,	yxm,	Pe, 0x5f },
741e887ea33SDavid du Colombier 	{ AMAXPS,	yxm,	Pm, 0x5f },
742e887ea33SDavid du Colombier 	{ AMAXSD,	yxm,	Pf2, 0x5f },
743e887ea33SDavid du Colombier 	{ AMAXSS,	yxm,	Pf3, 0x5f },
744e887ea33SDavid du Colombier 	{ AMINPD,	yxm,	Pe, 0x5d },
745e887ea33SDavid du Colombier 	{ AMINPS,	yxm,	Pm, 0x5d },
746e887ea33SDavid du Colombier 	{ AMINSD,	yxm,	Pf2, 0x5d },
747e887ea33SDavid du Colombier 	{ AMINSS,	yxm,	Pf3, 0x5d },
748e887ea33SDavid du Colombier 	{ AMOVAPD,	yxmov,	Pe, 0x28,0x29 },
749e887ea33SDavid du Colombier 	{ AMOVAPS,	yxmov,	Pm, 0x28,0x29 },
750e887ea33SDavid du Colombier 	{ AMOVB,	ymovb,	Pb, 0x88,0x8a,0xb0,0xc6,(00) },
751e887ea33SDavid du Colombier 	{ AMOVBLSX,	ymb_rl,	Pm, 0xbe },
752e887ea33SDavid du Colombier 	{ AMOVBLZX,	ymb_rl,	Pm, 0xb6 },
753e887ea33SDavid du Colombier 	{ AMOVBQSX,	ymb_rl,	Pw, 0x0f,0xbe },
754e887ea33SDavid du Colombier 	{ AMOVBQZX,	ymb_rl,	Pw, 0x0f,0xb6 },
755e887ea33SDavid du Colombier 	{ AMOVBWSX,	ymb_rl,	Pq, 0xbe },
756e887ea33SDavid du Colombier 	{ AMOVBWZX,	ymb_rl,	Pq, 0xb6 },
757e887ea33SDavid du Colombier 	{ AMOVO,	yxmov,	Pe, 0x6f,0x7f },
75842ae7379SDavid du Colombier 	{ AMOVOU,	yxmov,	Pf3, 0x6f,0x7f },
759e887ea33SDavid du Colombier 	{ AMOVHLPS,	yxr,	Pm, 0x12 },
760e887ea33SDavid du Colombier 	{ AMOVHPD,	yxmov,	Pe, 0x16,0x17 },
761e887ea33SDavid du Colombier 	{ AMOVHPS,	yxmov,	Pm, 0x16,0x17 },
762e887ea33SDavid du Colombier 	{ AMOVL,	ymovl,	Px, 0x89,0x8b,0x31,0xb8,0xc7,(00),0x6e,0x7e,Pe,0x6e,Pe,0x7e },
763e887ea33SDavid du Colombier 	{ AMOVLHPS,	yxr,	Pm, 0x16 },
764e887ea33SDavid du Colombier 	{ AMOVLPD,	yxmov,	Pe, 0x12,0x13 },
765e887ea33SDavid du Colombier 	{ AMOVLPS,	yxmov,	Pm, 0x12,0x13 },
766e887ea33SDavid du Colombier 	{ AMOVLQSX,	yml_rl,	Pw, 0x63 },
767cc4e2106SDavid du Colombier 	{ AMOVLQZX,	yml_rl,	Px, 0x8b },
768e887ea33SDavid du Colombier 	{ AMOVMSKPD,	yxrrl,	Pq, 0x50 },
769e887ea33SDavid du Colombier 	{ AMOVMSKPS,	yxrrl,	Pm, 0x50 },
770e887ea33SDavid du Colombier 	{ AMOVNTO,	yxr_ml,	Pe, 0xe7 },
771e887ea33SDavid du Colombier 	{ AMOVNTPD,	yxr_ml,	Pe, 0x2b },
772e887ea33SDavid du Colombier 	{ AMOVNTPS,	yxr_ml,	Pm, 0x2b },
773e887ea33SDavid du Colombier 	{ AMOVNTQ,	ymr_ml,	Pm, 0xe7 },
774e887ea33SDavid du Colombier 	{ AMOVQ,	ymovq,	Pw, 0x89,0x8b,0x31,0xc7,(00),0xb8,0xc7,(00),0x6f,0x7f,0x6e,0x7e,Pf2,0xd6,Pe,0xd6,Pe,0x6e,Pe,0x7e },
775e887ea33SDavid du Colombier 	{ AMOVQOZX,	ymrxr,	Pf3, 0xd6,0x7e },
776e887ea33SDavid du Colombier 	{ AMOVSB,	ynone,	Pb, 0xa4 },
777e887ea33SDavid du Colombier 	{ AMOVSD,	yxmov,	Pf2, 0x10,0x11 },
778e887ea33SDavid du Colombier 	{ AMOVSL,	ynone,	Px, 0xa5 },
779e887ea33SDavid du Colombier 	{ AMOVSQ,	ynone,	Pw, 0xa5 },
780e887ea33SDavid du Colombier 	{ AMOVSS,	yxmov,	Pf3, 0x10,0x11 },
781e887ea33SDavid du Colombier 	{ AMOVSW,	ynone,	Pe, 0xa5 },
782e887ea33SDavid du Colombier 	{ AMOVUPD,	yxmov,	Pe, 0x10,0x11 },
783e887ea33SDavid du Colombier 	{ AMOVUPS,	yxmov,	Pm, 0x10,0x11 },
784e887ea33SDavid du Colombier 	{ AMOVW,	ymovw,	Pe, 0x89,0x8b,0x31,0xb8,0xc7,(00) },
785e887ea33SDavid du Colombier 	{ AMOVWLSX,	yml_rl,	Pm, 0xbf },
786e887ea33SDavid du Colombier 	{ AMOVWLZX,	yml_rl,	Pm, 0xb7 },
787e887ea33SDavid du Colombier 	{ AMOVWQSX,	yml_rl,	Pw, 0x0f,0xbf },
788e887ea33SDavid du Colombier 	{ AMOVWQZX,	yml_rl,	Pw, 0x0f,0xb7 },
789e887ea33SDavid du Colombier 	{ AMULB,	ydivb,	Pb, 0xf6,(04) },
790e887ea33SDavid du Colombier 	{ AMULL,	ydivl,	Px, 0xf7,(04) },
791e887ea33SDavid du Colombier 	{ AMULPD,	yxm,	Pe, 0x59 },
792e887ea33SDavid du Colombier 	{ AMULPS,	yxm,	Ym, 0x59 },
793e887ea33SDavid du Colombier 	{ AMULQ,	ydivl,	Pw, 0xf7,(04) },
794e887ea33SDavid du Colombier 	{ AMULSD,	yxm,	Pf2, 0x59 },
795e887ea33SDavid du Colombier 	{ AMULSS,	yxm,	Pf3, 0x59 },
796e887ea33SDavid du Colombier 	{ AMULW,	ydivl,	Pe, 0xf7,(04) },
797e887ea33SDavid du Colombier 	{ ANAME },
798e887ea33SDavid du Colombier 	{ ANEGB,	yscond,	Pb, 0xf6,(03) },
799e887ea33SDavid du Colombier 	{ ANEGL,	yscond,	Px, 0xf7,(03) },
800e887ea33SDavid du Colombier 	{ ANEGQ,	yscond,	Pw, 0xf7,(03) },
801e887ea33SDavid du Colombier 	{ ANEGW,	yscond,	Pe, 0xf7,(03) },
802e887ea33SDavid du Colombier 	{ ANOP,		ynop,	Px, 0,0 },
803e887ea33SDavid du Colombier 	{ ANOTB,	yscond,	Pb, 0xf6,(02) },
804e887ea33SDavid du Colombier 	{ ANOTL,	yscond,	Px, 0xf7,(02) },
805e887ea33SDavid du Colombier 	{ ANOTQ,	yscond,	Pw, 0xf7,(02) },
806e887ea33SDavid du Colombier 	{ ANOTW,	yscond,	Pe, 0xf7,(02) },
807e887ea33SDavid du Colombier 	{ AORB,		yxorb,	Pb, 0x0c,0x80,(01),0x08,0x0a },
808e887ea33SDavid du Colombier 	{ AORL,		yxorl,	Px, 0x83,(01),0x0d,0x81,(01),0x09,0x0b },
809e887ea33SDavid du Colombier 	{ AORPD,	yxm,	Pq, 0x56 },
810e887ea33SDavid du Colombier 	{ AORPS,	yxm,	Pm, 0x56 },
811e887ea33SDavid du Colombier 	{ AORQ,		yxorl,	Pw, 0x83,(01),0x0d,0x81,(01),0x09,0x0b },
812e887ea33SDavid du Colombier 	{ AORW,		yxorl,	Pe, 0x83,(01),0x0d,0x81,(01),0x09,0x0b },
813e887ea33SDavid du Colombier 	{ AOUTB,	yin,	Pb, 0xe6,0xee },
814e887ea33SDavid du Colombier 	{ AOUTL,	yin,	Px, 0xe7,0xef },
815e887ea33SDavid du Colombier 	{ AOUTSB,	ynone,	Pb, 0x6e },
816e887ea33SDavid du Colombier 	{ AOUTSL,	ynone,	Px, 0x6f },
817e887ea33SDavid du Colombier 	{ AOUTSW,	ynone,	Pe, 0x6f },
818e887ea33SDavid du Colombier 	{ AOUTW,	yin,	Pe, 0xe7,0xef },
819e887ea33SDavid du Colombier 	{ APACKSSLW,	ymm,	Py, 0x6b,Pe,0x6b },
820e887ea33SDavid du Colombier 	{ APACKSSWB,	ymm,	Py, 0x63,Pe,0x63 },
821e887ea33SDavid du Colombier 	{ APACKUSWB,	ymm,	Py, 0x67,Pe,0x67 },
822e887ea33SDavid du Colombier 	{ APADDB,	ymm,	Py, 0xfc,Pe,0xfc },
823e887ea33SDavid du Colombier 	{ APADDL,	ymm,	Py, 0xfe,Pe,0xfe },
824e887ea33SDavid du Colombier 	{ APADDQ,	yxm,	Pe, 0xd4 },
825e887ea33SDavid du Colombier 	{ APADDSB,	ymm,	Py, 0xec,Pe,0xec },
826e887ea33SDavid du Colombier 	{ APADDSW,	ymm,	Py, 0xed,Pe,0xed },
827e887ea33SDavid du Colombier 	{ APADDUSB,	ymm,	Py, 0xdc,Pe,0xdc },
828e887ea33SDavid du Colombier 	{ APADDUSW,	ymm,	Py, 0xdd,Pe,0xdd },
829e887ea33SDavid du Colombier 	{ APADDW,	ymm,	Py, 0xfd,Pe,0xfd },
830e887ea33SDavid du Colombier 	{ APAND,	ymm,	Py, 0xdb,Pe,0xdb },
831e887ea33SDavid du Colombier 	{ APANDN,	ymm,	Py, 0xdf,Pe,0xdf },
832e887ea33SDavid du Colombier 	{ APAVGB,	ymm,	Py, 0xe0,Pe,0xe0 },
833e887ea33SDavid du Colombier 	{ APAVGW,	ymm,	Py, 0xe3,Pe,0xe3 },
834e887ea33SDavid du Colombier 	{ APCMPEQB,	ymm,	Py, 0x74,Pe,0x74 },
835e887ea33SDavid du Colombier 	{ APCMPEQL,	ymm,	Py, 0x76,Pe,0x76 },
836e887ea33SDavid du Colombier 	{ APCMPEQW,	ymm,	Py, 0x75,Pe,0x75 },
837e887ea33SDavid du Colombier 	{ APCMPGTB,	ymm,	Py, 0x64,Pe,0x64 },
838e887ea33SDavid du Colombier 	{ APCMPGTL,	ymm,	Py, 0x66,Pe,0x66 },
839e887ea33SDavid du Colombier 	{ APCMPGTW,	ymm,	Py, 0x65,Pe,0x65 },
840e887ea33SDavid du Colombier 	{ APEXTRW,	yextrw,	Pq, 0xc5 },
841e887ea33SDavid du Colombier 	{ APF2IL,	ymfp,	Px, 0x1d },
842e887ea33SDavid du Colombier 	{ APF2IW,	ymfp,	Px, 0x1c },
843e887ea33SDavid du Colombier 	{ API2FL,	ymfp,	Px, 0x0d },
844e887ea33SDavid du Colombier 	{ APFACC,	ymfp,	Px, 0xae },
845e887ea33SDavid du Colombier 	{ APFADD,	ymfp,	Px, 0x9e },
846e887ea33SDavid du Colombier 	{ APFCMPEQ,	ymfp,	Px, 0xb0 },
847e887ea33SDavid du Colombier 	{ APFCMPGE,	ymfp,	Px, 0x90 },
848e887ea33SDavid du Colombier 	{ APFCMPGT,	ymfp,	Px, 0xa0 },
849e887ea33SDavid du Colombier 	{ APFMAX,	ymfp,	Px, 0xa4 },
850e887ea33SDavid du Colombier 	{ APFMIN,	ymfp,	Px, 0x94 },
851e887ea33SDavid du Colombier 	{ APFMUL,	ymfp,	Px, 0xb4 },
852e887ea33SDavid du Colombier 	{ APFNACC,	ymfp,	Px, 0x8a },
853e887ea33SDavid du Colombier 	{ APFPNACC,	ymfp,	Px, 0x8e },
854e887ea33SDavid du Colombier 	{ APFRCP,	ymfp,	Px, 0x96 },
855e887ea33SDavid du Colombier 	{ APFRCPIT1,	ymfp,	Px, 0xa6 },
856e887ea33SDavid du Colombier 	{ APFRCPI2T,	ymfp,	Px, 0xb6 },
857e887ea33SDavid du Colombier 	{ APFRSQIT1,	ymfp,	Px, 0xa7 },
858e887ea33SDavid du Colombier 	{ APFRSQRT,	ymfp,	Px, 0x97 },
859e887ea33SDavid du Colombier 	{ APFSUB,	ymfp,	Px, 0x9a },
860e887ea33SDavid du Colombier 	{ APFSUBR,	ymfp,	Px, 0xaa },
861e887ea33SDavid du Colombier 	{ APINSRW,	yextrw,	Pq, 0xc4 },
862e887ea33SDavid du Colombier 	{ APMADDWL,	ymm,	Py, 0xf5,Pe,0xf5 },
863e887ea33SDavid du Colombier 	{ APMAXSW,	yxm,	Pe, 0xee },
864e887ea33SDavid du Colombier 	{ APMAXUB,	yxm,	Pe, 0xde },
865e887ea33SDavid du Colombier 	{ APMINSW,	yxm,	Pe, 0xea },
866e887ea33SDavid du Colombier 	{ APMINUB,	yxm,	Pe, 0xda },
867e887ea33SDavid du Colombier 	{ APMOVMSKB,	ymskb,	Px, Pe,0xd7,0xd7 },
868e887ea33SDavid du Colombier 	{ APMULHRW,	ymfp,	Px, 0xb7 },
869e887ea33SDavid du Colombier 	{ APMULHUW,	ymm,	Py, 0xe4,Pe,0xe4 },
870e887ea33SDavid du Colombier 	{ APMULHW,	ymm,	Py, 0xe5,Pe,0xe5 },
871e887ea33SDavid du Colombier 	{ APMULLW,	ymm,	Py, 0xd5,Pe,0xd5 },
872e887ea33SDavid du Colombier 	{ APMULULQ,	ymm,	Py, 0xf4,Pe,0xf4 },
873e887ea33SDavid du Colombier 	{ APOPAL,	ynone,	P32, 0x61 },
874e887ea33SDavid du Colombier 	{ APOPAW,	ynone,	Pe, 0x61 },
875e887ea33SDavid du Colombier 	{ APOPFL,	ynone,	P32, 0x9d },
876e887ea33SDavid du Colombier 	{ APOPFQ,	ynone,	Py, 0x9d },
877e887ea33SDavid du Colombier 	{ APOPFW,	ynone,	Pe, 0x9d },
878e887ea33SDavid du Colombier 	{ APOPL,	ypopl,	P32, 0x58,0x8f,(00) },
879e887ea33SDavid du Colombier 	{ APOPQ,	ypopl,	Py, 0x58,0x8f,(00) },
880e887ea33SDavid du Colombier 	{ APOPW,	ypopl,	Pe, 0x58,0x8f,(00) },
881e887ea33SDavid du Colombier 	{ APOR,		ymm,	Py, 0xeb,Pe,0xeb },
88242ae7379SDavid du Colombier 	{ APSADBW,	yxm,	Pq, 0xf6 },
883e887ea33SDavid du Colombier 	{ APSHUFHW,	yxshuf,	Pf3, 0x70 },
88442ae7379SDavid du Colombier 	{ APSHUFL,	yxshuf,	Pq, 0x70 },
885e887ea33SDavid du Colombier 	{ APSHUFLW,	yxshuf,	Pf2, 0x70 },
886e887ea33SDavid du Colombier 	{ APSHUFW,	ymshuf,	Pm, 0x70 },
887e887ea33SDavid du Colombier 	{ APSLLO,	ypsdq,	Pq, 0x73,(07) },
888e887ea33SDavid du Colombier 	{ APSLLL,	yps,	Py, 0xf2, 0x72,(06), Pe,0xf2, Pe,0x72,(06) },
889e887ea33SDavid du Colombier 	{ APSLLQ,	yps,	Py, 0xf3, 0x73,(06), Pe,0xf3, Pe,0x7e,(06) },
890e887ea33SDavid du Colombier 	{ APSLLW,	yps,	Py, 0xf1, 0x71,(06), Pe,0xf1, Pe,0x71,(06) },
891e887ea33SDavid du Colombier 	{ APSRAL,	yps,	Py, 0xe2, 0x72,(04), Pe,0xe2, Pe,0x72,(04) },
892e887ea33SDavid du Colombier 	{ APSRAW,	yps,	Py, 0xe1, 0x71,(04), Pe,0xe1, Pe,0x71,(04) },
893e887ea33SDavid du Colombier 	{ APSRLO,	ypsdq,	Pq, 0x73,(03) },
894e887ea33SDavid du Colombier 	{ APSRLL,	yps,	Py, 0xd2, 0x72,(02), Pe,0xd2, Pe,0x72,(02) },
895e887ea33SDavid du Colombier 	{ APSRLQ,	yps,	Py, 0xd3, 0x73,(02), Pe,0xd3, Pe,0x73,(02) },
896e887ea33SDavid du Colombier 	{ APSRLW,	yps,	Py, 0xd1, 0x71,(02), Pe,0xe1, Pe,0x71,(02) },
897e887ea33SDavid du Colombier 	{ APSUBB,	yxm,	Pe, 0xf8 },
898e887ea33SDavid du Colombier 	{ APSUBL,	yxm,	Pe, 0xfa },
899e887ea33SDavid du Colombier 	{ APSUBQ,	yxm,	Pe, 0xfb },
900e887ea33SDavid du Colombier 	{ APSUBSB,	yxm,	Pe, 0xe8 },
901e887ea33SDavid du Colombier 	{ APSUBSW,	yxm,	Pe, 0xe9 },
902e887ea33SDavid du Colombier 	{ APSUBUSB,	yxm,	Pe, 0xd8 },
903e887ea33SDavid du Colombier 	{ APSUBUSW,	yxm,	Pe, 0xd9 },
904e887ea33SDavid du Colombier 	{ APSUBW,	yxm,	Pe, 0xf9 },
905e887ea33SDavid du Colombier 	{ APSWAPL,	ymfp,	Px, 0xbb },
906e887ea33SDavid du Colombier 	{ APUNPCKHBW,	ymm,	Py, 0x68,Pe,0x68 },
907e887ea33SDavid du Colombier 	{ APUNPCKHLQ,	ymm,	Py, 0x6a,Pe,0x6a },
908e887ea33SDavid du Colombier 	{ APUNPCKHQDQ,	yxm,	Pe, 0x6d },
909e887ea33SDavid du Colombier 	{ APUNPCKHWL,	ymm,	Py, 0x69,Pe,0x69 },
910e887ea33SDavid du Colombier 	{ APUNPCKLBW,	ymm,	Py, 0x60,Pe,0x60 },
911e887ea33SDavid du Colombier 	{ APUNPCKLLQ,	ymm,	Py, 0x62,Pe,0x62 },
912e887ea33SDavid du Colombier 	{ APUNPCKLQDQ,	yxm,	Pe, 0x6c },
913e887ea33SDavid du Colombier 	{ APUNPCKLWL,	ymm,	Py, 0x61,Pe,0x61 },
914e887ea33SDavid du Colombier 	{ APUSHAL,	ynone,	P32, 0x60 },
915e887ea33SDavid du Colombier 	{ APUSHAW,	ynone,	Pe, 0x60 },
916e887ea33SDavid du Colombier 	{ APUSHFL,	ynone,	P32, 0x9c },
917e887ea33SDavid du Colombier 	{ APUSHFQ,	ynone,	Py, 0x9c },
918e887ea33SDavid du Colombier 	{ APUSHFW,	ynone,	Pe, 0x9c },
919e887ea33SDavid du Colombier 	{ APUSHL,	ypushl,	P32, 0x50,0xff,(06),0x6a,0x68 },
920e887ea33SDavid du Colombier 	{ APUSHQ,	ypushl,	Py, 0x50,0xff,(06),0x6a,0x68 },
921e887ea33SDavid du Colombier 	{ APUSHW,	ypushl,	Pe, 0x50,0xff,(06),0x6a,0x68 },
922e887ea33SDavid du Colombier 	{ APXOR,	ymm,	Py, 0xef,Pe,0xef },
923e887ea33SDavid du Colombier 	{ AQUAD,	ybyte,	Px, 8 },
924e887ea33SDavid du Colombier 	{ ARCLB,	yshb,	Pb, 0xd0,(02),0xc0,(02),0xd2,(02) },
925e887ea33SDavid du Colombier 	{ ARCLL,	yshl,	Px, 0xd1,(02),0xc1,(02),0xd3,(02),0xd3,(02) },
926e887ea33SDavid du Colombier 	{ ARCLQ,	yshl,	Pw, 0xd1,(02),0xc1,(02),0xd3,(02),0xd3,(02) },
927e887ea33SDavid du Colombier 	{ ARCLW,	yshl,	Pe, 0xd1,(02),0xc1,(02),0xd3,(02),0xd3,(02) },
928e887ea33SDavid du Colombier 	{ ARCPPS,	yxm,	Pm, 0x53 },
929e887ea33SDavid du Colombier 	{ ARCPSS,	yxm,	Pf3, 0x53 },
930e887ea33SDavid du Colombier 	{ ARCRB,	yshb,	Pb, 0xd0,(03),0xc0,(03),0xd2,(03) },
931e887ea33SDavid du Colombier 	{ ARCRL,	yshl,	Px, 0xd1,(03),0xc1,(03),0xd3,(03),0xd3,(03) },
932e887ea33SDavid du Colombier 	{ ARCRQ,	yshl,	Pw, 0xd1,(03),0xc1,(03),0xd3,(03),0xd3,(03) },
933e887ea33SDavid du Colombier 	{ ARCRW,	yshl,	Pe, 0xd1,(03),0xc1,(03),0xd3,(03),0xd3,(03) },
934e887ea33SDavid du Colombier 	{ AREP,		ynone,	Px, 0xf3 },
935e887ea33SDavid du Colombier 	{ AREPN,	ynone,	Px, 0xf2 },
936e887ea33SDavid du Colombier 	{ ARET,		ynone,	Px, 0xc3 },
937e887ea33SDavid du Colombier 	{ ARETFW,	yret,	Pe, 0xcb,0xca },
938e887ea33SDavid du Colombier 	{ ARETFL,	yret,	Px, 0xcb,0xca },
939e887ea33SDavid du Colombier 	{ ARETFQ,	yret,	Pw, 0xcb,0xca },
940e887ea33SDavid du Colombier 	{ AROLB,	yshb,	Pb, 0xd0,(00),0xc0,(00),0xd2,(00) },
941e887ea33SDavid du Colombier 	{ AROLL,	yshl,	Px, 0xd1,(00),0xc1,(00),0xd3,(00),0xd3,(00) },
942e887ea33SDavid du Colombier 	{ AROLQ,	yshl,	Pw, 0xd1,(00),0xc1,(00),0xd3,(00),0xd3,(00) },
943e887ea33SDavid du Colombier 	{ AROLW,	yshl,	Pe, 0xd1,(00),0xc1,(00),0xd3,(00),0xd3,(00) },
944e887ea33SDavid du Colombier 	{ ARORB,	yshb,	Pb, 0xd0,(01),0xc0,(01),0xd2,(01) },
945e887ea33SDavid du Colombier 	{ ARORL,	yshl,	Px, 0xd1,(01),0xc1,(01),0xd3,(01),0xd3,(01) },
946e887ea33SDavid du Colombier 	{ ARORQ,	yshl,	Pw, 0xd1,(01),0xc1,(01),0xd3,(01),0xd3,(01) },
947e887ea33SDavid du Colombier 	{ ARORW,	yshl,	Pe, 0xd1,(01),0xc1,(01),0xd3,(01),0xd3,(01) },
948e887ea33SDavid du Colombier 	{ ARSQRTPS,	yxm,	Pm, 0x52 },
949e887ea33SDavid du Colombier 	{ ARSQRTSS,	yxm,	Pf3, 0x52 },
950e887ea33SDavid du Colombier 	{ ASAHF,	ynone,	Px, 0x86,0xe0,0x50,0x9d },	/* XCHGB AH,AL; PUSH AX; POPFL */
951e887ea33SDavid du Colombier 	{ ASALB,	yshb,	Pb, 0xd0,(04),0xc0,(04),0xd2,(04) },
952e887ea33SDavid du Colombier 	{ ASALL,	yshl,	Px, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) },
953e887ea33SDavid du Colombier 	{ ASALQ,	yshl,	Pw, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) },
954e887ea33SDavid du Colombier 	{ ASALW,	yshl,	Pe, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) },
955e887ea33SDavid du Colombier 	{ ASARB,	yshb,	Pb, 0xd0,(07),0xc0,(07),0xd2,(07) },
956e887ea33SDavid du Colombier 	{ ASARL,	yshl,	Px, 0xd1,(07),0xc1,(07),0xd3,(07),0xd3,(07) },
957e887ea33SDavid du Colombier 	{ ASARQ,	yshl,	Pw, 0xd1,(07),0xc1,(07),0xd3,(07),0xd3,(07) },
958e887ea33SDavid du Colombier 	{ ASARW,	yshl,	Pe, 0xd1,(07),0xc1,(07),0xd3,(07),0xd3,(07) },
959e887ea33SDavid du Colombier 	{ ASBBB,	yxorb,	Pb, 0x1c,0x80,(03),0x18,0x1a },
960e887ea33SDavid du Colombier 	{ ASBBL,	yxorl,	Px, 0x83,(03),0x1d,0x81,(03),0x19,0x1b },
961e887ea33SDavid du Colombier 	{ ASBBQ,	yxorl,	Pw, 0x83,(03),0x1d,0x81,(03),0x19,0x1b },
962e887ea33SDavid du Colombier 	{ ASBBW,	yxorl,	Pe, 0x83,(03),0x1d,0x81,(03),0x19,0x1b },
963e887ea33SDavid du Colombier 	{ ASCASB,	ynone,	Pb, 0xae },
964e887ea33SDavid du Colombier 	{ ASCASL,	ynone,	Px, 0xaf },
965e887ea33SDavid du Colombier 	{ ASCASQ,	ynone,	Pw, 0xaf },
966e887ea33SDavid du Colombier 	{ ASCASW,	ynone,	Pe, 0xaf },
967e887ea33SDavid du Colombier 	{ ASETCC,	yscond,	Pm, 0x93,(00) },
968e887ea33SDavid du Colombier 	{ ASETCS,	yscond,	Pm, 0x92,(00) },
969e887ea33SDavid du Colombier 	{ ASETEQ,	yscond,	Pm, 0x94,(00) },
970e887ea33SDavid du Colombier 	{ ASETGE,	yscond,	Pm, 0x9d,(00) },
971e887ea33SDavid du Colombier 	{ ASETGT,	yscond,	Pm, 0x9f,(00) },
972e887ea33SDavid du Colombier 	{ ASETHI,	yscond,	Pm, 0x97,(00) },
973e887ea33SDavid du Colombier 	{ ASETLE,	yscond,	Pm, 0x9e,(00) },
974e887ea33SDavid du Colombier 	{ ASETLS,	yscond,	Pm, 0x96,(00) },
975e887ea33SDavid du Colombier 	{ ASETLT,	yscond,	Pm, 0x9c,(00) },
976e887ea33SDavid du Colombier 	{ ASETMI,	yscond,	Pm, 0x98,(00) },
977e887ea33SDavid du Colombier 	{ ASETNE,	yscond,	Pm, 0x95,(00) },
978e887ea33SDavid du Colombier 	{ ASETOC,	yscond,	Pm, 0x91,(00) },
979e887ea33SDavid du Colombier 	{ ASETOS,	yscond,	Pm, 0x90,(00) },
980e887ea33SDavid du Colombier 	{ ASETPC,	yscond,	Pm, 0x96,(00) },
981e887ea33SDavid du Colombier 	{ ASETPL,	yscond,	Pm, 0x99,(00) },
982e887ea33SDavid du Colombier 	{ ASETPS,	yscond,	Pm, 0x9a,(00) },
983e887ea33SDavid du Colombier 	{ ASHLB,	yshb,	Pb, 0xd0,(04),0xc0,(04),0xd2,(04) },
984e887ea33SDavid du Colombier 	{ ASHLL,	yshl,	Px, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) },
985e887ea33SDavid du Colombier 	{ ASHLQ,	yshl,	Pw, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) },
986e887ea33SDavid du Colombier 	{ ASHLW,	yshl,	Pe, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) },
987e887ea33SDavid du Colombier 	{ ASHRB,	yshb,	Pb, 0xd0,(05),0xc0,(05),0xd2,(05) },
988e887ea33SDavid du Colombier 	{ ASHRL,	yshl,	Px, 0xd1,(05),0xc1,(05),0xd3,(05),0xd3,(05) },
989e887ea33SDavid du Colombier 	{ ASHRQ,	yshl,	Pw, 0xd1,(05),0xc1,(05),0xd3,(05),0xd3,(05) },
990e887ea33SDavid du Colombier 	{ ASHRW,	yshl,	Pe, 0xd1,(05),0xc1,(05),0xd3,(05),0xd3,(05) },
991e887ea33SDavid du Colombier 	{ ASHUFPD,	yxshuf,	Pq, 0xc6 },
992e887ea33SDavid du Colombier 	{ ASHUFPS,	yxshuf,	Pm, 0xc6 },
993e887ea33SDavid du Colombier 	{ ASQRTPD,	yxm,	Pe, 0x51 },
994e887ea33SDavid du Colombier 	{ ASQRTPS,	yxm,	Pm, 0x51 },
995e887ea33SDavid du Colombier 	{ ASQRTSD,	yxm,	Pf2, 0x51 },
996e887ea33SDavid du Colombier 	{ ASQRTSS,	yxm,	Pf3, 0x51 },
997e887ea33SDavid du Colombier 	{ ASTC,		ynone,	Px, 0xf9 },
998e887ea33SDavid du Colombier 	{ ASTD,		ynone,	Px, 0xfd },
999e887ea33SDavid du Colombier 	{ ASTI,		ynone,	Px, 0xfb },
1000e887ea33SDavid du Colombier 	{ ASTMXCSR,	ysvrs,	Pm, 0xae,(03),0xae,(03) },
1001e887ea33SDavid du Colombier 	{ ASTOSB,	ynone,	Pb, 0xaa },
1002e887ea33SDavid du Colombier 	{ ASTOSL,	ynone,	Px, 0xab },
1003e887ea33SDavid du Colombier 	{ ASTOSQ,	ynone,	Pw, 0xab },
1004e887ea33SDavid du Colombier 	{ ASTOSW,	ynone,	Pe, 0xab },
1005e887ea33SDavid du Colombier 	{ ASUBB,	yxorb,	Pb, 0x2c,0x80,(05),0x28,0x2a },
1006e887ea33SDavid du Colombier 	{ ASUBL,	yaddl,	Px, 0x83,(05),0x2d,0x81,(05),0x29,0x2b },
1007e887ea33SDavid du Colombier 	{ ASUBPD,	yxm,	Pe, 0x5c },
1008e887ea33SDavid du Colombier 	{ ASUBPS,	yxm,	Pm, 0x5c },
1009e887ea33SDavid du Colombier 	{ ASUBQ,	yaddl,	Pw, 0x83,(05),0x2d,0x81,(05),0x29,0x2b },
1010e887ea33SDavid du Colombier 	{ ASUBSD,	yxm,	Pf2, 0x5c },
1011e887ea33SDavid du Colombier 	{ ASUBSS,	yxm,	Pf3, 0x5c },
1012e887ea33SDavid du Colombier 	{ ASUBW,	yaddl,	Pe, 0x83,(05),0x2d,0x81,(05),0x29,0x2b },
1013e887ea33SDavid du Colombier 	{ ASWAPGS,	ynone,	Pm, 0x01,0xf8 },
1014e887ea33SDavid du Colombier 	{ ASYSCALL,	ynone,	Px, 0x0f,0x05 },	/* fast syscall */
1015e887ea33SDavid du Colombier 	{ ATESTB,	ytestb,	Pb, 0xa8,0xf6,(00),0x84,0x84 },
1016e887ea33SDavid du Colombier 	{ ATESTL,	ytestl,	Px, 0xa9,0xf7,(00),0x85,0x85 },
1017e887ea33SDavid du Colombier 	{ ATESTQ,	ytestl,	Pw, 0xa9,0xf7,(00),0x85,0x85 },
1018e887ea33SDavid du Colombier 	{ ATESTW,	ytestl,	Pe, 0xa9,0xf7,(00),0x85,0x85 },
1019e887ea33SDavid du Colombier 	{ ATEXT,	ytext,	Px },
1020e887ea33SDavid du Colombier 	{ AUCOMISD,	yxcmp,	Pe, 0x2e },
1021e887ea33SDavid du Colombier 	{ AUCOMISS,	yxcmp,	Pm, 0x2e },
1022e887ea33SDavid du Colombier 	{ AUNPCKHPD,	yxm,	Pe, 0x15 },
1023e887ea33SDavid du Colombier 	{ AUNPCKHPS,	yxm,	Pm, 0x15 },
1024e887ea33SDavid du Colombier 	{ AUNPCKLPD,	yxm,	Pe, 0x14 },
1025e887ea33SDavid du Colombier 	{ AUNPCKLPS,	yxm,	Pm, 0x14 },
1026e887ea33SDavid du Colombier 	{ AVERR,	ydivl,	Pm, 0x00,(04) },
1027e887ea33SDavid du Colombier 	{ AVERW,	ydivl,	Pm, 0x00,(05) },
1028e887ea33SDavid du Colombier 	{ AWAIT,	ynone,	Px, 0x9b },
1029e887ea33SDavid du Colombier 	{ AWORD,	ybyte,	Px, 2 },
1030e887ea33SDavid du Colombier 	{ AXCHGB,	yml_mb,	Pb, 0x86,0x86 },
1031e887ea33SDavid du Colombier 	{ AXCHGL,	yml_ml,	Px, 0x87,0x87 },
1032e887ea33SDavid du Colombier 	{ AXCHGQ,	yml_ml,	Pw, 0x87,0x87 },
1033e887ea33SDavid du Colombier 	{ AXCHGW,	yml_ml,	Pe, 0x87,0x87 },
1034e887ea33SDavid du Colombier 	{ AXLAT,	ynone,	Px, 0xd7 },
1035e887ea33SDavid du Colombier 	{ AXORB,	yxorb,	Pb, 0x34,0x80,(06),0x30,0x32 },
1036e887ea33SDavid du Colombier 	{ AXORL,	yxorl,	Px, 0x83,(06),0x35,0x81,(06),0x31,0x33 },
1037e887ea33SDavid du Colombier 	{ AXORPD,	yxm,	Pe, 0x57 },
1038e887ea33SDavid du Colombier 	{ AXORPS,	yxm,	Pm, 0x57 },
1039e887ea33SDavid du Colombier 	{ AXORQ,	yxorl,	Pw, 0x83,(06),0x35,0x81,(06),0x31,0x33 },
1040e887ea33SDavid du Colombier 	{ AXORW,	yxorl,	Pe, 0x83,(06),0x35,0x81,(06),0x31,0x33 },
1041e887ea33SDavid du Colombier 
1042e887ea33SDavid du Colombier 	{ AFMOVB,	yfmvx,	Px, 0xdf,(04) },
1043e887ea33SDavid du Colombier 	{ AFMOVBP,	yfmvp,	Px, 0xdf,(06) },
1044e887ea33SDavid du Colombier 	{ AFMOVD,	yfmvd,	Px, 0xdd,(00),0xdd,(02),0xd9,(00),0xdd,(02) },
1045e887ea33SDavid du Colombier 	{ AFMOVDP,	yfmvdp,	Px, 0xdd,(03),0xdd,(03) },
1046e887ea33SDavid du Colombier 	{ AFMOVF,	yfmvf,	Px, 0xd9,(00),0xd9,(02) },
1047e887ea33SDavid du Colombier 	{ AFMOVFP,	yfmvp,	Px, 0xd9,(03) },
1048e887ea33SDavid du Colombier 	{ AFMOVL,	yfmvf,	Px, 0xdb,(00),0xdb,(02) },
1049e887ea33SDavid du Colombier 	{ AFMOVLP,	yfmvp,	Px, 0xdb,(03) },
1050e887ea33SDavid du Colombier 	{ AFMOVV,	yfmvx,	Px, 0xdf,(05) },
1051e887ea33SDavid du Colombier 	{ AFMOVVP,	yfmvp,	Px, 0xdf,(07) },
1052e887ea33SDavid du Colombier 	{ AFMOVW,	yfmvf,	Px, 0xdf,(00),0xdf,(02) },
1053e887ea33SDavid du Colombier 	{ AFMOVWP,	yfmvp,	Px, 0xdf,(03) },
1054e887ea33SDavid du Colombier 	{ AFMOVX,	yfmvx,	Px, 0xdb,(05) },
1055e887ea33SDavid du Colombier 	{ AFMOVXP,	yfmvp,	Px, 0xdb,(07) },
1056e887ea33SDavid du Colombier 
1057e887ea33SDavid du Colombier 	{ AFCOMB },
1058e887ea33SDavid du Colombier 	{ AFCOMBP },
1059e887ea33SDavid du Colombier 	{ AFCOMD,	yfadd,	Px, 0xdc,(02),0xd8,(02),0xdc,(02) },	/* botch */
1060e887ea33SDavid du Colombier 	{ AFCOMDP,	yfadd,	Px, 0xdc,(03),0xd8,(03),0xdc,(03) },	/* botch */
1061e887ea33SDavid du Colombier 	{ AFCOMDPP,	ycompp,	Px, 0xde,(03) },
1062e887ea33SDavid du Colombier 	{ AFCOMF,	yfmvx,	Px, 0xd8,(02) },
1063e887ea33SDavid du Colombier 	{ AFCOMFP,	yfmvx,	Px, 0xd8,(03) },
1064e887ea33SDavid du Colombier 	{ AFCOML,	yfmvx,	Px, 0xda,(02) },
1065e887ea33SDavid du Colombier 	{ AFCOMLP,	yfmvx,	Px, 0xda,(03) },
1066e887ea33SDavid du Colombier 	{ AFCOMW,	yfmvx,	Px, 0xde,(02) },
1067e887ea33SDavid du Colombier 	{ AFCOMWP,	yfmvx,	Px, 0xde,(03) },
1068e887ea33SDavid du Colombier 
1069e887ea33SDavid du Colombier 	{ AFUCOM,	ycompp,	Px, 0xdd,(04) },
1070e887ea33SDavid du Colombier 	{ AFUCOMP,	ycompp, Px, 0xdd,(05) },
1071e887ea33SDavid du Colombier 	{ AFUCOMPP,	ycompp,	Px, 0xda,(13) },
1072e887ea33SDavid du Colombier 
1073e887ea33SDavid du Colombier 	{ AFADDDP,	yfaddp,	Px, 0xde,(00) },
1074e887ea33SDavid du Colombier 	{ AFADDW,	yfmvx,	Px, 0xde,(00) },
1075e887ea33SDavid du Colombier 	{ AFADDL,	yfmvx,	Px, 0xda,(00) },
1076e887ea33SDavid du Colombier 	{ AFADDF,	yfmvx,	Px, 0xd8,(00) },
1077e887ea33SDavid du Colombier 	{ AFADDD,	yfadd,	Px, 0xdc,(00),0xd8,(00),0xdc,(00) },
1078e887ea33SDavid du Colombier 
1079e887ea33SDavid du Colombier 	{ AFMULDP,	yfaddp,	Px, 0xde,(01) },
1080e887ea33SDavid du Colombier 	{ AFMULW,	yfmvx,	Px, 0xde,(01) },
1081e887ea33SDavid du Colombier 	{ AFMULL,	yfmvx,	Px, 0xda,(01) },
1082e887ea33SDavid du Colombier 	{ AFMULF,	yfmvx,	Px, 0xd8,(01) },
1083e887ea33SDavid du Colombier 	{ AFMULD,	yfadd,	Px, 0xdc,(01),0xd8,(01),0xdc,(01) },
1084e887ea33SDavid du Colombier 
1085e887ea33SDavid du Colombier 	{ AFSUBDP,	yfaddp,	Px, 0xde,(05) },
1086e887ea33SDavid du Colombier 	{ AFSUBW,	yfmvx,	Px, 0xde,(04) },
1087e887ea33SDavid du Colombier 	{ AFSUBL,	yfmvx,	Px, 0xda,(04) },
1088e887ea33SDavid du Colombier 	{ AFSUBF,	yfmvx,	Px, 0xd8,(04) },
1089e887ea33SDavid du Colombier 	{ AFSUBD,	yfadd,	Px, 0xdc,(04),0xd8,(04),0xdc,(05) },
1090e887ea33SDavid du Colombier 
1091e887ea33SDavid du Colombier 	{ AFSUBRDP,	yfaddp,	Px, 0xde,(04) },
1092e887ea33SDavid du Colombier 	{ AFSUBRW,	yfmvx,	Px, 0xde,(05) },
1093e887ea33SDavid du Colombier 	{ AFSUBRL,	yfmvx,	Px, 0xda,(05) },
1094e887ea33SDavid du Colombier 	{ AFSUBRF,	yfmvx,	Px, 0xd8,(05) },
1095e887ea33SDavid du Colombier 	{ AFSUBRD,	yfadd,	Px, 0xdc,(05),0xd8,(05),0xdc,(04) },
1096e887ea33SDavid du Colombier 
1097e887ea33SDavid du Colombier 	{ AFDIVDP,	yfaddp,	Px, 0xde,(07) },
1098e887ea33SDavid du Colombier 	{ AFDIVW,	yfmvx,	Px, 0xde,(06) },
1099e887ea33SDavid du Colombier 	{ AFDIVL,	yfmvx,	Px, 0xda,(06) },
1100e887ea33SDavid du Colombier 	{ AFDIVF,	yfmvx,	Px, 0xd8,(06) },
1101e887ea33SDavid du Colombier 	{ AFDIVD,	yfadd,	Px, 0xdc,(06),0xd8,(06),0xdc,(07) },
1102e887ea33SDavid du Colombier 
1103e887ea33SDavid du Colombier 	{ AFDIVRDP,	yfaddp,	Px, 0xde,(06) },
1104e887ea33SDavid du Colombier 	{ AFDIVRW,	yfmvx,	Px, 0xde,(07) },
1105e887ea33SDavid du Colombier 	{ AFDIVRL,	yfmvx,	Px, 0xda,(07) },
1106e887ea33SDavid du Colombier 	{ AFDIVRF,	yfmvx,	Px, 0xd8,(07) },
1107e887ea33SDavid du Colombier 	{ AFDIVRD,	yfadd,	Px, 0xdc,(07),0xd8,(07),0xdc,(06) },
1108e887ea33SDavid du Colombier 
1109e887ea33SDavid du Colombier 	{ AFXCHD,	yfxch,	Px, 0xd9,(01),0xd9,(01) },
1110e887ea33SDavid du Colombier 	{ AFFREE },
1111e887ea33SDavid du Colombier 	{ AFLDCW,	ystcw,	Px, 0xd9,(05),0xd9,(05) },
1112e887ea33SDavid du Colombier 	{ AFLDENV,	ystcw,	Px, 0xd9,(04),0xd9,(04) },
1113e887ea33SDavid du Colombier 	{ AFRSTOR,	ysvrs,	Px, 0xdd,(04),0xdd,(04) },
1114e887ea33SDavid du Colombier 	{ AFSAVE,	ysvrs,	Px, 0xdd,(06),0xdd,(06) },
1115e887ea33SDavid du Colombier 	{ AFSTCW,	ystcw,	Px, 0xd9,(07),0xd9,(07) },
1116e887ea33SDavid du Colombier 	{ AFSTENV,	ystcw,	Px, 0xd9,(06),0xd9,(06) },
1117e887ea33SDavid du Colombier 	{ AFSTSW,	ystsw,	Px, 0xdd,(07),0xdf,0xe0 },
1118e887ea33SDavid du Colombier 	{ AF2XM1,	ynone,	Px, 0xd9, 0xf0 },
1119e887ea33SDavid du Colombier 	{ AFABS,	ynone,	Px, 0xd9, 0xe1 },
1120e887ea33SDavid du Colombier 	{ AFCHS,	ynone,	Px, 0xd9, 0xe0 },
1121e887ea33SDavid du Colombier 	{ AFCLEX,	ynone,	Px, 0xdb, 0xe2 },
1122e887ea33SDavid du Colombier 	{ AFCOS,	ynone,	Px, 0xd9, 0xff },
1123e887ea33SDavid du Colombier 	{ AFDECSTP,	ynone,	Px, 0xd9, 0xf6 },
1124e887ea33SDavid du Colombier 	{ AFINCSTP,	ynone,	Px, 0xd9, 0xf7 },
1125e887ea33SDavid du Colombier 	{ AFINIT,	ynone,	Px, 0xdb, 0xe3 },
1126e887ea33SDavid du Colombier 	{ AFLD1,	ynone,	Px, 0xd9, 0xe8 },
1127e887ea33SDavid du Colombier 	{ AFLDL2E,	ynone,	Px, 0xd9, 0xea },
1128e887ea33SDavid du Colombier 	{ AFLDL2T,	ynone,	Px, 0xd9, 0xe9 },
1129e887ea33SDavid du Colombier 	{ AFLDLG2,	ynone,	Px, 0xd9, 0xec },
1130e887ea33SDavid du Colombier 	{ AFLDLN2,	ynone,	Px, 0xd9, 0xed },
1131e887ea33SDavid du Colombier 	{ AFLDPI,	ynone,	Px, 0xd9, 0xeb },
1132e887ea33SDavid du Colombier 	{ AFLDZ,	ynone,	Px, 0xd9, 0xee },
1133e887ea33SDavid du Colombier 	{ AFNOP,	ynone,	Px, 0xd9, 0xd0 },
1134e887ea33SDavid du Colombier 	{ AFPATAN,	ynone,	Px, 0xd9, 0xf3 },
1135e887ea33SDavid du Colombier 	{ AFPREM,	ynone,	Px, 0xd9, 0xf8 },
1136e887ea33SDavid du Colombier 	{ AFPREM1,	ynone,	Px, 0xd9, 0xf5 },
1137e887ea33SDavid du Colombier 	{ AFPTAN,	ynone,	Px, 0xd9, 0xf2 },
1138e887ea33SDavid du Colombier 	{ AFRNDINT,	ynone,	Px, 0xd9, 0xfc },
1139e887ea33SDavid du Colombier 	{ AFSCALE,	ynone,	Px, 0xd9, 0xfd },
1140e887ea33SDavid du Colombier 	{ AFSIN,	ynone,	Px, 0xd9, 0xfe },
1141e887ea33SDavid du Colombier 	{ AFSINCOS,	ynone,	Px, 0xd9, 0xfb },
1142e887ea33SDavid du Colombier 	{ AFSQRT,	ynone,	Px, 0xd9, 0xfa },
1143e887ea33SDavid du Colombier 	{ AFTST,	ynone,	Px, 0xd9, 0xe4 },
1144e887ea33SDavid du Colombier 	{ AFXAM,	ynone,	Px, 0xd9, 0xe5 },
1145e887ea33SDavid du Colombier 	{ AFXTRACT,	ynone,	Px, 0xd9, 0xf4 },
1146e887ea33SDavid du Colombier 	{ AFYL2X,	ynone,	Px, 0xd9, 0xf1 },
1147e887ea33SDavid du Colombier 	{ AFYL2XP1,	ynone,	Px, 0xd9, 0xf9 },
1148e887ea33SDavid du Colombier 
1149e887ea33SDavid du Colombier 	{ ACMPXCHGB,	yrb_mb,	Pb, 0x0f,0xb0 },
1150e887ea33SDavid du Colombier 	{ ACMPXCHGL,	yrl_ml,	Px, 0x0f,0xb1 },
1151e887ea33SDavid du Colombier 	{ ACMPXCHGW,	yrl_ml,	Pe, 0x0f,0xb1 },
1152e887ea33SDavid du Colombier 	{ ACMPXCHGQ,	yrl_ml,	Pw, 0x0f,0xb1 },
1153e887ea33SDavid du Colombier 	{ ACMPXCHG8B,	yscond,	Pm, 0xc7,(01) },
1154e887ea33SDavid du Colombier 	{ AINVD,	ynone,	Pm, 0x08 },
1155e887ea33SDavid du Colombier 	{ AINVLPG,	ymbs,	Pm, 0x01,(07) },
1156e887ea33SDavid du Colombier 	{ ALFENCE,	ynone,	Pm, 0xae,0xe8 },
1157e887ea33SDavid du Colombier 	{ AMFENCE,	ynone,	Pm, 0xae,0xf0 },
1158e887ea33SDavid du Colombier 	{ AMOVNTIL,	yrl_ml,	Pm, 0xc3 },
1159e887ea33SDavid du Colombier 	{ AMOVNTIQ,	yrl_ml, Pw, 0x0f,0xc3 },
1160e887ea33SDavid du Colombier 	{ ARDMSR,	ynone,	Pm, 0x32 },
1161e887ea33SDavid du Colombier 	{ ARDPMC,	ynone,	Pm, 0x33 },
1162e887ea33SDavid du Colombier 	{ ARDTSC,	ynone,	Pm, 0x31 },
1163e887ea33SDavid du Colombier 	{ ARSM,		ynone,	Pm, 0xaa },
1164e887ea33SDavid du Colombier 	{ ASFENCE,	ynone,	Pm, 0xae,0xf8 },
1165e887ea33SDavid du Colombier 	{ ASYSRET,	ynone,	Pm, 0x07 },
1166e887ea33SDavid du Colombier 	{ AWBINVD,	ynone,	Pm, 0x09 },
1167e887ea33SDavid du Colombier 	{ AWRMSR,	ynone,	Pm, 0x30 },
1168e887ea33SDavid du Colombier 
1169e887ea33SDavid du Colombier 	{ AXADDB,	yrb_mb,	Pb, 0x0f,0xc0 },
1170e887ea33SDavid du Colombier 	{ AXADDL,	yrl_ml,	Px, 0x0f,0xc1 },
1171e887ea33SDavid du Colombier 	{ AXADDQ,	yrl_ml,	Pw, 0x0f,0xc1 },
1172e887ea33SDavid du Colombier 	{ AXADDW,	yrl_ml,	Pe, 0x0f,0xc1 },
1173e887ea33SDavid du Colombier 
1174e887ea33SDavid du Colombier 	{ AEND },
1175e887ea33SDavid du Colombier 	0
1176e887ea33SDavid du Colombier };
1177e887ea33SDavid du Colombier 
1178e887ea33SDavid du Colombier Optab*	opindex[ALAST+1];
1179e887ea33SDavid du Colombier 
1180e887ea33SDavid du Colombier /*
1181e887ea33SDavid du Colombier AMOVD	0f 6e/r	mmx,reg/mem32[mem64-rex?]
1182e887ea33SDavid du Colombier AMOVD	0f 7e/r	reg/mem32[64],mmx	STORE
1183e887ea33SDavid du Colombier AMOVQ	0f 6f/r	mmx1,mmx2/mem64
1184e887ea33SDavid du Colombier AMOVQ	0f 7f/r	mmx1/mem64,mmx2
1185e887ea33SDavid du Colombier */
1186