Feature names in A-profile architecture

2022 Architecture Extensions

Feature Name Short description
FEAT_ABLE Address Breakpoint Linking Extension
FEAT_ADERR Asynchronous Device error exceptions
FEAT_AIE Memory Attribute Index Enhancement
FEAT_ANERR Asynchronous Normal error exception
FEAT_BWE Breakpoint Mismatch and Range Extension
FEAT_CLRBHB Support for Clear Branch History instruction
FEAT_CHK Check Feature Status
FEAT_CSSC Common Short Sequence Compression instructions
FEAT_CSV2_3 Cache Speculation Variant 2 version 3
FEAT_D128 128-bit Translation Tables, 56 bit PA
FEAT_Debugv8p9 Debug v8.9
FEAT_DoubleFault2 Enhancements to the Double Fault Extension
FEAT_EBEP Exception-based Event Profiling
FEAT_ECBHB Exploitative control using branch history information
FEAT_EDHSR Support for EDHSR
FEAT_ETEv1p3 Embedded Trace Extension version 1.3
FEAT_FGT2 Fine-grained traps 2
FEAT_GCS Guarded Control Stack Extension
FEAT_HAFT Hardware managed Access Flag for Table descriptors
FEAT_ITE Instrumentation Extension
FEAT_LRCPC3 Load-Acquire RCpc instructions version 3
FEAT_LSE128 128-bit Atomics
FEAT_LVA3 56-bit VA
FEAT_MEC Memory Encryption Contexts
FEAT_MTE4 Enhanced Memory Tagging Extension
FEAT_MTE_CANONICAL_TAGS Canonical Tag checking for Untagged memory
FEAT_MTE_TAGGED_FAR FAR_ELx on a Tag Check Fault
FEAT_MTE_STORE_ONLY Store-only Tag Checking
FEAT_MTE_NO_ADDRESS_TAGS Memory tagging with Address tagging disabled
FEAT_MTE_ASYM_FAULT Memory tagging asymmetric faults
FEAT_MTE_ASYNC Memory Tagging asynchronous faulting
FEAT_MTE_PERM_S1 Allocation tag access permission
FEAT_PCSRv8p9 Armv8.9 PC Sample-based Profiling Extension
FEAT_S1PIE Permission model enhancements
FEAT_S2PIE Permission model enhancements
FEAT_S1POE Permission model enhancements
FEAT_S2POE Permission model enhancements
FEAT_PFAR Physical Fault Address Registers
FEAT_PMUv3p9 Armv8.9 PMU extensions
FEAT_PMUv3_EDGE PMU event edge detection
FEAT_PMUv3_ICNTR Fixed-function instruction counter
FEAT_PMUv3_SS PMU Snapshot Extension
FEAT_PRFMSLC SLC target support for PRFM instructions
FEAT_RASv2 RAS version 2
FEAT_RASSAv2 RAS version 2 System Architecture
FEAT_RPRFM Support for Range Prefetch Memory instruction
FEAT_SCTLR2 Extension to SCTLR_ELx
FEAT_SEBEP Synchronous Exception-based Event Profiling
FEAT_SME_F16F16 Non-widening half-precision FP16 to FP16 arithmetic for SME2.1
FEAT_SME2 Scalable Matrix Extensions version 2
FEAT_SME2p1 Scalable Matrix Extensions version 2.1
FEAT_SPECRES2 Enhanced speculation restriction instructions
FEAT_SPMU System Performance Monitors Extension
FEAT_SPEv1p4 Statistical Profiling Extension version 1.4
FEAT_SPE_CRR Call Return Branch Records
FEAT_SPE_FDS Data Source Filtering
FEAT_SVE2p1 Scalable Vector Extension version SVE2.1
FEAT_SVE_B16B16 Non-widening BFloat16 to BFloat16 arithmetic for SVE
FEAT_SYSINSTR128 128-bit System instructions
FEAT_SYSREG128 128-bit System registers
FEAT_TCR2 Extension to TCR_ELx
FEAT_THE Translation Hardening Extension
FEAT_TRBE_EXT Trace Buffer external mode
FEAT_TRBE_MPAM Trace Buffer MPAM extension

