is_aarch64_feature_detected in std::arch - Rust (original) (raw)

Macro is_aarch64_feature_detected

1.60.0 · Source

macro_rules! is_aarch64_feature_detected {
    ("neon") => { ... };
    ("pmull") => { ... };
    ("fp") => { ... };
    ("aes") => { ... };
    ("bf16") => { ... };
    ("bti") => { ... };
    ("crc") => { ... };
    ("cssc") => { ... };
    ("dit") => { ... };
    ("dpb") => { ... };
    ("dpb2") => { ... };
    ("dotprod") => { ... };
    ("ecv") => { ... };
    ("f32mm") => { ... };
    ("f64mm") => { ... };
    ("faminmax") => { ... };
    ("fcma") => { ... };
    ("fhm") => { ... };
    ("flagm") => { ... };
    ("flagm2") => { ... };
    ("fp16") => { ... };
    ("fp8") => { ... };
    ("fp8dot2") => { ... };
    ("fp8dot4") => { ... };
    ("fp8fma") => { ... };
    ("fpmr") => { ... };
    ("frintts") => { ... };
    ("hbc") => { ... };
    ("i8mm") => { ... };
    ("jsconv") => { ... };
    ("lse") => { ... };
    ("lse128") => { ... };
    ("lse2") => { ... };
    ("lut") => { ... };
    ("mops") => { ... };
    ("mte") => { ... };
    ("paca") => { ... };
    ("pacg") => { ... };
    ("pauth-lr") => { ... };
    ("rand") => { ... };
    ("rcpc") => { ... };
    ("rcpc2") => { ... };
    ("rcpc3") => { ... };
    ("rdm") => { ... };
    ("sb") => { ... };
    ("sha2") => { ... };
    ("sha3") => { ... };
    ("sm4") => { ... };
    ("sme") => { ... };
    ("sme2") => { ... };
    ("sme2p1") => { ... };
    ("sme-b16b16") => { ... };
    ("sme-f16f16") => { ... };
    ("sme-f64f64") => { ... };
    ("sme-f8f16") => { ... };
    ("sme-f8f32") => { ... };
    ("sme-fa64") => { ... };
    ("sme-i16i64") => { ... };
    ("sme-lutv2") => { ... };
    ("ssbs") => { ... };
    ("ssve-fp8dot2") => { ... };
    ("ssve-fp8dot4") => { ... };
    ("ssve-fp8fma") => { ... };
    ("sve") => { ... };
    ("sve2") => { ... };
    ("sve2p1") => { ... };
    ("sve2-aes") => { ... };
    ("sve-b16b16") => { ... };
    ("sve2-bitperm") => { ... };
    ("sve2-sha3") => { ... };
    ("sve2-sm4") => { ... };
    ("tme") => { ... };
    ("wfxt") => { ... };
    ("asimd") => { ... };
    ("ras") => { ... };
    ("v8.1a") => { ... };
    ("v8.2a") => { ... };
    ("v8.3a") => { ... };
    ("v8.4a") => { ... };
    ("v8.5a") => { ... };
    ("v8.6a") => { ... };
    ("v8.7a") => { ... };
    ("v8.8a") => { ... };
    ("v8.9a") => { ... };
    ("v9.1a") => { ... };
    ("v9.2a") => { ... };
    ("v9.3a") => { ... };
    ("v9.4a") => { ... };
    ("v9.5a") => { ... };
    ("v9a") => { ... };
    ($t:tt,) => { ... };
    ($t:tt) => { ... };
}

Expand description

This macro tests, at runtime, whether an aarch64 feature is enabled on aarch64 platforms. Currently most features are only supported on linux-based platforms.

This macro takes one argument which is a string literal of the feature being tested for. The feature names are mostly taken from their FEAT_* definitions in the ARM Architecture Reference Manual.

§Supported arguments