/// @file xed-attribute-enum.c // This file was automatically generated. // Do not edit this file. #include #include #include "xed-attribute-enum.h" typedef struct { const char* name; xed_attribute_enum_t value; } name_table_xed_attribute_enum_t; static const name_table_xed_attribute_enum_t name_array_xed_attribute_enum_t[] = { {"INVALID", XED_ATTRIBUTE_INVALID}, {"AMDONLY", XED_ATTRIBUTE_AMDONLY}, {"ATT_OPERAND_ORDER_EXCEPTION", XED_ATTRIBUTE_ATT_OPERAND_ORDER_EXCEPTION}, {"BROADCAST_ENABLED", XED_ATTRIBUTE_BROADCAST_ENABLED}, {"BYTEOP", XED_ATTRIBUTE_BYTEOP}, {"DISP8_EIGHTHMEM", XED_ATTRIBUTE_DISP8_EIGHTHMEM}, {"DISP8_FULL", XED_ATTRIBUTE_DISP8_FULL}, {"DISP8_FULLMEM", XED_ATTRIBUTE_DISP8_FULLMEM}, {"DISP8_GPR_READER", XED_ATTRIBUTE_DISP8_GPR_READER}, {"DISP8_GPR_READER_BYTE", XED_ATTRIBUTE_DISP8_GPR_READER_BYTE}, {"DISP8_GPR_READER_WORD", XED_ATTRIBUTE_DISP8_GPR_READER_WORD}, {"DISP8_GPR_WRITER_LDOP_D", XED_ATTRIBUTE_DISP8_GPR_WRITER_LDOP_D}, {"DISP8_GPR_WRITER_LDOP_Q", XED_ATTRIBUTE_DISP8_GPR_WRITER_LDOP_Q}, {"DISP8_GPR_WRITER_STORE", XED_ATTRIBUTE_DISP8_GPR_WRITER_STORE}, {"DISP8_GPR_WRITER_STORE_BYTE", XED_ATTRIBUTE_DISP8_GPR_WRITER_STORE_BYTE}, {"DISP8_GPR_WRITER_STORE_WORD", XED_ATTRIBUTE_DISP8_GPR_WRITER_STORE_WORD}, {"DISP8_GSCAT", XED_ATTRIBUTE_DISP8_GSCAT}, {"DISP8_HALF", XED_ATTRIBUTE_DISP8_HALF}, {"DISP8_HALFMEM", XED_ATTRIBUTE_DISP8_HALFMEM}, {"DISP8_MEM128", XED_ATTRIBUTE_DISP8_MEM128}, {"DISP8_MOVDDUP", XED_ATTRIBUTE_DISP8_MOVDDUP}, {"DISP8_QUARTER", XED_ATTRIBUTE_DISP8_QUARTER}, {"DISP8_QUARTERMEM", XED_ATTRIBUTE_DISP8_QUARTERMEM}, {"DISP8_SCALAR", XED_ATTRIBUTE_DISP8_SCALAR}, {"DISP8_TUPLE1", XED_ATTRIBUTE_DISP8_TUPLE1}, {"DISP8_TUPLE1_4X", XED_ATTRIBUTE_DISP8_TUPLE1_4X}, {"DISP8_TUPLE1_BYTE", XED_ATTRIBUTE_DISP8_TUPLE1_BYTE}, {"DISP8_TUPLE1_WORD", XED_ATTRIBUTE_DISP8_TUPLE1_WORD}, {"DISP8_TUPLE2", XED_ATTRIBUTE_DISP8_TUPLE2}, {"DISP8_TUPLE4", XED_ATTRIBUTE_DISP8_TUPLE4}, {"DISP8_TUPLE8", XED_ATTRIBUTE_DISP8_TUPLE8}, {"DOUBLE_WIDE_MEMOP", XED_ATTRIBUTE_DOUBLE_WIDE_MEMOP}, {"DOUBLE_WIDE_OUTPUT", XED_ATTRIBUTE_DOUBLE_WIDE_OUTPUT}, {"DWORD_INDICES", XED_ATTRIBUTE_DWORD_INDICES}, {"ELEMENT_SIZE_D", XED_ATTRIBUTE_ELEMENT_SIZE_D}, {"ELEMENT_SIZE_Q", XED_ATTRIBUTE_ELEMENT_SIZE_Q}, {"EXCEPTION_BR", XED_ATTRIBUTE_EXCEPTION_BR}, {"FAR_XFER", XED_ATTRIBUTE_FAR_XFER}, {"FIXED_BASE0", XED_ATTRIBUTE_FIXED_BASE0}, {"FIXED_BASE1", XED_ATTRIBUTE_FIXED_BASE1}, {"GATHER", XED_ATTRIBUTE_GATHER}, {"HALF_WIDE_OUTPUT", XED_ATTRIBUTE_HALF_WIDE_OUTPUT}, {"HLE_ACQ_ABLE", XED_ATTRIBUTE_HLE_ACQ_ABLE}, {"HLE_REL_ABLE", XED_ATTRIBUTE_HLE_REL_ABLE}, {"IGNORES_OSFXSR", XED_ATTRIBUTE_IGNORES_OSFXSR}, {"IMPLICIT_ONE", XED_ATTRIBUTE_IMPLICIT_ONE}, {"INDEX_REG_IS_POINTER", XED_ATTRIBUTE_INDEX_REG_IS_POINTER}, {"INDIRECT_BRANCH", XED_ATTRIBUTE_INDIRECT_BRANCH}, {"KMASK", XED_ATTRIBUTE_KMASK}, {"LOCKABLE", XED_ATTRIBUTE_LOCKABLE}, {"LOCKED", XED_ATTRIBUTE_LOCKED}, {"MASKOP", XED_ATTRIBUTE_MASKOP}, {"MASKOP_EVEX", XED_ATTRIBUTE_MASKOP_EVEX}, {"MASK_AS_CONTROL", XED_ATTRIBUTE_MASK_AS_CONTROL}, {"MASK_VARIABLE_MEMOP", XED_ATTRIBUTE_MASK_VARIABLE_MEMOP}, {"MEMORY_FAULT_SUPPRESSION", XED_ATTRIBUTE_MEMORY_FAULT_SUPPRESSION}, {"MMX_EXCEPT", XED_ATTRIBUTE_MMX_EXCEPT}, {"MPX_PREFIX_ABLE", XED_ATTRIBUTE_MPX_PREFIX_ABLE}, {"MULTIDEST2", XED_ATTRIBUTE_MULTIDEST2}, {"MULTISOURCE4", XED_ATTRIBUTE_MULTISOURCE4}, {"MXCSR", XED_ATTRIBUTE_MXCSR}, {"MXCSR_RD", XED_ATTRIBUTE_MXCSR_RD}, {"NONTEMPORAL", XED_ATTRIBUTE_NONTEMPORAL}, {"NOP", XED_ATTRIBUTE_NOP}, {"NOTSX", XED_ATTRIBUTE_NOTSX}, {"NOTSX_COND", XED_ATTRIBUTE_NOTSX_COND}, {"NO_RIP_REL", XED_ATTRIBUTE_NO_RIP_REL}, {"NO_SRC_DEST_MATCH", XED_ATTRIBUTE_NO_SRC_DEST_MATCH}, {"PREFETCH", XED_ATTRIBUTE_PREFETCH}, {"PROTECTED_MODE", XED_ATTRIBUTE_PROTECTED_MODE}, {"QWORD_INDICES", XED_ATTRIBUTE_QWORD_INDICES}, {"REP", XED_ATTRIBUTE_REP}, {"REQUIRES_ALIGNMENT", XED_ATTRIBUTE_REQUIRES_ALIGNMENT}, {"RING0", XED_ATTRIBUTE_RING0}, {"SCALABLE", XED_ATTRIBUTE_SCALABLE}, {"SCATTER", XED_ATTRIBUTE_SCATTER}, {"SIMD_SCALAR", XED_ATTRIBUTE_SIMD_SCALAR}, {"SKIPLOW32", XED_ATTRIBUTE_SKIPLOW32}, {"SKIPLOW64", XED_ATTRIBUTE_SKIPLOW64}, {"SPECIAL_AGEN_REQUIRED", XED_ATTRIBUTE_SPECIAL_AGEN_REQUIRED}, {"STACKPOP0", XED_ATTRIBUTE_STACKPOP0}, {"STACKPOP1", XED_ATTRIBUTE_STACKPOP1}, {"STACKPUSH0", XED_ATTRIBUTE_STACKPUSH0}, {"STACKPUSH1", XED_ATTRIBUTE_STACKPUSH1}, {"USES_DAZ", XED_ATTRIBUTE_USES_DAZ}, {"USES_FTZ", XED_ATTRIBUTE_USES_FTZ}, {"X87_CONTROL", XED_ATTRIBUTE_X87_CONTROL}, {"X87_MMX_STATE_CW", XED_ATTRIBUTE_X87_MMX_STATE_CW}, {"X87_MMX_STATE_R", XED_ATTRIBUTE_X87_MMX_STATE_R}, {"X87_MMX_STATE_W", XED_ATTRIBUTE_X87_MMX_STATE_W}, {"X87_NOWAIT", XED_ATTRIBUTE_X87_NOWAIT}, {"XMM_STATE_CW", XED_ATTRIBUTE_XMM_STATE_CW}, {"XMM_STATE_R", XED_ATTRIBUTE_XMM_STATE_R}, {"XMM_STATE_W", XED_ATTRIBUTE_XMM_STATE_W}, {"LAST", XED_ATTRIBUTE_LAST}, {0, XED_ATTRIBUTE_LAST}, }; xed_attribute_enum_t str2xed_attribute_enum_t(const char* s) { const name_table_xed_attribute_enum_t* p = name_array_xed_attribute_enum_t; while( p->name ) { if (strcmp(p->name,s) == 0) { return p->value; } p++; } return XED_ATTRIBUTE_INVALID; } const char* xed_attribute_enum_t2str(const xed_attribute_enum_t p) { xed_attribute_enum_t type_idx = p; if ( p > XED_ATTRIBUTE_LAST) type_idx = XED_ATTRIBUTE_LAST; return name_array_xed_attribute_enum_t[type_idx].name; } xed_attribute_enum_t xed_attribute_enum_t_last(void) { return XED_ATTRIBUTE_LAST; } /* Here is a skeleton switch statement embedded in a comment switch(p) { case XED_ATTRIBUTE_INVALID: case XED_ATTRIBUTE_AMDONLY: case XED_ATTRIBUTE_ATT_OPERAND_ORDER_EXCEPTION: case XED_ATTRIBUTE_BROADCAST_ENABLED: case XED_ATTRIBUTE_BYTEOP: case XED_ATTRIBUTE_DISP8_EIGHTHMEM: case XED_ATTRIBUTE_DISP8_FULL: case XED_ATTRIBUTE_DISP8_FULLMEM: case XED_ATTRIBUTE_DISP8_GPR_READER: case XED_ATTRIBUTE_DISP8_GPR_READER_BYTE: case XED_ATTRIBUTE_DISP8_GPR_READER_WORD: case XED_ATTRIBUTE_DISP8_GPR_WRITER_LDOP_D: case XED_ATTRIBUTE_DISP8_GPR_WRITER_LDOP_Q: case XED_ATTRIBUTE_DISP8_GPR_WRITER_STORE: case XED_ATTRIBUTE_DISP8_GPR_WRITER_STORE_BYTE: case XED_ATTRIBUTE_DISP8_GPR_WRITER_STORE_WORD: case XED_ATTRIBUTE_DISP8_GSCAT: case XED_ATTRIBUTE_DISP8_HALF: case XED_ATTRIBUTE_DISP8_HALFMEM: case XED_ATTRIBUTE_DISP8_MEM128: case XED_ATTRIBUTE_DISP8_MOVDDUP: case XED_ATTRIBUTE_DISP8_QUARTER: case XED_ATTRIBUTE_DISP8_QUARTERMEM: case XED_ATTRIBUTE_DISP8_SCALAR: case XED_ATTRIBUTE_DISP8_TUPLE1: case XED_ATTRIBUTE_DISP8_TUPLE1_4X: case XED_ATTRIBUTE_DISP8_TUPLE1_BYTE: case XED_ATTRIBUTE_DISP8_TUPLE1_WORD: case XED_ATTRIBUTE_DISP8_TUPLE2: case XED_ATTRIBUTE_DISP8_TUPLE4: case XED_ATTRIBUTE_DISP8_TUPLE8: case XED_ATTRIBUTE_DOUBLE_WIDE_MEMOP: case XED_ATTRIBUTE_DOUBLE_WIDE_OUTPUT: case XED_ATTRIBUTE_DWORD_INDICES: case XED_ATTRIBUTE_ELEMENT_SIZE_D: case XED_ATTRIBUTE_ELEMENT_SIZE_Q: case XED_ATTRIBUTE_EXCEPTION_BR: case XED_ATTRIBUTE_FAR_XFER: case XED_ATTRIBUTE_FIXED_BASE0: case XED_ATTRIBUTE_FIXED_BASE1: case XED_ATTRIBUTE_GATHER: case XED_ATTRIBUTE_HALF_WIDE_OUTPUT: case XED_ATTRIBUTE_HLE_ACQ_ABLE: case XED_ATTRIBUTE_HLE_REL_ABLE: case XED_ATTRIBUTE_IGNORES_OSFXSR: case XED_ATTRIBUTE_IMPLICIT_ONE: case XED_ATTRIBUTE_INDEX_REG_IS_POINTER: case XED_ATTRIBUTE_INDIRECT_BRANCH: case XED_ATTRIBUTE_KMASK: case XED_ATTRIBUTE_LOCKABLE: case XED_ATTRIBUTE_LOCKED: case XED_ATTRIBUTE_MASKOP: case XED_ATTRIBUTE_MASKOP_EVEX: case XED_ATTRIBUTE_MASK_AS_CONTROL: case XED_ATTRIBUTE_MASK_VARIABLE_MEMOP: case XED_ATTRIBUTE_MEMORY_FAULT_SUPPRESSION: case XED_ATTRIBUTE_MMX_EXCEPT: case XED_ATTRIBUTE_MPX_PREFIX_ABLE: case XED_ATTRIBUTE_MULTIDEST2: case XED_ATTRIBUTE_MULTISOURCE4: case XED_ATTRIBUTE_MXCSR: case XED_ATTRIBUTE_MXCSR_RD: case XED_ATTRIBUTE_NONTEMPORAL: case XED_ATTRIBUTE_NOP: case XED_ATTRIBUTE_NOTSX: case XED_ATTRIBUTE_NOTSX_COND: case XED_ATTRIBUTE_NO_RIP_REL: case XED_ATTRIBUTE_NO_SRC_DEST_MATCH: case XED_ATTRIBUTE_PREFETCH: case XED_ATTRIBUTE_PROTECTED_MODE: case XED_ATTRIBUTE_QWORD_INDICES: case XED_ATTRIBUTE_REP: case XED_ATTRIBUTE_REQUIRES_ALIGNMENT: case XED_ATTRIBUTE_RING0: case XED_ATTRIBUTE_SCALABLE: case XED_ATTRIBUTE_SCATTER: case XED_ATTRIBUTE_SIMD_SCALAR: case XED_ATTRIBUTE_SKIPLOW32: case XED_ATTRIBUTE_SKIPLOW64: case XED_ATTRIBUTE_SPECIAL_AGEN_REQUIRED: case XED_ATTRIBUTE_STACKPOP0: case XED_ATTRIBUTE_STACKPOP1: case XED_ATTRIBUTE_STACKPUSH0: case XED_ATTRIBUTE_STACKPUSH1: case XED_ATTRIBUTE_USES_DAZ: case XED_ATTRIBUTE_USES_FTZ: case XED_ATTRIBUTE_X87_CONTROL: case XED_ATTRIBUTE_X87_MMX_STATE_CW: case XED_ATTRIBUTE_X87_MMX_STATE_R: case XED_ATTRIBUTE_X87_MMX_STATE_W: case XED_ATTRIBUTE_X87_NOWAIT: case XED_ATTRIBUTE_XMM_STATE_CW: case XED_ATTRIBUTE_XMM_STATE_R: case XED_ATTRIBUTE_XMM_STATE_W: case XED_ATTRIBUTE_LAST: default: xed_assert(0); } */