Skip to content

Commit

Permalink
Move is_aarch64_feature_detected! to simd_aarch64 feature and
Browse files Browse the repository at this point in the history
stabilise
  • Loading branch information
adamgemmell committed Oct 25, 2021
1 parent 299b5e2 commit 58b0311
Showing 1 changed file with 41 additions and 41 deletions.
82 changes: 41 additions & 41 deletions crates/std_detect/src/detect/arch/aarch64.rs
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ features! {
/// * `"sm4"` - FEAT_SM3 & FEAT_SM4
///
/// [docs]: https://developer.arm.com/documentation/ddi0487/latest
#[unstable(feature = "stdsimd", issue = "27731")]
#[stable(feature = "simd_aarch64", since = "1.58.0")]
@BIND_FEATURE_NAME: "asimd"; "neon";
@NO_RUNTIME_DETECTION: "ras";
@NO_RUNTIME_DETECTION: "v8.1a";
Expand All @@ -65,84 +65,84 @@ features! {
@NO_RUNTIME_DETECTION: "v8.5a";
@NO_RUNTIME_DETECTION: "v8.6a";
@NO_RUNTIME_DETECTION: "v8.7a";
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] asimd: "neon";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] asimd: "neon";
/// FEAT_AdvSIMD (Advanced SIMD/NEON)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] pmull: "pmull";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] pmull: "pmull";
/// FEAT_PMULL (Polynomial Multiply)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] fp: "fp";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] fp: "fp";
/// FEAT_FP (Floating point support)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] fp16: "fp16";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] fp16: "fp16";
/// FEAT_FP16 (Half-float support)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] sve: "sve";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] sve: "sve";
/// FEAT_SVE (Scalable Vector Extension)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] crc: "crc";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] crc: "crc";
/// FEAT_CRC32 (Cyclic Redundancy Check)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] lse: "lse";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] lse: "lse";
/// FEAT_LSE (Large System Extension - atomics)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] lse2: "lse2";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] lse2: "lse2";
/// FEAT_LSE2 (unaligned and register-pair atomics)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] rdm: "rdm";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] rdm: "rdm";
/// FEAT_RDM (Rounding Doubling Multiply - ASIMDRDM)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] rcpc: "rcpc";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] rcpc: "rcpc";
/// FEAT_LRCPC (Release consistent Processor consistent)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] rcpc2: "rcpc2";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] rcpc2: "rcpc2";
/// FEAT_LRCPC2 (RCPC with immediate offsets)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] dotprod: "dotprod";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] dotprod: "dotprod";
/// FEAT_DotProd (Vector Dot-Product - ASIMDDP)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] tme: "tme";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] tme: "tme";
/// FEAT_TME (Transactional Memory Extensions)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] fhm: "fhm";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] fhm: "fhm";
/// FEAT_FHM (fp16 multiplication instructions)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] dit: "dit";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] dit: "dit";
/// FEAT_DIT (Data Independent Timing instructions)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] flagm: "flagm";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] flagm: "flagm";
/// FEAT_FLAGM (flag manipulation instructions)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] ssbs: "ssbs";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] ssbs: "ssbs";
/// FEAT_SSBS (speculative store bypass safe)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] sb: "sb";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] sb: "sb";
/// FEAT_SB (speculation barrier)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] pauth: "pauth";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] pauth: "pauth";
/// FEAT_PAuth (pointer authentication)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] dpb: "dpb";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] dpb: "dpb";
/// FEAT_DPB (aka dcpop - data cache clean to point of persistance)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] dpb2: "dpb2";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] dpb2: "dpb2";
/// FEAT_DPB2 (aka dcpodp - data cache clean to point of deep persistance)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] sve2: "sve2";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] sve2: "sve2";
/// FEAT_SVE2 (Scalable Vector Extension 2)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] sve2_aes: "sve2-aes";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] sve2_aes: "sve2-aes";
/// FEAT_SVE_AES (SVE2 AES crypto)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] sve2_sm4: "sve2-sm4";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] sve2_sm4: "sve2-sm4";
/// FEAT_SVE_SM4 (SVE2 SM4 crypto)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] sve2_sha3: "sve2-sha3";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] sve2_sha3: "sve2-sha3";
/// FEAT_SVE_SHA3 (SVE2 SHA3 crypto)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] sve2_bitperm: "sve2-bitperm";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] sve2_bitperm: "sve2-bitperm";
/// FEAT_SVE_BitPerm (SVE2 bit permutation instructions)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] frintts: "frintts";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] frintts: "frintts";
/// FEAT_FRINTTS (float to integer rounding instructions)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] i8mm: "i8mm";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] i8mm: "i8mm";
/// FEAT_I8MM (integer matrix multiplication, plus ASIMD support)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] f32mm: "f32mm";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] f32mm: "f32mm";
/// FEAT_F32MM (single-precision matrix multiplication)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] f64mm: "f64mm";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] f64mm: "f64mm";
/// FEAT_F64MM (double-precision matrix multiplication)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] bf16: "bf16";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] bf16: "bf16";
/// FEAT_BF16 (BFloat16 type, plus MM instructions, plus ASIMD support)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] rand: "rand";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] rand: "rand";
/// FEAT_RNG (Random Number Generator)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] bti: "bti";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] bti: "bti";
/// FEAT_BTI (Branch Target Identification)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] mte: "mte";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] mte: "mte";
/// FEAT_MTE (Memory Tagging Extension)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] jsconv: "jsconv";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] jsconv: "jsconv";
/// FEAT_JSCVT (JavaScript float conversion instructions)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] fcma: "fcma";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] fcma: "fcma";
/// FEAT_FCMA (float complex number operations)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] aes: "aes";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] aes: "aes";
/// FEAT_AES (AES instructions)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] sha2: "sha2";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] sha2: "sha2";
/// FEAT_SHA1 & FEAT_SHA256 (SHA1 & SHA2-256 instructions)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] sha3: "sha3";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] sha3: "sha3";
/// FEAT_SHA512 & FEAT_SHA3 (SHA2-512 & SHA3 instructions)
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] sm4: "sm4";
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.58.0")] sm4: "sm4";
/// FEAT_SM3 & FEAT_SM4 (SM3 & SM4 instructions)
}

0 comments on commit 58b0311

Please sign in to comment.