/* Generated by ./src/xlat/gen.sh from ./src/xlat/x86_xfeature_bits.in; do not edit. */

#include "gcc_compat.h"
#include "static_assert.h"

#if defined(XFEATURE_FP) || (defined(HAVE_DECL_XFEATURE_FP) && HAVE_DECL_XFEATURE_FP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((XFEATURE_FP) == (0), "XFEATURE_FP != 0");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define XFEATURE_FP 0
#endif
#if defined(XFEATURE_SSE) || (defined(HAVE_DECL_XFEATURE_SSE) && HAVE_DECL_XFEATURE_SSE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((XFEATURE_SSE) == (1), "XFEATURE_SSE != 1");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define XFEATURE_SSE 1
#endif
#if defined(XFEATURE_YMM) || (defined(HAVE_DECL_XFEATURE_YMM) && HAVE_DECL_XFEATURE_YMM)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((XFEATURE_YMM) == (2), "XFEATURE_YMM != 2");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define XFEATURE_YMM 2
#endif
#if defined(XFEATURE_BNDREGS) || (defined(HAVE_DECL_XFEATURE_BNDREGS) && HAVE_DECL_XFEATURE_BNDREGS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((XFEATURE_BNDREGS) == (3), "XFEATURE_BNDREGS != 3");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define XFEATURE_BNDREGS 3
#endif
#if defined(XFEATURE_BNDCSR) || (defined(HAVE_DECL_XFEATURE_BNDCSR) && HAVE_DECL_XFEATURE_BNDCSR)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((XFEATURE_BNDCSR) == (4), "XFEATURE_BNDCSR != 4");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define XFEATURE_BNDCSR 4
#endif
#if defined(XFEATURE_OPMASK) || (defined(HAVE_DECL_XFEATURE_OPMASK) && HAVE_DECL_XFEATURE_OPMASK)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((XFEATURE_OPMASK) == (5), "XFEATURE_OPMASK != 5");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define XFEATURE_OPMASK 5
#endif
#if defined(XFEATURE_ZMM_Hi256) || (defined(HAVE_DECL_XFEATURE_ZMM_Hi256) && HAVE_DECL_XFEATURE_ZMM_Hi256)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((XFEATURE_ZMM_Hi256) == (6), "XFEATURE_ZMM_Hi256 != 6");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define XFEATURE_ZMM_Hi256 6
#endif
#if defined(XFEATURE_Hi16_ZMM) || (defined(HAVE_DECL_XFEATURE_Hi16_ZMM) && HAVE_DECL_XFEATURE_Hi16_ZMM)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((XFEATURE_Hi16_ZMM) == (7), "XFEATURE_Hi16_ZMM != 7");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define XFEATURE_Hi16_ZMM 7
#endif
#if defined(XFEATURE_PT_UNIMPLEMENTED_SO_FAR) || (defined(HAVE_DECL_XFEATURE_PT_UNIMPLEMENTED_SO_FAR) && HAVE_DECL_XFEATURE_PT_UNIMPLEMENTED_SO_FAR)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((XFEATURE_PT_UNIMPLEMENTED_SO_FAR) == (8), "XFEATURE_PT_UNIMPLEMENTED_SO_FAR != 8");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define XFEATURE_PT_UNIMPLEMENTED_SO_FAR 8
#endif
#if defined(XFEATURE_PKRU) || (defined(HAVE_DECL_XFEATURE_PKRU) && HAVE_DECL_XFEATURE_PKRU)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((XFEATURE_PKRU) == (9), "XFEATURE_PKRU != 9");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define XFEATURE_PKRU 9
#endif
#if defined(XFEATURE_PASID) || (defined(HAVE_DECL_XFEATURE_PASID) && HAVE_DECL_XFEATURE_PASID)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((XFEATURE_PASID) == (10), "XFEATURE_PASID != 10");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define XFEATURE_PASID 10
#endif
#if defined(XFEATURE_LBR) || (defined(HAVE_DECL_XFEATURE_LBR) && HAVE_DECL_XFEATURE_LBR)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((XFEATURE_LBR) == (15), "XFEATURE_LBR != 15");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define XFEATURE_LBR 15
#endif
#if defined(XFEATURE_XTILE_CFG) || (defined(HAVE_DECL_XFEATURE_XTILE_CFG) && HAVE_DECL_XFEATURE_XTILE_CFG)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((XFEATURE_XTILE_CFG) == (17), "XFEATURE_XTILE_CFG != 17");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define XFEATURE_XTILE_CFG 17
#endif
#if defined(XFEATURE_XTILE_DATA) || (defined(HAVE_DECL_XFEATURE_XTILE_DATA) && HAVE_DECL_XFEATURE_XTILE_DATA)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((XFEATURE_XTILE_DATA) == (18), "XFEATURE_XTILE_DATA != 18");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define XFEATURE_XTILE_DATA 18
#endif
#undef XLAT_PREV_VAL

