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 |
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-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-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-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-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, fhm, 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 |
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 | aes, 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, sha2, 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, fhm, fp16, lor, lse, neon, pan, pmuv3, ras, rdm, sha2, spe, v8.1a, v8.2a, vh |