M-Profile Architecture support in GNU toolchain

M-Profile Architecture Feature GNU Identifier Enabled by default Binutils GCC Glibc GDB
M-Profile Vector Extension (MVE) mve No 2.33 GCC10 (Intrinsics)

GCC11 (code generation)
NA 12.1*
M-Profile PAC/BTI   pacbti No 2.38* GCC12* NA 12.1*
Arm Custom Instructions cdecp0

cdecp1

...

cdecp7
No 2.35
GCC10 NA NA
* Planned


A-Profile Architecture support in GNU toolchain 

A-Profile Architecture Feature Architecture Identifier GNU Identifier Enabled by default Binutils GCC Glibc GDB
CRC instruction FEAT_CRC32 crc ARMv8.1-A or later 2.25 GCC 4.9.4 NA 7.6
Floating-point extension FEAT_FP fp ARMv8-A or later 2.25 GCC 4.8.5 NA 7.6
Advanced SIMD extension FEAT_AdvSIMD simd ARMv8-A or later 2.25 GCC 4.8.5 NA 7.6
Limited Ordering Regions extensions FEAT_LOR lor ARMv8.1-A or later 2.26 NA NA 7.11.1
Privileged Access Never support FEAT_PAN pan ARMv8.1-A or later 2.26 NA NA 7.11.1
Round Double Multiply Accumulate instructions FEAT_RDM rdma ARMv8.1-A or later 2.26 GCC 8 NA 7.11.1
FP16 extension FEAT_FP16 fp16 ARMv8.2-A or later 2.26 GCC 7 NA 7.11.1
Statistical Profiling Extensions (SPE) FEAT_SPE profile No 2.26 GCC 9 NA 7.11.1
Large System Extension (LSE) FEAT_LSE lse ARMv8.1-A or later 2.27 GCC 6 NA 8.1
RAS extension FEAT_RAS ras ARMv8.2-A or later 2.27 NA NA 8.1
Scalable Vector Extension (SVE) FEAT_SVE sve No 2.28 GCC10 2.30 8.2
Complex number SIMD extension FEAT_FCMA compnum ARMv8.3-A or later 2.28 GCC9 NA 8.1
Weak release consistency extension FEAT_LRCPC rcpc ARMv8.3-A or later 2.29 GCC 8 NA 8.1
Pointer Authentication FEAT_PAuth, FEAT_PAuth2 path ARMv8.3-A or later 2.27 GCC 7 NA 9.1
Dot Product extension FEAT_DotProd2 dotprod ARMv8.4-A or later 2.29 GCC 8 NA 8.1
AES cryptographic extension FEAT_AES, FEAT_PMULL aes No 2.30 GCC 8 NA 8.1
SHA2 cryptographic extension   sha2 No 2.30 GCC 8 NA 8.1
FP16 fmla extension FEAT_FHM fp16fml ARMv8.4-A or later 2.30 GCC 8 NA 8.1
SHA512 and SHA3 cryptographic extensions FEAT_SHA512, FEAT_SHA3 sha3 No 2.30 GCC 8 NA 8.1
SM3 and SM4 cryptographic extensions FEAT_SM3, FEAT_SM4 sm4 No 2.30 GCC 8 NA 8.1
Memory Tagging Extension (MTE) FEAT_MTE memtag No 2.33 GCC9 2.33 11.1
MTE heap tagging FEAT_MTE
No 2.33 GCC10 2.33 11.1
MTE stack tagging FEAT_MTE
No 2.39* Future Future Future
Branch Target Indicators (BTI) FEAT_BTI
No 2.33 GCC 9 2.32 12.1*
Execution and Data and Prediction instructions FEAT_SPECRES predres ARMv8.5-A or later 2.32 GCC 9 NA 8.3
Random number instructions FEAT_RNG rng No 2.32 GCC 9 NA 8.3
Speculation barrier instruction sb FEAT_SB sb ARMv8.5-A or later 2.32 GCC 9 NA 8.3
 Speculative store bypass safe FEAT_SSBS ssbs  ARMv8.5-A or later 2.32 GCC 9 NA NA
Bfloat16 FEAT_BF16 bf16 ARMv8.6-A or later 2.34 GCC10 NA 11.1
FP32 and FP64 Matrix Multiplier Extension FEAT_F32MM, FEAT_F64MM f32mm,f64mm No 2.34 GCC10 NA 9.1
Int8 Matrix Multiplier Extension FEAT_I8MM i8mm ARMv8.6-A or later 2.34 GCC10 NA 9.1
Scalable Vector Extension v2 (SVE2) FEAT_SVE2 sve2 No 2.33 GCC10 2.30 9.1
Transactional Memory Extension (TME) FEAT_TME tme No 2.33 GCC10 Future Future
Scalable Vector AES instructions FEAT_SVE_AES sve2-aes ARMv9.0-A or later  2.33 Future Future Future
Scalable Vector PMULL instructions
FEAT_SVE_PMULL128   ARMv9.0-A or later
2.33 Future Future Future
Scalable Vector EOR3, RAX1, XAR, and BCAX instrs FEAT_SVE_SHA3
sve2-sha3 ARMv9.0-A or later
2.33 Future Future Future
Scalable Vector SM4 instructions FEAT_SVE_SM4
sve2-sm4
ARMv9.0-A or later 2.33 Future Future Future
Scalable Vector Bit Permutes
FEAT_SVE_BitPerm
sve2-bitperm ARMv9.0-A or later 2.33 Future Future Future
Support for 64-byte load/stores (LS64) FEAT_LS64 (without return)

FEAT_LS64_V (with return)

FEAT_LS64_ACCDATA (EL0 stores with return)
ls64  2020 Architecture update

ARMv8.7-A or later

ARMv9.2-A or later
2.36 GCC12.1* NA Future
MTE Asymmetric Fault Handling FEAT_MTE3
memtag 2020 Architecture update

ARMv8.7-A or later

ARMv9.2-A or later
NA NA 2.35* NA
WFE and WFI instructions with timeout
FEAT_WFxT
  2020 Architecture update

ARMv8.7-A or later

ARMv9.2-A or later 
2.36 NA NA NA
Branch Record Buffer Extensions FEAT_BRBE
brbe 2020 Architecture update

ARMv8.7-A or later

ARMv9.2-A or later
2.36  NA NA NA
Realm Management Extension FEAT_RME   2020 Architecture update

ARMv8.7-A or later

ARMv9.2-A or later
2.37  NA NA NA
Memory operations [memcpy] FEAT_MOPS mops 2021 Architecture update

ARMv8.8-A or later

ARMv9.3-A or later
2.38*  GCC12* Future Future
Scalable Matrix Extension FEAT_SME  sme

sme-f64

sme-i64
2021 Architecture update

ARMv8.8-A or later

ARMv9.3-A or later
2.38*  GCC13* 2.35* 12.1*
* Planned