Skip to content

Commit 6a6ff6e

Browse files
committed
Add stable attribute for RDM intrinsics
1 parent 4928400 commit 6a6ff6e

File tree

2 files changed

+39
-0
lines changed

2 files changed

+39
-0
lines changed

crates/core_arch/src/aarch64/neon/generated.rs

+36
Original file line numberDiff line numberDiff line change
@@ -10534,6 +10534,7 @@ pub unsafe fn vqrdmulhs_laneq_s32<const LANE: i32>(a: i32, b: int32x4_t) -> i32
1053410534
#[inline]
1053510535
#[target_feature(enable = "rdm")]
1053610536
#[cfg_attr(test, assert_instr(sqrdmlah))]
10537+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1053710538
pub unsafe fn vqrdmlah_s16(a: int16x4_t, b: int16x4_t, c: int16x4_t) -> int16x4_t {
1053810539
#[allow(improper_ctypes)]
1053910540
extern "unadjusted" {
@@ -10547,6 +10548,7 @@ pub unsafe fn vqrdmlah_s16(a: int16x4_t, b: int16x4_t, c: int16x4_t) -> int16x4_
1054710548
#[inline]
1054810549
#[target_feature(enable = "rdm")]
1054910550
#[cfg_attr(test, assert_instr(sqrdmlah))]
10551+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1055010552
pub unsafe fn vqrdmlahq_s16(a: int16x8_t, b: int16x8_t, c: int16x8_t) -> int16x8_t {
1055110553
#[allow(improper_ctypes)]
1055210554
extern "unadjusted" {
@@ -10560,6 +10562,7 @@ pub unsafe fn vqrdmlahq_s16(a: int16x8_t, b: int16x8_t, c: int16x8_t) -> int16x8
1056010562
#[inline]
1056110563
#[target_feature(enable = "rdm")]
1056210564
#[cfg_attr(test, assert_instr(sqrdmlah))]
10565+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1056310566
pub unsafe fn vqrdmlah_s32(a: int32x2_t, b: int32x2_t, c: int32x2_t) -> int32x2_t {
1056410567
#[allow(improper_ctypes)]
1056510568
extern "unadjusted" {
@@ -10573,6 +10576,7 @@ pub unsafe fn vqrdmlah_s32(a: int32x2_t, b: int32x2_t, c: int32x2_t) -> int32x2_
1057310576
#[inline]
1057410577
#[target_feature(enable = "rdm")]
1057510578
#[cfg_attr(test, assert_instr(sqrdmlah))]
10579+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1057610580
pub unsafe fn vqrdmlahq_s32(a: int32x4_t, b: int32x4_t, c: int32x4_t) -> int32x4_t {
1057710581
#[allow(improper_ctypes)]
1057810582
extern "unadjusted" {
@@ -10586,6 +10590,7 @@ pub unsafe fn vqrdmlahq_s32(a: int32x4_t, b: int32x4_t, c: int32x4_t) -> int32x4
1058610590
#[inline]
1058710591
#[target_feature(enable = "rdm")]
1058810592
#[cfg_attr(test, assert_instr(sqrdmlah))]
10593+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1058910594
pub unsafe fn vqrdmlahh_s16(a: i16, b: i16, c: i16) -> i16 {
1059010595
let a: int16x4_t = vdup_n_s16(a);
1059110596
let b: int16x4_t = vdup_n_s16(b);
@@ -10597,6 +10602,7 @@ pub unsafe fn vqrdmlahh_s16(a: i16, b: i16, c: i16) -> i16 {
1059710602
#[inline]
1059810603
#[target_feature(enable = "rdm")]
1059910604
#[cfg_attr(test, assert_instr(sqrdmlah))]
10605+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1060010606
pub unsafe fn vqrdmlahs_s32(a: i32, b: i32, c: i32) -> i32 {
1060110607
let a: int32x2_t = vdup_n_s32(a);
1060210608
let b: int32x2_t = vdup_n_s32(b);
@@ -10609,6 +10615,7 @@ pub unsafe fn vqrdmlahs_s32(a: i32, b: i32, c: i32) -> i32 {
1060910615
#[target_feature(enable = "rdm")]
1061010616
#[cfg_attr(test, assert_instr(sqrdmlah, LANE = 1))]
1061110617
#[rustc_legacy_const_generics(3)]
10618+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1061210619
pub unsafe fn vqrdmlah_lane_s16<const LANE: i32>(a: int16x4_t, b: int16x4_t, c: int16x4_t) -> int16x4_t {
1061310620
static_assert_imm2!(LANE);
1061410621
let c: int16x4_t = simd_shuffle4!(c, c, <const LANE: i32> [LANE as u32, LANE as u32, LANE as u32, LANE as u32]);
@@ -10620,6 +10627,7 @@ pub unsafe fn vqrdmlah_lane_s16<const LANE: i32>(a: int16x4_t, b: int16x4_t, c:
1062010627
#[target_feature(enable = "rdm")]
1062110628
#[cfg_attr(test, assert_instr(sqrdmlah, LANE = 1))]
1062210629
#[rustc_legacy_const_generics(3)]
10630+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1062310631
pub unsafe fn vqrdmlah_laneq_s16<const LANE: i32>(a: int16x4_t, b: int16x4_t, c: int16x8_t) -> int16x4_t {
1062410632
static_assert_imm3!(LANE);
1062510633
let c: int16x4_t = simd_shuffle4!(c, c, <const LANE: i32> [LANE as u32, LANE as u32, LANE as u32, LANE as u32]);
@@ -10631,6 +10639,7 @@ pub unsafe fn vqrdmlah_laneq_s16<const LANE: i32>(a: int16x4_t, b: int16x4_t, c:
1063110639
#[target_feature(enable = "rdm")]
1063210640
#[cfg_attr(test, assert_instr(sqrdmlah, LANE = 1))]
1063310641
#[rustc_legacy_const_generics(3)]
10642+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1063410643
pub unsafe fn vqrdmlahq_lane_s16<const LANE: i32>(a: int16x8_t, b: int16x8_t, c: int16x4_t) -> int16x8_t {
1063510644
static_assert_imm2!(LANE);
1063610645
let c: int16x8_t = simd_shuffle8!(c, c, <const LANE: i32> [LANE as u32, LANE as u32, LANE as u32, LANE as u32, LANE as u32, LANE as u32, LANE as u32, LANE as u32]);
@@ -10642,6 +10651,7 @@ pub unsafe fn vqrdmlahq_lane_s16<const LANE: i32>(a: int16x8_t, b: int16x8_t, c:
1064210651
#[target_feature(enable = "rdm")]
1064310652
#[cfg_attr(test, assert_instr(sqrdmlah, LANE = 1))]
1064410653
#[rustc_legacy_const_generics(3)]
10654+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1064510655
pub unsafe fn vqrdmlahq_laneq_s16<const LANE: i32>(a: int16x8_t, b: int16x8_t, c: int16x8_t) -> int16x8_t {
1064610656
static_assert_imm3!(LANE);
1064710657
let c: int16x8_t = simd_shuffle8!(c, c, <const LANE: i32> [LANE as u32, LANE as u32, LANE as u32, LANE as u32, LANE as u32, LANE as u32, LANE as u32, LANE as u32]);
@@ -10653,6 +10663,7 @@ pub unsafe fn vqrdmlahq_laneq_s16<const LANE: i32>(a: int16x8_t, b: int16x8_t, c
1065310663
#[target_feature(enable = "rdm")]
1065410664
#[cfg_attr(test, assert_instr(sqrdmlah, LANE = 1))]
1065510665
#[rustc_legacy_const_generics(3)]
10666+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1065610667
pub unsafe fn vqrdmlah_lane_s32<const LANE: i32>(a: int32x2_t, b: int32x2_t, c: int32x2_t) -> int32x2_t {
1065710668
static_assert_imm1!(LANE);
1065810669
let c: int32x2_t = simd_shuffle2!(c, c, <const LANE: i32> [LANE as u32, LANE as u32]);
@@ -10664,6 +10675,7 @@ pub unsafe fn vqrdmlah_lane_s32<const LANE: i32>(a: int32x2_t, b: int32x2_t, c:
1066410675
#[target_feature(enable = "rdm")]
1066510676
#[cfg_attr(test, assert_instr(sqrdmlah, LANE = 1))]
1066610677
#[rustc_legacy_const_generics(3)]
10678+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1066710679
pub unsafe fn vqrdmlah_laneq_s32<const LANE: i32>(a: int32x2_t, b: int32x2_t, c: int32x4_t) -> int32x2_t {
1066810680
static_assert_imm2!(LANE);
1066910681
let c: int32x2_t = simd_shuffle2!(c, c, <const LANE: i32> [LANE as u32, LANE as u32]);
@@ -10675,6 +10687,7 @@ pub unsafe fn vqrdmlah_laneq_s32<const LANE: i32>(a: int32x2_t, b: int32x2_t, c:
1067510687
#[target_feature(enable = "rdm")]
1067610688
#[cfg_attr(test, assert_instr(sqrdmlah, LANE = 1))]
1067710689
#[rustc_legacy_const_generics(3)]
10690+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1067810691
pub unsafe fn vqrdmlahq_lane_s32<const LANE: i32>(a: int32x4_t, b: int32x4_t, c: int32x2_t) -> int32x4_t {
1067910692
static_assert_imm1!(LANE);
1068010693
let c: int32x4_t = simd_shuffle4!(c, c, <const LANE: i32> [LANE as u32, LANE as u32, LANE as u32, LANE as u32]);
@@ -10686,6 +10699,7 @@ pub unsafe fn vqrdmlahq_lane_s32<const LANE: i32>(a: int32x4_t, b: int32x4_t, c:
1068610699
#[target_feature(enable = "rdm")]
1068710700
#[cfg_attr(test, assert_instr(sqrdmlah, LANE = 1))]
1068810701
#[rustc_legacy_const_generics(3)]
10702+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1068910703
pub unsafe fn vqrdmlahq_laneq_s32<const LANE: i32>(a: int32x4_t, b: int32x4_t, c: int32x4_t) -> int32x4_t {
1069010704
static_assert_imm2!(LANE);
1069110705
let c: int32x4_t = simd_shuffle4!(c, c, <const LANE: i32> [LANE as u32, LANE as u32, LANE as u32, LANE as u32]);
@@ -10697,6 +10711,7 @@ pub unsafe fn vqrdmlahq_laneq_s32<const LANE: i32>(a: int32x4_t, b: int32x4_t, c
1069710711
#[target_feature(enable = "rdm")]
1069810712
#[cfg_attr(test, assert_instr(sqrdmlah, LANE = 1))]
1069910713
#[rustc_legacy_const_generics(3)]
10714+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1070010715
pub unsafe fn vqrdmlahh_lane_s16<const LANE: i32>(a: i16, b: i16, c: int16x4_t) -> i16 {
1070110716
static_assert_imm2!(LANE);
1070210717
vqrdmlahh_s16(a, b, simd_extract(c, LANE as u32))
@@ -10707,6 +10722,7 @@ pub unsafe fn vqrdmlahh_lane_s16<const LANE: i32>(a: i16, b: i16, c: int16x4_t)
1070710722
#[target_feature(enable = "rdm")]
1070810723
#[cfg_attr(test, assert_instr(sqrdmlah, LANE = 1))]
1070910724
#[rustc_legacy_const_generics(3)]
10725+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1071010726
pub unsafe fn vqrdmlahh_laneq_s16<const LANE: i32>(a: i16, b: i16, c: int16x8_t) -> i16 {
1071110727
static_assert_imm3!(LANE);
1071210728
vqrdmlahh_s16(a, b, simd_extract(c, LANE as u32))
@@ -10717,6 +10733,7 @@ pub unsafe fn vqrdmlahh_laneq_s16<const LANE: i32>(a: i16, b: i16, c: int16x8_t)
1071710733
#[target_feature(enable = "rdm")]
1071810734
#[cfg_attr(test, assert_instr(sqrdmlah, LANE = 1))]
1071910735
#[rustc_legacy_const_generics(3)]
10736+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1072010737
pub unsafe fn vqrdmlahs_lane_s32<const LANE: i32>(a: i32, b: i32, c: int32x2_t) -> i32 {
1072110738
static_assert_imm1!(LANE);
1072210739
vqrdmlahs_s32(a, b, simd_extract(c, LANE as u32))
@@ -10727,6 +10744,7 @@ pub unsafe fn vqrdmlahs_lane_s32<const LANE: i32>(a: i32, b: i32, c: int32x2_t)
1072710744
#[target_feature(enable = "rdm")]
1072810745
#[cfg_attr(test, assert_instr(sqrdmlah, LANE = 1))]
1072910746
#[rustc_legacy_const_generics(3)]
10747+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1073010748
pub unsafe fn vqrdmlahs_laneq_s32<const LANE: i32>(a: i32, b: i32, c: int32x4_t) -> i32 {
1073110749
static_assert_imm2!(LANE);
1073210750
vqrdmlahs_s32(a, b, simd_extract(c, LANE as u32))
@@ -10736,6 +10754,7 @@ pub unsafe fn vqrdmlahs_laneq_s32<const LANE: i32>(a: i32, b: i32, c: int32x4_t)
1073610754
#[inline]
1073710755
#[target_feature(enable = "rdm")]
1073810756
#[cfg_attr(test, assert_instr(sqrdmlsh))]
10757+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1073910758
pub unsafe fn vqrdmlsh_s16(a: int16x4_t, b: int16x4_t, c: int16x4_t) -> int16x4_t {
1074010759
#[allow(improper_ctypes)]
1074110760
extern "unadjusted" {
@@ -10749,6 +10768,7 @@ pub unsafe fn vqrdmlsh_s16(a: int16x4_t, b: int16x4_t, c: int16x4_t) -> int16x4_
1074910768
#[inline]
1075010769
#[target_feature(enable = "rdm")]
1075110770
#[cfg_attr(test, assert_instr(sqrdmlsh))]
10771+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1075210772
pub unsafe fn vqrdmlshq_s16(a: int16x8_t, b: int16x8_t, c: int16x8_t) -> int16x8_t {
1075310773
#[allow(improper_ctypes)]
1075410774
extern "unadjusted" {
@@ -10762,6 +10782,7 @@ pub unsafe fn vqrdmlshq_s16(a: int16x8_t, b: int16x8_t, c: int16x8_t) -> int16x8
1076210782
#[inline]
1076310783
#[target_feature(enable = "rdm")]
1076410784
#[cfg_attr(test, assert_instr(sqrdmlsh))]
10785+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1076510786
pub unsafe fn vqrdmlsh_s32(a: int32x2_t, b: int32x2_t, c: int32x2_t) -> int32x2_t {
1076610787
#[allow(improper_ctypes)]
1076710788
extern "unadjusted" {
@@ -10775,6 +10796,7 @@ pub unsafe fn vqrdmlsh_s32(a: int32x2_t, b: int32x2_t, c: int32x2_t) -> int32x2_
1077510796
#[inline]
1077610797
#[target_feature(enable = "rdm")]
1077710798
#[cfg_attr(test, assert_instr(sqrdmlsh))]
10799+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1077810800
pub unsafe fn vqrdmlshq_s32(a: int32x4_t, b: int32x4_t, c: int32x4_t) -> int32x4_t {
1077910801
#[allow(improper_ctypes)]
1078010802
extern "unadjusted" {
@@ -10788,6 +10810,7 @@ pub unsafe fn vqrdmlshq_s32(a: int32x4_t, b: int32x4_t, c: int32x4_t) -> int32x4
1078810810
#[inline]
1078910811
#[target_feature(enable = "rdm")]
1079010812
#[cfg_attr(test, assert_instr(sqrdmlsh))]
10813+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1079110814
pub unsafe fn vqrdmlshh_s16(a: i16, b: i16, c: i16) -> i16 {
1079210815
let a: int16x4_t = vdup_n_s16(a);
1079310816
let b: int16x4_t = vdup_n_s16(b);
@@ -10799,6 +10822,7 @@ pub unsafe fn vqrdmlshh_s16(a: i16, b: i16, c: i16) -> i16 {
1079910822
#[inline]
1080010823
#[target_feature(enable = "rdm")]
1080110824
#[cfg_attr(test, assert_instr(sqrdmlsh))]
10825+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1080210826
pub unsafe fn vqrdmlshs_s32(a: i32, b: i32, c: i32) -> i32 {
1080310827
let a: int32x2_t = vdup_n_s32(a);
1080410828
let b: int32x2_t = vdup_n_s32(b);
@@ -10811,6 +10835,7 @@ pub unsafe fn vqrdmlshs_s32(a: i32, b: i32, c: i32) -> i32 {
1081110835
#[target_feature(enable = "rdm")]
1081210836
#[cfg_attr(test, assert_instr(sqrdmlsh, LANE = 1))]
1081310837
#[rustc_legacy_const_generics(3)]
10838+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1081410839
pub unsafe fn vqrdmlsh_lane_s16<const LANE: i32>(a: int16x4_t, b: int16x4_t, c: int16x4_t) -> int16x4_t {
1081510840
static_assert_imm2!(LANE);
1081610841
let c: int16x4_t = simd_shuffle4!(c, c, <const LANE: i32> [LANE as u32, LANE as u32, LANE as u32, LANE as u32]);
@@ -10822,6 +10847,7 @@ pub unsafe fn vqrdmlsh_lane_s16<const LANE: i32>(a: int16x4_t, b: int16x4_t, c:
1082210847
#[target_feature(enable = "rdm")]
1082310848
#[cfg_attr(test, assert_instr(sqrdmlsh, LANE = 1))]
1082410849
#[rustc_legacy_const_generics(3)]
10850+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1082510851
pub unsafe fn vqrdmlsh_laneq_s16<const LANE: i32>(a: int16x4_t, b: int16x4_t, c: int16x8_t) -> int16x4_t {
1082610852
static_assert_imm3!(LANE);
1082710853
let c: int16x4_t = simd_shuffle4!(c, c, <const LANE: i32> [LANE as u32, LANE as u32, LANE as u32, LANE as u32]);
@@ -10833,6 +10859,7 @@ pub unsafe fn vqrdmlsh_laneq_s16<const LANE: i32>(a: int16x4_t, b: int16x4_t, c:
1083310859
#[target_feature(enable = "rdm")]
1083410860
#[cfg_attr(test, assert_instr(sqrdmlsh, LANE = 1))]
1083510861
#[rustc_legacy_const_generics(3)]
10862+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1083610863
pub unsafe fn vqrdmlshq_lane_s16<const LANE: i32>(a: int16x8_t, b: int16x8_t, c: int16x4_t) -> int16x8_t {
1083710864
static_assert_imm2!(LANE);
1083810865
let c: int16x8_t = simd_shuffle8!(c, c, <const LANE: i32> [LANE as u32, LANE as u32, LANE as u32, LANE as u32, LANE as u32, LANE as u32, LANE as u32, LANE as u32]);
@@ -10844,6 +10871,7 @@ pub unsafe fn vqrdmlshq_lane_s16<const LANE: i32>(a: int16x8_t, b: int16x8_t, c:
1084410871
#[target_feature(enable = "rdm")]
1084510872
#[cfg_attr(test, assert_instr(sqrdmlsh, LANE = 1))]
1084610873
#[rustc_legacy_const_generics(3)]
10874+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1084710875
pub unsafe fn vqrdmlshq_laneq_s16<const LANE: i32>(a: int16x8_t, b: int16x8_t, c: int16x8_t) -> int16x8_t {
1084810876
static_assert_imm3!(LANE);
1084910877
let c: int16x8_t = simd_shuffle8!(c, c, <const LANE: i32> [LANE as u32, LANE as u32, LANE as u32, LANE as u32, LANE as u32, LANE as u32, LANE as u32, LANE as u32]);
@@ -10855,6 +10883,7 @@ pub unsafe fn vqrdmlshq_laneq_s16<const LANE: i32>(a: int16x8_t, b: int16x8_t, c
1085510883
#[target_feature(enable = "rdm")]
1085610884
#[cfg_attr(test, assert_instr(sqrdmlsh, LANE = 1))]
1085710885
#[rustc_legacy_const_generics(3)]
10886+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1085810887
pub unsafe fn vqrdmlsh_lane_s32<const LANE: i32>(a: int32x2_t, b: int32x2_t, c: int32x2_t) -> int32x2_t {
1085910888
static_assert_imm1!(LANE);
1086010889
let c: int32x2_t = simd_shuffle2!(c, c, <const LANE: i32> [LANE as u32, LANE as u32]);
@@ -10866,6 +10895,7 @@ pub unsafe fn vqrdmlsh_lane_s32<const LANE: i32>(a: int32x2_t, b: int32x2_t, c:
1086610895
#[target_feature(enable = "rdm")]
1086710896
#[cfg_attr(test, assert_instr(sqrdmlsh, LANE = 1))]
1086810897
#[rustc_legacy_const_generics(3)]
10898+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1086910899
pub unsafe fn vqrdmlsh_laneq_s32<const LANE: i32>(a: int32x2_t, b: int32x2_t, c: int32x4_t) -> int32x2_t {
1087010900
static_assert_imm2!(LANE);
1087110901
let c: int32x2_t = simd_shuffle2!(c, c, <const LANE: i32> [LANE as u32, LANE as u32]);
@@ -10877,6 +10907,7 @@ pub unsafe fn vqrdmlsh_laneq_s32<const LANE: i32>(a: int32x2_t, b: int32x2_t, c:
1087710907
#[target_feature(enable = "rdm")]
1087810908
#[cfg_attr(test, assert_instr(sqrdmlsh, LANE = 1))]
1087910909
#[rustc_legacy_const_generics(3)]
10910+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1088010911
pub unsafe fn vqrdmlshq_lane_s32<const LANE: i32>(a: int32x4_t, b: int32x4_t, c: int32x2_t) -> int32x4_t {
1088110912
static_assert_imm1!(LANE);
1088210913
let c: int32x4_t = simd_shuffle4!(c, c, <const LANE: i32> [LANE as u32, LANE as u32, LANE as u32, LANE as u32]);
@@ -10888,6 +10919,7 @@ pub unsafe fn vqrdmlshq_lane_s32<const LANE: i32>(a: int32x4_t, b: int32x4_t, c:
1088810919
#[target_feature(enable = "rdm")]
1088910920
#[cfg_attr(test, assert_instr(sqrdmlsh, LANE = 1))]
1089010921
#[rustc_legacy_const_generics(3)]
10922+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1089110923
pub unsafe fn vqrdmlshq_laneq_s32<const LANE: i32>(a: int32x4_t, b: int32x4_t, c: int32x4_t) -> int32x4_t {
1089210924
static_assert_imm2!(LANE);
1089310925
let c: int32x4_t = simd_shuffle4!(c, c, <const LANE: i32> [LANE as u32, LANE as u32, LANE as u32, LANE as u32]);
@@ -10899,6 +10931,7 @@ pub unsafe fn vqrdmlshq_laneq_s32<const LANE: i32>(a: int32x4_t, b: int32x4_t, c
1089910931
#[target_feature(enable = "rdm")]
1090010932
#[cfg_attr(test, assert_instr(sqrdmlsh, LANE = 1))]
1090110933
#[rustc_legacy_const_generics(3)]
10934+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1090210935
pub unsafe fn vqrdmlshh_lane_s16<const LANE: i32>(a: i16, b: i16, c: int16x4_t) -> i16 {
1090310936
static_assert_imm2!(LANE);
1090410937
vqrdmlshh_s16(a, b, simd_extract(c, LANE as u32))
@@ -10909,6 +10942,7 @@ pub unsafe fn vqrdmlshh_lane_s16<const LANE: i32>(a: i16, b: i16, c: int16x4_t)
1090910942
#[target_feature(enable = "rdm")]
1091010943
#[cfg_attr(test, assert_instr(sqrdmlsh, LANE = 1))]
1091110944
#[rustc_legacy_const_generics(3)]
10945+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1091210946
pub unsafe fn vqrdmlshh_laneq_s16<const LANE: i32>(a: i16, b: i16, c: int16x8_t) -> i16 {
1091310947
static_assert_imm3!(LANE);
1091410948
vqrdmlshh_s16(a, b, simd_extract(c, LANE as u32))
@@ -10919,6 +10953,7 @@ pub unsafe fn vqrdmlshh_laneq_s16<const LANE: i32>(a: i16, b: i16, c: int16x8_t)
1091910953
#[target_feature(enable = "rdm")]
1092010954
#[cfg_attr(test, assert_instr(sqrdmlsh, LANE = 1))]
1092110955
#[rustc_legacy_const_generics(3)]
10956+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1092210957
pub unsafe fn vqrdmlshs_lane_s32<const LANE: i32>(a: i32, b: i32, c: int32x2_t) -> i32 {
1092310958
static_assert_imm1!(LANE);
1092410959
vqrdmlshs_s32(a, b, simd_extract(c, LANE as u32))
@@ -10929,6 +10964,7 @@ pub unsafe fn vqrdmlshs_lane_s32<const LANE: i32>(a: i32, b: i32, c: int32x2_t)
1092910964
#[target_feature(enable = "rdm")]
1093010965
#[cfg_attr(test, assert_instr(sqrdmlsh, LANE = 1))]
1093110966
#[rustc_legacy_const_generics(3)]
10967+
#[stable(feature = "rdm_intrinsics", since = "1.62.0")]
1093210968
pub unsafe fn vqrdmlshs_laneq_s32<const LANE: i32>(a: i32, b: i32, c: int32x4_t) -> i32 {
1093310969
static_assert_imm2!(LANE);
1093410970
vqrdmlshs_s32(a, b, simd_extract(c, LANE as u32))

crates/stdarch-gen/src/main.rs

+3
Original file line numberDiff line numberDiff line change
@@ -1371,6 +1371,7 @@ fn gen_aarch64(
13711371
Default | ArmV7 | Vfp4 | FPArmV8 | AES => {
13721372
String::from("\n#[stable(feature = \"neon_intrinsics\", since = \"1.59.0\")]")
13731373
}
1374+
RDM => String::from("\n#[stable(feature = \"rdm_intrinsics\", since = \"1.62.0\")]"),
13741375
_ => String::new(),
13751376
};
13761377
let function = format!(
@@ -2338,6 +2339,7 @@ fn gen_arm(
23382339
Default | ArmV7 | Vfp4 | FPArmV8 | AES => {
23392340
String::from("\n#[stable(feature = \"neon_intrinsics\", since = \"1.59.0\")]")
23402341
}
2342+
RDM => String::from("\n#[stable(feature = \"rdm_intrinsics\", since = \"1.62.0\")]"),
23412343
_ => String::new(),
23422344
};
23432345
format!(
@@ -2405,6 +2407,7 @@ fn gen_arm(
24052407
};
24062408
let stable_aarch64 = match target {
24072409
Default | ArmV7 | Vfp4 | FPArmV8 | AES => String::from("\n#[cfg_attr(target_arch = \"aarch64\", stable(feature = \"neon_intrinsics\", since = \"1.59.0\"))]"),
2410+
RDM => String::from("\n#[cfg_attr(target_arch = \"aarch64\", stable(feature = \"rdm_intrinsics\", since = \"1.62.0\"))]"),
24082411
_ => String::new(),
24092412
};
24102413
format!(

0 commit comments

Comments
 (0)