From 7b949802628d53de05bb104651a40fc103337799 Mon Sep 17 00:00:00 2001 From: Adam Gemmell Date: Tue, 19 Oct 2021 16:36:49 +0000 Subject: [PATCH] Move `is_aarch64_feature_detected!` to `simd_aarch64` feature and stabilise --- crates/std_detect/src/detect/arch/aarch64.rs | 80 ++++++++++---------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/crates/std_detect/src/detect/arch/aarch64.rs b/crates/std_detect/src/detect/arch/aarch64.rs index 2f90555428..5c3f604bea 100644 --- a/crates/std_detect/src/detect/arch/aarch64.rs +++ b/crates/std_detect/src/detect/arch/aarch64.rs @@ -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.60.0")] @BIND_FEATURE_NAME: "asimd"; "neon"; @NO_RUNTIME_DETECTION: "ras"; @NO_RUNTIME_DETECTION: "v8.1a"; @@ -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.60.0")] asimd: "neon"; /// FEAT_AdvSIMD (Advanced SIMD/NEON) - @FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] pmull: "pmull"; + @FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] pmull: "pmull"; /// FEAT_PMULL (Polynomial Multiply) - @FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] fp: "fp"; + @FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] fp: "fp"; /// FEAT_FP (Floating point support) - @FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] fp16: "fp16"; + @FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] fp16: "fp16"; /// FEAT_FP16 (Half-float support) - @FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] sve: "sve"; + @FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] sve: "sve"; /// FEAT_SVE (Scalable Vector Extension) - @FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] crc: "crc"; + @FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] crc: "crc"; /// FEAT_CRC32 (Cyclic Redundancy Check) - @FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] lse: "lse"; + @FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] lse: "lse"; /// FEAT_LSE (Large System Extension - atomics) - @FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] lse2: "lse2"; + @FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.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.60.0")] rdm: "rdm"; /// FEAT_RDM (Rounding Doubling Multiply - ASIMDRDM) - @FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] rcpc: "rcpc"; + @FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] rcpc: "rcpc"; /// FEAT_LRCPC (Release consistent Processor consistent) - @FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] rcpc2: "rcpc2"; + @FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] rcpc2: "rcpc2"; /// FEAT_LRCPC2 (RCPC with immediate offsets) - @FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] dotprod: "dotprod"; + @FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] dotprod: "dotprod"; /// FEAT_DotProd (Vector Dot-Product - ASIMDDP) - @FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] tme: "tme"; + @FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] tme: "tme"; /// FEAT_TME (Transactional Memory Extensions) - @FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] fhm: "fhm"; + @FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] fhm: "fhm"; /// FEAT_FHM (fp16 multiplication instructions) - @FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] dit: "dit"; + @FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] dit: "dit"; /// FEAT_DIT (Data Independent Timing instructions) - @FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] flagm: "flagm"; + @FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] flagm: "flagm"; /// FEAT_FLAGM (flag manipulation instructions) - @FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] ssbs: "ssbs"; + @FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] ssbs: "ssbs"; /// FEAT_SSBS (speculative store bypass safe) - @FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] sb: "sb"; + @FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] sb: "sb"; /// FEAT_SB (speculation barrier) @FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] pauth: "pauth"; /// FEAT_PAuth (pointer authentication) - @FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] dpb: "dpb"; + @FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] dpb: "dpb"; /// FEAT_DPB (aka dcpop - data cache clean to point of persistence) - @FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] dpb2: "dpb2"; + @FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] dpb2: "dpb2"; /// FEAT_DPB2 (aka dcpodp - data cache clean to point of deep persistence) - @FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] sve2: "sve2"; + @FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.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.60.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.60.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.60.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.60.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.60.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.60.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.60.0")] f32mm: "f32mm"; /// FEAT_F32MM (single-precision matrix multiplication) - @FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] f64mm: "f64mm"; + @FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] f64mm: "f64mm"; /// FEAT_F64MM (double-precision matrix multiplication) - @FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] bf16: "bf16"; + @FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.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.60.0")] rand: "rand"; /// FEAT_RNG (Random Number Generator) - @FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] bti: "bti"; + @FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] bti: "bti"; /// FEAT_BTI (Branch Target Identification) - @FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] mte: "mte"; + @FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] mte: "mte"; /// FEAT_MTE (Memory Tagging Extension) - @FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] jsconv: "jsconv"; + @FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] jsconv: "jsconv"; /// FEAT_JSCVT (JavaScript float conversion instructions) - @FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] fcma: "fcma"; + @FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] fcma: "fcma"; /// FEAT_FCMA (float complex number operations) - @FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] aes: "aes"; + @FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] aes: "aes"; /// FEAT_AES (AES instructions) - @FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] sha2: "sha2"; + @FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.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.60.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.60.0")] sm4: "sm4"; /// FEAT_SM3 & FEAT_SM4 (SM3 & SM4 instructions) }