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