cpudetect 0.1.0

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

declare_is_compatible!(
    "carmel", "aes", "crc", "dpb", "fp16", "lor", "lse", "neon", "pan", "ras", "rdm", "sha2", "vh"
);

declare_is_compatible!(
    "grace", "aes", "bf16", "bti", "crc", "dit", "dotprod", "dpb", "dpb2", "fcma", "fhm", "flagm",
    "fp16", "frintts", "i8mm", "jsconv", "lor", "lse", "mte", "neon", "paca", "pacg", "pan",
    "pmuv3", "ras", "rcpc", "rcpc2", "rdm", "sb", "sha2", "sha3", "sm4", // "spe", - Unstable
    "ssbs", "sve", "sve2", "vh"
);

declare_is_compatible!(
    "gb10", "aes", "bf16", "bti", "crc", "dit", "dotprod", "dpb", "dpb2", "fcma", "fhm", "flagm",
    "fp16", "frintts", "i8mm", "jsconv", "lor", "lse", "mte", "neon", "paca", "pacg", "pan",
    "pmuv3", "ras", "rcpc", "rcpc2", "rdm", "sb", "sha2", "sha3", "sm4", // "spe", - Unstable
    "ssbs", "sve", "sve2", "vh"
);

declare_is_compatible!(
    "olympus", "aes", "bf16", "bti", "crc", "dit", "dotprod", "dpb", "dpb2", "fcma", "fhm",
    "flagm", "fp16", "frintts", "i8mm", "jsconv", "lor", "lse", "mte", "neon", "paca", "pacg",
    "pan", "pmuv3", "rand", "ras", "rcpc", "rcpc2", "rdm", "sb", "sha2", "sha3",
    "sm4", // "spe", - Unstable
    "ssbs", "sve", "sve2", "vh"
);