diff --git a/library/stdarch/crates/core_arch/src/wasm32/simd128.rs b/library/stdarch/crates/core_arch/src/wasm32/simd128.rs index 70093bbd32d2..a774b68cfd96 100644 --- a/library/stdarch/crates/core_arch/src/wasm32/simd128.rs +++ b/library/stdarch/crates/core_arch/src/wasm32/simd128.rs @@ -90,10 +90,6 @@ unsafe extern "C" { fn llvm_narrow_i8x16_s(a: simd::i16x8, b: simd::i16x8) -> simd::i8x16; #[link_name = "llvm.wasm.narrow.unsigned.v16i8.v8i16"] fn llvm_narrow_i8x16_u(a: simd::i16x8, b: simd::i16x8) -> simd::i8x16; - #[link_name = "llvm.ssub.sat.v16i8"] - fn llvm_i8x16_sub_sat_s(a: simd::i8x16, b: simd::i8x16) -> simd::i8x16; - #[link_name = "llvm.usub.sat.v16i8"] - fn llvm_i8x16_sub_sat_u(a: simd::i8x16, b: simd::i8x16) -> simd::i8x16; #[link_name = "llvm.wasm.avgr.unsigned.v16i8"] fn llvm_avgr_u_i8x16(a: simd::i8x16, b: simd::i8x16) -> simd::i8x16; @@ -111,10 +107,6 @@ unsafe extern "C" { fn llvm_narrow_i16x8_s(a: simd::i32x4, b: simd::i32x4) -> simd::i16x8; #[link_name = "llvm.wasm.narrow.unsigned.v8i16.v4i32"] fn llvm_narrow_i16x8_u(a: simd::i32x4, b: simd::i32x4) -> simd::i16x8; - #[link_name = "llvm.ssub.sat.v8i16"] - fn llvm_i16x8_sub_sat_s(a: simd::i16x8, b: simd::i16x8) -> simd::i16x8; - #[link_name = "llvm.usub.sat.v8i16"] - fn llvm_i16x8_sub_sat_u(a: simd::i16x8, b: simd::i16x8) -> simd::i16x8; #[link_name = "llvm.wasm.avgr.unsigned.v8i16"] fn llvm_avgr_u_i16x8(a: simd::i16x8, b: simd::i16x8) -> simd::i16x8; @@ -2416,7 +2408,7 @@ pub use i8x16_sub as u8x16_sub; #[doc(alias("i8x16.sub_sat_s"))] #[stable(feature = "wasm_simd", since = "1.54.0")] pub fn i8x16_sub_sat(a: v128, b: v128) -> v128 { - unsafe { llvm_i8x16_sub_sat_s(a.as_i8x16(), b.as_i8x16()).v128() } + unsafe { simd_saturating_sub(a.as_i8x16(), b.as_i8x16()).v128() } } /// 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 { #[doc(alias("i8x16.sub_sat_u"))] #[stable(feature = "wasm_simd", since = "1.54.0")] pub fn u8x16_sub_sat(a: v128, b: v128) -> v128 { - unsafe { llvm_i8x16_sub_sat_u(a.as_i8x16(), b.as_i8x16()).v128() } + unsafe { simd_saturating_sub(a.as_u8x16(), b.as_u8x16()).v128() } } /// Compares lane-wise signed integers, and returns the minimum of @@ -2784,7 +2776,7 @@ pub use i16x8_sub as u16x8_sub; #[doc(alias("i16x8.sub_sat_s"))] #[stable(feature = "wasm_simd", since = "1.54.0")] pub fn i16x8_sub_sat(a: v128, b: v128) -> v128 { - unsafe { llvm_i16x8_sub_sat_s(a.as_i16x8(), b.as_i16x8()).v128() } + unsafe { simd_saturating_sub(a.as_i16x8(), b.as_i16x8()).v128() } } /// 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 { #[doc(alias("i16x8.sub_sat_u"))] #[stable(feature = "wasm_simd", since = "1.54.0")] pub fn u16x8_sub_sat(a: v128, b: v128) -> v128 { - unsafe { llvm_i16x8_sub_sat_u(a.as_i16x8(), b.as_i16x8()).v128() } + unsafe { simd_saturating_sub(a.as_u16x8(), b.as_u16x8()).v128() } } /// Multiplies two 128-bit vectors as if they were two packed eight 16-bit