Skip to content

Commit 0708bdf

Browse files
committed
Add tracking issue for 32-bit ARM DSP instrinsics
1 parent 60ea44f commit 0708bdf

File tree

5 files changed

+51
-2
lines changed

5 files changed

+51
-2
lines changed

crates/core_arch/src/arm/dsp.rs

+17
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,10 @@ use crate::mem::transmute;
2727

2828
types! {
2929
/// ARM-specific 32-bit wide vector of two packed `i16`.
30+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
3031
pub struct int16x2_t(i16, i16);
3132
/// ARM-specific 32-bit wide vector of two packed `u16`.
33+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
3234
pub struct uint16x2_t(u16, u16);
3335
}
3436

@@ -82,6 +84,7 @@ extern "unadjusted" {
8284
/// where \[0\] is the lower 16 bits and \[1\] is the upper 16 bits.
8385
#[inline]
8486
#[cfg_attr(test, assert_instr(smulbb))]
87+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
8588
pub unsafe fn __smulbb(a: int16x2_t, b: int16x2_t) -> i32 {
8689
arm_smulbb(transmute(a), transmute(b))
8790
}
@@ -92,6 +95,7 @@ pub unsafe fn __smulbb(a: int16x2_t, b: int16x2_t) -> i32 {
9295
/// where \[0\] is the lower 16 bits and \[1\] is the upper 16 bits.
9396
#[inline]
9497
#[cfg_attr(test, assert_instr(smultb))]
98+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
9599
pub unsafe fn __smultb(a: int16x2_t, b: int16x2_t) -> i32 {
96100
arm_smultb(transmute(a), transmute(b))
97101
}
@@ -102,6 +106,7 @@ pub unsafe fn __smultb(a: int16x2_t, b: int16x2_t) -> i32 {
102106
/// where \[0\] is the lower 16 bits and \[1\] is the upper 16 bits.
103107
#[inline]
104108
#[cfg_attr(test, assert_instr(smulbt))]
109+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
105110
pub unsafe fn __smulbt(a: int16x2_t, b: int16x2_t) -> i32 {
106111
arm_smulbt(transmute(a), transmute(b))
107112
}
@@ -112,6 +117,7 @@ pub unsafe fn __smulbt(a: int16x2_t, b: int16x2_t) -> i32 {
112117
/// where \[0\] is the lower 16 bits and \[1\] is the upper 16 bits.
113118
#[inline]
114119
#[cfg_attr(test, assert_instr(smultt))]
120+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
115121
pub unsafe fn __smultt(a: int16x2_t, b: int16x2_t) -> i32 {
116122
arm_smultt(transmute(a), transmute(b))
117123
}
@@ -123,6 +129,7 @@ pub unsafe fn __smultt(a: int16x2_t, b: int16x2_t) -> i32 {
123129
/// Return the top 32 bits of the 48-bit product
124130
#[inline]
125131
#[cfg_attr(test, assert_instr(smulwb))]
132+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
126133
pub unsafe fn __smulwb(a: int16x2_t, b: i32) -> i32 {
127134
arm_smulwb(transmute(a), b)
128135
}
@@ -134,6 +141,7 @@ pub unsafe fn __smulwb(a: int16x2_t, b: i32) -> i32 {
134141
/// Return the top 32 bits of the 48-bit product
135142
#[inline]
136143
#[cfg_attr(test, assert_instr(smulwt))]
144+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
137145
pub unsafe fn __smulwt(a: int16x2_t, b: i32) -> i32 {
138146
arm_smulwt(transmute(a), b)
139147
}
@@ -144,6 +152,7 @@ pub unsafe fn __smulwt(a: int16x2_t, b: i32) -> i32 {
144152
/// Sets the Q flag if saturation occurs.
145153
#[inline]
146154
#[cfg_attr(test, assert_instr(qadd))]
155+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
147156
pub unsafe fn __qadd(a: i32, b: i32) -> i32 {
148157
arm_qadd(a, b)
149158
}
@@ -154,6 +163,7 @@ pub unsafe fn __qadd(a: i32, b: i32) -> i32 {
154163
/// Sets the Q flag if saturation occurs.
155164
#[inline]
156165
#[cfg_attr(test, assert_instr(qsub))]
166+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
157167
pub unsafe fn __qsub(a: i32, b: i32) -> i32 {
158168
arm_qsub(a, b)
159169
}
@@ -164,6 +174,7 @@ pub unsafe fn __qsub(a: i32, b: i32) -> i32 {
164174
/// Sets the Q flag if saturation occurs.
165175
#[inline]
166176
#[cfg_attr(test, assert_instr(qadd))]
177+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
167178
pub unsafe fn __qdbl(a: i32) -> i32 {
168179
arm_qadd(a, a)
169180
}
@@ -175,6 +186,7 @@ pub unsafe fn __qdbl(a: i32) -> i32 {
175186
/// Sets the Q flag if overflow occurs on the addition.
176187
#[inline]
177188
#[cfg_attr(test, assert_instr(smlabb))]
189+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
178190
pub unsafe fn __smlabb(a: int16x2_t, b: int16x2_t, c: i32) -> i32 {
179191
arm_smlabb(transmute(a), transmute(b), c)
180192
}
@@ -186,6 +198,7 @@ pub unsafe fn __smlabb(a: int16x2_t, b: int16x2_t, c: i32) -> i32 {
186198
/// Sets the Q flag if overflow occurs on the addition.
187199
#[inline]
188200
#[cfg_attr(test, assert_instr(smlabt))]
201+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
189202
pub unsafe fn __smlabt(a: int16x2_t, b: int16x2_t, c: i32) -> i32 {
190203
arm_smlabt(transmute(a), transmute(b), c)
191204
}
@@ -197,6 +210,7 @@ pub unsafe fn __smlabt(a: int16x2_t, b: int16x2_t, c: i32) -> i32 {
197210
/// Sets the Q flag if overflow occurs on the addition.
198211
#[inline]
199212
#[cfg_attr(test, assert_instr(smlatb))]
213+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
200214
pub unsafe fn __smlatb(a: int16x2_t, b: int16x2_t, c: i32) -> i32 {
201215
arm_smlatb(transmute(a), transmute(b), c)
202216
}
@@ -208,6 +222,7 @@ pub unsafe fn __smlatb(a: int16x2_t, b: int16x2_t, c: i32) -> i32 {
208222
/// Sets the Q flag if overflow occurs on the addition.
209223
#[inline]
210224
#[cfg_attr(test, assert_instr(smlatt))]
225+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
211226
pub unsafe fn __smlatt(a: int16x2_t, b: int16x2_t, c: i32) -> i32 {
212227
arm_smlatt(transmute(a), transmute(b), c)
213228
}
@@ -219,6 +234,7 @@ pub unsafe fn __smlatt(a: int16x2_t, b: int16x2_t, c: i32) -> i32 {
219234
/// Sets the Q flag if overflow occurs on the addition.
220235
#[inline]
221236
#[cfg_attr(test, assert_instr(smlawb))]
237+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
222238
pub unsafe fn __smlawb(a: i32, b: int16x2_t, c: i32) -> i32 {
223239
arm_smlawb(a, transmute(b), c)
224240
}
@@ -230,6 +246,7 @@ pub unsafe fn __smlawb(a: i32, b: int16x2_t, c: i32) -> i32 {
230246
/// Sets the Q flag if overflow occurs on the addition.
231247
#[inline]
232248
#[cfg_attr(test, assert_instr(smlawt))]
249+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
233250
pub unsafe fn __smlawt(a: i32, b: int16x2_t, c: i32) -> i32 {
234251
arm_smlawt(a, transmute(b), c)
235252
}

crates/core_arch/src/arm/mod.rs

+5-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ pub use self::sat::*;
2525
all(target_feature = "mclass", target_feature = "dsp"),
2626
doc,
2727
))]
28-
pub mod dsp;
28+
mod dsp;
2929

3030
#[cfg(any(
3131
// >= v5TE but excludes v7-M
@@ -34,6 +34,7 @@ pub mod dsp;
3434
all(target_feature = "mclass", target_feature = "dsp"),
3535
doc,
3636
))]
37+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
3738
pub use self::dsp::*;
3839

3940
// Deprecated in ACLE 2.0 for the A profile but fully supported on the M and R profiles, says
@@ -54,8 +55,10 @@ mod simd32;
5455
all(target_feature = "mclass", target_feature = "dsp"),
5556
doc,
5657
))]
58+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
5759
pub use self::simd32::*;
5860

61+
#[unstable(feature = "stdarch_arm_neon_intrinsics", issue = "111800")]
5962
pub use crate::core_arch::arm_shared::*;
6063

6164
#[cfg(test)]
@@ -67,4 +70,5 @@ use stdarch_test::assert_instr;
6770
pub(crate) mod neon;
6871
#[cfg(target_endian = "little")]
6972
#[cfg(any(target_feature = "v7", doc))]
73+
#[unstable(feature = "stdarch_arm_neon_intrinsics", issue = "111800")]
7074
pub use neon::*;

crates/core_arch/src/arm/simd32.rs

+26
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,10 @@ use crate::{core_arch::arm::dsp::int16x2_t, mem::transmute};
6969

7070
types! {
7171
/// ARM-specific 32-bit wide vector of four packed `i8`.
72+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
7273
pub struct int8x4_t(i8, i8, i8, i8);
7374
/// ARM-specific 32-bit wide vector of four packed `u8`.
75+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
7476
pub struct uint8x4_t(u8, u8, u8, u8);
7577
}
7678

@@ -161,6 +163,7 @@ extern "unadjusted" {
161163
/// res\[3\] = a\[3\] + b\[3\]
162164
#[inline]
163165
#[cfg_attr(test, assert_instr(qadd8))]
166+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
164167
pub unsafe fn __qadd8(a: int8x4_t, b: int8x4_t) -> int8x4_t {
165168
dsp_call!(arm_qadd8, a, b)
166169
}
@@ -175,6 +178,7 @@ pub unsafe fn __qadd8(a: int8x4_t, b: int8x4_t) -> int8x4_t {
175178
/// res\[3\] = a\[3\] - b\[3\]
176179
#[inline]
177180
#[cfg_attr(test, assert_instr(qsub8))]
181+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
178182
pub unsafe fn __qsub8(a: int8x4_t, b: int8x4_t) -> int8x4_t {
179183
dsp_call!(arm_qsub8, a, b)
180184
}
@@ -187,6 +191,7 @@ pub unsafe fn __qsub8(a: int8x4_t, b: int8x4_t) -> int8x4_t {
187191
/// res\[1\] = a\[1\] - b\[1\]
188192
#[inline]
189193
#[cfg_attr(test, assert_instr(qsub16))]
194+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
190195
pub unsafe fn __qsub16(a: int16x2_t, b: int16x2_t) -> int16x2_t {
191196
dsp_call!(arm_qsub16, a, b)
192197
}
@@ -199,6 +204,7 @@ pub unsafe fn __qsub16(a: int16x2_t, b: int16x2_t) -> int16x2_t {
199204
/// res\[1\] = a\[1\] + b\[1\]
200205
#[inline]
201206
#[cfg_attr(test, assert_instr(qadd16))]
207+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
202208
pub unsafe fn __qadd16(a: int16x2_t, b: int16x2_t) -> int16x2_t {
203209
dsp_call!(arm_qadd16, a, b)
204210
}
@@ -209,6 +215,7 @@ pub unsafe fn __qadd16(a: int16x2_t, b: int16x2_t) -> int16x2_t {
209215
/// res\[1\] = a\[1\] + b\[0\]
210216
#[inline]
211217
#[cfg_attr(test, assert_instr(qasx))]
218+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
212219
pub unsafe fn __qasx(a: int16x2_t, b: int16x2_t) -> int16x2_t {
213220
dsp_call!(arm_qasx, a, b)
214221
}
@@ -219,6 +226,7 @@ pub unsafe fn __qasx(a: int16x2_t, b: int16x2_t) -> int16x2_t {
219226
/// res\[1\] = a\[1\] - b\[0\]
220227
#[inline]
221228
#[cfg_attr(test, assert_instr(qsax))]
229+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
222230
pub unsafe fn __qsax(a: int16x2_t, b: int16x2_t) -> int16x2_t {
223231
dsp_call!(arm_qsax, a, b)
224232
}
@@ -231,6 +239,7 @@ pub unsafe fn __qsax(a: int16x2_t, b: int16x2_t) -> int16x2_t {
231239
/// and the GE bits of the APSR are set.
232240
#[inline]
233241
#[cfg_attr(test, assert_instr(sadd16))]
242+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
234243
pub unsafe fn __sadd16(a: int16x2_t, b: int16x2_t) -> int16x2_t {
235244
dsp_call!(arm_sadd16, a, b)
236245
}
@@ -245,6 +254,7 @@ pub unsafe fn __sadd16(a: int16x2_t, b: int16x2_t) -> int16x2_t {
245254
/// and the GE bits of the APSR are set.
246255
#[inline]
247256
#[cfg_attr(test, assert_instr(sadd8))]
257+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
248258
pub unsafe fn __sadd8(a: int8x4_t, b: int8x4_t) -> int8x4_t {
249259
dsp_call!(arm_sadd8, a, b)
250260
}
@@ -256,6 +266,7 @@ pub unsafe fn __sadd8(a: int8x4_t, b: int8x4_t) -> int8x4_t {
256266
/// res = a\[0\] * b\[0\] + a\[1\] * b\[1\] + c
257267
#[inline]
258268
#[cfg_attr(test, assert_instr(smlad))]
269+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
259270
pub unsafe fn __smlad(a: int16x2_t, b: int16x2_t, c: i32) -> i32 {
260271
arm_smlad(transmute(a), transmute(b), c)
261272
}
@@ -267,6 +278,7 @@ pub unsafe fn __smlad(a: int16x2_t, b: int16x2_t, c: i32) -> i32 {
267278
/// res = a\[0\] * b\[0\] - a\[1\] * b\[1\] + c
268279
#[inline]
269280
#[cfg_attr(test, assert_instr(smlsd))]
281+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
270282
pub unsafe fn __smlsd(a: int16x2_t, b: int16x2_t, c: i32) -> i32 {
271283
arm_smlsd(transmute(a), transmute(b), c)
272284
}
@@ -279,6 +291,7 @@ pub unsafe fn __smlsd(a: int16x2_t, b: int16x2_t, c: i32) -> i32 {
279291
/// and the GE bits of the APSR are set.
280292
#[inline]
281293
#[cfg_attr(test, assert_instr(sasx))]
294+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
282295
pub unsafe fn __sasx(a: int16x2_t, b: int16x2_t) -> int16x2_t {
283296
dsp_call!(arm_sasx, a, b)
284297
}
@@ -295,6 +308,7 @@ pub unsafe fn __sasx(a: int16x2_t, b: int16x2_t) -> int16x2_t {
295308
/// where GE are bits of APSR
296309
#[inline]
297310
#[cfg_attr(test, assert_instr(sel))]
311+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
298312
pub unsafe fn __sel(a: int8x4_t, b: int8x4_t) -> int8x4_t {
299313
dsp_call!(arm_sel, a, b)
300314
}
@@ -309,6 +323,7 @@ pub unsafe fn __sel(a: int8x4_t, b: int8x4_t) -> int8x4_t {
309323
/// res\[3\] = (a\[3\] + b\[3\]) / 2
310324
#[inline]
311325
#[cfg_attr(test, assert_instr(shadd8))]
326+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
312327
pub unsafe fn __shadd8(a: int8x4_t, b: int8x4_t) -> int8x4_t {
313328
dsp_call!(arm_shadd8, a, b)
314329
}
@@ -321,6 +336,7 @@ pub unsafe fn __shadd8(a: int8x4_t, b: int8x4_t) -> int8x4_t {
321336
/// res\[1\] = (a\[1\] + b\[1\]) / 2
322337
#[inline]
323338
#[cfg_attr(test, assert_instr(shadd16))]
339+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
324340
pub unsafe fn __shadd16(a: int16x2_t, b: int16x2_t) -> int16x2_t {
325341
dsp_call!(arm_shadd16, a, b)
326342
}
@@ -335,6 +351,7 @@ pub unsafe fn __shadd16(a: int16x2_t, b: int16x2_t) -> int16x2_t {
335351
/// res\[3\] = (a\[3\] - b\[3\]) / 2
336352
#[inline]
337353
#[cfg_attr(test, assert_instr(shsub8))]
354+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
338355
pub unsafe fn __shsub8(a: int8x4_t, b: int8x4_t) -> int8x4_t {
339356
dsp_call!(arm_shsub8, a, b)
340357
}
@@ -352,6 +369,7 @@ pub unsafe fn __shsub8(a: int8x4_t, b: int8x4_t) -> int8x4_t {
352369
/// The GE bits of the APSR are set.
353370
#[inline]
354371
#[cfg_attr(test, assert_instr(usub8))]
372+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
355373
pub unsafe fn __usub8(a: uint8x4_t, b: uint8x4_t) -> uint8x4_t {
356374
dsp_call!(arm_usub8, a, b)
357375
}
@@ -369,6 +387,7 @@ pub unsafe fn __usub8(a: uint8x4_t, b: uint8x4_t) -> uint8x4_t {
369387
/// The GE bits of the APSR are set.
370388
#[inline]
371389
#[cfg_attr(test, assert_instr(ssub8))]
390+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
372391
pub unsafe fn __ssub8(a: int8x4_t, b: int8x4_t) -> int8x4_t {
373392
dsp_call!(arm_ssub8, a, b)
374393
}
@@ -381,6 +400,7 @@ pub unsafe fn __ssub8(a: int8x4_t, b: int8x4_t) -> int8x4_t {
381400
/// res\[1\] = (a\[1\] - b\[1\]) / 2
382401
#[inline]
383402
#[cfg_attr(test, assert_instr(shsub16))]
403+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
384404
pub unsafe fn __shsub16(a: int16x2_t, b: int16x2_t) -> int16x2_t {
385405
dsp_call!(arm_shsub16, a, b)
386406
}
@@ -394,6 +414,7 @@ pub unsafe fn __shsub16(a: int16x2_t, b: int16x2_t) -> int16x2_t {
394414
/// and sets the Q flag if overflow occurs on the addition.
395415
#[inline]
396416
#[cfg_attr(test, assert_instr(smuad))]
417+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
397418
pub unsafe fn __smuad(a: int16x2_t, b: int16x2_t) -> i32 {
398419
arm_smuad(transmute(a), transmute(b))
399420
}
@@ -407,6 +428,7 @@ pub unsafe fn __smuad(a: int16x2_t, b: int16x2_t) -> i32 {
407428
/// and sets the Q flag if overflow occurs on the addition.
408429
#[inline]
409430
#[cfg_attr(test, assert_instr(smuadx))]
431+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
410432
pub unsafe fn __smuadx(a: int16x2_t, b: int16x2_t) -> i32 {
411433
arm_smuadx(transmute(a), transmute(b))
412434
}
@@ -420,6 +442,7 @@ pub unsafe fn __smuadx(a: int16x2_t, b: int16x2_t) -> i32 {
420442
/// and sets the Q flag if overflow occurs on the addition.
421443
#[inline]
422444
#[cfg_attr(test, assert_instr(smusd))]
445+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
423446
pub unsafe fn __smusd(a: int16x2_t, b: int16x2_t) -> i32 {
424447
arm_smusd(transmute(a), transmute(b))
425448
}
@@ -433,6 +456,7 @@ pub unsafe fn __smusd(a: int16x2_t, b: int16x2_t) -> i32 {
433456
/// and sets the Q flag if overflow occurs on the addition.
434457
#[inline]
435458
#[cfg_attr(test, assert_instr(smusdx))]
459+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
436460
pub unsafe fn __smusdx(a: int16x2_t, b: int16x2_t) -> i32 {
437461
arm_smusdx(transmute(a), transmute(b))
438462
}
@@ -445,6 +469,7 @@ pub unsafe fn __smusdx(a: int16x2_t, b: int16x2_t) -> i32 {
445469
/// (a\[2\] - b\[2\]) + (a\[3\] - b\[3\])
446470
#[inline]
447471
#[cfg_attr(test, assert_instr(usad8))]
472+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
448473
pub unsafe fn __usad8(a: int8x4_t, b: int8x4_t) -> u32 {
449474
arm_usad8(transmute(a), transmute(b))
450475
}
@@ -457,6 +482,7 @@ pub unsafe fn __usad8(a: int8x4_t, b: int8x4_t) -> u32 {
457482
/// (a\[2\] - b\[2\]) + (a\[3\] - b\[3\]) + c
458483
#[inline]
459484
#[cfg_attr(test, assert_instr(usad8))]
485+
#[unstable(feature = "stdarch_arm_dsp", issue = "117237")]
460486
pub unsafe fn __usada8(a: int8x4_t, b: int8x4_t, c: u32) -> u32 {
461487
__usad8(a, b) + c
462488
}

crates/core_arch/src/lib.rs

+1
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
test(attr(deny(warnings))),
5858
test(attr(allow(dead_code, deprecated, unused_variables, unused_mut)))
5959
)]
60+
#![cfg_attr(test, feature(stdarch_arm_feature_detection))]
6061

6162
#[cfg(test)]
6263
#[macro_use]

crates/core_arch/src/mod.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,9 @@ pub mod arch {
4343
/// See the [module documentation](../index.html) for more details.
4444
#[cfg(any(target_arch = "arm", doc))]
4545
#[doc(cfg(target_arch = "arm"))]
46-
#[unstable(feature = "stdsimd", issue = "27731")]
46+
#[unstable(feature = "stdarch_arm_neon_intrinsics", issue = "111800")]
4747
pub mod arm {
48+
#[unstable(feature = "stdarch_arm_neon_intrinsics", issue = "111800")]
4849
pub use crate::core_arch::arm::*;
4950
}
5051

0 commit comments

Comments
 (0)