Available on x86 or x86-64 only.
Expand description
Supplemental Streaming SIMD Extensions 3 (SSSE3)
Functions§
- _mm_
abs_ ⚠epi8 ssse3
- Computes the absolute value of packed 8-bit signed integers in
a
and return the unsigned results. - _mm_
abs_ ⚠epi16 ssse3
- Computes the absolute value of each of the packed 16-bit signed integers in
a
and return the 16-bit unsigned integer - _mm_
abs_ ⚠epi32 ssse3
- Computes the absolute value of each of the packed 32-bit signed integers in
a
and return the 32-bit unsigned integer - _mm_
alignr_ ⚠epi8 ssse3
- Concatenate 16-byte blocks in
a
andb
into a 32-byte temporary result, shift the result right byn
bytes, and returns the low 16 bytes. - _mm_
hadd_ ⚠epi16 ssse3
- Horizontally adds the adjacent pairs of values contained in 2 packed
128-bit vectors of
[8 x i16]
. - _mm_
hadd_ ⚠epi32 ssse3
- Horizontally adds the adjacent pairs of values contained in 2 packed
128-bit vectors of
[4 x i32]
. - _mm_
hadds_ ⚠epi16 ssse3
- Horizontally 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 ssse3
- Horizontally subtract the adjacent pairs of values contained in 2
packed 128-bit vectors of
[8 x i16]
. - _mm_
hsub_ ⚠epi32 ssse3
- Horizontally subtract the adjacent pairs of values contained in 2
packed 128-bit vectors of
[4 x i32]
. - _mm_
hsubs_ ⚠epi16 ssse3
- Horizontally 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 ssse3
- Multiplies 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 ssse3
- Multiplies 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 ssse3
- Shuffles bytes from
a
according to the content ofb
. - _mm_
sign_ ⚠epi8 ssse3
- Negates packed 8-bit integers in
a
when the corresponding signed 8-bit integer inb
is negative, and returns the result. Elements in result are zeroed out when the corresponding element inb
is zero. - _mm_
sign_ ⚠epi16 ssse3
- Negates packed 16-bit integers in
a
when the corresponding signed 16-bit integer inb
is negative, and returns the results. Elements in result are zeroed out when the corresponding element inb
is zero. - _mm_
sign_ ⚠epi32 ssse3
- Negates packed 32-bit integers in
a
when the corresponding signed 32-bit integer inb
is negative, and returns the results. Element in result are zeroed out when the corresponding element inb
is zero. - phaddd128 🔒 ⚠
- phaddsw128 🔒 ⚠
- phaddw128 🔒 ⚠
- phsubd128 🔒 ⚠
- phsubsw128 🔒 ⚠
- phsubw128 🔒 ⚠
- pmaddubsw128 🔒 ⚠
- pmulhrsw128 🔒 ⚠
- pshufb128 🔒 ⚠
- psignb128 🔒 ⚠
- psignd128 🔒 ⚠
- psignw128 🔒 ⚠