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

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

#if defined(PR_SVE_SET_VL_ONEXEC) || (defined(HAVE_DECL_PR_SVE_SET_VL_ONEXEC) && HAVE_DECL_PR_SVE_SET_VL_ONEXEC)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((PR_SVE_SET_VL_ONEXEC) == ((1 << 18)), "PR_SVE_SET_VL_ONEXEC != (1 << 18)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define PR_SVE_SET_VL_ONEXEC (1 << 18)
#endif
#if defined(PR_SVE_VL_INHERIT) || (defined(HAVE_DECL_PR_SVE_VL_INHERIT) && HAVE_DECL_PR_SVE_VL_INHERIT)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((PR_SVE_VL_INHERIT) == ((1 << 17)), "PR_SVE_VL_INHERIT != (1 << 17)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define PR_SVE_VL_INHERIT (1 << 17)
#endif

#ifndef XLAT_MACROS_ONLY

# ifdef IN_MPERS

#  error static const struct xlat pr_sve_vl_flags in mpers mode

# else

static
const struct xlat pr_sve_vl_flags[] = {
 XLAT(PR_SVE_SET_VL_ONEXEC),
 XLAT(PR_SVE_VL_INHERIT),
 XLAT_END
};

# endif /* !IN_MPERS */

#endif /* !XLAT_MACROS_ONLY */
