23#include "gdbsupport/tdesc.h"
58 return lhs.
vq == rhs.
vq
76 h = h << 1 | features.pauth;
77 h = h << 1 | features.mte;
80 h = h << 2 | features.tls;
83 gdb_assert (features.svq >= 0);
84 gdb_assert (features.svq <= 16);
85 h = h << 5 | (features.svq & 0x5);
88 h = h << 1 | features.sme2;
140#define AARCH64_TLS_REGISTER_SIZE 8
141#define V_REGISTER_SIZE 16
145#define VA_RANGE_SELECT_BIT_MASK 0x80000000000000ULL
148#define AARCH64_TOP_BITS_MASK 0xff80000000000000ULL
151#define AARCH64_Q0_REGNUM 0
152#define AARCH64_D0_REGNUM (AARCH64_Q0_REGNUM + AARCH64_D_REGISTER_COUNT)
153#define AARCH64_S0_REGNUM (AARCH64_D0_REGNUM + 32)
154#define AARCH64_H0_REGNUM (AARCH64_S0_REGNUM + 32)
155#define AARCH64_B0_REGNUM (AARCH64_H0_REGNUM + 32)
156#define AARCH64_SVE_V0_REGNUM (AARCH64_B0_REGNUM + 32)
158#define AARCH64_PAUTH_DMASK_REGNUM(pauth_reg_base) (pauth_reg_base)
159#define AARCH64_PAUTH_CMASK_REGNUM(pauth_reg_base) (pauth_reg_base + 1)
162#define AARCH64_PAUTH_DMASK_HIGH_REGNUM(pauth_reg_base) (pauth_reg_base + 2)
163#define AARCH64_PAUTH_CMASK_HIGH_REGNUM(pauth_reg_base) (pauth_reg_base + 3)
166#define AARCH64_PAUTH_REGS_SIZE (16)
168#define AARCH64_X_REGS_NUM 31
169#define AARCH64_V_REGS_NUM 32
170#define AARCH64_SVE_Z_REGS_NUM AARCH64_V_REGS_NUM
171#define AARCH64_SVE_P_REGS_NUM 16
172#define AARCH64_NUM_REGS AARCH64_FPCR_REGNUM + 1
173#define AARCH64_SVE_NUM_REGS AARCH64_SVE_VG_REGNUM + 1
184#define sve_vg_from_vl(vl) ((vl) / 8)
185#define sve_vl_from_vg(vg) ((vg) * 8)
186#ifndef sve_vq_from_vl
187#define sve_vq_from_vl(vl) ((vl) / 0x10)
189#ifndef sve_vl_from_vq
190#define sve_vl_from_vq(vq) ((vq) * 0x10)
192#define sve_vq_from_vg(vg) (sve_vq_from_vl (sve_vl_from_vg (vg)))
193#define sve_vg_from_vq(vq) (sve_vg_from_vl (sve_vl_from_vq (vq)))
197#define AARCH64_MAX_SVE_VQ 16
225#define AARCH64_ZA_TILES_NUM 31
227#define AARCH64_SME_MIN_SVL 128
228#define AARCH64_SME_MAX_SVL 2048
231#define AARCH64_SME2_ZT0_SIZE 64
@ AARCH64_STRUCT_RETURN_REGNUM
@ AARCH64_LAST_V_ARG_REGNUM
@ AARCH64_LAST_X_ARG_REGNUM
CORE_ADDR aarch64_remove_top_bits(CORE_ADDR pointer, CORE_ADDR mask)
target_desc * aarch64_create_target_description(const aarch64_features &features)
CORE_ADDR aarch64_mask_from_pac_registers(const CORE_ADDR cmask, const CORE_ADDR dmask)
bool operator==(const aarch64_features &lhs, const aarch64_features &rhs)
std::size_t operator()(const aarch64_features &features) const noexcept