- int have_neon_pseudos; /* Are we synthesizing the quad precision
- NEON registers? Requires
- have_vfp_pseudos. */
- int have_neon; /* Do we have a NEON unit? */
-
- int is_m; /* Does the target follow the "M" profile. */
- CORE_ADDR lowest_pc; /* Lowest address at which instructions
+ int s_pseudo_base = 0; /* Register number for the first S pseudo
+ register. */
+ int s_pseudo_count = 0; /* Number of S pseudo registers. */
+ bool have_q_pseudos = false; /* Are we synthesizing the quad precision
+ Q (NEON or MVE) registers? Requires
+ have_s_pseudos. */
+ int q_pseudo_base = 0; /* Register number for the first quad
+ precision pseudo register. */
+ int q_pseudo_count = 0; /* Number of quad precision pseudo
+ registers. */
+ bool have_neon = false; /* Do we have a NEON unit? */
+
+ bool have_mve = false; /* Do we have a MVE extension? */
+ int mve_vpr_regnum = 0; /* MVE VPR register number. */
+ int mve_pseudo_base = 0; /* Number of the first MVE pseudo register. */
+ int mve_pseudo_count = 0; /* Total number of MVE pseudo registers. */
+
+ bool have_pacbti = false; /* True if we have the ARMv8.1-m PACBTI
+ extensions. */
+ int pacbti_pseudo_base = 0; /* Number of the first PACBTI pseudo
+ register. */
+ int pacbti_pseudo_count = 0; /* Total number of PACBTI pseudo registers. */
+
+ int m_profile_msp_regnum = ARM_SP_REGNUM; /* M-profile MSP register number. */
+ int m_profile_psp_regnum = ARM_SP_REGNUM; /* M-profile PSP register number. */
+
+ /* Secure and Non-secure stack pointers with security extension. */
+ int m_profile_msp_ns_regnum = ARM_SP_REGNUM; /* M-profile MSP_NS register number. */
+ int m_profile_psp_ns_regnum = ARM_SP_REGNUM; /* M-profile PSP_NS register number. */
+ int m_profile_msp_s_regnum = ARM_SP_REGNUM; /* M-profile MSP_S register number. */
+ int m_profile_psp_s_regnum = ARM_SP_REGNUM; /* M-profile PSP_S register number. */
+
+ int tls_regnum = 0; /* Number of the tpidruro register. */
+
+ bool is_m = false; /* Does the target follow the "M" profile. */
+ bool have_sec_ext = false; /* Do we have security extensions? */
+ CORE_ADDR lowest_pc = 0; /* Lowest address at which instructions