Skip to content

Commit 00aa60a

Browse files
authored
Stabilise is_aarch64_feature_detected! under simd_aarch64 feature (#1239)
1 parent cf9c648 commit 00aa60a

File tree

1 file changed

+40
-40
lines changed

1 file changed

+40
-40
lines changed

crates/std_detect/src/detect/arch/aarch64.rs

+40-40
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ features! {
5555
/// * `"sm4"` - FEAT_SM3 & FEAT_SM4
5656
///
5757
/// [docs]: https://developer.arm.com/documentation/ddi0487/latest
58-
#[unstable(feature = "stdsimd", issue = "27731")]
58+
#[stable(feature = "simd_aarch64", since = "1.60.0")]
5959
@BIND_FEATURE_NAME: "asimd"; "neon";
6060
@NO_RUNTIME_DETECTION: "ras";
6161
@NO_RUNTIME_DETECTION: "v8.1a";
@@ -65,84 +65,84 @@ features! {
6565
@NO_RUNTIME_DETECTION: "v8.5a";
6666
@NO_RUNTIME_DETECTION: "v8.6a";
6767
@NO_RUNTIME_DETECTION: "v8.7a";
68-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] asimd: "neon";
68+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] asimd: "neon";
6969
/// FEAT_AdvSIMD (Advanced SIMD/NEON)
70-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] pmull: "pmull";
70+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] pmull: "pmull";
7171
/// FEAT_PMULL (Polynomial Multiply)
72-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] fp: "fp";
72+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] fp: "fp";
7373
/// FEAT_FP (Floating point support)
74-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] fp16: "fp16";
74+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] fp16: "fp16";
7575
/// FEAT_FP16 (Half-float support)
76-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] sve: "sve";
76+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] sve: "sve";
7777
/// FEAT_SVE (Scalable Vector Extension)
78-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] crc: "crc";
78+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] crc: "crc";
7979
/// FEAT_CRC32 (Cyclic Redundancy Check)
80-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] lse: "lse";
80+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] lse: "lse";
8181
/// FEAT_LSE (Large System Extension - atomics)
82-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] lse2: "lse2";
82+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] lse2: "lse2";
8383
/// FEAT_LSE2 (unaligned and register-pair atomics)
84-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] rdm: "rdm";
84+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] rdm: "rdm";
8585
/// FEAT_RDM (Rounding Doubling Multiply - ASIMDRDM)
86-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] rcpc: "rcpc";
86+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] rcpc: "rcpc";
8787
/// FEAT_LRCPC (Release consistent Processor consistent)
88-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] rcpc2: "rcpc2";
88+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] rcpc2: "rcpc2";
8989
/// FEAT_LRCPC2 (RCPC with immediate offsets)
90-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] dotprod: "dotprod";
90+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] dotprod: "dotprod";
9191
/// FEAT_DotProd (Vector Dot-Product - ASIMDDP)
92-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] tme: "tme";
92+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] tme: "tme";
9393
/// FEAT_TME (Transactional Memory Extensions)
94-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] fhm: "fhm";
94+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] fhm: "fhm";
9595
/// FEAT_FHM (fp16 multiplication instructions)
96-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] dit: "dit";
96+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] dit: "dit";
9797
/// FEAT_DIT (Data Independent Timing instructions)
98-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] flagm: "flagm";
98+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] flagm: "flagm";
9999
/// FEAT_FLAGM (flag manipulation instructions)
100-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] ssbs: "ssbs";
100+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] ssbs: "ssbs";
101101
/// FEAT_SSBS (speculative store bypass safe)
102-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] sb: "sb";
102+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] sb: "sb";
103103
/// FEAT_SB (speculation barrier)
104104
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] pauth: "pauth";
105105
/// FEAT_PAuth (pointer authentication)
106-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] dpb: "dpb";
106+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] dpb: "dpb";
107107
/// FEAT_DPB (aka dcpop - data cache clean to point of persistence)
108-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] dpb2: "dpb2";
108+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] dpb2: "dpb2";
109109
/// FEAT_DPB2 (aka dcpodp - data cache clean to point of deep persistence)
110-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] sve2: "sve2";
110+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] sve2: "sve2";
111111
/// FEAT_SVE2 (Scalable Vector Extension 2)
112-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] sve2_aes: "sve2-aes";
112+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] sve2_aes: "sve2-aes";
113113
/// FEAT_SVE_AES (SVE2 AES crypto)
114-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] sve2_sm4: "sve2-sm4";
114+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] sve2_sm4: "sve2-sm4";
115115
/// FEAT_SVE_SM4 (SVE2 SM4 crypto)
116-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] sve2_sha3: "sve2-sha3";
116+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] sve2_sha3: "sve2-sha3";
117117
/// FEAT_SVE_SHA3 (SVE2 SHA3 crypto)
118-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] sve2_bitperm: "sve2-bitperm";
118+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] sve2_bitperm: "sve2-bitperm";
119119
/// FEAT_SVE_BitPerm (SVE2 bit permutation instructions)
120-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] frintts: "frintts";
120+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] frintts: "frintts";
121121
/// FEAT_FRINTTS (float to integer rounding instructions)
122-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] i8mm: "i8mm";
122+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] i8mm: "i8mm";
123123
/// FEAT_I8MM (integer matrix multiplication, plus ASIMD support)
124-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] f32mm: "f32mm";
124+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] f32mm: "f32mm";
125125
/// FEAT_F32MM (single-precision matrix multiplication)
126-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] f64mm: "f64mm";
126+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] f64mm: "f64mm";
127127
/// FEAT_F64MM (double-precision matrix multiplication)
128-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] bf16: "bf16";
128+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] bf16: "bf16";
129129
/// FEAT_BF16 (BFloat16 type, plus MM instructions, plus ASIMD support)
130-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] rand: "rand";
130+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] rand: "rand";
131131
/// FEAT_RNG (Random Number Generator)
132-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] bti: "bti";
132+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] bti: "bti";
133133
/// FEAT_BTI (Branch Target Identification)
134-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] mte: "mte";
134+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] mte: "mte";
135135
/// FEAT_MTE (Memory Tagging Extension)
136-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] jsconv: "jsconv";
136+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] jsconv: "jsconv";
137137
/// FEAT_JSCVT (JavaScript float conversion instructions)
138-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] fcma: "fcma";
138+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] fcma: "fcma";
139139
/// FEAT_FCMA (float complex number operations)
140-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] aes: "aes";
140+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] aes: "aes";
141141
/// FEAT_AES (AES instructions)
142-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] sha2: "sha2";
142+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] sha2: "sha2";
143143
/// FEAT_SHA1 & FEAT_SHA256 (SHA1 & SHA2-256 instructions)
144-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] sha3: "sha3";
144+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] sha3: "sha3";
145145
/// FEAT_SHA512 & FEAT_SHA3 (SHA2-512 & SHA3 instructions)
146-
@FEATURE: #[unstable(feature = "stdsimd", issue = "27731")] sm4: "sm4";
146+
@FEATURE: #[stable(feature = "simd_aarch64", since = "1.60.0")] sm4: "sm4";
147147
/// FEAT_SM3 & FEAT_SM4 (SM3 & SM4 instructions)
148148
}

0 commit comments

Comments
 (0)