/// @file xed-attribute-enum.h

// This file was automatically generated.
// Do not edit this file.

#if !defined(XED_ATTRIBUTE_ENUM_H)
# define XED_ATTRIBUTE_ENUM_H
#include "xed-common-hdrs.h"
#define XED_ATTRIBUTE_INVALID_DEFINED 1
#define XED_ATTRIBUTE_AMDONLY_DEFINED 1
#define XED_ATTRIBUTE_ATT_OPERAND_ORDER_EXCEPTION_DEFINED 1
#define XED_ATTRIBUTE_BROADCAST_ENABLED_DEFINED 1
#define XED_ATTRIBUTE_BYTEOP_DEFINED 1
#define XED_ATTRIBUTE_DISP8_EIGHTHMEM_DEFINED 1
#define XED_ATTRIBUTE_DISP8_FULL_DEFINED 1
#define XED_ATTRIBUTE_DISP8_FULLMEM_DEFINED 1
#define XED_ATTRIBUTE_DISP8_GPR_READER_DEFINED 1
#define XED_ATTRIBUTE_DISP8_GPR_READER_BYTE_DEFINED 1
#define XED_ATTRIBUTE_DISP8_GPR_READER_WORD_DEFINED 1
#define XED_ATTRIBUTE_DISP8_GPR_WRITER_LDOP_D_DEFINED 1
#define XED_ATTRIBUTE_DISP8_GPR_WRITER_LDOP_Q_DEFINED 1
#define XED_ATTRIBUTE_DISP8_GPR_WRITER_STORE_DEFINED 1
#define XED_ATTRIBUTE_DISP8_GPR_WRITER_STORE_BYTE_DEFINED 1
#define XED_ATTRIBUTE_DISP8_GPR_WRITER_STORE_WORD_DEFINED 1
#define XED_ATTRIBUTE_DISP8_GSCAT_DEFINED 1
#define XED_ATTRIBUTE_DISP8_HALF_DEFINED 1
#define XED_ATTRIBUTE_DISP8_HALFMEM_DEFINED 1
#define XED_ATTRIBUTE_DISP8_MEM128_DEFINED 1
#define XED_ATTRIBUTE_DISP8_MOVDDUP_DEFINED 1
#define XED_ATTRIBUTE_DISP8_QUARTER_DEFINED 1
#define XED_ATTRIBUTE_DISP8_QUARTERMEM_DEFINED 1
#define XED_ATTRIBUTE_DISP8_SCALAR_DEFINED 1
#define XED_ATTRIBUTE_DISP8_TUPLE1_DEFINED 1
#define XED_ATTRIBUTE_DISP8_TUPLE1_4X_DEFINED 1
#define XED_ATTRIBUTE_DISP8_TUPLE1_BYTE_DEFINED 1
#define XED_ATTRIBUTE_DISP8_TUPLE1_WORD_DEFINED 1
#define XED_ATTRIBUTE_DISP8_TUPLE2_DEFINED 1
#define XED_ATTRIBUTE_DISP8_TUPLE4_DEFINED 1
#define XED_ATTRIBUTE_DISP8_TUPLE8_DEFINED 1
#define XED_ATTRIBUTE_DOUBLE_WIDE_MEMOP_DEFINED 1
#define XED_ATTRIBUTE_DOUBLE_WIDE_OUTPUT_DEFINED 1
#define XED_ATTRIBUTE_DWORD_INDICES_DEFINED 1
#define XED_ATTRIBUTE_ELEMENT_SIZE_D_DEFINED 1
#define XED_ATTRIBUTE_ELEMENT_SIZE_Q_DEFINED 1
#define XED_ATTRIBUTE_EXCEPTION_BR_DEFINED 1
#define XED_ATTRIBUTE_FAR_XFER_DEFINED 1
#define XED_ATTRIBUTE_FIXED_BASE0_DEFINED 1
#define XED_ATTRIBUTE_FIXED_BASE1_DEFINED 1
#define XED_ATTRIBUTE_GATHER_DEFINED 1
#define XED_ATTRIBUTE_HALF_WIDE_OUTPUT_DEFINED 1
#define XED_ATTRIBUTE_HLE_ACQ_ABLE_DEFINED 1
#define XED_ATTRIBUTE_HLE_REL_ABLE_DEFINED 1
#define XED_ATTRIBUTE_IGNORES_OSFXSR_DEFINED 1
#define XED_ATTRIBUTE_IMPLICIT_ONE_DEFINED 1
#define XED_ATTRIBUTE_INDEX_REG_IS_POINTER_DEFINED 1
#define XED_ATTRIBUTE_INDIRECT_BRANCH_DEFINED 1
#define XED_ATTRIBUTE_KMASK_DEFINED 1
#define XED_ATTRIBUTE_LOCKABLE_DEFINED 1
#define XED_ATTRIBUTE_LOCKED_DEFINED 1
#define XED_ATTRIBUTE_MASKOP_DEFINED 1
#define XED_ATTRIBUTE_MASKOP_EVEX_DEFINED 1
#define XED_ATTRIBUTE_MASK_AS_CONTROL_DEFINED 1
#define XED_ATTRIBUTE_MASK_VARIABLE_MEMOP_DEFINED 1
#define XED_ATTRIBUTE_MEMORY_FAULT_SUPPRESSION_DEFINED 1
#define XED_ATTRIBUTE_MMX_EXCEPT_DEFINED 1
#define XED_ATTRIBUTE_MPX_PREFIX_ABLE_DEFINED 1
#define XED_ATTRIBUTE_MULTIDEST2_DEFINED 1
#define XED_ATTRIBUTE_MULTISOURCE4_DEFINED 1
#define XED_ATTRIBUTE_MXCSR_DEFINED 1
#define XED_ATTRIBUTE_MXCSR_RD_DEFINED 1
#define XED_ATTRIBUTE_NONTEMPORAL_DEFINED 1
#define XED_ATTRIBUTE_NOP_DEFINED 1
#define XED_ATTRIBUTE_NOTSX_DEFINED 1
#define XED_ATTRIBUTE_NOTSX_COND_DEFINED 1
#define XED_ATTRIBUTE_NO_RIP_REL_DEFINED 1
#define XED_ATTRIBUTE_NO_SRC_DEST_MATCH_DEFINED 1
#define XED_ATTRIBUTE_PREFETCH_DEFINED 1
#define XED_ATTRIBUTE_PROTECTED_MODE_DEFINED 1
#define XED_ATTRIBUTE_QWORD_INDICES_DEFINED 1
#define XED_ATTRIBUTE_REP_DEFINED 1
#define XED_ATTRIBUTE_REQUIRES_ALIGNMENT_DEFINED 1
#define XED_ATTRIBUTE_RING0_DEFINED 1
#define XED_ATTRIBUTE_SCALABLE_DEFINED 1
#define XED_ATTRIBUTE_SCATTER_DEFINED 1
#define XED_ATTRIBUTE_SIMD_SCALAR_DEFINED 1
#define XED_ATTRIBUTE_SKIPLOW32_DEFINED 1
#define XED_ATTRIBUTE_SKIPLOW64_DEFINED 1
#define XED_ATTRIBUTE_SPECIAL_AGEN_REQUIRED_DEFINED 1
#define XED_ATTRIBUTE_STACKPOP0_DEFINED 1
#define XED_ATTRIBUTE_STACKPOP1_DEFINED 1
#define XED_ATTRIBUTE_STACKPUSH0_DEFINED 1
#define XED_ATTRIBUTE_STACKPUSH1_DEFINED 1
#define XED_ATTRIBUTE_USES_DAZ_DEFINED 1
#define XED_ATTRIBUTE_USES_FTZ_DEFINED 1
#define XED_ATTRIBUTE_X87_CONTROL_DEFINED 1
#define XED_ATTRIBUTE_X87_MMX_STATE_CW_DEFINED 1
#define XED_ATTRIBUTE_X87_MMX_STATE_R_DEFINED 1
#define XED_ATTRIBUTE_X87_MMX_STATE_W_DEFINED 1
#define XED_ATTRIBUTE_X87_NOWAIT_DEFINED 1
#define XED_ATTRIBUTE_XMM_STATE_CW_DEFINED 1
#define XED_ATTRIBUTE_XMM_STATE_R_DEFINED 1
#define XED_ATTRIBUTE_XMM_STATE_W_DEFINED 1
#define XED_ATTRIBUTE_LAST_DEFINED 1
typedef enum {
  XED_ATTRIBUTE_INVALID,
  XED_ATTRIBUTE_AMDONLY,
  XED_ATTRIBUTE_ATT_OPERAND_ORDER_EXCEPTION,
  XED_ATTRIBUTE_BROADCAST_ENABLED,
  XED_ATTRIBUTE_BYTEOP,
  XED_ATTRIBUTE_DISP8_EIGHTHMEM,
  XED_ATTRIBUTE_DISP8_FULL,
  XED_ATTRIBUTE_DISP8_FULLMEM,
  XED_ATTRIBUTE_DISP8_GPR_READER,
  XED_ATTRIBUTE_DISP8_GPR_READER_BYTE,
  XED_ATTRIBUTE_DISP8_GPR_READER_WORD,
  XED_ATTRIBUTE_DISP8_GPR_WRITER_LDOP_D,
  XED_ATTRIBUTE_DISP8_GPR_WRITER_LDOP_Q,
  XED_ATTRIBUTE_DISP8_GPR_WRITER_STORE,
  XED_ATTRIBUTE_DISP8_GPR_WRITER_STORE_BYTE,
  XED_ATTRIBUTE_DISP8_GPR_WRITER_STORE_WORD,
  XED_ATTRIBUTE_DISP8_GSCAT,
  XED_ATTRIBUTE_DISP8_HALF,
  XED_ATTRIBUTE_DISP8_HALFMEM,
  XED_ATTRIBUTE_DISP8_MEM128,
  XED_ATTRIBUTE_DISP8_MOVDDUP,
  XED_ATTRIBUTE_DISP8_QUARTER,
  XED_ATTRIBUTE_DISP8_QUARTERMEM,
  XED_ATTRIBUTE_DISP8_SCALAR,
  XED_ATTRIBUTE_DISP8_TUPLE1,
  XED_ATTRIBUTE_DISP8_TUPLE1_4X,
  XED_ATTRIBUTE_DISP8_TUPLE1_BYTE,
  XED_ATTRIBUTE_DISP8_TUPLE1_WORD,
  XED_ATTRIBUTE_DISP8_TUPLE2,
  XED_ATTRIBUTE_DISP8_TUPLE4,
  XED_ATTRIBUTE_DISP8_TUPLE8,
  XED_ATTRIBUTE_DOUBLE_WIDE_MEMOP,
  XED_ATTRIBUTE_DOUBLE_WIDE_OUTPUT,
  XED_ATTRIBUTE_DWORD_INDICES,
  XED_ATTRIBUTE_ELEMENT_SIZE_D,
  XED_ATTRIBUTE_ELEMENT_SIZE_Q,
  XED_ATTRIBUTE_EXCEPTION_BR,
  XED_ATTRIBUTE_FAR_XFER,
  XED_ATTRIBUTE_FIXED_BASE0,
  XED_ATTRIBUTE_FIXED_BASE1,
  XED_ATTRIBUTE_GATHER,
  XED_ATTRIBUTE_HALF_WIDE_OUTPUT,
  XED_ATTRIBUTE_HLE_ACQ_ABLE,
  XED_ATTRIBUTE_HLE_REL_ABLE,
  XED_ATTRIBUTE_IGNORES_OSFXSR,
  XED_ATTRIBUTE_IMPLICIT_ONE,
  XED_ATTRIBUTE_INDEX_REG_IS_POINTER,
  XED_ATTRIBUTE_INDIRECT_BRANCH,
  XED_ATTRIBUTE_KMASK,
  XED_ATTRIBUTE_LOCKABLE,
  XED_ATTRIBUTE_LOCKED,
  XED_ATTRIBUTE_MASKOP,
  XED_ATTRIBUTE_MASKOP_EVEX,
  XED_ATTRIBUTE_MASK_AS_CONTROL,
  XED_ATTRIBUTE_MASK_VARIABLE_MEMOP,
  XED_ATTRIBUTE_MEMORY_FAULT_SUPPRESSION,
  XED_ATTRIBUTE_MMX_EXCEPT,
  XED_ATTRIBUTE_MPX_PREFIX_ABLE,
  XED_ATTRIBUTE_MULTIDEST2,
  XED_ATTRIBUTE_MULTISOURCE4,
  XED_ATTRIBUTE_MXCSR,
  XED_ATTRIBUTE_MXCSR_RD,
  XED_ATTRIBUTE_NONTEMPORAL,
  XED_ATTRIBUTE_NOP,
  XED_ATTRIBUTE_NOTSX,
  XED_ATTRIBUTE_NOTSX_COND,
  XED_ATTRIBUTE_NO_RIP_REL,
  XED_ATTRIBUTE_NO_SRC_DEST_MATCH,
  XED_ATTRIBUTE_PREFETCH,
  XED_ATTRIBUTE_PROTECTED_MODE,
  XED_ATTRIBUTE_QWORD_INDICES,
  XED_ATTRIBUTE_REP,
  XED_ATTRIBUTE_REQUIRES_ALIGNMENT,
  XED_ATTRIBUTE_RING0,
  XED_ATTRIBUTE_SCALABLE,
  XED_ATTRIBUTE_SCATTER,
  XED_ATTRIBUTE_SIMD_SCALAR,
  XED_ATTRIBUTE_SKIPLOW32,
  XED_ATTRIBUTE_SKIPLOW64,
  XED_ATTRIBUTE_SPECIAL_AGEN_REQUIRED,
  XED_ATTRIBUTE_STACKPOP0,
  XED_ATTRIBUTE_STACKPOP1,
  XED_ATTRIBUTE_STACKPUSH0,
  XED_ATTRIBUTE_STACKPUSH1,
  XED_ATTRIBUTE_USES_DAZ,
  XED_ATTRIBUTE_USES_FTZ,
  XED_ATTRIBUTE_X87_CONTROL,
  XED_ATTRIBUTE_X87_MMX_STATE_CW,
  XED_ATTRIBUTE_X87_MMX_STATE_R,
  XED_ATTRIBUTE_X87_MMX_STATE_W,
  XED_ATTRIBUTE_X87_NOWAIT,
  XED_ATTRIBUTE_XMM_STATE_CW,
  XED_ATTRIBUTE_XMM_STATE_R,
  XED_ATTRIBUTE_XMM_STATE_W,
  XED_ATTRIBUTE_LAST
} xed_attribute_enum_t;

/// This converts strings to #xed_attribute_enum_t types.
/// @param s A C-string.
/// @return #xed_attribute_enum_t
/// @ingroup ENUM
XED_DLL_EXPORT xed_attribute_enum_t str2xed_attribute_enum_t(const char* s);
/// This converts strings to #xed_attribute_enum_t types.
/// @param p An enumeration element of type xed_attribute_enum_t.
/// @return string
/// @ingroup ENUM
XED_DLL_EXPORT const char* xed_attribute_enum_t2str(const xed_attribute_enum_t p);

/// Returns the last element of the enumeration
/// @return xed_attribute_enum_t The last element of the enumeration.
/// @ingroup ENUM
XED_DLL_EXPORT xed_attribute_enum_t xed_attribute_enum_t_last(void);
#endif
