Macro std::arch::is_aarch64_feature_detected
1.60.0 · source · macro_rules! is_aarch64_feature_detected { ("neon") => { ... }; ("pmull") => { ... }; ("fp") => { ... }; ("fp16") => { ... }; ("sve") => { ... }; ("crc") => { ... }; ("lse") => { ... }; ("lse2") => { ... }; ("rdm") => { ... }; ("rcpc") => { ... }; ("rcpc2") => { ... }; ("dotprod") => { ... }; ("tme") => { ... }; ("fhm") => { ... }; ("dit") => { ... }; ("flagm") => { ... }; ("ssbs") => { ... }; ("sb") => { ... }; ("paca") => { ... }; ("pacg") => { ... }; ("dpb") => { ... }; ("dpb2") => { ... }; ("sve2") => { ... }; ("sve2-aes") => { ... }; ("sve2-sm4") => { ... }; ("sve2-sha3") => { ... }; ("sve2-bitperm") => { ... }; ("frintts") => { ... }; ("i8mm") => { ... }; ("f32mm") => { ... }; ("f64mm") => { ... }; ("bf16") => { ... }; ("rand") => { ... }; ("bti") => { ... }; ("mte") => { ... }; ("jsconv") => { ... }; ("fcma") => { ... }; ("aes") => { ... }; ("sha2") => { ... }; ("sha3") => { ... }; ("sm4") => { ... }; ("asimd") => { ... }; ("ras") => { ... }; ("v8.1a") => { ... }; ("v8.2a") => { ... }; ("v8.3a") => { ... }; ("v8.4a") => { ... }; ("v8.5a") => { ... }; ("v8.6a") => { ... }; ("v8.7a") => { ... }; ($t:tt,) => { ... }; ($t:tt) => { ... }; }
Available on AArch64 only.
Expand description
这个宏在运行时测试 aarch64
特性是否在 aarch64 平台上启用。
目前大多数特性仅在基于 linux 的平台上受支持。
这个宏需要一个参数,该参数是正在测试的特性的字符串文字。 特性名大多取自 ARM 架构参考手册 中的 FEAT_* 定义。
支持的参数
"asimd"
或 “neon”-FEAT_AdvSIMD"pmull"
- FEAT_PMULL"fp"
- FEAT_FP"fp16"
- FEAT_FP16"sve"
- FEAT_SVE"crc"
- FEAT_CRC"lse"
- FEAT_LSE"lse2"
- FEAT_LSE2"rdm"
- FEAT_RDM"rcpc"
- FEAT_LRCPC"rcpc2"
- FEAT_LRCPC2"dotprod"
- FEAT_DotProd"tme"
- FEAT_TME"fhm"
- FEAT_FHM"dit"
- FEAT_DIT"flagm"
- FEAT_FLAGM"ssbs"
- FEAT_SSBS"sb"
- FEAT_SB"paca"
-FEAT_PAuth (地址认证)"pacg"
-FEAT_Pauth (通用身份验证)"dpb"
- FEAT_DPB"dpb2"
- FEAT_DPB2"sve2"
- FEAT_SVE2"sve2-aes"
- FEAT_SVE2_AES"sve2-sm4"
- FEAT_SVE2_SM4"sve2-sha3"
- FEAT_SVE2_SHA3"sve2-bitperm"
- FEAT_SVE2_BitPerm"frintts"
- FEAT_FRINTTS"i8mm"
- FEAT_I8MM"f32mm"
- FEAT_F32MM"f64mm"
- FEAT_F64MM"bf16"
- FEAT_BF16"rand"
- FEAT_RNG"bti"
- FEAT_BTI"mte"
- FEAT_MTE"jsconv"
- FEAT_JSCVT"fcma"
- FEAT_FCMA"aes"
- FEAT_AES"sha2"
- FEAT_SHA1 & FEAT_SHA256"sha3"
- FEAT_SHA512 & FEAT_SHA3"sm4"
- FEAT_SM3 & FEAT_SM4