Module core::core_arch::x86::ssse3

source ·
🔬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

  • pabsb128 🔒 Experimental
  • pabsd128 🔒 Experimental
  • pabsw128 🔒 Experimental
  • phaddd128 🔒 Experimental
  • phaddsw128 🔒 Experimental
  • phaddw128 🔒 Experimental
  • phsubd128 🔒 Experimental
  • phsubsw128 🔒 Experimental
  • phsubw128 🔒 Experimental
  • pmaddubsw128 🔒 Experimental
  • pmulhrsw128 🔒 Experimental
  • pshufb128 🔒 Experimental
  • psignb128 🔒 Experimental
  • psignd128 🔒 Experimental
  • psignw128 🔒 Experimental
  • _mm_abs_epi8ssse3
    Computes the absolute value of packed 8-bit signed integers in a and return the unsigned results.
  • Computes the absolute value of each of the packed 16-bit signed integers in a and return the 16-bit unsigned integer
  • Computes the absolute value of each of the packed 32-bit signed integers in a and return the 32-bit unsigned integer
  • Concatenate 16-byte blocks in a and b into a 32-byte temporary result, shift the result right by n bytes, and returns the low 16 bytes.
  • Horizontally adds the adjacent pairs of values contained in 2 packed 128-bit vectors of [8 x i16].
  • Horizontally adds the adjacent pairs of values contained in 2 packed 128-bit vectors of [4 x i32].
  • 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.
  • Horizontally subtract the adjacent pairs of values contained in 2 packed 128-bit vectors of [8 x i16].
  • Horizontally subtract the adjacent pairs of values contained in 2 packed 128-bit vectors of [4 x i32].
  • 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.
  • 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.
  • 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.
  • Shuffles bytes from a according to the content of b.
  • Negates packed 8-bit integers in a when the corresponding signed 8-bit integer in b is negative, and returns the result. Elements in result are zeroed out when the corresponding element in b is zero.
  • Negates packed 16-bit integers in a when the corresponding signed 16-bit integer in b is negative, and returns the results. Elements in result are zeroed out when the corresponding element in b is zero.
  • Negates packed 32-bit integers in a when the corresponding signed 32-bit integer in b is negative, and returns the results. Element in result are zeroed out when the corresponding element in b is zero.