PATCH: Use enum instead of nested macros

H.J. Lu hjl.tools@gmail.com
Fri Oct 16 14:49:00 GMT 2009


On Thu, Oct 15, 2009 at 6:00 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
> 2009/10/15 Adam Nemet <anemet@caviumnetworks.com>:
>> "H.J. Lu" <hjl.tools@gmail.com> writes:
>>> On Thu, Oct 15, 2009 at 4:46 PM, David Daney <ddaney@caviumnetworks.com> wrote:
>>>> H.J. Lu wrote:
>>>>>
>>>>> I am checking in this patch to use enum instead of nested macros.
>>>>
>>>> [...]
>>>>>
>>>>> +enum
>>>>> +{
>>>>> +  REG_80 = 0,
>>>>> +  REG_81 = REG_80 + 1,
>>>>> +  REG_82 = REG_81 + 1,
>>>>
>>>> Am I missing something, or is every single one of your ' = foo + 1' in this
>>>> patch completely redundant?
>>>
>>> Do all compiler guarantee that bar == 1 with
>>>
>>> enum
>>> {
>>>   foo = 0,
>>>   bar
>>> };
>>>
>>> If yes, I'd love to get rid of "foo + 1".
>>
>> Yes.  6.7.2.2#3:
>>
>>  The identifiers in an enumerator list are declared as constants that
>>  have type int and may appear wherever such are permitted.107) An
>>  enumerator with = defines its enumeration constant as the value of the
>>  constant expression. If the first enumerator has no =, the value of
>>  its enumeration constant is 0. Each subsequent enumerator with no =
>>  defines its enumeration constant as the value of the constant
>>  expression obtained by adding 1 to the value of the previous
>>  enumeration constant. (The use of enumerators with = may produce
>>  enumeration constants with values that duplicate other values in the
>>  same enumeration.) The enumerators of an enumeration are also known as
>>  its members.
>>
>
> Great. I will make the change.
>

This is the patch I checked in.

Thanks.

-- 
H.J.
-------------- next part --------------
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index eb43a9b..3fef5ca 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,7 @@
+2009-10-16  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* i386-dis.c: Simplify enums.
+
 2009-10-15  H.J. Lu  <hongjiu.lu@intel.com>
 	    Ineiev <ineiev@gmail.com>
 
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index 01d5ea3..b30febc 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -402,124 +402,124 @@ enum
   /* byte operand */
   b_mode = 1,
   /* byte operand with operand swapped */
-  b_swap_mode = b_mode + 1,
+  b_swap_mode,
   /* operand size depends on prefixes */
-  v_mode = b_swap_mode + 1,
+  v_mode,
   /* operand size depends on prefixes with operand swapped */
-  v_swap_mode = v_mode + 1,
+  v_swap_mode,
   /* word operand */
-  w_mode = v_swap_mode + 1,
+  w_mode,
   /* double word operand  */
-  d_mode = w_mode + 1,
+  d_mode,
   /* double word operand with operand swapped */
-  d_swap_mode = d_mode + 1,
+  d_swap_mode,
   /* quad word operand */
-  q_mode = d_swap_mode + 1,
+  q_mode,
   /* quad word operand with operand swapped */
-  q_swap_mode = q_mode + 1,
+  q_swap_mode,
   /* ten-byte operand */
-  t_mode = q_swap_mode + 1,
+  t_mode,
   /* 16-byte XMM or 32-byte YMM operand */
-  x_mode = t_mode + 1,
+  x_mode,
   /* 16-byte XMM or 32-byte YMM operand with operand swapped */
-  x_swap_mode = x_mode + 1,
+  x_swap_mode,
   /* 16-byte XMM operand */
-  xmm_mode = x_swap_mode + 1,
+  xmm_mode,
   /* 16-byte XMM or quad word operand */
-  xmmq_mode = xmm_mode + 1,
+  xmmq_mode,
   /* 32-byte YMM or quad word operand */
-  ymmq_mode = xmmq_mode + 1,
+  ymmq_mode,
   /* d_mode in 32bit, q_mode in 64bit mode.  */
-  m_mode = ymmq_mode + 1,
+  m_mode,
   /* pair of v_mode operands */
-  a_mode = m_mode + 1,
-  cond_jump_mode = a_mode + 1,
-  loop_jcxz_mode = cond_jump_mode + 1,
+  a_mode,
+  cond_jump_mode,
+  loop_jcxz_mode,
   /* operand size depends on REX prefixes.  */
-  dq_mode = loop_jcxz_mode + 1,
+  dq_mode,
   /* registers like dq_mode, memory like w_mode.  */
-  dqw_mode = dq_mode + 1,
+  dqw_mode,
   /* 4- or 6-byte pointer operand */
-  f_mode = dqw_mode + 1,
-  const_1_mode = f_mode + 1,
+  f_mode,
+  const_1_mode,
   /* v_mode for stack-related opcodes.  */
-  stack_v_mode = const_1_mode + 1,
+  stack_v_mode,
   /* non-quad operand size depends on prefixes */
-  z_mode = stack_v_mode + 1,
+  z_mode,
   /* 16-byte operand */
-  o_mode = z_mode + 1,
+  o_mode,
   /* registers like dq_mode, memory like b_mode.  */
-  dqb_mode = o_mode + 1,
+  dqb_mode,
   /* registers like dq_mode, memory like d_mode.  */
-  dqd_mode = dqb_mode + 1,
+  dqd_mode,
   /* normal vex mode */
-  vex_mode = dqd_mode + 1,
+  vex_mode,
   /* 128bit vex mode */
-  vex128_mode = vex_mode + 1,
+  vex128_mode,
   /* 256bit vex mode */
-  vex256_mode = vex128_mode + 1,
+  vex256_mode,
   /* operand size depends on the VEX.W bit.  */
-  vex_w_dq_mode = vex256_mode + 1,
-
-  es_reg = vex_w_dq_mode + 1,
-  cs_reg = es_reg + 1,
-  ss_reg = cs_reg + 1,
-  ds_reg = ss_reg + 1,
-  fs_reg = ds_reg + 1,
-  gs_reg = fs_reg + 1,
-
-  eAX_reg = gs_reg + 1,
-  eCX_reg = eAX_reg + 1,
-  eDX_reg = eCX_reg + 1,
-  eBX_reg = eDX_reg + 1,
-  eSP_reg = eBX_reg + 1,
-  eBP_reg = eSP_reg + 1,
-  eSI_reg = eBP_reg + 1,
-  eDI_reg = eSI_reg + 1,
-
-  al_reg = eDI_reg + 1,
-  cl_reg = al_reg + 1,
-  dl_reg = cl_reg + 1,
-  bl_reg = dl_reg + 1,
-  ah_reg = bl_reg + 1,
-  ch_reg = ah_reg + 1,
-  dh_reg = ch_reg + 1,
-  bh_reg = dh_reg + 1,
-
-  ax_reg = bh_reg + 1,
-  cx_reg = ax_reg + 1,
-  dx_reg = cx_reg + 1,
-  bx_reg = dx_reg + 1,
-  sp_reg = bx_reg + 1,
-  bp_reg = sp_reg + 1,
-  si_reg = bp_reg + 1,
-  di_reg = si_reg + 1,
-
-  rAX_reg = di_reg + 1,
-  rCX_reg = rAX_reg + 1,
-  rDX_reg = rCX_reg + 1,
-  rBX_reg = rDX_reg + 1,
-  rSP_reg = rBX_reg + 1,
-  rBP_reg = rSP_reg + 1,
-  rSI_reg = rBP_reg + 1,
-  rDI_reg = rSI_reg + 1,
-
-  z_mode_ax_reg = rDI_reg + 1,
-  indir_dx_reg = z_mode_ax_reg + 1
+  vex_w_dq_mode,
+
+  es_reg,
+  cs_reg,
+  ss_reg,
+  ds_reg,
+  fs_reg,
+  gs_reg,
+
+  eAX_reg,
+  eCX_reg,
+  eDX_reg,
+  eBX_reg,
+  eSP_reg,
+  eBP_reg,
+  eSI_reg,
+  eDI_reg,
+
+  al_reg,
+  cl_reg,
+  dl_reg,
+  bl_reg,
+  ah_reg,
+  ch_reg,
+  dh_reg,
+  bh_reg,
+
+  ax_reg,
+  cx_reg,
+  dx_reg,
+  bx_reg,
+  sp_reg,
+  bp_reg,
+  si_reg,
+  di_reg,
+
+  rAX_reg,
+  rCX_reg,
+  rDX_reg,
+  rBX_reg,
+  rSP_reg,
+  rBP_reg,
+  rSI_reg,
+  rDI_reg,
+
+  z_mode_ax_reg,
+  indir_dx_reg
 };
 
 enum
 {
   FLOATCODE = 1,
-  USE_REG_TABLE = FLOATCODE + 1,
-  USE_MOD_TABLE = USE_REG_TABLE + 1,
-  USE_RM_TABLE = USE_MOD_TABLE + 1,
-  USE_PREFIX_TABLE = USE_RM_TABLE + 1,
-  USE_X86_64_TABLE = USE_PREFIX_TABLE + 1,
-  USE_3BYTE_TABLE = USE_X86_64_TABLE + 1,
-  USE_VEX_C4_TABLE = USE_3BYTE_TABLE + 1,
-  USE_VEX_C5_TABLE = USE_VEX_C4_TABLE + 1,
-  USE_VEX_LEN_TABLE = USE_VEX_C5_TABLE + 1
+  USE_REG_TABLE,
+  USE_MOD_TABLE,
+  USE_RM_TABLE,
+  USE_PREFIX_TABLE,
+  USE_X86_64_TABLE,
+  USE_3BYTE_TABLE,
+  USE_VEX_C4_TABLE,
+  USE_VEX_C5_TABLE,
+  USE_VEX_LEN_TABLE
 };
 
 #define FLOAT			NULL, { { NULL, FLOATCODE } }
