]> git.lizzy.rs Git - plan9front.git/blob - sys/src/cmd/8l/optab.c
merge
[plan9front.git] / sys / src / cmd / 8l / optab.c
1 #include        "l.h"
2
3 uchar   ynone[] =
4 {
5         Ynone,  Ynone,  Zlit,   1,
6         0
7 };
8 uchar   ytext[] =
9 {
10         Ymb,    Yi32,   Zpseudo,1,
11         0
12 };
13 uchar   ynop[] =
14 {
15         Ynone,  Ynone,  Zpseudo,1,
16         Ynone,  Yml,    Zpseudo,1,
17         Ynone,  Yrf,    Zpseudo,1,
18         Ynone,  Yxr,    Zpseudo,1,
19         Yml,    Ynone,  Zpseudo,1,
20         Yrf,    Ynone,  Zpseudo,1,
21         Yxr,    Ynone,  Zpseudo,1,
22         0
23 };
24 uchar   yxorb[] =
25 {
26         Yi32,   Yal,    Zib_,   1,
27         Yi32,   Ymb,    Zibo_m, 2,
28         Yrb,    Ymb,    Zr_m,   1,
29         Ymb,    Yrb,    Zm_r,   1,
30         0
31 };
32 uchar   yxorl[] =
33 {
34         Yi8,    Yml,    Zibo_m, 2,
35         Yi32,   Yax,    Zil_,   1,
36         Yi32,   Yml,    Zilo_m, 2,
37         Yrl,    Yml,    Zr_m,   1,
38         Yml,    Yrl,    Zm_r,   1,
39         0
40 };
41 uchar   yaddl[] =
42 {
43         Yi8,    Yml,    Zibo_m, 2,
44         Yi32,   Yax,    Zil_,   1,
45         Yi32,   Yml,    Zilo_m, 2,
46         Yrl,    Yml,    Zr_m,   1,
47         Yml,    Yrl,    Zm_r,   1,
48         0
49 };
50 uchar   yincb[] =
51 {
52         Ynone,  Ymb,    Zo_m,   2,
53         0
54 };
55 uchar   yincl[] =
56 {
57         Ynone,  Yrl,    Z_rp,   1,
58         Ynone,  Yml,    Zo_m,   2,
59         0
60 };
61 uchar   ycmpb[] =
62 {
63         Yal,    Yi32,   Z_ib,   1,
64         Ymb,    Yi32,   Zm_ibo, 2,
65         Ymb,    Yrb,    Zm_r,   1,
66         Yrb,    Ymb,    Zr_m,   1,
67         0
68 };
69 uchar   ycmpl[] =
70 {
71         Yml,    Yi8,    Zm_ibo, 2,
72         Yax,    Yi32,   Z_il,   1,
73         Yml,    Yi32,   Zm_ilo, 2,
74         Yml,    Yrl,    Zm_r,   1,
75         Yrl,    Yml,    Zr_m,   1,
76         0
77 };
78 uchar   yshb[] =
79 {
80         Yi1,    Ymb,    Zo_m,   2,
81         Yi32,   Ymb,    Zibo_m, 2,
82         Ycx,    Ymb,    Zo_m,   2,
83         0
84 };
85 uchar   yshl[] =
86 {
87         Yi1,    Yml,    Zo_m,   2,
88         Yi32,   Yml,    Zibo_m, 2,
89         Ycl,    Yml,    Zo_m,   2,
90         Ycx,    Yml,    Zo_m,   2,
91         0
92 };
93 uchar   ytestb[] =
94 {
95         Yi32,   Yal,    Zib_,   1,
96         Yi32,   Ymb,    Zibo_m, 2,
97         Yrb,    Ymb,    Zr_m,   1,
98         Ymb,    Yrb,    Zm_r,   1,
99         0
100 };
101 uchar   ytestl[] =
102 {
103         Yi32,   Yax,    Zil_,   1,
104         Yi32,   Yml,    Zilo_m, 2,
105         Yrl,    Yml,    Zr_m,   1,
106         Yml,    Yrl,    Zm_r,   1,
107         0
108 };
109 uchar   ymovb[] =
110 {
111         Yrb,    Ymb,    Zr_m,   1,
112         Ymb,    Yrb,    Zm_r,   1,
113         Yi32,   Yrb,    Zib_rp, 1,
114         Yi32,   Ymb,    Zibo_m, 2,
115         0
116 };
117 uchar   ymovl[] =
118 {
119         Yrl,    Yml,    Zr_m,   1,
120         Yml,    Yrl,    Zm_r,   1,
121         Yi0,    Yrl,    Zclr,   1+2,
122 //      Yi0,    Yml,    Zibo_m, 2,      // shorter but slower AND $0,dst
123         Yi32,   Yrl,    Zil_rp, 1,
124         Yi32,   Yml,    Zilo_m, 2,
125         Yml,    Ymr,    Zm_r_xm,        1,      // MMX MOVD
126         Ymr,    Yml,    Zr_m_xm,        1,      // MMX MOVD
127         Yml,    Yxr,    Zm_r_xm,        2,      // XMM MOVD (32 bit)
128         Yxr,    Yml,    Zr_m_xm,        2,      // XMM MOVD (32 bit)
129         Yiauto, Yrl,    Zaut_r, 2,
130         0
131 };
132 uchar   ym_rl[] =
133 {
134         Ym,     Yrl,    Zm_r,   1,
135         0
136 };
137 uchar   yrl_m[] =
138 {
139         Yrl,    Ym,     Zr_m,   1,
140         0
141 };
142 uchar   ymb_rl[] =
143 {
144         Ymb,    Yrl,    Zm_r,   1,
145         0
146 };
147 uchar   yml_rl[] =
148 {
149         Yml,    Yrl,    Zm_r,   1,
150         0
151 };
152 uchar   yrl_ml[] =
153 {
154         Yrl,    Yml,    Zr_m,   1,
155         0
156 };
157 uchar   yml_mb[] =
158 {
159         Yrb,    Ymb,    Zr_m,   1,
160         Ymb,    Yrb,    Zm_r,   1,
161         0
162 };
163 uchar   yml_ml[] =
164 {
165         Yrl,    Yml,    Zr_m,   1,
166         Yml,    Yrl,    Zm_r,   1,
167         0
168 };
169 uchar   ydivl[] =
170 {
171         Yml,    Ynone,  Zm_o,   2,
172         0
173 };
174 uchar   ydivb[] =
175 {
176         Ymb,    Ynone,  Zm_o,   2,
177         0
178 };
179 uchar   yimul[] =
180 {
181         Yml,    Ynone,  Zm_o,   2,
182         Yi8,    Yrl,    Zib_rr, 1,
183         Yi32,   Yrl,    Zil_rr, 1,
184         0
185 };
186 uchar   ybyte[] =
187 {
188         Yi32,   Ynone,  Zbyte,  1,
189         0
190 };
191 uchar   yin[] =
192 {
193         Yi32,   Ynone,  Zib_,   1,
194         Ynone,  Ynone,  Zlit,   1,
195         0
196 };
197 uchar   yint[] =
198 {
199         Yi32,   Ynone,  Zib_,   1,
200         0
201 };
202 uchar   ypushl[] =
203 {
204         Yrl,    Ynone,  Zrp_,   1,
205         Ym,     Ynone,  Zm_o,   2,
206         Yi8,    Ynone,  Zib_,   1,
207         Yi32,   Ynone,  Zil_,   1,
208         0
209 };
210 uchar   ypopl[] =
211 {
212         Ynone,  Yrl,    Z_rp,   1,
213         Ynone,  Ym,     Zo_m,   2,
214         0
215 };
216 uchar   yscond[] =
217 {
218         Ynone,  Ymb,    Zo_m,   2,
219         0
220 };
221 uchar   yjcond[] =
222 {
223         Ynone,  Ybr,    Zbr,    1,
224         0
225 };
226 uchar   yloop[] =
227 {
228         Ynone,  Ybr,    Zloop,  1,
229         0
230 };
231 uchar   ycall[] =
232 {
233         Ynone,  Yml,    Zo_m,   2,
234         Ynone,  Ybr,    Zcall,  1,
235         0
236 };
237 uchar   yjmp[] =
238 {
239         Ynone,  Yml,    Zo_m,   2,
240         Ynone,  Ybr,    Zjmp,   1,
241         0
242 };
243
244 uchar   yfmvd[] =
245 {
246         Ym,     Yf0,    Zm_o,   2,
247         Yf0,    Ym,     Zo_m,   2,
248         Yrf,    Yf0,    Zm_o,   2,
249         Yf0,    Yrf,    Zo_m,   2,
250         0
251 };
252 uchar   yfmvdp[] =
253 {
254         Yf0,    Ym,     Zo_m,   2,
255         Yf0,    Yrf,    Zo_m,   2,
256         0
257 };
258 uchar   yfmvf[] =
259 {
260         Ym,     Yf0,    Zm_o,   2,
261         Yf0,    Ym,     Zo_m,   2,
262         0
263 };
264 uchar   yfmvx[] =
265 {
266         Ym,     Yf0,    Zm_o,   2,
267         0
268 };
269 uchar   yfmvp[] =
270 {
271         Yf0,    Ym,     Zo_m,   2,
272         0
273 };
274 uchar   yfadd[] =
275 {
276         Ym,     Yf0,    Zm_o,   2,
277         Yrf,    Yf0,    Zm_o,   2,
278         Yf0,    Yrf,    Zo_m,   2,
279         0
280 };
281 uchar   yfaddp[] =
282 {
283         Yf0,    Yrf,    Zo_m,   2,
284         0
285 };
286 uchar   yfxch[] =
287 {
288         Yf0,    Yrf,    Zo_m,   2,
289         Yrf,    Yf0,    Zm_o,   2,
290         0
291 };
292 uchar   ycompp[] =
293 {
294         Yf0,    Yrf,    Zo_m,   2,      /* botch is really f0,f1 */
295         0
296 };
297 uchar   ystsw[] =
298 {
299         Ynone,  Ym,     Zo_m,   2,
300         Ynone,  Yax,    Zlit,   1,
301         0
302 };
303 uchar   ystcw[] =
304 {
305         Ynone,  Ym,     Zo_m,   2,
306         Ym,     Ynone,  Zm_o,   2,
307         0
308 };
309 uchar   ysvrs[] =
310 {
311         Ynone,  Ym,     Zo_m,   2,
312         Ym,     Ynone,  Zm_o,   2,
313         0
314 };
315 uchar   ymm[] = 
316 {
317         Ymm,    Ymr,    Zm_r_xm,        1,
318         Yxm,    Yxr,    Zm_r_xm,        2,
319         0
320 };
321 uchar   yxm[] = 
322 {
323         Yxm,    Yxr,    Zm_r_xm,        1,
324         0
325 };
326 uchar   yxcvm1[] = 
327 {
328         Yxm,    Yxr,    Zm_r_xm,        2,
329         0
330 };
331 uchar   yxcvm2[] =
332 {
333         Yxm,    Yxr,    Zm_r_xm,        2,
334         0
335 };
336 uchar   yxmq[] = 
337 {
338         Yxm,    Yxr,    Zm_r_xm,        2,
339         0
340 };
341 uchar   yxr[] = 
342 {
343         Yxr,    Yxr,    Zm_r_xm,        1,
344         0
345 };
346 uchar   yxr_ml[] =
347 {
348         Yxr,    Yml,    Zr_m_xm,        1,
349         0
350 };
351 uchar   ymr[] =
352 {
353         Ymr,    Ymr,    Zm_r,   1,
354         0
355 };
356 uchar   ymr_ml[] =
357 {
358         Ymr,    Yml,    Zr_m_xm,        1,
359         0
360 };
361 uchar   yxcmp[] =
362 {
363         Yxm,    Yxr, Zm_r_xm,   1,
364         0
365 };
366 uchar   yxcmpi[] =
367 {
368         Yxm,    Yxr, Zm_r_i_xm, 2,
369         0
370 };
371 uchar   yxmov[] =
372 {
373         Yxm,    Yxr,    Zm_r_xm,        1,
374         Yxr,    Yxm,    Zr_m_xm,        1,
375         0
376 };
377 uchar   yxcvfl[] = 
378 {
379         Yxm,    Yrl,    Zm_r_xm,        1,
380         0
381 };
382 uchar   yxcvlf[] =
383 {
384         Yml,    Yxr,    Zm_r_xm,        1,
385         0
386 };
387 uchar   yps[] = 
388 {
389         Ymm,    Ymr,    Zm_r_xm,        1,
390         Yi8,    Ymr,    Zibo_m_xm,      2,
391         Yxm,    Yxr,    Zm_r_xm,        2,
392         Yi8,    Yxr,    Zibo_m_xm,      3,
393         0
394 };
395 uchar   yxrrl[] =
396 {
397         Yxr,    Yrl,    Zm_r,   1,
398         0
399 };
400 uchar   ymfp[] =
401 {
402         Ymm,    Ymr,    Zm_r_3d,        1,
403         0,
404 };
405 uchar   ymrxr[] =
406 {
407         Ymr,    Yxr,    Zm_r,   1,
408         Yxm,    Yxr,    Zm_r_xm,        1,
409         0
410 };
411 uchar   ymshuf[] =
412 {
413         Ymm,    Ymr,    Zibm_r, 1,
414         0
415 };
416 uchar   yxshuf[] =
417 {
418         Yxm,    Yxr,    Zibm_r, 1,
419         0
420 };
421 uchar   yextrw[] =
422 {
423         Yxr,    Yrl,    Zibm_r, 1,
424         0
425 };
426 uchar   ypsdq[] =
427 {
428         Yi8,    Yxr,    Zibo_m, 2,
429         0
430 };
431 uchar   ymskb[] =
432 {
433         Yxr,    Yrl,    Zm_r_xm,        2,
434         Ymr,    Yrl,    Zm_r_xm,        1,
435         0
436 };
437
438 Optab optab[] =
439 /*      as, ytab, andproto, opcode */
440 {
441         { AXXX },
442         { AAAA,         ynone,  Px, 0x37 },
443         { AAAD,         ynone,  Px, 0xd5,0x0a },
444         { AAAM,         ynone,  Px, 0xd4,0x0a },
445         { AAAS,         ynone,  Px, 0x3f },
446         { AADCB,        yxorb,  Pb, 0x14,0x80,(02),0x10,0x10 },
447         { AADCL,        yxorl,  Px, 0x83,(02),0x15,0x81,(02),0x11,0x13 },
448         { AADCW,        yxorl,  Pe, 0x83,(02),0x15,0x81,(02),0x11,0x13 },
449         { AADDB,        yxorb,  Px, 0x04,0x80,(00),0x00,0x02 },
450         { AADDL,        yaddl,  Px, 0x83,(00),0x05,0x81,(00),0x01,0x03 },
451         { AADDPD,       yxm,    Pq, 0x58 },
452         { AADDPS,       yxm,    Pm, 0x58 },
453         { AADDSD,       yxm,    Pf2, 0x58 },
454         { AADDSS,       yxm,    Pf3, 0x58 },
455         { AADDW,        yaddl,  Pe, 0x83,(00),0x05,0x81,(00),0x01,0x03 },
456         { AADJSP },
457         { AANDB,        yxorb,  Pb, 0x24,0x80,(04),0x20,0x22 },
458         { AANDL,        yxorl,  Px, 0x83,(04),0x25,0x81,(04),0x21,0x23 },
459         { AANDNPD,      yxm,    Pq, 0x55 },
460         { AANDNPS,      yxm,    Pm, 0x55 },
461         { AANDPD,       yxm,    Pq, 0x54 },
462         { AANDPS,       yxm,    Pq, 0x54 },
463         { AANDW,        yxorl,  Pe, 0x83,(04),0x25,0x81,(04),0x21,0x23 },
464         { AARPL,        yrl_ml, Px, 0x63 },
465         { ABOUNDL,      yrl_m,  Px, 0x62 },
466         { ABOUNDW,      yrl_m,  Pe, 0x62 },
467         { ABSFL,        yml_rl, Pm, 0xbc },
468         { ABSFW,        yml_rl, Pq, 0xbc },
469         { ABSRL,        yml_rl, Pm, 0xbd },
470         { ABSRW,        yml_rl, Pq, 0xbd },
471         { ABTL,         yml_rl, Pm, 0xa3 },
472         { ABTW,         yml_rl, Pq, 0xa3 },
473         { ABTCL,        yml_rl, Pm, 0xbb },
474         { ABTCW,        yml_rl, Pq, 0xbb },
475         { ABTRL,        yml_rl, Pm, 0xb3 },
476         { ABTRW,        yml_rl, Pq, 0xb3 },
477         { ABTSL,        yml_rl, Pm, 0xab },
478         { ABTSW,        yml_rl, Pq, 0xab },
479         { ABYTE,        ybyte,  Px, 1 },
480         { ACALL,        ycall,  Px, 0xff,(02),0xe8 },
481         { ACLC,         ynone,  Px, 0xf8 },
482         { ACLD,         ynone,  Px, 0xfc },
483         { ACLI,         ynone,  Px, 0xfa },
484         { ACLTS,        ynone,  Pm, 0x06 },
485         { ACMC,         ynone,  Px, 0xf5 },
486         { ACMPB,        ycmpb,  Pb, 0x3c,0x80,(07),0x38,0x3a },
487         { ACMPL,        ycmpl,  Px, 0x83,(07),0x3d,0x81,(07),0x39,0x3b },
488         { ACMPPD,       yxcmpi, Px, Pe,0xc2 },
489         { ACMPPS,       yxcmpi, Pm, 0xc2,0 },
490         { ACMPW,        ycmpl,  Pe, 0x83,(07),0x3d,0x81,(07),0x39,0x3b },
491         { ACOMISD,      yxcmp,  Pe, 0x2f },
492         { ACOMISS,      yxcmp,  Pm, 0x2f },
493         { ACPUID,       ynone,  Pm, 0xa2 },
494         { ACVTPL2PD,    yxcvm2, Px, Pf3,0xe6 },
495         { ACVTPL2PS,    yxcvm2, Pm, 0x5b },
496         { ACVTPD2PL,    yxcvm1, Px, Pf2,0xe6 },
497         { ACVTPD2PS,    yxm,    Pe, 0x5a },
498         { ACVTPS2PL,    yxcvm1, Px, Pe,0x5b },
499         { ACVTPS2PD,    yxm,    Pm, 0x5a },
500         { ACVTSD2SL,    yxcvfl, Pf2, 0x2d },
501         { ACVTSD2SS,    yxm,    Pf2, 0x5a },
502         { ACVTSL2SD,    yxcvlf, Pf2, 0x2a },
503         { ACVTSL2SS,    yxcvlf, Pf3, 0x2a },
504         { ACVTSS2SD,    yxm,    Pf3, 0x5a },
505         { ACVTSS2SL,    yxcvfl, Pf3, 0x2d },
506         { ACVTTPD2PL,   yxcvm1, Px, Pe,0xe6 },
507         { ACVTTPS2PL,   yxcvm1, Px, Pf3,0x5b },
508         { ACVTTSD2SL,   yxcvfl, Pf2, 0x2c },
509         { ACVTTSS2SL,   yxcvfl, Pf3, 0x2c },
510         { ACMPSB,       ynone,  Pb, 0xa6 },
511         { ACMPSD,       yxcmpi, Px, Pf2,0xc2 },
512         { ACMPSL,       ynone,  Px, 0xa7 },
513         { ACMPSS,       yxcmpi, Px, Pf3,0xc2 },
514         { ACMPSW,       ynone,  Pe, 0xa7 },
515         { ADAA,         ynone,  Px, 0x27 },
516         { ADAS,         ynone,  Px, 0x2f },
517         { ADATA },
518         { ADECB,        yincb,  Pb, 0xfe,(01) },
519         { ADECL,        yincl,  Px, 0x48,0xff,(01) },
520         { ADECW,        yincl,  Pe, 0x48,0xff,(01) },
521         { ADIVB,        ydivb,  Pb, 0xf6,(06) },
522         { ADIVL,        ydivl,  Px, 0xf7,(06) },
523         { ADIVPD,       yxm,    Pe, 0x5e },
524         { ADIVPS,       yxm,    Pm, 0x5e },
525         { ADIVSD,       yxm,    Pf2, 0x5e },
526         { ADIVSS,       yxm,    Pf3, 0x5e },
527         { ADIVW,        ydivl,  Pe, 0xf7,(06) },
528         { AENTER },                             /* botch */
529         { AFXRSTOR,     ysvrs,  Pm, 0xae,(01),0xae,(01) },
530         { AFXSAVE,      ysvrs,  Pm, 0xae,(00),0xae,(00) },
531         { AGLOBL },
532         { AGOK },
533         { AHISTORY },
534         { AHLT,         ynone,  Px, 0xf4 },
535         { AIDIVB,       ydivb,  Pb, 0xf6,(07) },
536         { AIDIVL,       ydivl,  Px, 0xf7,(07) },
537         { AIDIVW,       ydivl,  Pe, 0xf7,(07) },
538         { AIMULB,       ydivb,  Pb, 0xf6,(05) },
539         { AIMULL,       yimul,  Px, 0xf7,(05),0x6b,0x69 },
540         { AIMULW,       yimul,  Pe, 0xf7,(05),0x6b,0x69 },
541         { AINB,         yin,    Pb, 0xe4,0xec },
542         { AINL,         yin,    Px, 0xe5,0xed },
543         { AINW,         yin,    Pe, 0xe5,0xed },
544         { AINCB,        yincb,  Pb, 0xfe,(00) },
545         { AINCL,        yincl,  Px, 0x40,0xff,(00) },
546         { AINCW,        yincl,  Pe, 0x40,0xff,(00) },
547         { AINSB,        ynone,  Pb, 0x6c },
548         { AINSL,        ynone,  Px, 0x6d },
549         { AINSW,        ynone,  Pe, 0x6d },
550         { AINT,         yint,   Px, 0xcd },
551         { AINTO,        ynone,  Px, 0xce },
552         { AIRETL,       ynone,  Px, 0xcf },
553         { AIRETW,       ynone,  Pe, 0xcf },
554         { AJCC,         yjcond, Px, 0x73,0x83,(00) },
555         { AJCS,         yjcond, Px, 0x72,0x82 },
556         { AJCXZ,        yloop,  Px, 0xe3 },
557         { AJEQ,         yjcond, Px, 0x74,0x84 },
558         { AJGE,         yjcond, Px, 0x7d,0x8d },
559         { AJGT,         yjcond, Px, 0x7f,0x8f },
560         { AJHI,         yjcond, Px, 0x77,0x87 },
561         { AJLE,         yjcond, Px, 0x7e,0x8e },
562         { AJLS,         yjcond, Px, 0x76,0x86 },
563         { AJLT,         yjcond, Px, 0x7c,0x8c },
564         { AJMI,         yjcond, Px, 0x78,0x88 },
565         { AJMP,         yjmp,   Px, 0xff,(04),0xeb,0xe9 },
566         { AJNE,         yjcond, Px, 0x75,0x85 },
567         { AJOC,         yjcond, Px, 0x71,0x81,(00) },
568         { AJOS,         yjcond, Px, 0x70,0x80,(00) },
569         { AJPC,         yjcond, Px, 0x7b,0x8b },
570         { AJPL,         yjcond, Px, 0x79,0x89 },
571         { AJPS,         yjcond, Px, 0x7a,0x8a },
572         { ALAHF,        ynone,  Px, 0x9f },
573         { ALARL,        yml_rl, Pm, 0x02 },
574         { ALARW,        yml_rl, Pq, 0x02 },
575         { ALDMXCSR,     ysvrs,  Pm, 0xae,(02),0xae,(02) },
576         { ALEAL,        ym_rl,  Px, 0x8d },
577         { ALEAW,        ym_rl,  Pe, 0x8d },
578         { ALEAVEL,      ynone,  Px, 0xc9 },
579         { ALEAVEW,      ynone,  Pe, 0xc9 },
580         { ALOCK,        ynone,  Px, 0xf0 },
581         { ALODSB,       ynone,  Pb, 0xac },
582         { ALODSL,       ynone,  Px, 0xad },
583         { ALODSW,       ynone,  Pe, 0xad },
584         { ALONG,        ybyte,  Px, 4 },
585         { ALOOP,        yloop,  Px, 0xe2 },
586         { ALOOPEQ,      yloop,  Px, 0xe1 },
587         { ALOOPNE,      yloop,  Px, 0xe0 },
588         { ALSLL,        yml_rl, Pm, 0x03  },
589         { ALSLW,        yml_rl, Pq, 0x03  },
590         { AMASKMOVOU,   yxr,    Pe, 0xf7 },
591         { AMASKMOVQ,    ymr,    Pm, 0xf7 },
592         { AMAXPD,       yxm,    Pe, 0x5f },
593         { AMAXPS,       yxm,    Pm, 0x5f },
594         { AMAXSD,       yxm,    Pf2, 0x5f },
595         { AMAXSS,       yxm,    Pf3, 0x5f },
596         { AMINPD,       yxm,    Pe, 0x5d },
597         { AMINPS,       yxm,    Pm, 0x5d },
598         { AMINSD,       yxm,    Pf2, 0x5d },
599         { AMINSS,       yxm,    Pf3, 0x5d },
600         { AMOVAPD,      yxmov,  Pe, 0x28,0x29 },
601         { AMOVAPS,      yxmov,  Pm, 0x28,0x29 },
602         { AMOVB,        ymovb,  Pb, 0x88,0x8a,0xb0,0xc6,(00) },
603         { AMOVL,        ymovl,  Px, 0x89,0x8b,0x31,0x83,(04),0xb8,0xc7,(00),0x6e,0x7e,Pe,0x6e,Pe,0x7e },
604         { AMOVW,        ymovl,  Pe, 0x89,0x8b,0x31,0x83,(04),0xb8,0xc7,(00) },
605         { AMOVBLSX,     ymb_rl, Pm, 0xbe },
606         { AMOVBLZX,     ymb_rl, Pm, 0xb6 },
607         { AMOVBWSX,     ymb_rl, Pq, 0xbe },
608         { AMOVBWZX,     ymb_rl, Pq, 0xb6 },
609         { AMOVWLSX,     yml_rl, Pm, 0xbf },
610         { AMOVWLZX,     yml_rl, Pm, 0xb7 },
611         { AMOVO,        yxmov,  Pe, 0x6f,0x7f },
612         { AMOVOU,       yxmov,  Pf3, 0x6f,0x7f },
613         { AMOVHLPS,     yxr,    Pm, 0x12 },
614         { AMOVHPD,      yxmov,  Pe, 0x16,0x17 },
615         { AMOVHPS,      yxmov,  Pm, 0x16,0x17 },
616         { AMOVLHPS,     yxr,    Pm, 0x16 },
617         { AMOVLPD,      yxmov,  Pe, 0x12,0x13 },
618         { AMOVLPS,      yxmov,  Pm, 0x12,0x13 },
619         { AMOVMSKPD,    yxrrl,  Pq, 0x50 },
620         { AMOVMSKPS,    yxrrl,  Pm, 0x50 },
621         { AMOVNTO,      yxr_ml, Pe, 0xe7 },
622         { AMOVNTPD,     yxr_ml, Pe, 0x2b },
623         { AMOVNTPS,     yxr_ml, Pm, 0x2b },
624         { AMOVNTQ,      ymr_ml, Pm, 0xe7 },
625         { AMOVQOZX,     ymrxr,  Pf3, 0xd6,0x7e },
626         { AMOVSB,       ynone,  Pb, 0xa4 },
627         { AMOVSD,       yxmov,  Pf2, 0x10,0x11 },
628         { AMOVSL,       ynone,  Px, 0xa5 },
629         { AMOVSS,       yxmov,  Pf3, 0x10,0x11 },
630         { AMOVSW,       ynone,  Pe, 0xa5 },
631         { AMOVUPD,      yxmov,  Pe, 0x10,0x11 },
632         { AMOVUPS,      yxmov,  Pm, 0x10,0x11 },
633         { AMULB,        ydivb,  Pb, 0xf6,(04) },
634         { AMULL,        ydivl,  Px, 0xf7,(04) },
635         { AMULPD,       yxm,    Pe, 0x59 },
636         { AMULPS,       yxm,    Ym, 0x59 },
637         { AMULSD,       yxm,    Pf2, 0x59 },
638         { AMULSS,       yxm,    Pf3, 0x59 },
639         { AMULW,        ydivl,  Pe, 0xf7,(04) },
640         { ANAME },
641         { ANEGB,        yscond, Px, 0xf6,(03) },
642         { ANEGL,        yscond, Px, 0xf7,(03) },
643         { ANEGW,        yscond, Pe, 0xf7,(03) },
644         { ANOP,         ynop,   Px,0,0 },
645         { ANOTB,        yscond, Px, 0xf6,(02) },
646         { ANOTL,        yscond, Px, 0xf7,(02) },
647         { ANOTW,        yscond, Pe, 0xf7,(02) },
648         { AORB,         yxorb,  Pb, 0x0c,0x80,(01),0x08,0x0a },
649         { AORL,         yxorl,  Px, 0x83,(01),0x0d,0x81,(01),0x09,0x0b },
650         { AORPD,        yxm,    Pq, 0x56 },
651         { AORPS,        yxm,    Pm, 0x56 },
652         { AORW,         yxorl,  Pe, 0x83,(01),0x0d,0x81,(01),0x09,0x0b },
653         { AOUTB,        yin,    Pb, 0xe6,0xee },
654         { AOUTL,        yin,    Px, 0xe7,0xef },
655         { AOUTW,        yin,    Pe, 0xe7,0xef },
656         { AOUTSB,       ynone,  Pb, 0x6e },
657         { AOUTSL,       ynone,  Px, 0x6f },
658         { AOUTSW,       ynone,  Pe, 0x6f },
659         { APACKSSLW,    ymm,    Px, 0x6b,Pe,0x6b },
660         { APACKSSWB,    ymm,    Px, 0x63,Pe,0x63 },
661         { APACKUSWB,    ymm,    Px, 0x67,Pe,0x67 },
662         { APADDB,       ymm,    Px, 0xfc,Pe,0xfc },
663         { APADDL,       ymm,    Px, 0xfe,Pe,0xfe },
664         { APADDQ,       yxm,    Pe, 0xd4 },
665         { APADDSB,      ymm,    Px, 0xec,Pe,0xec },
666         { APADDSW,      ymm,    Px, 0xed,Pe,0xed },
667         { APADDUSB,     ymm,    Px, 0xdc,Pe,0xdc },
668         { APADDUSW,     ymm,    Px, 0xdd,Pe,0xdd },
669         { APADDW,       ymm,    Px, 0xfd,Pe,0xfd },
670         { APAND,        ymm,    Px, 0xdb,Pe,0xdb },
671         { APANDN,       ymm,    Px, 0xdf,Pe,0xdf },
672         { APAVGB,       ymm,    Px, 0xe0,Pe,0xe0 },
673         { APAVGW,       ymm,    Px, 0xe3,Pe,0xe3 },
674         { APCMPEQB,     ymm,    Px, 0x74,Pe,0x74 },
675         { APCMPEQL,     ymm,    Px, 0x76,Pe,0x76 },
676         { APCMPEQW,     ymm,    Px, 0x75,Pe,0x75 },
677         { APCMPGTB,     ymm,    Px, 0x64,Pe,0x64 },
678         { APCMPGTL,     ymm,    Px, 0x66,Pe,0x66 },
679         { APCMPGTW,     ymm,    Px, 0x65,Pe,0x65 },
680         { APEXTRW,      yextrw, Pq, 0xc5 },
681         { APF2IL,       ymfp,   Px, 0x1d },
682         { APF2IW,       ymfp,   Px, 0x1c },
683         { API2FL,       ymfp,   Px, 0x0d },
684         { API2FW,       ymfp,   Px, 0x0c },
685         { APINSRW,      yextrw, Pq, 0xc4 },
686         { APMADDWL,     ymm,    Px, 0xf5,Pe,0xf5 },
687         { APMAXSW,      yxm,    Pe, 0xee },
688         { APMAXUB,      yxm,    Pe, 0xde },
689         { APMINSW,      yxm,    Pe, 0xea },
690         { APMINUB,      yxm,    Pe, 0xda },
691         { APMOVMSKB,    ymskb,  Px, Pe,0xd7,0xd7 },
692         { APMULHRW,     ymfp,   Px, 0xb7 },
693         { APMULHUW,     ymm,    Px, 0xe4,Pe,0xe4 },
694         { APMULHW,      ymm,    Px, 0xe5,Pe,0xe5 },
695         { APMULLW,      ymm,    Px, 0xd5,Pe,0xd5 },
696         { APMULULQ,     ymm,    Px, 0xf4,Pe,0xf4 },
697         { APOPAL,       ynone,  Px, 0x61 },
698         { APOPAW,       ynone,  Pe, 0x61 },
699         { APOPFL,       ynone,  Px, 0x9d },
700         { APOPFW,       ynone,  Pe, 0x9d },
701         { APOPL,        ypopl,  Px, 0x58,0x8f,(00) },
702         { APOPW,        ypopl,  Pe, 0x58,0x8f,(00) },
703         { APOR,         ymm,    Px, 0xeb,Pe,0xeb },
704         { APSADBW,      yxm,    Pq, 0xf6 },
705         { APSHUFHW,     yxshuf, Pf3, 0x70 },
706         { APSHUFL,      yxshuf, Pq, 0x70 },
707         { APSHUFLW,     yxshuf, Pf2, 0x70 },
708         { APSHUFW,      ymshuf, Pm, 0x70 },
709         { APSLLO,       ypsdq,  Pq, 0x73,(07) },
710         { APSLLL,       yps,    Px, 0xf2, 0x72,(06), Pe,0xf2, Pe,0x72,(06) },
711         { APSLLQ,       yps,    Px, 0xf3, 0x73,(06), Pe,0xf3, Pe,0x7e,(06) },
712         { APSLLW,       yps,    Px, 0xf1, 0x71,(06), Pe,0xf1, Pe,0x71,(06) },
713         { APSRAL,       yps,    Px, 0xe2, 0x72,(04), Pe,0xe2, Pe,0x72,(04) },
714         { APSRAW,       yps,    Px, 0xe1, 0x71,(04), Pe,0xe1, Pe,0x71,(04) },
715         { APSRLO,       ypsdq,  Pq, 0x73,(03) },
716         { APSRLL,       yps,    Px, 0xd2, 0x72,(02), Pe,0xd2, Pe,0x72,(02) },
717         { APSRLQ,       yps,    Px, 0xd3, 0x73,(02), Pe,0xd3, Pe,0x73,(02) },
718         { APSRLW,       yps,    Px, 0xd1, 0x71,(02), Pe,0xe1, Pe,0x71,(02) },
719         { APSUBB,       yxm,    Pe, 0xf8 },
720         { APSUBL,       yxm,    Pe, 0xfa },
721         { APSUBQ,       yxm,    Pe, 0xfb },
722         { APSUBSB,      yxm,    Pe, 0xe8 },
723         { APSUBSW,      yxm,    Pe, 0xe9 },
724         { APSUBUSB,     yxm,    Pe, 0xd8 },
725         { APSUBUSW,     yxm,    Pe, 0xd9 },
726         { APSUBW,       yxm,    Pe, 0xf9 },
727         { APUNPCKHBW,   ymm,    Px, 0x68,Pe,0x68 },
728         { APUNPCKHLQ,   ymm,    Px, 0x6a,Pe,0x6a },
729         { APUNPCKHQDQ,  yxm,    Pe, 0x6d },
730         { APUNPCKHWL,   ymm,    Px, 0x69,Pe,0x69 },
731         { APUNPCKLBW,   ymm,    Px, 0x60,Pe,0x60 },
732         { APUNPCKLLQ,   ymm,    Px, 0x62,Pe,0x62 },
733         { APUNPCKLQDQ,  yxm,    Pe, 0x6c },
734         { APUNPCKLWL,   ymm,    Px, 0x61,Pe,0x61 },
735         { APUSHAL,      ynone,  Px, 0x60 },
736         { APUSHAW,      ynone,  Pe, 0x60 },
737         { APUSHFL,      ynone,  Px, 0x9c },
738         { APUSHFW,      ynone,  Pe, 0x9c },
739         { APUSHL,       ypushl, Px, 0x50,0xff,(06),0x6a,0x68 },
740         { APUSHW,       ypushl, Pe, 0x50,0xff,(06),0x6a,0x68 },
741         { APXOR,        ymm,    Px, 0xef,Pe,0xef },
742         { ARCLB,        yshb,   Pb, 0xd0,(02),0xc0,(02),0xd2,(02) },
743         { ARCLL,        yshl,   Px, 0xd1,(02),0xc1,(02),0xd3,(02),0xd3,(02) },
744         { ARCLW,        yshl,   Pe, 0xd1,(02),0xc1,(02),0xd3,(02),0xd3,(02) },
745         { ARCPPS,       yxm,    Pm, 0x53 },
746         { ARCPSS,       yxm,    Pf3, 0x53 },
747         { ARCRB,        yshb,   Pb, 0xd0,(03),0xc0,(03),0xd2,(03) },
748         { ARCRL,        yshl,   Px, 0xd1,(03),0xc1,(03),0xd3,(03),0xd3,(03) },
749         { ARCRW,        yshl,   Pe, 0xd1,(03),0xc1,(03),0xd3,(03),0xd3,(03) },
750         { AREP,         ynone,  Px, 0xf3 },
751         { AREPN,        ynone,  Px, 0xf2 },
752         { ARET,         ynone,  Px, 0xc3 },
753         { AROLB,        yshb,   Pb, 0xd0,(00),0xc0,(00),0xd2,(00) },
754         { AROLL,        yshl,   Px, 0xd1,(00),0xc1,(00),0xd3,(00),0xd3,(00) },
755         { AROLW,        yshl,   Pe, 0xd1,(00),0xc1,(00),0xd3,(00),0xd3,(00) },
756         { ARORB,        yshb,   Pb, 0xd0,(01),0xc0,(01),0xd2,(01) },
757         { ARORL,        yshl,   Px, 0xd1,(01),0xc1,(01),0xd3,(01),0xd3,(01) },
758         { ARORW,        yshl,   Pe, 0xd1,(01),0xc1,(01),0xd3,(01),0xd3,(01) },
759         { ARSQRTPS,     yxm,    Pm, 0x52 },
760         { ARSQRTSS,     yxm,    Pf3, 0x52 },
761         { ASAHF,        ynone,  Px, 0x9e },
762         { ASALB,        yshb,   Pb, 0xd0,(04),0xc0,(04),0xd2,(04) },
763         { ASALL,        yshl,   Px, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) },
764         { ASALW,        yshl,   Pe, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) },
765         { ASARB,        yshb,   Pb, 0xd0,(07),0xc0,(07),0xd2,(07) },
766         { ASARL,        yshl,   Px, 0xd1,(07),0xc1,(07),0xd3,(07),0xd3,(07) },
767         { ASARW,        yshl,   Pe, 0xd1,(07),0xc1,(07),0xd3,(07),0xd3,(07) },
768         { ASBBB,        yxorb,  Pb, 0x1c,0x80,(03),0x18,0x1a },
769         { ASBBL,        yxorl,  Px, 0x83,(03),0x1d,0x81,(03),0x19,0x1b },
770         { ASBBW,        yxorl,  Pe, 0x83,(03),0x1d,0x81,(03),0x19,0x1b },
771         { ASCASB,       ynone,  Pb, 0xae },
772         { ASCASL,       ynone,  Px, 0xaf },
773         { ASCASW,       ynone,  Pe, 0xaf },
774         { ASETCC,       yscond, Pm, 0x93,(00) },
775         { ASETCS,       yscond, Pm, 0x92,(00) },
776         { ASETEQ,       yscond, Pm, 0x94,(00) },
777         { ASETGE,       yscond, Pm, 0x9d,(00) },
778         { ASETGT,       yscond, Pm, 0x9f,(00) },
779         { ASETHI,       yscond, Pm, 0x97,(00) },
780         { ASETLE,       yscond, Pm, 0x9e,(00) },
781         { ASETLS,       yscond, Pm, 0x96,(00) },
782         { ASETLT,       yscond, Pm, 0x9c,(00) },
783         { ASETMI,       yscond, Pm, 0x98,(00) },
784         { ASETNE,       yscond, Pm, 0x95,(00) },
785         { ASETOC,       yscond, Pm, 0x91,(00) },
786         { ASETOS,       yscond, Pm, 0x90,(00) },
787         { ASETPC,       yscond, Pm, 0x96,(00) },
788         { ASETPL,       yscond, Pm, 0x99,(00) },
789         { ASETPS,       yscond, Pm, 0x9a,(00) },
790         { ACDQ,         ynone,  Px, 0x99 },
791         { ACWD,         ynone,  Pe, 0x99 },
792         { ASHLB,        yshb,   Pb, 0xd0,(04),0xc0,(04),0xd2,(04) },
793         { ASHLL,        yshl,   Px, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) },
794         { ASHLW,        yshl,   Pe, 0xd1,(04),0xc1,(04),0xd3,(04),0xd3,(04) },
795         { ASHRB,        yshb,   Pb, 0xd0,(05),0xc0,(05),0xd2,(05) },
796         { ASHRL,        yshl,   Px, 0xd1,(05),0xc1,(05),0xd3,(05),0xd3,(05) },
797         { ASHRW,        yshl,   Pe, 0xd1,(05),0xc1,(05),0xd3,(05),0xd3,(05) },
798         { ASHUFPD,      yxshuf, Pq, 0xc6 },
799         { ASHUFPS,      yxshuf, Pm, 0xc6 },
800         { ASQRTPD,      yxm,    Pe, 0x51 },
801         { ASQRTPS,      yxm,    Pm, 0x51 },
802         { ASQRTSD,      yxm,    Pf2, 0x51 },
803         { ASQRTSS,      yxm,    Pf3, 0x51 },
804         { ASTC,         ynone,  Px, 0xf9 },
805         { ASTD,         ynone,  Px, 0xfd },
806         { ASTI,         ynone,  Px, 0xfb },
807         { ASTMXCSR,     ysvrs,  Pm, 0xae,(03),0xae,(03) },
808         { ASTOSB,       ynone,  Pb, 0xaa },
809         { ASTOSL,       ynone,  Px, 0xab },
810         { ASTOSW,       ynone,  Pe, 0xab },
811         { ASUBB,        yxorb,  Pb, 0x2c,0x80,(05),0x28,0x2a },
812         { ASUBL,        yaddl,  Px, 0x83,(05),0x2d,0x81,(05),0x29,0x2b },
813         { ASUBPD,       yxm,    Pe, 0x5c },
814         { ASUBPS,       yxm,    Pm, 0x5c },
815         { ASUBSD,       yxm,    Pf2, 0x5c },
816         { ASUBSS,       yxm,    Pf3, 0x5c },
817         { ASUBW,        yaddl,  Pe, 0x83,(05),0x2d,0x81,(05),0x29,0x2b },
818         { ASYSCALL,     ynone,  Px, 0xcd,100 },
819         { ATESTB,       ytestb, Pb, 0xa8,0xf6,(00),0x84,0x84 },
820         { ATESTL,       ytestl, Px, 0xa9,0xf7,(00),0x85,0x85 },
821         { ATESTW,       ytestl, Pe, 0xa9,0xf7,(00),0x85,0x85 },
822         { ATEXT,        ytext,  Px },
823         { AUCOMISD,     yxcmp,  Pe, 0x2e },
824         { AUCOMISS,     yxcmp,  Pm, 0x2e },
825         { AUNPCKHPD,    yxm,    Pe, 0x15 },
826         { AUNPCKHPS,    yxm,    Pm, 0x15 },
827         { AUNPCKLPD,    yxm,    Pe, 0x14 },
828         { AUNPCKLPS,    yxm,    Pm, 0x14 },
829         { AVERR,        ydivl,  Pm, 0x00,(04) },
830         { AVERW,        ydivl,  Pm, 0x00,(05) },
831         { AWAIT,        ynone,  Px, 0x9b },
832         { AWORD,        ybyte,  Px, 2 },
833         { AXCHGB,       yml_mb, Pb, 0x86,0x86 },
834         { AXCHGL,       yml_ml, Px, 0x87,0x87 },
835         { AXCHGW,       yml_ml, Pe, 0x87,0x87 },
836         { AXLAT,        ynone,  Px, 0xd7 },
837         { AXORB,        yxorb,  Pb, 0x34,0x80,(06),0x30,0x32 },
838         { AXORL,        yxorl,  Px, 0x83,(06),0x35,0x81,(06),0x31,0x33 },
839         { AXORPD,       yxm,    Pe, 0x57 },
840         { AXORPS,       yxm,    Pm, 0x57 },
841         { AXORW,        yxorl,  Pe, 0x83,(06),0x35,0x81,(06),0x31,0x33 },
842
843         { AFMOVB,       yfmvx,  Px, 0xdf,(04) },
844         { AFMOVBP,      yfmvp,  Px, 0xdf,(06) },
845         { AFMOVD,       yfmvd,  Px, 0xdd,(00),0xdd,(02),0xd9,(00),0xdd,(02) },
846         { AFMOVDP,      yfmvdp, Px, 0xdd,(03),0xdd,(03) },
847         { AFMOVF,       yfmvf,  Px, 0xd9,(00),0xd9,(02) },
848         { AFMOVFP,      yfmvp,  Px, 0xd9,(03) },
849         { AFMOVL,       yfmvf,  Px, 0xdb,(00),0xdb,(02) },
850         { AFMOVLP,      yfmvp,  Px, 0xdb,(03) },
851         { AFMOVV,       yfmvx,  Px, 0xdf,(05) },
852         { AFMOVVP,      yfmvp,  Px, 0xdf,(07) },
853         { AFMOVW,       yfmvf,  Px, 0xdf,(00),0xdf,(02) },
854         { AFMOVWP,      yfmvp,  Px, 0xdf,(03) },
855         { AFMOVX,       yfmvx,  Px, 0xdb,(05) },
856         { AFMOVXP,      yfmvp,  Px, 0xdb,(07) },
857
858         { AFCOMB },
859         { AFCOMBP },
860         { AFCOMD,       yfadd,  Px, 0xdc,(02),0xd8,(02),0xdc,(02) },    /* botch */
861         { AFCOMDP,      yfadd,  Px, 0xdc,(03),0xd8,(03),0xdc,(03) },    /* botch */
862         { AFCOMDPP,     ycompp, Px, 0xde,(03) },
863         { AFCOMF,       yfmvx,  Px, 0xd8,(02) },
864         { AFCOMFP,      yfmvx,  Px, 0xd8,(03) },
865         { AFCOML,       yfmvx,  Px, 0xda,(02) },
866         { AFCOMLP,      yfmvx,  Px, 0xda,(03) },
867         { AFCOMW,       yfmvx,  Px, 0xde,(02) },
868         { AFCOMWP,      yfmvx,  Px, 0xde,(03) },
869
870         { AFUCOM,       ycompp, Px, 0xdd,(04) },
871         { AFUCOMP,      ycompp, Px, 0xdd,(05) },
872         { AFUCOMPP,     ycompp, Px, 0xda,(13) },
873
874         { AFADDDP,      yfaddp, Px, 0xde,(00) },
875         { AFADDW,       yfmvx,  Px, 0xde,(00) },
876         { AFADDL,       yfmvx,  Px, 0xda,(00) },
877         { AFADDF,       yfmvx,  Px, 0xd8,(00) },
878         { AFADDD,       yfadd,  Px, 0xdc,(00),0xd8,(00),0xdc,(00) },
879
880         { AFMULDP,      yfaddp, Px, 0xde,(01) },
881         { AFMULW,       yfmvx,  Px, 0xde,(01) },
882         { AFMULL,       yfmvx,  Px, 0xda,(01) },
883         { AFMULF,       yfmvx,  Px, 0xd8,(01) },
884         { AFMULD,       yfadd,  Px, 0xdc,(01),0xd8,(01),0xdc,(01) },
885
886         { AFSUBDP,      yfaddp, Px, 0xde,(05) },
887         { AFSUBW,       yfmvx,  Px, 0xde,(04) },
888         { AFSUBL,       yfmvx,  Px, 0xda,(04) },
889         { AFSUBF,       yfmvx,  Px, 0xd8,(04) },
890         { AFSUBD,       yfadd,  Px, 0xdc,(04),0xd8,(04),0xdc,(05) },
891
892         { AFSUBRDP,     yfaddp, Px, 0xde,(04) },
893         { AFSUBRW,      yfmvx,  Px, 0xde,(05) },
894         { AFSUBRL,      yfmvx,  Px, 0xda,(05) },
895         { AFSUBRF,      yfmvx,  Px, 0xd8,(05) },
896         { AFSUBRD,      yfadd,  Px, 0xdc,(05),0xd8,(05),0xdc,(04) },
897
898         { AFDIVDP,      yfaddp, Px, 0xde,(07) },
899         { AFDIVW,       yfmvx,  Px, 0xde,(06) },
900         { AFDIVL,       yfmvx,  Px, 0xda,(06) },
901         { AFDIVF,       yfmvx,  Px, 0xd8,(06) },
902         { AFDIVD,       yfadd,  Px, 0xdc,(06),0xd8,(06),0xdc,(07) },
903
904         { AFDIVRDP,     yfaddp, Px, 0xde,(06) },
905         { AFDIVRW,      yfmvx,  Px, 0xde,(07) },
906         { AFDIVRL,      yfmvx,  Px, 0xda,(07) },
907         { AFDIVRF,      yfmvx,  Px, 0xd8,(07) },
908         { AFDIVRD,      yfadd,  Px, 0xdc,(07),0xd8,(07),0xdc,(06) },
909
910         { AFXCHD,       yfxch,  Px, 0xd9,(01),0xd9,(01) },
911         { AFFREE },
912         { AFLDCW,       ystcw,  Px, 0xd9,(05),0xd9,(05) },
913         { AFLDENV,      ystcw,  Px, 0xd9,(04),0xd9,(04) },
914         { AFRSTOR,      ysvrs,  Px, 0xdd,(04),0xdd,(04) },
915         { AFSAVE,       ysvrs,  Px, 0xdd,(06),0xdd,(06) },
916         { AFSTCW,       ystcw,  Px, 0xd9,(07),0xd9,(07) },
917         { AFSTENV,      ystcw,  Px, 0xd9,(06),0xd9,(06) },
918         { AFSTSW,       ystsw,  Px, 0xdd,(07),0xdf,0xe0 },
919         { AF2XM1,       ynone,  Px, 0xd9, 0xf0 },
920         { AFABS,        ynone,  Px, 0xd9, 0xe1 },
921         { AFCHS,        ynone,  Px, 0xd9, 0xe0 },
922         { AFCLEX,       ynone,  Px, 0xdb, 0xe2 },
923         { AFCOS,        ynone,  Px, 0xd9, 0xff },
924         { AFDECSTP,     ynone,  Px, 0xd9, 0xf6 },
925         { AFINCSTP,     ynone,  Px, 0xd9, 0xf7 },
926         { AFINIT,       ynone,  Px, 0xdb, 0xe3 },
927         { AFLD1,        ynone,  Px, 0xd9, 0xe8 },
928         { AFLDL2E,      ynone,  Px, 0xd9, 0xea },
929         { AFLDL2T,      ynone,  Px, 0xd9, 0xe9 },
930         { AFLDLG2,      ynone,  Px, 0xd9, 0xec },
931         { AFLDLN2,      ynone,  Px, 0xd9, 0xed },
932         { AFLDPI,       ynone,  Px, 0xd9, 0xeb },
933         { AFLDZ,        ynone,  Px, 0xd9, 0xee },
934         { AFNOP,        ynone,  Px, 0xd9, 0xd0 },
935         { AFPATAN,      ynone,  Px, 0xd9, 0xf3 },
936         { AFPREM,       ynone,  Px, 0xd9, 0xf8 },
937         { AFPREM1,      ynone,  Px, 0xd9, 0xf5 },
938         { AFPTAN,       ynone,  Px, 0xd9, 0xf2 },
939         { AFRNDINT,     ynone,  Px, 0xd9, 0xfc },
940         { AFSCALE,      ynone,  Px, 0xd9, 0xfd },
941         { AFSIN,        ynone,  Px, 0xd9, 0xfe },
942         { AFSINCOS,     ynone,  Px, 0xd9, 0xfb },
943         { AFSQRT,       ynone,  Px, 0xd9, 0xfa },
944         { AFTST,        ynone,  Px, 0xd9, 0xe4 },
945         { AFXAM,        ynone,  Px, 0xd9, 0xe5 },
946         { AFXTRACT,     ynone,  Px, 0xd9, 0xf4 },
947         { AFYL2X,       ynone,  Px, 0xd9, 0xf1 },
948         { AFYL2XP1,     ynone,  Px, 0xd9, 0xf9 },
949
950         { AEND },
951         0
952 };
953
954 Optab*  opindex[ALAST+1];