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 |