@@ -538,750 +538,750 @@ enum
 enum
 {
   REG_80 = 0,
-  REG_81 = REG_80 + 1,
-  REG_82 = REG_81 + 1,
-  REG_8F = REG_82 + 1,
-  REG_C0 = REG_8F + 1,
-  REG_C1 = REG_C0 + 1,
-  REG_C6 = REG_C1 + 1,
-  REG_C7 = REG_C6 + 1,
-  REG_D0 = REG_C7 + 1,
-  REG_D1 = REG_D0 + 1,
-  REG_D2 = REG_D1 + 1,
-  REG_D3 = REG_D2 + 1,
-  REG_F6 = REG_D3 + 1,
-  REG_F7 = REG_F6 + 1,
-  REG_FE = REG_F7 + 1,
-  REG_FF = REG_FE + 1,
-  REG_0F00 = REG_FF + 1,
-  REG_0F01 = REG_0F00 + 1,
-  REG_0F0D = REG_0F01 + 1,
-  REG_0F18 = REG_0F0D + 1,
-  REG_0F71 = REG_0F18 + 1,
-  REG_0F72 = REG_0F71 + 1,
-  REG_0F73 = REG_0F72 + 1,
-  REG_0FA6 = REG_0F73 + 1,
-  REG_0FA7 = REG_0FA6 + 1,
-  REG_0FAE = REG_0FA7 + 1,
-  REG_0FBA = REG_0FAE + 1,
-  REG_0FC7 = REG_0FBA + 1,
-  REG_VEX_71 = REG_0FC7 + 1,
-  REG_VEX_72 = REG_VEX_71 + 1,
-  REG_VEX_73 = REG_VEX_72 + 1,
-  REG_VEX_AE = REG_VEX_73 + 1
+  REG_81,
+  REG_82,
+  REG_8F,
+  REG_C0,
+  REG_C1,
+  REG_C6,
+  REG_C7,
+  REG_D0,
+  REG_D1,
+  REG_D2,
+  REG_D3,
+  REG_F6,
+  REG_F7,
+  REG_FE,
+  REG_FF,
+  REG_0F00,
+  REG_0F01,
+  REG_0F0D,
+  REG_0F18,
+  REG_0F71,
+  REG_0F72,
+  REG_0F73,
+  REG_0FA6,
+  REG_0FA7,
+  REG_0FAE,
+  REG_0FBA,
+  REG_0FC7,
+  REG_VEX_71,
+  REG_VEX_72,
+  REG_VEX_73,
+  REG_VEX_AE
 };
 
 enum
 {
   MOD_8D = 0,
-  MOD_0F01_REG_0 = MOD_8D + 1,
-  MOD_0F01_REG_1 = MOD_0F01_REG_0 + 1,
-  MOD_0F01_REG_2 = MOD_0F01_REG_1 + 1,
-  MOD_0F01_REG_3 = MOD_0F01_REG_2 + 1,
-  MOD_0F01_REG_7 = MOD_0F01_REG_3 + 1,
-  MOD_0F12_PREFIX_0 = MOD_0F01_REG_7 + 1,
-  MOD_0F13 = MOD_0F12_PREFIX_0 + 1,
-  MOD_0F16_PREFIX_0 = MOD_0F13 + 1,
-  MOD_0F17 = MOD_0F16_PREFIX_0 + 1,
-  MOD_0F18_REG_0 = MOD_0F17 + 1,
-  MOD_0F18_REG_1 = MOD_0F18_REG_0 + 1,
-  MOD_0F18_REG_2 = MOD_0F18_REG_1 + 1,
-  MOD_0F18_REG_3 = MOD_0F18_REG_2 + 1,
-  MOD_0F20 = MOD_0F18_REG_3 + 1,
-  MOD_0F21 = MOD_0F20 + 1,
-  MOD_0F22 = MOD_0F21 + 1,
-  MOD_0F23 = MOD_0F22 + 1,
-  MOD_0F24 = MOD_0F23 + 1,
-  MOD_0F26 = MOD_0F24 + 1,
-  MOD_0F2B_PREFIX_0 = MOD_0F26 + 1,
-  MOD_0F2B_PREFIX_1 = MOD_0F2B_PREFIX_0 + 1,
-  MOD_0F2B_PREFIX_2 = MOD_0F2B_PREFIX_1 + 1,
-  MOD_0F2B_PREFIX_3 = MOD_0F2B_PREFIX_2 + 1,
-  MOD_0F51 = MOD_0F2B_PREFIX_3 + 1,
-  MOD_0F71_REG_2 = MOD_0F51 + 1,
-  MOD_0F71_REG_4 = MOD_0F71_REG_2 + 1,
-  MOD_0F71_REG_6 = MOD_0F71_REG_4 + 1,
-  MOD_0F72_REG_2 = MOD_0F71_REG_6 + 1,
-  MOD_0F72_REG_4 = MOD_0F72_REG_2 + 1,
-  MOD_0F72_REG_6 = MOD_0F72_REG_4 + 1,
-  MOD_0F73_REG_2 = MOD_0F72_REG_6 + 1,
-  MOD_0F73_REG_3 = MOD_0F73_REG_2 + 1,
-  MOD_0F73_REG_6 = MOD_0F73_REG_3 + 1,
-  MOD_0F73_REG_7 = MOD_0F73_REG_6 + 1,
-  MOD_0FAE_REG_0 = MOD_0F73_REG_7 + 1,
-  MOD_0FAE_REG_1 = MOD_0FAE_REG_0 + 1,
-  MOD_0FAE_REG_2 = MOD_0FAE_REG_1 + 1,
-  MOD_0FAE_REG_3 = MOD_0FAE_REG_2 + 1,
-  MOD_0FAE_REG_4 = MOD_0FAE_REG_3 + 1,
-  MOD_0FAE_REG_5 = MOD_0FAE_REG_4 + 1,
-  MOD_0FAE_REG_6 = MOD_0FAE_REG_5 + 1,
-  MOD_0FAE_REG_7 = MOD_0FAE_REG_6 + 1,
-  MOD_0FB2 = MOD_0FAE_REG_7 + 1,
-  MOD_0FB4 = MOD_0FB2 + 1,
-  MOD_0FB5 = MOD_0FB4 + 1,
-  MOD_0FC7_REG_6 = MOD_0FB5 + 1,
-  MOD_0FC7_REG_7 = MOD_0FC7_REG_6 + 1,
-  MOD_0FD7 = MOD_0FC7_REG_7 + 1,
-  MOD_0FE7_PREFIX_2 = MOD_0FD7 + 1,
-  MOD_0FF0_PREFIX_3 = MOD_0FE7_PREFIX_2 + 1,
-  MOD_0F382A_PREFIX_2 = MOD_0FF0_PREFIX_3 + 1,
-  MOD_62_32BIT = MOD_0F382A_PREFIX_2 + 1,
-  MOD_C4_32BIT = MOD_62_32BIT + 1,
-  MOD_C5_32BIT = MOD_C4_32BIT + 1,
-  MOD_VEX_12_PREFIX_0 = MOD_C5_32BIT + 1,
-  MOD_VEX_13 = MOD_VEX_12_PREFIX_0 + 1,
-  MOD_VEX_16_PREFIX_0 = MOD_VEX_13 + 1,
-  MOD_VEX_17 = MOD_VEX_16_PREFIX_0 + 1,
-  MOD_VEX_2B = MOD_VEX_17 + 1,
-  MOD_VEX_51 = MOD_VEX_2B + 1,
-  MOD_VEX_71_REG_2 = MOD_VEX_51 + 1,
-  MOD_VEX_71_REG_4 = MOD_VEX_71_REG_2 + 1,
-  MOD_VEX_71_REG_6 = MOD_VEX_71_REG_4 + 1,
-  MOD_VEX_72_REG_2 = MOD_VEX_71_REG_6 + 1,
-  MOD_VEX_72_REG_4 = MOD_VEX_72_REG_2 + 1,
-  MOD_VEX_72_REG_6 = MOD_VEX_72_REG_4 + 1,
-  MOD_VEX_73_REG_2 = MOD_VEX_72_REG_6 + 1,
-  MOD_VEX_73_REG_3 = MOD_VEX_73_REG_2 + 1,
-  MOD_VEX_73_REG_6 = MOD_VEX_73_REG_3 + 1,
-  MOD_VEX_73_REG_7 = MOD_VEX_73_REG_6 + 1,
-  MOD_VEX_AE_REG_2 = MOD_VEX_73_REG_7 + 1,
-  MOD_VEX_AE_REG_3 = MOD_VEX_AE_REG_2 + 1,
-  MOD_VEX_D7_PREFIX_2 = MOD_VEX_AE_REG_3 + 1,
-  MOD_VEX_E7_PREFIX_2 = MOD_VEX_D7_PREFIX_2 + 1,
-  MOD_VEX_F0_PREFIX_3 = MOD_VEX_E7_PREFIX_2 + 1,
-  MOD_VEX_3818_PREFIX_2 = MOD_VEX_F0_PREFIX_3 + 1,
-  MOD_VEX_3819_PREFIX_2 = MOD_VEX_3818_PREFIX_2 + 1,
-  MOD_VEX_381A_PREFIX_2 = MOD_VEX_3819_PREFIX_2 + 1,
-  MOD_VEX_382A_PREFIX_2 = MOD_VEX_381A_PREFIX_2 + 1,
-  MOD_VEX_382C_PREFIX_2 = MOD_VEX_382A_PREFIX_2 + 1,
-  MOD_VEX_382D_PREFIX_2 = MOD_VEX_382C_PREFIX_2 + 1,
-  MOD_VEX_382E_PREFIX_2 = MOD_VEX_382D_PREFIX_2 + 1,
-  MOD_VEX_382F_PREFIX_2 = MOD_VEX_382E_PREFIX_2 + 1
+  MOD_0F01_REG_0,
+  MOD_0F01_REG_1,
+  MOD_0F01_REG_2,
+  MOD_0F01_REG_3,
+  MOD_0F01_REG_7,
+  MOD_0F12_PREFIX_0,
+  MOD_0F13,
+  MOD_0F16_PREFIX_0,
+  MOD_0F17,
+  MOD_0F18_REG_0,
+  MOD_0F18_REG_1,
+  MOD_0F18_REG_2,
+  MOD_0F18_REG_3,
+  MOD_0F20,
+  MOD_0F21,
+  MOD_0F22,
+  MOD_0F23,
+  MOD_0F24,
+  MOD_0F26,
+  MOD_0F2B_PREFIX_0,
+  MOD_0F2B_PREFIX_1,
+  MOD_0F2B_PREFIX_2,
+  MOD_0F2B_PREFIX_3,
+  MOD_0F51,
+  MOD_0F71_REG_2,
+  MOD_0F71_REG_4,
+  MOD_0F71_REG_6,
+  MOD_0F72_REG_2,
+  MOD_0F72_REG_4,
+  MOD_0F72_REG_6,
+  MOD_0F73_REG_2,
+  MOD_0F73_REG_3,
+  MOD_0F73_REG_6,
+  MOD_0F73_REG_7,
+  MOD_0FAE_REG_0,
+  MOD_0FAE_REG_1,
+  MOD_0FAE_REG_2,
+  MOD_0FAE_REG_3,
+  MOD_0FAE_REG_4,
+  MOD_0FAE_REG_5,
+  MOD_0FAE_REG_6,
+  MOD_0FAE_REG_7,
+  MOD_0FB2,
+  MOD_0FB4,
+  MOD_0FB5,
+  MOD_0FC7_REG_6,
+  MOD_0FC7_REG_7,
+  MOD_0FD7,
+  MOD_0FE7_PREFIX_2,
+  MOD_0FF0_PREFIX_3,
+  MOD_0F382A_PREFIX_2,
+  MOD_62_32BIT,
+  MOD_C4_32BIT,
+  MOD_C5_32BIT,
+  MOD_VEX_12_PREFIX_0,
+  MOD_VEX_13,
+  MOD_VEX_16_PREFIX_0,
+  MOD_VEX_17,
+  MOD_VEX_2B,
+  MOD_VEX_51,
+  MOD_VEX_71_REG_2,
+  MOD_VEX_71_REG_4,
+  MOD_VEX_71_REG_6,
+  MOD_VEX_72_REG_2,
+  MOD_VEX_72_REG_4,
+  MOD_VEX_72_REG_6,
+  MOD_VEX_73_REG_2,
+  MOD_VEX_73_REG_3,
+  MOD_VEX_73_REG_6,
+  MOD_VEX_73_REG_7,
+  MOD_VEX_AE_REG_2,
+  MOD_VEX_AE_REG_3,
+  MOD_VEX_D7_PREFIX_2,
+  MOD_VEX_E7_PREFIX_2,
+  MOD_VEX_F0_PREFIX_3,
+  MOD_VEX_3818_PREFIX_2,
+  MOD_VEX_3819_PREFIX_2,
+  MOD_VEX_381A_PREFIX_2,
+  MOD_VEX_382A_PREFIX_2,
+  MOD_VEX_382C_PREFIX_2,
+  MOD_VEX_382D_PREFIX_2,
+  MOD_VEX_382E_PREFIX_2,
+  MOD_VEX_382F_PREFIX_2
 };
 
 enum
 {
   RM_0F01_REG_0 = 0,
-  RM_0F01_REG_1 = RM_0F01_REG_0 + 1,
-  RM_0F01_REG_2 = RM_0F01_REG_1 + 1,
-  RM_0F01_REG_3 = RM_0F01_REG_2 + 1,
-  RM_0F01_REG_7 = RM_0F01_REG_3 + 1,
-  RM_0FAE_REG_5 = RM_0F01_REG_7 + 1,
-  RM_0FAE_REG_6 = RM_0FAE_REG_5 + 1,
-  RM_0FAE_REG_7 = RM_0FAE_REG_6 + 1
+  RM_0F01_REG_1,
+  RM_0F01_REG_2,
+  RM_0F01_REG_3,
+  RM_0F01_REG_7,
+  RM_0FAE_REG_5,
+  RM_0FAE_REG_6,
+  RM_0FAE_REG_7
 };
 
 enum
 {
   PREFIX_90 = 0,
-  PREFIX_0F10 = PREFIX_90 + 1,
-  PREFIX_0F11 = PREFIX_0F10 + 1,
-  PREFIX_0F12 = PREFIX_0F11 + 1,
-  PREFIX_0F16 = PREFIX_0F12 + 1,
-  PREFIX_0F2A = PREFIX_0F16 + 1,
-  PREFIX_0F2B = PREFIX_0F2A + 1,
-  PREFIX_0F2C = PREFIX_0F2B + 1,
-  PREFIX_0F2D = PREFIX_0F2C + 1,
-  PREFIX_0F2E = PREFIX_0F2D + 1,
-  PREFIX_0F2F = PREFIX_0F2E + 1,
-  PREFIX_0F51 = PREFIX_0F2F + 1,
-  PREFIX_0F52 = PREFIX_0F51 + 1,
-  PREFIX_0F53 = PREFIX_0F52 + 1,
-  PREFIX_0F58 = PREFIX_0F53 + 1,
-  PREFIX_0F59 = PREFIX_0F58 + 1,
-  PREFIX_0F5A = PREFIX_0F59 + 1,
-  PREFIX_0F5B = PREFIX_0F5A + 1,
-  PREFIX_0F5C = PREFIX_0F5B + 1,
-  PREFIX_0F5D = PREFIX_0F5C + 1,
-  PREFIX_0F5E = PREFIX_0F5D + 1,
-  PREFIX_0F5F = PREFIX_0F5E + 1,
-  PREFIX_0F60 = PREFIX_0F5F + 1,
-  PREFIX_0F61 = PREFIX_0F60 + 1,
-  PREFIX_0F62 = PREFIX_0F61 + 1,
-  PREFIX_0F6C = PREFIX_0F62 + 1,
-  PREFIX_0F6D = PREFIX_0F6C + 1,
-  PREFIX_0F6F = PREFIX_0F6D + 1,
-  PREFIX_0F70 = PREFIX_0F6F + 1,
-  PREFIX_0F73_REG_3 = PREFIX_0F70 + 1,
-  PREFIX_0F73_REG_7 = PREFIX_0F73_REG_3 + 1,
-  PREFIX_0F78 = PREFIX_0F73_REG_7 + 1,
-  PREFIX_0F79 = PREFIX_0F78 + 1,
-  PREFIX_0F7C = PREFIX_0F79 + 1,
-  PREFIX_0F7D = PREFIX_0F7C + 1,
-  PREFIX_0F7E = PREFIX_0F7D + 1,
-  PREFIX_0F7F = PREFIX_0F7E + 1,
-  PREFIX_0FB8 = PREFIX_0F7F + 1,
-  PREFIX_0FBD = PREFIX_0FB8 + 1,
-  PREFIX_0FC2 = PREFIX_0FBD + 1,
-  PREFIX_0FC3 = PREFIX_0FC2 + 1,
-  PREFIX_0FC7_REG_6 = PREFIX_0FC3 + 1,
-  PREFIX_0FD0 = PREFIX_0FC7_REG_6 + 1,
-  PREFIX_0FD6 = PREFIX_0FD0 + 1,
-  PREFIX_0FE6 = PREFIX_0FD6 + 1,
-  PREFIX_0FE7 = PREFIX_0FE6 + 1,
-  PREFIX_0FF0 = PREFIX_0FE7 + 1,
-  PREFIX_0FF7 = PREFIX_0FF0 + 1,
-  PREFIX_0F3810 = PREFIX_0FF7 + 1,
-  PREFIX_0F3814 = PREFIX_0F3810 + 1,
-  PREFIX_0F3815 = PREFIX_0F3814 + 1,
-  PREFIX_0F3817 = PREFIX_0F3815 + 1,
-  PREFIX_0F3820 = PREFIX_0F3817 + 1,
-  PREFIX_0F3821 = PREFIX_0F3820 + 1,
-  PREFIX_0F3822 = PREFIX_0F3821 + 1,
-  PREFIX_0F3823 = PREFIX_0F3822 + 1,
-  PREFIX_0F3824 = PREFIX_0F3823 + 1,
-  PREFIX_0F3825 = PREFIX_0F3824 + 1,
-  PREFIX_0F3828 = PREFIX_0F3825 + 1,
-  PREFIX_0F3829 = PREFIX_0F3828 + 1,
-  PREFIX_0F382A = PREFIX_0F3829 + 1,
-  PREFIX_0F382B = PREFIX_0F382A + 1,
-  PREFIX_0F3830 = PREFIX_0F382B + 1,
-  PREFIX_0F3831 = PREFIX_0F3830 + 1,
-  PREFIX_0F3832 = PREFIX_0F3831 + 1,
-  PREFIX_0F3833 = PREFIX_0F3832 + 1,
-  PREFIX_0F3834 = PREFIX_0F3833 + 1,
-  PREFIX_0F3835 = PREFIX_0F3834 + 1,
-  PREFIX_0F3837 = PREFIX_0F3835 + 1,
-  PREFIX_0F3838 = PREFIX_0F3837 + 1,
-  PREFIX_0F3839 = PREFIX_0F3838 + 1,
-  PREFIX_0F383A = PREFIX_0F3839 + 1,
-  PREFIX_0F383B = PREFIX_0F383A + 1,
-  PREFIX_0F383C = PREFIX_0F383B + 1,
-  PREFIX_0F383D = PREFIX_0F383C + 1,
-  PREFIX_0F383E = PREFIX_0F383D + 1,
-  PREFIX_0F383F = PREFIX_0F383E + 1,
-  PREFIX_0F3840 = PREFIX_0F383F + 1,
-  PREFIX_0F3841 = PREFIX_0F3840 + 1,
-  PREFIX_0F3880 = PREFIX_0F3841 + 1,
-  PREFIX_0F3881 = PREFIX_0F3880 + 1,
-  PREFIX_0F38DB = PREFIX_0F3881 + 1,
-  PREFIX_0F38DC = PREFIX_0F38DB + 1,
-  PREFIX_0F38DD = PREFIX_0F38DC + 1,
-  PREFIX_0F38DE = PREFIX_0F38DD + 1,
-  PREFIX_0F38DF = PREFIX_0F38DE + 1,
-  PREFIX_0F38F0 = PREFIX_0F38DF + 1,
-  PREFIX_0F38F1 = PREFIX_0F38F0 + 1,
-  PREFIX_0F3A08 = PREFIX_0F38F1 + 1,
-  PREFIX_0F3A09 = PREFIX_0F3A08 + 1,
-  PREFIX_0F3A0A = PREFIX_0F3A09 + 1,
-  PREFIX_0F3A0B = PREFIX_0F3A0A + 1,
-  PREFIX_0F3A0C = PREFIX_0F3A0B + 1,
-  PREFIX_0F3A0D = PREFIX_0F3A0C + 1,
-  PREFIX_0F3A0E = PREFIX_0F3A0D + 1,
-  PREFIX_0F3A14 = PREFIX_0F3A0E + 1,
-  PREFIX_0F3A15 = PREFIX_0F3A14 + 1,
-  PREFIX_0F3A16 = PREFIX_0F3A15 + 1,
-  PREFIX_0F3A17 = PREFIX_0F3A16 + 1,
-  PREFIX_0F3A20 = PREFIX_0F3A17 + 1,
-  PREFIX_0F3A21 = PREFIX_0F3A20 + 1,
-  PREFIX_0F3A22 = PREFIX_0F3A21 + 1,
-  PREFIX_0F3A40 = PREFIX_0F3A22 + 1,
-  PREFIX_0F3A41 = PREFIX_0F3A40 + 1,
-  PREFIX_0F3A42 = PREFIX_0F3A41 + 1,
-  PREFIX_0F3A44 = PREFIX_0F3A42 + 1,
-  PREFIX_0F3A60 = PREFIX_0F3A44 + 1,
-  PREFIX_0F3A61 = PREFIX_0F3A60 + 1,
-  PREFIX_0F3A62 = PREFIX_0F3A61 + 1,
-  PREFIX_0F3A63 = PREFIX_0F3A62 + 1,
-  PREFIX_0F3ADF = PREFIX_0F3A63 + 1,
-  PREFIX_VEX_10 = PREFIX_0F3ADF + 1,
-  PREFIX_VEX_11 = PREFIX_VEX_10 + 1,
-  PREFIX_VEX_12 = PREFIX_VEX_11 + 1,
-  PREFIX_VEX_16 = PREFIX_VEX_12 + 1,
-  PREFIX_VEX_2A = PREFIX_VEX_16 + 1,
-  PREFIX_VEX_2C = PREFIX_VEX_2A + 1,
-  PREFIX_VEX_2D = PREFIX_VEX_2C + 1,
-  PREFIX_VEX_2E = PREFIX_VEX_2D + 1,
-  PREFIX_VEX_2F = PREFIX_VEX_2E + 1,
-  PREFIX_VEX_51 = PREFIX_VEX_2F + 1,
-  PREFIX_VEX_52 = PREFIX_VEX_51 + 1,
-  PREFIX_VEX_53 = PREFIX_VEX_52 + 1,
-  PREFIX_VEX_58 = PREFIX_VEX_53 + 1,
-  PREFIX_VEX_59 = PREFIX_VEX_58 + 1,
-  PREFIX_VEX_5A = PREFIX_VEX_59 + 1,
-  PREFIX_VEX_5B = PREFIX_VEX_5A + 1,
-  PREFIX_VEX_5C = PREFIX_VEX_5B + 1,
-  PREFIX_VEX_5D = PREFIX_VEX_5C + 1,
-  PREFIX_VEX_5E = PREFIX_VEX_5D + 1,
-  PREFIX_VEX_5F = PREFIX_VEX_5E + 1,
-  PREFIX_VEX_60 = PREFIX_VEX_5F + 1,
-  PREFIX_VEX_61 = PREFIX_VEX_60 + 1,
-  PREFIX_VEX_62 = PREFIX_VEX_61 + 1,
-  PREFIX_VEX_63 = PREFIX_VEX_62 + 1,
-  PREFIX_VEX_64 = PREFIX_VEX_63 + 1,
-  PREFIX_VEX_65 = PREFIX_VEX_64 + 1,
-  PREFIX_VEX_66 = PREFIX_VEX_65 + 1,
-  PREFIX_VEX_67 = PREFIX_VEX_66 + 1,
-  PREFIX_VEX_68 = PREFIX_VEX_67 + 1,
-  PREFIX_VEX_69 = PREFIX_VEX_68 + 1,
-  PREFIX_VEX_6A = PREFIX_VEX_69 + 1,
-  PREFIX_VEX_6B = PREFIX_VEX_6A + 1,
-  PREFIX_VEX_6C = PREFIX_VEX_6B + 1,
-  PREFIX_VEX_6D = PREFIX_VEX_6C + 1,
-  PREFIX_VEX_6E = PREFIX_VEX_6D + 1,
-  PREFIX_VEX_6F = PREFIX_VEX_6E + 1,
-  PREFIX_VEX_70 = PREFIX_VEX_6F + 1,
-  PREFIX_VEX_71_REG_2 = PREFIX_VEX_70 + 1,
-  PREFIX_VEX_71_REG_4 = PREFIX_VEX_71_REG_2 + 1,
-  PREFIX_VEX_71_REG_6 = PREFIX_VEX_71_REG_4 + 1,
-  PREFIX_VEX_72_REG_2 = PREFIX_VEX_71_REG_6 + 1,
-  PREFIX_VEX_72_REG_4 = PREFIX_VEX_72_REG_2 + 1,
-  PREFIX_VEX_72_REG_6 = PREFIX_VEX_72_REG_4 + 1,
-  PREFIX_VEX_73_REG_2 = PREFIX_VEX_72_REG_6 + 1,
-  PREFIX_VEX_73_REG_3 = PREFIX_VEX_73_REG_2 + 1,
-  PREFIX_VEX_73_REG_6 = PREFIX_VEX_73_REG_3 + 1,
-  PREFIX_VEX_73_REG_7 = PREFIX_VEX_73_REG_6 + 1,
-  PREFIX_VEX_74 = PREFIX_VEX_73_REG_7 + 1,
-  PREFIX_VEX_75 = PREFIX_VEX_74 + 1,
-  PREFIX_VEX_76 = PREFIX_VEX_75 + 1,
-  PREFIX_VEX_77 = PREFIX_VEX_76 + 1,
-  PREFIX_VEX_7C = PREFIX_VEX_77 + 1,
-  PREFIX_VEX_7D = PREFIX_VEX_7C + 1,
-  PREFIX_VEX_7E = PREFIX_VEX_7D + 1,
-  PREFIX_VEX_7F = PREFIX_VEX_7E + 1,
-  PREFIX_VEX_C2 = PREFIX_VEX_7F + 1,
-  PREFIX_VEX_C4 = PREFIX_VEX_C2 + 1,
-  PREFIX_VEX_C5 = PREFIX_VEX_C4 + 1,
-  PREFIX_VEX_D0 = PREFIX_VEX_C5 + 1,
-  PREFIX_VEX_D1 = PREFIX_VEX_D0 + 1,
-  PREFIX_VEX_D2 = PREFIX_VEX_D1 + 1,
-  PREFIX_VEX_D3 = PREFIX_VEX_D2 + 1,
-  PREFIX_VEX_D4 = PREFIX_VEX_D3 + 1,
-  PREFIX_VEX_D5 = PREFIX_VEX_D4 + 1,
-  PREFIX_VEX_D6 = PREFIX_VEX_D5 + 1,
-  PREFIX_VEX_D7 = PREFIX_VEX_D6 + 1,
-  PREFIX_VEX_D8 = PREFIX_VEX_D7 + 1,
-  PREFIX_VEX_D9 = PREFIX_VEX_D8 + 1,
-  PREFIX_VEX_DA = PREFIX_VEX_D9 + 1,
-  PREFIX_VEX_DB = PREFIX_VEX_DA + 1,
-  PREFIX_VEX_DC = PREFIX_VEX_DB + 1,
-  PREFIX_VEX_DD = PREFIX_VEX_DC + 1,
-  PREFIX_VEX_DE = PREFIX_VEX_DD + 1,
-  PREFIX_VEX_DF = PREFIX_VEX_DE + 1,
-  PREFIX_VEX_E0 = PREFIX_VEX_DF + 1,
-  PREFIX_VEX_E1 = PREFIX_VEX_E0 + 1,
-  PREFIX_VEX_E2 = PREFIX_VEX_E1 + 1,
-  PREFIX_VEX_E3 = PREFIX_VEX_E2 + 1,
-  PREFIX_VEX_E4 = PREFIX_VEX_E3 + 1,
-  PREFIX_VEX_E5 = PREFIX_VEX_E4 + 1,
-  PREFIX_VEX_E6 = PREFIX_VEX_E5 + 1,
-  PREFIX_VEX_E7 = PREFIX_VEX_E6 + 1,
-  PREFIX_VEX_E8 = PREFIX_VEX_E7 + 1,
-  PREFIX_VEX_E9 = PREFIX_VEX_E8 + 1,
-  PREFIX_VEX_EA = PREFIX_VEX_E9 + 1,
-  PREFIX_VEX_EB = PREFIX_VEX_EA + 1,
-  PREFIX_VEX_EC = PREFIX_VEX_EB + 1,
-  PREFIX_VEX_ED = PREFIX_VEX_EC + 1,
-  PREFIX_VEX_EE = PREFIX_VEX_ED + 1,
-  PREFIX_VEX_EF = PREFIX_VEX_EE + 1,
-  PREFIX_VEX_F0 = PREFIX_VEX_EF + 1,
-  PREFIX_VEX_F1 = PREFIX_VEX_F0 + 1,
-  PREFIX_VEX_F2 = PREFIX_VEX_F1 + 1,
-  PREFIX_VEX_F3 = PREFIX_VEX_F2 + 1,
-  PREFIX_VEX_F4 = PREFIX_VEX_F3 + 1,
-  PREFIX_VEX_F5 = PREFIX_VEX_F4 + 1,
-  PREFIX_VEX_F6 = PREFIX_VEX_F5 + 1,
-  PREFIX_VEX_F7 = PREFIX_VEX_F6 + 1,
-  PREFIX_VEX_F8 = PREFIX_VEX_F7 + 1,
-  PREFIX_VEX_F9 = PREFIX_VEX_F8 + 1,
-  PREFIX_VEX_FA = PREFIX_VEX_F9 + 1,
-  PREFIX_VEX_FB = PREFIX_VEX_FA + 1,
-  PREFIX_VEX_FC = PREFIX_VEX_FB + 1,
-  PREFIX_VEX_FD = PREFIX_VEX_FC + 1,
-  PREFIX_VEX_FE = PREFIX_VEX_FD + 1,
-  PREFIX_VEX_3800 = PREFIX_VEX_FE + 1,
-  PREFIX_VEX_3801 = PREFIX_VEX_3800 + 1,
-  PREFIX_VEX_3802 = PREFIX_VEX_3801 + 1,
-  PREFIX_VEX_3803 = PREFIX_VEX_3802 + 1,
-  PREFIX_VEX_3804 = PREFIX_VEX_3803 + 1,
-  PREFIX_VEX_3805 = PREFIX_VEX_3804 + 1,
-  PREFIX_VEX_3806 = PREFIX_VEX_3805 + 1,
-  PREFIX_VEX_3807 = PREFIX_VEX_3806 + 1,
-  PREFIX_VEX_3808 = PREFIX_VEX_3807 + 1,
-  PREFIX_VEX_3809 = PREFIX_VEX_3808 + 1,
-  PREFIX_VEX_380A = PREFIX_VEX_3809 + 1,
-  PREFIX_VEX_380B = PREFIX_VEX_380A + 1,
-  PREFIX_VEX_380C = PREFIX_VEX_380B + 1,
-  PREFIX_VEX_380D = PREFIX_VEX_380C + 1,
-  PREFIX_VEX_380E = PREFIX_VEX_380D + 1,
-  PREFIX_VEX_380F = PREFIX_VEX_380E + 1,
-  PREFIX_VEX_3817 = PREFIX_VEX_380F + 1,
-  PREFIX_VEX_3818 = PREFIX_VEX_3817 + 1,
-  PREFIX_VEX_3819 = PREFIX_VEX_3818 + 1,
-  PREFIX_VEX_381A = PREFIX_VEX_3819 + 1,
-  PREFIX_VEX_381C = PREFIX_VEX_381A + 1,
-  PREFIX_VEX_381D = PREFIX_VEX_381C + 1,
-  PREFIX_VEX_381E = PREFIX_VEX_381D + 1,
-  PREFIX_VEX_3820 = PREFIX_VEX_381E + 1,
-  PREFIX_VEX_3821 = PREFIX_VEX_3820 + 1,
-  PREFIX_VEX_3822 = PREFIX_VEX_3821 + 1,
-  PREFIX_VEX_3823 = PREFIX_VEX_3822 + 1,
-  PREFIX_VEX_3824 = PREFIX_VEX_3823 + 1,
-  PREFIX_VEX_3825 = PREFIX_VEX_3824 + 1,
-  PREFIX_VEX_3828 = PREFIX_VEX_3825 + 1,
-  PREFIX_VEX_3829 = PREFIX_VEX_3828 + 1,
-  PREFIX_VEX_382A = PREFIX_VEX_3829 + 1,
-  PREFIX_VEX_382B = PREFIX_VEX_382A + 1,
-  PREFIX_VEX_382C = PREFIX_VEX_382B + 1,
-  PREFIX_VEX_382D = PREFIX_VEX_382C + 1,
-  PREFIX_VEX_382E = PREFIX_VEX_382D + 1,
-  PREFIX_VEX_382F = PREFIX_VEX_382E + 1,
-  PREFIX_VEX_3830 = PREFIX_VEX_382F + 1,
-  PREFIX_VEX_3831 = PREFIX_VEX_3830 + 1,
-  PREFIX_VEX_3832 = PREFIX_VEX_3831 + 1,
-  PREFIX_VEX_3833 = PREFIX_VEX_3832 + 1,
-  PREFIX_VEX_3834 = PREFIX_VEX_3833 + 1,
-  PREFIX_VEX_3835 = PREFIX_VEX_3834 + 1,
-  PREFIX_VEX_3837 = PREFIX_VEX_3835 + 1,
-  PREFIX_VEX_3838 = PREFIX_VEX_3837 + 1,
-  PREFIX_VEX_3839 = PREFIX_VEX_3838 + 1,
-  PREFIX_VEX_383A = PREFIX_VEX_3839 + 1,
-  PREFIX_VEX_383B = PREFIX_VEX_383A + 1,
-  PREFIX_VEX_383C = PREFIX_VEX_383B + 1,
-  PREFIX_VEX_383D = PREFIX_VEX_383C + 1,
-  PREFIX_VEX_383E = PREFIX_VEX_383D + 1,
-  PREFIX_VEX_383F = PREFIX_VEX_383E + 1,
-  PREFIX_VEX_3840 = PREFIX_VEX_383F + 1,
-  PREFIX_VEX_3841 = PREFIX_VEX_3840 + 1,
-  PREFIX_VEX_3896 = PREFIX_VEX_3841 + 1,
-  PREFIX_VEX_3897 = PREFIX_VEX_3896 + 1,
-  PREFIX_VEX_3898 = PREFIX_VEX_3897 + 1,
-  PREFIX_VEX_3899 = PREFIX_VEX_3898 + 1,
-  PREFIX_VEX_389A = PREFIX_VEX_3899 + 1,
-  PREFIX_VEX_389B = PREFIX_VEX_389A + 1,
-  PREFIX_VEX_389C = PREFIX_VEX_389B + 1,
-  PREFIX_VEX_389D = PREFIX_VEX_389C + 1,
-  PREFIX_VEX_389E = PREFIX_VEX_389D + 1,
-  PREFIX_VEX_389F = PREFIX_VEX_389E + 1,
-  PREFIX_VEX_38A6 = PREFIX_VEX_389F + 1,
-  PREFIX_VEX_38A7 = PREFIX_VEX_38A6 + 1,
-  PREFIX_VEX_38A8 = PREFIX_VEX_38A7 + 1,
-  PREFIX_VEX_38A9 = PREFIX_VEX_38A8 + 1,
-  PREFIX_VEX_38AA = PREFIX_VEX_38A9 + 1,
-  PREFIX_VEX_38AB = PREFIX_VEX_38AA + 1,
-  PREFIX_VEX_38AC = PREFIX_VEX_38AB + 1,
-  PREFIX_VEX_38AD = PREFIX_VEX_38AC + 1,
-  PREFIX_VEX_38AE = PREFIX_VEX_38AD + 1,
-  PREFIX_VEX_38AF = PREFIX_VEX_38AE + 1,
-  PREFIX_VEX_38B6 = PREFIX_VEX_38AF + 1,
-  PREFIX_VEX_38B7 = PREFIX_VEX_38B6 + 1,
-  PREFIX_VEX_38B8 = PREFIX_VEX_38B7 + 1,
-  PREFIX_VEX_38B9 = PREFIX_VEX_38B8 + 1,
-  PREFIX_VEX_38BA = PREFIX_VEX_38B9 + 1,
-  PREFIX_VEX_38BB = PREFIX_VEX_38BA + 1,
-  PREFIX_VEX_38BC = PREFIX_VEX_38BB + 1,
-  PREFIX_VEX_38BD = PREFIX_VEX_38BC + 1,
-  PREFIX_VEX_38BE = PREFIX_VEX_38BD + 1,
-  PREFIX_VEX_38BF = PREFIX_VEX_38BE + 1,
-  PREFIX_VEX_38DB = PREFIX_VEX_38BF + 1,
-  PREFIX_VEX_38DC = PREFIX_VEX_38DB + 1,
-  PREFIX_VEX_38DD = PREFIX_VEX_38DC + 1,
-  PREFIX_VEX_38DE = PREFIX_VEX_38DD + 1,
-  PREFIX_VEX_38DF = PREFIX_VEX_38DE + 1,
-  PREFIX_VEX_3A04 = PREFIX_VEX_38DF + 1,
-  PREFIX_VEX_3A05 = PREFIX_VEX_3A04 + 1,
-  PREFIX_VEX_3A06 = PREFIX_VEX_3A05 + 1,
-  PREFIX_VEX_3A08 = PREFIX_VEX_3A06 + 1,
-  PREFIX_VEX_3A09 = PREFIX_VEX_3A08 + 1,
-  PREFIX_VEX_3A0A = PREFIX_VEX_3A09 + 1,
-  PREFIX_VEX_3A0B = PREFIX_VEX_3A0A + 1,
-  PREFIX_VEX_3A0C = PREFIX_VEX_3A0B + 1,
-  PREFIX_VEX_3A0D = PREFIX_VEX_3A0C + 1,
-  PREFIX_VEX_3A0E = PREFIX_VEX_3A0D + 1,
-  PREFIX_VEX_3A0F = PREFIX_VEX_3A0E + 1,
-  PREFIX_VEX_3A14 = PREFIX_VEX_3A0F + 1,
-  PREFIX_VEX_3A15 = PREFIX_VEX_3A14 + 1,
-  PREFIX_VEX_3A16 = PREFIX_VEX_3A15 + 1,
-  PREFIX_VEX_3A17 = PREFIX_VEX_3A16 + 1,
-  PREFIX_VEX_3A18 = PREFIX_VEX_3A17 + 1,
-  PREFIX_VEX_3A19 = PREFIX_VEX_3A18 + 1,
-  PREFIX_VEX_3A20 = PREFIX_VEX_3A19 + 1,
-  PREFIX_VEX_3A21 = PREFIX_VEX_3A20 + 1,
-  PREFIX_VEX_3A22 = PREFIX_VEX_3A21 + 1,
-  PREFIX_VEX_3A40 = PREFIX_VEX_3A22 + 1,
-  PREFIX_VEX_3A41 = PREFIX_VEX_3A40 + 1,
-  PREFIX_VEX_3A42 = PREFIX_VEX_3A41 + 1,
-  PREFIX_VEX_3A44 = PREFIX_VEX_3A42 + 1,
-  PREFIX_VEX_3A4A = PREFIX_VEX_3A44 + 1,
-  PREFIX_VEX_3A4B = PREFIX_VEX_3A4A + 1,
-  PREFIX_VEX_3A4C = PREFIX_VEX_3A4B + 1,
-  PREFIX_VEX_3A5C = PREFIX_VEX_3A4C + 1,
-  PREFIX_VEX_3A5D = PREFIX_VEX_3A5C + 1,
-  PREFIX_VEX_3A5E = PREFIX_VEX_3A5D + 1,
-  PREFIX_VEX_3A5F = PREFIX_VEX_3A5E + 1,
-  PREFIX_VEX_3A60 = PREFIX_VEX_3A5F + 1,
-  PREFIX_VEX_3A61 = PREFIX_VEX_3A60 + 1,
-  PREFIX_VEX_3A62 = PREFIX_VEX_3A61 + 1,
-  PREFIX_VEX_3A63 = PREFIX_VEX_3A62 + 1,
-  PREFIX_VEX_3A68 = PREFIX_VEX_3A63 + 1,
-  PREFIX_VEX_3A69 = PREFIX_VEX_3A68 + 1,
-  PREFIX_VEX_3A6A = PREFIX_VEX_3A69 + 1,
-  PREFIX_VEX_3A6B = PREFIX_VEX_3A6A + 1,
-  PREFIX_VEX_3A6C = PREFIX_VEX_3A6B + 1,
-  PREFIX_VEX_3A6D = PREFIX_VEX_3A6C + 1,
-  PREFIX_VEX_3A6E = PREFIX_VEX_3A6D + 1,
-  PREFIX_VEX_3A6F = PREFIX_VEX_3A6E + 1,
-  PREFIX_VEX_3A78 = PREFIX_VEX_3A6F + 1,
-  PREFIX_VEX_3A79 = PREFIX_VEX_3A78 + 1,
-  PREFIX_VEX_3A7A = PREFIX_VEX_3A79 + 1,
-  PREFIX_VEX_3A7B = PREFIX_VEX_3A7A + 1,
-  PREFIX_VEX_3A7C = PREFIX_VEX_3A7B + 1,
-  PREFIX_VEX_3A7D = PREFIX_VEX_3A7C + 1,
-  PREFIX_VEX_3A7E = PREFIX_VEX_3A7D + 1,
-  PREFIX_VEX_3A7F = PREFIX_VEX_3A7E + 1,
-  PREFIX_VEX_3ADF = PREFIX_VEX_3A7F + 1
+  PREFIX_0F10,
+  PREFIX_0F11,
+  PREFIX_0F12,
+  PREFIX_0F16,
+  PREFIX_0F2A,
+  PREFIX_0F2B,
+  PREFIX_0F2C,
+  PREFIX_0F2D,
+  PREFIX_0F2E,
+  PREFIX_0F2F,
+  PREFIX_0F51,
+  PREFIX_0F52,
+  PREFIX_0F53,
+  PREFIX_0F58,
+  PREFIX_0F59,
+  PREFIX_0F5A,
+  PREFIX_0F5B,
+  PREFIX_0F5C,
+  PREFIX_0F5D,
+  PREFIX_0F5E,
+  PREFIX_0F5F,
+  PREFIX_0F60,
+  PREFIX_0F61,
+  PREFIX_0F62,
+  PREFIX_0F6C,
+  PREFIX_0F6D,
+  PREFIX_0F6F,
+  PREFIX_0F70,
+  PREFIX_0F73_REG_3,
+  PREFIX_0F73_REG_7,
+  PREFIX_0F78,
+  PREFIX_0F79,
+  PREFIX_0F7C,
+  PREFIX_0F7D,
+  PREFIX_0F7E,
+  PREFIX_0F7F,
+  PREFIX_0FB8,
+  PREFIX_0FBD,
+  PREFIX_0FC2,
+  PREFIX_0FC3,
+  PREFIX_0FC7_REG_6,
+  PREFIX_0FD0,
+  PREFIX_0FD6,
+  PREFIX_0FE6,
+  PREFIX_0FE7,
+  PREFIX_0FF0,
+  PREFIX_0FF7,
+  PREFIX_0F3810,
+  PREFIX_0F3814,
+  PREFIX_0F3815,
+  PREFIX_0F3817,
+  PREFIX_0F3820,
+  PREFIX_0F3821,
+  PREFIX_0F3822,
+  PREFIX_0F3823,
+  PREFIX_0F3824,
+  PREFIX_0F3825,
+  PREFIX_0F3828,
+  PREFIX_0F3829,
+  PREFIX_0F382A,
+  PREFIX_0F382B,
+  PREFIX_0F3830,
+  PREFIX_0F3831,
+  PREFIX_0F3832,
+  PREFIX_0F3833,
+  PREFIX_0F3834,
+  PREFIX_0F3835,
+  PREFIX_0F3837,
+  PREFIX_0F3838,
+  PREFIX_0F3839,
+  PREFIX_0F383A,
+  PREFIX_0F383B,
+  PREFIX_0F383C,
+  PREFIX_0F383D,
+  PREFIX_0F383E,
+  PREFIX_0F383F,
+  PREFIX_0F3840,
+  PREFIX_0F3841,
+  PREFIX_0F3880,
+  PREFIX_0F3881,
+  PREFIX_0F38DB,
+  PREFIX_0F38DC,
+  PREFIX_0F38DD,
+  PREFIX_0F38DE,
+  PREFIX_0F38DF,
+  PREFIX_0F38F0,
+  PREFIX_0F38F1,
+  PREFIX_0F3A08,
+  PREFIX_0F3A09,
+  PREFIX_0F3A0A,
+  PREFIX_0F3A0B,
+  PREFIX_0F3A0C,
+  PREFIX_0F3A0D,
+  PREFIX_0F3A0E,
+  PREFIX_0F3A14,
+  PREFIX_0F3A15,
+  PREFIX_0F3A16,
+  PREFIX_0F3A17,
+  PREFIX_0F3A20,
+  PREFIX_0F3A21,
+  PREFIX_0F3A22,
+  PREFIX_0F3A40,
+  PREFIX_0F3A41,
+  PREFIX_0F3A42,
+  PREFIX_0F3A44,
+  PREFIX_0F3A60,
+  PREFIX_0F3A61,
+  PREFIX_0F3A62,
+  PREFIX_0F3A63,
+  PREFIX_0F3ADF,
+  PREFIX_VEX_10,
+  PREFIX_VEX_11,
+  PREFIX_VEX_12,
+  PREFIX_VEX_16,
+  PREFIX_VEX_2A,
+  PREFIX_VEX_2C,
+  PREFIX_VEX_2D,
+  PREFIX_VEX_2E,
+  PREFIX_VEX_2F,
+  PREFIX_VEX_51,
+  PREFIX_VEX_52,
+  PREFIX_VEX_53,
+  PREFIX_VEX_58,
+  PREFIX_VEX_59,
+  PREFIX_VEX_5A,
+  PREFIX_VEX_5B,
+  PREFIX_VEX_5C,
+  PREFIX_VEX_5D,
+  PREFIX_VEX_5E,
+  PREFIX_VEX_5F,
+  PREFIX_VEX_60,
+  PREFIX_VEX_61,
+  PREFIX_VEX_62,
+  PREFIX_VEX_63,
+  PREFIX_VEX_64,
+  PREFIX_VEX_65,
+  PREFIX_VEX_66,
+  PREFIX_VEX_67,
+  PREFIX_VEX_68,
+  PREFIX_VEX_69,
+  PREFIX_VEX_6A,
+  PREFIX_VEX_6B,
+  PREFIX_VEX_6C,
+  PREFIX_VEX_6D,
+  PREFIX_VEX_6E,
+  PREFIX_VEX_6F,
+  PREFIX_VEX_70,
+  PREFIX_VEX_71_REG_2,
+  PREFIX_VEX_71_REG_4,
+  PREFIX_VEX_71_REG_6,
+  PREFIX_VEX_72_REG_2,
+  PREFIX_VEX_72_REG_4,
+  PREFIX_VEX_72_REG_6,
+  PREFIX_VEX_73_REG_2,
+  PREFIX_VEX_73_REG_3,
+  PREFIX_VEX_73_REG_6,
+  PREFIX_VEX_73_REG_7,
+  PREFIX_VEX_74,
+  PREFIX_VEX_75,
+  PREFIX_VEX_76,
+  PREFIX_VEX_77,
+  PREFIX_VEX_7C,
+  PREFIX_VEX_7D,
+  PREFIX_VEX_7E,
+  PREFIX_VEX_7F,
+  PREFIX_VEX_C2,
+  PREFIX_VEX_C4,
+  PREFIX_VEX_C5,
+  PREFIX_VEX_D0,
+  PREFIX_VEX_D1,
+  PREFIX_VEX_D2,
+  PREFIX_VEX_D3,
+  PREFIX_VEX_D4,
+  PREFIX_VEX_D5,
+  PREFIX_VEX_D6,
+  PREFIX_VEX_D7,
+  PREFIX_VEX_D8,
+  PREFIX_VEX_D9,
+  PREFIX_VEX_DA,
+  PREFIX_VEX_DB,
+  PREFIX_VEX_DC,
+  PREFIX_VEX_DD,
+  PREFIX_VEX_DE,
+  PREFIX_VEX_DF,
+  PREFIX_VEX_E0,
+  PREFIX_VEX_E1,
+  PREFIX_VEX_E2,
+  PREFIX_VEX_E3,
+  PREFIX_VEX_E4,
+  PREFIX_VEX_E5,
+  PREFIX_VEX_E6,
+  PREFIX_VEX_E7,
+  PREFIX_VEX_E8,
+  PREFIX_VEX_E9,
+  PREFIX_VEX_EA,
+  PREFIX_VEX_EB,
+  PREFIX_VEX_EC,
+  PREFIX_VEX_ED,
+  PREFIX_VEX_EE,
+  PREFIX_VEX_EF,
+  PREFIX_VEX_F0,
+  PREFIX_VEX_F1,
+  PREFIX_VEX_F2,
+  PREFIX_VEX_F3,
+  PREFIX_VEX_F4,
+  PREFIX_VEX_F5,
+  PREFIX_VEX_F6,
+  PREFIX_VEX_F7,
+  PREFIX_VEX_F8,
+  PREFIX_VEX_F9,
+  PREFIX_VEX_FA,
+  PREFIX_VEX_FB,
+  PREFIX_VEX_FC,
+  PREFIX_VEX_FD,
+  PREFIX_VEX_FE,
+  PREFIX_VEX_3800,
+  PREFIX_VEX_3801,
+  PREFIX_VEX_3802,
+  PREFIX_VEX_3803,
+  PREFIX_VEX_3804,
+  PREFIX_VEX_3805,
+  PREFIX_VEX_3806,
+  PREFIX_VEX_3807,
+  PREFIX_VEX_3808,
+  PREFIX_VEX_3809,
+  PREFIX_VEX_380A,
+  PREFIX_VEX_380B,
+  PREFIX_VEX_380C,
+  PREFIX_VEX_380D,
+  PREFIX_VEX_380E,
+  PREFIX_VEX_380F,
+  PREFIX_VEX_3817,
+  PREFIX_VEX_3818,
+  PREFIX_VEX_3819,
+  PREFIX_VEX_381A,
+  PREFIX_VEX_381C,
+  PREFIX_VEX_381D,
+  PREFIX_VEX_381E,
+  PREFIX_VEX_3820,
+  PREFIX_VEX_3821,
+  PREFIX_VEX_3822,
+  PREFIX_VEX_3823,
+  PREFIX_VEX_3824,
+  PREFIX_VEX_3825,
+  PREFIX_VEX_3828,
+  PREFIX_VEX_3829,
+  PREFIX_VEX_382A,
+  PREFIX_VEX_382B,
+  PREFIX_VEX_382C,
+  PREFIX_VEX_382D,
+  PREFIX_VEX_382E,
+  PREFIX_VEX_382F,
+  PREFIX_VEX_3830,
+  PREFIX_VEX_3831,
+  PREFIX_VEX_3832,
+  PREFIX_VEX_3833,
+  PREFIX_VEX_3834,
+  PREFIX_VEX_3835,
+  PREFIX_VEX_3837,
+  PREFIX_VEX_3838,
+  PREFIX_VEX_3839,
+  PREFIX_VEX_383A,
+  PREFIX_VEX_383B,
+  PREFIX_VEX_383C,
+  PREFIX_VEX_383D,
+  PREFIX_VEX_383E,
+  PREFIX_VEX_383F,
+  PREFIX_VEX_3840,
+  PREFIX_VEX_3841,
+  PREFIX_VEX_3896,
+  PREFIX_VEX_3897,
+  PREFIX_VEX_3898,
+  PREFIX_VEX_3899,
+  PREFIX_VEX_389A,
+  PREFIX_VEX_389B,
+  PREFIX_VEX_389C,
+  PREFIX_VEX_389D,
+  PREFIX_VEX_389E,
+  PREFIX_VEX_389F,
+  PREFIX_VEX_38A6,
+  PREFIX_VEX_38A7,
+  PREFIX_VEX_38A8,
+  PREFIX_VEX_38A9,
+  PREFIX_VEX_38AA,
+  PREFIX_VEX_38AB,
+  PREFIX_VEX_38AC,
+  PREFIX_VEX_38AD,
+  PREFIX_VEX_38AE,
+  PREFIX_VEX_38AF,
+  PREFIX_VEX_38B6,
+  PREFIX_VEX_38B7,
+  PREFIX_VEX_38B8,
+  PREFIX_VEX_38B9,
+  PREFIX_VEX_38BA,
+  PREFIX_VEX_38BB,
+  PREFIX_VEX_38BC,
+  PREFIX_VEX_38BD,
+  PREFIX_VEX_38BE,
+  PREFIX_VEX_38BF,
+  PREFIX_VEX_38DB,
+  PREFIX_VEX_38DC,
+  PREFIX_VEX_38DD,
+  PREFIX_VEX_38DE,
+  PREFIX_VEX_38DF,
+  PREFIX_VEX_3A04,
+  PREFIX_VEX_3A05,
+  PREFIX_VEX_3A06,
+  PREFIX_VEX_3A08,
+  PREFIX_VEX_3A09,
+  PREFIX_VEX_3A0A,
+  PREFIX_VEX_3A0B,
+  PREFIX_VEX_3A0C,
+  PREFIX_VEX_3A0D,
+  PREFIX_VEX_3A0E,
+  PREFIX_VEX_3A0F,
+  PREFIX_VEX_3A14,
+  PREFIX_VEX_3A15,
+  PREFIX_VEX_3A16,
+  PREFIX_VEX_3A17,
+  PREFIX_VEX_3A18,
+  PREFIX_VEX_3A19,
+  PREFIX_VEX_3A20,
+  PREFIX_VEX_3A21,
+  PREFIX_VEX_3A22,
+  PREFIX_VEX_3A40,
+  PREFIX_VEX_3A41,
+  PREFIX_VEX_3A42,
+  PREFIX_VEX_3A44,
+  PREFIX_VEX_3A4A,
+  PREFIX_VEX_3A4B,
+  PREFIX_VEX_3A4C,
+  PREFIX_VEX_3A5C,
+  PREFIX_VEX_3A5D,
+  PREFIX_VEX_3A5E,
+  PREFIX_VEX_3A5F,
+  PREFIX_VEX_3A60,
+  PREFIX_VEX_3A61,
+  PREFIX_VEX_3A62,
+  PREFIX_VEX_3A63,
+  PREFIX_VEX_3A68,
+  PREFIX_VEX_3A69,
+  PREFIX_VEX_3A6A,
+  PREFIX_VEX_3A6B,
+  PREFIX_VEX_3A6C,
+  PREFIX_VEX_3A6D,
+  PREFIX_VEX_3A6E,
+  PREFIX_VEX_3A6F,
+  PREFIX_VEX_3A78,
+  PREFIX_VEX_3A79,
+  PREFIX_VEX_3A7A,
+  PREFIX_VEX_3A7B,
+  PREFIX_VEX_3A7C,
+  PREFIX_VEX_3A7D,
+  PREFIX_VEX_3A7E,
+  PREFIX_VEX_3A7F,
+  PREFIX_VEX_3ADF
 };
 
 enum
 {
   X86_64_06 = 0,
-  X86_64_07 = X86_64_06 + 1,
-  X86_64_0D = X86_64_07 + 1,
-  X86_64_16 = X86_64_0D + 1,
-  X86_64_17 = X86_64_16 + 1,
-  X86_64_1E = X86_64_17 + 1,
-  X86_64_1F = X86_64_1E + 1,
-  X86_64_27 = X86_64_1F + 1,
-  X86_64_2F = X86_64_27 + 1,
-  X86_64_37 = X86_64_2F + 1,
-  X86_64_3F = X86_64_37 + 1,
-  X86_64_60 = X86_64_3F + 1,
-  X86_64_61 = X86_64_60 + 1,
-  X86_64_62 = X86_64_61 + 1,
-  X86_64_63 = X86_64_62 + 1,
-  X86_64_6D = X86_64_63 + 1,
-  X86_64_6F = X86_64_6D + 1,
-  X86_64_9A = X86_64_6F + 1,
-  X86_64_C4 = X86_64_9A + 1,
-  X86_64_C5 = X86_64_C4 + 1,
-  X86_64_CE = X86_64_C5 + 1,
-  X86_64_D4 = X86_64_CE + 1,
-  X86_64_D5 = X86_64_D4 + 1,
-  X86_64_EA = X86_64_D5 + 1,
-  X86_64_0F01_REG_0 = X86_64_EA + 1,
-  X86_64_0F01_REG_1 = X86_64_0F01_REG_0 + 1,
-  X86_64_0F01_REG_2 = X86_64_0F01_REG_1 + 1,
-  X86_64_0F01_REG_3 = X86_64_0F01_REG_2 + 1
+  X86_64_07,
+  X86_64_0D,
+  X86_64_16,
+  X86_64_17,
+  X86_64_1E,
+  X86_64_1F,
+  X86_64_27,
+  X86_64_2F,
+  X86_64_37,
+  X86_64_3F,
+  X86_64_60,
+  X86_64_61,
+  X86_64_62,
+  X86_64_63,
+  X86_64_6D,
+  X86_64_6F,
+  X86_64_9A,
+  X86_64_C4,
+  X86_64_C5,
+  X86_64_CE,
+  X86_64_D4,
+  X86_64_D5,
+  X86_64_EA,
+  X86_64_0F01_REG_0,
+  X86_64_0F01_REG_1,
+  X86_64_0F01_REG_2,
+  X86_64_0F01_REG_3
 };
 
 enum
 {
   THREE_BYTE_0F38 = 0,
-  THREE_BYTE_0F3A = THREE_BYTE_0F38 + 1,
-  THREE_BYTE_0F7A = THREE_BYTE_0F3A + 1
+  THREE_BYTE_0F3A,
+  THREE_BYTE_0F7A
 };
 
 enum
 {
   VEX_0F = 0,
-  VEX_0F38 = VEX_0F + 1,
-  VEX_0F3A = VEX_0F38 + 1
+  VEX_0F38,
+  VEX_0F3A
 };
 
 enum
 {
   VEX_LEN_10_P_1 = 0,
-  VEX_LEN_10_P_3 = VEX_LEN_10_P_1 + 1,
-  VEX_LEN_11_P_1 = VEX_LEN_10_P_3 + 1,
-  VEX_LEN_11_P_3 = VEX_LEN_11_P_1 + 1,
-  VEX_LEN_12_P_0_M_0 = VEX_LEN_11_P_3 + 1,
-  VEX_LEN_12_P_0_M_1 = VEX_LEN_12_P_0_M_0 + 1,
-  VEX_LEN_12_P_2 = VEX_LEN_12_P_0_M_1 + 1,
-  VEX_LEN_13_M_0 = VEX_LEN_12_P_2 + 1,
-  VEX_LEN_16_P_0_M_0 = VEX_LEN_13_M_0 + 1,
-  VEX_LEN_16_P_0_M_1 = VEX_LEN_16_P_0_M_0 + 1,
-  VEX_LEN_16_P_2 = VEX_LEN_16_P_0_M_1 + 1,
-  VEX_LEN_17_M_0 = VEX_LEN_16_P_2 + 1,
-  VEX_LEN_2A_P_1 = VEX_LEN_17_M_0 + 1,
-  VEX_LEN_2A_P_3 = VEX_LEN_2A_P_1 + 1,
-  VEX_LEN_2C_P_1 = VEX_LEN_2A_P_3 + 1,
-  VEX_LEN_2C_P_3 = VEX_LEN_2C_P_1 + 1,
-  VEX_LEN_2D_P_1 = VEX_LEN_2C_P_3 + 1,
-  VEX_LEN_2D_P_3 = VEX_LEN_2D_P_1 + 1,
-  VEX_LEN_2E_P_0 = VEX_LEN_2D_P_3 + 1,
-  VEX_LEN_2E_P_2 = VEX_LEN_2E_P_0 + 1,
-  VEX_LEN_2F_P_0 = VEX_LEN_2E_P_2 + 1,
-  VEX_LEN_2F_P_2 = VEX_LEN_2F_P_0 + 1,
-  VEX_LEN_51_P_1 = VEX_LEN_2F_P_2 + 1,
-  VEX_LEN_51_P_3 = VEX_LEN_51_P_1 + 1,
-  VEX_LEN_52_P_1 = VEX_LEN_51_P_3 + 1,
-  VEX_LEN_53_P_1 = VEX_LEN_52_P_1 + 1,
-  VEX_LEN_58_P_1 = VEX_LEN_53_P_1 + 1,
-  VEX_LEN_58_P_3 = VEX_LEN_58_P_1 + 1,
-  VEX_LEN_59_P_1 = VEX_LEN_58_P_3 + 1,
-  VEX_LEN_59_P_3 = VEX_LEN_59_P_1 + 1,
-  VEX_LEN_5A_P_1 = VEX_LEN_59_P_3 + 1,
-  VEX_LEN_5A_P_3 = VEX_LEN_5A_P_1 + 1,
-  VEX_LEN_5C_P_1 = VEX_LEN_5A_P_3 + 1,
-  VEX_LEN_5C_P_3 = VEX_LEN_5C_P_1 + 1,
-  VEX_LEN_5D_P_1 = VEX_LEN_5C_P_3 + 1,
-  VEX_LEN_5D_P_3 = VEX_LEN_5D_P_1 + 1,
-  VEX_LEN_5E_P_1 = VEX_LEN_5D_P_3 + 1,
-  VEX_LEN_5E_P_3 = VEX_LEN_5E_P_1 + 1,
-  VEX_LEN_5F_P_1 = VEX_LEN_5E_P_3 + 1,
-  VEX_LEN_5F_P_3 = VEX_LEN_5F_P_1 + 1,
-  VEX_LEN_60_P_2 = VEX_LEN_5F_P_3 + 1,
-  VEX_LEN_61_P_2 = VEX_LEN_60_P_2 + 1,
-  VEX_LEN_62_P_2 = VEX_LEN_61_P_2 + 1,
-  VEX_LEN_63_P_2 = VEX_LEN_62_P_2 + 1,
-  VEX_LEN_64_P_2 = VEX_LEN_63_P_2 + 1,
-  VEX_LEN_65_P_2 = VEX_LEN_64_P_2 + 1,
-  VEX_LEN_66_P_2 = VEX_LEN_65_P_2 + 1,
-  VEX_LEN_67_P_2 = VEX_LEN_66_P_2 + 1,
-  VEX_LEN_68_P_2 = VEX_LEN_67_P_2 + 1,
-  VEX_LEN_69_P_2 = VEX_LEN_68_P_2 + 1,
-  VEX_LEN_6A_P_2 = VEX_LEN_69_P_2 + 1,
-  VEX_LEN_6B_P_2 = VEX_LEN_6A_P_2 + 1,
-  VEX_LEN_6C_P_2 = VEX_LEN_6B_P_2 + 1,
-  VEX_LEN_6D_P_2 = VEX_LEN_6C_P_2 + 1,
-  VEX_LEN_6E_P_2 = VEX_LEN_6D_P_2 + 1,
-  VEX_LEN_70_P_1 = VEX_LEN_6E_P_2 + 1,
-  VEX_LEN_70_P_2 = VEX_LEN_70_P_1 + 1,
-  VEX_LEN_70_P_3 = VEX_LEN_70_P_2 + 1,
-  VEX_LEN_71_R_2_P_2 = VEX_LEN_70_P_3 + 1,
-  VEX_LEN_71_R_4_P_2 = VEX_LEN_71_R_2_P_2 + 1,
-  VEX_LEN_71_R_6_P_2 = VEX_LEN_71_R_4_P_2 + 1,
-  VEX_LEN_72_R_2_P_2 = VEX_LEN_71_R_6_P_2 + 1,
-  VEX_LEN_72_R_4_P_2 = VEX_LEN_72_R_2_P_2 + 1,
-  VEX_LEN_72_R_6_P_2 = VEX_LEN_72_R_4_P_2 + 1,
-  VEX_LEN_73_R_2_P_2 = VEX_LEN_72_R_6_P_2 + 1,
-  VEX_LEN_73_R_3_P_2 = VEX_LEN_73_R_2_P_2 + 1,
-  VEX_LEN_73_R_6_P_2 = VEX_LEN_73_R_3_P_2 + 1,
-  VEX_LEN_73_R_7_P_2 = VEX_LEN_73_R_6_P_2 + 1,
-  VEX_LEN_74_P_2 = VEX_LEN_73_R_7_P_2 + 1,
-  VEX_LEN_75_P_2 = VEX_LEN_74_P_2 + 1,
-  VEX_LEN_76_P_2 = VEX_LEN_75_P_2 + 1,
-  VEX_LEN_7E_P_1 = VEX_LEN_76_P_2 + 1,
-  VEX_LEN_7E_P_2 = VEX_LEN_7E_P_1 + 1,
-  VEX_LEN_AE_R_2_M_0 = VEX_LEN_7E_P_2 + 1,
-  VEX_LEN_AE_R_3_M_0 = VEX_LEN_AE_R_2_M_0 + 1,
-  VEX_LEN_C2_P_1 = VEX_LEN_AE_R_3_M_0 + 1,
-  VEX_LEN_C2_P_3 = VEX_LEN_C2_P_1 + 1,
-  VEX_LEN_C4_P_2 = VEX_LEN_C2_P_3 + 1,
-  VEX_LEN_C5_P_2 = VEX_LEN_C4_P_2 + 1,
-  VEX_LEN_D1_P_2 = VEX_LEN_C5_P_2 + 1,
-  VEX_LEN_D2_P_2 = VEX_LEN_D1_P_2 + 1,
-  VEX_LEN_D3_P_2 = VEX_LEN_D2_P_2 + 1,
-  VEX_LEN_D4_P_2 = VEX_LEN_D3_P_2 + 1,
-  VEX_LEN_D5_P_2 = VEX_LEN_D4_P_2 + 1,
-  VEX_LEN_D6_P_2 = VEX_LEN_D5_P_2 + 1,
-  VEX_LEN_D7_P_2_M_1 = VEX_LEN_D6_P_2 + 1,
-  VEX_LEN_D8_P_2 = VEX_LEN_D7_P_2_M_1 + 1,
-  VEX_LEN_D9_P_2 = VEX_LEN_D8_P_2 + 1,
-  VEX_LEN_DA_P_2 = VEX_LEN_D9_P_2 + 1,
-  VEX_LEN_DB_P_2 = VEX_LEN_DA_P_2 + 1,
-  VEX_LEN_DC_P_2 = VEX_LEN_DB_P_2 + 1,
-  VEX_LEN_DD_P_2 = VEX_LEN_DC_P_2 + 1,
-  VEX_LEN_DE_P_2 = VEX_LEN_DD_P_2 + 1,
-  VEX_LEN_DF_P_2 = VEX_LEN_DE_P_2 + 1,
-  VEX_LEN_E0_P_2 = VEX_LEN_DF_P_2 + 1,
-  VEX_LEN_E1_P_2 = VEX_LEN_E0_P_2 + 1,
-  VEX_LEN_E2_P_2 = VEX_LEN_E1_P_2 + 1,
-  VEX_LEN_E3_P_2 = VEX_LEN_E2_P_2 + 1,
-  VEX_LEN_E4_P_2 = VEX_LEN_E3_P_2 + 1,
-  VEX_LEN_E5_P_2 = VEX_LEN_E4_P_2 + 1,
-  VEX_LEN_E8_P_2 = VEX_LEN_E5_P_2 + 1,
-  VEX_LEN_E9_P_2 = VEX_LEN_E8_P_2 + 1,
-  VEX_LEN_EA_P_2 = VEX_LEN_E9_P_2 + 1,
-  VEX_LEN_EB_P_2 = VEX_LEN_EA_P_2 + 1,
-  VEX_LEN_EC_P_2 = VEX_LEN_EB_P_2 + 1,
-  VEX_LEN_ED_P_2 = VEX_LEN_EC_P_2 + 1,
-  VEX_LEN_EE_P_2 = VEX_LEN_ED_P_2 + 1,
-  VEX_LEN_EF_P_2 = VEX_LEN_EE_P_2 + 1,
-  VEX_LEN_F1_P_2 = VEX_LEN_EF_P_2 + 1,
-  VEX_LEN_F2_P_2 = VEX_LEN_F1_P_2 + 1,
-  VEX_LEN_F3_P_2 = VEX_LEN_F2_P_2 + 1,
-  VEX_LEN_F4_P_2 = VEX_LEN_F3_P_2 + 1,
-  VEX_LEN_F5_P_2 = VEX_LEN_F4_P_2 + 1,
-  VEX_LEN_F6_P_2 = VEX_LEN_F5_P_2 + 1,
-  VEX_LEN_F7_P_2 = VEX_LEN_F6_P_2 + 1,
-  VEX_LEN_F8_P_2 = VEX_LEN_F7_P_2 + 1,
-  VEX_LEN_F9_P_2 = VEX_LEN_F8_P_2 + 1,
-  VEX_LEN_FA_P_2 = VEX_LEN_F9_P_2 + 1,
-  VEX_LEN_FB_P_2 = VEX_LEN_FA_P_2 + 1,
-  VEX_LEN_FC_P_2 = VEX_LEN_FB_P_2 + 1,
-  VEX_LEN_FD_P_2 = VEX_LEN_FC_P_2 + 1,
-  VEX_LEN_FE_P_2 = VEX_LEN_FD_P_2 + 1,
-  VEX_LEN_3800_P_2 = VEX_LEN_FE_P_2 + 1,
-  VEX_LEN_3801_P_2 = VEX_LEN_3800_P_2 + 1,
-  VEX_LEN_3802_P_2 = VEX_LEN_3801_P_2 + 1,
-  VEX_LEN_3803_P_2 = VEX_LEN_3802_P_2 + 1,
-  VEX_LEN_3804_P_2 = VEX_LEN_3803_P_2 + 1,
-  VEX_LEN_3805_P_2 = VEX_LEN_3804_P_2 + 1,
-  VEX_LEN_3806_P_2 = VEX_LEN_3805_P_2 + 1,
-  VEX_LEN_3807_P_2 = VEX_LEN_3806_P_2 + 1,
-  VEX_LEN_3808_P_2 = VEX_LEN_3807_P_2 + 1,
-  VEX_LEN_3809_P_2 = VEX_LEN_3808_P_2 + 1,
-  VEX_LEN_380A_P_2 = VEX_LEN_3809_P_2 + 1,
-  VEX_LEN_380B_P_2 = VEX_LEN_380A_P_2 + 1,
-  VEX_LEN_3819_P_2_M_0 = VEX_LEN_380B_P_2 + 1,
-  VEX_LEN_381A_P_2_M_0 = VEX_LEN_3819_P_2_M_0 + 1,
-  VEX_LEN_381C_P_2 = VEX_LEN_381A_P_2_M_0 + 1,
-  VEX_LEN_381D_P_2 = VEX_LEN_381C_P_2 + 1,
-  VEX_LEN_381E_P_2 = VEX_LEN_381D_P_2 + 1,
-  VEX_LEN_3820_P_2 = VEX_LEN_381E_P_2 + 1,
-  VEX_LEN_3821_P_2 = VEX_LEN_3820_P_2 + 1,
-  VEX_LEN_3822_P_2 = VEX_LEN_3821_P_2 + 1,
-  VEX_LEN_3823_P_2 = VEX_LEN_3822_P_2 + 1,
-  VEX_LEN_3824_P_2 = VEX_LEN_3823_P_2 + 1,
-  VEX_LEN_3825_P_2 = VEX_LEN_3824_P_2 + 1,
-  VEX_LEN_3828_P_2 = VEX_LEN_3825_P_2 + 1,
-  VEX_LEN_3829_P_2 = VEX_LEN_3828_P_2 + 1,
-  VEX_LEN_382A_P_2_M_0 = VEX_LEN_3829_P_2 + 1,
-  VEX_LEN_382B_P_2 = VEX_LEN_382A_P_2_M_0 + 1,
-  VEX_LEN_3830_P_2 = VEX_LEN_382B_P_2 + 1,
-  VEX_LEN_3831_P_2 = VEX_LEN_3830_P_2 + 1,
-  VEX_LEN_3832_P_2 = VEX_LEN_3831_P_2 + 1,
-  VEX_LEN_3833_P_2 = VEX_LEN_3832_P_2 + 1,
-  VEX_LEN_3834_P_2 = VEX_LEN_3833_P_2 + 1,
-  VEX_LEN_3835_P_2 = VEX_LEN_3834_P_2 + 1,
-  VEX_LEN_3837_P_2 = VEX_LEN_3835_P_2 + 1,
-  VEX_LEN_3838_P_2 = VEX_LEN_3837_P_2 + 1,
-  VEX_LEN_3839_P_2 = VEX_LEN_3838_P_2 + 1,
-  VEX_LEN_383A_P_2 = VEX_LEN_3839_P_2 + 1,
-  VEX_LEN_383B_P_2 = VEX_LEN_383A_P_2 + 1,
-  VEX_LEN_383C_P_2 = VEX_LEN_383B_P_2 + 1,
-  VEX_LEN_383D_P_2 = VEX_LEN_383C_P_2 + 1,
-  VEX_LEN_383E_P_2 = VEX_LEN_383D_P_2 + 1,
-  VEX_LEN_383F_P_2 = VEX_LEN_383E_P_2 + 1,
-  VEX_LEN_3840_P_2 = VEX_LEN_383F_P_2 + 1,
-  VEX_LEN_3841_P_2 = VEX_LEN_3840_P_2 + 1,
-  VEX_LEN_38DB_P_2 = VEX_LEN_3841_P_2 + 1,
-  VEX_LEN_38DC_P_2 = VEX_LEN_38DB_P_2 + 1,
-  VEX_LEN_38DD_P_2 = VEX_LEN_38DC_P_2 + 1,
-  VEX_LEN_38DE_P_2 = VEX_LEN_38DD_P_2 + 1,
-  VEX_LEN_38DF_P_2 = VEX_LEN_38DE_P_2 + 1,
-  VEX_LEN_3A06_P_2 = VEX_LEN_38DF_P_2 + 1,
-  VEX_LEN_3A0A_P_2 = VEX_LEN_3A06_P_2 + 1,
-  VEX_LEN_3A0B_P_2 = VEX_LEN_3A0A_P_2 + 1,
-  VEX_LEN_3A0E_P_2 = VEX_LEN_3A0B_P_2 + 1,
-  VEX_LEN_3A0F_P_2 = VEX_LEN_3A0E_P_2 + 1,
-  VEX_LEN_3A14_P_2 = VEX_LEN_3A0F_P_2 + 1,
-  VEX_LEN_3A15_P_2 = VEX_LEN_3A14_P_2 + 1,
-  VEX_LEN_3A16_P_2 = VEX_LEN_3A15_P_2 + 1,
-  VEX_LEN_3A17_P_2 = VEX_LEN_3A16_P_2 + 1,
-  VEX_LEN_3A18_P_2 = VEX_LEN_3A17_P_2 + 1,
-  VEX_LEN_3A19_P_2 = VEX_LEN_3A18_P_2 + 1,
-  VEX_LEN_3A20_P_2 = VEX_LEN_3A19_P_2 + 1,
-  VEX_LEN_3A21_P_2 = VEX_LEN_3A20_P_2 + 1,
-  VEX_LEN_3A22_P_2 = VEX_LEN_3A21_P_2 + 1,
-  VEX_LEN_3A41_P_2 = VEX_LEN_3A22_P_2 + 1,
-  VEX_LEN_3A42_P_2 = VEX_LEN_3A41_P_2 + 1,
-  VEX_LEN_3A44_P_2 = VEX_LEN_3A42_P_2 + 1,
-  VEX_LEN_3A4C_P_2 = VEX_LEN_3A44_P_2 + 1,
-  VEX_LEN_3A60_P_2 = VEX_LEN_3A4C_P_2 + 1,
-  VEX_LEN_3A61_P_2 = VEX_LEN_3A60_P_2 + 1,
-  VEX_LEN_3A62_P_2 = VEX_LEN_3A61_P_2 + 1,
-  VEX_LEN_3A63_P_2 = VEX_LEN_3A62_P_2 + 1,
-  VEX_LEN_3A6A_P_2 = VEX_LEN_3A63_P_2 + 1,
-  VEX_LEN_3A6B_P_2 = VEX_LEN_3A6A_P_2 + 1,
-  VEX_LEN_3A6E_P_2 = VEX_LEN_3A6B_P_2 + 1,
-  VEX_LEN_3A6F_P_2 = VEX_LEN_3A6E_P_2 + 1,
-  VEX_LEN_3A7A_P_2 = VEX_LEN_3A6F_P_2 + 1,
-  VEX_LEN_3A7B_P_2 = VEX_LEN_3A7A_P_2 + 1,
-  VEX_LEN_3A7E_P_2 = VEX_LEN_3A7B_P_2 + 1,
-  VEX_LEN_3A7F_P_2 = VEX_LEN_3A7E_P_2 + 1,
-  VEX_LEN_3ADF_P_2 = VEX_LEN_3A7F_P_2 + 1
+  VEX_LEN_10_P_3,
+  VEX_LEN_11_P_1,
+  VEX_LEN_11_P_3,
+  VEX_LEN_12_P_0_M_0,
+  VEX_LEN_12_P_0_M_1,
+  VEX_LEN_12_P_2,
+  VEX_LEN_13_M_0,
+  VEX_LEN_16_P_0_M_0,
+  VEX_LEN_16_P_0_M_1,
+  VEX_LEN_16_P_2,
+  VEX_LEN_17_M_0,
+  VEX_LEN_2A_P_1,
+  VEX_LEN_2A_P_3,
+  VEX_LEN_2C_P_1,
+  VEX_LEN_2C_P_3,
+  VEX_LEN_2D_P_1,
+  VEX_LEN_2D_P_3,
+  VEX_LEN_2E_P_0,
+  VEX_LEN_2E_P_2,
+  VEX_LEN_2F_P_0,
+  VEX_LEN_2F_P_2,
+  VEX_LEN_51_P_1,
+  VEX_LEN_51_P_3,
+  VEX_LEN_52_P_1,
+  VEX_LEN_53_P_1,
+  VEX_LEN_58_P_1,
+  VEX_LEN_58_P_3,
+  VEX_LEN_59_P_1,
+  VEX_LEN_59_P_3,
+  VEX_LEN_5A_P_1,
+  VEX_LEN_5A_P_3,
+  VEX_LEN_5C_P_1,
+  VEX_LEN_5C_P_3,
+  VEX_LEN_5D_P_1,
+  VEX_LEN_5D_P_3,
+  VEX_LEN_5E_P_1,
+  VEX_LEN_5E_P_3,
+  VEX_LEN_5F_P_1,
+  VEX_LEN_5F_P_3,
+  VEX_LEN_60_P_2,
+  VEX_LEN_61_P_2,
+  VEX_LEN_62_P_2,
+  VEX_LEN_63_P_2,
+  VEX_LEN_64_P_2,
+  VEX_LEN_65_P_2,
+  VEX_LEN_66_P_2,
+  VEX_LEN_67_P_2,
+  VEX_LEN_68_P_2,
+  VEX_LEN_69_P_2,
+  VEX_LEN_6A_P_2,
+  VEX_LEN_6B_P_2,
+  VEX_LEN_6C_P_2,
+  VEX_LEN_6D_P_2,
+  VEX_LEN_6E_P_2,
+  VEX_LEN_70_P_1,
+  VEX_LEN_70_P_2,
+  VEX_LEN_70_P_3,
+  VEX_LEN_71_R_2_P_2,
+  VEX_LEN_71_R_4_P_2,
+  VEX_LEN_71_R_6_P_2,
+  VEX_LEN_72_R_2_P_2,
+  VEX_LEN_72_R_4_P_2,
+  VEX_LEN_72_R_6_P_2,
+  VEX_LEN_73_R_2_P_2,
+  VEX_LEN_73_R_3_P_2,
+  VEX_LEN_73_R_6_P_2,
+  VEX_LEN_73_R_7_P_2,
+  VEX_LEN_74_P_2,
+  VEX_LEN_75_P_2,
+  VEX_LEN_76_P_2,
+  VEX_LEN_7E_P_1,
+  VEX_LEN_7E_P_2,
+  VEX_LEN_AE_R_2_M_0,
+  VEX_LEN_AE_R_3_M_0,
+  VEX_LEN_C2_P_1,
+  VEX_LEN_C2_P_3,
+  VEX_LEN_C4_P_2,
+  VEX_LEN_C5_P_2,
+  VEX_LEN_D1_P_2,
+  VEX_LEN_D2_P_2,
+  VEX_LEN_D3_P_2,
+  VEX_LEN_D4_P_2,
+  VEX_LEN_D5_P_2,
+  VEX_LEN_D6_P_2,
+  VEX_LEN_D7_P_2_M_1,
+  VEX_LEN_D8_P_2,
+  VEX_LEN_D9_P_2,
+  VEX_LEN_DA_P_2,
+  VEX_LEN_DB_P_2,
+  VEX_LEN_DC_P_2,
+  VEX_LEN_DD_P_2,
+  VEX_LEN_DE_P_2,
+  VEX_LEN_DF_P_2,
+  VEX_LEN_E0_P_2,
+  VEX_LEN_E1_P_2,
+  VEX_LEN_E2_P_2,
+  VEX_LEN_E3_P_2,
+  VEX_LEN_E4_P_2,
+  VEX_LEN_E5_P_2,
+  VEX_LEN_E8_P_2,
+  VEX_LEN_E9_P_2,
+  VEX_LEN_EA_P_2,
+  VEX_LEN_EB_P_2,
+  VEX_LEN_EC_P_2,
+  VEX_LEN_ED_P_2,
+  VEX_LEN_EE_P_2,
+  VEX_LEN_EF_P_2,
+  VEX_LEN_F1_P_2,
+  VEX_LEN_F2_P_2,
+  VEX_LEN_F3_P_2,
+  VEX_LEN_F4_P_2,
+  VEX_LEN_F5_P_2,
+  VEX_LEN_F6_P_2,
+  VEX_LEN_F7_P_2,
+  VEX_LEN_F8_P_2,
+  VEX_LEN_F9_P_2,
+  VEX_LEN_FA_P_2,
+  VEX_LEN_FB_P_2,
+  VEX_LEN_FC_P_2,
+  VEX_LEN_FD_P_2,
+  VEX_LEN_FE_P_2,
+  VEX_LEN_3800_P_2,
+  VEX_LEN_3801_P_2,
+  VEX_LEN_3802_P_2,
+  VEX_LEN_3803_P_2,
+  VEX_LEN_3804_P_2,
+  VEX_LEN_3805_P_2,
+  VEX_LEN_3806_P_2,
+  VEX_LEN_3807_P_2,
+  VEX_LEN_3808_P_2,
+  VEX_LEN_3809_P_2,
+  VEX_LEN_380A_P_2,
+  VEX_LEN_380B_P_2,
+  VEX_LEN_3819_P_2_M_0,
+  VEX_LEN_381A_P_2_M_0,
+  VEX_LEN_381C_P_2,
+  VEX_LEN_381D_P_2,
+  VEX_LEN_381E_P_2,
+  VEX_LEN_3820_P_2,
+  VEX_LEN_3821_P_2,
+  VEX_LEN_3822_P_2,
+  VEX_LEN_3823_P_2,
+  VEX_LEN_3824_P_2,
+  VEX_LEN_3825_P_2,
+  VEX_LEN_3828_P_2,
+  VEX_LEN_3829_P_2,
+  VEX_LEN_382A_P_2_M_0,
+  VEX_LEN_382B_P_2,
+  VEX_LEN_3830_P_2,
+  VEX_LEN_3831_P_2,
+  VEX_LEN_3832_P_2,
+  VEX_LEN_3833_P_2,
+  VEX_LEN_3834_P_2,
+  VEX_LEN_3835_P_2,
+  VEX_LEN_3837_P_2,
+  VEX_LEN_3838_P_2,
+  VEX_LEN_3839_P_2,
+  VEX_LEN_383A_P_2,
+  VEX_LEN_383B_P_2,
+  VEX_LEN_383C_P_2,
+  VEX_LEN_383D_P_2,
+  VEX_LEN_383E_P_2,
+  VEX_LEN_383F_P_2,
+  VEX_LEN_3840_P_2,
+  VEX_LEN_3841_P_2,
+  VEX_LEN_38DB_P_2,
+  VEX_LEN_38DC_P_2,
+  VEX_LEN_38DD_P_2,
+  VEX_LEN_38DE_P_2,
+  VEX_LEN_38DF_P_2,
+  VEX_LEN_3A06_P_2,
+  VEX_LEN_3A0A_P_2,
+  VEX_LEN_3A0B_P_2,
+  VEX_LEN_3A0E_P_2,
+  VEX_LEN_3A0F_P_2,
+  VEX_LEN_3A14_P_2,
+  VEX_LEN_3A15_P_2,
+  VEX_LEN_3A16_P_2,
+  VEX_LEN_3A17_P_2,
+  VEX_LEN_3A18_P_2,
+  VEX_LEN_3A19_P_2,
+  VEX_LEN_3A20_P_2,
+  VEX_LEN_3A21_P_2,
+  VEX_LEN_3A22_P_2,
+  VEX_LEN_3A41_P_2,
+  VEX_LEN_3A42_P_2,
+  VEX_LEN_3A44_P_2,
+  VEX_LEN_3A4C_P_2,
+  VEX_LEN_3A60_P_2,
+  VEX_LEN_3A61_P_2,
+  VEX_LEN_3A62_P_2,
+  VEX_LEN_3A63_P_2,
+  VEX_LEN_3A6A_P_2,
+  VEX_LEN_3A6B_P_2,
+  VEX_LEN_3A6E_P_2,
+  VEX_LEN_3A6F_P_2,
+  VEX_LEN_3A7A_P_2,
+  VEX_LEN_3A7B_P_2,
+  VEX_LEN_3A7E_P_2,
+  VEX_LEN_3A7F_P_2,
+  VEX_LEN_3ADF_P_2
 };
 
 typedef void (*op_rtn) (int bytemode, int sizeflag);


More information about the Binutils mailing list