Next: , Previous: AArch64 Options, Up: AArch64-Dependent


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
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.
aes ARMv8-A No Enable the AES cryptographic extensions. This implies fp and simd.
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.
sm4 ARMv8.2-A No Enable the ARMv8.2-A SM3 and SM4 cryptographic extensions. This implies fp and simd.
fp ARMv8-A ARMv8-A or later Enable floating-point extensions.
fp16 ARMv8.2-A ARMv8.2-A or later Enable ARMv8.2 16-bit floating-point support. This implies fp.
lor ARMv8-A ARMv8.1-A or later Enable Limited Ordering Regions extensions.
lse ARMv8-A ARMv8.1-A or later Enable Large System extensions.
pan ARMv8-A ARMv8.1-A or later Enable Privileged Access Never support.
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.
simd ARMv8-A ARMv8-A or later Enable Advanced SIMD extensions. This implies fp.
sve ARMv8.2-A No Enable the Scalable Vector Extensions. This implies fp16, simd and compnum.
dotprod ARMv8.2-A ARMv8.4-A or later Enable the Dot Product extension. This implies simd.
fp16fml ARMv8.2-A ARMv8.4-A or later Enable ARMv8.2 16-bit floating-point multiplication variant support. This implies fp16.
sb ARMv8-A ARMv8.5-A or later Enable the speculation barrier instruction sb.
predres ARMv8-A ARMv8.5-A or later Enable the Execution and Data and Prediction instructions.
rng ARMv8.5-A No Enable ARMv8.5-A random number instructions.
ssbs ARMv8-A ARMv8.5-A or later Enable Speculative Store Bypassing Safe state read and write.
memtag ARMv8.5-A No Enable ARMv8.5-A Memory Tagging Extensions.
tme ARMv8-A No Enable Transactional Memory Extensions.
sve2 ARMv8-A No Enable the SVE2 Extension.
sve2-bitperm ARMv8-A No Enable SVE2 BITPERM Extension.
sve2-sm4 ARMv8-A No Enable SVE2 SM4 Extension.
sve2-aes ARMv8-A No Enable SVE2 AES Extension. This also enables the .Q->.B form of the pmullt and pmullb instructions.
sve2-sha3 ARMv8-A No Enable SVE2 SHA3 Extension.