Module target_features::docs::aarch64
source · Expand description
aarch64 documentation
§Features
Feature | Description | Also Enables† |
---|---|---|
aes | Enable AES support (FEAT_AES, FEAT_PMULL). | neon |
bf16 | Enable BFloat16 Extension (FEAT_BF16). | |
bti | Enable Branch Target Identification (FEAT_BTI). | |
crc | Enable ARMv8 CRC-32 checksum instructions (FEAT_CRC32). | |
dit | Enable v8.4-A Data Independent Timing instructions (FEAT_DIT). | |
dotprod | Enable dot product support (FEAT_DotProd). | |
dpb | Enable v8.2 data Cache Clean to Point of Persistence (FEAT_DPB). | |
dpb2 | Enable v8.5 Cache Clean to Point of Deep Persistence (FEAT_DPB2). | |
f32mm | Enable Matrix Multiply FP32 Extension (FEAT_F32MM). | fp16 , neon , sve |
f64mm | Enable Matrix Multiply FP64 Extension (FEAT_F64MM). | fp16 , neon , sve |
fcma | Enable v8.3-A Floating-point complex number support (FEAT_FCMA). | neon |
fhm | Enable FP16 FML instructions (FEAT_FHM). | fp16 , neon |
flagm | Enable v8.4-A Flag Manipulation Instructions (FEAT_FlagM). | |
fp16 | Full FP16 (FEAT_FP16). | neon |
frintts | Enable FRInt[32 | 64][Z |
i8mm | Enable Matrix Multiply Int8 Extension (FEAT_I8MM). | |
jsconv | Enable v8.3-A JavaScript FP conversion instructions (FEAT_JSCVT). | neon |
lor | Enables ARM v8.1 Limited Ordering Regions extension (FEAT_LOR). | |
lse | Enable ARMv8.1 Large System Extension (LSE) atomic instructions (FEAT_LSE). | |
mte | Enable Memory Tagging Extension (FEAT_MTE, FEAT_MTE2). | |
neon | Enable Advanced SIMD instructions (FEAT_AdvSIMD). | |
paca | Enable v8.3-A Pointer Authentication extension (FEAT_PAuth). | pacg |
pacg | Enable v8.3-A Pointer Authentication extension (FEAT_PAuth). | paca |
pan | Enables ARM v8.1 Privileged Access-Never extension (FEAT_PAN). | |
pmuv3 | Enable Code Generation for ARMv8 PMUv3 Performance Monitors extension (FEAT_PMUv3). | |
rand | Enable Random Number generation instructions (FEAT_RNG). | |
ras | Enable ARMv8 Reliability, Availability and Serviceability Extensions (FEAT_RAS, FEAT_RASv1p1). | |
rcpc | Enable support for RCPC extension (FEAT_LRCPC). | |
rcpc2 | Enable v8.4-A RCPC instructions with Immediate Offsets (FEAT_LRCPC2). | rcpc |
rdm | Enable ARMv8.1 Rounding Double Multiply Add/Subtract instructions (FEAT_RDM). | |
sb | Enable v8.5 Speculation Barrier (FEAT_SB). | |
sha2 | Enable SHA1 and SHA256 support (FEAT_SHA1, FEAT_SHA256). | neon |
sha3 | Enable SHA512 and SHA3 support (FEAT_SHA3, FEAT_SHA512). | neon , sha2 |
sm4 | Enable SM3 and SM4 support (FEAT_SM4, FEAT_SM3). | neon |
spe | Enable Statistical Profiling extension (FEAT_SPE). | |
ssbs | Enable Speculative Store Bypass Safe bit (FEAT_SSBS, FEAT_SSBS2). | |
sve | Enable Scalable Vector Extension (SVE) instructions (FEAT_SVE). | fp16 , neon |
sve2 | Enable Scalable Vector Extension 2 (SVE2) instructions (FEAT_SVE2). | fp16 , neon , sve |
sve2-aes | Enable AES SVE2 instructions (FEAT_SVE_AES, FEAT_SVE_PMULL128). | aes , fp16 , neon , sve , sve2 |
sve2-bitperm | Enable bit permutation SVE2 instructions (FEAT_SVE_BitPerm). | fp16 , neon , sve , sve2 |
sve2-sha3 | Enable SHA3 SVE2 instructions (FEAT_SVE_SHA3). | fp16 , neon , sha2 , sha3 , sve , sve2 |
sve2-sm4 | Enable SM4 SVE2 instructions (FEAT_SVE_SM4). | fp16 , neon , sm4 , sve , sve2 |
tme | Enable Transactional Memory Extension (FEAT_TME). | |
v8.1a | Support ARM v8.1a instructions. | crc , lor , lse , pan , rdm , vh |
v8.2a | Support ARM v8.2a instructions. | crc , dpb , lor , lse , pan , ras , rdm , v8.1a , vh |
v8.3a | Support ARM v8.3a instructions. | crc , dpb , fcma , jsconv , lor , lse , neon , paca , pacg , pan , ras , rcpc , rdm , v8.1a , v8.2a , vh |
v8.4a | Support ARM v8.4a instructions. | crc , dit , dotprod , dpb , fcma , flagm , jsconv , lor , lse , neon , paca , pacg , pan , ras , rcpc , rcpc2 , rdm , v8.1a , v8.2a , v8.3a , vh |
v8.5a | Support ARM v8.5a instructions. | bti , crc , dit , dotprod , dpb , dpb2 , fcma , flagm , frintts , jsconv , lor , lse , neon , paca , pacg , pan , ras , rcpc , rcpc2 , rdm , sb , ssbs , v8.1a , v8.2a , v8.3a , v8.4a , vh |
v8.6a | Support ARM v8.6a instructions. | bf16 , bti , crc , dit , dotprod , dpb , dpb2 , fcma , flagm , frintts , i8mm , jsconv , lor , lse , neon , paca , pacg , pan , ras , rcpc , rcpc2 , rdm , sb , ssbs , v8.1a , v8.2a , v8.3a , v8.4a , v8.5a , vh |
v8.7a | Support ARM v8.7a instructions. | bf16 , bti , crc , dit , dotprod , dpb , dpb2 , fcma , flagm , frintts , i8mm , jsconv , lor , lse , neon , paca , pacg , pan , ras , rcpc , rcpc2 , rdm , sb , ssbs , v8.1a , v8.2a , v8.3a , v8.4a , v8.5a , v8.6a , vh |
vh | Enables ARM v8.1 Virtual Host extension (FEAT_VHE). | |
crt-static | Enables C Run-time Libraries to be statically linked. |
† This is often empirical, rather than specified in any standard, i.e. all available CPUs with a particular feature also have another feature.
§CPUs
CPU | Enabled Features |
---|---|
a64fx | crc , dpb , fcma , fp16 , lor , lse , neon , pan , pmuv3 , ras , rdm , sha2 , sve , v8.1a , v8.2a , vh |
ampere1 | aes , bf16 , bti , crc , dit , dotprod , dpb , dpb2 , fcma , flagm , frintts , i8mm , jsconv , lor , lse , neon , paca , pacg , pan , pmuv3 , rand , ras , rcpc , rcpc2 , rdm , sb , sha2 , sha3 , ssbs , v8.1a , v8.2a , v8.3a , v8.4a , v8.5a , v8.6a , vh |
ampere1a | aes , bf16 , bti , crc , dit , dotprod , dpb , dpb2 , fcma , flagm , frintts , i8mm , jsconv , lor , lse , mte , neon , paca , pacg , pan , pmuv3 , rand , ras , rcpc , rcpc2 , rdm , sb , sha2 , sha3 , sm4 , ssbs , v8.1a , v8.2a , v8.3a , v8.4a , v8.5a , v8.6a , vh |
ampere1b | aes , bf16 , bti , crc , dit , dotprod , dpb , dpb2 , fcma , flagm , fp16 , frintts , i8mm , jsconv , lor , lse , mte , neon , paca , pacg , pan , pmuv3 , rand , ras , rcpc , rcpc2 , rdm , sb , sha2 , sha3 , sm4 , ssbs , v8.1a , v8.2a , v8.3a , v8.4a , v8.5a , v8.6a , v8.7a , vh |
apple-a10 | aes , crc , lor , neon , pan , pmuv3 , rdm , sha2 , vh |
apple-a11 | aes , crc , dpb , fp16 , lor , lse , neon , pan , pmuv3 , ras , rdm , sha2 , v8.1a , v8.2a , vh |
apple-a12 | aes , crc , dpb , fcma , fp16 , jsconv , lor , lse , neon , paca , pacg , pan , pmuv3 , ras , rcpc , rdm , sha2 , v8.1a , v8.2a , v8.3a , vh |
apple-a13 | aes , crc , dit , dotprod , dpb , fcma , fhm , flagm , fp16 , jsconv , lor , lse , neon , paca , pacg , pan , pmuv3 , ras , rcpc , rcpc2 , rdm , sha2 , sha3 , v8.1a , v8.2a , v8.3a , v8.4a , vh |
apple-a14 | aes , crc , dit , dotprod , dpb , dpb2 , fcma , fhm , flagm , fp16 , frintts , jsconv , lor , lse , neon , paca , pacg , pan , pmuv3 , ras , rcpc , rcpc2 , rdm , sb , sha2 , sha3 , ssbs , v8.1a , v8.2a , v8.3a , v8.4a , vh |
apple-a15 | aes , bf16 , bti , crc , dit , dotprod , dpb , dpb2 , fcma , fhm , flagm , fp16 , frintts , i8mm , jsconv , lor , lse , neon , paca , pacg , pan , pmuv3 , ras , rcpc , rcpc2 , rdm , sb , sha2 , sha3 , ssbs , v8.1a , v8.2a , v8.3a , v8.4a , v8.5a , v8.6a , vh |
apple-a16 | aes , bf16 , bti , crc , dit , dotprod , dpb , dpb2 , fcma , fhm , flagm , fp16 , frintts , i8mm , jsconv , lor , lse , neon , paca , pacg , pan , pmuv3 , ras , rcpc , rcpc2 , rdm , sb , sha2 , sha3 , ssbs , v8.1a , v8.2a , v8.3a , v8.4a , v8.5a , v8.6a , vh |
apple-a17 | aes , bf16 , bti , crc , dit , dotprod , dpb , dpb2 , fcma , fhm , flagm , fp16 , frintts , i8mm , jsconv , lor , lse , neon , paca , pacg , pan , pmuv3 , ras , rcpc , rcpc2 , rdm , sb , sha2 , sha3 , ssbs , v8.1a , v8.2a , v8.3a , v8.4a , v8.5a , v8.6a , vh |
apple-a7 | aes , neon , pmuv3 , sha2 |
apple-a8 | aes , neon , pmuv3 , sha2 |
apple-a9 | aes , neon , pmuv3 , sha2 |
apple-latest | aes , bf16 , bti , crc , dit , dotprod , dpb , dpb2 , fcma , fhm , flagm , fp16 , frintts , i8mm , jsconv , lor , lse , neon , paca , pacg , pan , pmuv3 , ras , rcpc , rcpc2 , rdm , sb , sha2 , sha3 , ssbs , v8.1a , v8.2a , v8.3a , v8.4a , v8.5a , v8.6a , vh |
apple-m1 | aes , crc , dit , dotprod , dpb , dpb2 , fcma , fhm , flagm , fp16 , frintts , jsconv , lor , lse , neon , paca , pacg , pan , pmuv3 , ras , rcpc , rcpc2 , rdm , sb , sha2 , sha3 , ssbs , v8.1a , v8.2a , v8.3a , v8.4a , vh |
apple-m2 | aes , bf16 , bti , crc , dit , dotprod , dpb , dpb2 , fcma , fhm , flagm , fp16 , frintts , i8mm , jsconv , lor , lse , neon , paca , pacg , pan , pmuv3 , ras , rcpc , rcpc2 , rdm , sb , sha2 , sha3 , ssbs , v8.1a , v8.2a , v8.3a , v8.4a , v8.5a , v8.6a , vh |
apple-m3 | aes , bf16 , bti , crc , dit , dotprod , dpb , dpb2 , fcma , fhm , flagm , fp16 , frintts , i8mm , jsconv , lor , lse , neon , paca , pacg , pan , pmuv3 , ras , rcpc , rcpc2 , rdm , sb , sha2 , sha3 , ssbs , v8.1a , v8.2a , v8.3a , v8.4a , v8.5a , v8.6a , vh |
apple-s4 | aes , crc , dpb , fcma , fp16 , jsconv , lor , lse , neon , paca , pacg , pan , pmuv3 , ras , rcpc , rdm , sha2 , v8.1a , v8.2a , v8.3a , vh |
apple-s5 | aes , crc , dpb , fcma , fp16 , jsconv , lor , lse , neon , paca , pacg , pan , pmuv3 , ras , rcpc , rdm , sha2 , v8.1a , v8.2a , v8.3a , vh |
carmel | aes , crc , dpb , fp16 , lor , lse , neon , pan , ras , rdm , sha2 , v8.1a , v8.2a , vh |
cortex-a34 | aes , crc , neon , pmuv3 , sha2 |
cortex-a35 | aes , crc , neon , pmuv3 , sha2 |
cortex-a510 | bf16 , bti , crc , dit , dotprod , dpb , dpb2 , fcma , fhm , flagm , fp16 , frintts , i8mm , jsconv , lor , lse , mte , neon , paca , pacg , pan , pmuv3 , ras , rcpc , rcpc2 , rdm , sb , ssbs , sve , sve2 , sve2-bitperm , v8.1a , v8.2a , v8.3a , v8.4a , v8.5a , vh |
cortex-a520 | bf16 , bti , crc , dit , dotprod , dpb , dpb2 , fcma , fhm , flagm , fp16 , frintts , i8mm , jsconv , lor , lse , mte , neon , paca , pacg , pan , pmuv3 , ras , rcpc , rcpc2 , rdm , sb , ssbs , sve , sve2 , sve2-bitperm , v8.1a , v8.2a , v8.3a , v8.4a , v8.5a , v8.6a , v8.7a , vh |
cortex-a53 | aes , crc , neon , pmuv3 , sha2 |
cortex-a55 | aes , crc , dotprod , dpb , fp16 , lor , lse , neon , pan , pmuv3 , ras , rcpc , rdm , sha2 , v8.1a , v8.2a , vh |
cortex-a57 | aes , crc , neon , pmuv3 , sha2 |
cortex-a65 | aes , crc , dotprod , dpb , fp16 , lor , lse , neon , pan , pmuv3 , ras , rcpc , rdm , sha2 , ssbs , v8.1a , v8.2a , vh |
cortex-a65ae | aes , crc , dotprod , dpb , fp16 , lor , lse , neon , pan , pmuv3 , ras , rcpc , rdm , sha2 , ssbs , v8.1a , v8.2a , vh |
cortex-a710 | bf16 , bti , crc , dit , dotprod , dpb , dpb2 , fcma , fhm , flagm , fp16 , frintts , i8mm , jsconv , lor , lse , mte , neon , paca , pacg , pan , pmuv3 , ras , rcpc , rcpc2 , rdm , sb , ssbs , sve , sve2 , sve2-bitperm , v8.1a , v8.2a , v8.3a , v8.4a , v8.5a , vh |
cortex-a715 | bf16 , bti , crc , dit , dotprod , dpb , dpb2 , fcma , fhm , flagm , fp16 , frintts , i8mm , jsconv , lor , lse , mte , neon , paca , pacg , pan , pmuv3 , ras , rcpc , rcpc2 , rdm , sb , spe , ssbs , sve , sve2 , sve2-bitperm , v8.1a , v8.2a , v8.3a , v8.4a , v8.5a , vh |
cortex-a72 | aes , crc , neon , pmuv3 , sha2 |
cortex-a720 | bf16 , bti , crc , dit , dotprod , dpb , dpb2 , fcma , fhm , flagm , fp16 , frintts , i8mm , jsconv , lor , lse , mte , neon , paca , pacg , pan , pmuv3 , ras , rcpc , rcpc2 , rdm , sb , spe , ssbs , sve , sve2 , sve2-bitperm , v8.1a , v8.2a , v8.3a , v8.4a , v8.5a , v8.6a , v8.7a , vh |
cortex-a73 | aes , crc , neon , pmuv3 , sha2 |
cortex-a75 | aes , crc , dotprod , dpb , fp16 , lor , lse , neon , pan , pmuv3 , ras , rcpc , rdm , sha2 , v8.1a , v8.2a , vh |
cortex-a76 | aes , crc , dotprod , dpb , fp16 , lor , lse , neon , pan , pmuv3 , ras , rcpc , rdm , sha2 , ssbs , v8.1a , v8.2a , vh |
cortex-a76ae | aes , crc , dotprod , dpb , fp16 , lor , lse , neon , pan , pmuv3 , ras , rcpc , rdm , sha2 , ssbs , v8.1a , v8.2a , vh |
cortex-a77 | aes , crc , dotprod , dpb , fp16 , lor , lse , neon , pan , pmuv3 , ras , rcpc , rdm , sha2 , ssbs , v8.1a , v8.2a , vh |
cortex-a78 | aes , crc , dotprod , dpb , fp16 , lor , lse , neon , pan , pmuv3 , ras , rcpc , rdm , sha2 , spe , ssbs , v8.1a , v8.2a , vh |
cortex-a78c | aes , crc , dotprod , dpb , flagm , fp16 , lor , lse , neon , paca , pacg , pan , pmuv3 , ras , rcpc , rdm , sha2 , spe , ssbs , v8.1a , v8.2a , vh |
cortex-r82 | crc , dit , dotprod , dpb , fcma , fhm , flagm , fp16 , jsconv , lse , neon , paca , pacg , pan , pmuv3 , ras , rcpc , rcpc2 , rdm , sb , ssbs |
cortex-x1 | aes , crc , dotprod , dpb , fp16 , lor , lse , neon , pan , pmuv3 , ras , rcpc , rdm , sha2 , spe , ssbs , v8.1a , v8.2a , vh |
cortex-x1c | aes , crc , dotprod , dpb , flagm , fp16 , lor , lse , neon , paca , pacg , pan , pmuv3 , ras , rcpc , rcpc2 , rdm , sha2 , spe , ssbs , v8.1a , v8.2a , vh |
cortex-x2 | bf16 , bti , crc , dit , dotprod , dpb , dpb2 , fcma , fhm , flagm , fp16 , frintts , i8mm , jsconv , lor , lse , mte , neon , paca , pacg , pan , pmuv3 , ras , rcpc , rcpc2 , rdm , sb , ssbs , sve , sve2 , sve2-bitperm , v8.1a , v8.2a , v8.3a , v8.4a , v8.5a , vh |
cortex-x3 | bf16 , bti , crc , dit , dotprod , dpb , dpb2 , fcma , fhm , flagm , fp16 , frintts , i8mm , jsconv , lor , lse , mte , neon , paca , pacg , pan , pmuv3 , ras , rcpc , rcpc2 , rdm , sb , spe , ssbs , sve , sve2 , sve2-bitperm , v8.1a , v8.2a , v8.3a , v8.4a , v8.5a , vh |
cortex-x4 | bf16 , bti , crc , dit , dotprod , dpb , dpb2 , fcma , fhm , flagm , fp16 , frintts , i8mm , jsconv , lor , lse , mte , neon , paca , pacg , pan , pmuv3 , ras , rcpc , rcpc2 , rdm , sb , spe , ssbs , sve , sve2 , sve2-bitperm , v8.1a , v8.2a , v8.3a , v8.4a , v8.5a , v8.6a , v8.7a , vh |
cyclone | aes , neon , pmuv3 , sha2 |
exynos-m3 | aes , crc , neon , pmuv3 , sha2 |
exynos-m4 | aes , crc , dotprod , dpb , fp16 , lor , lse , neon , pan , pmuv3 , ras , rdm , sha2 , v8.1a , v8.2a , vh |
exynos-m5 | aes , crc , dotprod , dpb , fp16 , lor , lse , neon , pan , pmuv3 , ras , rdm , sha2 , v8.1a , v8.2a , vh |
falkor | aes , crc , neon , pmuv3 , rdm , sha2 |
generic | neon |
kryo | aes , crc , neon , pmuv3 , sha2 |
neoverse-512tvb | aes , bf16 , crc , dit , dotprod , dpb , dpb2 , fcma , fhm , flagm , fp16 , i8mm , jsconv , lor , lse , neon , paca , pacg , pan , pmuv3 , rand , ras , rcpc , rcpc2 , rdm , sha2 , spe , ssbs , sve , v8.1a , v8.2a , v8.3a , v8.4a , vh |
neoverse-e1 | aes , crc , dotprod , dpb , fp16 , lor , lse , neon , pan , pmuv3 , ras , rcpc , rdm , sha2 , ssbs , v8.1a , v8.2a , vh |
neoverse-n1 | aes , crc , dotprod , dpb , fp16 , lor , lse , neon , pan , pmuv3 , ras , rcpc , rdm , sha2 , spe , ssbs , v8.1a , v8.2a , vh |
neoverse-n2 | bf16 , bti , crc , dit , dotprod , dpb , dpb2 , fcma , flagm , fp16 , frintts , i8mm , jsconv , lor , lse , mte , neon , paca , pacg , pan , pmuv3 , ras , rcpc , rcpc2 , rdm , sb , ssbs , sve , sve2 , sve2-bitperm , v8.1a , v8.2a , v8.3a , v8.4a , v8.5a , vh |
neoverse-v1 | aes , bf16 , crc , dit , dotprod , dpb , dpb2 , fcma , fhm , flagm , fp16 , i8mm , jsconv , lor , lse , neon , paca , pacg , pan , pmuv3 , rand , ras , rcpc , rcpc2 , rdm , sha2 , spe , ssbs , sve , v8.1a , v8.2a , v8.3a , v8.4a , vh |
neoverse-v2 | bf16 , bti , crc , dit , dotprod , dpb , dpb2 , fcma , fhm , flagm , fp16 , frintts , i8mm , jsconv , lor , lse , mte , neon , paca , pacg , pan , pmuv3 , rand , ras , rcpc , rcpc2 , rdm , sb , spe , ssbs , sve , sve2 , sve2-bitperm , v8.1a , v8.2a , v8.3a , v8.4a , v8.5a , vh |
saphira | aes , crc , dit , dotprod , dpb , fcma , flagm , jsconv , lor , lse , neon , paca , pacg , pan , pmuv3 , ras , rcpc , rcpc2 , rdm , sha2 , spe , v8.1a , v8.2a , v8.3a , v8.4a , vh |
thunderx | aes , crc , neon , pmuv3 , sha2 |
thunderx2t99 | aes , crc , lor , lse , neon , pan , rdm , sha2 , v8.1a , vh |
thunderx3t110 | aes , crc , dpb , fcma , jsconv , lor , lse , neon , paca , pacg , pan , pmuv3 , ras , rcpc , rdm , sha2 , v8.1a , v8.2a , v8.3a , vh |
thunderxt81 | aes , crc , neon , pmuv3 , sha2 |
thunderxt83 | aes , crc , neon , pmuv3 , sha2 |
thunderxt88 | aes , crc , neon , pmuv3 , sha2 |
tsv110 | aes , crc , dotprod , dpb , fcma , fhm , fp16 , jsconv , lor , lse , neon , pan , pmuv3 , ras , rdm , sha2 , spe , v8.1a , v8.2a , vh |