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 ๐ โ