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.

ExtensionMinimum ArchitectureEnabled by defaultDescription
i8mmARMv8.2-AARMv8.6-A or laterEnable Int8 Matrix Multiply extension.
f32mmARMv8.2-ANoEnable F32 Matrix Multiply extension.
f64mmARMv8.2-ANoEnable F64 Matrix Multiply extension.
bf16ARMv8.2-AARMv8.6-A or laterEnable BFloat16 extension.
compnumARMv8.2-AARMv8.3-A or laterEnable the complex number SIMD extensions. This implies fp16 and simd.
crcARMv8-AARMv8.1-A or laterEnable CRC instructions.
cryptoARMv8-ANoEnable cryptographic extensions. This implies fp, simd, aes and sha2.
aesARMv8-ANoEnable the AES cryptographic extensions. This implies fp and simd.
sha2ARMv8-ANoEnable the SHA2 cryptographic extensions. This implies fp and simd.
sha3ARMv8.2-ANoEnable the ARMv8.2-A SHA2 and SHA3 cryptographic extensions. This implies fp, simd and sha2.
sm4ARMv8.2-ANoEnable the ARMv8.2-A SM3 and SM4 cryptographic extensions. This implies fp and simd.
fpARMv8-AARMv8-A or laterEnable floating-point extensions.
fp16ARMv8.2-AARMv8.2-A or laterEnable ARMv8.2 16-bit floating-point support. This implies fp.
lorARMv8-AARMv8.1-A or laterEnable Limited Ordering Regions extensions.
lseARMv8-AARMv8.1-A or laterEnable Large System extensions.
panARMv8-AARMv8.1-A or laterEnable Privileged Access Never support.
profileARMv8.2-ANoEnable statistical profiling extensions.
rasARMv8-AARMv8.2-A or laterEnable the Reliability, Availability and Serviceability extension.
rcpcARMv8.2-AARMv8.3-A or laterEnable the weak release consistency extension.
rdmaARMv8-AARMv8.1-A or laterEnable ARMv8.1 Advanced SIMD extensions. This implies simd.
simdARMv8-AARMv8-A or laterEnable Advanced SIMD extensions. This implies fp.
sveARMv8.2-ANoEnable the Scalable Vector Extensions. This implies fp16, simd and compnum.
dotprodARMv8.2-AARMv8.4-A or laterEnable the Dot Product extension. This implies simd.
fp16fmlARMv8.2-AARMv8.4-A or laterEnable ARMv8.2 16-bit floating-point multiplication variant support. This implies fp16.
sbARMv8-AARMv8.5-A or laterEnable the speculation barrier instruction sb.
predresARMv8-AARMv8.5-A or laterEnable the Execution and Data and Prediction instructions.
rngARMv8.5-ANoEnable ARMv8.5-A random number instructions.
ssbsARMv8-AARMv8.5-A or laterEnable Speculative Store Bypassing Safe state read and write.
memtagARMv8.5-ANoEnable ARMv8.5-A Memory Tagging Extensions.
tmeARMv8-ANoEnable Transactional Memory Extensions.
sve2ARMv8-ANoEnable the SVE2 Extension.
sve2-bitpermARMv8-ANoEnable SVE2 BITPERM Extension.
sve2-sm4ARMv8-ANoEnable SVE2 SM4 Extension.
sve2-aesARMv8-ANoEnable SVE2 AES Extension. This also enables the .Q->.B form of the pmullt and pmullb instructions.
sve2-sha3ARMv8-ANoEnable SVE2 SHA3 Extension.
flagmARMv8-AARMv8.4-A or laterEnable Flag Manipulation instructions.
ls64ARMv8.6-AARMv8.7-A or laterEnable 64 Byte Loads/Stores.
pauthARMv8-ANoEnable Pointer Authentication.

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