2021 Architecture Extensions

Feature Name Short description
FEAT_CMOW Control for cache maintenance permission
FEAT_CONSTPACFIELD PAC algorithm enhancement
FEAT_Debugv8p8 Debug v8.8
FEAT_HBC Hinted conditional branches
FEAT_HPMN0 Setting of MDCR_EL2.HPMN to zero
FEAT_NMI Non-Maskable Interrupts
FEAT_GICv3_NMI GIC Non-Maskable Interrupts
FEAT_MOPS Standardization of memory operations
FEAT_PACQARMA3 Pointer authentication - QARMA3 algorithm
FEAT_PMUv3_TH Event counting threshold
FEAT_PMUv3p8 Armv8.8 PMU extensions
FEAT_PMUv3_EXT64 64-bit external interface to the Performance Monitors
FEAT_PMUv3_EXT32 32-bit external interface to the Performance Monitors
FEAT_PMUv3_EXT External interface to the Performance Monitors
FEAT_RNG_TRAP Trapping support for RNDR/RNDRRS
FEAT_SPEv1p3 Statistical Profiling Extension version 1.3
FEAT_TIDCP1 EL0 use of IMPLEMENTATION DEFINED functionality
FEAT_BRBEv1p1 Branch Record Buffer Extension version 1.1

2020 Architecture Extensions

Feature Name Short description
FEAT_AFP Alternate floating-point behavior
FEAT_HCX Support for the HCRX_EL2 register
FEAT_LPA2 Larger physical address for 4KB and 16KB translation granules
FEAT_LS64 Support for 64 byte loads and stores without return
FEAT_LS64_V Support for 64 byte stores with return
FEAT_LS64_ACCDATA Support for 64-byte EL0 stores with return
FEAT_MTE3 MTE Asymmetric Fault Handling
FEAT_PAN3 Support for SCTLR_ELx.EPAN
FEAT_PMUv3p7 Armv8.7 PMU extensions
FEAT_RPRES Increased precision of Reciprocal Estimate and Reciprocal Square Root Estimate
FEAT_RME Realm Management Extension
FEAT_SME_FA64 Full A64 instruction set support in Streaming SVE mode
FEAT_SME_F64F64 Double-precision floating-point outer product instructions
FEAT_SME_I16I64 16-bit to 64-bit integer widening outer product instructions
FEAT_EBF16 AArch64 Extended BFloat16 instructions
FEAT_SPEv1p2 Statistical Profiling Extensions version 1.2
FEAT_WFxT WFE and WFI instructions with timeout
FEAT_XS XS attribute
FEAT_BRBE Branch Record Buffer Extension

Features introduced prior to 2020

Prior to June 2020, features names did not follow the FEAT_ convention. The table below lists old (ARMv8.x-) and new feature (FEAT_) names. Note that some names have been split into two; for example, ARMv8.0-AES is split into AES and PMULL

