This file contains a list of all A-profile feature names. From June 2020, the feature names have all been changed to standard format.
The table below lists old and new feature 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 | ||
ARMv8.0-CSV3 | FEAT_CSV3 | Cache Speculation Variant 3 | ||
ARMv8.0-DGH | FEAT_DGH | Data Gathering Hint | ||
ARMv8.0-DoubleLock | FEAT_DoubleLock | Double Lock | ||
ARMv8.0-ETS | FEAT_ETS | Enhanced Translation Synchronization | ||
ARMv8.0-FP | FEAT_FP | Floating point extension | ||
- | FEAT_IVIPT | The IVIPT Extension | ||
ARMv8.0-PCSample | FEAT_PCSRv8 | PC Sample-base Profiling extension (not EL3 and EL2) | ||
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 Instruction | ARMv8.0-SSBS is split into SSBS and SSBS2 | |
ARMv8.0-SSBS | FEAT_SSBS2 | MRS and MSR instructions for SSBS | ARMv8.0-SSBS is split into SSBS and SSBS2 | |
- | FEAT_CRC32 | CRC32 instructions | ||
- | FEAT_nTLBPA | No intermediate caching by output address in TLB | ||
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 | PMU extensions version 3.1 | ||
ARMv8.1-RDMA | FEAT_RDM | Rounding double multiply accumulate | ||
ARMv8.1-TTHM | FEAT_HAFDBS | Hardware updates to access flag and dirty state in translation tables | ||
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 | ||
ARMv8.2-ATS1E1 | FEAT_PAN2 | AT S1E1R and AT S1E1W instruction variants for 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 | ARMv8.2 Debug | ||
ARMv8.2-DotProd | FEAT_DotProd2 | Advanced SIMD Int8 dot product instructions | ||
ARMv8.2-EVT | FEAT_EVT | Enhanced Virtualization Traps | ||
ARMv8.2-F32MM | FEAT_F32MM | SVE single-precision floating-point matrix multiply instruction | ||
ARMv8.2-F64MM | FEAT_F64MM | SVE double-precision floating-point matrix multiply instruction | ||
ARMv8.2-FHM | FEAT_FHM | Half-precision floating-point FMLAL instructions | ||
ARMv8.2-FP16 | FEAT_FP16 | Half-precision floating-point data processing | ||
ARMv8.2-I8MM | FEAT_I8MM | Int8 Matrix Multiplication | ||
ARMv8.2-IESB | FEAT_IESB | Implicit Error synchronization event | ||
ARMv8.2-LPA | FEAT_LPA | Large PA and IPA support | ||
ARMv8.2-LSMAOC | FEAT_LSMAOC | Load/Store instruction multiple atomicity and ordering controls | ||
ARMv8.2-LVA | FEAT_LVA | Large VA support | ||
MPAM | FEAT_MPAM | Memory Partitioning and Monitoring | ||
ARMv8.2-PCSample | FEAT_PCSRv8p2 | PC Sample-based profiling version 8.2 | ||
ARMv8.2-SHA | FEAT_SHA3 | Advanced SIMD EOR3, RAX1, XAR, and BCAX 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 | Common not private translations | ||
ARMv8.2-TTPBHA | FEAT_HPDS2 | Heirarchical permission disables in translation tables 2 | ||
ARMv8.2-TTS2UXN | FEAT_XNX | Execute-never control distinction by Exception level at stage 2 | ||
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 FCMLA and FCADD instructions | ||
ARMv8.3-DoPD | FEAT_DoPD | Debug over Powerdown | ||
- | FEAT_EPAC | Enhanced Pointer authentication | ||
ARMv8.3-FPAC | FEAT_FPAC | Faulting on pointer authentication instructions | ||
- | FEAT_FPACCOMBINE | Faulting on combined pointer authentication instructions | ||
ARMv8.3-JSConv | FEAT_JSCVT | JavaScript FJCVTS conversion instruction | ||
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 | ||
ARMv8.4-CNTSC | FEAT_CNTSC | Generic Counter Scaling | ||
ARMv8.4-Debug | FEAT_Debugv8p4 | Debug relaxations and extensions version 8.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 | ||
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 support for nested virtualization | ||
ARMv8.4-PMU | FEAT_PMUv3p4 | PMU extension version 3.4 | ||
ARMv8.4-RAS | FEAT_RASv1p1 | Reliability, Availability, and Serviceability (RAS) Extension version 1.1 | ||
ARMv8.4-S2FWB | FEAT_S2FWB | Stage 2 forced write-back | ||
ARMv8.4-SecEL2 | FEAT_SEL2 | Secure EL2 | ||
ARMv8.4-TLBI | FEAT_TLBIOS | TLB invalidate outer-shared instructions | Split into TLBIOS and TLBIRANGE | |
ARMv8.4-TLBI | FEAT_TLBIRANGE | TLB range 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 | Condition flag manipulation version 2 | ||
ARMv8.5-CSEH | FEAT_ExS | Disabling context synchronizing exception entry and exit | ||
ARMv8.5-E0PD | FEAT_E0PD | Preventing EL0 access to halves of address maps | ||
ARMv8.5-FRINT | FEAT_FRINTTS | FRINT32Z, FRINT32X, FRINT64Z, and FRINT64X 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 | Full Memory Tagging Extension | ||
ARMv8.5-PMU | FEAT_PMUv3p5 | PMU Extension version 3.5 | ||
ARMv8.5-RNG | FEAT_RNG | Random number generator | ||
ARMv8.6-AMU | FEAT_AMUv1p1 | Activity Monitors Extension 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 version4 | ||
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.3 | ||
ETMv4.5 | FEAT_ETMv4p5 | Embedded Trace Macrocell version 4.4 | ||
ETMv4.6 | FEAT_ETMv4p6 | Embedded Trace Macrocell version 4.5 | ||
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 | ||
SVE2 | FEAT_SVE2 | SVE version 2 | ||
SVE2-AES | FEAT_SVE_AES | SVE AES instructions | ||
SVE2-AES | FEAT_SVE_PMULL128 | SVE PMULL instructions | SVE2-AES is split into AES and PMULL support | |
SVE2-BitPerm | FEAT_SVE_BitPerm | SVE Bit Permute | ||
SVE2-SHA3 | FEAT_SVE_SHA3 | SVE SHA-3 instructions | ||
SVE2-SM4 | FEAT_SVE_SM4 | SVE SM4 instructions | ||
TME | FEAT_TME | Transactional Memory Extension | ||
TRBE | FEAT_TRBE | Trace Buffer Extension | ||
- | FEAT_SME | Scalable Matrix Extension |
Features introduced by the 2020 Architecture Extensions follow the FEAT_ convention and do not have an equivalent old feature name.
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/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_SPEv1p2 | Armv8.7 SPE |
FEAT_WFxT | WFE and WFI instructions with timeout |
FEAT_WFxT2 | WFE and WFI instructions with timeout version 2 |
FEAT_XS | XS attribute |
FEAT_BRBE | Branch Record Buffer 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, FEAT_GICv3_NMI | 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_RNG_TRAP | Trapping support for RNDR and RNDRRS |
FEAT_SPEv1p3 | Armv8.8 Statistical Profiling Extensions |
FEAT_TIDCP1 | EL0 use of IMPLEMENTATION DEFINED functionality |
FEAT_BRBEv1p1 | Branch Record Buffer Extensions version 1.1 |