|
clang 22.0.0git
|
#include <pmmintrin.h>Go to the source code of this file.
Macros | |
| #define | __DEFAULT_FN_ATTRS |
| #define | __trunc64(x) |
| #define | __zext128(x) |
| #define | __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS |
| #define | _mm_alignr_epi8(a, b, n) |
| Concatenates the two 128-bit integer vector operands, and right-shifts the result by the number of bytes specified in the immediate operand. | |
| #define | _mm_alignr_pi8(a, b, n) |
| Concatenates the two 64-bit integer vector operands, and right-shifts the result by the number of bytes specified in the immediate operand. | |
Functions | |
| static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR | _mm_abs_pi8 (__m64 __a) |
| Computes the absolute value of each of the packed 8-bit signed integers in the source operand and stores the 8-bit unsigned integer results in the destination. | |
| static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR | _mm_abs_epi8 (__m128i __a) |
| Computes the absolute value of each of the packed 8-bit signed integers in the source operand and stores the 8-bit unsigned integer results in the destination. | |
| static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR | _mm_abs_pi16 (__m64 __a) |
| Computes the absolute value of each of the packed 16-bit signed integers in the source operand and stores the 16-bit unsigned integer results in the destination. | |
| static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR | _mm_abs_epi16 (__m128i __a) |
| Computes the absolute value of each of the packed 16-bit signed integers in the source operand and stores the 16-bit unsigned integer results in the destination. | |
| static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR | _mm_abs_pi32 (__m64 __a) |
| Computes the absolute value of each of the packed 32-bit signed integers in the source operand and stores the 32-bit unsigned integer results in the destination. | |
| static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR | _mm_abs_epi32 (__m128i __a) |
| Computes the absolute value of each of the packed 32-bit signed integers in the source operand and stores the 32-bit unsigned integer results in the destination. | |
| static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR | _mm_hadd_epi16 (__m128i __a, __m128i __b) |
| Horizontally adds the adjacent pairs of values contained in 2 packed 128-bit vectors of [8 x i16]. | |
| static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR | _mm_hadd_epi32 (__m128i __a, __m128i __b) |
| Horizontally adds the adjacent pairs of values contained in 2 packed 128-bit vectors of [4 x i32]. | |
| static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR | _mm_hadd_pi16 (__m64 __a, __m64 __b) |
| Horizontally adds the adjacent pairs of values contained in 2 packed 64-bit vectors of [4 x i16]. | |
| static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR | _mm_hadd_pi32 (__m64 __a, __m64 __b) |
| Horizontally adds the adjacent pairs of values contained in 2 packed 64-bit vectors of [2 x i32]. | |
| static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR | _mm_hadds_epi16 (__m128i __a, __m128i __b) |
| Horizontally adds, with saturation, the adjacent pairs of values contained in two packed 128-bit vectors of [8 x i16]. | |
| static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR | _mm_hadds_pi16 (__m64 __a, __m64 __b) |
| Horizontally adds, with saturation, the adjacent pairs of values contained in two packed 64-bit vectors of [4 x i16]. | |
| static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR | _mm_hsub_epi16 (__m128i __a, __m128i __b) |
| Horizontally subtracts the adjacent pairs of values contained in 2 packed 128-bit vectors of [8 x i16]. | |
| static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR | _mm_hsub_epi32 (__m128i __a, __m128i __b) |
| Horizontally subtracts the adjacent pairs of values contained in 2 packed 128-bit vectors of [4 x i32]. | |
| static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR | _mm_hsub_pi16 (__m64 __a, __m64 __b) |
| Horizontally subtracts the adjacent pairs of values contained in 2 packed 64-bit vectors of [4 x i16]. | |
| static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR | _mm_hsub_pi32 (__m64 __a, __m64 __b) |
| Horizontally subtracts the adjacent pairs of values contained in 2 packed 64-bit vectors of [2 x i32]. | |
| static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR | _mm_hsubs_epi16 (__m128i __a, __m128i __b) |
| Horizontally subtracts, with saturation, the adjacent pairs of values contained in two packed 128-bit vectors of [8 x i16]. | |
| static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR | _mm_hsubs_pi16 (__m64 __a, __m64 __b) |
| Horizontally subtracts, with saturation, the adjacent pairs of values contained in two packed 64-bit vectors of [4 x i16]. | |
| static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR | _mm_maddubs_epi16 (__m128i __a, __m128i __b) |
| 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, adds pairs of contiguous products with signed saturation, and writes the 16-bit sums to the corresponding bits in the destination. | |
| static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR | _mm_maddubs_pi16 (__m64 __a, __m64 __b) |
| 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, adds pairs of contiguous products with signed saturation, and writes the 16-bit sums to the corresponding bits in the destination. | |
| static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR | _mm_mulhrs_epi16 (__m128i __a, __m128i __b) |
| Multiplies packed 16-bit signed integer values, truncates the 32-bit products to the 18 most significant bits by right-shifting, rounds the truncated value by adding 1, and writes bits [16:1] to the destination. | |
| static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR | _mm_mulhrs_pi16 (__m64 __a, __m64 __b) |
| Multiplies packed 16-bit signed integer values, truncates the 32-bit products to the 18 most significant bits by right-shifting, rounds the truncated value by adding 1, and writes bits [16:1] to the destination. | |
| static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR | _mm_shuffle_epi8 (__m128i __a, __m128i __b) |
| Copies the 8-bit integers from a 128-bit integer vector to the destination or clears 8-bit values in the destination, as specified by the second source operand. | |
| static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR | _mm_shuffle_pi8 (__m64 __a, __m64 __b) |
| Copies the 8-bit integers from a 64-bit integer vector to the destination or clears 8-bit values in the destination, as specified by the second source operand. | |
| static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR | _mm_sign_epi8 (__m128i __a, __m128i __b) |
| For each 8-bit integer in the first source operand, perform one of the following actions as specified by the second source operand. | |
| static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR | _mm_sign_epi16 (__m128i __a, __m128i __b) |
| For each 16-bit integer in the first source operand, perform one of the following actions as specified by the second source operand. | |
| static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR | _mm_sign_epi32 (__m128i __a, __m128i __b) |
| For each 32-bit integer in the first source operand, perform one of the following actions as specified by the second source operand. | |
| static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR | _mm_sign_pi8 (__m64 __a, __m64 __b) |
| For each 8-bit integer in the first source operand, perform one of the following actions as specified by the second source operand. | |
| static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR | _mm_sign_pi16 (__m64 __a, __m64 __b) |
| For each 16-bit integer in the first source operand, perform one of the following actions as specified by the second source operand. | |
| static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR | _mm_sign_pi32 (__m64 __a, __m64 __b) |
| For each 32-bit integer in the first source operand, perform one of the following actions as specified by the second source operand. | |
| #define __DEFAULT_FN_ATTRS |
Definition at line 20 of file tmmintrin.h.
| #define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS |
Definition at line 33 of file tmmintrin.h.
| #define __trunc64 | ( | x | ) |
Definition at line 24 of file tmmintrin.h.
Referenced by _mm_hadd_pi16(), _mm_hadd_pi32(), _mm_hadds_pi16(), _mm_hsub_pi16(), _mm_hsub_pi32(), _mm_hsubs_pi16(), _mm_maddubs_pi16(), _mm_mulhrs_pi16(), _mm_shuffle_pi8(), _mm_sign_pi16(), _mm_sign_pi32(), and _mm_sign_pi8().
| #define __zext128 | ( | x | ) |
Definition at line 26 of file tmmintrin.h.
Referenced by _mm_maddubs_pi16(), _mm_mulhrs_pi16(), _mm_shuffle_pi8(), _mm_sign_pi16(), _mm_sign_pi32(), and _mm_sign_pi8().
| #define _mm_alignr_epi8 | ( | a, | |
| b, | |||
| n ) |
Concatenates the two 128-bit integer vector operands, and right-shifts the result by the number of bytes specified in the immediate operand.
This intrinsic corresponds to the PALIGNR instruction.
| a | A 128-bit vector of [16 x i8] containing one of the source operands. |
| b | A 128-bit vector of [16 x i8] containing one of the source operands. |
| n | An immediate operand specifying how many bytes to right-shift the result. |
Definition at line 155 of file tmmintrin.h.
| #define _mm_alignr_pi8 | ( | a, | |
| b, | |||
| n ) |
Concatenates the two 64-bit integer vector operands, and right-shifts the result by the number of bytes specified in the immediate operand.
This intrinsic corresponds to the PALIGNR instruction.
| a | A 64-bit vector of [8 x i8] containing one of the source operands. |
| b | A 64-bit vector of [8 x i8] containing one of the source operands. |
| n | An immediate operand specifying how many bytes to right-shift the result. |
Definition at line 178 of file tmmintrin.h.
|
static |
Computes the absolute value of each of the packed 16-bit signed integers in the source operand and stores the 16-bit unsigned integer results in the destination.
This intrinsic corresponds to the VPABSW instruction.
| __a | A 128-bit vector of [8 x i16]. |
Definition at line 98 of file tmmintrin.h.
References __a.
Referenced by _mm_mask_abs_epi16(), and _mm_maskz_abs_epi16().
|
static |
Computes the absolute value of each of the packed 32-bit signed integers in the source operand and stores the 32-bit unsigned integer results in the destination.
This intrinsic corresponds to the VPABSD instruction.
| __a | A 128-bit vector of [4 x i32]. |
Definition at line 131 of file tmmintrin.h.
References __a.
Referenced by _mm_mask_abs_epi32(), and _mm_maskz_abs_epi32().
|
static |
Computes the absolute value of each of the packed 8-bit signed integers in the source operand and stores the 8-bit unsigned integer results in the destination.
This intrinsic corresponds to the VPABSB instruction.
| __a | A 128-bit vector of [16 x i8]. |
Definition at line 65 of file tmmintrin.h.
References __a.
Referenced by _mm_mask_abs_epi8(), and _mm_maskz_abs_epi8().
|
static |
Computes the absolute value of each of the packed 16-bit signed integers in the source operand and stores the 16-bit unsigned integer results in the destination.
This intrinsic corresponds to the PABSW instruction.
| __a | A 64-bit vector of [4 x i16]. |
Definition at line 81 of file tmmintrin.h.
References __a, and __DEFAULT_FN_ATTRS_CONSTEXPR.
|
static |
Computes the absolute value of each of the packed 32-bit signed integers in the source operand and stores the 32-bit unsigned integer results in the destination.
This intrinsic corresponds to the PABSD instruction.
| __a | A 64-bit vector of [2 x i32]. |
Definition at line 114 of file tmmintrin.h.
References __a, and __DEFAULT_FN_ATTRS_CONSTEXPR.
|
static |
Computes the absolute value of each of the packed 8-bit signed integers in the source operand and stores the 8-bit unsigned integer results in the destination.
This intrinsic corresponds to the PABSB instruction.
| __a | A 64-bit vector of [8 x i8]. |
Definition at line 48 of file tmmintrin.h.
References __a, and __DEFAULT_FN_ATTRS_CONSTEXPR.
|
static |
Horizontally adds the adjacent pairs of values contained in 2 packed 128-bit vectors of [8 x i16].
This intrinsic corresponds to the VPHADDW instruction.
| __a | A 128-bit vector of [8 x i16] containing one of the source operands. The horizontal sums of the values are stored in the lower bits of the destination. |
| __b | A 128-bit vector of [8 x i16] containing one of the source operands. The horizontal sums of the values are stored in the upper bits of the destination. |
Definition at line 203 of file tmmintrin.h.
|
static |
Horizontally adds the adjacent pairs of values contained in 2 packed 128-bit vectors of [4 x i32].
This intrinsic corresponds to the VPHADDD instruction.
| __a | A 128-bit vector of [4 x i32] containing one of the source operands. The horizontal sums of the values are stored in the lower bits of the destination. |
| __b | A 128-bit vector of [4 x i32] containing one of the source operands. The horizontal sums of the values are stored in the upper bits of the destination. |
Definition at line 225 of file tmmintrin.h.
|
static |
Horizontally adds the adjacent pairs of values contained in 2 packed 64-bit vectors of [4 x i16].
This intrinsic corresponds to the PHADDW instruction.
| __a | A 64-bit vector of [4 x i16] containing one of the source operands. The horizontal sums of the values are stored in the lower bits of the destination. |
| __b | A 64-bit vector of [4 x i16] containing one of the source operands. The horizontal sums of the values are stored in the upper bits of the destination. |
Definition at line 246 of file tmmintrin.h.
References __a, __b, __DEFAULT_FN_ATTRS_CONSTEXPR, and __trunc64.
|
static |
Horizontally adds the adjacent pairs of values contained in 2 packed 64-bit vectors of [2 x i32].
This intrinsic corresponds to the PHADDD instruction.
| __a | A 64-bit vector of [2 x i32] containing one of the source operands. The horizontal sums of the values are stored in the lower bits of the destination. |
| __b | A 64-bit vector of [2 x i32] containing one of the source operands. The horizontal sums of the values are stored in the upper bits of the destination. |
Definition at line 269 of file tmmintrin.h.
References __a, __b, __DEFAULT_FN_ATTRS_CONSTEXPR, and __trunc64.
|
static |
Horizontally adds, with saturation, the adjacent pairs of values contained in two packed 128-bit vectors of [8 x i16].
Positive sums greater than 0x7FFF are saturated to 0x7FFF. Negative sums less than 0x8000 are saturated to 0x8000.
This intrinsic corresponds to the VPHADDSW instruction.
| __a | A 128-bit vector of [8 x i16] containing one of the source operands. The horizontal sums of the values are stored in the lower bits of the destination. |
| __b | A 128-bit vector of [8 x i16] containing one of the source operands. The horizontal sums of the values are stored in the upper bits of the destination. |
Definition at line 296 of file tmmintrin.h.
|
static |
Horizontally adds, with saturation, the adjacent pairs of values contained in two packed 64-bit vectors of [4 x i16].
Positive sums greater than 0x7FFF are saturated to 0x7FFF. Negative sums less than 0x8000 are saturated to 0x8000.
This intrinsic corresponds to the PHADDSW instruction.
| __a | A 64-bit vector of [4 x i16] containing one of the source operands. The horizontal sums of the values are stored in the lower bits of the destination. |
| __b | A 64-bit vector of [4 x i16] containing one of the source operands. The horizontal sums of the values are stored in the upper bits of the destination. |
Definition at line 320 of file tmmintrin.h.
References __a, __b, __DEFAULT_FN_ATTRS_CONSTEXPR, and __trunc64.
|
static |
Horizontally subtracts the adjacent pairs of values contained in 2 packed 128-bit vectors of [8 x i16].
This intrinsic corresponds to the VPHSUBW instruction.
| __a | A 128-bit vector of [8 x i16] containing one of the source operands. The horizontal differences between the values are stored in the lower bits of the destination. |
| __b | A 128-bit vector of [8 x i16] containing one of the source operands. The horizontal differences between the values are stored in the upper bits of the destination. |
Definition at line 344 of file tmmintrin.h.
|
static |
Horizontally subtracts the adjacent pairs of values contained in 2 packed 128-bit vectors of [4 x i32].
This intrinsic corresponds to the VPHSUBD instruction.
| __a | A 128-bit vector of [4 x i32] containing one of the source operands. The horizontal differences between the values are stored in the lower bits of the destination. |
| __b | A 128-bit vector of [4 x i32] containing one of the source operands. The horizontal differences between the values are stored in the upper bits of the destination. |
Definition at line 366 of file tmmintrin.h.
|
static |
Horizontally subtracts the adjacent pairs of values contained in 2 packed 64-bit vectors of [4 x i16].
This intrinsic corresponds to the PHSUBW instruction.
| __a | A 64-bit vector of [4 x i16] containing one of the source operands. The horizontal differences between the values are stored in the lower bits of the destination. |
| __b | A 64-bit vector of [4 x i16] containing one of the source operands. The horizontal differences between the values are stored in the upper bits of the destination. |
Definition at line 387 of file tmmintrin.h.
References __a, __b, __DEFAULT_FN_ATTRS_CONSTEXPR, and __trunc64.
|
static |
Horizontally subtracts the adjacent pairs of values contained in 2 packed 64-bit vectors of [2 x i32].
This intrinsic corresponds to the PHSUBD instruction.
| __a | A 64-bit vector of [2 x i32] containing one of the source operands. The horizontal differences between the values are stored in the lower bits of the destination. |
| __b | A 64-bit vector of [2 x i32] containing one of the source operands. The horizontal differences between the values are stored in the upper bits of the destination. |
Definition at line 410 of file tmmintrin.h.
References __a, __b, __DEFAULT_FN_ATTRS_CONSTEXPR, and __trunc64.
|
static |
Horizontally subtracts, with saturation, the adjacent pairs of values contained in two packed 128-bit vectors of [8 x i16].
Positive differences greater than 0x7FFF are saturated to 0x7FFF. Negative differences less than 0x8000 are saturated to 0x8000.
This intrinsic corresponds to the VPHSUBSW instruction.
| __a | A 128-bit vector of [8 x i16] containing one of the source operands. The horizontal differences between the values are stored in the lower bits of the destination. |
| __b | A 128-bit vector of [8 x i16] containing one of the source operands. The horizontal differences between the values are stored in the upper bits of the destination. |
Definition at line 437 of file tmmintrin.h.
|
static |
Horizontally subtracts, with saturation, the adjacent pairs of values contained in two packed 64-bit vectors of [4 x i16].
Positive differences greater than 0x7FFF are saturated to 0x7FFF. Negative differences less than 0x8000 are saturated to 0x8000.
This intrinsic corresponds to the PHSUBSW instruction.
| __a | A 64-bit vector of [4 x i16] containing one of the source operands. The horizontal differences between the values are stored in the lower bits of the destination. |
| __b | A 64-bit vector of [4 x i16] containing one of the source operands. The horizontal differences between the values are stored in the upper bits of the destination. |
Definition at line 461 of file tmmintrin.h.
References __a, __b, __DEFAULT_FN_ATTRS_CONSTEXPR, and __trunc64.
|
static |
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, adds pairs of contiguous products with signed saturation, and writes the 16-bit sums to the corresponding bits in the destination.
For example, bits [7:0] of both operands are multiplied, bits [15:8] of both operands are multiplied, and the sum of both results is written to bits [15:0] of the destination.
This intrinsic corresponds to the VPMADDUBSW instruction.
| __a | A 128-bit integer vector containing the first source operand. |
| __b | A 128-bit integer vector containing the second source operand. |
Definition at line 496 of file tmmintrin.h.
Referenced by _mm_mask_maddubs_epi16(), and _mm_maskz_maddubs_epi16().
|
static |
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, adds pairs of contiguous products with signed saturation, and writes the 16-bit sums to the corresponding bits in the destination.
For example, bits [7:0] of both operands are multiplied, bits [15:8] of both operands are multiplied, and the sum of both results is written to bits [15:0] of the destination.
This intrinsic corresponds to the PMADDUBSW instruction.
| __a | A 64-bit integer vector containing the first source operand. |
| __b | A 64-bit integer vector containing the second source operand. |
Definition at line 525 of file tmmintrin.h.
|
static |
Multiplies packed 16-bit signed integer values, truncates the 32-bit products to the 18 most significant bits by right-shifting, rounds the truncated value by adding 1, and writes bits [16:1] to the destination.
This intrinsic corresponds to the VPMULHRSW instruction.
| __a | A 128-bit vector of [8 x i16] containing one of the source operands. |
| __b | A 128-bit vector of [8 x i16] containing one of the source operands. |
Definition at line 545 of file tmmintrin.h.
Referenced by _mm_mask_mulhrs_epi16(), and _mm_maskz_mulhrs_epi16().
|
static |
Multiplies packed 16-bit signed integer values, truncates the 32-bit products to the 18 most significant bits by right-shifting, rounds the truncated value by adding 1, and writes bits [16:1] to the destination.
This intrinsic corresponds to the PMULHRSW instruction.
| __a | A 64-bit vector of [4 x i16] containing one of the source operands. |
| __b | A 64-bit vector of [4 x i16] containing one of the source operands. |
Definition at line 564 of file tmmintrin.h.
|
static |
Copies the 8-bit integers from a 128-bit integer vector to the destination or clears 8-bit values in the destination, as specified by the second source operand.
This intrinsic corresponds to the VPSHUFB instruction.
| __a | A 128-bit integer vector containing the values to be copied. |
| __b | A 128-bit integer vector containing control bytes corresponding to positions in the destination: Bit 7: 1: Clear the corresponding byte in the destination. 0: Copy the selected source byte to the corresponding byte in the destination. Bits [6:4] Reserved. Bits [3:0] select the source byte to be copied. |
Definition at line 590 of file tmmintrin.h.
Referenced by _mm_mask_shuffle_epi8(), and _mm_maskz_shuffle_epi8().
|
static |
Copies the 8-bit integers from a 64-bit integer vector to the destination or clears 8-bit values in the destination, as specified by the second source operand.
This intrinsic corresponds to the PSHUFB instruction.
| __a | A 64-bit integer vector containing the values to be copied. |
| __b | A 64-bit integer vector containing control bytes corresponding to positions in the destination: Bit 7: 1: Clear the corresponding byte in the destination. 0: Copy the selected source byte to the corresponding byte in the destination. Bits [2:0] select the source byte to be copied. |
Definition at line 614 of file tmmintrin.h.
|
static |
For each 16-bit integer in the first source operand, perform one of the following actions as specified by the second source operand.
If the word in the second source is negative, calculate the two's complement of the corresponding word in the first source, and write that value to the destination. If the word in the second source is positive, copy the corresponding word from the first source to the destination. If the word in the second source is zero, clear the corresponding word in the destination.
This intrinsic corresponds to the VPSIGNW instruction.
| __a | A 128-bit integer vector containing the values to be copied. |
| __b | A 128-bit integer vector containing control words corresponding to positions in the destination. |
Definition at line 667 of file tmmintrin.h.
|
static |
For each 32-bit integer in the first source operand, perform one of the following actions as specified by the second source operand.
If the doubleword in the second source is negative, calculate the two's complement of the corresponding word in the first source, and write that value to the destination. If the doubleword in the second source is positive, copy the corresponding word from the first source to the destination. If the doubleword in the second source is zero, clear the corresponding word in the destination.
This intrinsic corresponds to the VPSIGND instruction.
| __a | A 128-bit integer vector containing the values to be copied. |
| __b | A 128-bit integer vector containing control doublewords corresponding to positions in the destination. |
Definition at line 692 of file tmmintrin.h.
|
static |
For each 8-bit integer in the first source operand, perform one of the following actions as specified by the second source operand.
If the byte in the second source is negative, calculate the two's complement of the corresponding byte in the first source, and write that value to the destination. If the byte in the second source is positive, copy the corresponding byte from the first source to the destination. If the byte in the second source is zero, clear the corresponding byte in the destination.
This intrinsic corresponds to the VPSIGNB instruction.
| __a | A 128-bit integer vector containing the values to be copied. |
| __b | A 128-bit integer vector containing control bytes corresponding to positions in the destination. |
Definition at line 642 of file tmmintrin.h.
|
static |
For each 16-bit integer in the first source operand, perform one of the following actions as specified by the second source operand.
If the word in the second source is negative, calculate the two's complement of the corresponding word in the first source, and write that value to the destination. If the word in the second source is positive, copy the corresponding word from the first source to the destination. If the word in the second source is zero, clear the corresponding word in the destination.
This intrinsic corresponds to the PSIGNW instruction.
| __a | A 64-bit integer vector containing the values to be copied. |
| __b | A 64-bit integer vector containing control words corresponding to positions in the destination. |
Definition at line 742 of file tmmintrin.h.
References __a, __b, __DEFAULT_FN_ATTRS_CONSTEXPR, __trunc64, and __zext128.
|
static |
For each 32-bit integer in the first source operand, perform one of the following actions as specified by the second source operand.
If the doubleword in the second source is negative, calculate the two's complement of the corresponding doubleword in the first source, and write that value to the destination. If the doubleword in the second source is positive, copy the corresponding doubleword from the first source to the destination. If the doubleword in the second source is zero, clear the corresponding doubleword in the destination.
This intrinsic corresponds to the PSIGND instruction.
| __a | A 64-bit integer vector containing the values to be copied. |
| __b | A 64-bit integer vector containing two control doublewords corresponding to positions in the destination. |
Definition at line 768 of file tmmintrin.h.
References __a, __b, __DEFAULT_FN_ATTRS_CONSTEXPR, __trunc64, and __zext128.
|
static |
For each 8-bit integer in the first source operand, perform one of the following actions as specified by the second source operand.
If the byte in the second source is negative, calculate the two's complement of the corresponding byte in the first source, and write that value to the destination. If the byte in the second source is positive, copy the corresponding byte from the first source to the destination. If the byte in the second source is zero, clear the corresponding byte in the destination.
This intrinsic corresponds to the PSIGNB instruction.
| __a | A 64-bit integer vector containing the values to be copied. |
| __b | A 64-bit integer vector containing control bytes corresponding to positions in the destination. |
Definition at line 716 of file tmmintrin.h.
References __a, __b, __DEFAULT_FN_ATTRS_CONSTEXPR, __trunc64, and __zext128.