Next: , Previous: , Up: AArch64-Dependent   [Contents][Index]


9.1.2 Architecture Extensions

The tables below lists the permitted architecture extensions and architecture versions that are supported by the assembler, including a brief description and a list of other extensions that they depend upon.

Multiple extensions may be specified, separated by a +. Extension mnemonics may also be removed from those the assembler accepts. This is done by prepending no to the option that adds the extension. Extensions that are removed must be listed after all extensions that have been added.

Enabling an extension that depends upon other extensions (either directly or recursively) will automatically cause those extensions to be enabled. Similarly, disabling an extension that is required by other extensions will automatically cause those extensions to be disabled.

Extension Depends upon Description
aes simd Enable the AES and PMULL cryptographic extensions.
bf16 fp Enable BFloat16 extension.
brbe Enable the Branch Record Buffer extension.
chk Enable the Check Feature Status Extension.
compnum simd Enable the complex number SIMD extensions. An alias of fcma.
cpa Enable the Checked Pointer Arithmetic extension.
crc Enable CRC instructions.
crypto simd Enable cryptographic extensions. This is equivalent to aes+sha2.
cssc Enable the Armv8.9-A Common Short Sequence Compression instructions.
d128 lse128 Enable the 128-bit Page Descriptor Extension. This implies lse128.
dotprod simd Enable the Dot Product extension.
f32mm sve Enable the F32 Matrix Multiply extension
f64mm sve Enable the F64 Matrix Multiply extension.
fcma fp16, simd Enable the complex number SIMD extensions.
flagm Enable Flag Manipulation instructions.
flagm2 flagm Enable FlagM2 flag conversion instructions.
fp Enable floating-point extensions.
fp8 Enable the Floating Point 8 (FP8) extension.
fp8dot2 fp8dot4 Enable the FP8 2-way dot product instructions.
fp8dot4 fp8fma Enable the FP8 4-way dot product instructions.
fp8fma fp8 Enable the FP8 FMA instructions.
fp16fml fp16 Enable Armv8.2 16-bit floating-point multiplication variant support.
fp16 fp Enable Armv8.2 16-bit floating-point support.
frintts simd Enable floating-point round to integral value instructions.
gcs Enable the Guarded Control Stack Extension.
hbc Enable Armv8.8-A hinted conditional branch instructions
i8mm simd Enable the Int8 Matrix Multiply extension.
ite Enable the TRCIT instruction.
jscvt fp Enable the fjcvtzs JavaScript conversion instruction.
lor Enable Limited Ordering Regions extensions.
ls64 Enable the 64 Byte Loads/Stores extensions.
lse Enable Large System extensions.
lse128 lse Enable the 128-bit Atomic Instructions extension.
lut Enable the Lookup Table (LUT) extension.
memtag Enable Armv8.5-A Memory Tagging Extensions.
mops Enable Armv8.8-A memcpy and memset acceleration instructions
pan Enable Privileged Access Never support.
pauth Enable Pointer Authentication.
predres Enable the Execution and Data and Prediction instructions.
predres2 predres Enable Prediction instructions.
profile Enable statistical profiling extensions.
ras Enable the Reliability, Availability and Serviceability extension.
rasv2 ras Enable the Reliability, Availability and Serviceability extension v2.
rcpc Enable the Load-Acquire RCpc instructions extension.
rcpc2 rcpc Enable the Load-Acquire RCpc instructions extension v2.
rcpc3 rcpc2 Enable the Load-Acquire RCpc instructions extension v3.
rdma simd Enable rounding doubling multiply accumulate instructions.
rdm simd An alias of rdma.
rng Enable Armv8.5-A random number instructions.
sb Enable the speculation barrier instruction sb.
sha2 simd Enable the SHA1 and SHA256 cryptographic extensions.
sha3 sha2 Enable the SHA512 and SHA3 cryptographic extensions.
simd fp Enable Advanced SIMD extensions.
sm4 simd Enable the SM3 and SM4 cryptographic extensions.
sme sve2, bf16 Enable the Scalable Matrix Extension.
sme-f8f16 sme-f8f32 Enable the SME F8F16 Extension.
sme-f8f32 sme2, fp8 Enable the SME F8F32 Extension.
sme-f64f64 sme Enable SME F64F64 Extension.
sme-i16i64 sme Enable SME I16I64 Extension.
sme-lutv2 Enable SME Lookup Table v2 (LUTv2) extension.
sme2 sme Enable SME2.
sme2p1 sme2 Enable SME2.1.
ssbs Enable Speculative Store Bypassing Safe state read and write.
ssve-fp8dot2 ssve-fp8dot4 Enable the Streaming SVE FP8 2-way dot product instructions. These can also be enabled using +fp8dot2+sme2.
ssve-fp8dot4 ssve-fp8fma Enable the Streaming SVE FP8 4-way dot product instructions. These can also be enabled using +fp8dot4+sme2.
ssve-fp8fma sme2, fp8 Enable the Streaming SVE FP8 FMA instructions. These can also be enabled using +fp8fma+sme2.
sve fcma Enable the Scalable Vector Extension.
sve2 sve Enable SVE2.
sve2-aes sve2, aes Enable the SVE2 AES and PMULL Extensions.
sve2-bitperm sve2 Enable the SVE2 BITPERM Extension.
sve2-sha3 sve2, sha3 Enable the SVE2 SHA3 Extension.
sve2-sm4 sve2, sm4 Enable the SVE2 SM4 Extension.
sve2p1 sve2 Enable SVE2.1.
the Enable the Translation Hardening Extension.
tme Enable the Transactional Memory Extension.
wfxt Enable wfet and wfit instructions.
xs Enable the XS memory attribute extension.
Architecture Version Includes
armv8-a simd, chk, ras
armv8.1-a armv8-a, crc, lse, rdma, pan, lor
armv8.2-a armv8.1-a
armv8.3-a armv8.2-a, fcma, jscvt, pauth, rcpc
armv8.4-a armv8.3-a, fp16fml, dotprod, flagm, rcpc2
armv8.5-a armv8.4-a, frintts, flagm2, predres, sb, ssbs
armv8.6-a armv8.5-a, bf16, i8mm
armv8.7-a armv8.6-a, ls64, xs, wfxt
armv8.8-a armv8.7-a, hbc, mops
armv8.9-a armv8.8-a, rasv2, predres2
armv9-a armv8.5-a, sve2
armv9.1-a armv9-a, armv8.6-a
armv9.2-a armv9.1-a, armv8.7-a
armv9.3-a armv9.2-a, armv8.8-a
armv9.4-a armv9.3-a, armv8.9-a
armv9.5-a armv9.4-a, cpa, lut, faminmax
armv8-r armv8.4-a+nolor

Next: , Previous: , Up: AArch64-Dependent   [Contents][Index]