@@ -121,7 +121,7 @@ pub unsafe fn _mm_add_epi64(a: __m128i, b: __m128i) -> __m128i {
121
121
#[ cfg_attr( test, assert_instr( paddsb) ) ]
122
122
#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
123
123
pub unsafe fn _mm_adds_epi8 ( a : __m128i , b : __m128i ) -> __m128i {
124
- transmute ( paddsb ( a. as_i8x16 ( ) , b. as_i8x16 ( ) ) )
124
+ transmute ( simd_saturating_add ( a. as_i8x16 ( ) , b. as_i8x16 ( ) ) )
125
125
}
126
126
127
127
/// Adds packed 16-bit integers in `a` and `b` using saturation.
@@ -132,7 +132,7 @@ pub unsafe fn _mm_adds_epi8(a: __m128i, b: __m128i) -> __m128i {
132
132
#[ cfg_attr( test, assert_instr( paddsw) ) ]
133
133
#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
134
134
pub unsafe fn _mm_adds_epi16 ( a : __m128i , b : __m128i ) -> __m128i {
135
- transmute ( paddsw ( a. as_i16x8 ( ) , b. as_i16x8 ( ) ) )
135
+ transmute ( simd_saturating_add ( a. as_i16x8 ( ) , b. as_i16x8 ( ) ) )
136
136
}
137
137
138
138
/// Adds packed unsigned 8-bit integers in `a` and `b` using saturation.
@@ -143,7 +143,7 @@ pub unsafe fn _mm_adds_epi16(a: __m128i, b: __m128i) -> __m128i {
143
143
#[ cfg_attr( test, assert_instr( paddusb) ) ]
144
144
#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
145
145
pub unsafe fn _mm_adds_epu8 ( a : __m128i , b : __m128i ) -> __m128i {
146
- transmute ( paddsub ( a. as_u8x16 ( ) , b. as_u8x16 ( ) ) )
146
+ transmute ( simd_saturating_add ( a. as_u8x16 ( ) , b. as_u8x16 ( ) ) )
147
147
}
148
148
149
149
/// Adds packed unsigned 16-bit integers in `a` and `b` using saturation.
@@ -154,7 +154,7 @@ pub unsafe fn _mm_adds_epu8(a: __m128i, b: __m128i) -> __m128i {
154
154
#[ cfg_attr( test, assert_instr( paddusw) ) ]
155
155
#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
156
156
pub unsafe fn _mm_adds_epu16 ( a : __m128i , b : __m128i ) -> __m128i {
157
- transmute ( paddsuw ( a. as_u16x8 ( ) , b. as_u16x8 ( ) ) )
157
+ transmute ( simd_saturating_add ( a. as_u16x8 ( ) , b. as_u16x8 ( ) ) )
158
158
}
159
159
160
160
/// Averages packed unsigned 8-bit integers in `a` and `b`.
@@ -367,7 +367,7 @@ pub unsafe fn _mm_sub_epi64(a: __m128i, b: __m128i) -> __m128i {
367
367
#[ cfg_attr( test, assert_instr( psubsb) ) ]
368
368
#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
369
369
pub unsafe fn _mm_subs_epi8 ( a : __m128i , b : __m128i ) -> __m128i {
370
- transmute ( psubsb ( a. as_i8x16 ( ) , b. as_i8x16 ( ) ) )
370
+ transmute ( simd_saturating_sub ( a. as_i8x16 ( ) , b. as_i8x16 ( ) ) )
371
371
}
372
372
373
373
/// Subtract packed 16-bit integers in `b` from packed 16-bit integers in `a`
@@ -379,7 +379,7 @@ pub unsafe fn _mm_subs_epi8(a: __m128i, b: __m128i) -> __m128i {
379
379
#[ cfg_attr( test, assert_instr( psubsw) ) ]
380
380
#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
381
381
pub unsafe fn _mm_subs_epi16 ( a : __m128i , b : __m128i ) -> __m128i {
382
- transmute ( psubsw ( a. as_i16x8 ( ) , b. as_i16x8 ( ) ) )
382
+ transmute ( simd_saturating_sub ( a. as_i16x8 ( ) , b. as_i16x8 ( ) ) )
383
383
}
384
384
385
385
/// Subtract packed unsigned 8-bit integers in `b` from packed unsigned 8-bit
@@ -391,7 +391,7 @@ pub unsafe fn _mm_subs_epi16(a: __m128i, b: __m128i) -> __m128i {
391
391
#[ cfg_attr( test, assert_instr( psubusb) ) ]
392
392
#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
393
393
pub unsafe fn _mm_subs_epu8 ( a : __m128i , b : __m128i ) -> __m128i {
394
- transmute ( psubusb ( a. as_u8x16 ( ) , b. as_u8x16 ( ) ) )
394
+ transmute ( simd_saturating_sub ( a. as_u8x16 ( ) , b. as_u8x16 ( ) ) )
395
395
}
396
396
397
397
/// Subtract packed unsigned 16-bit integers in `b` from packed unsigned 16-bit
@@ -403,7 +403,7 @@ pub unsafe fn _mm_subs_epu8(a: __m128i, b: __m128i) -> __m128i {
403
403
#[ cfg_attr( test, assert_instr( psubusw) ) ]
404
404
#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
405
405
pub unsafe fn _mm_subs_epu16 ( a : __m128i , b : __m128i ) -> __m128i {
406
- transmute ( psubusw ( a. as_u16x8 ( ) , b. as_u16x8 ( ) ) )
406
+ transmute ( simd_saturating_sub ( a. as_u16x8 ( ) , b. as_u16x8 ( ) ) )
407
407
}
408
408
409
409
/// Shifts `a` left by `imm8` bytes while shifting in zeros.
@@ -3021,14 +3021,6 @@ extern "C" {
3021
3021
fn lfence ( ) ;
3022
3022
#[ link_name = "llvm.x86.sse2.mfence" ]
3023
3023
fn mfence ( ) ;
3024
- #[ link_name = "llvm.x86.sse2.padds.b" ]
3025
- fn paddsb ( a : i8x16 , b : i8x16 ) -> i8x16 ;
3026
- #[ link_name = "llvm.x86.sse2.padds.w" ]
3027
- fn paddsw ( a : i16x8 , b : i16x8 ) -> i16x8 ;
3028
- #[ link_name = "llvm.x86.sse2.paddus.b" ]
3029
- fn paddsub ( a : u8x16 , b : u8x16 ) -> u8x16 ;
3030
- #[ link_name = "llvm.x86.sse2.paddus.w" ]
3031
- fn paddsuw ( a : u16x8 , b : u16x8 ) -> u16x8 ;
3032
3024
#[ link_name = "llvm.x86.sse2.pavg.b" ]
3033
3025
fn pavgb ( a : u8x16 , b : u8x16 ) -> u8x16 ;
3034
3026
#[ link_name = "llvm.x86.sse2.pavg.w" ]
@@ -3051,14 +3043,6 @@ extern "C" {
3051
3043
fn pmuludq ( a : u32x4 , b : u32x4 ) -> u64x2 ;
3052
3044
#[ link_name = "llvm.x86.sse2.psad.bw" ]
3053
3045
fn psadbw ( a : u8x16 , b : u8x16 ) -> u64x2 ;
3054
- #[ link_name = "llvm.x86.sse2.psubs.b" ]
3055
- fn psubsb ( a : i8x16 , b : i8x16 ) -> i8x16 ;
3056
- #[ link_name = "llvm.x86.sse2.psubs.w" ]
3057
- fn psubsw ( a : i16x8 , b : i16x8 ) -> i16x8 ;
3058
- #[ link_name = "llvm.x86.sse2.psubus.b" ]
3059
- fn psubusb ( a : u8x16 , b : u8x16 ) -> u8x16 ;
3060
- #[ link_name = "llvm.x86.sse2.psubus.w" ]
3061
- fn psubusw ( a : u16x8 , b : u16x8 ) -> u16x8 ;
3062
3046
#[ link_name = "llvm.x86.sse2.pslli.w" ]
3063
3047
fn pslliw ( a : i16x8 , imm8 : i32 ) -> i16x8 ;
3064
3048
#[ link_name = "llvm.x86.sse2.psll.w" ]
0 commit comments