Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. #ifdef NEED_OPCODE_TABLE
  2.  
  3. static const struct dis386 evex_table[][256] = {
  4.   /* EVEX_0F */
  5.   {
  6.     /* 00 */
  7.     { Bad_Opcode },
  8.     { Bad_Opcode },
  9.     { Bad_Opcode },
  10.     { Bad_Opcode },
  11.     { Bad_Opcode },
  12.     { Bad_Opcode },
  13.     { Bad_Opcode },
  14.     { Bad_Opcode },
  15.     /* 08 */
  16.     { Bad_Opcode },
  17.     { Bad_Opcode },
  18.     { Bad_Opcode },
  19.     { Bad_Opcode },
  20.     { Bad_Opcode },
  21.     { Bad_Opcode },
  22.     { Bad_Opcode },
  23.     { Bad_Opcode },
  24.     /* 10 */
  25.     { PREFIX_TABLE (PREFIX_EVEX_0F10) },
  26.     { PREFIX_TABLE (PREFIX_EVEX_0F11) },
  27.     { PREFIX_TABLE (PREFIX_EVEX_0F12) },
  28.     { PREFIX_TABLE (PREFIX_EVEX_0F13) },
  29.     { PREFIX_TABLE (PREFIX_EVEX_0F14) },
  30.     { PREFIX_TABLE (PREFIX_EVEX_0F15) },
  31.     { PREFIX_TABLE (PREFIX_EVEX_0F16) },
  32.     { PREFIX_TABLE (PREFIX_EVEX_0F17) },
  33.     /* 18 */
  34.     { Bad_Opcode },
  35.     { Bad_Opcode },
  36.     { Bad_Opcode },
  37.     { Bad_Opcode },
  38.     { Bad_Opcode },
  39.     { Bad_Opcode },
  40.     { Bad_Opcode },
  41.     { Bad_Opcode },
  42.     /* 20 */
  43.     { Bad_Opcode },
  44.     { Bad_Opcode },
  45.     { Bad_Opcode },
  46.     { Bad_Opcode },
  47.     { Bad_Opcode },
  48.     { Bad_Opcode },
  49.     { Bad_Opcode },
  50.     { Bad_Opcode },
  51.     /* 28 */
  52.     { PREFIX_TABLE (PREFIX_EVEX_0F28) },
  53.     { PREFIX_TABLE (PREFIX_EVEX_0F29) },
  54.     { PREFIX_TABLE (PREFIX_EVEX_0F2A) },
  55.     { PREFIX_TABLE (PREFIX_EVEX_0F2B) },
  56.     { PREFIX_TABLE (PREFIX_EVEX_0F2C) },
  57.     { PREFIX_TABLE (PREFIX_EVEX_0F2D) },
  58.     { PREFIX_TABLE (PREFIX_EVEX_0F2E) },
  59.     { PREFIX_TABLE (PREFIX_EVEX_0F2F) },
  60.     /* 30 */
  61.     { Bad_Opcode },
  62.     { Bad_Opcode },
  63.     { Bad_Opcode },
  64.     { Bad_Opcode },
  65.     { Bad_Opcode },
  66.     { Bad_Opcode },
  67.     { Bad_Opcode },
  68.     { Bad_Opcode },
  69.     /* 38 */
  70.     { Bad_Opcode },
  71.     { Bad_Opcode },
  72.     { Bad_Opcode },
  73.     { Bad_Opcode },
  74.     { Bad_Opcode },
  75.     { Bad_Opcode },
  76.     { Bad_Opcode },
  77.     { Bad_Opcode },
  78.     /* 40 */
  79.     { Bad_Opcode },
  80.     { Bad_Opcode },
  81.     { Bad_Opcode },
  82.     { Bad_Opcode },
  83.     { Bad_Opcode },
  84.     { Bad_Opcode },
  85.     { Bad_Opcode },
  86.     { Bad_Opcode },
  87.     /* 48 */
  88.     { Bad_Opcode },
  89.     { Bad_Opcode },
  90.     { Bad_Opcode },
  91.     { Bad_Opcode },
  92.     { Bad_Opcode },
  93.     { Bad_Opcode },
  94.     { Bad_Opcode },
  95.     { Bad_Opcode },
  96.     /* 50 */
  97.     { Bad_Opcode },
  98.     { PREFIX_TABLE (PREFIX_EVEX_0F51) },
  99.     { Bad_Opcode },
  100.     { Bad_Opcode },
  101.     { Bad_Opcode },
  102.     { Bad_Opcode },
  103.     { Bad_Opcode },
  104.     { Bad_Opcode },
  105.     /* 58 */
  106.     { PREFIX_TABLE (PREFIX_EVEX_0F58) },
  107.     { PREFIX_TABLE (PREFIX_EVEX_0F59) },
  108.     { PREFIX_TABLE (PREFIX_EVEX_0F5A) },
  109.     { PREFIX_TABLE (PREFIX_EVEX_0F5B) },
  110.     { PREFIX_TABLE (PREFIX_EVEX_0F5C) },
  111.     { PREFIX_TABLE (PREFIX_EVEX_0F5D) },
  112.     { PREFIX_TABLE (PREFIX_EVEX_0F5E) },
  113.     { PREFIX_TABLE (PREFIX_EVEX_0F5F) },
  114.     /* 60 */
  115.     { Bad_Opcode },
  116.     { Bad_Opcode },
  117.     { PREFIX_TABLE (PREFIX_EVEX_0F62) },
  118.     { Bad_Opcode },
  119.     { Bad_Opcode },
  120.     { Bad_Opcode },
  121.     { PREFIX_TABLE (PREFIX_EVEX_0F66) },
  122.     { Bad_Opcode },
  123.     /* 68 */
  124.     { Bad_Opcode },
  125.     { Bad_Opcode },
  126.     { PREFIX_TABLE (PREFIX_EVEX_0F6A) },
  127.     { Bad_Opcode },
  128.     { PREFIX_TABLE (PREFIX_EVEX_0F6C) },
  129.     { PREFIX_TABLE (PREFIX_EVEX_0F6D) },
  130.     { PREFIX_TABLE (PREFIX_EVEX_0F6E) },
  131.     { PREFIX_TABLE (PREFIX_EVEX_0F6F) },
  132.     /* 70 */
  133.     { PREFIX_TABLE (PREFIX_EVEX_0F70) },
  134.     { Bad_Opcode },
  135.     { REG_TABLE (REG_EVEX_0F72) },
  136.     { REG_TABLE (REG_EVEX_0F73) },
  137.     { Bad_Opcode },
  138.     { Bad_Opcode },
  139.     { PREFIX_TABLE (PREFIX_EVEX_0F76) },
  140.     { Bad_Opcode },
  141.     /* 78 */
  142.     { PREFIX_TABLE (PREFIX_EVEX_0F78) },
  143.     { PREFIX_TABLE (PREFIX_EVEX_0F79) },
  144.     { PREFIX_TABLE (PREFIX_EVEX_0F7A) },
  145.     { PREFIX_TABLE (PREFIX_EVEX_0F7B) },
  146.     { Bad_Opcode },
  147.     { Bad_Opcode },
  148.     { PREFIX_TABLE (PREFIX_EVEX_0F7E) },
  149.     { PREFIX_TABLE (PREFIX_EVEX_0F7F) },
  150.     /* 80 */
  151.     { Bad_Opcode },
  152.     { Bad_Opcode },
  153.     { Bad_Opcode },
  154.     { Bad_Opcode },
  155.     { Bad_Opcode },
  156.     { Bad_Opcode },
  157.     { Bad_Opcode },
  158.     { Bad_Opcode },
  159.     /* 88 */
  160.     { Bad_Opcode },
  161.     { Bad_Opcode },
  162.     { Bad_Opcode },
  163.     { Bad_Opcode },
  164.     { Bad_Opcode },
  165.     { Bad_Opcode },
  166.     { Bad_Opcode },
  167.     { Bad_Opcode },
  168.     /* 90 */
  169.     { Bad_Opcode },
  170.     { Bad_Opcode },
  171.     { Bad_Opcode },
  172.     { Bad_Opcode },
  173.     { Bad_Opcode },
  174.     { Bad_Opcode },
  175.     { Bad_Opcode },
  176.     { Bad_Opcode },
  177.     /* 98 */
  178.     { Bad_Opcode },
  179.     { Bad_Opcode },
  180.     { Bad_Opcode },
  181.     { Bad_Opcode },
  182.     { Bad_Opcode },
  183.     { Bad_Opcode },
  184.     { Bad_Opcode },
  185.     { Bad_Opcode },
  186.     /* A0 */
  187.     { Bad_Opcode },
  188.     { Bad_Opcode },
  189.     { Bad_Opcode },
  190.     { Bad_Opcode },
  191.     { Bad_Opcode },
  192.     { Bad_Opcode },
  193.     { Bad_Opcode },
  194.     { Bad_Opcode },
  195.     /* A8 */
  196.     { Bad_Opcode },
  197.     { Bad_Opcode },
  198.     { Bad_Opcode },
  199.     { Bad_Opcode },
  200.     { Bad_Opcode },
  201.     { Bad_Opcode },
  202.     { Bad_Opcode },
  203.     { Bad_Opcode },
  204.     /* B0 */
  205.     { Bad_Opcode },
  206.     { Bad_Opcode },
  207.     { Bad_Opcode },
  208.     { Bad_Opcode },
  209.     { Bad_Opcode },
  210.     { Bad_Opcode },
  211.     { Bad_Opcode },
  212.     { Bad_Opcode },
  213.     /* B8 */
  214.     { Bad_Opcode },
  215.     { Bad_Opcode },
  216.     { Bad_Opcode },
  217.     { Bad_Opcode },
  218.     { Bad_Opcode },
  219.     { Bad_Opcode },
  220.     { Bad_Opcode },
  221.     { Bad_Opcode },
  222.     /* C0 */
  223.     { Bad_Opcode },
  224.     { Bad_Opcode },
  225.     { PREFIX_TABLE (PREFIX_EVEX_0FC2) },
  226.     { Bad_Opcode },
  227.     { Bad_Opcode },
  228.     { Bad_Opcode },
  229.     { PREFIX_TABLE (PREFIX_EVEX_0FC6) },
  230.     { Bad_Opcode },
  231.     /* C8 */
  232.     { Bad_Opcode },
  233.     { Bad_Opcode },
  234.     { Bad_Opcode },
  235.     { Bad_Opcode },
  236.     { Bad_Opcode },
  237.     { Bad_Opcode },
  238.     { Bad_Opcode },
  239.     { Bad_Opcode },
  240.     /* D0 */
  241.     { Bad_Opcode },
  242.     { Bad_Opcode },
  243.     { PREFIX_TABLE (PREFIX_EVEX_0FD2) },
  244.     { PREFIX_TABLE (PREFIX_EVEX_0FD3) },
  245.     { PREFIX_TABLE (PREFIX_EVEX_0FD4) },
  246.     { Bad_Opcode },
  247.     { PREFIX_TABLE (PREFIX_EVEX_0FD6) },
  248.     { Bad_Opcode },
  249.     /* D8 */
  250.     { Bad_Opcode },
  251.     { Bad_Opcode },
  252.     { Bad_Opcode },
  253.     { PREFIX_TABLE (PREFIX_EVEX_0FDB) },
  254.     { Bad_Opcode },
  255.     { Bad_Opcode },
  256.     { Bad_Opcode },
  257.     { PREFIX_TABLE (PREFIX_EVEX_0FDF) },
  258.     /* E0 */
  259.     { Bad_Opcode },
  260.     { Bad_Opcode },
  261.     { PREFIX_TABLE (PREFIX_EVEX_0FE2) },
  262.     { Bad_Opcode },
  263.     { Bad_Opcode },
  264.     { Bad_Opcode },
  265.     { PREFIX_TABLE (PREFIX_EVEX_0FE6) },
  266.     { PREFIX_TABLE (PREFIX_EVEX_0FE7) },
  267.     /* E8 */
  268.     { Bad_Opcode },
  269.     { Bad_Opcode },
  270.     { Bad_Opcode },
  271.     { PREFIX_TABLE (PREFIX_EVEX_0FEB) },
  272.     { Bad_Opcode },
  273.     { Bad_Opcode },
  274.     { Bad_Opcode },
  275.     { PREFIX_TABLE (PREFIX_EVEX_0FEF) },
  276.     /* F0 */
  277.     { Bad_Opcode },
  278.     { Bad_Opcode },
  279.     { PREFIX_TABLE (PREFIX_EVEX_0FF2) },
  280.     { PREFIX_TABLE (PREFIX_EVEX_0FF3) },
  281.     { PREFIX_TABLE (PREFIX_EVEX_0FF4) },
  282.     { Bad_Opcode },
  283.     { Bad_Opcode },
  284.     { Bad_Opcode },
  285.     /* F8 */
  286.     { Bad_Opcode },
  287.     { Bad_Opcode },
  288.     { PREFIX_TABLE (PREFIX_EVEX_0FFA) },
  289.     { PREFIX_TABLE (PREFIX_EVEX_0FFB) },
  290.     { Bad_Opcode },
  291.     { Bad_Opcode },
  292.     { PREFIX_TABLE (PREFIX_EVEX_0FFE) },
  293.     { Bad_Opcode },
  294.   },
  295.   /* EVEX_0F38 */
  296.   {
  297.     /* 00 */
  298.     { Bad_Opcode },
  299.     { Bad_Opcode },
  300.     { Bad_Opcode },
  301.     { Bad_Opcode },
  302.     { Bad_Opcode },
  303.     { Bad_Opcode },
  304.     { Bad_Opcode },
  305.     { Bad_Opcode },
  306.     /* 08 */
  307.     { Bad_Opcode },
  308.     { Bad_Opcode },
  309.     { Bad_Opcode },
  310.     { Bad_Opcode },
  311.     { PREFIX_TABLE (PREFIX_EVEX_0F380C) },
  312.     { PREFIX_TABLE (PREFIX_EVEX_0F380D) },
  313.     { Bad_Opcode },
  314.     { Bad_Opcode },
  315.     /* 10 */
  316.     { Bad_Opcode },
  317.     { PREFIX_TABLE (PREFIX_EVEX_0F3811) },
  318.     { PREFIX_TABLE (PREFIX_EVEX_0F3812) },
  319.     { PREFIX_TABLE (PREFIX_EVEX_0F3813) },
  320.     { PREFIX_TABLE (PREFIX_EVEX_0F3814) },
  321.     { PREFIX_TABLE (PREFIX_EVEX_0F3815) },
  322.     { PREFIX_TABLE (PREFIX_EVEX_0F3816) },
  323.     { Bad_Opcode },
  324.     /* 18 */
  325.     { PREFIX_TABLE (PREFIX_EVEX_0F3818) },
  326.     { PREFIX_TABLE (PREFIX_EVEX_0F3819) },
  327.     { PREFIX_TABLE (PREFIX_EVEX_0F381A) },
  328.     { PREFIX_TABLE (PREFIX_EVEX_0F381B) },
  329.     { Bad_Opcode },
  330.     { Bad_Opcode },
  331.     { PREFIX_TABLE (PREFIX_EVEX_0F381E) },
  332.     { PREFIX_TABLE (PREFIX_EVEX_0F381F) },
  333.     /* 20 */
  334.     { Bad_Opcode },
  335.     { PREFIX_TABLE (PREFIX_EVEX_0F3821) },
  336.     { PREFIX_TABLE (PREFIX_EVEX_0F3822) },
  337.     { PREFIX_TABLE (PREFIX_EVEX_0F3823) },
  338.     { PREFIX_TABLE (PREFIX_EVEX_0F3824) },
  339.     { PREFIX_TABLE (PREFIX_EVEX_0F3825) },
  340.     { Bad_Opcode },
  341.     { PREFIX_TABLE (PREFIX_EVEX_0F3827) },
  342.     /* 28 */
  343.     { PREFIX_TABLE (PREFIX_EVEX_0F3828) },
  344.     { PREFIX_TABLE (PREFIX_EVEX_0F3829) },
  345.     { PREFIX_TABLE (PREFIX_EVEX_0F382A) },
  346.     { Bad_Opcode },
  347.     { PREFIX_TABLE (PREFIX_EVEX_0F382C) },
  348.     { PREFIX_TABLE (PREFIX_EVEX_0F382D) },
  349.     { Bad_Opcode },
  350.     { Bad_Opcode },
  351.     /* 30 */
  352.     { Bad_Opcode },
  353.     { PREFIX_TABLE (PREFIX_EVEX_0F3831) },
  354.     { PREFIX_TABLE (PREFIX_EVEX_0F3832) },
  355.     { PREFIX_TABLE (PREFIX_EVEX_0F3833) },
  356.     { PREFIX_TABLE (PREFIX_EVEX_0F3834) },
  357.     { PREFIX_TABLE (PREFIX_EVEX_0F3835) },
  358.     { PREFIX_TABLE (PREFIX_EVEX_0F3836) },
  359.     { PREFIX_TABLE (PREFIX_EVEX_0F3837) },
  360.     /* 38 */
  361.     { Bad_Opcode },
  362.     { PREFIX_TABLE (PREFIX_EVEX_0F3839) },
  363.     { PREFIX_TABLE (PREFIX_EVEX_0F383A) },
  364.     { PREFIX_TABLE (PREFIX_EVEX_0F383B) },
  365.     { Bad_Opcode },
  366.     { PREFIX_TABLE (PREFIX_EVEX_0F383D) },
  367.     { Bad_Opcode },
  368.     { PREFIX_TABLE (PREFIX_EVEX_0F383F) },
  369.     /* 40 */
  370.     { PREFIX_TABLE (PREFIX_EVEX_0F3840) },
  371.     { Bad_Opcode },
  372.     { PREFIX_TABLE (PREFIX_EVEX_0F3842) },
  373.     { PREFIX_TABLE (PREFIX_EVEX_0F3843) },
  374.     { PREFIX_TABLE (PREFIX_EVEX_0F3844) },
  375.     { PREFIX_TABLE (PREFIX_EVEX_0F3845) },
  376.     { PREFIX_TABLE (PREFIX_EVEX_0F3846) },
  377.     { PREFIX_TABLE (PREFIX_EVEX_0F3847) },
  378.     /* 48 */
  379.     { Bad_Opcode },
  380.     { Bad_Opcode },
  381.     { Bad_Opcode },
  382.     { Bad_Opcode },
  383.     { PREFIX_TABLE (PREFIX_EVEX_0F384C) },
  384.     { PREFIX_TABLE (PREFIX_EVEX_0F384D) },
  385.     { PREFIX_TABLE (PREFIX_EVEX_0F384E) },
  386.     { PREFIX_TABLE (PREFIX_EVEX_0F384F) },
  387.     /* 50 */
  388.     { Bad_Opcode },
  389.     { Bad_Opcode },
  390.     { Bad_Opcode },
  391.     { Bad_Opcode },
  392.     { Bad_Opcode },
  393.     { Bad_Opcode },
  394.     { Bad_Opcode },
  395.     { Bad_Opcode },
  396.     /* 58 */
  397.     { PREFIX_TABLE (PREFIX_EVEX_0F3858) },
  398.     { PREFIX_TABLE (PREFIX_EVEX_0F3859) },
  399.     { PREFIX_TABLE (PREFIX_EVEX_0F385A) },
  400.     { PREFIX_TABLE (PREFIX_EVEX_0F385B) },
  401.     { Bad_Opcode },
  402.     { Bad_Opcode },
  403.     { Bad_Opcode },
  404.     { Bad_Opcode },
  405.     /* 60 */
  406.     { Bad_Opcode },
  407.     { Bad_Opcode },
  408.     { Bad_Opcode },
  409.     { Bad_Opcode },
  410.     { PREFIX_TABLE (PREFIX_EVEX_0F3864) },
  411.     { PREFIX_TABLE (PREFIX_EVEX_0F3865) },
  412.     { Bad_Opcode },
  413.     { Bad_Opcode },
  414.     /* 68 */
  415.     { Bad_Opcode },
  416.     { Bad_Opcode },
  417.     { Bad_Opcode },
  418.     { Bad_Opcode },
  419.     { Bad_Opcode },
  420.     { Bad_Opcode },
  421.     { Bad_Opcode },
  422.     { Bad_Opcode },
  423.     /* 70 */
  424.     { Bad_Opcode },
  425.     { Bad_Opcode },
  426.     { Bad_Opcode },
  427.     { Bad_Opcode },
  428.     { Bad_Opcode },
  429.     { Bad_Opcode },
  430.     { PREFIX_TABLE (PREFIX_EVEX_0F3876) },
  431.     { PREFIX_TABLE (PREFIX_EVEX_0F3877) },
  432.     /* 78 */
  433.     { Bad_Opcode },
  434.     { Bad_Opcode },
  435.     { Bad_Opcode },
  436.     { Bad_Opcode },
  437.     { PREFIX_TABLE (PREFIX_EVEX_0F387C) },
  438.     { Bad_Opcode },
  439.     { PREFIX_TABLE (PREFIX_EVEX_0F387E) },
  440.     { PREFIX_TABLE (PREFIX_EVEX_0F387F) },
  441.     /* 80 */
  442.     { Bad_Opcode },
  443.     { Bad_Opcode },
  444.     { Bad_Opcode },
  445.     { Bad_Opcode },
  446.     { Bad_Opcode },
  447.     { Bad_Opcode },
  448.     { Bad_Opcode },
  449.     { Bad_Opcode },
  450.     /* 88 */
  451.     { PREFIX_TABLE (PREFIX_EVEX_0F3888) },
  452.     { PREFIX_TABLE (PREFIX_EVEX_0F3889) },
  453.     { PREFIX_TABLE (PREFIX_EVEX_0F388A) },
  454.     { PREFIX_TABLE (PREFIX_EVEX_0F388B) },
  455.     { Bad_Opcode },
  456.     { Bad_Opcode },
  457.     { Bad_Opcode },
  458.     { Bad_Opcode },
  459.     /* 90 */
  460.     { PREFIX_TABLE (PREFIX_EVEX_0F3890) },
  461.     { PREFIX_TABLE (PREFIX_EVEX_0F3891) },
  462.     { PREFIX_TABLE (PREFIX_EVEX_0F3892) },
  463.     { PREFIX_TABLE (PREFIX_EVEX_0F3893) },
  464.     { Bad_Opcode },
  465.     { Bad_Opcode },
  466.     { PREFIX_TABLE (PREFIX_EVEX_0F3896) },
  467.     { PREFIX_TABLE (PREFIX_EVEX_0F3897) },
  468.     /* 98 */
  469.     { PREFIX_TABLE (PREFIX_EVEX_0F3898) },
  470.     { PREFIX_TABLE (PREFIX_EVEX_0F3899) },
  471.     { PREFIX_TABLE (PREFIX_EVEX_0F389A) },
  472.     { PREFIX_TABLE (PREFIX_EVEX_0F389B) },
  473.     { PREFIX_TABLE (PREFIX_EVEX_0F389C) },
  474.     { PREFIX_TABLE (PREFIX_EVEX_0F389D) },
  475.     { PREFIX_TABLE (PREFIX_EVEX_0F389E) },
  476.     { PREFIX_TABLE (PREFIX_EVEX_0F389F) },
  477.     /* A0 */
  478.     { PREFIX_TABLE (PREFIX_EVEX_0F38A0) },
  479.     { PREFIX_TABLE (PREFIX_EVEX_0F38A1) },
  480.     { PREFIX_TABLE (PREFIX_EVEX_0F38A2) },
  481.     { PREFIX_TABLE (PREFIX_EVEX_0F38A3) },
  482.     { Bad_Opcode },
  483.     { Bad_Opcode },
  484.     { PREFIX_TABLE (PREFIX_EVEX_0F38A6) },
  485.     { PREFIX_TABLE (PREFIX_EVEX_0F38A7) },
  486.     /* A8 */
  487.     { PREFIX_TABLE (PREFIX_EVEX_0F38A8) },
  488.     { PREFIX_TABLE (PREFIX_EVEX_0F38A9) },
  489.     { PREFIX_TABLE (PREFIX_EVEX_0F38AA) },
  490.     { PREFIX_TABLE (PREFIX_EVEX_0F38AB) },
  491.     { PREFIX_TABLE (PREFIX_EVEX_0F38AC) },
  492.     { PREFIX_TABLE (PREFIX_EVEX_0F38AD) },
  493.     { PREFIX_TABLE (PREFIX_EVEX_0F38AE) },
  494.     { PREFIX_TABLE (PREFIX_EVEX_0F38AF) },
  495.     /* B0 */
  496.     { Bad_Opcode },
  497.     { Bad_Opcode },
  498.     { Bad_Opcode },
  499.     { Bad_Opcode },
  500.     { Bad_Opcode },
  501.     { Bad_Opcode },
  502.     { PREFIX_TABLE (PREFIX_EVEX_0F38B6) },
  503.     { PREFIX_TABLE (PREFIX_EVEX_0F38B7) },
  504.     /* B8 */
  505.     { PREFIX_TABLE (PREFIX_EVEX_0F38B8) },
  506.     { PREFIX_TABLE (PREFIX_EVEX_0F38B9) },
  507.     { PREFIX_TABLE (PREFIX_EVEX_0F38BA) },
  508.     { PREFIX_TABLE (PREFIX_EVEX_0F38BB) },
  509.     { PREFIX_TABLE (PREFIX_EVEX_0F38BC) },
  510.     { PREFIX_TABLE (PREFIX_EVEX_0F38BD) },
  511.     { PREFIX_TABLE (PREFIX_EVEX_0F38BE) },
  512.     { PREFIX_TABLE (PREFIX_EVEX_0F38BF) },
  513.     /* C0 */
  514.     { Bad_Opcode },
  515.     { Bad_Opcode },
  516.     { Bad_Opcode },
  517.     { Bad_Opcode },
  518.     { PREFIX_TABLE (PREFIX_EVEX_0F38C4) },
  519.     { Bad_Opcode },
  520.     { REG_TABLE (REG_EVEX_0F38C6) },
  521.     { REG_TABLE (REG_EVEX_0F38C7) },
  522.     /* C8 */
  523.     { PREFIX_TABLE (PREFIX_EVEX_0F38C8) },
  524.     { Bad_Opcode },
  525.     { PREFIX_TABLE (PREFIX_EVEX_0F38CA) },
  526.     { PREFIX_TABLE (PREFIX_EVEX_0F38CB) },
  527.     { PREFIX_TABLE (PREFIX_EVEX_0F38CC) },
  528.     { PREFIX_TABLE (PREFIX_EVEX_0F38CD) },
  529.     { Bad_Opcode },
  530.     { Bad_Opcode },
  531.     /* D0 */
  532.     { Bad_Opcode },
  533.     { Bad_Opcode },
  534.     { Bad_Opcode },
  535.     { Bad_Opcode },
  536.     { Bad_Opcode },
  537.     { Bad_Opcode },
  538.     { Bad_Opcode },
  539.     { Bad_Opcode },
  540.     /* D8 */
  541.     { Bad_Opcode },
  542.     { Bad_Opcode },
  543.     { Bad_Opcode },
  544.     { Bad_Opcode },
  545.     { Bad_Opcode },
  546.     { Bad_Opcode },
  547.     { Bad_Opcode },
  548.     { Bad_Opcode },
  549.     /* E0 */
  550.     { Bad_Opcode },
  551.     { Bad_Opcode },
  552.     { Bad_Opcode },
  553.     { Bad_Opcode },
  554.     { Bad_Opcode },
  555.     { Bad_Opcode },
  556.     { Bad_Opcode },
  557.     { Bad_Opcode },
  558.     /* E8 */
  559.     { Bad_Opcode },
  560.     { Bad_Opcode },
  561.     { Bad_Opcode },
  562.     { Bad_Opcode },
  563.     { Bad_Opcode },
  564.     { Bad_Opcode },
  565.     { Bad_Opcode },
  566.     { Bad_Opcode },
  567.     /* F0 */
  568.     { Bad_Opcode },
  569.     { Bad_Opcode },
  570.     { Bad_Opcode },
  571.     { Bad_Opcode },
  572.     { Bad_Opcode },
  573.     { Bad_Opcode },
  574.     { Bad_Opcode },
  575.     { Bad_Opcode },
  576.     /* F8 */
  577.     { Bad_Opcode },
  578.     { Bad_Opcode },
  579.     { Bad_Opcode },
  580.     { Bad_Opcode },
  581.     { Bad_Opcode },
  582.     { Bad_Opcode },
  583.     { Bad_Opcode },
  584.     { Bad_Opcode },
  585.   },
  586.   /* EVEX_0F3A */
  587.   {
  588.     /* 00 */
  589.     { PREFIX_TABLE (PREFIX_EVEX_0F3A00) },
  590.     { PREFIX_TABLE (PREFIX_EVEX_0F3A01) },
  591.     { Bad_Opcode },
  592.     { PREFIX_TABLE (PREFIX_EVEX_0F3A03) },
  593.     { PREFIX_TABLE (PREFIX_EVEX_0F3A04) },
  594.     { PREFIX_TABLE (PREFIX_EVEX_0F3A05) },
  595.     { Bad_Opcode },
  596.     { Bad_Opcode },
  597.     /* 08 */
  598.     { PREFIX_TABLE (PREFIX_EVEX_0F3A08) },
  599.     { PREFIX_TABLE (PREFIX_EVEX_0F3A09) },
  600.     { PREFIX_TABLE (PREFIX_EVEX_0F3A0A) },
  601.     { PREFIX_TABLE (PREFIX_EVEX_0F3A0B) },
  602.     { Bad_Opcode },
  603.     { Bad_Opcode },
  604.     { Bad_Opcode },
  605.     { Bad_Opcode },
  606.     /* 10 */
  607.     { Bad_Opcode },
  608.     { Bad_Opcode },
  609.     { Bad_Opcode },
  610.     { Bad_Opcode },
  611.     { Bad_Opcode },
  612.     { Bad_Opcode },
  613.     { Bad_Opcode },
  614.     { PREFIX_TABLE (PREFIX_EVEX_0F3A17) },
  615.     /* 18 */
  616.     { PREFIX_TABLE (PREFIX_EVEX_0F3A18) },
  617.     { PREFIX_TABLE (PREFIX_EVEX_0F3A19) },
  618.     { PREFIX_TABLE (PREFIX_EVEX_0F3A1A) },
  619.     { PREFIX_TABLE (PREFIX_EVEX_0F3A1B) },
  620.     { Bad_Opcode },
  621.     { PREFIX_TABLE (PREFIX_EVEX_0F3A1D) },
  622.     { PREFIX_TABLE (PREFIX_EVEX_0F3A1E) },
  623.     { PREFIX_TABLE (PREFIX_EVEX_0F3A1F) },
  624.     /* 20 */
  625.     { Bad_Opcode },
  626.     { PREFIX_TABLE (PREFIX_EVEX_0F3A21) },
  627.     { Bad_Opcode },
  628.     { PREFIX_TABLE (PREFIX_EVEX_0F3A23) },
  629.     { Bad_Opcode },
  630.     { PREFIX_TABLE (PREFIX_EVEX_0F3A25) },
  631.     { PREFIX_TABLE (PREFIX_EVEX_0F3A26) },
  632.     { PREFIX_TABLE (PREFIX_EVEX_0F3A27) },
  633.     /* 28 */
  634.     { Bad_Opcode },
  635.     { Bad_Opcode },
  636.     { Bad_Opcode },
  637.     { Bad_Opcode },
  638.     { Bad_Opcode },
  639.     { Bad_Opcode },
  640.     { Bad_Opcode },
  641.     { Bad_Opcode },
  642.     /* 30 */
  643.     { Bad_Opcode },
  644.     { Bad_Opcode },
  645.     { Bad_Opcode },
  646.     { Bad_Opcode },
  647.     { Bad_Opcode },
  648.     { Bad_Opcode },
  649.     { Bad_Opcode },
  650.     { Bad_Opcode },
  651.     /* 38 */
  652.     { PREFIX_TABLE (PREFIX_EVEX_0F3A38) },
  653.     { PREFIX_TABLE (PREFIX_EVEX_0F3A39) },
  654.     { PREFIX_TABLE (PREFIX_EVEX_0F3A3A) },
  655.     { PREFIX_TABLE (PREFIX_EVEX_0F3A3B) },
  656.     { Bad_Opcode },
  657.     { Bad_Opcode },
  658.     { Bad_Opcode },
  659.     { Bad_Opcode },
  660.     /* 40 */
  661.     { Bad_Opcode },
  662.     { Bad_Opcode },
  663.     { Bad_Opcode },
  664.     { PREFIX_TABLE (PREFIX_EVEX_0F3A43) },
  665.     { Bad_Opcode },
  666.     { Bad_Opcode },
  667.     { Bad_Opcode },
  668.     { Bad_Opcode },
  669.     /* 48 */
  670.     { Bad_Opcode },
  671.     { Bad_Opcode },
  672.     { Bad_Opcode },
  673.     { Bad_Opcode },
  674.     { Bad_Opcode },
  675.     { Bad_Opcode },
  676.     { Bad_Opcode },
  677.     { Bad_Opcode },
  678.     /* 50 */
  679.     { Bad_Opcode },
  680.     { Bad_Opcode },
  681.     { Bad_Opcode },
  682.     { Bad_Opcode },
  683.     { PREFIX_TABLE (PREFIX_EVEX_0F3A54) },
  684.     { PREFIX_TABLE (PREFIX_EVEX_0F3A55) },
  685.     { Bad_Opcode },
  686.     { Bad_Opcode },
  687.     /* 58 */
  688.     { Bad_Opcode },
  689.     { Bad_Opcode },
  690.     { Bad_Opcode },
  691.     { Bad_Opcode },
  692.     { Bad_Opcode },
  693.     { Bad_Opcode },
  694.     { Bad_Opcode },
  695.     { Bad_Opcode },
  696.     /* 60 */
  697.     { Bad_Opcode },
  698.     { Bad_Opcode },
  699.     { Bad_Opcode },
  700.     { Bad_Opcode },
  701.     { Bad_Opcode },
  702.     { Bad_Opcode },
  703.     { Bad_Opcode },
  704.     { Bad_Opcode },
  705.     /* 68 */
  706.     { Bad_Opcode },
  707.     { Bad_Opcode },
  708.     { Bad_Opcode },
  709.     { Bad_Opcode },
  710.     { Bad_Opcode },
  711.     { Bad_Opcode },
  712.     { Bad_Opcode },
  713.     { Bad_Opcode },
  714.     /* 70 */
  715.     { Bad_Opcode },
  716.     { Bad_Opcode },
  717.     { Bad_Opcode },
  718.     { Bad_Opcode },
  719.     { Bad_Opcode },
  720.     { Bad_Opcode },
  721.     { Bad_Opcode },
  722.     { Bad_Opcode },
  723.     /* 78 */
  724.     { Bad_Opcode },
  725.     { Bad_Opcode },
  726.     { Bad_Opcode },
  727.     { Bad_Opcode },
  728.     { Bad_Opcode },
  729.     { Bad_Opcode },
  730.     { Bad_Opcode },
  731.     { Bad_Opcode },
  732.     /* 80 */
  733.     { Bad_Opcode },
  734.     { Bad_Opcode },
  735.     { Bad_Opcode },
  736.     { Bad_Opcode },
  737.     { Bad_Opcode },
  738.     { Bad_Opcode },
  739.     { Bad_Opcode },
  740.     { Bad_Opcode },
  741.     /* 88 */
  742.     { Bad_Opcode },
  743.     { Bad_Opcode },
  744.     { Bad_Opcode },
  745.     { Bad_Opcode },
  746.     { Bad_Opcode },
  747.     { Bad_Opcode },
  748.     { Bad_Opcode },
  749.     { Bad_Opcode },
  750.     /* 90 */
  751.     { Bad_Opcode },
  752.     { Bad_Opcode },
  753.     { Bad_Opcode },
  754.     { Bad_Opcode },
  755.     { Bad_Opcode },
  756.     { Bad_Opcode },
  757.     { Bad_Opcode },
  758.     { Bad_Opcode },
  759.     /* 98 */
  760.     { Bad_Opcode },
  761.     { Bad_Opcode },
  762.     { Bad_Opcode },
  763.     { Bad_Opcode },
  764.     { Bad_Opcode },
  765.     { Bad_Opcode },
  766.     { Bad_Opcode },
  767.     { Bad_Opcode },
  768.     /* A0 */
  769.     { Bad_Opcode },
  770.     { Bad_Opcode },
  771.     { Bad_Opcode },
  772.     { Bad_Opcode },
  773.     { Bad_Opcode },
  774.     { Bad_Opcode },
  775.     { Bad_Opcode },
  776.     { Bad_Opcode },
  777.     /* A8 */
  778.     { Bad_Opcode },
  779.     { Bad_Opcode },
  780.     { Bad_Opcode },
  781.     { Bad_Opcode },
  782.     { Bad_Opcode },
  783.     { Bad_Opcode },
  784.     { Bad_Opcode },
  785.     { Bad_Opcode },
  786.     /* B0 */
  787.     { Bad_Opcode },
  788.     { Bad_Opcode },
  789.     { Bad_Opcode },
  790.     { Bad_Opcode },
  791.     { Bad_Opcode },
  792.     { Bad_Opcode },
  793.     { Bad_Opcode },
  794.     { Bad_Opcode },
  795.     /* B8 */
  796.     { Bad_Opcode },
  797.     { Bad_Opcode },
  798.     { Bad_Opcode },
  799.     { Bad_Opcode },
  800.     { Bad_Opcode },
  801.     { Bad_Opcode },
  802.     { Bad_Opcode },
  803.     { Bad_Opcode },
  804.     /* C0 */
  805.     { Bad_Opcode },
  806.     { Bad_Opcode },
  807.     { Bad_Opcode },
  808.     { Bad_Opcode },
  809.     { Bad_Opcode },
  810.     { Bad_Opcode },
  811.     { Bad_Opcode },
  812.     { Bad_Opcode },
  813.     /* C8 */
  814.     { Bad_Opcode },
  815.     { Bad_Opcode },
  816.     { Bad_Opcode },
  817.     { Bad_Opcode },
  818.     { Bad_Opcode },
  819.     { Bad_Opcode },
  820.     { Bad_Opcode },
  821.     { Bad_Opcode },
  822.     /* D0 */
  823.     { Bad_Opcode },
  824.     { Bad_Opcode },
  825.     { Bad_Opcode },
  826.     { Bad_Opcode },
  827.     { Bad_Opcode },
  828.     { Bad_Opcode },
  829.     { Bad_Opcode },
  830.     { Bad_Opcode },
  831.     /* D8 */
  832.     { Bad_Opcode },
  833.     { Bad_Opcode },
  834.     { Bad_Opcode },
  835.     { Bad_Opcode },
  836.     { Bad_Opcode },
  837.     { Bad_Opcode },
  838.     { Bad_Opcode },
  839.     { Bad_Opcode },
  840.     /* E0 */
  841.     { Bad_Opcode },
  842.     { Bad_Opcode },
  843.     { Bad_Opcode },
  844.     { Bad_Opcode },
  845.     { Bad_Opcode },
  846.     { Bad_Opcode },
  847.     { Bad_Opcode },
  848.     { Bad_Opcode },
  849.     /* E8 */
  850.     { Bad_Opcode },
  851.     { Bad_Opcode },
  852.     { Bad_Opcode },
  853.     { Bad_Opcode },
  854.     { Bad_Opcode },
  855.     { Bad_Opcode },
  856.     { Bad_Opcode },
  857.     { Bad_Opcode },
  858.     /* F0 */
  859.     { Bad_Opcode },
  860.     { Bad_Opcode },
  861.     { Bad_Opcode },
  862.     { Bad_Opcode },
  863.     { Bad_Opcode },
  864.     { Bad_Opcode },
  865.     { Bad_Opcode },
  866.     { Bad_Opcode },
  867.     /* F8 */
  868.     { Bad_Opcode },
  869.     { Bad_Opcode },
  870.     { Bad_Opcode },
  871.     { Bad_Opcode },
  872.     { Bad_Opcode },
  873.     { Bad_Opcode },
  874.     { Bad_Opcode },
  875.     { Bad_Opcode },
  876.   },
  877. };
  878. #endif /* NEED_OPCODE_TABLE */
  879.  
  880. #ifdef NEED_REG_TABLE
  881.   /* REG_EVEX_0F72 */
  882.   {
  883.     { PREFIX_TABLE (PREFIX_EVEX_0F72_REG_0) },
  884.     { PREFIX_TABLE (PREFIX_EVEX_0F72_REG_1) },
  885.     { PREFIX_TABLE (PREFIX_EVEX_0F72_REG_2) },
  886.     { Bad_Opcode },
  887.     { PREFIX_TABLE (PREFIX_EVEX_0F72_REG_4) },
  888.     { Bad_Opcode },
  889.     { PREFIX_TABLE (PREFIX_EVEX_0F72_REG_6) },
  890.   },
  891.   /* REG_EVEX_0F73 */
  892.   {
  893.     { Bad_Opcode },
  894.     { Bad_Opcode },
  895.     { PREFIX_TABLE (PREFIX_EVEX_0F73_REG_2) },
  896.     { Bad_Opcode },
  897.     { Bad_Opcode },
  898.     { Bad_Opcode },
  899.     { PREFIX_TABLE (PREFIX_EVEX_0F73_REG_6) },
  900.   },
  901.   /* REG_EVEX_0F38C6 */
  902.   {
  903.     { Bad_Opcode },
  904.     { MOD_TABLE (MOD_EVEX_0F38C6_REG_1) },
  905.     { MOD_TABLE (MOD_EVEX_0F38C6_REG_2) },
  906.     { Bad_Opcode },
  907.     { Bad_Opcode },
  908.     { MOD_TABLE (MOD_EVEX_0F38C6_REG_5) },
  909.     { MOD_TABLE (MOD_EVEX_0F38C6_REG_6) },
  910.   },
  911.   /* REG_EVEX_0F38C7 */
  912.   {
  913.     { Bad_Opcode },
  914.     { MOD_TABLE (MOD_EVEX_0F38C7_REG_1) },
  915.     { MOD_TABLE (MOD_EVEX_0F38C7_REG_2) },
  916.     { Bad_Opcode },
  917.     { Bad_Opcode },
  918.     { MOD_TABLE (MOD_EVEX_0F38C7_REG_5) },
  919.     { MOD_TABLE (MOD_EVEX_0F38C7_REG_6) },
  920.   },
  921. #endif /* NEED_REG_TABLE */
  922.  
  923. #ifdef NEED_PREFIX_TABLE
  924.   /* PREFIX_EVEX_0F10 */
  925.   {
  926.     { VEX_W_TABLE (EVEX_W_0F10_P_0) },
  927.     { MOD_TABLE (MOD_EVEX_0F10_PREFIX_1) },
  928.     { VEX_W_TABLE (EVEX_W_0F10_P_2) },
  929.     { MOD_TABLE (MOD_EVEX_0F10_PREFIX_3) },
  930.   },
  931.   /* PREFIX_EVEX_0F11 */
  932.   {
  933.     { VEX_W_TABLE (EVEX_W_0F11_P_0) },
  934.     { MOD_TABLE (MOD_EVEX_0F11_PREFIX_1) },
  935.     { VEX_W_TABLE (EVEX_W_0F11_P_2) },
  936.     { MOD_TABLE (MOD_EVEX_0F11_PREFIX_3) },
  937.   },
  938.   /* PREFIX_EVEX_0F12 */
  939.   {
  940.     { MOD_TABLE (MOD_EVEX_0F12_PREFIX_0) },
  941.     { VEX_W_TABLE (EVEX_W_0F12_P_1) },
  942.     { VEX_W_TABLE (EVEX_W_0F12_P_2) },
  943.     { VEX_W_TABLE (EVEX_W_0F12_P_3) },
  944.   },
  945.   /* PREFIX_EVEX_0F13 */
  946.   {
  947.     { VEX_W_TABLE (EVEX_W_0F13_P_0) },
  948.     { Bad_Opcode },
  949.     { VEX_W_TABLE (EVEX_W_0F13_P_2) },
  950.   },
  951.   /* PREFIX_EVEX_0F14 */
  952.   {
  953.     { VEX_W_TABLE (EVEX_W_0F14_P_0) },
  954.     { Bad_Opcode },
  955.     { VEX_W_TABLE (EVEX_W_0F14_P_2) },
  956.   },
  957.   /* PREFIX_EVEX_0F15 */
  958.   {
  959.     { VEX_W_TABLE (EVEX_W_0F15_P_0) },
  960.     { Bad_Opcode },
  961.     { VEX_W_TABLE (EVEX_W_0F15_P_2) },
  962.   },
  963.   /* PREFIX_EVEX_0F16 */
  964.   {
  965.     { MOD_TABLE (MOD_EVEX_0F16_PREFIX_0) },
  966.     { VEX_W_TABLE (EVEX_W_0F16_P_1) },
  967.     { VEX_W_TABLE (EVEX_W_0F16_P_2) },
  968.   },
  969.   /* PREFIX_EVEX_0F17 */
  970.   {
  971.     { VEX_W_TABLE (EVEX_W_0F17_P_0) },
  972.     { Bad_Opcode },
  973.     { VEX_W_TABLE (EVEX_W_0F17_P_2) },
  974.   },
  975.   /* PREFIX_EVEX_0F28 */
  976.   {
  977.     { VEX_W_TABLE (EVEX_W_0F28_P_0) },
  978.     { Bad_Opcode },
  979.     { VEX_W_TABLE (EVEX_W_0F28_P_2) },
  980.   },
  981.   /* PREFIX_EVEX_0F29 */
  982.   {
  983.     { VEX_W_TABLE (EVEX_W_0F29_P_0) },
  984.     { Bad_Opcode },
  985.     { VEX_W_TABLE (EVEX_W_0F29_P_2) },
  986.   },
  987.   /* PREFIX_EVEX_0F2A */
  988.   {
  989.     { Bad_Opcode },
  990.     { VEX_W_TABLE (EVEX_W_0F2A_P_1) },
  991.     { Bad_Opcode },
  992.     { VEX_W_TABLE (EVEX_W_0F2A_P_3) },
  993.   },
  994.   /* PREFIX_EVEX_0F2B */
  995.   {
  996.     { VEX_W_TABLE (EVEX_W_0F2B_P_0) },
  997.     { Bad_Opcode },
  998.     { VEX_W_TABLE (EVEX_W_0F2B_P_2) },
  999.   },
  1000.   /* PREFIX_EVEX_0F2C */
  1001.   {
  1002.     { Bad_Opcode },
  1003.     { "vcvttss2si",     { Gdq, EXxmm_md, EXxEVexS } },
  1004.     { Bad_Opcode },
  1005.     { "vcvttsd2si",     { Gdq, EXxmm_mq, EXxEVexS } },
  1006.   },
  1007.   /* PREFIX_EVEX_0F2D */
  1008.   {
  1009.     { Bad_Opcode },
  1010.     { "vcvtss2si",      { Gdq, EXxmm_md, EXxEVexR } },
  1011.     { Bad_Opcode },
  1012.     { "vcvtsd2si",      { Gdq, EXxmm_mq, EXxEVexR } },
  1013.   },
  1014.   /* PREFIX_EVEX_0F2E */
  1015.   {
  1016.     { VEX_W_TABLE (EVEX_W_0F2E_P_0) },
  1017.     { Bad_Opcode },
  1018.     { VEX_W_TABLE (EVEX_W_0F2E_P_2) },
  1019.   },
  1020.   /* PREFIX_EVEX_0F2F */
  1021.   {
  1022.     { VEX_W_TABLE (EVEX_W_0F2F_P_0) },
  1023.     { Bad_Opcode },
  1024.     { VEX_W_TABLE (EVEX_W_0F2F_P_2) },
  1025.   },
  1026.   /* PREFIX_EVEX_0F51 */
  1027.   {
  1028.     { VEX_W_TABLE (EVEX_W_0F51_P_0) },
  1029.     { VEX_W_TABLE (EVEX_W_0F51_P_1) },
  1030.     { VEX_W_TABLE (EVEX_W_0F51_P_2) },
  1031.     { VEX_W_TABLE (EVEX_W_0F51_P_3) },
  1032.   },
  1033.   /* PREFIX_EVEX_0F58 */
  1034.   {
  1035.     { VEX_W_TABLE (EVEX_W_0F58_P_0) },
  1036.     { VEX_W_TABLE (EVEX_W_0F58_P_1) },
  1037.     { VEX_W_TABLE (EVEX_W_0F58_P_2) },
  1038.     { VEX_W_TABLE (EVEX_W_0F58_P_3) },
  1039.   },
  1040.   /* PREFIX_EVEX_0F59 */
  1041.   {
  1042.     { VEX_W_TABLE (EVEX_W_0F59_P_0) },
  1043.     { VEX_W_TABLE (EVEX_W_0F59_P_1) },
  1044.     { VEX_W_TABLE (EVEX_W_0F59_P_2) },
  1045.     { VEX_W_TABLE (EVEX_W_0F59_P_3) },
  1046.   },
  1047.   /* PREFIX_EVEX_0F5A */
  1048.   {
  1049.     { VEX_W_TABLE (EVEX_W_0F5A_P_0) },
  1050.     { VEX_W_TABLE (EVEX_W_0F5A_P_1) },
  1051.     { VEX_W_TABLE (EVEX_W_0F5A_P_2) },
  1052.     { VEX_W_TABLE (EVEX_W_0F5A_P_3) },
  1053.   },
  1054.   /* PREFIX_EVEX_0F5B */
  1055.   {
  1056.     { VEX_W_TABLE (EVEX_W_0F5B_P_0) },
  1057.     { VEX_W_TABLE (EVEX_W_0F5B_P_1) },
  1058.     { VEX_W_TABLE (EVEX_W_0F5B_P_2) },
  1059.   },
  1060.   /* PREFIX_EVEX_0F5C */
  1061.   {
  1062.     { VEX_W_TABLE (EVEX_W_0F5C_P_0) },
  1063.     { VEX_W_TABLE (EVEX_W_0F5C_P_1) },
  1064.     { VEX_W_TABLE (EVEX_W_0F5C_P_2) },
  1065.     { VEX_W_TABLE (EVEX_W_0F5C_P_3) },
  1066.   },
  1067.   /* PREFIX_EVEX_0F5D */
  1068.   {
  1069.     { VEX_W_TABLE (EVEX_W_0F5D_P_0) },
  1070.     { VEX_W_TABLE (EVEX_W_0F5D_P_1) },
  1071.     { VEX_W_TABLE (EVEX_W_0F5D_P_2) },
  1072.     { VEX_W_TABLE (EVEX_W_0F5D_P_3) },
  1073.   },
  1074.   /* PREFIX_EVEX_0F5E */
  1075.   {
  1076.     { VEX_W_TABLE (EVEX_W_0F5E_P_0) },
  1077.     { VEX_W_TABLE (EVEX_W_0F5E_P_1) },
  1078.     { VEX_W_TABLE (EVEX_W_0F5E_P_2) },
  1079.     { VEX_W_TABLE (EVEX_W_0F5E_P_3) },
  1080.   },
  1081.   /* PREFIX_EVEX_0F5F */
  1082.   {
  1083.     { VEX_W_TABLE (EVEX_W_0F5F_P_0) },
  1084.     { VEX_W_TABLE (EVEX_W_0F5F_P_1) },
  1085.     { VEX_W_TABLE (EVEX_W_0F5F_P_2) },
  1086.     { VEX_W_TABLE (EVEX_W_0F5F_P_3) },
  1087.   },
  1088.   /* PREFIX_EVEX_0F62 */
  1089.   {
  1090.     { Bad_Opcode },
  1091.     { Bad_Opcode },
  1092.     { VEX_W_TABLE (EVEX_W_0F62_P_2) },
  1093.   },
  1094.   /* PREFIX_EVEX_0F66 */
  1095.   {
  1096.     { Bad_Opcode },
  1097.     { Bad_Opcode },
  1098.     { VEX_W_TABLE (EVEX_W_0F66_P_2) },
  1099.   },
  1100.   /* PREFIX_EVEX_0F6A */
  1101.   {
  1102.     { Bad_Opcode },
  1103.     { Bad_Opcode },
  1104.     { VEX_W_TABLE (EVEX_W_0F6A_P_2) },
  1105.   },
  1106.   /* PREFIX_EVEX_0F6C */
  1107.   {
  1108.     { Bad_Opcode },
  1109.     { Bad_Opcode },
  1110.     { VEX_W_TABLE (EVEX_W_0F6C_P_2) },
  1111.   },
  1112.   /* PREFIX_EVEX_0F6D */
  1113.   {
  1114.     { Bad_Opcode },
  1115.     { Bad_Opcode },
  1116.     { VEX_W_TABLE (EVEX_W_0F6D_P_2) },
  1117.   },
  1118.   /* PREFIX_EVEX_0F6E */
  1119.   {
  1120.     { Bad_Opcode },
  1121.     { Bad_Opcode },
  1122.     { VEX_W_TABLE (EVEX_W_0F6E_P_2) },
  1123.   },
  1124.   /* PREFIX_EVEX_0F6F */
  1125.   {
  1126.     { Bad_Opcode },
  1127.     { VEX_W_TABLE (EVEX_W_0F6F_P_1) },
  1128.     { VEX_W_TABLE (EVEX_W_0F6F_P_2) },
  1129.   },
  1130.   /* PREFIX_EVEX_0F70 */
  1131.   {
  1132.     { Bad_Opcode },
  1133.     { Bad_Opcode },
  1134.     { VEX_W_TABLE (EVEX_W_0F70_P_2) },
  1135.   },
  1136.   /* PREFIX_EVEX_0F72_REG_0 */
  1137.   {
  1138.     { Bad_Opcode },
  1139.     { Bad_Opcode },
  1140.     { "vpror%LW",       { Vex, EXx, Ib } },
  1141.   },
  1142.   /* PREFIX_EVEX_0F72_REG_1 */
  1143.   {
  1144.     { Bad_Opcode },
  1145.     { Bad_Opcode },
  1146.     { "vprol%LW",       { Vex, EXx, Ib } },
  1147.   },
  1148.   /* PREFIX_EVEX_0F72_REG_2 */
  1149.   {
  1150.     { Bad_Opcode },
  1151.     { Bad_Opcode },
  1152.     { VEX_W_TABLE (EVEX_W_0F72_R_2_P_2) },
  1153.   },
  1154.   /* PREFIX_EVEX_0F72_REG_4 */
  1155.   {
  1156.     { Bad_Opcode },
  1157.     { Bad_Opcode },
  1158.     { "vpsra%LW",       { Vex, EXx, Ib } },
  1159.   },
  1160.   /* PREFIX_EVEX_0F72_REG_6 */
  1161.   {
  1162.     { Bad_Opcode },
  1163.     { Bad_Opcode },
  1164.     { VEX_W_TABLE (EVEX_W_0F72_R_6_P_2) },
  1165.   },
  1166.   /* PREFIX_EVEX_0F73_REG_2 */
  1167.   {
  1168.     { Bad_Opcode },
  1169.     { Bad_Opcode },
  1170.     { VEX_W_TABLE (EVEX_W_0F73_R_2_P_2) },
  1171.   },
  1172.   /* PREFIX_EVEX_0F73_REG_6 */
  1173.   {
  1174.     { Bad_Opcode },
  1175.     { Bad_Opcode },
  1176.     { VEX_W_TABLE (EVEX_W_0F73_R_6_P_2) },
  1177.   },
  1178.   /* PREFIX_EVEX_0F76 */
  1179.   {
  1180.     { Bad_Opcode },
  1181.     { Bad_Opcode },
  1182.     { VEX_W_TABLE (EVEX_W_0F76_P_2) },
  1183.   },
  1184.   /* PREFIX_EVEX_0F78 */
  1185.   {
  1186.     { VEX_W_TABLE (EVEX_W_0F78_P_0) },
  1187.     { "vcvttss2usi",    { Gdq, EXxmm_md, EXxEVexS } },
  1188.     { Bad_Opcode },
  1189.     { "vcvttsd2usi",    { Gdq, EXxmm_mq, EXxEVexS } },
  1190.   },
  1191.   /* PREFIX_EVEX_0F79 */
  1192.   {
  1193.     { VEX_W_TABLE (EVEX_W_0F79_P_0) },
  1194.     { "vcvtss2usi",     { Gdq, EXxmm_md, EXxEVexR } },
  1195.     { Bad_Opcode },
  1196.     { "vcvtsd2usi",     { Gdq, EXxmm_mq, EXxEVexR } },
  1197.   },
  1198.   /* PREFIX_EVEX_0F7A */
  1199.   {
  1200.     { Bad_Opcode },
  1201.     { VEX_W_TABLE (EVEX_W_0F7A_P_1) },
  1202.     { Bad_Opcode },
  1203.     { VEX_W_TABLE (EVEX_W_0F7A_P_3) },
  1204.   },
  1205.   /* PREFIX_EVEX_0F7B */
  1206.   {
  1207.     { Bad_Opcode },
  1208.     { VEX_W_TABLE (EVEX_W_0F7B_P_1) },
  1209.     { Bad_Opcode },
  1210.     { VEX_W_TABLE (EVEX_W_0F7B_P_3) },
  1211.   },
  1212.   /* PREFIX_EVEX_0F7E */
  1213.   {
  1214.     { Bad_Opcode },
  1215.     { VEX_W_TABLE (EVEX_W_0F7E_P_1) },
  1216.     { VEX_W_TABLE (EVEX_W_0F7E_P_2) },
  1217.   },
  1218.   /* PREFIX_EVEX_0F7F */
  1219.   {
  1220.     { Bad_Opcode },
  1221.     { VEX_W_TABLE (EVEX_W_0F7F_P_1) },
  1222.     { VEX_W_TABLE (EVEX_W_0F7F_P_2) },
  1223.   },
  1224.  
  1225.   /* PREFIX_EVEX_0FC2 */
  1226.   {
  1227.     { VEX_W_TABLE (EVEX_W_0FC2_P_0) },
  1228.     { VEX_W_TABLE (EVEX_W_0FC2_P_1) },
  1229.     { VEX_W_TABLE (EVEX_W_0FC2_P_2) },
  1230.     { VEX_W_TABLE (EVEX_W_0FC2_P_3) },
  1231.   },
  1232.   /* PREFIX_EVEX_0FC6 */
  1233.   {
  1234.     { VEX_W_TABLE (EVEX_W_0FC6_P_0) },
  1235.     { Bad_Opcode },
  1236.     { VEX_W_TABLE (EVEX_W_0FC6_P_2) },
  1237.   },
  1238.   /* PREFIX_EVEX_0FD2 */
  1239.   {
  1240.     { Bad_Opcode },
  1241.     { Bad_Opcode },
  1242.     { VEX_W_TABLE (EVEX_W_0FD2_P_2) },
  1243.   },
  1244.   /* PREFIX_EVEX_0FD3 */
  1245.   {
  1246.     { Bad_Opcode },
  1247.     { Bad_Opcode },
  1248.     { VEX_W_TABLE (EVEX_W_0FD3_P_2) },
  1249.   },
  1250.   /* PREFIX_EVEX_0FD4 */
  1251.   {
  1252.     { Bad_Opcode },
  1253.     { Bad_Opcode },
  1254.     { VEX_W_TABLE (EVEX_W_0FD4_P_2) },
  1255.   },
  1256.   /* PREFIX_EVEX_0FD6 */
  1257.   {
  1258.     { Bad_Opcode },
  1259.     { Bad_Opcode },
  1260.     { VEX_W_TABLE (EVEX_W_0FD6_P_2) },
  1261.   },
  1262.   /* PREFIX_EVEX_0FDB */
  1263.   {
  1264.     { Bad_Opcode },
  1265.     { Bad_Opcode },
  1266.     { "vpand%LW",       { XM, Vex, EXx } },
  1267.   },
  1268.   /* PREFIX_EVEX_0FDF */
  1269.   {
  1270.     { Bad_Opcode },
  1271.     { Bad_Opcode },
  1272.     { "vpandn%LW",      { XM, Vex, EXx } },
  1273.   },
  1274.   /* PREFIX_EVEX_0FE2 */
  1275.   {
  1276.     { Bad_Opcode },
  1277.     { Bad_Opcode },
  1278.     { "vpsra%LW",       { XM, Vex, EXxmm } },
  1279.   },
  1280.   /* PREFIX_EVEX_0FE6 */
  1281.   {
  1282.     { Bad_Opcode },
  1283.     { VEX_W_TABLE (EVEX_W_0FE6_P_1) },
  1284.     { VEX_W_TABLE (EVEX_W_0FE6_P_2) },
  1285.     { VEX_W_TABLE (EVEX_W_0FE6_P_3) },
  1286.   },
  1287.   /* PREFIX_EVEX_0FE7 */
  1288.   {
  1289.     { Bad_Opcode },
  1290.     { Bad_Opcode },
  1291.     { VEX_W_TABLE (EVEX_W_0FE7_P_2) },
  1292.   },
  1293.   /* PREFIX_EVEX_0FEB */
  1294.   {
  1295.     { Bad_Opcode },
  1296.     { Bad_Opcode },
  1297.     { "vpor%LW",        { XM, Vex, EXx } },
  1298.   },
  1299.   /* PREFIX_EVEX_0FEF */
  1300.   {
  1301.     { Bad_Opcode },
  1302.     { Bad_Opcode },
  1303.     { "vpxor%LW",       { XM, Vex, EXx } },
  1304.   },
  1305.   /* PREFIX_EVEX_0FF2 */
  1306.   {
  1307.     { Bad_Opcode },
  1308.     { Bad_Opcode },
  1309.     { VEX_W_TABLE (EVEX_W_0FF2_P_2) },
  1310.   },
  1311.   /* PREFIX_EVEX_0FF3 */
  1312.   {
  1313.     { Bad_Opcode },
  1314.     { Bad_Opcode },
  1315.     { VEX_W_TABLE (EVEX_W_0FF3_P_2) },
  1316.   },
  1317.   /* PREFIX_EVEX_0FF4 */
  1318.   {
  1319.     { Bad_Opcode },
  1320.     { Bad_Opcode },
  1321.     { VEX_W_TABLE (EVEX_W_0FF4_P_2) },
  1322.   },
  1323.   /* PREFIX_EVEX_0FFA */
  1324.   {
  1325.     { Bad_Opcode },
  1326.     { Bad_Opcode },
  1327.     { VEX_W_TABLE (EVEX_W_0FFA_P_2) },
  1328.   },
  1329.   /* PREFIX_EVEX_0FFB */
  1330.   {
  1331.     { Bad_Opcode },
  1332.     { Bad_Opcode },
  1333.     { VEX_W_TABLE (EVEX_W_0FFB_P_2) },
  1334.   },
  1335.   /* PREFIX_EVEX_0FFE */
  1336.   {
  1337.     { Bad_Opcode },
  1338.     { Bad_Opcode },
  1339.     { VEX_W_TABLE (EVEX_W_0FFE_P_2) },
  1340.   },
  1341.  
  1342.   /* PREFIX_EVEX_0F380C */
  1343.   {
  1344.     { Bad_Opcode },
  1345.     { Bad_Opcode },
  1346.     { VEX_W_TABLE (EVEX_W_0F380C_P_2) },
  1347.   },
  1348.   /* PREFIX_EVEX_0F380D */
  1349.   {
  1350.     { Bad_Opcode },
  1351.     { Bad_Opcode },
  1352.     { VEX_W_TABLE (EVEX_W_0F380D_P_2) },
  1353.   },
  1354.   /* PREFIX_EVEX_0F3811 */
  1355.   {
  1356.     { Bad_Opcode },
  1357.     { VEX_W_TABLE (EVEX_W_0F3811_P_1) },
  1358.   },
  1359.   /* PREFIX_EVEX_0F3812 */
  1360.   {
  1361.     { Bad_Opcode },
  1362.     { VEX_W_TABLE (EVEX_W_0F3812_P_1) },
  1363.   },
  1364.   /* PREFIX_EVEX_0F3813 */
  1365.   {
  1366.     { Bad_Opcode },
  1367.     { VEX_W_TABLE (EVEX_W_0F3813_P_1) },
  1368.     { VEX_W_TABLE (EVEX_W_0F3813_P_2) },
  1369.   },
  1370.   /* PREFIX_EVEX_0F3814 */
  1371.   {
  1372.     { Bad_Opcode },
  1373.     { VEX_W_TABLE (EVEX_W_0F3814_P_1) },
  1374.     { "vprorv%LW",      { XM, Vex, EXx } },
  1375.   },
  1376.   /* PREFIX_EVEX_0F3815 */
  1377.   {
  1378.     { Bad_Opcode },
  1379.     { VEX_W_TABLE (EVEX_W_0F3815_P_1) },
  1380.     { "vprolv%LW",      { XM, Vex, EXx } },
  1381.   },
  1382.   /* PREFIX_EVEX_0F3816 */
  1383.   {
  1384.     { Bad_Opcode },
  1385.     { Bad_Opcode },
  1386.     { "vpermp%XW",      { XM, Vex, EXx } },
  1387.   },
  1388.   /* PREFIX_EVEX_0F3818 */
  1389.   {
  1390.     { Bad_Opcode },
  1391.     { Bad_Opcode },
  1392.     { VEX_W_TABLE (EVEX_W_0F3818_P_2) },
  1393.   },
  1394.   /* PREFIX_EVEX_0F3819 */
  1395.   {
  1396.     { Bad_Opcode },
  1397.     { Bad_Opcode },
  1398.     { VEX_W_TABLE (EVEX_W_0F3819_P_2) },
  1399.   },
  1400.   /* PREFIX_EVEX_0F381A */
  1401.   {
  1402.     { Bad_Opcode },
  1403.     { Bad_Opcode },
  1404.     { VEX_W_TABLE (EVEX_W_0F381A_P_2) },
  1405.   },
  1406.   /* PREFIX_EVEX_0F381B */
  1407.   {
  1408.     { Bad_Opcode },
  1409.     { Bad_Opcode },
  1410.     { VEX_W_TABLE (EVEX_W_0F381B_P_2) },
  1411.   },
  1412.   /* PREFIX_EVEX_0F381E */
  1413.   {
  1414.     { Bad_Opcode },
  1415.     { Bad_Opcode },
  1416.     { VEX_W_TABLE (EVEX_W_0F381E_P_2) },
  1417.   },
  1418.   /* PREFIX_EVEX_0F381F */
  1419.   {
  1420.     { Bad_Opcode },
  1421.     { Bad_Opcode },
  1422.     { VEX_W_TABLE (EVEX_W_0F381F_P_2) },
  1423.   },
  1424.   /* PREFIX_EVEX_0F3821 */
  1425.   {
  1426.     { Bad_Opcode },
  1427.     { VEX_W_TABLE (EVEX_W_0F3821_P_1) },
  1428.     { "vpmovsxbd",      { XM, EXxmmqd } },
  1429.   },
  1430.   /* PREFIX_EVEX_0F3822 */
  1431.   {
  1432.     { Bad_Opcode },
  1433.     { VEX_W_TABLE (EVEX_W_0F3822_P_1) },
  1434.     { "vpmovsxbq",      { XM, EXxmmdw } },
  1435.   },
  1436.   /* PREFIX_EVEX_0F3823 */
  1437.   {
  1438.     { Bad_Opcode },
  1439.     { VEX_W_TABLE (EVEX_W_0F3823_P_1) },
  1440.     { "vpmovsxwd",      { XM, EXxmmq } },
  1441.   },
  1442.   /* PREFIX_EVEX_0F3824 */
  1443.   {
  1444.     { Bad_Opcode },
  1445.     { VEX_W_TABLE (EVEX_W_0F3824_P_1) },
  1446.     { "vpmovsxwq",      { XM, EXxmmqd } },
  1447.   },
  1448.   /* PREFIX_EVEX_0F3825 */
  1449.   {
  1450.     { Bad_Opcode },
  1451.     { VEX_W_TABLE (EVEX_W_0F3825_P_1) },
  1452.     { VEX_W_TABLE (EVEX_W_0F3825_P_2) },
  1453.   },
  1454.   /* PREFIX_EVEX_0F3827 */
  1455.   {
  1456.     { Bad_Opcode },
  1457.     { "vptestnm%LW",    { XMask, Vex, EXx } },
  1458.     { "vptestm%LW",     { XMask, Vex, EXx } },
  1459.   },
  1460.   /* PREFIX_EVEX_0F3828 */
  1461.   {
  1462.     { Bad_Opcode },
  1463.     { Bad_Opcode },
  1464.     { VEX_W_TABLE (EVEX_W_0F3828_P_2) },
  1465.   },
  1466.   /* PREFIX_EVEX_0F3829 */
  1467.   {
  1468.     { Bad_Opcode },
  1469.     { Bad_Opcode },
  1470.     { VEX_W_TABLE (EVEX_W_0F3829_P_2) },
  1471.   },
  1472.   /* PREFIX_EVEX_0F382A */
  1473.   {
  1474.     { Bad_Opcode },
  1475.     { VEX_W_TABLE (EVEX_W_0F382A_P_1) },
  1476.     { VEX_W_TABLE (EVEX_W_0F382A_P_2) },
  1477.   },
  1478.   /* PREFIX_EVEX_0F382C */
  1479.   {
  1480.     { Bad_Opcode },
  1481.     { Bad_Opcode },
  1482.     { "vscalefp%XW",    { XM, Vex, EXx, EXxEVexR } },
  1483.   },
  1484.   /* PREFIX_EVEX_0F382D */
  1485.   {
  1486.     { Bad_Opcode },
  1487.     { Bad_Opcode },
  1488.     { "vscalefs%XW",    { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR } },
  1489.   },
  1490.   /* PREFIX_EVEX_0F3831 */
  1491.   {
  1492.     { Bad_Opcode },
  1493.     { VEX_W_TABLE (EVEX_W_0F3831_P_1) },
  1494.     { "vpmovzxbd",      { XM, EXxmmqd } },
  1495.   },
  1496.   /* PREFIX_EVEX_0F3832 */
  1497.   {
  1498.     { Bad_Opcode },
  1499.     { VEX_W_TABLE (EVEX_W_0F3832_P_1) },
  1500.     { "vpmovzxbq",      { XM, EXxmmdw } },
  1501.   },
  1502.   /* PREFIX_EVEX_0F3833 */
  1503.   {
  1504.     { Bad_Opcode },
  1505.     { VEX_W_TABLE (EVEX_W_0F3833_P_1) },
  1506.     { "vpmovzxwd",      { XM, EXxmmq } },
  1507.   },
  1508.   /* PREFIX_EVEX_0F3834 */
  1509.   {
  1510.     { Bad_Opcode },
  1511.     { VEX_W_TABLE (EVEX_W_0F3834_P_1) },
  1512.     { "vpmovzxwq",      { XM, EXxmmqd } },
  1513.   },
  1514.   /* PREFIX_EVEX_0F3835 */
  1515.   {
  1516.     { Bad_Opcode },
  1517.     { VEX_W_TABLE (EVEX_W_0F3835_P_1) },
  1518.     { VEX_W_TABLE (EVEX_W_0F3835_P_2) },
  1519.   },
  1520.   /* PREFIX_EVEX_0F3836 */
  1521.   {
  1522.     { Bad_Opcode },
  1523.     { Bad_Opcode },
  1524.     { "vperm%LW",       { XM, Vex, EXx } },
  1525.   },
  1526.   /* PREFIX_EVEX_0F3837 */
  1527.   {
  1528.     { Bad_Opcode },
  1529.     { Bad_Opcode },
  1530.     { VEX_W_TABLE (EVEX_W_0F3837_P_2) },
  1531.   },
  1532.   /* PREFIX_EVEX_0F3839 */
  1533.   {
  1534.     { Bad_Opcode },
  1535.     { Bad_Opcode },
  1536.     { "vpmins%LW",      { XM, Vex, EXx } },
  1537.   },
  1538.   /* PREFIX_EVEX_0F383A */
  1539.   {
  1540.     { Bad_Opcode },
  1541.     { VEX_W_TABLE (EVEX_W_0F383A_P_1) },
  1542.   },
  1543.   /* PREFIX_EVEX_0F383B */
  1544.   {
  1545.     { Bad_Opcode },
  1546.     { Bad_Opcode },
  1547.     { "vpminu%LW",      { XM, Vex, EXx } },
  1548.   },
  1549.   /* PREFIX_EVEX_0F383D */
  1550.   {
  1551.     { Bad_Opcode },
  1552.     { Bad_Opcode },
  1553.     { "vpmaxs%LW",      { XM, Vex, EXx } },
  1554.   },
  1555.   /* PREFIX_EVEX_0F383F */
  1556.   {
  1557.     { Bad_Opcode },
  1558.     { Bad_Opcode },
  1559.     { "vpmaxu%LW",      { XM, Vex, EXx } },
  1560.   },
  1561.   /* PREFIX_EVEX_0F3840 */
  1562.   {
  1563.     { Bad_Opcode },
  1564.     { Bad_Opcode },
  1565.     { VEX_W_TABLE (EVEX_W_0F3840_P_2) },
  1566.   },
  1567.   /* PREFIX_EVEX_0F3842 */
  1568.   {
  1569.     { Bad_Opcode },
  1570.     { Bad_Opcode },
  1571.     { "vgetexpp%XW",    { XM, EXx, EXxEVexS } },
  1572.   },
  1573.   /* PREFIX_EVEX_0F3843 */
  1574.   {
  1575.     { Bad_Opcode },
  1576.     { Bad_Opcode },
  1577.     { "vgetexps%XW",    { XMScalar, VexScalar, EXxmm_mdq, EXxEVexS } },
  1578.   },
  1579.   /* PREFIX_EVEX_0F3844 */
  1580.   {
  1581.     { Bad_Opcode },
  1582.     { Bad_Opcode },
  1583.     { "vplzcnt%LW",     { XM, EXx } },
  1584.   },
  1585.   /* PREFIX_EVEX_0F3845 */
  1586.   {
  1587.     { Bad_Opcode },
  1588.     { Bad_Opcode },
  1589.     { "vpsrlv%LW",      { XM, Vex, EXx } },
  1590.   },
  1591.   /* PREFIX_EVEX_0F3846 */
  1592.   {
  1593.     { Bad_Opcode },
  1594.     { Bad_Opcode },
  1595.     { "vpsrav%LW",      { XM, Vex, EXx } },
  1596.   },
  1597.   /* PREFIX_EVEX_0F3847 */
  1598.   {
  1599.     { Bad_Opcode },
  1600.     { Bad_Opcode },
  1601.     { "vpsllv%LW",      { XM, Vex, EXx } },
  1602.   },
  1603.   /* PREFIX_EVEX_0F384C */
  1604.   {
  1605.     { Bad_Opcode },
  1606.     { Bad_Opcode },
  1607.     { "vrcp14p%XW",     { XM, EXx } },
  1608.   },
  1609.   /* PREFIX_EVEX_0F384D */
  1610.   {
  1611.     { Bad_Opcode },
  1612.     { Bad_Opcode },
  1613.     { "vrcp14s%XW",     { XMScalar, VexScalar, EXxmm_mdq } },
  1614.   },
  1615.   /* PREFIX_EVEX_0F384E */
  1616.   {
  1617.     { Bad_Opcode },
  1618.     { Bad_Opcode },
  1619.     { "vrsqrt14p%XW",   { XM, EXx } },
  1620.   },
  1621.   /* PREFIX_EVEX_0F384F */
  1622.   {
  1623.     { Bad_Opcode },
  1624.     { Bad_Opcode },
  1625.     { "vrsqrt14s%XW",   { XMScalar, VexScalar, EXxmm_mdq } },
  1626.   },
  1627.   /* PREFIX_EVEX_0F3858 */
  1628.   {
  1629.     { Bad_Opcode },
  1630.     { Bad_Opcode },
  1631.     { VEX_W_TABLE (EVEX_W_0F3858_P_2) },
  1632.   },
  1633.   /* PREFIX_EVEX_0F3859 */
  1634.   {
  1635.     { Bad_Opcode },
  1636.     { Bad_Opcode },
  1637.     { VEX_W_TABLE (EVEX_W_0F3859_P_2) },
  1638.   },
  1639.   /* PREFIX_EVEX_0F385A */
  1640.   {
  1641.     { Bad_Opcode },
  1642.     { Bad_Opcode },
  1643.     { VEX_W_TABLE (EVEX_W_0F385A_P_2) },
  1644.   },
  1645.   /* PREFIX_EVEX_0F385B */
  1646.   {
  1647.     { Bad_Opcode },
  1648.     { Bad_Opcode },
  1649.     { VEX_W_TABLE (EVEX_W_0F385B_P_2) },
  1650.   },
  1651.   /* PREFIX_EVEX_0F3864 */
  1652.   {
  1653.     { Bad_Opcode },
  1654.     { Bad_Opcode },
  1655.     { "vpblendm%LW",    { XM, Vex, EXx } },
  1656.   },
  1657.   /* PREFIX_EVEX_0F3865 */
  1658.   {
  1659.     { Bad_Opcode },
  1660.     { Bad_Opcode },
  1661.     { "vblendmp%XW",    { XM, Vex, EXx } },
  1662.   },
  1663.   /* PREFIX_EVEX_0F3876 */
  1664.   {
  1665.     { Bad_Opcode },
  1666.     { Bad_Opcode },
  1667.     { "vpermi2%LW",     { XM, Vex, EXx } },
  1668.   },
  1669.   /* PREFIX_EVEX_0F3877 */
  1670.   {
  1671.     { Bad_Opcode },
  1672.     { Bad_Opcode },
  1673.     { "vpermi2p%XW",    { XM, Vex, EXx } },
  1674.   },
  1675.   /* PREFIX_EVEX_0F387C */
  1676.   {
  1677.     { Bad_Opcode },
  1678.     { Bad_Opcode },
  1679.     { "vpbroadcast%LW", { XM, Rdq } },
  1680.   },
  1681.   /* PREFIX_EVEX_0F387E */
  1682.   {
  1683.     { Bad_Opcode },
  1684.     { Bad_Opcode },
  1685.     { "vpermt2%LW",     { XM, Vex, EXx } },
  1686.   },
  1687.   /* PREFIX_EVEX_0F387F */
  1688.   {
  1689.     { Bad_Opcode },
  1690.     { Bad_Opcode },
  1691.     { "vpermt2p%XW",    { XM, Vex, EXx } },
  1692.   },
  1693.   /* PREFIX_EVEX_0F3888 */
  1694.   {
  1695.     { Bad_Opcode },
  1696.     { Bad_Opcode },
  1697.     { "vexpandp%XW",    { XM, EXEvexXGscat } },
  1698.   },
  1699.   /* PREFIX_EVEX_0F3889 */
  1700.   {
  1701.     { Bad_Opcode },
  1702.     { Bad_Opcode },
  1703.     { "vpexpand%LW",    { XM, EXEvexXGscat } },
  1704.   },
  1705.   /* PREFIX_EVEX_0F388A */
  1706.   {
  1707.     { Bad_Opcode },
  1708.     { Bad_Opcode },
  1709.     { "vcompressp%XW"{ EXEvexXGscat, XM } },
  1710.   },
  1711.   /* PREFIX_EVEX_0F388B */
  1712.   {
  1713.     { Bad_Opcode },
  1714.     { Bad_Opcode },
  1715.     { "vpcompress%LW"{ EXEvexXGscat, XM } },
  1716.   },
  1717.   /* PREFIX_EVEX_0F3890 */
  1718.   {
  1719.     { Bad_Opcode },
  1720.     { Bad_Opcode },
  1721.     { "vpgatherd%LW",   { XM, MVexVSIBDWpX } },
  1722.   },
  1723.   /* PREFIX_EVEX_0F3891 */
  1724.   {
  1725.     { Bad_Opcode },
  1726.     { Bad_Opcode },
  1727.     { VEX_W_TABLE (EVEX_W_0F3891_P_2) },
  1728.   },
  1729.   /* PREFIX_EVEX_0F3892 */
  1730.   {
  1731.     { Bad_Opcode },
  1732.     { Bad_Opcode },
  1733.     { "vgatherdp%XW",   { XM, MVexVSIBDWpX} },
  1734.   },
  1735.   /* PREFIX_EVEX_0F3893 */
  1736.   {
  1737.     { Bad_Opcode },
  1738.     { Bad_Opcode },
  1739.     { VEX_W_TABLE (EVEX_W_0F3893_P_2) },
  1740.   },
  1741.   /* PREFIX_EVEX_0F3896 */
  1742.   {
  1743.     { Bad_Opcode },
  1744.     { Bad_Opcode },
  1745.     { "vfmaddsub132p%XW",       { XM, Vex, EXx, EXxEVexR } },
  1746.   },
  1747.   /* PREFIX_EVEX_0F3897 */
  1748.   {
  1749.     { Bad_Opcode },
  1750.     { Bad_Opcode },
  1751.     { "vfmsubadd132p%XW",       { XM, Vex, EXx, EXxEVexR } },
  1752.   },
  1753.   /* PREFIX_EVEX_0F3898 */
  1754.   {
  1755.     { Bad_Opcode },
  1756.     { Bad_Opcode },
  1757.     { "vfmadd132p%XW"{ XM, Vex, EXx, EXxEVexR } },
  1758.   },
  1759.   /* PREFIX_EVEX_0F3899 */
  1760.   {
  1761.     { Bad_Opcode },
  1762.     { Bad_Opcode },
  1763.     { "vfmadd132s%XW"{ XMScalar, VexScalar, EXxmm_mdq, EXxEVexR } },
  1764.   },
  1765.   /* PREFIX_EVEX_0F389A */
  1766.   {
  1767.     { Bad_Opcode },
  1768.     { Bad_Opcode },
  1769.     { "vfmsub132p%XW"{ XM, Vex, EXx, EXxEVexR } },
  1770.   },
  1771.   /* PREFIX_EVEX_0F389B */
  1772.   {
  1773.     { Bad_Opcode },
  1774.     { Bad_Opcode },
  1775.     { "vfmsub132s%XW"{ XMScalar, VexScalar, EXxmm_mdq, EXxEVexR } },
  1776.   },
  1777.   /* PREFIX_EVEX_0F389C */
  1778.   {
  1779.     { Bad_Opcode },
  1780.     { Bad_Opcode },
  1781.     { "vfnmadd132p%XW", { XM, Vex, EXx, EXxEVexR } },
  1782.   },
  1783.   /* PREFIX_EVEX_0F389D */
  1784.   {
  1785.     { Bad_Opcode },
  1786.     { Bad_Opcode },
  1787.     { "vfnmadd132s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR } },
  1788.   },
  1789.   /* PREFIX_EVEX_0F389E */
  1790.   {
  1791.     { Bad_Opcode },
  1792.     { Bad_Opcode },
  1793.     { "vfnmsub132p%XW", { XM, Vex, EXx, EXxEVexR } },
  1794.   },
  1795.   /* PREFIX_EVEX_0F389F */
  1796.   {
  1797.     { Bad_Opcode },
  1798.     { Bad_Opcode },
  1799.     { "vfnmsub132s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR } },
  1800.   },
  1801.   /* PREFIX_EVEX_0F38A0 */
  1802.   {
  1803.     { Bad_Opcode },
  1804.     { Bad_Opcode },
  1805.     { "vpscatterd%LW"{ MVexVSIBDWpX, XM } },
  1806.   },
  1807.   /* PREFIX_EVEX_0F38A1 */
  1808.   {
  1809.     { Bad_Opcode },
  1810.     { Bad_Opcode },
  1811.     { VEX_W_TABLE (EVEX_W_0F38A1_P_2) },
  1812.   },
  1813.   /* PREFIX_EVEX_0F38A2 */
  1814.   {
  1815.     { Bad_Opcode },
  1816.     { Bad_Opcode },
  1817.     { "vscatterdp%XW"{ MVexVSIBDWpX, XM } },
  1818.   },
  1819.   /* PREFIX_EVEX_0F38A3 */
  1820.   {
  1821.     { Bad_Opcode },
  1822.     { Bad_Opcode },
  1823.     { VEX_W_TABLE (EVEX_W_0F38A3_P_2) },
  1824.   },
  1825.   /* PREFIX_EVEX_0F38A6 */
  1826.   {
  1827.     { Bad_Opcode },
  1828.     { Bad_Opcode },
  1829.     { "vfmaddsub213p%XW",       { XM, Vex, EXx, EXxEVexR } },
  1830.   },
  1831.   /* PREFIX_EVEX_0F38A7 */
  1832.   {
  1833.     { Bad_Opcode },
  1834.     { Bad_Opcode },
  1835.     { "vfmsubadd213p%XW",       { XM, Vex, EXx, EXxEVexR } },
  1836.   },
  1837.   /* PREFIX_EVEX_0F38A8 */
  1838.   {
  1839.     { Bad_Opcode },
  1840.     { Bad_Opcode },
  1841.     { "vfmadd213p%XW"{ XM, Vex, EXx, EXxEVexR } },
  1842.   },
  1843.   /* PREFIX_EVEX_0F38A9 */
  1844.   {
  1845.     { Bad_Opcode },
  1846.     { Bad_Opcode },
  1847.     { "vfmadd213s%XW"{ XMScalar, VexScalar, EXxmm_mdq, EXxEVexR } },
  1848.   },
  1849.   /* PREFIX_EVEX_0F38AA */
  1850.   {
  1851.     { Bad_Opcode },
  1852.     { Bad_Opcode },
  1853.     { "vfmsub213p%XW"{ XM, Vex, EXx, EXxEVexR } },
  1854.   },
  1855.   /* PREFIX_EVEX_0F38AB */
  1856.   {
  1857.     { Bad_Opcode },
  1858.     { Bad_Opcode },
  1859.     { "vfmsub213s%XW"{ XMScalar, VexScalar, EXxmm_mdq, EXxEVexR } },
  1860.   },
  1861.   /* PREFIX_EVEX_0F38AC */
  1862.   {
  1863.     { Bad_Opcode },
  1864.     { Bad_Opcode },
  1865.     { "vfnmadd213p%XW", { XM, Vex, EXx, EXxEVexR } },
  1866.   },
  1867.   /* PREFIX_EVEX_0F38AD */
  1868.   {
  1869.     { Bad_Opcode },
  1870.     { Bad_Opcode },
  1871.     { "vfnmadd213s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR } },
  1872.   },
  1873.   /* PREFIX_EVEX_0F38AE */
  1874.   {
  1875.     { Bad_Opcode },
  1876.     { Bad_Opcode },
  1877.     { "vfnmsub213p%XW", { XM, Vex, EXx, EXxEVexR } },
  1878.   },
  1879.   /* PREFIX_EVEX_0F38AF */
  1880.   {
  1881.     { Bad_Opcode },
  1882.     { Bad_Opcode },
  1883.     { "vfnmsub213s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR } },
  1884.   },
  1885.   /* PREFIX_EVEX_0F38B6 */
  1886.   {
  1887.     { Bad_Opcode },
  1888.     { Bad_Opcode },
  1889.     { "vfmaddsub231p%XW",       { XM, Vex, EXx, EXxEVexR } },
  1890.   },
  1891.   /* PREFIX_EVEX_0F38B7 */
  1892.   {
  1893.     { Bad_Opcode },
  1894.     { Bad_Opcode },
  1895.     { "vfmsubadd231p%XW",       { XM, Vex, EXx, EXxEVexR } },
  1896.   },
  1897.   /* PREFIX_EVEX_0F38B8 */
  1898.   {
  1899.     { Bad_Opcode },
  1900.     { Bad_Opcode },
  1901.     { "vfmadd231p%XW"{ XM, Vex, EXx, EXxEVexR } },
  1902.   },
  1903.   /* PREFIX_EVEX_0F38B9 */
  1904.   {
  1905.     { Bad_Opcode },
  1906.     { Bad_Opcode },
  1907.     { "vfmadd231s%XW"{ XMScalar, VexScalar, EXxmm_mdq, EXxEVexR } },
  1908.   },
  1909.   /* PREFIX_EVEX_0F38BA */
  1910.   {
  1911.     { Bad_Opcode },
  1912.     { Bad_Opcode },
  1913.     { "vfmsub231p%XW"{ XM, Vex, EXx, EXxEVexR } },
  1914.   },
  1915.   /* PREFIX_EVEX_0F38BB */
  1916.   {
  1917.     { Bad_Opcode },
  1918.     { Bad_Opcode },
  1919.     { "vfmsub231s%XW"{ XMScalar, VexScalar, EXxmm_mdq, EXxEVexR } },
  1920.   },
  1921.   /* PREFIX_EVEX_0F38BC */
  1922.   {
  1923.     { Bad_Opcode },
  1924.     { Bad_Opcode },
  1925.     { "vfnmadd231p%XW", { XM, Vex, EXx, EXxEVexR } },
  1926.   },
  1927.   /* PREFIX_EVEX_0F38BD */
  1928.   {
  1929.     { Bad_Opcode },
  1930.     { Bad_Opcode },
  1931.     { "vfnmadd231s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR } },
  1932.   },
  1933.   /* PREFIX_EVEX_0F38BE */
  1934.   {
  1935.     { Bad_Opcode },
  1936.     { Bad_Opcode },
  1937.     { "vfnmsub231p%XW", { XM, Vex, EXx, EXxEVexR } },
  1938.   },
  1939.   /* PREFIX_EVEX_0F38BF */
  1940.   {
  1941.     { Bad_Opcode },
  1942.     { Bad_Opcode },
  1943.     { "vfnmsub231s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR } },
  1944.   },
  1945.   /* PREFIX_EVEX_0F38C4 */
  1946.   {
  1947.     { Bad_Opcode },
  1948.     { Bad_Opcode },
  1949.     { "vpconflict%LW"{ XM, EXx } },
  1950.   },
  1951.   /* PREFIX_EVEX_0F38C6_REG_1 */
  1952.   {
  1953.     { Bad_Opcode },
  1954.     { Bad_Opcode },
  1955.     { "vgatherpf0dp%XW",  { MVexVSIBDWpX } },
  1956.   },
  1957.   /* PREFIX_EVEX_0F38C6_REG_2 */
  1958.   {
  1959.     { Bad_Opcode },
  1960.     { Bad_Opcode },
  1961.     { "vgatherpf1dp%XW",  { MVexVSIBDWpX } },
  1962.   },
  1963.   /* PREFIX_EVEX_0F38C6_REG_5 */
  1964.   {
  1965.     { Bad_Opcode },
  1966.     { Bad_Opcode },
  1967.     { "vscatterpf0dp%XW",  { MVexVSIBDWpX } },
  1968.   },
  1969.   /* PREFIX_EVEX_0F38C6_REG_6 */
  1970.   {
  1971.     { Bad_Opcode },
  1972.     { Bad_Opcode },
  1973.     { "vscatterpf1dp%XW",  { MVexVSIBDWpX } },
  1974.   },
  1975.   /* PREFIX_EVEX_0F38C7_REG_1 */
  1976.   {
  1977.     { Bad_Opcode },
  1978.     { Bad_Opcode },
  1979.     { VEX_W_TABLE (EVEX_W_0F38C7_R_1_P_2) },
  1980.   },
  1981.   /* PREFIX_EVEX_0F38C7_REG_2 */
  1982.   {
  1983.     { Bad_Opcode },
  1984.     { Bad_Opcode },
  1985.     { VEX_W_TABLE (EVEX_W_0F38C7_R_2_P_2) },
  1986.   },
  1987.   /* PREFIX_EVEX_0F38C7_REG_5 */
  1988.   {
  1989.     { Bad_Opcode },
  1990.     { Bad_Opcode },
  1991.     { VEX_W_TABLE (EVEX_W_0F38C7_R_5_P_2) },
  1992.   },
  1993.   /* PREFIX_EVEX_0F38C7_REG_6 */
  1994.   {
  1995.     { Bad_Opcode },
  1996.     { Bad_Opcode },
  1997.     { VEX_W_TABLE (EVEX_W_0F38C7_R_6_P_2) },
  1998.   },
  1999.   /* PREFIX_EVEX_0F38C8 */
  2000.   {
  2001.     { Bad_Opcode },
  2002.     { Bad_Opcode },
  2003.     { "vexp2p%XW",        { XM, EXx, EXxEVexS } },
  2004.   },
  2005.   /* PREFIX_EVEX_0F38CA */
  2006.   {
  2007.     { Bad_Opcode },
  2008.     { Bad_Opcode },
  2009.     { "vrcp28p%XW",       { XM, EXx, EXxEVexS } },
  2010.   },
  2011.   /* PREFIX_EVEX_0F38CB */
  2012.   {
  2013.     { Bad_Opcode },
  2014.     { Bad_Opcode },
  2015.     { "vrcp28s%XW",       { XMScalar, VexScalar, EXxmm_mdq, EXxEVexS } },
  2016.   },
  2017.   /* PREFIX_EVEX_0F38CC */
  2018.   {
  2019.     { Bad_Opcode },
  2020.     { Bad_Opcode },
  2021.     { "vrsqrt28p%XW",     { XM, EXx, EXxEVexS } },
  2022.   },
  2023.   /* PREFIX_EVEX_0F38CD */
  2024.   {
  2025.     { Bad_Opcode },
  2026.     { Bad_Opcode },
  2027.     { "vrsqrt28s%XW",     { XMScalar, VexScalar, EXxmm_mdq, EXxEVexS } },
  2028.   },
  2029.   /* PREFIX_EVEX_0F3A00 */
  2030.   {
  2031.     { Bad_Opcode },
  2032.     { Bad_Opcode },
  2033.     { VEX_W_TABLE (EVEX_W_0F3A00_P_2) },
  2034.   },
  2035.   /* PREFIX_EVEX_0F3A01 */
  2036.   {
  2037.     { Bad_Opcode },
  2038.     { Bad_Opcode },
  2039.     { VEX_W_TABLE (EVEX_W_0F3A01_P_2) },
  2040.   },
  2041.   /* PREFIX_EVEX_0F3A03 */
  2042.   {
  2043.     { Bad_Opcode },
  2044.     { Bad_Opcode },
  2045.     { "valign%LW",      { XM, Vex, EXx, Ib } },
  2046.   },
  2047.   /* PREFIX_EVEX_0F3A04 */
  2048.   {
  2049.     { Bad_Opcode },
  2050.     { Bad_Opcode },
  2051.     { VEX_W_TABLE (EVEX_W_0F3A04_P_2) },
  2052.   },
  2053.   /* PREFIX_EVEX_0F3A05 */
  2054.   {
  2055.     { Bad_Opcode },
  2056.     { Bad_Opcode },
  2057.     { VEX_W_TABLE (EVEX_W_0F3A05_P_2) },
  2058.   },
  2059.   /* PREFIX_EVEX_0F3A08 */
  2060.   {
  2061.     { Bad_Opcode },
  2062.     { Bad_Opcode },
  2063.     { VEX_W_TABLE (EVEX_W_0F3A08_P_2) },
  2064.   },
  2065.   /* PREFIX_EVEX_0F3A09 */
  2066.   {
  2067.     { Bad_Opcode },
  2068.     { Bad_Opcode },
  2069.     { VEX_W_TABLE (EVEX_W_0F3A09_P_2) },
  2070.   },
  2071.   /* PREFIX_EVEX_0F3A0A */
  2072.   {
  2073.     { Bad_Opcode },
  2074.     { Bad_Opcode },
  2075.     { VEX_W_TABLE (EVEX_W_0F3A0A_P_2) },
  2076.   },
  2077.   /* PREFIX_EVEX_0F3A0B */
  2078.   {
  2079.     { Bad_Opcode },
  2080.     { Bad_Opcode },
  2081.     { VEX_W_TABLE (EVEX_W_0F3A0B_P_2) },
  2082.   },
  2083.   /* PREFIX_EVEX_0F3A17 */
  2084.   {
  2085.     { Bad_Opcode },
  2086.     { Bad_Opcode },
  2087.     { "vextractps",     { Edqd, XMM, Ib } },
  2088.   },
  2089.   /* PREFIX_EVEX_0F3A18 */
  2090.   {
  2091.     { Bad_Opcode },
  2092.     { Bad_Opcode },
  2093.     { VEX_W_TABLE (EVEX_W_0F3A18_P_2) },
  2094.   },
  2095.   /* PREFIX_EVEX_0F3A19 */
  2096.   {
  2097.     { Bad_Opcode },
  2098.     { Bad_Opcode },
  2099.     { VEX_W_TABLE (EVEX_W_0F3A19_P_2) },
  2100.   },
  2101.   /* PREFIX_EVEX_0F3A1A */
  2102.   {
  2103.     { Bad_Opcode },
  2104.     { Bad_Opcode },
  2105.     { VEX_W_TABLE (EVEX_W_0F3A1A_P_2) },
  2106.   },
  2107.   /* PREFIX_EVEX_0F3A1B */
  2108.   {
  2109.     { Bad_Opcode },
  2110.     { Bad_Opcode },
  2111.     { VEX_W_TABLE (EVEX_W_0F3A1B_P_2) },
  2112.   },
  2113.   /* PREFIX_EVEX_0F3A1D */
  2114.   {
  2115.     { Bad_Opcode },
  2116.     { Bad_Opcode },
  2117.     { VEX_W_TABLE (EVEX_W_0F3A1D_P_2) },
  2118.   },
  2119.   /* PREFIX_EVEX_0F3A1E */
  2120.   {
  2121.     { Bad_Opcode },
  2122.     { Bad_Opcode },
  2123.     { "vpcmpu%LW",      { XMask, Vex, EXx, VPCMP } },
  2124.   },
  2125.   /* PREFIX_EVEX_0F3A1F */
  2126.   {
  2127.     { Bad_Opcode },
  2128.     { Bad_Opcode },
  2129.     { "vpcmp%LW",       { XMask, Vex, EXx, VPCMP } },
  2130.   },
  2131.   /* PREFIX_EVEX_0F3A21 */
  2132.   {
  2133.     { Bad_Opcode },
  2134.     { Bad_Opcode },
  2135.     { VEX_W_TABLE (EVEX_W_0F3A21_P_2) },
  2136.   },
  2137.   /* PREFIX_EVEX_0F3A23 */
  2138.   {
  2139.     { Bad_Opcode },
  2140.     { Bad_Opcode },
  2141.     { VEX_W_TABLE (EVEX_W_0F3A23_P_2) },
  2142.   },
  2143.   /* PREFIX_EVEX_0F3A25 */
  2144.   {
  2145.     { Bad_Opcode },
  2146.     { Bad_Opcode },
  2147.     { "vpternlog%LW",   { XM, Vex, EXx, Ib } },
  2148.   },
  2149.   /* PREFIX_EVEX_0F3A26 */
  2150.   {
  2151.     { Bad_Opcode },
  2152.     { Bad_Opcode },
  2153.     { "vgetmantp%XW",   { XM, EXx, EXxEVexS, Ib } },
  2154.   },
  2155.   /* PREFIX_EVEX_0F3A27 */
  2156.   {
  2157.     { Bad_Opcode },
  2158.     { Bad_Opcode },
  2159.     { "vgetmants%XW",   { XMScalar, VexScalar, EXxmm_mdq, EXxEVexS, Ib } },
  2160.   },
  2161.   /* PREFIX_EVEX_0F3A38 */
  2162.   {
  2163.     { Bad_Opcode },
  2164.     { Bad_Opcode },
  2165.     { VEX_W_TABLE (EVEX_W_0F3A38_P_2) },
  2166.   },
  2167.   /* PREFIX_EVEX_0F3A39 */
  2168.   {
  2169.     { Bad_Opcode },
  2170.     { Bad_Opcode },
  2171.     { VEX_W_TABLE (EVEX_W_0F3A39_P_2) },
  2172.   },
  2173.   /* PREFIX_EVEX_0F3A3A */
  2174.   {
  2175.     { Bad_Opcode },
  2176.     { Bad_Opcode },
  2177.     { VEX_W_TABLE (EVEX_W_0F3A3A_P_2) },
  2178.   },
  2179.   /* PREFIX_EVEX_0F3A3B */
  2180.   {
  2181.     { Bad_Opcode },
  2182.     { Bad_Opcode },
  2183.     { VEX_W_TABLE (EVEX_W_0F3A3B_P_2) },
  2184.   },
  2185.   /* PREFIX_EVEX_0F3A43 */
  2186.   {
  2187.     { Bad_Opcode },
  2188.     { Bad_Opcode },
  2189.     { VEX_W_TABLE (EVEX_W_0F3A43_P_2) },
  2190.   },
  2191.   /* PREFIX_EVEX_0F3A54 */
  2192.   {
  2193.     { Bad_Opcode },
  2194.     { Bad_Opcode },
  2195.     { "vfixupimmp%XW"{ XM, Vex, EXx, EXxEVexS, Ib } },
  2196.   },
  2197.   /* PREFIX_EVEX_0F3A55 */
  2198.   {
  2199.     { Bad_Opcode },
  2200.     { Bad_Opcode },
  2201.     { "vfixupimms%XW"{ XMScalar, VexScalar, EXxmm_mdq, EXxEVexS, Ib } },
  2202.   },
  2203. #endif /* NEED_PREFIX_TABLE */
  2204.  
  2205. #ifdef NEED_VEX_W_TABLE
  2206.   /* EVEX_W_0F10_P_0 */
  2207.   {
  2208.     { "vmovups",        { XM, EXEvexXNoBcst } },
  2209.   },
  2210.   /* EVEX_W_0F10_P_1_M_0 */
  2211.   {
  2212.     { "vmovss", { XMScalar, EXdScalar } },
  2213.   },
  2214.   /* EVEX_W_0F10_P_1_M_1 */
  2215.   {
  2216.     { "vmovss", { XMScalar, VexScalar, EXx } },
  2217.   },
  2218.   /* EVEX_W_0F10_P_2 */
  2219.   {
  2220.     { Bad_Opcode },
  2221.     { "vmovupd",        { XM, EXEvexXNoBcst } },
  2222.   },
  2223.   /* EVEX_W_0F10_P_3_M_0 */
  2224.   {
  2225.     { Bad_Opcode },
  2226.     { "vmovsd", { XMScalar, EXqScalar } },
  2227.   },
  2228.   /* EVEX_W_0F10_P_3_M_1 */
  2229.   {
  2230.     { Bad_Opcode },
  2231.     { "vmovsd", { XMScalar, VexScalar, EXx } },
  2232.   },
  2233.   /* EVEX_W_0F11_P_0 */
  2234.   {
  2235.     { "vmovups",        { EXxS, XM } },
  2236.   },
  2237.   /* EVEX_W_0F11_P_1_M_0 */
  2238.   {
  2239.     { "vmovss", { EXdScalarS, XMScalar } },
  2240.   },
  2241.   /* EVEX_W_0F11_P_1_M_1 */
  2242.   {
  2243.     { "vmovss", { EXxS, Vex, XMScalar } },
  2244.   },
  2245.   /* EVEX_W_0F11_P_2 */
  2246.   {
  2247.     { Bad_Opcode },
  2248.     { "vmovupd",        { EXxS, XM } },
  2249.   },
  2250.   /* EVEX_W_0F11_P_3_M_0 */
  2251.   {
  2252.     { Bad_Opcode },
  2253.     { "vmovsd", { EXqScalarS, XMScalar } },
  2254.   },
  2255.   /* EVEX_W_0F11_P_3_M_1 */
  2256.   {
  2257.     { Bad_Opcode },
  2258.     { "vmovsd", { EXxS, Vex, XMScalar } },
  2259.   },
  2260.   /* EVEX_W_0F12_P_0_M_0 */
  2261.   {
  2262.     { "vmovlps",        { XMM, Vex, EXxmm_mq } },
  2263.   },
  2264.   /* EVEX_W_0F12_P_0_M_1 */
  2265.   {
  2266.     { "vmovhlps",       { XMM, Vex, EXxmm_mq } },
  2267.   },
  2268.   /* EVEX_W_0F12_P_1 */
  2269.   {
  2270.     { "vmovsldup",      { XM, EXEvexXNoBcst } },
  2271.   },
  2272.   /* EVEX_W_0F12_P_2 */
  2273.   {
  2274.     { Bad_Opcode },
  2275.     { "vmovlpd",        { XMM, Vex, EXxmm_mq } },
  2276.   },
  2277.   /* EVEX_W_0F12_P_3 */
  2278.   {
  2279.     { Bad_Opcode },
  2280.     { "vmovddup",       { XM, EXymmq } },
  2281.   },
  2282.   /* EVEX_W_0F13_P_0 */
  2283.   {
  2284.     { "vmovlps",        { EXxmm_mq, XMM } },
  2285.   },
  2286.   /* EVEX_W_0F13_P_2 */
  2287.   {
  2288.     { Bad_Opcode },
  2289.     { "vmovlpd",        { EXxmm_mq, XMM } },
  2290.   },
  2291.   /* EVEX_W_0F14_P_0 */
  2292.   {
  2293.     { "vunpcklps",      { XM, Vex, EXx } },
  2294.   },
  2295.   /* EVEX_W_0F14_P_2 */
  2296.   {
  2297.     { Bad_Opcode },
  2298.     { "vunpcklpd",      { XM, Vex, EXx } },
  2299.   },
  2300.   /* EVEX_W_0F15_P_0 */
  2301.   {
  2302.     { "vunpckhps",      { XM, Vex, EXx } },
  2303.   },
  2304.   /* EVEX_W_0F15_P_2 */
  2305.   {
  2306.     { Bad_Opcode },
  2307.     { "vunpckhpd",      { XM, Vex, EXx } },
  2308.   },
  2309.   /* EVEX_W_0F16_P_0_M_0 */
  2310.   {
  2311.     { "vmovhps",        { XMM, Vex, EXxmm_mq } },
  2312.   },
  2313.   /* EVEX_W_0F16_P_0_M_1 */
  2314.   {
  2315.     { "vmovlhps",       { XMM, Vex, EXx } },
  2316.   },
  2317.   /* EVEX_W_0F16_P_1 */
  2318.   {
  2319.     { "vmovshdup",      { XM, EXx } },
  2320.   },
  2321.   /* EVEX_W_0F16_P_2 */
  2322.   {
  2323.     { Bad_Opcode },
  2324.     { "vmovhpd",        { XMM, Vex, EXxmm_mq } },
  2325.   },
  2326.   /* EVEX_W_0F17_P_0 */
  2327.   {
  2328.     { "vmovhps",        { EXxmm_mq, XMM } },
  2329.   },
  2330.   /* EVEX_W_0F17_P_2 */
  2331.   {
  2332.     { Bad_Opcode },
  2333.     { "vmovhpd",        { EXxmm_mq, XMM } },
  2334.   },
  2335.   /* EVEX_W_0F28_P_0 */
  2336.   {
  2337.     { "vmovaps",        { XM, EXx } },
  2338.   },
  2339.   /* EVEX_W_0F28_P_2 */
  2340.   {
  2341.     { Bad_Opcode },
  2342.     { "vmovapd",        { XM, EXx } },
  2343.   },
  2344.   /* EVEX_W_0F29_P_0 */
  2345.   {
  2346.     { "vmovaps",        { EXxS, XM } },
  2347.   },
  2348.   /* EVEX_W_0F29_P_2 */
  2349.   {
  2350.     { Bad_Opcode },
  2351.     { "vmovapd",        { EXxS, XM } },
  2352.   },
  2353.   /* EVEX_W_0F2A_P_1 */
  2354.   {
  2355.     { "vcvtsi2ss",      { XMScalar, VexScalar, EXxEVexR, Ed } },
  2356.     { "vcvtsi2ss",      { XMScalar, VexScalar, EXxEVexR, Eq } },
  2357.   },
  2358.   /* EVEX_W_0F2A_P_3 */
  2359.   {
  2360.     { "vcvtsi2sd",      { XMScalar, VexScalar, Ed } },
  2361.     { "vcvtsi2sd",      { XMScalar, VexScalar, EXxEVexR, Eq } },
  2362.   },
  2363.   /* EVEX_W_0F2B_P_0 */
  2364.   {
  2365.     { "vmovntps",       { EXx, XM } },
  2366.   },
  2367.   /* EVEX_W_0F2B_P_2 */
  2368.   {
  2369.     { Bad_Opcode },
  2370.     { "vmovntpd",       { EXx, XM } },
  2371.   },
  2372.   /* EVEX_W_0F2E_P_0 */
  2373.   {
  2374.     { "vucomiss",       { XMScalar, EXxmm_md, EXxEVexS } },
  2375.   },
  2376.   /* EVEX_W_0F2E_P_2 */
  2377.   {
  2378.     { Bad_Opcode },
  2379.     { "vucomisd",       { XMScalar, EXxmm_mq, EXxEVexS } },
  2380.   },
  2381.   /* EVEX_W_0F2F_P_0 */
  2382.   {
  2383.     { "vcomiss",        { XMScalar, EXxmm_md, EXxEVexS } },
  2384.   },
  2385.   /* EVEX_W_0F2F_P_2 */
  2386.   {
  2387.     { Bad_Opcode },
  2388.     { "vcomisd",        { XMScalar, EXxmm_mq, EXxEVexS } },
  2389.   },
  2390.   /* EVEX_W_0F51_P_0 */
  2391.   {
  2392.     { "vsqrtps",        { XM, EXx, EXxEVexR } },
  2393.   },
  2394.   /* EVEX_W_0F51_P_1 */
  2395.   {
  2396.     { "vsqrtss",        { XMScalar, VexScalar, EXxmm_md, EXxEVexR } },
  2397.   },
  2398.   /* EVEX_W_0F51_P_2 */
  2399.   {
  2400.     { Bad_Opcode },
  2401.     { "vsqrtpd",        { XM, EXx, EXxEVexR } },
  2402.   },
  2403.   /* EVEX_W_0F51_P_3 */
  2404.   {
  2405.     { Bad_Opcode },
  2406.     { "vsqrtsd",        { XMScalar, VexScalar, EXxmm_mq, EXxEVexR } },
  2407.   },
  2408.   /* EVEX_W_0F58_P_0 */
  2409.   {
  2410.     { "vaddps", { XM, Vex, EXx, EXxEVexR } },
  2411.   },
  2412.   /* EVEX_W_0F58_P_1 */
  2413.   {
  2414.     { "vaddss", { XMScalar, VexScalar, EXxmm_md, EXxEVexR } },
  2415.   },
  2416.   /* EVEX_W_0F58_P_2 */
  2417.   {
  2418.     { Bad_Opcode },
  2419.     { "vaddpd", { XM, Vex, EXx, EXxEVexR } },
  2420.   },
  2421.   /* EVEX_W_0F58_P_3 */
  2422.   {
  2423.     { Bad_Opcode },
  2424.     { "vaddsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR } },
  2425.   },
  2426.   /* EVEX_W_0F59_P_0 */
  2427.   {
  2428.     { "vmulps", { XM, Vex, EXx, EXxEVexR } },
  2429.   },
  2430.   /* EVEX_W_0F59_P_1 */
  2431.   {
  2432.     { "vmulss", { XMScalar, VexScalar, EXxmm_md, EXxEVexR } },
  2433.   },
  2434.   /* EVEX_W_0F59_P_2 */
  2435.   {
  2436.     { Bad_Opcode },
  2437.     { "vmulpd", { XM, Vex, EXx, EXxEVexR } },
  2438.   },
  2439.   /* EVEX_W_0F59_P_3 */
  2440.   {
  2441.     { Bad_Opcode },
  2442.     { "vmulsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR } },
  2443.   },
  2444.   /* EVEX_W_0F5A_P_0 */
  2445.   {
  2446.     { "vcvtps2pd",   { XM, EXEvexHalfBcstXmmq, EXxEVexS } },
  2447.   },
  2448.   /* EVEX_W_0F5A_P_1 */
  2449.   {
  2450.     { "vcvtss2sd",      { XMScalar, VexScalar, EXxmm_md, EXxEVexS } },
  2451.   },
  2452.   /* EVEX_W_0F5A_P_2 */
  2453.   {
  2454.     { Bad_Opcode },
  2455.     { "vcvtpd2ps",      { XMxmmq, EXx, EXxEVexR } },
  2456.   },
  2457.   /* EVEX_W_0F5A_P_3 */
  2458.   {
  2459.     { Bad_Opcode },
  2460.     { "vcvtsd2ss",      { XMScalar, VexScalar, EXxmm_mq, EXxEVexR } },
  2461.   },
  2462.   /* EVEX_W_0F5B_P_0 */
  2463.   {
  2464.     { "vcvtdq2ps",      { XM, EXx, EXxEVexR } },
  2465.   },
  2466.   /* EVEX_W_0F5B_P_1 */
  2467.   {
  2468.     { "vcvttps2dq",     { XM, EXx, EXxEVexS } },
  2469.   },
  2470.   /* EVEX_W_0F5B_P_2 */
  2471.   {
  2472.     { "vcvtps2dq",      { XM, EXx, EXxEVexR } },
  2473.   },
  2474.   /* EVEX_W_0F5C_P_0 */
  2475.   {
  2476.     { "vsubps", { XM, Vex, EXx, EXxEVexR } },
  2477.   },
  2478.   /* EVEX_W_0F5C_P_1 */
  2479.   {
  2480.     { "vsubss", { XMScalar, VexScalar, EXxmm_md, EXxEVexR } },
  2481.   },
  2482.   /* EVEX_W_0F5C_P_2 */
  2483.   {
  2484.     { Bad_Opcode },
  2485.     { "vsubpd", { XM, Vex, EXx, EXxEVexR } },
  2486.   },
  2487.   /* EVEX_W_0F5C_P_3 */
  2488.   {
  2489.     { Bad_Opcode },
  2490.     { "vsubsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR } },
  2491.   },
  2492.   /* EVEX_W_0F5D_P_0 */
  2493.   {
  2494.     { "vminps", { XM, Vex, EXx, EXxEVexS } },
  2495.   },
  2496.   /* EVEX_W_0F5D_P_1 */
  2497.   {
  2498.     { "vminss", { XMScalar, VexScalar, EXxmm_md, EXxEVexS } },
  2499.   },
  2500.   /* EVEX_W_0F5D_P_2 */
  2501.   {
  2502.     { Bad_Opcode },
  2503.     { "vminpd", { XM, Vex, EXx, EXxEVexS } },
  2504.   },
  2505.   /* EVEX_W_0F5D_P_3 */
  2506.   {
  2507.     { Bad_Opcode },
  2508.     { "vminsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexS } },
  2509.   },
  2510.   /* EVEX_W_0F5E_P_0 */
  2511.   {
  2512.     { "vdivps", { XM, Vex, EXx, EXxEVexR } },
  2513.   },
  2514.   /* EVEX_W_0F5E_P_1 */
  2515.   {
  2516.     { "vdivss", { XMScalar, VexScalar, EXxmm_md, EXxEVexR } },
  2517.   },
  2518.   /* EVEX_W_0F5E_P_2 */
  2519.   {
  2520.     { Bad_Opcode },
  2521.     { "vdivpd", { XM, Vex, EXx, EXxEVexR } },
  2522.   },
  2523.   /* EVEX_W_0F5E_P_3 */
  2524.   {
  2525.     { Bad_Opcode },
  2526.     { "vdivsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR } },
  2527.   },
  2528.   /* EVEX_W_0F5F_P_0 */
  2529.   {
  2530.     { "vmaxps", { XM, Vex, EXx, EXxEVexS } },
  2531.   },
  2532.   /* EVEX_W_0F5F_P_1 */
  2533.   {
  2534.     { "vmaxss", { XMScalar, VexScalar, EXxmm_md, EXxEVexS } },
  2535.   },
  2536.   /* EVEX_W_0F5F_P_2 */
  2537.   {
  2538.     { Bad_Opcode },
  2539.     { "vmaxpd", { XM, Vex, EXx, EXxEVexS } },
  2540.   },
  2541.   /* EVEX_W_0F5F_P_3 */
  2542.   {
  2543.     { Bad_Opcode },
  2544.     { "vmaxsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexS } },
  2545.   },
  2546.   /* EVEX_W_0F62_P_2 */
  2547.   {
  2548.     { "vpunpckldq",     { XM, Vex, EXx } },
  2549.   },
  2550.   /* EVEX_W_0F66_P_2 */
  2551.   {
  2552.     { "vpcmpgtd",       { XMask, Vex, EXx } },
  2553.   },
  2554.   /* EVEX_W_0F6A_P_2 */
  2555.   {
  2556.     { "vpunpckhdq",     { XM, Vex, EXx } },
  2557.   },
  2558.   /* EVEX_W_0F6C_P_2 */
  2559.   {
  2560.     { Bad_Opcode },
  2561.     { "vpunpcklqdq",    { XM, Vex, EXx } },
  2562.   },
  2563.   /* EVEX_W_0F6D_P_2 */
  2564.   {
  2565.     { Bad_Opcode },
  2566.     { "vpunpckhqdq",    { XM, Vex, EXx } },
  2567.   },
  2568.   /* EVEX_W_0F6E_P_2 */
  2569.   {
  2570.     { "vmovd"{ XMScalar, Ed } },
  2571.     { "vmovq"{ XMScalar, Eq } },
  2572.   },
  2573.   /* EVEX_W_0F6F_P_1 */
  2574.   {
  2575.     { "vmovdqu32",      { XM, EXEvexXNoBcst } },
  2576.     { "vmovdqu64",      { XM, EXEvexXNoBcst } },
  2577.   },
  2578.   /* EVEX_W_0F6F_P_2 */
  2579.   {
  2580.     { "vmovdqa32",      { XM, EXEvexXNoBcst } },
  2581.     { "vmovdqa64",      { XM, EXEvexXNoBcst } },
  2582.   },
  2583.   /* EVEX_W_0F70_P_2 */
  2584.   {
  2585.     { "vpshufd",        { XM, EXx, Ib } },
  2586.   },
  2587.   /* EVEX_W_0F72_R_2_P_2 */
  2588.   {
  2589.     { "vpsrld", { Vex, EXx, Ib } },
  2590.   },
  2591.   /* EVEX_W_0F72_R_6_P_2 */
  2592.   {
  2593.     { "vpslld", { Vex, EXx, Ib } },
  2594.   },
  2595.   /* EVEX_W_0F73_R_2_P_2 */
  2596.   {
  2597.     { Bad_Opcode },
  2598.     { "vpsrlq", { Vex, EXx, Ib } },
  2599.   },
  2600.   /* EVEX_W_0F73_R_6_P_2 */
  2601.   {
  2602.     { Bad_Opcode },
  2603.     { "vpsllq", { Vex, EXx, Ib } },
  2604.   },
  2605.   /* EVEX_W_0F76_P_2 */
  2606.   {
  2607.     { "vpcmpeqd",       { XMask, Vex, EXx } },
  2608.   },
  2609.   /* EVEX_W_0F78_P_0 */
  2610.   {
  2611.     { "vcvttps2udq",    { XM, EXx, EXxEVexS } },
  2612.     { "vcvttpd2udq",    { XMxmmq, EXx, EXxEVexS } },
  2613.   },
  2614.   /* EVEX_W_0F79_P_0 */
  2615.   {
  2616.     { "vcvtps2udq",     { XM, EXx, EXxEVexR } },
  2617.     { "vcvtpd2udq",     { XMxmmq, EXx, EXxEVexR } },
  2618.   },
  2619.   /* EVEX_W_0F7A_P_1 */
  2620.   {
  2621.     { "vcvtudq2pd",     { XM, EXEvexHalfBcstXmmq } },
  2622.   },
  2623.   /* EVEX_W_0F7A_P_3 */
  2624.   {
  2625.     { "vcvtudq2ps",     { XM, EXx, EXxEVexR } },
  2626.   },
  2627.   /* EVEX_W_0F7B_P_1 */
  2628.   {
  2629.     { "vcvtusi2ss",     { XMScalar, VexScalar, EXxEVexR, Ed } },
  2630.     { "vcvtusi2ss",     { XMScalar, VexScalar, EXxEVexR, Eq } },
  2631.   },
  2632.   /* EVEX_W_0F7B_P_3 */
  2633.   {
  2634.     { "vcvtusi2sd",     { XMScalar, VexScalar, Ed } },
  2635.     { "vcvtusi2sd",     { XMScalar, VexScalar, EXxEVexR, Eq } },
  2636.   },
  2637.   /* EVEX_W_0F7E_P_1 */
  2638.   {
  2639.     { Bad_Opcode },
  2640.     { "vmovq"{ XMScalar, EXxmm_mq } },
  2641.   },
  2642.   /* EVEX_W_0F7E_P_2 */
  2643.   {
  2644.     { "vmovd"{ Ed, XMScalar } },
  2645.     { "vmovq"{ Eq, XMScalar } },
  2646.   },
  2647.   /* EVEX_W_0F7F_P_1 */
  2648.   {
  2649.     { "vmovdqu32",      { EXxS, XM } },
  2650.     { "vmovdqu64",      { EXxS, XM } },
  2651.   },
  2652.   /* EVEX_W_0F7F_P_2 */
  2653.   {
  2654.     { "vmovdqa32",      { EXxS, XM } },
  2655.     { "vmovdqa64",      { EXxS, XM } },
  2656.   },
  2657.   /* EVEX_W_0FC2_P_0 */
  2658.   {
  2659.     { "vcmpps", { XMask, Vex, EXx, EXxEVexS, VCMP } },
  2660.   },
  2661.   /* EVEX_W_0FC2_P_1 */
  2662.   {
  2663.     { "vcmpss", { XMask, VexScalar, EXxmm_md, EXxEVexS, VCMP } },
  2664.   },
  2665.   /* EVEX_W_0FC2_P_2 */
  2666.   {
  2667.     { Bad_Opcode },
  2668.     { "vcmppd", { XMask, Vex, EXx, EXxEVexS, VCMP } },
  2669.   },
  2670.   /* EVEX_W_0FC2_P_3 */
  2671.   {
  2672.     { Bad_Opcode },
  2673.     { "vcmpsd", { XMask, VexScalar, EXxmm_mq, EXxEVexS, VCMP } },
  2674.   },
  2675.   /* EVEX_W_0FC6_P_0 */
  2676.   {
  2677.     { "vshufps",        { XM, Vex, EXx, Ib } },
  2678.   },
  2679.   /* EVEX_W_0FC6_P_2 */
  2680.   {
  2681.     { Bad_Opcode },
  2682.     { "vshufpd",        { XM, Vex, EXx, Ib } },
  2683.   },
  2684.   /* EVEX_W_0FD2_P_2 */
  2685.   {
  2686.     { "vpsrld", { XM, Vex, EXxmm } },
  2687.   },
  2688.   /* EVEX_W_0FD3_P_2 */
  2689.   {
  2690.     { Bad_Opcode },
  2691.     { "vpsrlq", { XM, Vex, EXxmm } },
  2692.   },
  2693.   /* EVEX_W_0FD4_P_2 */
  2694.   {
  2695.     { Bad_Opcode },
  2696.     { "vpaddq", { XM, Vex, EXx } },
  2697.   },
  2698.   /* EVEX_W_0FD6_P_2 */
  2699.   {
  2700.     { Bad_Opcode },
  2701.     { "vmovq"{ EXxmm_mq, XMScalar } },
  2702.   },
  2703.   /* EVEX_W_0FE6_P_1 */
  2704.   {
  2705.     { "vcvtdq2pd",      { XM, EXEvexHalfBcstXmmq } },
  2706.   },
  2707.   /* EVEX_W_0FE6_P_2 */
  2708.   {
  2709.     { Bad_Opcode },
  2710.     { "vcvttpd2dq",     { XMxmmq, EXx, EXxEVexS } },
  2711.   },
  2712.   /* EVEX_W_0FE6_P_3 */
  2713.   {
  2714.     { Bad_Opcode },
  2715.     { "vcvtpd2dq",      { XMxmmq, EXx, EXxEVexR } },
  2716.   },
  2717.   /* EVEX_W_0FE7_P_2 */
  2718.   {
  2719.     { "vmovntdq",       { EXEvexXNoBcst, XM } },
  2720.   },
  2721.   /* EVEX_W_0FF2_P_2 */
  2722.   {
  2723.     { "vpslld", { XM, Vex, EXxmm } },
  2724.   },
  2725.   /* EVEX_W_0FF3_P_2 */
  2726.   {
  2727.     { Bad_Opcode },
  2728.     { "vpsllq", { XM, Vex, EXxmm } },
  2729.   },
  2730.   /* EVEX_W_0FF4_P_2 */
  2731.   {
  2732.     { Bad_Opcode },
  2733.     { "vpmuludq",       { XM, Vex, EXx } },
  2734.   },
  2735.   /* EVEX_W_0FFA_P_2 */
  2736.   {
  2737.     { "vpsubd", { XM, Vex, EXx } },
  2738.   },
  2739.   /* EVEX_W_0FFB_P_2 */
  2740.   {
  2741.     { Bad_Opcode },
  2742.     { "vpsubq", { XM, Vex, EXx } },
  2743.   },
  2744.   /* EVEX_W_0FFE_P_2 */
  2745.   {
  2746.     { "vpaddd", { XM, Vex, EXx } },
  2747.   },
  2748.  
  2749.   /* EVEX_W_0F380C_P_2 */
  2750.   {
  2751.     { "vpermilps",      { XM, Vex, EXx } },
  2752.   },
  2753.   /* EVEX_W_0F380D_P_2 */
  2754.   {
  2755.     { Bad_Opcode },
  2756.     { "vpermilpd",      { XM, Vex, EXx } },
  2757.   },
  2758.   /* EVEX_W_0F3811_P_1 */
  2759.   {
  2760.     { "vpmovusdb",      { EXxmmqd, XM } },
  2761.   },
  2762.   /* EVEX_W_0F3812_P_1 */
  2763.   {
  2764.     { "vpmovusqb",      { EXxmmdw, XM } },
  2765.   },
  2766.   /* EVEX_W_0F3813_P_1 */
  2767.   {
  2768.     { "vpmovusdw",      { EXxmmq, XM } },
  2769.   },
  2770.   /* EVEX_W_0F3813_P_2 */
  2771.   {
  2772.     { "vcvtph2ps",      { XM, EXxmmq, EXxEVexS } },
  2773.   },
  2774.   /* EVEX_W_0F3814_P_1 */
  2775.   {
  2776.     { "vpmovusqw",      { EXxmmqd, XM } },
  2777.   },
  2778.   /* EVEX_W_0F3815_P_1 */
  2779.   {
  2780.     { "vpmovusqd",      { EXxmmq, XM } },
  2781.   },
  2782.   /* EVEX_W_0F3818_P_2 */
  2783.   {
  2784.     { "vbroadcastss",   { XM, EXxmm_md } },
  2785.   },
  2786.   /* EVEX_W_0F3819_P_2 */
  2787.   {
  2788.     { Bad_Opcode },
  2789.     { "vbroadcastsd",   { XM, EXxmm_mq } },
  2790.   },
  2791.   /* EVEX_W_0F381A_P_2 */
  2792.   {
  2793.     { "vbroadcastf32x4",        { XM, EXxmm } },
  2794.   },
  2795.   /* EVEX_W_0F381B_P_2 */
  2796.   {
  2797.     { Bad_Opcode },
  2798.     { "vbroadcastf64x4",        { XM, EXymm } },
  2799.   },
  2800.   /* EVEX_W_0F381E_P_2 */
  2801.   {
  2802.     { "vpabsd", { XM, EXx } },
  2803.   },
  2804.   /* EVEX_W_0F381F_P_2 */
  2805.   {
  2806.     { Bad_Opcode },
  2807.     { "vpabsq", { XM, EXx } },
  2808.   },
  2809.   /* EVEX_W_0F3821_P_1 */
  2810.   {
  2811.     { "vpmovsdb",       { EXxmmqd, XM } },
  2812.   },
  2813.   /* EVEX_W_0F3822_P_1 */
  2814.   {
  2815.     { "vpmovsqb",       { EXxmmdw, XM } },
  2816.   },
  2817.   /* EVEX_W_0F3823_P_1 */
  2818.   {
  2819.     { "vpmovsdw",       { EXxmmq, XM } },
  2820.   },
  2821.   /* EVEX_W_0F3824_P_1 */
  2822.   {
  2823.     { "vpmovsqw",       { EXxmmqd, XM } },
  2824.   },
  2825.   /* EVEX_W_0F3825_P_1 */
  2826.   {
  2827.     { "vpmovsqd",       { EXxmmq, XM } },
  2828.   },
  2829.   /* EVEX_W_0F3825_P_2 */
  2830.   {
  2831.     { "vpmovsxdq",      { XM, EXxmmq } },
  2832.   },
  2833.   /* EVEX_W_0F3828_P_2 */
  2834.   {
  2835.     { Bad_Opcode },
  2836.     { "vpmuldq",        { XM, Vex, EXx } },
  2837.   },
  2838.   /* EVEX_W_0F3829_P_2 */
  2839.   {
  2840.     { Bad_Opcode },
  2841.     { "vpcmpeqq",       { XMask, Vex, EXx } },
  2842.   },
  2843.   /* EVEX_W_0F382A_P_1 */
  2844.   {
  2845.     { Bad_Opcode },
  2846.     { "vpbroadcastmb2q",        { XM, MaskR } },
  2847.   },
  2848.   /* EVEX_W_0F382A_P_2 */
  2849.   {
  2850.     { "vmovntdqa",      { XM, EXEvexXNoBcst } },
  2851.   },
  2852.   /* EVEX_W_0F3831_P_1 */
  2853.   {
  2854.     { "vpmovdb",        { EXxmmqd, XM } },
  2855.   },
  2856.   /* EVEX_W_0F3832_P_1 */
  2857.   {
  2858.     { "vpmovqb",        { EXxmmdw, XM } },
  2859.   },
  2860.   /* EVEX_W_0F3833_P_1 */
  2861.   {
  2862.     { "vpmovdw",        { EXxmmq, XM } },
  2863.   },
  2864.   /* EVEX_W_0F3834_P_1 */
  2865.   {
  2866.     { "vpmovqw",        { EXxmmqd, XM } },
  2867.   },
  2868.   /* EVEX_W_0F3835_P_1 */
  2869.   {
  2870.     { "vpmovqd",        { EXxmmq, XM } },
  2871.   },
  2872.   /* EVEX_W_0F3835_P_2 */
  2873.   {
  2874.     { "vpmovzxdq",      { XM, EXxmmq } },
  2875.   },
  2876.   /* EVEX_W_0F3837_P_2 */
  2877.   {
  2878.     { Bad_Opcode },
  2879.     { "vpcmpgtq",       { XMask, Vex, EXx } },
  2880.   },
  2881.   /* EVEX_W_0F383A_P_1 */
  2882.   {
  2883.     { "vpbroadcastmw2d",        { XM, MaskR } },
  2884.   },
  2885.   /* EVEX_W_0F3840_P_2 */
  2886.   {
  2887.     { "vpmulld",        { XM, Vex, EXx } },
  2888.   },
  2889.   /* EVEX_W_0F3858_P_2 */
  2890.   {
  2891.     { "vpbroadcastd",   { XM, EXxmm_md } },
  2892.   },
  2893.   /* EVEX_W_0F3859_P_2 */
  2894.   {
  2895.     { Bad_Opcode },
  2896.     { "vpbroadcastq",   { XM, EXxmm_mq } },
  2897.   },
  2898.   /* EVEX_W_0F385A_P_2 */
  2899.   {
  2900.     { "vbroadcasti32x4",        { XM, EXxmm } },
  2901.   },
  2902.   /* EVEX_W_0F385B_P_2 */
  2903.   {
  2904.     { Bad_Opcode },
  2905.     { "vbroadcasti64x4",        { XM, EXymm } },
  2906.   },
  2907.   /* EVEX_W_0F3891_P_2 */
  2908.   {
  2909.     { "vpgatherqd",     { XMxmmq, MVexVSIBQWpX } },
  2910.     { "vpgatherqq",     { XM, MVexVSIBQWpX } },
  2911.   },
  2912.   /* EVEX_W_0F3893_P_2 */
  2913.   {
  2914.     { "vgatherqps",     { XMxmmq, MVexVSIBQWpX } },
  2915.     { "vgatherqpd",     { XM, MVexVSIBQWpX } },
  2916.   },
  2917.   /* EVEX_W_0F38A1_P_2 */
  2918.   {
  2919.     { "vpscatterqd",    { MVexVSIBQWpX, XMxmmq } },
  2920.     { "vpscatterqq",    { MVexVSIBQWpX, XM } },
  2921.   },
  2922.   /* EVEX_W_0F38A3_P_2 */
  2923.   {
  2924.     { "vscatterqps",    { MVexVSIBQWpX, XMxmmq } },
  2925.     { "vscatterqpd",    { MVexVSIBQWpX, XM } },
  2926.   },
  2927.   /* EVEX_W_0F38C7_R_1_P_2 */
  2928.   {
  2929.     { "vgatherpf0qps",  { MVexVSIBDWpX } },
  2930.     { "vgatherpf0qpd",  { MVexVSIBQWpX } },
  2931.   },
  2932.   /* EVEX_W_0F38C7_R_2_P_2 */
  2933.   {
  2934.     { "vgatherpf1qps",  { MVexVSIBDWpX } },
  2935.     { "vgatherpf1qpd",  { MVexVSIBQWpX } },
  2936.   },
  2937.   /* EVEX_W_0F38C7_R_5_P_2 */
  2938.   {
  2939.     { "vscatterpf0qps",  { MVexVSIBDWpX } },
  2940.     { "vscatterpf0qpd",  { MVexVSIBQWpX } },
  2941.   },
  2942.   /* EVEX_W_0F38C7_R_6_P_2 */
  2943.   {
  2944.     { "vscatterpf1qps",  { MVexVSIBDWpX } },
  2945.     { "vscatterpf1qpd",  { MVexVSIBQWpX } },
  2946.   },
  2947.  
  2948.   /* EVEX_W_0F3A00_P_2 */
  2949.   {
  2950.     { Bad_Opcode },
  2951.     { "vpermq", { XM, EXx, Ib } },
  2952.   },
  2953.   /* EVEX_W_0F3A01_P_2 */
  2954.   {
  2955.     { Bad_Opcode },
  2956.     { "vpermpd",        { XM, EXx, Ib } },
  2957.   },
  2958.   /* EVEX_W_0F3A04_P_2 */
  2959.   {
  2960.     { "vpermilps",      { XM, EXx, Ib } },
  2961.   },
  2962.   /* EVEX_W_0F3A05_P_2 */
  2963.   {
  2964.     { Bad_Opcode },
  2965.     { "vpermilpd",      { XM, EXx, Ib } },
  2966.   },
  2967.   /* EVEX_W_0F3A08_P_2 */
  2968.   {
  2969.     { "vrndscaleps",    { XM, EXx, EXxEVexS, Ib } },
  2970.   },
  2971.   /* EVEX_W_0F3A09_P_2 */
  2972.   {
  2973.     { Bad_Opcode },
  2974.     { "vrndscalepd",    { XM, EXx, EXxEVexS, Ib } },
  2975.   },
  2976.   /* EVEX_W_0F3A0A_P_2 */
  2977.   {
  2978.     { "vrndscaless",    { XMScalar, VexScalar, EXxmm_md, EXxEVexS, Ib } },
  2979.   },
  2980.   /* EVEX_W_0F3A0B_P_2 */
  2981.   {
  2982.     { Bad_Opcode },
  2983.     { "vrndscalesd",    { XMScalar, VexScalar, EXxmm_mq, EXxEVexS, Ib } },
  2984.   },
  2985.   /* EVEX_W_0F3A18_P_2 */
  2986.   {
  2987.     { "vinsertf32x4",   { XM, Vex, EXxmm, Ib } },
  2988.   },
  2989.   /* EVEX_W_0F3A19_P_2 */
  2990.   {
  2991.     { "vextractf32x4"{ EXxmm, XM, Ib } },
  2992.   },
  2993.   /* EVEX_W_0F3A1A_P_2 */
  2994.   {
  2995.     { Bad_Opcode },
  2996.     { "vinsertf64x4",   { XM, Vex, EXxmmq, Ib } },
  2997.   },
  2998.   /* EVEX_W_0F3A1B_P_2 */
  2999.   {
  3000.     { Bad_Opcode },
  3001.     { "vextractf64x4"{ EXxmmq, XM, Ib } },
  3002.   },
  3003.   /* EVEX_W_0F3A1D_P_2 */
  3004.   {
  3005.     { "vcvtps2ph",      { EXxmmq, XM, EXxEVexS, Ib } },
  3006.   },
  3007.   /* EVEX_W_0F3A21_P_2 */
  3008.   {
  3009.     { "vinsertps",      { XMM, Vex, EXxmm_md, Ib } },
  3010.   },
  3011.   /* EVEX_W_0F3A23_P_2 */
  3012.   {
  3013.     { "vshuff32x4",     { XM, Vex, EXx, Ib } },
  3014.     { "vshuff64x2",     { XM, Vex, EXx, Ib } },
  3015.   },
  3016.   /* EVEX_W_0F3A38_P_2 */
  3017.   {
  3018.     { "vinserti32x4",   { XM, Vex, EXxmm, Ib } },
  3019.   },
  3020.   /* EVEX_W_0F3A39_P_2 */
  3021.   {
  3022.     { "vextracti32x4"{ EXxmm, XM, Ib } },
  3023.   },
  3024.   /* EVEX_W_0F3A3A_P_2 */
  3025.   {
  3026.     { Bad_Opcode },
  3027.     { "vinserti64x4",   { XM, Vex, EXxmmq, Ib } },
  3028.   },
  3029.   /* EVEX_W_0F3A3B_P_2 */
  3030.   {
  3031.     { Bad_Opcode },
  3032.     { "vextracti64x4"{ EXxmmq, XM, Ib } },
  3033.   },
  3034.   /* EVEX_W_0F3A43_P_2 */
  3035.   {
  3036.     { "vshufi32x4",     { XM, Vex, EXx, Ib } },
  3037.     { "vshufi64x2",     { XM, Vex, EXx, Ib } },
  3038.   },
  3039. #endif /* NEED_VEX_W_TABLE */
  3040. #ifdef NEED_MOD_TABLE
  3041.   {
  3042.     /* MOD_EVEX_0F10_PREFIX_1 */
  3043.     { VEX_W_TABLE (EVEX_W_0F10_P_1_M_0) },
  3044.     { VEX_W_TABLE (EVEX_W_0F10_P_1_M_1) },
  3045.   },
  3046.   {
  3047.     /* MOD_EVEX_0F10_PREFIX_3 */
  3048.     { VEX_W_TABLE (EVEX_W_0F10_P_3_M_0) },
  3049.     { VEX_W_TABLE (EVEX_W_0F10_P_3_M_1) },
  3050.   },
  3051.   {
  3052.     /* MOD_EVEX_0F11_PREFIX_1 */
  3053.     { VEX_W_TABLE (EVEX_W_0F11_P_1_M_0) },
  3054.     { VEX_W_TABLE (EVEX_W_0F11_P_1_M_1) },
  3055.   },
  3056.   {
  3057.     /* MOD_EVEX_0F11_PREFIX_3 */
  3058.     { VEX_W_TABLE (EVEX_W_0F11_P_3_M_0) },
  3059.     { VEX_W_TABLE (EVEX_W_0F11_P_3_M_1) },
  3060.   },
  3061.   {
  3062.     /* MOD_EVEX_0F12_PREFIX_0 */
  3063.     { VEX_W_TABLE (EVEX_W_0F12_P_0_M_0) },
  3064.     { VEX_W_TABLE (EVEX_W_0F12_P_0_M_1) },
  3065.   },
  3066.   {
  3067.     /* MOD_EVEX_0F16_PREFIX_0 */
  3068.     { VEX_W_TABLE (EVEX_W_0F16_P_0_M_0) },
  3069.     { VEX_W_TABLE (EVEX_W_0F16_P_0_M_1) },
  3070.   },
  3071.   {
  3072.     /* MOD_EVEX_0F38C6_REG_1 */
  3073.     { PREFIX_TABLE (PREFIX_EVEX_0F38C6_REG_1) },
  3074.   },
  3075.   {
  3076.     /* MOD_EVEX_0F38C6_REG_2 */
  3077.     { PREFIX_TABLE (PREFIX_EVEX_0F38C6_REG_2) },
  3078.   },
  3079.   {
  3080.     /* MOD_EVEX_0F38C6_REG_5 */
  3081.     { PREFIX_TABLE (PREFIX_EVEX_0F38C6_REG_5) },
  3082.   },
  3083.   {
  3084.     /* MOD_EVEX_0F38C6_REG_6 */
  3085.     { PREFIX_TABLE (PREFIX_EVEX_0F38C6_REG_6) },
  3086.   },
  3087.   {
  3088.     /* MOD_EVEX_0F38C7_REG_1 */
  3089.     { PREFIX_TABLE (PREFIX_EVEX_0F38C7_REG_1) },
  3090.   },
  3091.   {
  3092.     /* MOD_EVEX_0F38C7_REG_2 */
  3093.     { PREFIX_TABLE (PREFIX_EVEX_0F38C7_REG_2) },
  3094.   },
  3095.   {
  3096.     /* MOD_EVEX_0F38C7_REG_5 */
  3097.     { PREFIX_TABLE (PREFIX_EVEX_0F38C7_REG_5) },
  3098.   },
  3099.   {
  3100.     /* MOD_EVEX_0F38C7_REG_6 */
  3101.     { PREFIX_TABLE (PREFIX_EVEX_0F38C7_REG_6) },
  3102.   },
  3103. #endif /* NEED_MOD_TABLE */
  3104.