🔬This is a nightly-only experimental API. (
stdsimd #48556)Available on x86 or x86-64 only.
Expand description
Supplemental Streaming SIMD Extensions 3 (SSSE3)
Functions
- _mm_abs_epi8⚠
ssse3Computes the absolute value of packed 8-bit signed integers inaand return the unsigned results. - _mm_abs_epi16⚠
ssse3Computes the absolute value of each of the packed 16-bit signed integers inaand return the 16-bit unsigned integer - _mm_abs_epi32⚠
ssse3Computes the absolute value of each of the packed 32-bit signed integers inaand return the 32-bit unsigned integer - _mm_alignr_epi8⚠
ssse3Concatenate 16-byte blocks inaandbinto a 32-byte temporary result, shift the result right bynbytes, and returns the low 16 bytes. - _mm_hadd_epi16⚠
ssse3Horizontally adds the adjacent pairs of values contained in 2 packed 128-bit vectors of[8 x i16]. - _mm_hadd_epi32⚠
ssse3Horizontally adds the adjacent pairs of values contained in 2 packed 128-bit vectors of[4 x i32]. - _mm_hadds_epi16⚠
ssse3Horizontally adds the adjacent pairs of values contained in 2 packed 128-bit vectors of[8 x i16]. Positive sums greater than 7FFFh are saturated to 7FFFh. Negative sums less than 8000h are saturated to 8000h. - _mm_hsub_epi16⚠
ssse3Horizontally subtract the adjacent pairs of values contained in 2 packed 128-bit vectors of[8 x i16]. - _mm_hsub_epi32⚠
ssse3Horizontally subtract the adjacent pairs of values contained in 2 packed 128-bit vectors of[4 x i32]. - _mm_hsubs_epi16⚠
ssse3Horizontally subtract the adjacent pairs of values contained in 2 packed 128-bit vectors of[8 x i16]. Positive differences greater than 7FFFh are saturated to 7FFFh. Negative differences less than 8000h are saturated to 8000h. - _mm_maddubs_epi16⚠
ssse3Multiplies corresponding pairs of packed 8-bit unsigned integer values contained in the first source operand and packed 8-bit signed integer values contained in the second source operand, add pairs of contiguous products with signed saturation, and writes the 16-bit sums to the corresponding bits in the destination. - _mm_mulhrs_epi16⚠
ssse3Multiplies packed 16-bit signed integer values, truncate the 32-bit product to the 18 most significant bits by right-shifting, round the truncated value by adding 1, and write bits[16:1]to the destination. - _mm_shuffle_epi8⚠
ssse3Shuffles bytes fromaaccording to the content ofb. - _mm_sign_epi8⚠
ssse3Negates packed 8-bit integers inawhen the corresponding signed 8-bit integer inbis negative, and returns the result. Elements in result are zeroed out when the corresponding element inbis zero. - _mm_sign_epi16⚠
ssse3Negates packed 16-bit integers inawhen the corresponding signed 16-bit integer inbis negative, and returns the results. Elements in result are zeroed out when the corresponding element inbis zero. - _mm_sign_epi32⚠
ssse3Negates packed 32-bit integers inawhen the corresponding signed 32-bit integer inbis negative, and returns the results. Element in result are zeroed out when the corresponding element inbis zero.