Old name New name Short description Comments
ARMv8.0-AdvSIMD FEAT_AdvSIMD Advanced SIMD Extension
ARMv8.0-AES FEAT_AES Advanced SIMD AES instructions
ARMv8.0-AES FEAT_PMULL Advanced SIMD PMULL instructions ARMv8.0-AES is split into AES and PMULL
ARMv8.0-CP15SDISABLE2 FEAT_CP15SDISABLE2 CP15DISABLE2
ARMv8.0-CSV2 FEAT_CSV2 Cache Speculation Variant 2
- FEAT_CSV2_1p1 Cache Speculation Variant 2 version 1.1
- FEAT_CSV2_1p2 Cache Speculation Variant 2 version 1.2
ARMv8.0-CSV2_2 FEAT_CSV2 Cache Speculation Variant 2 version 2.1
ARMv8.0-CSV3 FEAT_CSV3 Cache Speculation Variant 3
ARMv8.0-DGH FEAT_DGH Data Gathering Hint
ARMv8.0-DoubleLock FEAT_DoubleLock Double Lock
FEAT_ETS2 Enhanced Translation Synchronization
ARMv8.0-FP FEAT_FP Floating Point Extensions
- FEAT_IVIPT The IVIPT Extension
ARMv8.0-PCSample FEAT_PCSRv8 PC Sample-based Profiling extension
ARMv8.0-PredInv FEAT_SPECRES Speculation restriction instructions
RAS FEAT_RAS Reliability, Availability, and Serviceability (RAS) Extension
ARMv8.0-SB FEAT_SB Speculation Barrier
ARMv8.0-SHA FEAT_SHA1 Advanced SIMD SHA1 instructions
ARMv8.0-SHA FEAT_SHA256 Advanced SIMD SHA256 instructions Split ARMv8.2-SHA into SHA-256, SHA-512 and SHA-3
ARMv8.0-SSBS FEAT_SSBS Speculative Store Bypass Safe ARMv8.0-SSBS is split into SSBS and SSBS2
ARMv8.0-SSBS FEAT_SSBS2 MRS and MSR instructions for SSBS version 2 ARMv8.0-SSBS is split into SSBS and SSBS2
- FEAT_CRC32 CRC32 instructions
- FEAT_nTLBPA Intermediate caching of translation table walks
ARMv8.1-Debug FEAT_Debugv8p1 Debug with VHE
ARMv8.1-HPD FEAT_HPDS Hierarchical permission disables in translation tables
ARMv8.1-LOR FEAT_LOR Limited ordering regions
ARMv8.1-LSE FEAT_LSE Large System Extensions
ARMv8.1-PAN FEAT_PAN Privileged access never
ARMv8.1-PMU FEAT_PMUv3p1 Armv8.1 PMU extensions
ARMv8.1-RDMA FEAT_RDM Advanced SIMD rounding double multiply accumulate instructions
ARMv8.1-TTHM FEAT_HAFDBS Hardware management of the Access flag and dirty state
ARMv8.1-VHE FEAT_VHE Virtualization Host Extensions
ARMv8.1-VMID16 FEAT_VMID16 16-bit VMID
ARMv8.2-AA32BF16 FEAT_AA32BF16 AArch32 BFloat16 instructions
ARMv8.2-AA32HPD FEAT_AA32HPD AArch32 Hierarchical permission disables
ARMv8.2-AA32I8MM FEAT_AA32I8MM AArch32 Int8 matrix multiplication instructions
ARMv8.2-ATS1E1 FEAT_PAN2 AT S1E1R and AT S1E1W instruction variants affected by PSTATE.PAN
ARMv8.2-BF16 FEAT_BF16 AARch64 BFloat16 instructions
ARMv8.2-DCCVADP FEAT_DPB2 DC CVADP instruction
ARMv8.2-DCPoP FEAT_DPB DC CVAP instruction
ARMv8.2-Debug FEAT_Debugv8p2 Debug v8.2
ARMv8.2-DotProd FEAT_DotProd Advanced SIMD dot product instructions
ARMv8.2-EVT FEAT_EVT Enhanced Virtualization Traps
ARMv8.2-F32MM FEAT_F32MM Single-precision Matrix Multiplication
ARMv8.2-F64MM FEAT_F64MM Single-precision Matrix Multiplication
ARMv8.2-FHM FEAT_FHM Floating-point half-precision multiplication instructions
ARMv8.2-FP16 FEAT_FP16 Half-precision floating-point data processing
ARMv8.2-I8MM FEAT_I8MM AArch64 Int8 matrix multiplication instructions
ARMv8.2-IESB FEAT_IESB Implicit Error Synchronization event
ARMv8.2-LPA FEAT_LPA Large PA and IPA support
ARMv8.2-LSMAOC FEAT_LSMAOC AArch32 Load/Store Multiple instruction atomicity and ordering controls
ARMv8.2-LVA FEAT_LVA Large VA support
MPAM FEAT_MPAM Memory Partioning and Monitoring Extension
ARMv8.2-PCSample FEAT_PCSRv8p2 PC Sample-based Profiling Extension
ARMv8.2-SHA FEAT_SHA3 Advanced SIMD SHA3 instructions Split ARMv8.2-SHA into SHA-256, SHA-512 and SHA-3
ARMv8.2-SHA FEAT_SHA512 Advanced SIMD SHA512 instructions Split ARMv8.2-SHA into SHA-256, SHA-512 and SHA-3
ARMv8.2-SM FEAT_SM3 Advanced SIMD SM3 instructions Split into SM3 and SM4
ARMv8.2-SM FEAT_SM4 Advanced SIMD SM4 instructions Split into SM3 and SM4
SPE FEAT_SPE Statistical Profiling Extension
SVE FEAT_SVE Scalable Vector Extension
ARMv8.2-TTCNP FEAT_TTCNP Translation table Common not private translations
ARMv8.2-TTPBHA FEAT_HPDS2 Hierarchical permission disables
ARMv8.2-TTS2UXN FEAT_XNX Translation table stage 2 Unprivileged Execute-never
ARMv8.2-UAO FEAT_UAO Unprivileged Access Override control
ARMv8.2-VPIPT FEAT_VPIPT VMID-aware PIPT instruction cache
ARMv8.3-CCIDX FEAT_CCIDX Extended cache index
ARMv8.3-CompNum FEAT_FCMA Floating-point complex number instructions
ARMv8.3-DoPD FEAT_DoPD Debug over Powerdown
- FEAT_EPAC Enhanced pointer authentication
ARMv8.3-FPAC FEAT_FPAC Faulting on AUT* instructions
- FEAT_FPACCOMBINE Faulting on combined pointer authentication instructions
ARMv8.3-JSConv FEAT_JSCVT JavaScript conversion instructions
ARMv8.3-RCpc FEAT_LRCPC Load-Acquire RCpc instructions
ARMv8.3-NV FEAT_NV Nested virtualization
- FEAT_PACQARMA5 Pointer authentication - QARMA5 algorithm
- FEAT_PACIMP Pointer authentication - IMPLEMENTATION DEFINED algorithm
ARMv8.3-TPAuth FEAT_PAuth Pointer authentication
ARMv8.3-PAuth2 FEAT_PAuth2 Enhancements to pointer authentication
ARMv8.3-SPE FEAT_SPEv1p1 Statistical Profiling Extensions version 1.1
AMUv1 FEAT_AMUv1 Activity Monitors Extension version 1
ARMv8.4-CNTSC FEAT_CNTSC Generic Counter Scaling
ARMv8.4-Debug FEAT_Debugv8p4 Debug v8.4
ARMv8.4-DFE FEAT_DoubleFault Double Fault Extension
ARMv8.4-DIT FEAT_DIT Data Independent Timing instructions
ARMv8.4-CondM FEAT_FlagM Condition flag manipulation instructions
ARMv8.4-IDST FEAT_IDST ID space trap handling
ARMv8.4-RCpc FEAT_LRCPC2 Load-Acquire RCpc instructions version 2
ARMv8.4-LSE FEAT_LSE2 Large System Extensions version 2
ARMv8.4-NV FEAT_NV2 Enhanced nested virtualization support
ARMv8.4-PMU FEAT_PMUv3p4 Armv8.4 PMU Extensions
ARMv8.4-RAS FEAT_RASv1p1 RAS Extension v1.1
FEAT_RASSAv1p1 RAS Extension v1.1 System Architecture
ARMv8.4-S2FWB FEAT_S2FWB Stage 2 forced Write-Back
ARMv8.4-SecEL2 FEAT_SEL2 Secure EL2
ARMv8.4-TLBI FEAT_TLBIOS TLB invalidate instructions in Outer Shareable domain Split into TLBIOS and TLBIRANGE
ARMv8.4-TLBI FEAT_TLBIRANGE TLB invalidate range instructions Split into TLBIOS and TLBIRANGE
ARMv8.4-Trace FEAT_TRF Self-hosted Trace Extensions
ARMv8.4-TTL FEAT_TTL Translation Table Level
ARMv8.4-TTRem FEAT_BBM Translation table break-before-make levels
ARMv8.4-TTST FEAT_TTST Small translation tables
ARMv8.5-BTI FEAT_BTI Branch Target Identification
ARMv8.5-CondM FEAT_FlagM2 Enhancements to flag manipulation instructions
ARMv8.5-CSEH FEAT_ExS Context synchronization and exception handling
ARMv8.5-E0PD FEAT_E0PD Preventing EL0 access to halves of address maps
ARMv8.5-FRINT FEAT_FRINTTS Floating-point to integer instructions
ARMv8.5-GTG FEAT_GTG Guest translation granule size
ARMv8.5-MemTag FEAT_MTE Instruction-only Memory Tagging Extension
ARMv8.5-MemTag FEAT_MTE2 Memory Tagging Extension version 2
ARMv8.5-PMU FEAT_PMUv3p5 Armv8.5 PMU Extensions
ARMv8.5-RNG FEAT_RNG Random number generator
ARMv8.6-AMU FEAT_AMUv1p1 AMU Extensions version 1.1
ARMv8.6-ECV FEAT_ECV Enhanced Counter Virtualization
ARMv8.6-FGT FEAT_FGT Fine Grain Traps
ARMv8.6-MPAM FEAT_MPAMv0p1 Memory Partitioning and Monitoring version 0.1
ARMv8.6-MPAM FEAT_MPAMv1p1 Memory Partitioning and Monitoring version1.1
ARMv8.6-MTPMU FEAT_MTPMU Multi-threaded PMU Extensions
ARMv8.6-TWED FEAT_TWED Delayed Trapping of WFE
ETMv4 FEAT_ETMv4 Embedded Trace Macrocell version 4
ETMv4.1 FEAT_ETMv4p1 Embedded Trace Macrocell version 4.1
ETMv4.2 FEAT_ETMv4p2 Embedded Trace Macrocell version 4.2
ETMv4.3 FEAT_ETMv4p3 Embedded Trace Macrocell version 4.3
ETMv4.4 FEAT_ETMv4p4 Embedded Trace Macrocell version 4.4
ETMv4.5 FEAT_ETMv4p5 Embedded Trace Macrocell version 4.5
ETMv4.6 FEAT_ETMv4p6 Embedded Trace Macrocell version 4.6
GICv3 FEAT_GICv3 Generic Interrupt Controller version 3
GICv3.1 FEAT_GICv3p1 Generic Interrupt Controller version 3.1
- FEAT_GICv3_TDIR Trapping Non-secure EL1 writes to ICV_DIR
GICv4 FEAT_GICv4 Generic Interrupt Controller version 4
GICv4.1 FEAT_GICv4p1 Generic Interrupt Controller version 4.1
PMUv3 FEAT_PMUv3 PMU extension version 3
ETE FEAT_ETE Embedded Trace Extension
ETEv1.1 FEAT_ETEv1p1 Embedded Trace Extension, version 1.1
ETEv1.2 FEAT_ETEv1p2 Embedded Trace Extension, version 1.2
SVE2 FEAT_SVE2 Scalable Vector Extension version 2
SVE2-AES FEAT_SVE_AES Scalable Vector AES instructions
SVE2-AES FEAT_SVE_PMULL128 Scalable Vector PMULL instructions SVE2-AES is split into AES and PMULL support
SVE2-BitPerm FEAT_SVE_BitPerm Scalable Vector Bit Permutes instructions
SVE2-SHA3 FEAT_SVE_SHA3 Scalable Vector SHA3 instructions
SVE2-SM4 FEAT_SVE_SM4 Scalable Vector SM4 instructions
TME FEAT_TME Transactional Memory Extension
TRBE FEAT_TRBE Trace Buffer Extension
- FEAT_SME Scalable Matrix Extension