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.
|