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 |
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 |
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 |
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 |