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