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,
104 Yi32, Yml, Zilo_m, 2,
113 Yi32, Yrb, Zib_rp, 1,
114 Yi32, Ymb, Zibo_m, 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,
183 Yi32, Yrl, Zil_rr, 1,
188 Yi32, Ynone, Zbyte, 1,
193 Yi32, Ynone, Zib_, 1,
194 Ynone, Ynone, Zlit, 1,
199 Yi32, Ynone, Zib_, 1,
207 Yi32, Ynone, Zil_, 1,
228 Ynone, Ybr, Zloop, 1,
234 Ynone, Ybr, Zcall, 1,
294 Yf0, Yrf, Zo_m, 2, /* botch is really f0,f1 */
317 Ymm, Ymr, Zm_r_xm, 1,
318 Yxm, Yxr, Zm_r_xm, 2,
323 Yxm, Yxr, Zm_r_xm, 1,
328 Yxm, Yxr, Zm_r_xm, 2,
333 Yxm, Yxr, Zm_r_xm, 2,
338 Yxm, Yxr, Zm_r_xm, 2,
343 Yxr, Yxr, Zm_r_xm, 1,
348 Yxr, Yml, Zr_m_xm, 1,
358 Ymr, Yml, Zr_m_xm, 1,
363 Yxm, Yxr, Zm_r_xm, 1,
368 Yxm, Yxr, Zm_r_i_xm, 2,
373 Yxm, Yxr, Zm_r_xm, 1,
374 Yxr, Yxm, Zr_m_xm, 1,
379 Yxm, Yrl, Zm_r_xm, 1,
384 Yml, Yxr, Zm_r_xm, 1,
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,
402 Ymm, Ymr, Zm_r_3d, 1,
408 Yxm, Yxr, Zm_r_xm, 1,
433 Yxr, Yrl, Zm_r_xm, 2,
434 Ymr, Yrl, Zm_r_xm, 1,
439 /* as, ytab, andproto, opcode */
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 },
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 },
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) },
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) },
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 },
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) },
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) },
870 { AFUCOM, ycompp, Px, 0xdd,(04) },
871 { AFUCOMP, ycompp, Px, 0xdd,(05) },
872 { AFUCOMPP, ycompp, Px, 0xda,(13) },
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) },
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) },
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) },
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) },
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) },
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) },
910 { AFXCHD, yfxch, Px, 0xd9,(01),0xd9,(01) },
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 },
954 Optab* opindex[ALAST+1];