@@ -147,15 +147,6 @@ unsafe extern "C" {
147
147
fn llvm_f64x2_min ( x : simd:: f64x2 , y : simd:: f64x2 ) -> simd:: f64x2 ;
148
148
#[ link_name = "llvm.maximum.v2f64" ]
149
149
fn llvm_f64x2_max ( x : simd:: f64x2 , y : simd:: f64x2 ) -> simd:: f64x2 ;
150
-
151
- #[ link_name = "llvm.fptosi.sat.v4i32.v4f32" ]
152
- fn llvm_i32x4_trunc_sat_f32x4_s ( x : simd:: f32x4 ) -> simd:: i32x4 ;
153
- #[ link_name = "llvm.fptoui.sat.v4i32.v4f32" ]
154
- fn llvm_i32x4_trunc_sat_f32x4_u ( x : simd:: f32x4 ) -> simd:: i32x4 ;
155
- #[ link_name = "llvm.fptosi.sat.v2i32.v2f64" ]
156
- fn llvm_i32x2_trunc_sat_f64x2_s ( x : simd:: f64x2 ) -> simd:: i32x2 ;
157
- #[ link_name = "llvm.fptoui.sat.v2i32.v2f64" ]
158
- fn llvm_i32x2_trunc_sat_f64x2_u ( x : simd:: f64x2 ) -> simd:: i32x2 ;
159
150
}
160
151
161
152
#[ repr( packed) ]
@@ -4059,7 +4050,7 @@ pub fn f64x2_pmax(a: v128, b: v128) -> v128 {
4059
4050
#[ doc( alias( "i32x4.trunc_sat_f32x4_s" ) ) ]
4060
4051
#[ stable( feature = "wasm_simd" , since = "1.54.0" ) ]
4061
4052
pub fn i32x4_trunc_sat_f32x4 ( a : v128 ) -> v128 {
4062
- unsafe { llvm_i32x4_trunc_sat_f32x4_s ( a. as_f32x4 ( ) ) . v128 ( ) }
4053
+ unsafe { simd_as :: < simd :: f32x4 , simd :: i32x4 > ( a. as_f32x4 ( ) ) . v128 ( ) }
4063
4054
}
4064
4055
4065
4056
/// Converts a 128-bit vector interpreted as four 32-bit floating point numbers
@@ -4073,7 +4064,7 @@ pub fn i32x4_trunc_sat_f32x4(a: v128) -> v128 {
4073
4064
#[ doc( alias( "i32x4.trunc_sat_f32x4_u" ) ) ]
4074
4065
#[ stable( feature = "wasm_simd" , since = "1.54.0" ) ]
4075
4066
pub fn u32x4_trunc_sat_f32x4 ( a : v128 ) -> v128 {
4076
- unsafe { llvm_i32x4_trunc_sat_f32x4_u ( a. as_f32x4 ( ) ) . v128 ( ) }
4067
+ unsafe { simd_as :: < simd :: f32x4 , simd :: u32x4 > ( a. as_f32x4 ( ) ) . v128 ( ) }
4077
4068
}
4078
4069
4079
4070
/// Converts a 128-bit vector interpreted as four 32-bit signed integers into a
@@ -4114,7 +4105,7 @@ pub fn f32x4_convert_u32x4(a: v128) -> v128 {
4114
4105
pub fn i32x4_trunc_sat_f64x2_zero ( a : v128 ) -> v128 {
4115
4106
let ret: simd:: i32x4 = unsafe {
4116
4107
simd_shuffle ! (
4117
- llvm_i32x2_trunc_sat_f64x2_s ( a. as_f64x2( ) ) ,
4108
+ simd_as :: <simd :: f64x2 , simd :: i32x2> ( a. as_f64x2( ) ) ,
4118
4109
simd:: i32x2:: ZERO ,
4119
4110
[ 0 , 1 , 2 , 3 ] ,
4120
4111
)
@@ -4136,10 +4127,10 @@ pub fn i32x4_trunc_sat_f64x2_zero(a: v128) -> v128 {
4136
4127
#[ doc( alias( "i32x4.trunc_sat_f64x2_u_zero" ) ) ]
4137
4128
#[ stable( feature = "wasm_simd" , since = "1.54.0" ) ]
4138
4129
pub fn u32x4_trunc_sat_f64x2_zero ( a : v128 ) -> v128 {
4139
- let ret: simd:: i32x4 = unsafe {
4130
+ let ret: simd:: u32x4 = unsafe {
4140
4131
simd_shuffle ! (
4141
- llvm_i32x2_trunc_sat_f64x2_u ( a. as_f64x2( ) ) ,
4142
- simd:: i32x2 :: ZERO ,
4132
+ simd_as :: <simd :: f64x2 , simd :: u32x2> ( a. as_f64x2( ) ) ,
4133
+ simd:: u32x2 :: ZERO ,
4143
4134
[ 0 , 1 , 2 , 3 ] ,
4144
4135
)
4145
4136
} ;
0 commit comments