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


9.1.2 Architecture Extensions

The table below lists the permitted architecture extensions that are supported by the assembler and the conditions under which they are automatically enabled.

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 requires other extensions 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 Minimum Architecture Enabled by default Description
aes ARMv8-A No Enable the AES cryptographic extensions. This implies fp and simd.
bf16 ARMv8.2-A ARMv8.6-A or later Enable BFloat16 extension.
compnum ARMv8.2-A ARMv8.3-A or later Enable the complex number SIMD extensions. This implies fp16 and simd.
crc ARMv8-A ARMv8.1-A or later Enable CRC instructions.
crypto ARMv8-A No Enable cryptographic extensions. This implies fp, simd, aes and sha2.
dotprod ARMv8.2-A ARMv8.4-A or later Enable the Dot Product extension. This implies simd.
f32mm ARMv8.2-A No Enable F32 Matrix Multiply extension. This implies sve.
f64mm ARMv8.2-A No Enable F64 Matrix Multiply extension. This implies sve.
flagm ARMv8-A ARMv8.4-A or later Enable Flag Manipulation instructions.
fp16fml ARMv8.2-A ARMv8.4-A or later Enable ARMv8.2 16-bit floating-point multiplication variant support. This implies fp and fp16.
fp16 ARMv8.2-A ARMv8.2-A or later Enable ARMv8.2 16-bit floating-point support. This implies fp.
fp ARMv8-A ARMv8-A or later Enable floating-point extensions.
hbc Armv8.8-A or later Enable Armv8.8-A hinted conditional branch instructions
cssc Armv8.7-A or later Enable Armv8.9-A Common Short Sequence Compression instructions.
i8mm ARMv8.2-A ARMv8.6-A or later Enable Int8 Matrix Multiply extension.
lor ARMv8-A ARMv8.1-A or later Enable Limited Ordering Regions extensions.
ls64 ARMv8.6-A ARMv8.7-A or later Enable 64 Byte Loads/Stores.
lse ARMv8-A ARMv8.1-A or later Enable Large System extensions.
memtag ARMv8.5-A No Enable ARMv8.5-A Memory Tagging Extensions.
mops Armv8.8-A or later Enable Armv8.8-A memcpy and memset acceleration instructions
pan ARMv8-A ARMv8.1-A or later Enable Privileged Access Never support.
pauth ARMv8-A No Enable Pointer Authentication.
predres ARMv8-A ARMv8.5-A or later Enable the Execution and Data and Prediction instructions.
profile ARMv8.2-A No Enable statistical profiling extensions.
ras ARMv8-A ARMv8.2-A or later Enable the Reliability, Availability and Serviceability extension.
rcpc ARMv8.2-A ARMv8.3-A or later Enable the weak release consistency extension.
rdma ARMv8-A ARMv8.1-A or later Enable ARMv8.1 Advanced SIMD extensions. This implies simd.
rng ARMv8.5-A No Enable ARMv8.5-A random number instructions.
sb ARMv8-A ARMv8.5-A or later Enable the speculation barrier instruction sb.
sha2 ARMv8-A No Enable the SHA2 cryptographic extensions. This implies fp and simd.
sha3 ARMv8.2-A No Enable the ARMv8.2-A SHA2 and SHA3 cryptographic extensions. This implies fp, simd and sha2.
simd ARMv8-A ARMv8-A or later Enable Advanced SIMD extensions. This implies fp.
sm4 ARMv8.2-A No Enable the ARMv8.2-A SM3 and SM4 cryptographic extensions. This implies fp and simd.
sme Armv9-A No Enable SME Extension.
sme-f64f64 Armv9-A No Enable SME F64F64 Extension.
sme-i16i64 Armv9-A No Enable SME I16I64 Extension.
sme2 Armv9-A No Enable SME2. This implies sme.
ssbs ARMv8-A ARMv8.5-A or later Enable Speculative Store Bypassing Safe state read and write.
sve ARMv8.2-A Armv9-A or later Enable the Scalable Vector Extensions. This implies fp16, simd and compnum.
sve2 ARMv8-A Armv9-A or later Enable the SVE2 Extension. This implies sve.
sve2-aes ARMv8-A No Enable SVE2 AES Extension. This also enables the .Q->.B form of the pmullt and pmullb instructions. This implies aes and sve2.
sve2-bitperm ARMv8-A No Enable SVE2 BITPERM Extension.
sve2-sha3 ARMv8-A No Enable SVE2 SHA3 Extension. This implies sha3 and sve2.
sve2-sm4 ARMv8-A No Enable SVE2 SM4 Extension. This implies sm4 and sve2.
tme ARMv8-A No Enable Transactional Memory Extensions.

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