Feature names in A-profile architecture

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 nameNew nameShort descriptionComments
ARMv8.0-AdvSIMDFEAT_AdvSIMDAdvanced SIMD Extension
ARMv8.0-AESFEAT_AESAdvanced SIMD AES instructions
ARMv8.0-AESFEAT_PMULLAdvanced SIMD PMULL instructionsARMv8.0-AES is split into AES and PMULL
ARMv8.0-CP15SDISABLE2FEAT_CP15SDISABLE2CP15DISABLE2
ARMv8.0-CSV2FEAT_CSV2Cache Speculation Variant 2
ARMv8.0-CSV3FEAT_CSV3Cache Speculation Variant 3
ARMv8.0-DGHFEAT_DGHData Gathering Hint
ARMv8.0-DoubleLockFEAT_DoubleLockDouble Lock
ARMv8.0-ETSFEAT_ETSEnhanced Translation Synchronization
ARMv8.0-FPFEAT_FPFloating point extension
ARMv8.0-PCSampleFEAT_PCSRv8PC Sample-base Profiling extension (not EL3 and EL2)
ARMv8.0-PredInvFEAT_SPECRESSpeculation restriction instructions
RASFEAT_RASReliability, Availability, and Serviceability (RAS) Extension
ARMv8.0-SBFEAT_SBSpeculation barrier
ARMv8.0-SHAFEAT_SHA1Advanced SIMD SHA1 instructions
ARMv8.0-SHAFEAT_SHA256Advanced SIMD SHA256 instructionsSplit ARMv8.2-SHA into SHA-256, SHA-512 and SHA-3
ARMv8.0-SSBSFEAT_SSBSSpeculative Store Bypass Safe InstructionARMv8.0-SSBS is split into SSBS and SSBS2
ARMv8.0-SSBSFEAT_SSBS2MRS and MSR instructions for SSBSARMv8.0-SSBS is split into SSBS and SSBS2
FEAT_CRC32CRC32 instructions
ARMv8.1-DebugFEAT_Debugv8p1Debug with VHE
ARMv8.1-HPDFEAT_HPDSHierarchical permission disables in translation tables
ARMv8.1-LORFEAT_LORLimited ordering regions
ARMv8.1-LSEFEAT_LSELarge System Extensions
ARMv8.1-PANFEAT_PANPrivileged access-never
ARMv8.1-PMUFEAT_PMUv3p1PMU extensions version 3.1
ARMv8.1-RDMAFEAT_RDMRounding double multiply accumulate
ARMv8.1-TTHMFEAT_HAFDBSHardware updates to access flag and dirty state in translation tables
ARMv8.1-VHEFEAT_VHEVirtualization Host Extensions
ARMv8.1-VMID16FEAT_VMID1616-bit VMID
ARMv8.2-AA32BF16FEAT_AA32BF16AArch32 BFloat16 instructions
ARMv8.2-AA32HPDFEAT_AA32HPDAArch32 Hierarchical permission disables
ARMv8.2-AA32I8MMFEAT_AA32I8MMAArch32 Int8 Matrix Multiplication
ARMv8.2-ATS1E1FEAT_PAN2AT S1E1R and AT S1E1W instruction variants for PAN
ARMv8.2-BF16FEAT_BF16AARch64 BFloat16 instructions
ARMv8.2-DCCVADPFEAT_DPB2DC CVADP instruction
ARMv8.2-DCPoPFEAT_DPBDC CVAP instruction
ARMv8.2-DebugFEAT_Debugv8p2ARMv8.2 Debug
ARMv8.2-DotProdFEAT_DotProd2Advanced SIMD Int8 dot product instructions
ARMv8.2-EVTFEAT_EVTEnhanced Virtualization Traps
ARMv8.2-F32MMFEAT_F32MMSVE single-precision floating-point matrix multiply instruction
ARMv8.2-F64MMFEAT_F64MMSVE double-precision floating-point matrix multiply instruction
ARMv8.2-FHMFEAT_FHMHalf-precision floating-point FMLAL instructions
ARMv8.2-FP16FEAT_FP16Half-precision floating-point data processing
ARMv8.2-I8MMFEAT_I8MMInt8 Matrix Multiplication
ARMv8.2-IESBFEAT_IESBImplicit Error synchronization event
ARMv8.2-LPAFEAT_LPALarge PA and IPA support
ARMv8.2-LSMAOCFEAT_LSMAOCLoad/Store instruction multiple atomicity and ordering controls
ARMv8.2-LVAFEAT_LVALarge VA support
MPAMFEAT_MPAMMemory Partitioning and Monitoring
ARMv8.2-PCSampleFEAT_PCSRv8p2PC Sample-based profiling version 8.2
ARMv8.2-SHAFEAT_SHA3Advanced SIMD EOR3, RAX1, XAR, and BCAX instructionsSplit ARMv8.2-SHA into SHA-256, SHA-512 and SHA-3
ARMv8.2-SHAFEAT_SHA512Advanced SIMD SHA512 instructionsSplit ARMv8.2-SHA into SHA-256, SHA-512 and SHA-3
ARMv8.2-SMFEAT_SM3Advanced SIMD SM3 instructionsSplit into SM3 and SM4
ARMv8.2-SMFEAT_SM4Advanced SIMD SM4 instructionsSplit into SM3 and SM4
SPEFEAT_SPEStatistical Profiling Extension
SVEFEAT_SVEScalable Vector Extension
ARMv8.2-TTCNPFEAT_TTCNPCommon not private translations
ARMv8.2-TTPBHAFEAT_HPDS2Heirarchical permission disables in translation tables 2
ARMv8.2-TTS2UXNFEAT_XNXExecute-never control distinction by Exception level at stage 2
ARMv8.2-UAOFEAT_UAOUnprivileged Access Override control
ARMv8.2-VPIPTFEAT_VPIPTVMID-aware PIPT instruction cache
ARMv8.3-CCIDXFEAT_CCIDXExtended cache index
ARMv8.3-CompNumFEAT_FCMAFloating-point FCMLA and FCADD instructions
ARMv8.3-DoPDFEAT_DoPDDebug over Powerdown
ARMv8.3-FPACFEAT_FPACFaulting on pointer authentication instructions
ARMv8.3-JSConvFEAT_JSCVTJavaScript FJCVTS conversion instruction
ARMv8.3-NVFEAT_NVNested virtualization
ARMv8.3-PAuthFEAT_PAuthPointer authentication
ARMv8.3-PAuth2FEAT_PAuth2Pointer authentication version 2
ARMv8.3-RCpcFEAT_LRCPCLoad-acquire RCpc instructions
AMUv1FEAT_AMUv1Activity Monitors Extension
ARMv8.4-CNTSCFEAT_CNTSCGeneric Counter Scaling
ARMv8.4-CondMFEAT_FlagMCondition flag manipulation
ARMv8.4-DebugFEAT_Debugv8p4Debug relaxations and extensions version 8.4
ARMv8.4-DFEFEAT_DoubleFaultDouble Fault Extension
ARMv8.4-DITFEAT_DITData Independent Timing instructions
ARMv8.4-IDSTFEAT_IDSTID space trap handling
ARMv8.4-LSEFEAT_LSE2Large System Extensions version 2
ARMv8.4-NVFEAT_NV2Enhanced support for nested virtualization
ARMv8.4-PMUFEAT_PMUv3p4PMU extension version 3.4
ARMv8.4-RASFEAT_RASv1p1Reliability, Availability, and Serviceability (RAS) Extension version 1.1
ARMv8.4-RCpcFEAT_LRCPC2Load-acquire RCpc instructions version 2
ARMv8.4-S2FWBFEAT_S2FWBStage 2 forced write-back
ARMv8.4-SecEL2FEAT_SEL2Secure EL2
ARMv8.3-SPEFEAT_SPEv1p1Statistical Profiling Extensions version 1.1
ARMv8.4-TLBIFEAT_TLBIOSTLB invalidate outer-shared instructionsSplit into TLBIOS and TLBIRANGE
ARMv8.4-TLBIFEAT_TLBIRANGETLB range invalidate range instructionsSplit into TLBIOS and TLBIRANGE
ARMv8.4-TraceFEAT_TRFSelf hosted Trace Extensions
ARMv8.4-TTLFEAT_TTLTranslation Table Level
ARMv8.4-TTRemFEAT_BBMTranslation table break before make levels
ARMv8.4-TTSTFEAT_TTSTSmall translation tables
ARMv8.5-BTIFEAT_BTIBranch target identification
ARMv8.5-CondMFEAT_FlagM2Condition flag manipulation version 2
ARMv8.5-CSEHFEAT_ExSDisabling context synchronizing exception entry and exit
ARMv8.5-E0PDFEAT_E0PDPreventing EL0 access to halves of address maps
ARMv8.5-FRINTFEAT_FRINTTSFRINT32Z, FRINT32X, FRINT64Z, and FRINT64X instructions
ARMv8.5-GTGFEAT_GTGGuest translation granule size
ARMv8.5-MemTagFEAT_MTEInstruction-only Memory Tagging Extension
ARMv8.5-MemTagFEAT_MTE2Full Memory Tagging Extension
ARMv8.5-PMUFEAT_PMUv3p5PMU Extension version 3.5
ARMv8.5-RNGFEAT_RNGRandom number generator
ARMv8.6-AMUFEAT_AMUv1p1Activity Monitors Extension version 1.1
ARMv8.6-ECVFEAT_ECVEnhanced counter virtualization
ARMv8.6-FGTFEAT_FGTFine Grain Traps
ARMv8.6-MPAMFEAT_MPAMv0p1Memory Partitioning and Monitoring version 0.1
ARMv8.6-MPAMFEAT_MPAMv1p1Memory Partitioning and Monitoring version1.1
ARMv8.6-MTPMUFEAT_MTPMUMulti-threaded PMU Extensions
ARMv8.6-TWEDFEAT_TWEDDelayed trapping of WFE
ETMv4FEAT_ETMv4Embedded Trace Macrocell version4
ETMv4.1FEAT_ETMv4p1Embedded Trace Macrocell version 4.1
ETMv4.2FEAT_ETMv4p2Embedded Trace Macrocell version 4.2
ETMv4.3FEAT_ETMv4p3Embedded Trace Macrocell version 4.3
ETMv4.4FEAT_ETMv4p4Embedded Trace Macrocell version 4.3
ETMv4.5FEAT_ETMv4p5Embedded Trace Macrocell version 4.4
ETMv4.6FEAT_ETMv4p6Embedded Trace Macrocell version 4.5
GICv3FEAT_GICv3Generic Interrupt Controller version 3
GICv3.1FEAT_GICv3p1Generic Interrupt Controller version 3.1
GICv4FEAT_GICv4Generic Interrupt Controller version 4
GICv4.1FEAT_GICv4p1Generic Interrupt Controller version 4.1
PMUv3FEAT_PMUv3PMU extension version 3
ETEFEAT_ETEFAT - Embedded Trace Extension
ETEv1.1FEAT_ETEv1p1FAT - Embedded Trace Extension, version 1.1
SVE2FEAT_SVE2FAT - SVE version 2
SVE2-AESFEAT_SVE_AESFAT - SVE AES instructions
SVE2-AESFEAT_SVE_PMULLFAT - SVE PMULL instructionsSVE2-AES is split into AES and PMULL support
SVE2-BitPermFEAT_SVE_BitPermFAT - SVE Bit Permute
SVE2-SHA3FEAT_SVE_SHA3FAT - SVE SHA-3 instructions
SVE2-SM4FEAT_SVE_SM4FAT - SVE SM4 instructions
TMEFEAT_TMEFAT - Transactional Memory Extension
TRBEFEAT_TRBEFAT - Trace Buffer Extension

2020 Architecture Extensions

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_SPEv1p2 Armv8.7 SPE
FEAT_WFxT WFE and WFI instructions with timeout
FEAT_XS XS attribute
FEAT_BRBE Branch Record Buffer Extensions
FEAT_CSRE Call Stack Recorder Extensions