#ifndef XLAT_MACROS_ONLY

# ifdef IN_MPERS

#  error static const struct xlat x86_xfeature_bits in mpers mode

# else

DIAG_PUSH_IGNORE_TAUTOLOGICAL_CONSTANT_COMPARE
static const struct xlat_data x86_xfeature_bits_xdata[] = {

 [XFEATURE_FP] = XLAT(XFEATURE_FP),
 #define XLAT_VAL_0 ((unsigned) (XFEATURE_FP))
 #define XLAT_STR_0 STRINGIFY(XFEATURE_FP)
 [XFEATURE_SSE] = XLAT(XFEATURE_SSE),
 #define XLAT_VAL_1 ((unsigned) (XFEATURE_SSE))
 #define XLAT_STR_1 STRINGIFY(XFEATURE_SSE)
 [XFEATURE_YMM] = XLAT(XFEATURE_YMM),
 #define XLAT_VAL_2 ((unsigned) (XFEATURE_YMM))
 #define XLAT_STR_2 STRINGIFY(XFEATURE_YMM)
 [XFEATURE_BNDREGS] = XLAT(XFEATURE_BNDREGS),
 #define XLAT_VAL_3 ((unsigned) (XFEATURE_BNDREGS))
 #define XLAT_STR_3 STRINGIFY(XFEATURE_BNDREGS)
 [XFEATURE_BNDCSR] = XLAT(XFEATURE_BNDCSR),
 #define XLAT_VAL_4 ((unsigned) (XFEATURE_BNDCSR))
 #define XLAT_STR_4 STRINGIFY(XFEATURE_BNDCSR)
 [XFEATURE_OPMASK] = XLAT(XFEATURE_OPMASK),
 #define XLAT_VAL_5 ((unsigned) (XFEATURE_OPMASK))
 #define XLAT_STR_5 STRINGIFY(XFEATURE_OPMASK)
 [XFEATURE_ZMM_Hi256] = XLAT(XFEATURE_ZMM_Hi256),
 #define XLAT_VAL_6 ((unsigned) (XFEATURE_ZMM_Hi256))
 #define XLAT_STR_6 STRINGIFY(XFEATURE_ZMM_Hi256)
 [XFEATURE_Hi16_ZMM] = XLAT(XFEATURE_Hi16_ZMM),
 #define XLAT_VAL_7 ((unsigned) (XFEATURE_Hi16_ZMM))
 #define XLAT_STR_7 STRINGIFY(XFEATURE_Hi16_ZMM)
 [XFEATURE_PT_UNIMPLEMENTED_SO_FAR] = XLAT(XFEATURE_PT_UNIMPLEMENTED_SO_FAR),
 #define XLAT_VAL_8 ((unsigned) (XFEATURE_PT_UNIMPLEMENTED_SO_FAR))
 #define XLAT_STR_8 STRINGIFY(XFEATURE_PT_UNIMPLEMENTED_SO_FAR)
 [XFEATURE_PKRU] = XLAT(XFEATURE_PKRU),
 #define XLAT_VAL_9 ((unsigned) (XFEATURE_PKRU))
 #define XLAT_STR_9 STRINGIFY(XFEATURE_PKRU)
 [XFEATURE_PASID] = XLAT(XFEATURE_PASID),
 #define XLAT_VAL_10 ((unsigned) (XFEATURE_PASID))
 #define XLAT_STR_10 STRINGIFY(XFEATURE_PASID)




 [XFEATURE_LBR] = XLAT(XFEATURE_LBR),
 #define XLAT_VAL_11 ((unsigned) (XFEATURE_LBR))
 #define XLAT_STR_11 STRINGIFY(XFEATURE_LBR)

 [XFEATURE_XTILE_CFG] = XLAT(XFEATURE_XTILE_CFG),
 #define XLAT_VAL_12 ((unsigned) (XFEATURE_XTILE_CFG))
 #define XLAT_STR_12 STRINGIFY(XFEATURE_XTILE_CFG)
 [XFEATURE_XTILE_DATA] = XLAT(XFEATURE_XTILE_DATA),
 #define XLAT_VAL_13 ((unsigned) (XFEATURE_XTILE_DATA))
 #define XLAT_STR_13 STRINGIFY(XFEATURE_XTILE_DATA)
};
static
const struct xlat x86_xfeature_bits[1] = { {
 .data = x86_xfeature_bits_xdata,
 .size = ARRAY_SIZE(x86_xfeature_bits_xdata),
 .type = XT_INDEXED,
 .flags_mask = 0
#  ifdef XLAT_VAL_0
  | XLAT_VAL_0
#  endif
#  ifdef XLAT_VAL_1
  | XLAT_VAL_1
#  endif
#  ifdef XLAT_VAL_2
  | XLAT_VAL_2
#  endif
#  ifdef XLAT_VAL_3
  | XLAT_VAL_3
#  endif
#  ifdef XLAT_VAL_4
  | XLAT_VAL_4
#  endif
#  ifdef XLAT_VAL_5
  | XLAT_VAL_5
#  endif
#  ifdef XLAT_VAL_6
  | XLAT_VAL_6
#  endif
#  ifdef XLAT_VAL_7
  | XLAT_VAL_7
#  endif
#  ifdef XLAT_VAL_8
  | XLAT_VAL_8
#  endif
#  ifdef XLAT_VAL_9
  | XLAT_VAL_9
#  endif
#  ifdef XLAT_VAL_10
  | XLAT_VAL_10
#  endif
#  ifdef XLAT_VAL_11
  | XLAT_VAL_11
#  endif
#  ifdef XLAT_VAL_12
  | XLAT_VAL_12
#  endif
#  ifdef XLAT_VAL_13
  | XLAT_VAL_13
#  endif
  ,
 .flags_strsz = 0
#  ifdef XLAT_STR_0
  + sizeof(XLAT_STR_0)
#  endif
#  ifdef XLAT_STR_1
  + sizeof(XLAT_STR_1)
#  endif
#  ifdef XLAT_STR_2
  + sizeof(XLAT_STR_2)
#  endif
#  ifdef XLAT_STR_3
  + sizeof(XLAT_STR_3)
#  endif
#  ifdef XLAT_STR_4
  + sizeof(XLAT_STR_4)
#  endif
#  ifdef XLAT_STR_5
  + sizeof(XLAT_STR_5)
#  endif
#  ifdef XLAT_STR_6
  + sizeof(XLAT_STR_6)
#  endif
#  ifdef XLAT_STR_7
  + sizeof(XLAT_STR_7)
#  endif
#  ifdef XLAT_STR_8
  + sizeof(XLAT_STR_8)
#  endif
#  ifdef XLAT_STR_9
  + sizeof(XLAT_STR_9)
#  endif
#  ifdef XLAT_STR_10
  + sizeof(XLAT_STR_10)
#  endif
#  ifdef XLAT_STR_11
  + sizeof(XLAT_STR_11)
#  endif
#  ifdef XLAT_STR_12
  + sizeof(XLAT_STR_12)
#  endif
#  ifdef XLAT_STR_13
  + sizeof(XLAT_STR_13)
#  endif
  ,
} };
DIAG_POP_IGNORE_TAUTOLOGICAL_CONSTANT_COMPARE

#  undef XLAT_STR_0
#  undef XLAT_VAL_0
#  undef XLAT_STR_1
#  undef XLAT_VAL_1
#  undef XLAT_STR_2
#  undef XLAT_VAL_2
#  undef XLAT_STR_3
#  undef XLAT_VAL_3
#  undef XLAT_STR_4
#  undef XLAT_VAL_4
#  undef XLAT_STR_5
#  undef XLAT_VAL_5
#  undef XLAT_STR_6
#  undef XLAT_VAL_6
#  undef XLAT_STR_7
#  undef XLAT_VAL_7
#  undef XLAT_STR_8
#  undef XLAT_VAL_8
#  undef XLAT_STR_9
#  undef XLAT_VAL_9
#  undef XLAT_STR_10
#  undef XLAT_VAL_10
#  undef XLAT_STR_11
#  undef XLAT_VAL_11
#  undef XLAT_STR_12
#  undef XLAT_VAL_12
#  undef XLAT_STR_13
#  undef XLAT_VAL_13
# endif /* !IN_MPERS */

#endif /* !XLAT_MACROS_ONLY */
