You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
573 lines
21 KiB
573 lines
21 KiB
/// @file xed-nonterminal-enum.c
|
|
|
|
// This file was automatically generated.
|
|
// Do not edit this file.
|
|
|
|
#include <string.h>
|
|
#include <assert.h>
|
|
#include "xed-nonterminal-enum.h"
|
|
|
|
typedef struct {
|
|
const char* name;
|
|
xed_nonterminal_enum_t value;
|
|
} name_table_xed_nonterminal_enum_t;
|
|
static const name_table_xed_nonterminal_enum_t name_array_xed_nonterminal_enum_t[] = {
|
|
{"INVALID", XED_NONTERMINAL_INVALID},
|
|
{"AR10", XED_NONTERMINAL_AR10},
|
|
{"AR11", XED_NONTERMINAL_AR11},
|
|
{"AR12", XED_NONTERMINAL_AR12},
|
|
{"AR13", XED_NONTERMINAL_AR13},
|
|
{"AR14", XED_NONTERMINAL_AR14},
|
|
{"AR15", XED_NONTERMINAL_AR15},
|
|
{"AR8", XED_NONTERMINAL_AR8},
|
|
{"AR9", XED_NONTERMINAL_AR9},
|
|
{"ARAX", XED_NONTERMINAL_ARAX},
|
|
{"ARBP", XED_NONTERMINAL_ARBP},
|
|
{"ARBX", XED_NONTERMINAL_ARBX},
|
|
{"ARCX", XED_NONTERMINAL_ARCX},
|
|
{"ARDI", XED_NONTERMINAL_ARDI},
|
|
{"ARDX", XED_NONTERMINAL_ARDX},
|
|
{"ARSI", XED_NONTERMINAL_ARSI},
|
|
{"ARSP", XED_NONTERMINAL_ARSP},
|
|
{"ASZ_NONTERM", XED_NONTERMINAL_ASZ_NONTERM},
|
|
{"AVX512_ROUND", XED_NONTERMINAL_AVX512_ROUND},
|
|
{"AVX_INSTRUCTIONS", XED_NONTERMINAL_AVX_INSTRUCTIONS},
|
|
{"AVX_SPLITTER", XED_NONTERMINAL_AVX_SPLITTER},
|
|
{"A_GPR_B", XED_NONTERMINAL_A_GPR_B},
|
|
{"A_GPR_R", XED_NONTERMINAL_A_GPR_R},
|
|
{"BND_B", XED_NONTERMINAL_BND_B},
|
|
{"BND_B_CHECK", XED_NONTERMINAL_BND_B_CHECK},
|
|
{"BND_R", XED_NONTERMINAL_BND_R},
|
|
{"BND_R_CHECK", XED_NONTERMINAL_BND_R_CHECK},
|
|
{"BRANCH_HINT", XED_NONTERMINAL_BRANCH_HINT},
|
|
{"BRDISP32", XED_NONTERMINAL_BRDISP32},
|
|
{"BRDISP8", XED_NONTERMINAL_BRDISP8},
|
|
{"BRDISPZ", XED_NONTERMINAL_BRDISPZ},
|
|
{"CET_NO_TRACK", XED_NONTERMINAL_CET_NO_TRACK},
|
|
{"CR_B", XED_NONTERMINAL_CR_B},
|
|
{"CR_R", XED_NONTERMINAL_CR_R},
|
|
{"CR_WIDTH", XED_NONTERMINAL_CR_WIDTH},
|
|
{"DF64", XED_NONTERMINAL_DF64},
|
|
{"DR_R", XED_NONTERMINAL_DR_R},
|
|
{"ESIZE_128_BITS", XED_NONTERMINAL_ESIZE_128_BITS},
|
|
{"ESIZE_16_BITS", XED_NONTERMINAL_ESIZE_16_BITS},
|
|
{"ESIZE_1_BITS", XED_NONTERMINAL_ESIZE_1_BITS},
|
|
{"ESIZE_2_BITS", XED_NONTERMINAL_ESIZE_2_BITS},
|
|
{"ESIZE_32_BITS", XED_NONTERMINAL_ESIZE_32_BITS},
|
|
{"ESIZE_4_BITS", XED_NONTERMINAL_ESIZE_4_BITS},
|
|
{"ESIZE_64_BITS", XED_NONTERMINAL_ESIZE_64_BITS},
|
|
{"ESIZE_8_BITS", XED_NONTERMINAL_ESIZE_8_BITS},
|
|
{"EVEX_INSTRUCTIONS", XED_NONTERMINAL_EVEX_INSTRUCTIONS},
|
|
{"EVEX_SPLITTER", XED_NONTERMINAL_EVEX_SPLITTER},
|
|
{"FINAL_DSEG", XED_NONTERMINAL_FINAL_DSEG},
|
|
{"FINAL_DSEG1", XED_NONTERMINAL_FINAL_DSEG1},
|
|
{"FINAL_DSEG1_MODE64", XED_NONTERMINAL_FINAL_DSEG1_MODE64},
|
|
{"FINAL_DSEG1_NOT64", XED_NONTERMINAL_FINAL_DSEG1_NOT64},
|
|
{"FINAL_DSEG_MODE64", XED_NONTERMINAL_FINAL_DSEG_MODE64},
|
|
{"FINAL_DSEG_NOT64", XED_NONTERMINAL_FINAL_DSEG_NOT64},
|
|
{"FINAL_ESEG", XED_NONTERMINAL_FINAL_ESEG},
|
|
{"FINAL_ESEG1", XED_NONTERMINAL_FINAL_ESEG1},
|
|
{"FINAL_SSEG", XED_NONTERMINAL_FINAL_SSEG},
|
|
{"FINAL_SSEG0", XED_NONTERMINAL_FINAL_SSEG0},
|
|
{"FINAL_SSEG1", XED_NONTERMINAL_FINAL_SSEG1},
|
|
{"FINAL_SSEG_MODE64", XED_NONTERMINAL_FINAL_SSEG_MODE64},
|
|
{"FINAL_SSEG_NOT64", XED_NONTERMINAL_FINAL_SSEG_NOT64},
|
|
{"FIX_ROUND_LEN128", XED_NONTERMINAL_FIX_ROUND_LEN128},
|
|
{"FIX_ROUND_LEN512", XED_NONTERMINAL_FIX_ROUND_LEN512},
|
|
{"FORCE64", XED_NONTERMINAL_FORCE64},
|
|
{"GPR16_B", XED_NONTERMINAL_GPR16_B},
|
|
{"GPR16_R", XED_NONTERMINAL_GPR16_R},
|
|
{"GPR16_SB", XED_NONTERMINAL_GPR16_SB},
|
|
{"GPR32_B", XED_NONTERMINAL_GPR32_B},
|
|
{"GPR32_R", XED_NONTERMINAL_GPR32_R},
|
|
{"GPR32_SB", XED_NONTERMINAL_GPR32_SB},
|
|
{"GPR32_X", XED_NONTERMINAL_GPR32_X},
|
|
{"GPR64_B", XED_NONTERMINAL_GPR64_B},
|
|
{"GPR64_R", XED_NONTERMINAL_GPR64_R},
|
|
{"GPR64_SB", XED_NONTERMINAL_GPR64_SB},
|
|
{"GPR64_X", XED_NONTERMINAL_GPR64_X},
|
|
{"GPR8_B", XED_NONTERMINAL_GPR8_B},
|
|
{"GPR8_R", XED_NONTERMINAL_GPR8_R},
|
|
{"GPR8_SB", XED_NONTERMINAL_GPR8_SB},
|
|
{"GPRV_B", XED_NONTERMINAL_GPRV_B},
|
|
{"GPRV_R", XED_NONTERMINAL_GPRV_R},
|
|
{"GPRV_SB", XED_NONTERMINAL_GPRV_SB},
|
|
{"GPRY_B", XED_NONTERMINAL_GPRY_B},
|
|
{"GPRY_R", XED_NONTERMINAL_GPRY_R},
|
|
{"GPRZ_B", XED_NONTERMINAL_GPRZ_B},
|
|
{"GPRZ_R", XED_NONTERMINAL_GPRZ_R},
|
|
{"IGNORE66", XED_NONTERMINAL_IGNORE66},
|
|
{"IMMUNE66", XED_NONTERMINAL_IMMUNE66},
|
|
{"IMMUNE66_LOOP64", XED_NONTERMINAL_IMMUNE66_LOOP64},
|
|
{"IMMUNE_REXW", XED_NONTERMINAL_IMMUNE_REXW},
|
|
{"INSTRUCTIONS", XED_NONTERMINAL_INSTRUCTIONS},
|
|
{"ISA", XED_NONTERMINAL_ISA},
|
|
{"MASK1", XED_NONTERMINAL_MASK1},
|
|
{"MASKNOT0", XED_NONTERMINAL_MASKNOT0},
|
|
{"MASK_B", XED_NONTERMINAL_MASK_B},
|
|
{"MASK_N", XED_NONTERMINAL_MASK_N},
|
|
{"MASK_N32", XED_NONTERMINAL_MASK_N32},
|
|
{"MASK_N64", XED_NONTERMINAL_MASK_N64},
|
|
{"MASK_R", XED_NONTERMINAL_MASK_R},
|
|
{"MEMDISP", XED_NONTERMINAL_MEMDISP},
|
|
{"MEMDISP16", XED_NONTERMINAL_MEMDISP16},
|
|
{"MEMDISP32", XED_NONTERMINAL_MEMDISP32},
|
|
{"MEMDISP8", XED_NONTERMINAL_MEMDISP8},
|
|
{"MEMDISPV", XED_NONTERMINAL_MEMDISPV},
|
|
{"MMX_B", XED_NONTERMINAL_MMX_B},
|
|
{"MMX_R", XED_NONTERMINAL_MMX_R},
|
|
{"MODRM", XED_NONTERMINAL_MODRM},
|
|
{"MODRM16", XED_NONTERMINAL_MODRM16},
|
|
{"MODRM32", XED_NONTERMINAL_MODRM32},
|
|
{"MODRM64ALT32", XED_NONTERMINAL_MODRM64ALT32},
|
|
{"NELEM_EIGHTHMEM", XED_NONTERMINAL_NELEM_EIGHTHMEM},
|
|
{"NELEM_FULL", XED_NONTERMINAL_NELEM_FULL},
|
|
{"NELEM_FULLMEM", XED_NONTERMINAL_NELEM_FULLMEM},
|
|
{"NELEM_GPR_READER", XED_NONTERMINAL_NELEM_GPR_READER},
|
|
{"NELEM_GPR_READER_BYTE", XED_NONTERMINAL_NELEM_GPR_READER_BYTE},
|
|
{"NELEM_GPR_READER_SUBDWORD", XED_NONTERMINAL_NELEM_GPR_READER_SUBDWORD},
|
|
{"NELEM_GPR_READER_WORD", XED_NONTERMINAL_NELEM_GPR_READER_WORD},
|
|
{"NELEM_GPR_WRITER_LDOP", XED_NONTERMINAL_NELEM_GPR_WRITER_LDOP},
|
|
{"NELEM_GPR_WRITER_LDOP_D", XED_NONTERMINAL_NELEM_GPR_WRITER_LDOP_D},
|
|
{"NELEM_GPR_WRITER_LDOP_Q", XED_NONTERMINAL_NELEM_GPR_WRITER_LDOP_Q},
|
|
{"NELEM_GPR_WRITER_STORE", XED_NONTERMINAL_NELEM_GPR_WRITER_STORE},
|
|
{"NELEM_GPR_WRITER_STORE_BYTE", XED_NONTERMINAL_NELEM_GPR_WRITER_STORE_BYTE},
|
|
{"NELEM_GPR_WRITER_STORE_SUBDWORD", XED_NONTERMINAL_NELEM_GPR_WRITER_STORE_SUBDWORD},
|
|
{"NELEM_GPR_WRITER_STORE_WORD", XED_NONTERMINAL_NELEM_GPR_WRITER_STORE_WORD},
|
|
{"NELEM_GSCAT", XED_NONTERMINAL_NELEM_GSCAT},
|
|
{"NELEM_HALF", XED_NONTERMINAL_NELEM_HALF},
|
|
{"NELEM_HALFMEM", XED_NONTERMINAL_NELEM_HALFMEM},
|
|
{"NELEM_MEM128", XED_NONTERMINAL_NELEM_MEM128},
|
|
{"NELEM_MOVDDUP", XED_NONTERMINAL_NELEM_MOVDDUP},
|
|
{"NELEM_QUARTER", XED_NONTERMINAL_NELEM_QUARTER},
|
|
{"NELEM_QUARTERMEM", XED_NONTERMINAL_NELEM_QUARTERMEM},
|
|
{"NELEM_SCALAR", XED_NONTERMINAL_NELEM_SCALAR},
|
|
{"NELEM_TUPLE1", XED_NONTERMINAL_NELEM_TUPLE1},
|
|
{"NELEM_TUPLE1_4X", XED_NONTERMINAL_NELEM_TUPLE1_4X},
|
|
{"NELEM_TUPLE1_BYTE", XED_NONTERMINAL_NELEM_TUPLE1_BYTE},
|
|
{"NELEM_TUPLE1_SUBDWORD", XED_NONTERMINAL_NELEM_TUPLE1_SUBDWORD},
|
|
{"NELEM_TUPLE1_WORD", XED_NONTERMINAL_NELEM_TUPLE1_WORD},
|
|
{"NELEM_TUPLE2", XED_NONTERMINAL_NELEM_TUPLE2},
|
|
{"NELEM_TUPLE4", XED_NONTERMINAL_NELEM_TUPLE4},
|
|
{"NELEM_TUPLE8", XED_NONTERMINAL_NELEM_TUPLE8},
|
|
{"OEAX", XED_NONTERMINAL_OEAX},
|
|
{"ONE", XED_NONTERMINAL_ONE},
|
|
{"ORAX", XED_NONTERMINAL_ORAX},
|
|
{"ORBP", XED_NONTERMINAL_ORBP},
|
|
{"ORBX", XED_NONTERMINAL_ORBX},
|
|
{"ORCX", XED_NONTERMINAL_ORCX},
|
|
{"ORDX", XED_NONTERMINAL_ORDX},
|
|
{"ORSP", XED_NONTERMINAL_ORSP},
|
|
{"OSZ_NONTERM", XED_NONTERMINAL_OSZ_NONTERM},
|
|
{"OVERRIDE_SEG0", XED_NONTERMINAL_OVERRIDE_SEG0},
|
|
{"OVERRIDE_SEG1", XED_NONTERMINAL_OVERRIDE_SEG1},
|
|
{"PREFIXES", XED_NONTERMINAL_PREFIXES},
|
|
{"REFINING66", XED_NONTERMINAL_REFINING66},
|
|
{"REMOVE_SEGMENT", XED_NONTERMINAL_REMOVE_SEGMENT},
|
|
{"RFLAGS", XED_NONTERMINAL_RFLAGS},
|
|
{"RIP", XED_NONTERMINAL_RIP},
|
|
{"RIPA", XED_NONTERMINAL_RIPA},
|
|
{"SAE", XED_NONTERMINAL_SAE},
|
|
{"SEG", XED_NONTERMINAL_SEG},
|
|
{"SEG_MOV", XED_NONTERMINAL_SEG_MOV},
|
|
{"SE_IMM8", XED_NONTERMINAL_SE_IMM8},
|
|
{"SIB", XED_NONTERMINAL_SIB},
|
|
{"SIB_BASE0", XED_NONTERMINAL_SIB_BASE0},
|
|
{"SIMM8", XED_NONTERMINAL_SIMM8},
|
|
{"SIMMZ", XED_NONTERMINAL_SIMMZ},
|
|
{"SRBP", XED_NONTERMINAL_SRBP},
|
|
{"SRSP", XED_NONTERMINAL_SRSP},
|
|
{"TMM_B", XED_NONTERMINAL_TMM_B},
|
|
{"TMM_N", XED_NONTERMINAL_TMM_N},
|
|
{"TMM_R", XED_NONTERMINAL_TMM_R},
|
|
{"UIMM16", XED_NONTERMINAL_UIMM16},
|
|
{"UIMM32", XED_NONTERMINAL_UIMM32},
|
|
{"UIMM8", XED_NONTERMINAL_UIMM8},
|
|
{"UIMM8_1", XED_NONTERMINAL_UIMM8_1},
|
|
{"UIMMV", XED_NONTERMINAL_UIMMV},
|
|
{"UISA_VMODRM_XMM", XED_NONTERMINAL_UISA_VMODRM_XMM},
|
|
{"UISA_VMODRM_YMM", XED_NONTERMINAL_UISA_VMODRM_YMM},
|
|
{"UISA_VMODRM_ZMM", XED_NONTERMINAL_UISA_VMODRM_ZMM},
|
|
{"UISA_VSIB_BASE", XED_NONTERMINAL_UISA_VSIB_BASE},
|
|
{"UISA_VSIB_INDEX_XMM", XED_NONTERMINAL_UISA_VSIB_INDEX_XMM},
|
|
{"UISA_VSIB_INDEX_YMM", XED_NONTERMINAL_UISA_VSIB_INDEX_YMM},
|
|
{"UISA_VSIB_INDEX_ZMM", XED_NONTERMINAL_UISA_VSIB_INDEX_ZMM},
|
|
{"UISA_VSIB_XMM", XED_NONTERMINAL_UISA_VSIB_XMM},
|
|
{"UISA_VSIB_YMM", XED_NONTERMINAL_UISA_VSIB_YMM},
|
|
{"UISA_VSIB_ZMM", XED_NONTERMINAL_UISA_VSIB_ZMM},
|
|
{"VGPR32_B", XED_NONTERMINAL_VGPR32_B},
|
|
{"VGPR32_B_32", XED_NONTERMINAL_VGPR32_B_32},
|
|
{"VGPR32_B_64", XED_NONTERMINAL_VGPR32_B_64},
|
|
{"VGPR32_N", XED_NONTERMINAL_VGPR32_N},
|
|
{"VGPR32_N_32", XED_NONTERMINAL_VGPR32_N_32},
|
|
{"VGPR32_N_64", XED_NONTERMINAL_VGPR32_N_64},
|
|
{"VGPR32_R", XED_NONTERMINAL_VGPR32_R},
|
|
{"VGPR32_R_32", XED_NONTERMINAL_VGPR32_R_32},
|
|
{"VGPR32_R_64", XED_NONTERMINAL_VGPR32_R_64},
|
|
{"VGPR64_B", XED_NONTERMINAL_VGPR64_B},
|
|
{"VGPR64_N", XED_NONTERMINAL_VGPR64_N},
|
|
{"VGPR64_R", XED_NONTERMINAL_VGPR64_R},
|
|
{"VGPRY_B", XED_NONTERMINAL_VGPRY_B},
|
|
{"VGPRY_N", XED_NONTERMINAL_VGPRY_N},
|
|
{"VGPRY_R", XED_NONTERMINAL_VGPRY_R},
|
|
{"VMODRM_XMM", XED_NONTERMINAL_VMODRM_XMM},
|
|
{"VMODRM_YMM", XED_NONTERMINAL_VMODRM_YMM},
|
|
{"VSIB_BASE", XED_NONTERMINAL_VSIB_BASE},
|
|
{"VSIB_INDEX_XMM", XED_NONTERMINAL_VSIB_INDEX_XMM},
|
|
{"VSIB_INDEX_YMM", XED_NONTERMINAL_VSIB_INDEX_YMM},
|
|
{"VSIB_XMM", XED_NONTERMINAL_VSIB_XMM},
|
|
{"VSIB_YMM", XED_NONTERMINAL_VSIB_YMM},
|
|
{"X87", XED_NONTERMINAL_X87},
|
|
{"XMM_B", XED_NONTERMINAL_XMM_B},
|
|
{"XMM_B3", XED_NONTERMINAL_XMM_B3},
|
|
{"XMM_B3_32", XED_NONTERMINAL_XMM_B3_32},
|
|
{"XMM_B3_64", XED_NONTERMINAL_XMM_B3_64},
|
|
{"XMM_B_32", XED_NONTERMINAL_XMM_B_32},
|
|
{"XMM_B_64", XED_NONTERMINAL_XMM_B_64},
|
|
{"XMM_N", XED_NONTERMINAL_XMM_N},
|
|
{"XMM_N3", XED_NONTERMINAL_XMM_N3},
|
|
{"XMM_N3_32", XED_NONTERMINAL_XMM_N3_32},
|
|
{"XMM_N3_64", XED_NONTERMINAL_XMM_N3_64},
|
|
{"XMM_N_32", XED_NONTERMINAL_XMM_N_32},
|
|
{"XMM_N_64", XED_NONTERMINAL_XMM_N_64},
|
|
{"XMM_R", XED_NONTERMINAL_XMM_R},
|
|
{"XMM_R3", XED_NONTERMINAL_XMM_R3},
|
|
{"XMM_R3_32", XED_NONTERMINAL_XMM_R3_32},
|
|
{"XMM_R3_64", XED_NONTERMINAL_XMM_R3_64},
|
|
{"XMM_R_32", XED_NONTERMINAL_XMM_R_32},
|
|
{"XMM_R_64", XED_NONTERMINAL_XMM_R_64},
|
|
{"XMM_SE", XED_NONTERMINAL_XMM_SE},
|
|
{"XMM_SE32", XED_NONTERMINAL_XMM_SE32},
|
|
{"XMM_SE64", XED_NONTERMINAL_XMM_SE64},
|
|
{"XOP_INSTRUCTIONS", XED_NONTERMINAL_XOP_INSTRUCTIONS},
|
|
{"YMM_B", XED_NONTERMINAL_YMM_B},
|
|
{"YMM_B3", XED_NONTERMINAL_YMM_B3},
|
|
{"YMM_B3_32", XED_NONTERMINAL_YMM_B3_32},
|
|
{"YMM_B3_64", XED_NONTERMINAL_YMM_B3_64},
|
|
{"YMM_B_32", XED_NONTERMINAL_YMM_B_32},
|
|
{"YMM_B_64", XED_NONTERMINAL_YMM_B_64},
|
|
{"YMM_N", XED_NONTERMINAL_YMM_N},
|
|
{"YMM_N3", XED_NONTERMINAL_YMM_N3},
|
|
{"YMM_N3_32", XED_NONTERMINAL_YMM_N3_32},
|
|
{"YMM_N3_64", XED_NONTERMINAL_YMM_N3_64},
|
|
{"YMM_N_32", XED_NONTERMINAL_YMM_N_32},
|
|
{"YMM_N_64", XED_NONTERMINAL_YMM_N_64},
|
|
{"YMM_R", XED_NONTERMINAL_YMM_R},
|
|
{"YMM_R3", XED_NONTERMINAL_YMM_R3},
|
|
{"YMM_R3_32", XED_NONTERMINAL_YMM_R3_32},
|
|
{"YMM_R3_64", XED_NONTERMINAL_YMM_R3_64},
|
|
{"YMM_R_32", XED_NONTERMINAL_YMM_R_32},
|
|
{"YMM_R_64", XED_NONTERMINAL_YMM_R_64},
|
|
{"YMM_SE", XED_NONTERMINAL_YMM_SE},
|
|
{"YMM_SE32", XED_NONTERMINAL_YMM_SE32},
|
|
{"YMM_SE64", XED_NONTERMINAL_YMM_SE64},
|
|
{"ZMM_B3", XED_NONTERMINAL_ZMM_B3},
|
|
{"ZMM_B3_32", XED_NONTERMINAL_ZMM_B3_32},
|
|
{"ZMM_B3_64", XED_NONTERMINAL_ZMM_B3_64},
|
|
{"ZMM_N3", XED_NONTERMINAL_ZMM_N3},
|
|
{"ZMM_N3_32", XED_NONTERMINAL_ZMM_N3_32},
|
|
{"ZMM_N3_64", XED_NONTERMINAL_ZMM_N3_64},
|
|
{"ZMM_R3", XED_NONTERMINAL_ZMM_R3},
|
|
{"ZMM_R3_32", XED_NONTERMINAL_ZMM_R3_32},
|
|
{"ZMM_R3_64", XED_NONTERMINAL_ZMM_R3_64},
|
|
{"LAST", XED_NONTERMINAL_LAST},
|
|
{0, XED_NONTERMINAL_LAST},
|
|
};
|
|
|
|
|
|
xed_nonterminal_enum_t str2xed_nonterminal_enum_t(const char* s)
|
|
{
|
|
const name_table_xed_nonterminal_enum_t* p = name_array_xed_nonterminal_enum_t;
|
|
while( p->name ) {
|
|
if (strcmp(p->name,s) == 0) {
|
|
return p->value;
|
|
}
|
|
p++;
|
|
}
|
|
|
|
|
|
return XED_NONTERMINAL_INVALID;
|
|
}
|
|
|
|
|
|
const char* xed_nonterminal_enum_t2str(const xed_nonterminal_enum_t p)
|
|
{
|
|
xed_nonterminal_enum_t type_idx = p;
|
|
if ( p > XED_NONTERMINAL_LAST) type_idx = XED_NONTERMINAL_LAST;
|
|
return name_array_xed_nonterminal_enum_t[type_idx].name;
|
|
}
|
|
|
|
xed_nonterminal_enum_t xed_nonterminal_enum_t_last(void) {
|
|
return XED_NONTERMINAL_LAST;
|
|
}
|
|
|
|
/*
|
|
|
|
Here is a skeleton switch statement embedded in a comment
|
|
|
|
|
|
switch(p) {
|
|
case XED_NONTERMINAL_INVALID:
|
|
case XED_NONTERMINAL_AR10:
|
|
case XED_NONTERMINAL_AR11:
|
|
case XED_NONTERMINAL_AR12:
|
|
case XED_NONTERMINAL_AR13:
|
|
case XED_NONTERMINAL_AR14:
|
|
case XED_NONTERMINAL_AR15:
|
|
case XED_NONTERMINAL_AR8:
|
|
case XED_NONTERMINAL_AR9:
|
|
case XED_NONTERMINAL_ARAX:
|
|
case XED_NONTERMINAL_ARBP:
|
|
case XED_NONTERMINAL_ARBX:
|
|
case XED_NONTERMINAL_ARCX:
|
|
case XED_NONTERMINAL_ARDI:
|
|
case XED_NONTERMINAL_ARDX:
|
|
case XED_NONTERMINAL_ARSI:
|
|
case XED_NONTERMINAL_ARSP:
|
|
case XED_NONTERMINAL_ASZ_NONTERM:
|
|
case XED_NONTERMINAL_AVX512_ROUND:
|
|
case XED_NONTERMINAL_AVX_INSTRUCTIONS:
|
|
case XED_NONTERMINAL_AVX_SPLITTER:
|
|
case XED_NONTERMINAL_A_GPR_B:
|
|
case XED_NONTERMINAL_A_GPR_R:
|
|
case XED_NONTERMINAL_BND_B:
|
|
case XED_NONTERMINAL_BND_B_CHECK:
|
|
case XED_NONTERMINAL_BND_R:
|
|
case XED_NONTERMINAL_BND_R_CHECK:
|
|
case XED_NONTERMINAL_BRANCH_HINT:
|
|
case XED_NONTERMINAL_BRDISP32:
|
|
case XED_NONTERMINAL_BRDISP8:
|
|
case XED_NONTERMINAL_BRDISPZ:
|
|
case XED_NONTERMINAL_CET_NO_TRACK:
|
|
case XED_NONTERMINAL_CR_B:
|
|
case XED_NONTERMINAL_CR_R:
|
|
case XED_NONTERMINAL_CR_WIDTH:
|
|
case XED_NONTERMINAL_DF64:
|
|
case XED_NONTERMINAL_DR_R:
|
|
case XED_NONTERMINAL_ESIZE_128_BITS:
|
|
case XED_NONTERMINAL_ESIZE_16_BITS:
|
|
case XED_NONTERMINAL_ESIZE_1_BITS:
|
|
case XED_NONTERMINAL_ESIZE_2_BITS:
|
|
case XED_NONTERMINAL_ESIZE_32_BITS:
|
|
case XED_NONTERMINAL_ESIZE_4_BITS:
|
|
case XED_NONTERMINAL_ESIZE_64_BITS:
|
|
case XED_NONTERMINAL_ESIZE_8_BITS:
|
|
case XED_NONTERMINAL_EVEX_INSTRUCTIONS:
|
|
case XED_NONTERMINAL_EVEX_SPLITTER:
|
|
case XED_NONTERMINAL_FINAL_DSEG:
|
|
case XED_NONTERMINAL_FINAL_DSEG1:
|
|
case XED_NONTERMINAL_FINAL_DSEG1_MODE64:
|
|
case XED_NONTERMINAL_FINAL_DSEG1_NOT64:
|
|
case XED_NONTERMINAL_FINAL_DSEG_MODE64:
|
|
case XED_NONTERMINAL_FINAL_DSEG_NOT64:
|
|
case XED_NONTERMINAL_FINAL_ESEG:
|
|
case XED_NONTERMINAL_FINAL_ESEG1:
|
|
case XED_NONTERMINAL_FINAL_SSEG:
|
|
case XED_NONTERMINAL_FINAL_SSEG0:
|
|
case XED_NONTERMINAL_FINAL_SSEG1:
|
|
case XED_NONTERMINAL_FINAL_SSEG_MODE64:
|
|
case XED_NONTERMINAL_FINAL_SSEG_NOT64:
|
|
case XED_NONTERMINAL_FIX_ROUND_LEN128:
|
|
case XED_NONTERMINAL_FIX_ROUND_LEN512:
|
|
case XED_NONTERMINAL_FORCE64:
|
|
case XED_NONTERMINAL_GPR16_B:
|
|
case XED_NONTERMINAL_GPR16_R:
|
|
case XED_NONTERMINAL_GPR16_SB:
|
|
case XED_NONTERMINAL_GPR32_B:
|
|
case XED_NONTERMINAL_GPR32_R:
|
|
case XED_NONTERMINAL_GPR32_SB:
|
|
case XED_NONTERMINAL_GPR32_X:
|
|
case XED_NONTERMINAL_GPR64_B:
|
|
case XED_NONTERMINAL_GPR64_R:
|
|
case XED_NONTERMINAL_GPR64_SB:
|
|
case XED_NONTERMINAL_GPR64_X:
|
|
case XED_NONTERMINAL_GPR8_B:
|
|
case XED_NONTERMINAL_GPR8_R:
|
|
case XED_NONTERMINAL_GPR8_SB:
|
|
case XED_NONTERMINAL_GPRV_B:
|
|
case XED_NONTERMINAL_GPRV_R:
|
|
case XED_NONTERMINAL_GPRV_SB:
|
|
case XED_NONTERMINAL_GPRY_B:
|
|
case XED_NONTERMINAL_GPRY_R:
|
|
case XED_NONTERMINAL_GPRZ_B:
|
|
case XED_NONTERMINAL_GPRZ_R:
|
|
case XED_NONTERMINAL_IGNORE66:
|
|
case XED_NONTERMINAL_IMMUNE66:
|
|
case XED_NONTERMINAL_IMMUNE66_LOOP64:
|
|
case XED_NONTERMINAL_IMMUNE_REXW:
|
|
case XED_NONTERMINAL_INSTRUCTIONS:
|
|
case XED_NONTERMINAL_ISA:
|
|
case XED_NONTERMINAL_MASK1:
|
|
case XED_NONTERMINAL_MASKNOT0:
|
|
case XED_NONTERMINAL_MASK_B:
|
|
case XED_NONTERMINAL_MASK_N:
|
|
case XED_NONTERMINAL_MASK_N32:
|
|
case XED_NONTERMINAL_MASK_N64:
|
|
case XED_NONTERMINAL_MASK_R:
|
|
case XED_NONTERMINAL_MEMDISP:
|
|
case XED_NONTERMINAL_MEMDISP16:
|
|
case XED_NONTERMINAL_MEMDISP32:
|
|
case XED_NONTERMINAL_MEMDISP8:
|
|
case XED_NONTERMINAL_MEMDISPV:
|
|
case XED_NONTERMINAL_MMX_B:
|
|
case XED_NONTERMINAL_MMX_R:
|
|
case XED_NONTERMINAL_MODRM:
|
|
case XED_NONTERMINAL_MODRM16:
|
|
case XED_NONTERMINAL_MODRM32:
|
|
case XED_NONTERMINAL_MODRM64ALT32:
|
|
case XED_NONTERMINAL_NELEM_EIGHTHMEM:
|
|
case XED_NONTERMINAL_NELEM_FULL:
|
|
case XED_NONTERMINAL_NELEM_FULLMEM:
|
|
case XED_NONTERMINAL_NELEM_GPR_READER:
|
|
case XED_NONTERMINAL_NELEM_GPR_READER_BYTE:
|
|
case XED_NONTERMINAL_NELEM_GPR_READER_SUBDWORD:
|
|
case XED_NONTERMINAL_NELEM_GPR_READER_WORD:
|
|
case XED_NONTERMINAL_NELEM_GPR_WRITER_LDOP:
|
|
case XED_NONTERMINAL_NELEM_GPR_WRITER_LDOP_D:
|
|
case XED_NONTERMINAL_NELEM_GPR_WRITER_LDOP_Q:
|
|
case XED_NONTERMINAL_NELEM_GPR_WRITER_STORE:
|
|
case XED_NONTERMINAL_NELEM_GPR_WRITER_STORE_BYTE:
|
|
case XED_NONTERMINAL_NELEM_GPR_WRITER_STORE_SUBDWORD:
|
|
case XED_NONTERMINAL_NELEM_GPR_WRITER_STORE_WORD:
|
|
case XED_NONTERMINAL_NELEM_GSCAT:
|
|
case XED_NONTERMINAL_NELEM_HALF:
|
|
case XED_NONTERMINAL_NELEM_HALFMEM:
|
|
case XED_NONTERMINAL_NELEM_MEM128:
|
|
case XED_NONTERMINAL_NELEM_MOVDDUP:
|
|
case XED_NONTERMINAL_NELEM_QUARTER:
|
|
case XED_NONTERMINAL_NELEM_QUARTERMEM:
|
|
case XED_NONTERMINAL_NELEM_SCALAR:
|
|
case XED_NONTERMINAL_NELEM_TUPLE1:
|
|
case XED_NONTERMINAL_NELEM_TUPLE1_4X:
|
|
case XED_NONTERMINAL_NELEM_TUPLE1_BYTE:
|
|
case XED_NONTERMINAL_NELEM_TUPLE1_SUBDWORD:
|
|
case XED_NONTERMINAL_NELEM_TUPLE1_WORD:
|
|
case XED_NONTERMINAL_NELEM_TUPLE2:
|
|
case XED_NONTERMINAL_NELEM_TUPLE4:
|
|
case XED_NONTERMINAL_NELEM_TUPLE8:
|
|
case XED_NONTERMINAL_OEAX:
|
|
case XED_NONTERMINAL_ONE:
|
|
case XED_NONTERMINAL_ORAX:
|
|
case XED_NONTERMINAL_ORBP:
|
|
case XED_NONTERMINAL_ORBX:
|
|
case XED_NONTERMINAL_ORCX:
|
|
case XED_NONTERMINAL_ORDX:
|
|
case XED_NONTERMINAL_ORSP:
|
|
case XED_NONTERMINAL_OSZ_NONTERM:
|
|
case XED_NONTERMINAL_OVERRIDE_SEG0:
|
|
case XED_NONTERMINAL_OVERRIDE_SEG1:
|
|
case XED_NONTERMINAL_PREFIXES:
|
|
case XED_NONTERMINAL_REFINING66:
|
|
case XED_NONTERMINAL_REMOVE_SEGMENT:
|
|
case XED_NONTERMINAL_RFLAGS:
|
|
case XED_NONTERMINAL_RIP:
|
|
case XED_NONTERMINAL_RIPA:
|
|
case XED_NONTERMINAL_SAE:
|
|
case XED_NONTERMINAL_SEG:
|
|
case XED_NONTERMINAL_SEG_MOV:
|
|
case XED_NONTERMINAL_SE_IMM8:
|
|
case XED_NONTERMINAL_SIB:
|
|
case XED_NONTERMINAL_SIB_BASE0:
|
|
case XED_NONTERMINAL_SIMM8:
|
|
case XED_NONTERMINAL_SIMMZ:
|
|
case XED_NONTERMINAL_SRBP:
|
|
case XED_NONTERMINAL_SRSP:
|
|
case XED_NONTERMINAL_TMM_B:
|
|
case XED_NONTERMINAL_TMM_N:
|
|
case XED_NONTERMINAL_TMM_R:
|
|
case XED_NONTERMINAL_UIMM16:
|
|
case XED_NONTERMINAL_UIMM32:
|
|
case XED_NONTERMINAL_UIMM8:
|
|
case XED_NONTERMINAL_UIMM8_1:
|
|
case XED_NONTERMINAL_UIMMV:
|
|
case XED_NONTERMINAL_UISA_VMODRM_XMM:
|
|
case XED_NONTERMINAL_UISA_VMODRM_YMM:
|
|
case XED_NONTERMINAL_UISA_VMODRM_ZMM:
|
|
case XED_NONTERMINAL_UISA_VSIB_BASE:
|
|
case XED_NONTERMINAL_UISA_VSIB_INDEX_XMM:
|
|
case XED_NONTERMINAL_UISA_VSIB_INDEX_YMM:
|
|
case XED_NONTERMINAL_UISA_VSIB_INDEX_ZMM:
|
|
case XED_NONTERMINAL_UISA_VSIB_XMM:
|
|
case XED_NONTERMINAL_UISA_VSIB_YMM:
|
|
case XED_NONTERMINAL_UISA_VSIB_ZMM:
|
|
case XED_NONTERMINAL_VGPR32_B:
|
|
case XED_NONTERMINAL_VGPR32_B_32:
|
|
case XED_NONTERMINAL_VGPR32_B_64:
|
|
case XED_NONTERMINAL_VGPR32_N:
|
|
case XED_NONTERMINAL_VGPR32_N_32:
|
|
case XED_NONTERMINAL_VGPR32_N_64:
|
|
case XED_NONTERMINAL_VGPR32_R:
|
|
case XED_NONTERMINAL_VGPR32_R_32:
|
|
case XED_NONTERMINAL_VGPR32_R_64:
|
|
case XED_NONTERMINAL_VGPR64_B:
|
|
case XED_NONTERMINAL_VGPR64_N:
|
|
case XED_NONTERMINAL_VGPR64_R:
|
|
case XED_NONTERMINAL_VGPRY_B:
|
|
case XED_NONTERMINAL_VGPRY_N:
|
|
case XED_NONTERMINAL_VGPRY_R:
|
|
case XED_NONTERMINAL_VMODRM_XMM:
|
|
case XED_NONTERMINAL_VMODRM_YMM:
|
|
case XED_NONTERMINAL_VSIB_BASE:
|
|
case XED_NONTERMINAL_VSIB_INDEX_XMM:
|
|
case XED_NONTERMINAL_VSIB_INDEX_YMM:
|
|
case XED_NONTERMINAL_VSIB_XMM:
|
|
case XED_NONTERMINAL_VSIB_YMM:
|
|
case XED_NONTERMINAL_X87:
|
|
case XED_NONTERMINAL_XMM_B:
|
|
case XED_NONTERMINAL_XMM_B3:
|
|
case XED_NONTERMINAL_XMM_B3_32:
|
|
case XED_NONTERMINAL_XMM_B3_64:
|
|
case XED_NONTERMINAL_XMM_B_32:
|
|
case XED_NONTERMINAL_XMM_B_64:
|
|
case XED_NONTERMINAL_XMM_N:
|
|
case XED_NONTERMINAL_XMM_N3:
|
|
case XED_NONTERMINAL_XMM_N3_32:
|
|
case XED_NONTERMINAL_XMM_N3_64:
|
|
case XED_NONTERMINAL_XMM_N_32:
|
|
case XED_NONTERMINAL_XMM_N_64:
|
|
case XED_NONTERMINAL_XMM_R:
|
|
case XED_NONTERMINAL_XMM_R3:
|
|
case XED_NONTERMINAL_XMM_R3_32:
|
|
case XED_NONTERMINAL_XMM_R3_64:
|
|
case XED_NONTERMINAL_XMM_R_32:
|
|
case XED_NONTERMINAL_XMM_R_64:
|
|
case XED_NONTERMINAL_XMM_SE:
|
|
case XED_NONTERMINAL_XMM_SE32:
|
|
case XED_NONTERMINAL_XMM_SE64:
|
|
case XED_NONTERMINAL_XOP_INSTRUCTIONS:
|
|
case XED_NONTERMINAL_YMM_B:
|
|
case XED_NONTERMINAL_YMM_B3:
|
|
case XED_NONTERMINAL_YMM_B3_32:
|
|
case XED_NONTERMINAL_YMM_B3_64:
|
|
case XED_NONTERMINAL_YMM_B_32:
|
|
case XED_NONTERMINAL_YMM_B_64:
|
|
case XED_NONTERMINAL_YMM_N:
|
|
case XED_NONTERMINAL_YMM_N3:
|
|
case XED_NONTERMINAL_YMM_N3_32:
|
|
case XED_NONTERMINAL_YMM_N3_64:
|
|
case XED_NONTERMINAL_YMM_N_32:
|
|
case XED_NONTERMINAL_YMM_N_64:
|
|
case XED_NONTERMINAL_YMM_R:
|
|
case XED_NONTERMINAL_YMM_R3:
|
|
case XED_NONTERMINAL_YMM_R3_32:
|
|
case XED_NONTERMINAL_YMM_R3_64:
|
|
case XED_NONTERMINAL_YMM_R_32:
|
|
case XED_NONTERMINAL_YMM_R_64:
|
|
case XED_NONTERMINAL_YMM_SE:
|
|
case XED_NONTERMINAL_YMM_SE32:
|
|
case XED_NONTERMINAL_YMM_SE64:
|
|
case XED_NONTERMINAL_ZMM_B3:
|
|
case XED_NONTERMINAL_ZMM_B3_32:
|
|
case XED_NONTERMINAL_ZMM_B3_64:
|
|
case XED_NONTERMINAL_ZMM_N3:
|
|
case XED_NONTERMINAL_ZMM_N3_32:
|
|
case XED_NONTERMINAL_ZMM_N3_64:
|
|
case XED_NONTERMINAL_ZMM_R3:
|
|
case XED_NONTERMINAL_ZMM_R3_32:
|
|
case XED_NONTERMINAL_ZMM_R3_64:
|
|
case XED_NONTERMINAL_LAST:
|
|
default:
|
|
xed_assert(0);
|
|
}
|
|
*/
|