/* BEGIN_LEGAL 

Copyright (c) 2026 Intel Corporation

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
  
END_LEGAL */
/// @file xed-operand-width-enum.h

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

#if !defined(XED_OPERAND_WIDTH_ENUM_H)
# define XED_OPERAND_WIDTH_ENUM_H
#include "xed-common-hdrs.h"
#define XED_OPERAND_WIDTH_INVALID_DEFINED 1
#define XED_OPERAND_WIDTH_ASZ_DEFINED 1
#define XED_OPERAND_WIDTH_SSZ_DEFINED 1
#define XED_OPERAND_WIDTH_PSEUDO_DEFINED 1
#define XED_OPERAND_WIDTH_PSEUDOX87_DEFINED 1
#define XED_OPERAND_WIDTH_A16_DEFINED 1
#define XED_OPERAND_WIDTH_A32_DEFINED 1
#define XED_OPERAND_WIDTH_B_DEFINED 1
#define XED_OPERAND_WIDTH_D_DEFINED 1
#define XED_OPERAND_WIDTH_I8_DEFINED 1
#define XED_OPERAND_WIDTH_U8_DEFINED 1
#define XED_OPERAND_WIDTH_I16_DEFINED 1
#define XED_OPERAND_WIDTH_U16_DEFINED 1
#define XED_OPERAND_WIDTH_I32_DEFINED 1
#define XED_OPERAND_WIDTH_U32_DEFINED 1
#define XED_OPERAND_WIDTH_I64_DEFINED 1
#define XED_OPERAND_WIDTH_U64_DEFINED 1
#define XED_OPERAND_WIDTH_F16_DEFINED 1
#define XED_OPERAND_WIDTH_F32_DEFINED 1
#define XED_OPERAND_WIDTH_F64_DEFINED 1
#define XED_OPERAND_WIDTH_DQ_DEFINED 1
#define XED_OPERAND_WIDTH_XUB_DEFINED 1
#define XED_OPERAND_WIDTH_XUW_DEFINED 1
#define XED_OPERAND_WIDTH_XUD_DEFINED 1
#define XED_OPERAND_WIDTH_XUQ_DEFINED 1
#define XED_OPERAND_WIDTH_X128_DEFINED 1
#define XED_OPERAND_WIDTH_XB_DEFINED 1
#define XED_OPERAND_WIDTH_XW_DEFINED 1
#define XED_OPERAND_WIDTH_XD_DEFINED 1
#define XED_OPERAND_WIDTH_XQ_DEFINED 1
#define XED_OPERAND_WIDTH_ZB_DEFINED 1
#define XED_OPERAND_WIDTH_ZW_DEFINED 1
#define XED_OPERAND_WIDTH_ZD_DEFINED 1
#define XED_OPERAND_WIDTH_ZQ_DEFINED 1
#define XED_OPERAND_WIDTH_MB_DEFINED 1
#define XED_OPERAND_WIDTH_MW_DEFINED 1
#define XED_OPERAND_WIDTH_MD_DEFINED 1
#define XED_OPERAND_WIDTH_MQ_DEFINED 1
#define XED_OPERAND_WIDTH_M64INT_DEFINED 1
#define XED_OPERAND_WIDTH_M64REAL_DEFINED 1
#define XED_OPERAND_WIDTH_MEM108_DEFINED 1
#define XED_OPERAND_WIDTH_MEM14_DEFINED 1
#define XED_OPERAND_WIDTH_MEM16_DEFINED 1
#define XED_OPERAND_WIDTH_MEM16INT_DEFINED 1
#define XED_OPERAND_WIDTH_MEM28_DEFINED 1
#define XED_OPERAND_WIDTH_MEM32INT_DEFINED 1
#define XED_OPERAND_WIDTH_MEM32REAL_DEFINED 1
#define XED_OPERAND_WIDTH_MEM80DEC_DEFINED 1
#define XED_OPERAND_WIDTH_MEM80REAL_DEFINED 1
#define XED_OPERAND_WIDTH_F80_DEFINED 1
#define XED_OPERAND_WIDTH_MEM94_DEFINED 1
#define XED_OPERAND_WIDTH_MFPXENV_DEFINED 1
#define XED_OPERAND_WIDTH_MXSAVE_DEFINED 1
#define XED_OPERAND_WIDTH_MPREFETCH_DEFINED 1
#define XED_OPERAND_WIDTH_P_DEFINED 1
#define XED_OPERAND_WIDTH_P2_DEFINED 1
#define XED_OPERAND_WIDTH_PD_DEFINED 1
#define XED_OPERAND_WIDTH_PS_DEFINED 1
#define XED_OPERAND_WIDTH_PI_DEFINED 1
#define XED_OPERAND_WIDTH_Q_DEFINED 1
#define XED_OPERAND_WIDTH_S_DEFINED 1
#define XED_OPERAND_WIDTH_S64_DEFINED 1
#define XED_OPERAND_WIDTH_SD_DEFINED 1
#define XED_OPERAND_WIDTH_SI_DEFINED 1
#define XED_OPERAND_WIDTH_SS_DEFINED 1
#define XED_OPERAND_WIDTH_V_DEFINED 1
#define XED_OPERAND_WIDTH_Y_DEFINED 1
#define XED_OPERAND_WIDTH_W_DEFINED 1
#define XED_OPERAND_WIDTH_Z_DEFINED 1
#define XED_OPERAND_WIDTH_SPW8_DEFINED 1
#define XED_OPERAND_WIDTH_SPW_DEFINED 1
#define XED_OPERAND_WIDTH_SPW5_DEFINED 1
#define XED_OPERAND_WIDTH_SPW3_DEFINED 1
#define XED_OPERAND_WIDTH_SPW2_DEFINED 1
#define XED_OPERAND_WIDTH_I1_DEFINED 1
#define XED_OPERAND_WIDTH_I2_DEFINED 1
#define XED_OPERAND_WIDTH_I3_DEFINED 1
#define XED_OPERAND_WIDTH_I4_DEFINED 1
#define XED_OPERAND_WIDTH_I5_DEFINED 1
#define XED_OPERAND_WIDTH_I6_DEFINED 1
#define XED_OPERAND_WIDTH_I7_DEFINED 1
#define XED_OPERAND_WIDTH_VAR_DEFINED 1
#define XED_OPERAND_WIDTH_BND32_DEFINED 1
#define XED_OPERAND_WIDTH_BND64_DEFINED 1
#define XED_OPERAND_WIDTH_WRD_DEFINED 1
#define XED_OPERAND_WIDTH_QQ_DEFINED 1
#define XED_OPERAND_WIDTH_YUB_DEFINED 1
#define XED_OPERAND_WIDTH_YUW_DEFINED 1
#define XED_OPERAND_WIDTH_YUD_DEFINED 1
#define XED_OPERAND_WIDTH_YUQ_DEFINED 1
#define XED_OPERAND_WIDTH_Y128_DEFINED 1
#define XED_OPERAND_WIDTH_YB_DEFINED 1
#define XED_OPERAND_WIDTH_YW_DEFINED 1
#define XED_OPERAND_WIDTH_YD_DEFINED 1
#define XED_OPERAND_WIDTH_YQ_DEFINED 1
#define XED_OPERAND_WIDTH_YPS_DEFINED 1
#define XED_OPERAND_WIDTH_YPD_DEFINED 1
#define XED_OPERAND_WIDTH_PMMSZ16_DEFINED 1
#define XED_OPERAND_WIDTH_PMMSZ32_DEFINED 1
#define XED_OPERAND_WIDTH_VV_DEFINED 1
#define XED_OPERAND_WIDTH_ZV_DEFINED 1
#define XED_OPERAND_WIDTH_MSKW_DEFINED 1
#define XED_OPERAND_WIDTH_ZMSKW_DEFINED 1
#define XED_OPERAND_WIDTH_ZF32_DEFINED 1
#define XED_OPERAND_WIDTH_ZF64_DEFINED 1
#define XED_OPERAND_WIDTH_ZUB_DEFINED 1
#define XED_OPERAND_WIDTH_ZUW_DEFINED 1
#define XED_OPERAND_WIDTH_ZUD_DEFINED 1
#define XED_OPERAND_WIDTH_ZUQ_DEFINED 1
#define XED_OPERAND_WIDTH_ZI8_DEFINED 1
#define XED_OPERAND_WIDTH_ZI16_DEFINED 1
#define XED_OPERAND_WIDTH_ZI32_DEFINED 1
#define XED_OPERAND_WIDTH_ZI64_DEFINED 1
#define XED_OPERAND_WIDTH_ZU8_DEFINED 1
#define XED_OPERAND_WIDTH_ZU16_DEFINED 1
#define XED_OPERAND_WIDTH_ZU32_DEFINED 1
#define XED_OPERAND_WIDTH_ZU64_DEFINED 1
#define XED_OPERAND_WIDTH_ZU128_DEFINED 1
#define XED_OPERAND_WIDTH_ZBF16_DEFINED 1
#define XED_OPERAND_WIDTH_M384_DEFINED 1
#define XED_OPERAND_WIDTH_PTR_DEFINED 1
#define XED_OPERAND_WIDTH_TMEMROW_DEFINED 1
#define XED_OPERAND_WIDTH_TMEMCOL_DEFINED 1
#define XED_OPERAND_WIDTH_M512_DEFINED 1
#define XED_OPERAND_WIDTH_TV_DEFINED 1
#define XED_OPERAND_WIDTH_ZF16_DEFINED 1
#define XED_OPERAND_WIDTH_Z2F16_DEFINED 1
#define XED_OPERAND_WIDTH_Z2I16_DEFINED 1
#define XED_OPERAND_WIDTH_Z2U16_DEFINED 1
#define XED_OPERAND_WIDTH_ZHF8_DEFINED 1
#define XED_OPERAND_WIDTH_ZBF8_DEFINED 1
#define XED_OPERAND_WIDTH_Z4U8_DEFINED 1
#define XED_OPERAND_WIDTH_Z4I8_DEFINED 1
#define XED_OPERAND_WIDTH_Z2I8_DEFINED 1
#define XED_OPERAND_WIDTH_YU_DEFINED 1
#define XED_OPERAND_WIDTH_ZD0_DEFINED 1
#define XED_OPERAND_WIDTH_OO_DEFINED 1
#define XED_OPERAND_WIDTH_ZBF6_DEFINED 1
#define XED_OPERAND_WIDTH_ZHF6_DEFINED 1
#define XED_OPERAND_WIDTH_LAST_DEFINED 1
typedef enum {
  XED_OPERAND_WIDTH_INVALID,
  XED_OPERAND_WIDTH_ASZ,
  XED_OPERAND_WIDTH_SSZ,
  XED_OPERAND_WIDTH_PSEUDO,
  XED_OPERAND_WIDTH_PSEUDOX87,
  XED_OPERAND_WIDTH_A16,
  XED_OPERAND_WIDTH_A32,
  XED_OPERAND_WIDTH_B,
  XED_OPERAND_WIDTH_D,
  XED_OPERAND_WIDTH_I8,
  XED_OPERAND_WIDTH_U8,
  XED_OPERAND_WIDTH_I16,
  XED_OPERAND_WIDTH_U16,
  XED_OPERAND_WIDTH_I32,
  XED_OPERAND_WIDTH_U32,
  XED_OPERAND_WIDTH_I64,
  XED_OPERAND_WIDTH_U64,
  XED_OPERAND_WIDTH_F16,
  XED_OPERAND_WIDTH_F32,
  XED_OPERAND_WIDTH_F64,
  XED_OPERAND_WIDTH_DQ,
  XED_OPERAND_WIDTH_XUB,
  XED_OPERAND_WIDTH_XUW,
  XED_OPERAND_WIDTH_XUD,
  XED_OPERAND_WIDTH_XUQ,
  XED_OPERAND_WIDTH_X128,
  XED_OPERAND_WIDTH_XB,
  XED_OPERAND_WIDTH_XW,
  XED_OPERAND_WIDTH_XD,
  XED_OPERAND_WIDTH_XQ,
  XED_OPERAND_WIDTH_ZB,
  XED_OPERAND_WIDTH_ZW,
  XED_OPERAND_WIDTH_ZD,
  XED_OPERAND_WIDTH_ZQ,
  XED_OPERAND_WIDTH_MB,
  XED_OPERAND_WIDTH_MW,
  XED_OPERAND_WIDTH_MD,
  XED_OPERAND_WIDTH_MQ,
  XED_OPERAND_WIDTH_M64INT,
  XED_OPERAND_WIDTH_M64REAL,
  XED_OPERAND_WIDTH_MEM108,
  XED_OPERAND_WIDTH_MEM14,
  XED_OPERAND_WIDTH_MEM16,
  XED_OPERAND_WIDTH_MEM16INT,
  XED_OPERAND_WIDTH_MEM28,
  XED_OPERAND_WIDTH_MEM32INT,
  XED_OPERAND_WIDTH_MEM32REAL,
  XED_OPERAND_WIDTH_MEM80DEC,
  XED_OPERAND_WIDTH_MEM80REAL,
  XED_OPERAND_WIDTH_F80,
  XED_OPERAND_WIDTH_MEM94,
  XED_OPERAND_WIDTH_MFPXENV,
  XED_OPERAND_WIDTH_MXSAVE,
  XED_OPERAND_WIDTH_MPREFETCH,
  XED_OPERAND_WIDTH_P,
  XED_OPERAND_WIDTH_P2,
  XED_OPERAND_WIDTH_PD,
  XED_OPERAND_WIDTH_PS,
  XED_OPERAND_WIDTH_PI,
  XED_OPERAND_WIDTH_Q,
  XED_OPERAND_WIDTH_S,
  XED_OPERAND_WIDTH_S64,
  XED_OPERAND_WIDTH_SD,
  XED_OPERAND_WIDTH_SI,
  XED_OPERAND_WIDTH_SS,
  XED_OPERAND_WIDTH_V,
  XED_OPERAND_WIDTH_Y,
  XED_OPERAND_WIDTH_W,
  XED_OPERAND_WIDTH_Z,
  XED_OPERAND_WIDTH_SPW8,
  XED_OPERAND_WIDTH_SPW,
  XED_OPERAND_WIDTH_SPW5,
  XED_OPERAND_WIDTH_SPW3,
  XED_OPERAND_WIDTH_SPW2,
  XED_OPERAND_WIDTH_I1,
  XED_OPERAND_WIDTH_I2,
  XED_OPERAND_WIDTH_I3,
  XED_OPERAND_WIDTH_I4,
  XED_OPERAND_WIDTH_I5,
  XED_OPERAND_WIDTH_I6,
  XED_OPERAND_WIDTH_I7,
  XED_OPERAND_WIDTH_VAR,
  XED_OPERAND_WIDTH_BND32,
  XED_OPERAND_WIDTH_BND64,
  XED_OPERAND_WIDTH_WRD,
  XED_OPERAND_WIDTH_QQ,
  XED_OPERAND_WIDTH_YUB,
  XED_OPERAND_WIDTH_YUW,
  XED_OPERAND_WIDTH_YUD,
  XED_OPERAND_WIDTH_YUQ,
  XED_OPERAND_WIDTH_Y128,
  XED_OPERAND_WIDTH_YB,
  XED_OPERAND_WIDTH_YW,
  XED_OPERAND_WIDTH_YD,
  XED_OPERAND_WIDTH_YQ,
  XED_OPERAND_WIDTH_YPS,
  XED_OPERAND_WIDTH_YPD,
  XED_OPERAND_WIDTH_PMMSZ16,
  XED_OPERAND_WIDTH_PMMSZ32,
  XED_OPERAND_WIDTH_VV,
  XED_OPERAND_WIDTH_ZV,
  XED_OPERAND_WIDTH_MSKW,
  XED_OPERAND_WIDTH_ZMSKW,
  XED_OPERAND_WIDTH_ZF32,
  XED_OPERAND_WIDTH_ZF64,
  XED_OPERAND_WIDTH_ZUB,
  XED_OPERAND_WIDTH_ZUW,
  XED_OPERAND_WIDTH_ZUD,
  XED_OPERAND_WIDTH_ZUQ,
  XED_OPERAND_WIDTH_ZI8,
  XED_OPERAND_WIDTH_ZI16,
  XED_OPERAND_WIDTH_ZI32,
  XED_OPERAND_WIDTH_ZI64,
  XED_OPERAND_WIDTH_ZU8,
  XED_OPERAND_WIDTH_ZU16,
  XED_OPERAND_WIDTH_ZU32,
  XED_OPERAND_WIDTH_ZU64,
  XED_OPERAND_WIDTH_ZU128,
  XED_OPERAND_WIDTH_ZBF16,
  XED_OPERAND_WIDTH_M384,
  XED_OPERAND_WIDTH_PTR,
  XED_OPERAND_WIDTH_TMEMROW,
  XED_OPERAND_WIDTH_TMEMCOL,
  XED_OPERAND_WIDTH_M512,
  XED_OPERAND_WIDTH_TV,
  XED_OPERAND_WIDTH_ZF16,
  XED_OPERAND_WIDTH_Z2F16,
  XED_OPERAND_WIDTH_Z2I16,
  XED_OPERAND_WIDTH_Z2U16,
  XED_OPERAND_WIDTH_ZHF8,
  XED_OPERAND_WIDTH_ZBF8,
  XED_OPERAND_WIDTH_Z4U8,
  XED_OPERAND_WIDTH_Z4I8,
  XED_OPERAND_WIDTH_Z2I8,
  XED_OPERAND_WIDTH_YU,
  XED_OPERAND_WIDTH_ZD0,
  XED_OPERAND_WIDTH_OO,
  XED_OPERAND_WIDTH_ZBF6,
  XED_OPERAND_WIDTH_ZHF6,
  XED_OPERAND_WIDTH_LAST
} xed_operand_width_enum_t;

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

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