@@ -54,6 +54,7 @@ macro_rules! conversions {
54
54
$(
55
55
impl $ty {
56
56
#[ inline( always) ]
57
+ #[ rustc_const_stable( feature = "wasm_simd_const" , since = "1.56.0" ) ]
57
58
const fn v128( self ) -> v128 {
58
59
unsafe { mem:: transmute( self ) }
59
60
}
@@ -813,24 +814,10 @@ pub const fn i8x16(
813
814
a14 : i8 ,
814
815
a15 : i8 ,
815
816
) -> v128 {
816
- v128 (
817
- ( a0 as u8 as i32 )
818
- | ( ( a1 as u8 as i32 ) << 8 )
819
- | ( ( a2 as u8 as i32 ) << 16 )
820
- | ( ( a3 as u8 as i32 ) << 24 ) ,
821
- ( a4 as u8 as i32 )
822
- | ( ( a5 as u8 as i32 ) << 8 )
823
- | ( ( a6 as u8 as i32 ) << 16 )
824
- | ( ( a7 as u8 as i32 ) << 24 ) ,
825
- ( a8 as u8 as i32 )
826
- | ( ( a9 as u8 as i32 ) << 8 )
827
- | ( ( a10 as u8 as i32 ) << 16 )
828
- | ( ( a11 as u8 as i32 ) << 24 ) ,
829
- ( a12 as u8 as i32 )
830
- | ( ( a13 as u8 as i32 ) << 8 )
831
- | ( ( a14 as u8 as i32 ) << 16 )
832
- | ( ( a15 as u8 as i32 ) << 24 ) ,
817
+ simd:: i8x16 (
818
+ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
833
819
)
820
+ . v128 ( )
834
821
}
835
822
836
823
/// Materializes a SIMD value from the provided operands.
@@ -860,10 +847,10 @@ pub const fn u8x16(
860
847
a14 : u8 ,
861
848
a15 : u8 ,
862
849
) -> v128 {
863
- i8x16 (
864
- a0 as i8 , a1 as i8 , a2 as i8 , a3 as i8 , a4 as i8 , a5 as i8 , a6 as i8 , a7 as i8 , a8 as i8 ,
865
- a9 as i8 , a10 as i8 , a11 as i8 , a12 as i8 , a13 as i8 , a14 as i8 , a15 as i8 ,
850
+ simd:: u8x16 (
851
+ a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
866
852
)
853
+ . v128 ( )
867
854
}
868
855
869
856
/// Materializes a SIMD value from the provided operands.
@@ -890,12 +877,7 @@ pub const fn u8x16(
890
877
#[ stable( feature = "wasm_simd" , since = "1.54.0" ) ]
891
878
#[ rustc_const_stable( feature = "wasm_simd" , since = "1.54.0" ) ]
892
879
pub const fn i16x8 ( a0 : i16 , a1 : i16 , a2 : i16 , a3 : i16 , a4 : i16 , a5 : i16 , a6 : i16 , a7 : i16 ) -> v128 {
893
- v128 (
894
- ( a0 as u16 as i32 ) | ( ( a1 as i32 ) << 16 ) ,
895
- ( a2 as u16 as i32 ) | ( ( a3 as i32 ) << 16 ) ,
896
- ( a4 as u16 as i32 ) | ( ( a5 as i32 ) << 16 ) ,
897
- ( a6 as u16 as i32 ) | ( ( a7 as i32 ) << 16 ) ,
898
- )
880
+ simd:: i16x8 ( a0, a1, a2, a3, a4, a5, a6, a7) . v128 ( )
899
881
}
900
882
901
883
/// Materializes a SIMD value from the provided operands.
@@ -908,9 +890,7 @@ pub const fn i16x8(a0: i16, a1: i16, a2: i16, a3: i16, a4: i16, a5: i16, a6: i16
908
890
#[ stable( feature = "wasm_simd" , since = "1.54.0" ) ]
909
891
#[ rustc_const_stable( feature = "wasm_simd" , since = "1.54.0" ) ]
910
892
pub const fn u16x8 ( a0 : u16 , a1 : u16 , a2 : u16 , a3 : u16 , a4 : u16 , a5 : u16 , a6 : u16 , a7 : u16 ) -> v128 {
911
- i16x8 (
912
- a0 as i16 , a1 as i16 , a2 as i16 , a3 as i16 , a4 as i16 , a5 as i16 , a6 as i16 , a7 as i16 ,
913
- )
893
+ simd:: u16x8 ( a0, a1, a2, a3, a4, a5, a6, a7) . v128 ( )
914
894
}
915
895
916
896
/// Materializes a SIMD value from the provided operands.
@@ -924,7 +904,7 @@ pub const fn u16x8(a0: u16, a1: u16, a2: u16, a3: u16, a4: u16, a5: u16, a6: u16
924
904
#[ stable( feature = "wasm_simd" , since = "1.54.0" ) ]
925
905
#[ rustc_const_stable( feature = "wasm_simd" , since = "1.54.0" ) ]
926
906
pub const fn i32x4 ( a0 : i32 , a1 : i32 , a2 : i32 , a3 : i32 ) -> v128 {
927
- v128 ( a0, a1, a2, a3)
907
+ simd :: i32x4 ( a0, a1, a2, a3) . v128 ( )
928
908
}
929
909
930
910
/// Materializes a SIMD value from the provided operands.
@@ -937,7 +917,7 @@ pub const fn i32x4(a0: i32, a1: i32, a2: i32, a3: i32) -> v128 {
937
917
#[ stable( feature = "wasm_simd" , since = "1.54.0" ) ]
938
918
#[ rustc_const_stable( feature = "wasm_simd" , since = "1.54.0" ) ]
939
919
pub const fn u32x4 ( a0 : u32 , a1 : u32 , a2 : u32 , a3 : u32 ) -> v128 {
940
- i32x4 ( a0 as i32 , a1 as i32 , a2 as i32 , a3 as i32 )
920
+ simd :: u32x4 ( a0, a1, a2, a3) . v128 ( )
941
921
}
942
922
943
923
/// Materializes a SIMD value from the provided operands.
@@ -951,7 +931,7 @@ pub const fn u32x4(a0: u32, a1: u32, a2: u32, a3: u32) -> v128 {
951
931
#[ stable( feature = "wasm_simd" , since = "1.54.0" ) ]
952
932
#[ rustc_const_stable( feature = "wasm_simd" , since = "1.54.0" ) ]
953
933
pub const fn i64x2 ( a0 : i64 , a1 : i64 ) -> v128 {
954
- v128 ( a0 as i32 , ( a0 >> 32 ) as i32 , a1 as i32 , ( a1 >> 32 ) as i32 )
934
+ simd :: i64x2 ( a0, a1 ) . v128 ( )
955
935
}
956
936
957
937
/// Materializes a SIMD value from the provided operands.
@@ -964,7 +944,7 @@ pub const fn i64x2(a0: i64, a1: i64) -> v128 {
964
944
#[ stable( feature = "wasm_simd" , since = "1.54.0" ) ]
965
945
#[ rustc_const_stable( feature = "wasm_simd" , since = "1.54.0" ) ]
966
946
pub const fn u64x2 ( a0 : u64 , a1 : u64 ) -> v128 {
967
- i64x2 ( a0 as i64 , a1 as i64 )
947
+ simd :: u64x2 ( a0, a1) . v128 ( )
968
948
}
969
949
970
950
/// Materializes a SIMD value from the provided operands.
@@ -976,7 +956,7 @@ pub const fn u64x2(a0: u64, a1: u64) -> v128 {
976
956
#[ cfg_attr( test, assert_instr( v128. const , a0 = 0.0 , a1 = 1.0 , a2 = 2.0 , a3 = 3.0 ) ) ]
977
957
#[ doc( alias( "v128.const" ) ) ]
978
958
#[ stable( feature = "wasm_simd" , since = "1.54.0" ) ]
979
- #[ rustc_const_unstable ( feature = "wasm_simd_const" , issue = "72447 " ) ]
959
+ #[ rustc_const_stable ( feature = "wasm_simd_const" , since = "1.56.0 " ) ]
980
960
pub const fn f32x4 ( a0 : f32 , a1 : f32 , a2 : f32 , a3 : f32 ) -> v128 {
981
961
simd:: f32x4 ( a0, a1, a2, a3) . v128 ( )
982
962
}
@@ -990,7 +970,7 @@ pub const fn f32x4(a0: f32, a1: f32, a2: f32, a3: f32) -> v128 {
990
970
#[ cfg_attr( test, assert_instr( v128. const , a0 = 0.0 , a1 = 1.0 ) ) ]
991
971
#[ doc( alias( "v128.const" ) ) ]
992
972
#[ stable( feature = "wasm_simd" , since = "1.54.0" ) ]
993
- #[ rustc_const_unstable ( feature = "wasm_simd_const" , issue = "72447 " ) ]
973
+ #[ rustc_const_stable ( feature = "wasm_simd_const" , since = "1.56.0 " ) ]
994
974
pub const fn f64x2 ( a0 : f64 , a1 : f64 ) -> v128 {
995
975
simd:: f64x2 ( a0, a1) . v128 ( )
996
976
}
0 commit comments