@@ -4148,6 +4148,7 @@ pub unsafe fn vec_sqrt<T: sealed::VectorSqrt>(a: T) -> T {
4148
4148
/// Vector Splat
4149
4149
#[ inline]
4150
4150
#[ target_feature( enable = "vector" ) ]
4151
+ #[ rustc_legacy_const_generics( 1 ) ]
4151
4152
#[ unstable( feature = "stdarch_s390x" , issue = "135681" ) ]
4152
4153
pub unsafe fn vec_splat < T : sealed:: VectorSplat , const IMM : u32 > ( a : T ) -> T {
4153
4154
a. vec_splat :: < IMM > ( )
@@ -4558,6 +4559,7 @@ pub unsafe fn vec_unpackl<T: sealed::VectorUnpackl>(a: T) -> <T as sealed::Vecto
4558
4559
/// in the corresponding byte element of d are set to ones. Otherwise, if the bit is zero, the corresponding byte element is set to zero.
4559
4560
#[ inline]
4560
4561
#[ target_feature( enable = "vector" ) ]
4562
+ #[ rustc_legacy_const_generics( 0 ) ]
4561
4563
#[ unstable( feature = "stdarch_s390x" , issue = "135681" ) ]
4562
4564
#[ cfg_attr( test, assert_instr( vgbm, MASK = 0x00FF ) ) ]
4563
4565
pub unsafe fn vec_genmask < const MASK : u16 > ( ) -> vector_unsigned_char {
@@ -4567,6 +4569,7 @@ pub unsafe fn vec_genmask<const MASK: u16>() -> vector_unsigned_char {
4567
4569
/// Vector Generate Mask (Byte)
4568
4570
#[ inline]
4569
4571
#[ target_feature( enable = "vector" ) ]
4572
+ #[ rustc_legacy_const_generics( 0 , 1 ) ]
4570
4573
#[ unstable( feature = "stdarch_s390x" , issue = "135681" ) ]
4571
4574
#[ cfg_attr( test, assert_instr( vrepib, L = 3 , H = 5 ) ) ]
4572
4575
pub unsafe fn vec_genmasks_8 < const L : u8 , const H : u8 > ( ) -> vector_unsigned_char {
@@ -4576,6 +4579,7 @@ pub unsafe fn vec_genmasks_8<const L: u8, const H: u8>() -> vector_unsigned_char
4576
4579
/// Vector Generate Mask (Halfword)
4577
4580
#[ inline]
4578
4581
#[ target_feature( enable = "vector" ) ]
4582
+ #[ rustc_legacy_const_generics( 0 , 1 ) ]
4579
4583
#[ unstable( feature = "stdarch_s390x" , issue = "135681" ) ]
4580
4584
#[ cfg_attr( test, assert_instr( vrepih, L = 3 , H = 5 ) ) ]
4581
4585
pub unsafe fn vec_genmasks_16 < const L : u8 , const H : u8 > ( ) -> vector_unsigned_short {
@@ -4585,6 +4589,7 @@ pub unsafe fn vec_genmasks_16<const L: u8, const H: u8>() -> vector_unsigned_sho
4585
4589
/// Vector Generate Mask (Word)
4586
4590
#[ inline]
4587
4591
#[ target_feature( enable = "vector" ) ]
4592
+ #[ rustc_legacy_const_generics( 0 , 1 ) ]
4588
4593
#[ unstable( feature = "stdarch_s390x" , issue = "135681" ) ]
4589
4594
#[ cfg_attr( test, assert_instr( vgmf, L = 3 , H = 5 ) ) ]
4590
4595
pub unsafe fn vec_genmasks_32 < const L : u8 , const H : u8 > ( ) -> vector_unsigned_int {
@@ -4594,6 +4599,7 @@ pub unsafe fn vec_genmasks_32<const L: u8, const H: u8>() -> vector_unsigned_int
4594
4599
/// Vector Generate Mask (Doubleword)
4595
4600
#[ inline]
4596
4601
#[ target_feature( enable = "vector" ) ]
4602
+ #[ rustc_legacy_const_generics( 0 , 1 ) ]
4597
4603
#[ unstable( feature = "stdarch_s390x" , issue = "135681" ) ]
4598
4604
#[ cfg_attr( test, assert_instr( vgmg, L = 3 , H = 5 ) ) ]
4599
4605
pub unsafe fn vec_genmasks_64 < const L : u8 , const H : u8 > ( ) -> vector_unsigned_long_long {
@@ -4810,6 +4816,7 @@ pub unsafe fn vec_subec_u128(
4810
4816
/// Vector Splat Signed Byte
4811
4817
#[ inline]
4812
4818
#[ target_feature( enable = "vector" ) ]
4819
+ #[ rustc_legacy_const_generics( 0 ) ]
4813
4820
#[ unstable( feature = "stdarch_s390x" , issue = "135681" ) ]
4814
4821
#[ cfg_attr( test, assert_instr( vrepib, IMM = 42 ) ) ]
4815
4822
pub unsafe fn vec_splat_s8 < const IMM : i8 > ( ) -> vector_signed_char {
@@ -4819,6 +4826,7 @@ pub unsafe fn vec_splat_s8<const IMM: i8>() -> vector_signed_char {
4819
4826
/// Vector Splat Signed Halfword
4820
4827
#[ inline]
4821
4828
#[ target_feature( enable = "vector" ) ]
4829
+ #[ rustc_legacy_const_generics( 0 ) ]
4822
4830
#[ unstable( feature = "stdarch_s390x" , issue = "135681" ) ]
4823
4831
#[ cfg_attr( test, assert_instr( vrepih, IMM = 42 ) ) ]
4824
4832
pub unsafe fn vec_splat_s16 < const IMM : i16 > ( ) -> vector_signed_short {
@@ -4828,6 +4836,7 @@ pub unsafe fn vec_splat_s16<const IMM: i16>() -> vector_signed_short {
4828
4836
/// Vector Splat Signed Word
4829
4837
#[ inline]
4830
4838
#[ target_feature( enable = "vector" ) ]
4839
+ #[ rustc_legacy_const_generics( 0 ) ]
4831
4840
#[ unstable( feature = "stdarch_s390x" , issue = "135681" ) ]
4832
4841
#[ cfg_attr( test, assert_instr( vrepif, IMM = 42 ) ) ]
4833
4842
pub unsafe fn vec_splat_s32 < const IMM : i16 > ( ) -> vector_signed_int {
@@ -4837,6 +4846,7 @@ pub unsafe fn vec_splat_s32<const IMM: i16>() -> vector_signed_int {
4837
4846
/// Vector Splat Signed Doubleword
4838
4847
#[ inline]
4839
4848
#[ target_feature( enable = "vector" ) ]
4849
+ #[ rustc_legacy_const_generics( 0 ) ]
4840
4850
#[ unstable( feature = "stdarch_s390x" , issue = "135681" ) ]
4841
4851
#[ cfg_attr( test, assert_instr( vrepig, IMM = 42 ) ) ]
4842
4852
pub unsafe fn vec_splat_s64 < const IMM : i16 > ( ) -> vector_signed_long_long {
@@ -4846,6 +4856,7 @@ pub unsafe fn vec_splat_s64<const IMM: i16>() -> vector_signed_long_long {
4846
4856
/// Vector Splat Unsigned Byte
4847
4857
#[ inline]
4848
4858
#[ target_feature( enable = "vector" ) ]
4859
+ #[ rustc_legacy_const_generics( 0 ) ]
4849
4860
#[ unstable( feature = "stdarch_s390x" , issue = "135681" ) ]
4850
4861
#[ cfg_attr( test, assert_instr( vrepib, IMM = 42 ) ) ]
4851
4862
pub unsafe fn vec_splat_u8 < const IMM : u8 > ( ) -> vector_unsigned_char {
@@ -4855,6 +4866,7 @@ pub unsafe fn vec_splat_u8<const IMM: u8>() -> vector_unsigned_char {
4855
4866
/// Vector Splat Unsigned Halfword
4856
4867
#[ inline]
4857
4868
#[ target_feature( enable = "vector" ) ]
4869
+ #[ rustc_legacy_const_generics( 0 ) ]
4858
4870
#[ unstable( feature = "stdarch_s390x" , issue = "135681" ) ]
4859
4871
#[ cfg_attr( test, assert_instr( vrepih, IMM = 42 ) ) ]
4860
4872
pub unsafe fn vec_splat_u16 < const IMM : i16 > ( ) -> vector_unsigned_short {
@@ -4864,6 +4876,7 @@ pub unsafe fn vec_splat_u16<const IMM: i16>() -> vector_unsigned_short {
4864
4876
/// Vector Splat Unsigned Word
4865
4877
#[ inline]
4866
4878
#[ target_feature( enable = "vector" ) ]
4879
+ #[ rustc_legacy_const_generics( 0 ) ]
4867
4880
#[ unstable( feature = "stdarch_s390x" , issue = "135681" ) ]
4868
4881
#[ cfg_attr( test, assert_instr( vrepif, IMM = 42 ) ) ]
4869
4882
pub unsafe fn vec_splat_u32 < const IMM : i16 > ( ) -> vector_unsigned_int {
@@ -4873,6 +4886,7 @@ pub unsafe fn vec_splat_u32<const IMM: i16>() -> vector_unsigned_int {
4873
4886
/// Vector Splat Unsigned Doubleword
4874
4887
#[ inline]
4875
4888
#[ target_feature( enable = "vector" ) ]
4889
+ #[ rustc_legacy_const_generics( 0 ) ]
4876
4890
#[ unstable( feature = "stdarch_s390x" , issue = "135681" ) ]
4877
4891
#[ cfg_attr( test, assert_instr( vrepig, IMM = 42 ) ) ]
4878
4892
pub unsafe fn vec_splat_u64 < const IMM : i16 > ( ) -> vector_unsigned_long_long {
@@ -4944,6 +4958,7 @@ pub unsafe fn vec_load_pair<T: sealed::VectorLoadPair>(a: T::ElementType, b: T::
4944
4958
/// Vector Load to Block Boundary
4945
4959
#[ inline]
4946
4960
#[ target_feature( enable = "vector" ) ]
4961
+ #[ rustc_legacy_const_generics( 1 ) ]
4947
4962
#[ unstable( feature = "stdarch_s390x" , issue = "135681" ) ]
4948
4963
pub unsafe fn vec_load_bndry < T : sealed:: VectorLoad , const BLOCK_BOUNDARY : u16 > (
4949
4964
ptr : * const T :: ElementType ,
@@ -5141,6 +5156,7 @@ pub unsafe fn vec_bperm_u128(
5141
5156
/// Vector Gather Element
5142
5157
#[ inline]
5143
5158
#[ target_feature( enable = "vector" ) ]
5159
+ #[ rustc_legacy_const_generics( 3 ) ]
5144
5160
#[ unstable( feature = "stdarch_s390x" , issue = "135681" ) ]
5145
5161
pub unsafe fn vec_gather_element < T : sealed:: VectorGatherElement , const D : u32 > (
5146
5162
a : T ,
@@ -5205,6 +5221,7 @@ pub const __VEC_CLASS_FP_NOT_NORMAL: u32 =
5205
5221
/// You can use the `__VEC_CLASS_FP_*` constants as the argument for this operand
5206
5222
#[ inline]
5207
5223
#[ target_feature( enable = "vector" ) ]
5224
+ #[ rustc_legacy_const_generics( 1 ) ]
5208
5225
#[ unstable( feature = "stdarch_s390x" , issue = "135681" ) ]
5209
5226
pub unsafe fn vec_fp_test_data_class < T : sealed:: VectorFpTestDataClass , const CLASS : u32 > (
5210
5227
a : T ,
@@ -5366,6 +5383,7 @@ pub unsafe fn vec_cp_until_zero_cc<T: sealed::VectorCopyUntilZeroCC>(a: T) -> (T
5366
5383
/// Vector Multiply Sum Logical
5367
5384
#[ inline]
5368
5385
#[ target_feature( enable = "vector-enhancements-1" ) ]
5386
+ #[ rustc_legacy_const_generics( 3 ) ]
5369
5387
#[ unstable( feature = "stdarch_s390x" , issue = "135681" ) ]
5370
5388
#[ cfg_attr(
5371
5389
all( test, target_feature = "vector-enhancements-1" ) ,
@@ -5387,6 +5405,7 @@ pub unsafe fn vec_msum_u128<const D: u32>(
5387
5405
/// Vector Shift Left Double by Byte
5388
5406
#[ inline]
5389
5407
#[ target_feature( enable = "vector" ) ]
5408
+ #[ rustc_legacy_const_generics( 2 ) ]
5390
5409
#[ unstable( feature = "stdarch_s390x" , issue = "135681" ) ]
5391
5410
pub unsafe fn vec_sld < T : sealed:: VectorSld , const C : u32 > ( a : T , b : T ) -> T {
5392
5411
static_assert_uimm_bits ! ( C , 4 ) ;
@@ -5396,6 +5415,7 @@ pub unsafe fn vec_sld<T: sealed::VectorSld, const C: u32>(a: T, b: T) -> T {
5396
5415
/// Vector Shift Left Double by Word
5397
5416
#[ inline]
5398
5417
#[ target_feature( enable = "vector" ) ]
5418
+ #[ rustc_legacy_const_generics( 2 ) ]
5399
5419
#[ unstable( feature = "stdarch_s390x" , issue = "135681" ) ]
5400
5420
pub unsafe fn vec_sldw < T : sealed:: VectorSld , const C : u32 > ( a : T , b : T ) -> T {
5401
5421
static_assert_uimm_bits ! ( C , 2 ) ;
@@ -5405,6 +5425,7 @@ pub unsafe fn vec_sldw<T: sealed::VectorSld, const C: u32>(a: T, b: T) -> T {
5405
5425
/// Vector Shift Left Double by Bit
5406
5426
#[ inline]
5407
5427
#[ target_feature( enable = "vector-enhancements-2" ) ]
5428
+ #[ rustc_legacy_const_generics( 2 ) ]
5408
5429
#[ unstable( feature = "stdarch_s390x" , issue = "135681" ) ]
5409
5430
pub unsafe fn vec_sldb < T : sealed:: VectorSld , const C : u32 > ( a : T , b : T ) -> T {
5410
5431
static_assert_uimm_bits ! ( C , 3 ) ;
@@ -5414,6 +5435,7 @@ pub unsafe fn vec_sldb<T: sealed::VectorSld, const C: u32>(a: T, b: T) -> T {
5414
5435
/// Vector Shift Right Double by Bit
5415
5436
#[ inline]
5416
5437
#[ target_feature( enable = "vector-enhancements-2" ) ]
5438
+ #[ rustc_legacy_const_generics( 2 ) ]
5417
5439
#[ unstable( feature = "stdarch_s390x" , issue = "135681" ) ]
5418
5440
pub unsafe fn vec_srdb < T : sealed:: VectorSrdb , const C : u32 > ( a : T , b : T ) -> T {
5419
5441
static_assert_uimm_bits ! ( C , 3 ) ;
0 commit comments