@@ -90,10 +90,6 @@ unsafe extern "C" {
90
90
fn llvm_narrow_i8x16_s ( a : simd:: i16x8 , b : simd:: i16x8 ) -> simd:: i8x16 ;
91
91
#[ link_name = "llvm.wasm.narrow.unsigned.v16i8.v8i16" ]
92
92
fn llvm_narrow_i8x16_u ( a : simd:: i16x8 , b : simd:: i16x8 ) -> simd:: i8x16 ;
93
- #[ link_name = "llvm.ssub.sat.v16i8" ]
94
- fn llvm_i8x16_sub_sat_s ( a : simd:: i8x16 , b : simd:: i8x16 ) -> simd:: i8x16 ;
95
- #[ link_name = "llvm.usub.sat.v16i8" ]
96
- fn llvm_i8x16_sub_sat_u ( a : simd:: i8x16 , b : simd:: i8x16 ) -> simd:: i8x16 ;
97
93
#[ link_name = "llvm.wasm.avgr.unsigned.v16i8" ]
98
94
fn llvm_avgr_u_i8x16 ( a : simd:: i8x16 , b : simd:: i8x16 ) -> simd:: i8x16 ;
99
95
@@ -111,10 +107,6 @@ unsafe extern "C" {
111
107
fn llvm_narrow_i16x8_s ( a : simd:: i32x4 , b : simd:: i32x4 ) -> simd:: i16x8 ;
112
108
#[ link_name = "llvm.wasm.narrow.unsigned.v8i16.v4i32" ]
113
109
fn llvm_narrow_i16x8_u ( a : simd:: i32x4 , b : simd:: i32x4 ) -> simd:: i16x8 ;
114
- #[ link_name = "llvm.ssub.sat.v8i16" ]
115
- fn llvm_i16x8_sub_sat_s ( a : simd:: i16x8 , b : simd:: i16x8 ) -> simd:: i16x8 ;
116
- #[ link_name = "llvm.usub.sat.v8i16" ]
117
- fn llvm_i16x8_sub_sat_u ( a : simd:: i16x8 , b : simd:: i16x8 ) -> simd:: i16x8 ;
118
110
#[ link_name = "llvm.wasm.avgr.unsigned.v8i16" ]
119
111
fn llvm_avgr_u_i16x8 ( a : simd:: i16x8 , b : simd:: i16x8 ) -> simd:: i16x8 ;
120
112
@@ -2416,7 +2408,7 @@ pub use i8x16_sub as u8x16_sub;
2416
2408
#[ doc( alias( "i8x16.sub_sat_s" ) ) ]
2417
2409
#[ stable( feature = "wasm_simd" , since = "1.54.0" ) ]
2418
2410
pub fn i8x16_sub_sat ( a : v128 , b : v128 ) -> v128 {
2419
- unsafe { llvm_i8x16_sub_sat_s ( a. as_i8x16 ( ) , b. as_i8x16 ( ) ) . v128 ( ) }
2411
+ unsafe { simd_saturating_sub ( a. as_i8x16 ( ) , b. as_i8x16 ( ) ) . v128 ( ) }
2420
2412
}
2421
2413
2422
2414
/// Subtracts two 128-bit vectors as if they were two packed sixteen 8-bit
@@ -2427,7 +2419,7 @@ pub fn i8x16_sub_sat(a: v128, b: v128) -> v128 {
2427
2419
#[ doc( alias( "i8x16.sub_sat_u" ) ) ]
2428
2420
#[ stable( feature = "wasm_simd" , since = "1.54.0" ) ]
2429
2421
pub fn u8x16_sub_sat ( a : v128 , b : v128 ) -> v128 {
2430
- unsafe { llvm_i8x16_sub_sat_u ( a. as_i8x16 ( ) , b. as_i8x16 ( ) ) . v128 ( ) }
2422
+ unsafe { simd_saturating_sub ( a. as_u8x16 ( ) , b. as_u8x16 ( ) ) . v128 ( ) }
2431
2423
}
2432
2424
2433
2425
/// Compares lane-wise signed integers, and returns the minimum of
@@ -2784,7 +2776,7 @@ pub use i16x8_sub as u16x8_sub;
2784
2776
#[ doc( alias( "i16x8.sub_sat_s" ) ) ]
2785
2777
#[ stable( feature = "wasm_simd" , since = "1.54.0" ) ]
2786
2778
pub fn i16x8_sub_sat ( a : v128 , b : v128 ) -> v128 {
2787
- unsafe { llvm_i16x8_sub_sat_s ( a. as_i16x8 ( ) , b. as_i16x8 ( ) ) . v128 ( ) }
2779
+ unsafe { simd_saturating_sub ( a. as_i16x8 ( ) , b. as_i16x8 ( ) ) . v128 ( ) }
2788
2780
}
2789
2781
2790
2782
/// Subtracts two 128-bit vectors as if they were two packed eight 16-bit
@@ -2795,7 +2787,7 @@ pub fn i16x8_sub_sat(a: v128, b: v128) -> v128 {
2795
2787
#[ doc( alias( "i16x8.sub_sat_u" ) ) ]
2796
2788
#[ stable( feature = "wasm_simd" , since = "1.54.0" ) ]
2797
2789
pub fn u16x8_sub_sat ( a : v128 , b : v128 ) -> v128 {
2798
- unsafe { llvm_i16x8_sub_sat_u ( a. as_i16x8 ( ) , b. as_i16x8 ( ) ) . v128 ( ) }
2790
+ unsafe { simd_saturating_sub ( a. as_u16x8 ( ) , b. as_u16x8 ( ) ) . v128 ( ) }
2799
2791
}
2800
2792
2801
2793
/// Multiplies two 128-bit vectors as if they were two packed eight 16-bit
0 commit comments