cpudetect 0.2.0

Ergonomic helpers for CPU feature detection
Documentation
use crate::aarch64::features::*;
use crate::declare_is_compatible;

declare_is_compatible!("apple_a7", "aes", "neon", "sha2");

declare_is_compatible!("apple_a10", "aes", "crc", "neon", "rdm", "sha2");

declare_is_compatible!(
    "apple_a11",
    "aes",
    "crc",
    "dpb",
    "fp16",
    "lse",
    "neon",
    "rdm",
    "sha2"
);

declare_is_compatible!(
    "apple_a12",
    "aes",
    "crc",
    "dpb",
    "fcma",
    "fp16",
    "jsconv",
    "lse",
    "neon",
    "paca",
    "pacg",
    "rcpc",
    "rdm",
    "sha2"
);

declare_is_compatible!(
    "apple_a13",
    "aes",
    "crc",
    "dit",
    "dotprod",
    "dpb",
    "fcma",
    "fhm",
    "flagm",
    "fp16",
    "jsconv",
    "lse",
    "neon",
    "paca",
    "pacg",
    "rcpc",
    "rcpc2",
    "rdm",
    "sha2",
    "sha3"
);

declare_is_compatible!(
    "apple_a14",
    "aes",
    "crc",
    "dit",
    "dotprod",
    "dpb",
    "dpb2",
    "fcma",
    "fhm",
    "flagm",
    "fp16",
    "frintts",
    "jsconv",
    "lse",
    "neon",
    "paca",
    "pacg",
    "rcpc",
    "rcpc2",
    "rdm",
    "sb",
    "sha2",
    "sha3",
    "ssbs"
);

declare_is_compatible!(
    "apple_a15",
    "aes",
    "bf16",
    "bti",
    "crc",
    "dit",
    "dotprod",
    "dpb",
    "dpb2",
    "fcma",
    "fhm",
    "flagm",
    "fp16",
    "frintts",
    "i8mm",
    "jsconv",
    "lse",
    "neon",
    "paca",
    "pacg",
    "rcpc",
    "rcpc2",
    "rdm",
    "sb",
    "sha2",
    "sha3",
    "ssbs"
);

declare_is_compatible!(
    "apple_a16",
    "aes",
    "bf16",
    "bti",
    "crc",
    "dit",
    "dotprod",
    "dpb",
    "dpb2",
    "fcma",
    "fhm",
    "flagm",
    "fp16",
    "frintts",
    "i8mm",
    "jsconv",
    "lse",
    "neon",
    "paca",
    "pacg",
    "rcpc",
    "rcpc2",
    "rdm",
    "sb",
    "sha2",
    "sha3",
    "ssbs"
);

declare_is_compatible!(
    "apple_a17",
    "aes",
    "bf16",
    "bti",
    "crc",
    "dit",
    "dotprod",
    "dpb",
    "dpb2",
    "fcma",
    "fhm",
    "flagm",
    "fp16",
    "frintts",
    "i8mm",
    "jsconv",
    "lse",
    "neon",
    "paca",
    "pacg",
    "rcpc",
    "rcpc2",
    "rdm",
    "sb",
    "sha2",
    "sha3",
    "ssbs"
);

declare_is_compatible!(
    "apple_m1", "aes", "crc", "dit", "dotprod", "dpb", "dpb2", "fcma", "fhm", "flagm", "fp16",
    "frintts", "jsconv", "lse", "neon", "paca", "pacg", "rcpc", "rcpc2", "rdm", "sb", "sha2",
    "sha3", "ssbs"
);

declare_is_compatible!(
    "apple_m2", "aes", "bf16", "bti", "crc", "dit", "dotprod", "dpb", "dpb2", "fcma", "fhm",
    "flagm", "fp16", "frintts", "i8mm", "jsconv", "lse", "neon", "paca", "pacg", "rcpc", "rcpc2",
    "rdm", "sb", "sha2", "sha3", "ssbs"
);

declare_is_compatible!(
    "apple_m3", "aes", "bf16", "bti", "crc", "dit", "dotprod", "dpb", "dpb2", "fcma", "fhm",
    "flagm", "fp16", "frintts", "i8mm", "jsconv", "lse", "neon", "paca", "pacg", "rcpc", "rcpc2",
    "rdm", "sb", "sha2", "sha3", "ssbs"
);

declare_is_compatible!(
    "apple_m4", "aes", "bf16", "bti", "crc", "dit", "dotprod", "dpb", "dpb2", "fcma", "fhm",
    "flagm", "fp16", "frintts", "i8mm", "jsconv", "lse", "neon", "paca", "pacg", "rcpc", "rcpc2",
    "rdm", "sb", "sha2", "sha3", "ssbs"
);

declare_is_compatible!(
    "apple_m5", "aes", "bf16", "bti", "crc", "dit", "dotprod", "dpb", "dpb2", "fcma", "fhm",
    "flagm", "fp16", "frintts", "i8mm", "jsconv", "lse", "mte", "neon", "paca", "pacg", "rcpc",
    "rcpc2", "rdm", "sb", "sha2", "sha3", "ssbs"
);