Class X86.Ssse3
Syntax
public static class Ssse3
Properties
IsSsse3Supported
Evaluates to true at compile time if SSSE3 intrinsics are supported.
Declaration
public static bool IsSsse3Supported { get; }
Property Value
Methods
abs_epi16(v128)
Compute the absolute value of packed 16-bit integers in "a", and store the unsigned results in "dst".
Declaration
public static v128 abs_epi16(v128 a)
Parameters
Type |
Name |
Description |
v128 |
a |
|
Returns
abs_epi32(v128)
Compute the absolute value of packed 32-bit integers in "a", and store the unsigned results in "dst".
Declaration
public static v128 abs_epi32(v128 a)
Parameters
Type |
Name |
Description |
v128 |
a |
|
Returns
abs_epi8(v128)
Compute the absolute value of packed 8-bit integers in "a", and store the unsigned results in "dst".
Declaration
public static v128 abs_epi8(v128 a)
Parameters
Type |
Name |
Description |
v128 |
a |
|
Returns
alignr_epi8(v128, v128, Int32)
Concatenate 16-byte blocks in "a" and "b" into a 32-byte temporary result, shift the result right by "count" bytes, and store the low 16 bytes in "dst".
Declaration
public static v128 alignr_epi8(v128 a, v128 b, int count)
Parameters
Returns
hadd_epi16(v128, v128)
Horizontally add adjacent pairs of 16-bit integers in "a" and "b", and pack the signed 16-bit results in "dst".
Declaration
public static v128 hadd_epi16(v128 a, v128 b)
Parameters
Returns
hadd_epi32(v128, v128)
Horizontally add adjacent pairs of 32-bit integers in "a" and "b", and pack the signed 32-bit results in "dst".
Declaration
public static v128 hadd_epi32(v128 a, v128 b)
Parameters
Returns
hadds_epi16(v128, v128)
Horizontally add adjacent pairs of 16-bit integers in "a" and "b" using saturation, and pack the signed 16-bit results in "dst".
Declaration
public static v128 hadds_epi16(v128 a, v128 b)
Parameters
Returns
hsub_epi16(v128, v128)
Horizontally subtract adjacent pairs of 16-bit integers in "a" and "b", and pack the signed 16-bit results in "dst".
Declaration
public static v128 hsub_epi16(v128 a, v128 b)
Parameters
Returns
hsub_epi32(v128, v128)
Horizontally subtract adjacent pairs of 32-bit integers in "a" and "b", and pack the signed 32-bit results in "dst".
Declaration
public static v128 hsub_epi32(v128 a, v128 b)
Parameters
Returns
hsubs_epi16(v128, v128)
Horizontally subtract adjacent pairs of 16-bit integers in "a" and "b" using saturation, and pack the signed 16-bit results in "dst".
Declaration
public static v128 hsubs_epi16(v128 a, v128 b)
Parameters
Returns
maddubs_epi16(v128, v128)
Vertically multiply each unsigned 8-bit integer from "a" with the corresponding signed 8-bit integer from "b", producing intermediate signed 16-bit integers. Horizontally add adjacent pairs of intermediate signed 16-bit integers, and pack the saturated results in "dst".
Declaration
public static v128 maddubs_epi16(v128 a, v128 b)
Parameters
Returns
mulhrs_epi16(v128, v128)
Multiply packed 16-bit integers in "a" and "b", producing intermediate signed 32-bit integers. Truncate each intermediate integer to the 18 most significant bits, round by adding 1, and store bits [16:1] to "dst".
Declaration
public static v128 mulhrs_epi16(v128 a, v128 b)
Parameters
Returns
shuffle_epi8(v128, v128)
Shuffle packed 8-bit integers in "a" according to shuffle control mask in the corresponding 8-bit element of "b", and store the results in "dst".
Declaration
public static v128 shuffle_epi8(v128 a, v128 b)
Parameters
Returns
sign_epi16(v128, v128)
Negate packed 16-bit integers in "a" when the corresponding signed 16-bit integer in "b" is negative, and store the results in "dst". Element in "dst" are zeroed out when the corresponding element in "b" is zero.
Declaration
public static v128 sign_epi16(v128 a, v128 b)
Parameters
Returns
sign_epi32(v128, v128)
Negate packed 32-bit integers in "a" when the corresponding signed 32-bit integer in "b" is negative, and store the results in "dst". Element in "dst" are zeroed out when the corresponding element in "b" is zero.
Declaration
public static v128 sign_epi32(v128 a, v128 b)
Parameters
Returns
sign_epi8(v128, v128)
Negate packed 8-bit integers in "a" when the corresponding signed 8-bit integer in "b" is negative, and store the results in "dst". Element in "dst" are zeroed out when the corresponding element in "b" is zero.
Declaration
public static v128 sign_epi8(v128 a, v128 b)
Parameters
Returns