From: H.J. Lu Date: Thu, 15 Oct 2009 22:50:09 +0000 (+0000) Subject: 2009-10-15 H.J. Lu X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=51e7da1b40364f627978184213f8dcf63d63e136;p=binutils-gdb.git 2009-10-15 H.J. Lu Ineiev PR binutils/10767 * i386-dis.c: Use enum instead of nested macros. --- diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 80597002cae..eb43a9ba792 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,9 @@ +2009-10-15 H.J. Lu + Ineiev + + PR binutils/10767 + * i386-dis.c: Use enum instead of nested macros. + 2009-10-15 H.J. Lu * i386-dis.c (MAX_BYTEMODE): Removed. diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index 0af804992d3..01d5ea313b1 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);