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

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

#if defined(PERF_COUNT_HW_CACHE_OP_READ) || (defined(HAVE_DECL_PERF_COUNT_HW_CACHE_OP_READ) && HAVE_DECL_PERF_COUNT_HW_CACHE_OP_READ)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((PERF_COUNT_HW_CACHE_OP_READ) == (0), "PERF_COUNT_HW_CACHE_OP_READ != 0");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define PERF_COUNT_HW_CACHE_OP_READ 0
#endif
#if defined(PERF_COUNT_HW_CACHE_OP_WRITE) || (defined(HAVE_DECL_PERF_COUNT_HW_CACHE_OP_WRITE) && HAVE_DECL_PERF_COUNT_HW_CACHE_OP_WRITE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((PERF_COUNT_HW_CACHE_OP_WRITE) == (1), "PERF_COUNT_HW_CACHE_OP_WRITE != 1");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define PERF_COUNT_HW_CACHE_OP_WRITE 1
#endif
#if defined(PERF_COUNT_HW_CACHE_OP_PREFETCH) || (defined(HAVE_DECL_PERF_COUNT_HW_CACHE_OP_PREFETCH) && HAVE_DECL_PERF_COUNT_HW_CACHE_OP_PREFETCH)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((PERF_COUNT_HW_CACHE_OP_PREFETCH) == (2), "PERF_COUNT_HW_CACHE_OP_PREFETCH != 2");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define PERF_COUNT_HW_CACHE_OP_PREFETCH 2
#endif
#undef XLAT_PREV_VAL

#ifndef XLAT_MACROS_ONLY

# ifdef IN_MPERS

#  error static const struct xlat perf_hw_cache_op_id in mpers mode

# else

DIAG_PUSH_IGNORE_TAUTOLOGICAL_CONSTANT_COMPARE
static const struct xlat_data perf_hw_cache_op_id_xdata[] = {
 [PERF_COUNT_HW_CACHE_OP_READ] = XLAT(PERF_COUNT_HW_CACHE_OP_READ),
 #define XLAT_VAL_0 ((unsigned) (PERF_COUNT_HW_CACHE_OP_READ))
 #define XLAT_STR_0 STRINGIFY(PERF_COUNT_HW_CACHE_OP_READ)
 [PERF_COUNT_HW_CACHE_OP_WRITE] = XLAT(PERF_COUNT_HW_CACHE_OP_WRITE),
 #define XLAT_VAL_1 ((unsigned) (PERF_COUNT_HW_CACHE_OP_WRITE))
 #define XLAT_STR_1 STRINGIFY(PERF_COUNT_HW_CACHE_OP_WRITE)
 [PERF_COUNT_HW_CACHE_OP_PREFETCH] = XLAT(PERF_COUNT_HW_CACHE_OP_PREFETCH),
 #define XLAT_VAL_2 ((unsigned) (PERF_COUNT_HW_CACHE_OP_PREFETCH))
 #define XLAT_STR_2 STRINGIFY(PERF_COUNT_HW_CACHE_OP_PREFETCH)
};
static
const struct xlat perf_hw_cache_op_id[1] = { {
 .data = perf_hw_cache_op_id_xdata,
 .size = ARRAY_SIZE(perf_hw_cache_op_id_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
  ,
 .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
  ,
} };
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
# endif /* !IN_MPERS */

#endif /* !XLAT_MACROS_ONLY */
