clang 20.0.0git
|
Go to the source code of this file.
Typedefs | |
typedef long long __m64 | __attribute__((__vector_size__(8), __aligned__(8))) |
Functions | |
static __inline__ void | __attribute__ ((__always_inline__, __nodebug__, __target__("mmx,no-evex512"))) _mm_empty(void) |
Clears the MMX state by setting the state of the x87 stack registers to empty. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_cvtsi32_si64 (int __i) |
Constructs a 64-bit integer vector, setting the lower 32 bits to the value of the 32-bit integer parameter and setting the upper 32 bits to 0. | |
static __inline__ int __DEFAULT_FN_ATTRS_SSE2 | _mm_cvtsi64_si32 (__m64 __m) |
Returns the lower 32 bits of a 64-bit integer vector as a 32-bit signed integer. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_cvtsi64_m64 (long long __i) |
Casts a 64-bit signed integer value into a 64-bit integer vector. | |
static __inline__ long long __DEFAULT_FN_ATTRS_SSE2 | _mm_cvtm64_si64 (__m64 __m) |
Casts a 64-bit integer vector into a 64-bit signed integer value. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_packs_pi16 (__m64 __m1, __m64 __m2) |
Converts, with saturation, 16-bit signed integers from both 64-bit integer vector parameters of [4 x i16] into 8-bit signed integer values, and constructs a 64-bit integer vector of [8 x i8] as the result. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_packs_pi32 (__m64 __m1, __m64 __m2) |
Converts, with saturation, 32-bit signed integers from both 64-bit integer vector parameters of [2 x i32] into 16-bit signed integer values, and constructs a 64-bit integer vector of [4 x i16] as the result. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_packs_pu16 (__m64 __m1, __m64 __m2) |
Converts, with saturation, 16-bit signed integers from both 64-bit integer vector parameters of [4 x i16] into 8-bit unsigned integer values, and constructs a 64-bit integer vector of [8 x i8] as the result. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_unpackhi_pi8 (__m64 __m1, __m64 __m2) |
Unpacks the upper 32 bits from two 64-bit integer vectors of [8 x i8] and interleaves them into a 64-bit integer vector of [8 x i8]. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_unpackhi_pi16 (__m64 __m1, __m64 __m2) |
Unpacks the upper 32 bits from two 64-bit integer vectors of [4 x i16] and interleaves them into a 64-bit integer vector of [4 x i16]. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_unpackhi_pi32 (__m64 __m1, __m64 __m2) |
Unpacks the upper 32 bits from two 64-bit integer vectors of [2 x i32] and interleaves them into a 64-bit integer vector of [2 x i32]. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_unpacklo_pi8 (__m64 __m1, __m64 __m2) |
Unpacks the lower 32 bits from two 64-bit integer vectors of [8 x i8] and interleaves them into a 64-bit integer vector of [8 x i8]. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_unpacklo_pi16 (__m64 __m1, __m64 __m2) |
Unpacks the lower 32 bits from two 64-bit integer vectors of [4 x i16] and interleaves them into a 64-bit integer vector of [4 x i16]. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_unpacklo_pi32 (__m64 __m1, __m64 __m2) |
Unpacks the lower 32 bits from two 64-bit integer vectors of [2 x i32] and interleaves them into a 64-bit integer vector of [2 x i32]. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_add_pi8 (__m64 __m1, __m64 __m2) |
Adds each 8-bit integer element of the first 64-bit integer vector of [8 x i8] to the corresponding 8-bit integer element of the second 64-bit integer vector of [8 x i8]. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_add_pi16 (__m64 __m1, __m64 __m2) |
Adds each 16-bit integer element of the first 64-bit integer vector of [4 x i16] to the corresponding 16-bit integer element of the second 64-bit integer vector of [4 x i16]. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_add_pi32 (__m64 __m1, __m64 __m2) |
Adds each 32-bit integer element of the first 64-bit integer vector of [2 x i32] to the corresponding 32-bit integer element of the second 64-bit integer vector of [2 x i32]. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_adds_pi8 (__m64 __m1, __m64 __m2) |
Adds, with saturation, each 8-bit signed integer element of the first 64-bit integer vector of [8 x i8] to the corresponding 8-bit signed integer element of the second 64-bit integer vector of [8 x i8]. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_adds_pi16 (__m64 __m1, __m64 __m2) |
Adds, with saturation, each 16-bit signed integer element of the first 64-bit integer vector of [4 x i16] to the corresponding 16-bit signed integer element of the second 64-bit integer vector of [4 x i16]. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_adds_pu8 (__m64 __m1, __m64 __m2) |
Adds, with saturation, each 8-bit unsigned integer element of the first 64-bit integer vector of [8 x i8] to the corresponding 8-bit unsigned integer element of the second 64-bit integer vector of [8 x i8]. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_adds_pu16 (__m64 __m1, __m64 __m2) |
Adds, with saturation, each 16-bit unsigned integer element of the first 64-bit integer vector of [4 x i16] to the corresponding 16-bit unsigned integer element of the second 64-bit integer vector of [4 x i16]. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_sub_pi8 (__m64 __m1, __m64 __m2) |
Subtracts each 8-bit integer element of the second 64-bit integer vector of [8 x i8] from the corresponding 8-bit integer element of the first 64-bit integer vector of [8 x i8]. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_sub_pi16 (__m64 __m1, __m64 __m2) |
Subtracts each 16-bit integer element of the second 64-bit integer vector of [4 x i16] from the corresponding 16-bit integer element of the first 64-bit integer vector of [4 x i16]. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_sub_pi32 (__m64 __m1, __m64 __m2) |
Subtracts each 32-bit integer element of the second 64-bit integer vector of [2 x i32] from the corresponding 32-bit integer element of the first 64-bit integer vector of [2 x i32]. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_subs_pi8 (__m64 __m1, __m64 __m2) |
Subtracts, with saturation, each 8-bit signed integer element of the second 64-bit integer vector of [8 x i8] from the corresponding 8-bit signed integer element of the first 64-bit integer vector of [8 x i8]. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_subs_pi16 (__m64 __m1, __m64 __m2) |
Subtracts, with saturation, each 16-bit signed integer element of the second 64-bit integer vector of [4 x i16] from the corresponding 16-bit signed integer element of the first 64-bit integer vector of [4 x i16]. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_subs_pu8 (__m64 __m1, __m64 __m2) |
Subtracts each 8-bit unsigned integer element of the second 64-bit integer vector of [8 x i8] from the corresponding 8-bit unsigned integer element of the first 64-bit integer vector of [8 x i8]. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_subs_pu16 (__m64 __m1, __m64 __m2) |
Subtracts each 16-bit unsigned integer element of the second 64-bit integer vector of [4 x i16] from the corresponding 16-bit unsigned integer element of the first 64-bit integer vector of [4 x i16]. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_madd_pi16 (__m64 __m1, __m64 __m2) |
Multiplies each 16-bit signed integer element of the first 64-bit integer vector of [4 x i16] by the corresponding 16-bit signed integer element of the second 64-bit integer vector of [4 x i16] and get four 32-bit products. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_mulhi_pi16 (__m64 __m1, __m64 __m2) |
Multiplies each 16-bit signed integer element of the first 64-bit integer vector of [4 x i16] by the corresponding 16-bit signed integer element of the second 64-bit integer vector of [4 x i16]. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_mullo_pi16 (__m64 __m1, __m64 __m2) |
Multiplies each 16-bit signed integer element of the first 64-bit integer vector of [4 x i16] by the corresponding 16-bit signed integer element of the second 64-bit integer vector of [4 x i16]. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_sll_pi16 (__m64 __m, __m64 __count) |
Left-shifts each 16-bit signed integer element of the first parameter, which is a 64-bit integer vector of [4 x i16], by the number of bits specified by the second parameter, which is a 64-bit integer. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_slli_pi16 (__m64 __m, int __count) |
Left-shifts each 16-bit signed integer element of a 64-bit integer vector of [4 x i16] by the number of bits specified by a 32-bit integer. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_sll_pi32 (__m64 __m, __m64 __count) |
Left-shifts each 32-bit signed integer element of the first parameter, which is a 64-bit integer vector of [2 x i32], by the number of bits specified by the second parameter, which is a 64-bit integer. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_slli_pi32 (__m64 __m, int __count) |
Left-shifts each 32-bit signed integer element of a 64-bit integer vector of [2 x i32] by the number of bits specified by a 32-bit integer. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_sll_si64 (__m64 __m, __m64 __count) |
Left-shifts the first 64-bit integer parameter by the number of bits specified by the second 64-bit integer parameter. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_slli_si64 (__m64 __m, int __count) |
Left-shifts the first parameter, which is a 64-bit integer, by the number of bits specified by the second parameter, which is a 32-bit integer. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_sra_pi16 (__m64 __m, __m64 __count) |
Right-shifts each 16-bit integer element of the first parameter, which is a 64-bit integer vector of [4 x i16], by the number of bits specified by the second parameter, which is a 64-bit integer. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_srai_pi16 (__m64 __m, int __count) |
Right-shifts each 16-bit integer element of a 64-bit integer vector of [4 x i16] by the number of bits specified by a 32-bit integer. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_sra_pi32 (__m64 __m, __m64 __count) |
Right-shifts each 32-bit integer element of the first parameter, which is a 64-bit integer vector of [2 x i32], by the number of bits specified by the second parameter, which is a 64-bit integer. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_srai_pi32 (__m64 __m, int __count) |
Right-shifts each 32-bit integer element of a 64-bit integer vector of [2 x i32] by the number of bits specified by a 32-bit integer. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_srl_pi16 (__m64 __m, __m64 __count) |
Right-shifts each 16-bit integer element of the first parameter, which is a 64-bit integer vector of [4 x i16], by the number of bits specified by the second parameter, which is a 64-bit integer. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_srli_pi16 (__m64 __m, int __count) |
Right-shifts each 16-bit integer element of a 64-bit integer vector of [4 x i16] by the number of bits specified by a 32-bit integer. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_srl_pi32 (__m64 __m, __m64 __count) |
Right-shifts each 32-bit integer element of the first parameter, which is a 64-bit integer vector of [2 x i32], by the number of bits specified by the second parameter, which is a 64-bit integer. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_srli_pi32 (__m64 __m, int __count) |
Right-shifts each 32-bit integer element of a 64-bit integer vector of [2 x i32] by the number of bits specified by a 32-bit integer. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_srl_si64 (__m64 __m, __m64 __count) |
Right-shifts the first 64-bit integer parameter by the number of bits specified by the second 64-bit integer parameter. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_srli_si64 (__m64 __m, int __count) |
Right-shifts the first parameter, which is a 64-bit integer, by the number of bits specified by the second parameter, which is a 32-bit integer. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_and_si64 (__m64 __m1, __m64 __m2) |
Performs a bitwise AND of two 64-bit integer vectors. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_andnot_si64 (__m64 __m1, __m64 __m2) |
Performs a bitwise NOT of the first 64-bit integer vector, and then performs a bitwise AND of the intermediate result and the second 64-bit integer vector. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_or_si64 (__m64 __m1, __m64 __m2) |
Performs a bitwise OR of two 64-bit integer vectors. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_xor_si64 (__m64 __m1, __m64 __m2) |
Performs a bitwise exclusive OR of two 64-bit integer vectors. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_cmpeq_pi8 (__m64 __m1, __m64 __m2) |
Compares the 8-bit integer elements of two 64-bit integer vectors of [8 x i8] to determine if the element of the first vector is equal to the corresponding element of the second vector. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_cmpeq_pi16 (__m64 __m1, __m64 __m2) |
Compares the 16-bit integer elements of two 64-bit integer vectors of [4 x i16] to determine if the element of the first vector is equal to the corresponding element of the second vector. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_cmpeq_pi32 (__m64 __m1, __m64 __m2) |
Compares the 32-bit integer elements of two 64-bit integer vectors of [2 x i32] to determine if the element of the first vector is equal to the corresponding element of the second vector. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_cmpgt_pi8 (__m64 __m1, __m64 __m2) |
Compares the 8-bit integer elements of two 64-bit integer vectors of [8 x i8] to determine if the element of the first vector is greater than the corresponding element of the second vector. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_cmpgt_pi16 (__m64 __m1, __m64 __m2) |
Compares the 16-bit integer elements of two 64-bit integer vectors of [4 x i16] to determine if the element of the first vector is greater than the corresponding element of the second vector. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_cmpgt_pi32 (__m64 __m1, __m64 __m2) |
Compares the 32-bit integer elements of two 64-bit integer vectors of [2 x i32] to determine if the element of the first vector is greater than the corresponding element of the second vector. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_setzero_si64 (void) |
Constructs a 64-bit integer vector initialized to zero. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_set_pi32 (int __i1, int __i0) |
Constructs a 64-bit integer vector initialized with the specified 32-bit integer values. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_set_pi16 (short __s3, short __s2, short __s1, short __s0) |
Constructs a 64-bit integer vector initialized with the specified 16-bit integer values. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_set_pi8 (char __b7, char __b6, char __b5, char __b4, char __b3, char __b2, char __b1, char __b0) |
Constructs a 64-bit integer vector initialized with the specified 8-bit integer values. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_set1_pi32 (int __i) |
Constructs a 64-bit integer vector of [2 x i32], with each of the 32-bit integer vector elements set to the specified 32-bit integer value. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_set1_pi16 (short __w) |
Constructs a 64-bit integer vector of [4 x i16], with each of the 16-bit integer vector elements set to the specified 16-bit integer value. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_set1_pi8 (char __b) |
Constructs a 64-bit integer vector of [8 x i8], with each of the 8-bit integer vector elements set to the specified 8-bit integer value. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_setr_pi32 (int __i0, int __i1) |
Constructs a 64-bit integer vector, initialized in reverse order with the specified 32-bit integer values. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_setr_pi16 (short __w0, short __w1, short __w2, short __w3) |
Constructs a 64-bit integer vector, initialized in reverse order with the specified 16-bit integer values. | |
static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 | _mm_setr_pi8 (char __b0, char __b1, char __b2, char __b3, char __b4, char __b5, char __b6, char __b7) |
Constructs a 64-bit integer vector, initialized in reverse order with the specified 8-bit integer values. | |
#define __anyext128 | ( | x | ) |
Definition at line 54 of file mmintrin.h.
#define __DEFAULT_FN_ATTRS_SSE2 |
Definition at line 47 of file mmintrin.h.
#define __trunc64 | ( | x | ) | (__m64) __builtin_shufflevector((__v2di)(x), __extension__(__v2di){}, 0) |
Definition at line 52 of file mmintrin.h.
#define _m_empty _mm_empty |
Definition at line 1555 of file mmintrin.h.
#define _m_from_int _mm_cvtsi32_si64 |
Definition at line 1556 of file mmintrin.h.
#define _m_from_int64 _mm_cvtsi64_m64 |
Definition at line 1557 of file mmintrin.h.
#define _m_packssdw _mm_packs_pi32 |
Definition at line 1561 of file mmintrin.h.
#define _m_packsswb _mm_packs_pi16 |
Definition at line 1560 of file mmintrin.h.
#define _m_packuswb _mm_packs_pu16 |
Definition at line 1562 of file mmintrin.h.
#define _m_paddb _mm_add_pi8 |
Definition at line 1569 of file mmintrin.h.
#define _m_paddd _mm_add_pi32 |
Definition at line 1571 of file mmintrin.h.
#define _m_paddsb _mm_adds_pi8 |
Definition at line 1572 of file mmintrin.h.
#define _m_paddsw _mm_adds_pi16 |
Definition at line 1573 of file mmintrin.h.
#define _m_paddusb _mm_adds_pu8 |
Definition at line 1574 of file mmintrin.h.
#define _m_paddusw _mm_adds_pu16 |
Definition at line 1575 of file mmintrin.h.
#define _m_paddw _mm_add_pi16 |
Definition at line 1570 of file mmintrin.h.
#define _m_pand _mm_and_si64 |
Definition at line 1602 of file mmintrin.h.
#define _m_pandn _mm_andnot_si64 |
Definition at line 1603 of file mmintrin.h.
#define _m_pcmpeqb _mm_cmpeq_pi8 |
Definition at line 1606 of file mmintrin.h.
#define _m_pcmpeqd _mm_cmpeq_pi32 |
Definition at line 1608 of file mmintrin.h.
#define _m_pcmpeqw _mm_cmpeq_pi16 |
Definition at line 1607 of file mmintrin.h.
#define _m_pcmpgtb _mm_cmpgt_pi8 |
Definition at line 1609 of file mmintrin.h.
#define _m_pcmpgtd _mm_cmpgt_pi32 |
Definition at line 1611 of file mmintrin.h.
#define _m_pcmpgtw _mm_cmpgt_pi16 |
Definition at line 1610 of file mmintrin.h.
#define _m_pmaddwd _mm_madd_pi16 |
Definition at line 1583 of file mmintrin.h.
#define _m_pmulhw _mm_mulhi_pi16 |
Definition at line 1584 of file mmintrin.h.
#define _m_pmullw _mm_mullo_pi16 |
Definition at line 1585 of file mmintrin.h.
#define _m_por _mm_or_si64 |
Definition at line 1604 of file mmintrin.h.
#define _m_pslld _mm_sll_pi32 |
Definition at line 1588 of file mmintrin.h.
#define _m_pslldi _mm_slli_pi32 |
Definition at line 1589 of file mmintrin.h.
#define _m_psllq _mm_sll_si64 |
Definition at line 1590 of file mmintrin.h.
#define _m_psllqi _mm_slli_si64 |
Definition at line 1591 of file mmintrin.h.
#define _m_psllw _mm_sll_pi16 |
Definition at line 1586 of file mmintrin.h.
#define _m_psllwi _mm_slli_pi16 |
Definition at line 1587 of file mmintrin.h.
#define _m_psrad _mm_sra_pi32 |
Definition at line 1594 of file mmintrin.h.
#define _m_psradi _mm_srai_pi32 |
Definition at line 1595 of file mmintrin.h.
#define _m_psraw _mm_sra_pi16 |
Definition at line 1592 of file mmintrin.h.
#define _m_psrawi _mm_srai_pi16 |
Definition at line 1593 of file mmintrin.h.
#define _m_psrld _mm_srl_pi32 |
Definition at line 1598 of file mmintrin.h.
#define _m_psrldi _mm_srli_pi32 |
Definition at line 1599 of file mmintrin.h.
#define _m_psrlq _mm_srl_si64 |
Definition at line 1600 of file mmintrin.h.
#define _m_psrlqi _mm_srli_si64 |
Definition at line 1601 of file mmintrin.h.
#define _m_psrlw _mm_srl_pi16 |
Definition at line 1596 of file mmintrin.h.
#define _m_psrlwi _mm_srli_pi16 |
Definition at line 1597 of file mmintrin.h.
#define _m_psubb _mm_sub_pi8 |
Definition at line 1576 of file mmintrin.h.
#define _m_psubd _mm_sub_pi32 |
Definition at line 1578 of file mmintrin.h.
#define _m_psubsb _mm_subs_pi8 |
Definition at line 1579 of file mmintrin.h.
#define _m_psubsw _mm_subs_pi16 |
Definition at line 1580 of file mmintrin.h.
#define _m_psubusb _mm_subs_pu8 |
Definition at line 1581 of file mmintrin.h.
#define _m_psubusw _mm_subs_pu16 |
Definition at line 1582 of file mmintrin.h.
#define _m_psubw _mm_sub_pi16 |
Definition at line 1577 of file mmintrin.h.
#define _m_punpckhbw _mm_unpackhi_pi8 |
Definition at line 1563 of file mmintrin.h.
#define _m_punpckhdq _mm_unpackhi_pi32 |
Definition at line 1565 of file mmintrin.h.
#define _m_punpckhwd _mm_unpackhi_pi16 |
Definition at line 1564 of file mmintrin.h.
#define _m_punpcklbw _mm_unpacklo_pi8 |
Definition at line 1566 of file mmintrin.h.
#define _m_punpckldq _mm_unpacklo_pi32 |
Definition at line 1568 of file mmintrin.h.
#define _m_punpcklwd _mm_unpacklo_pi16 |
Definition at line 1567 of file mmintrin.h.
#define _m_pxor _mm_xor_si64 |
Definition at line 1605 of file mmintrin.h.
#define _m_to_int _mm_cvtsi64_si32 |
Definition at line 1558 of file mmintrin.h.
#define _m_to_int64 _mm_cvtm64_si64 |
Definition at line 1559 of file mmintrin.h.
typedef char __v16qi __attribute__((__vector_size__(16))) |
Definition at line 17 of file mmintrin.h.
|
static |
Clears the MMX state by setting the state of the x87 stack registers to empty.
This intrinsic corresponds to the EMMS
instruction.
Definition at line 65 of file mmintrin.h.
|
static |
Adds each 16-bit integer element of the first 64-bit integer vector of [4 x i16] to the corresponding 16-bit integer element of the second 64-bit integer vector of [4 x i16].
The lower 16 bits of the results are packed into a 64-bit integer vector of [4 x i16].
This intrinsic corresponds to the PADDW
instruction.
__m1 | A 64-bit integer vector of [4 x i16]. |
__m2 | A 64-bit integer vector of [4 x i16]. |
Definition at line 398 of file mmintrin.h.
|
static |
Adds each 32-bit integer element of the first 64-bit integer vector of [2 x i32] to the corresponding 32-bit integer element of the second 64-bit integer vector of [2 x i32].
The lower 32 bits of the results are packed into a 64-bit integer vector of [2 x i32].
This intrinsic corresponds to the PADDD
instruction.
__m1 | A 64-bit integer vector of [2 x i32]. |
__m2 | A 64-bit integer vector of [2 x i32]. |
Definition at line 419 of file mmintrin.h.
|
static |
Adds each 8-bit integer element of the first 64-bit integer vector of [8 x i8] to the corresponding 8-bit integer element of the second 64-bit integer vector of [8 x i8].
The lower 8 bits of the results are packed into a 64-bit integer vector of [8 x i8].
This intrinsic corresponds to the PADDB
instruction.
__m1 | A 64-bit integer vector of [8 x i8]. |
__m2 | A 64-bit integer vector of [8 x i8]. |
Definition at line 377 of file mmintrin.h.
|
static |
Adds, with saturation, each 16-bit signed integer element of the first 64-bit integer vector of [4 x i16] to the corresponding 16-bit signed integer element of the second 64-bit integer vector of [4 x i16].
Positive sums greater than 0x7FFF are saturated to 0x7FFF. Negative sums less than 0x8000 are saturated to 0x8000. The results are packed into a 64-bit integer vector of [4 x i16].
This intrinsic corresponds to the PADDSW
instruction.
__m1 | A 64-bit integer vector of [4 x i16]. |
__m2 | A 64-bit integer vector of [4 x i16]. |
Definition at line 467 of file mmintrin.h.
|
static |
Adds, with saturation, each 8-bit signed integer element of the first 64-bit integer vector of [8 x i8] to the corresponding 8-bit signed integer element of the second 64-bit integer vector of [8 x i8].
Positive sums greater than 0x7F are saturated to 0x7F. Negative sums less than 0x80 are saturated to 0x80. The results are packed into a 64-bit integer vector of [8 x i8].
This intrinsic corresponds to the PADDSB
instruction.
__m1 | A 64-bit integer vector of [8 x i8]. |
__m2 | A 64-bit integer vector of [8 x i8]. |
Definition at line 443 of file mmintrin.h.
|
static |
Adds, with saturation, each 16-bit unsigned integer element of the first 64-bit integer vector of [4 x i16] to the corresponding 16-bit unsigned integer element of the second 64-bit integer vector of [4 x i16].
Sums greater than 0xFFFF are saturated to 0xFFFF. The results are packed into a 64-bit integer vector of [4 x i16].
This intrinsic corresponds to the PADDUSW
instruction.
__m1 | A 64-bit integer vector of [4 x i16]. |
__m2 | A 64-bit integer vector of [4 x i16]. |
Definition at line 513 of file mmintrin.h.
|
static |
Adds, with saturation, each 8-bit unsigned integer element of the first 64-bit integer vector of [8 x i8] to the corresponding 8-bit unsigned integer element of the second 64-bit integer vector of [8 x i8].
Sums greater than 0xFF are saturated to 0xFF. The results are packed into a 64-bit integer vector of [8 x i8].
This intrinsic corresponds to the PADDUSB
instruction.
__m1 | A 64-bit integer vector of [8 x i8]. |
__m2 | A 64-bit integer vector of [8 x i8]. |
Definition at line 490 of file mmintrin.h.
|
static |
Performs a bitwise AND of two 64-bit integer vectors.
This intrinsic corresponds to the PAND
instruction.
__m1 | A 64-bit integer vector. |
__m2 | A 64-bit integer vector. |
Definition at line 1132 of file mmintrin.h.
|
static |
Performs a bitwise NOT of the first 64-bit integer vector, and then performs a bitwise AND of the intermediate result and the second 64-bit integer vector.
This intrinsic corresponds to the PANDN
instruction.
__m1 | A 64-bit integer vector. The one's complement of this parameter is used in the bitwise AND. |
__m2 | A 64-bit integer vector. |
Definition at line 1153 of file mmintrin.h.
|
static |
Compares the 16-bit integer elements of two 64-bit integer vectors of [4 x i16] to determine if the element of the first vector is equal to the corresponding element of the second vector.
Each comparison returns 0 for false, 0xFFFF for true.
This intrinsic corresponds to the PCMPEQW
instruction.
__m1 | A 64-bit integer vector of [4 x i16]. |
__m2 | A 64-bit integer vector of [4 x i16]. |
Definition at line 1233 of file mmintrin.h.
|
static |
Compares the 32-bit integer elements of two 64-bit integer vectors of [2 x i32] to determine if the element of the first vector is equal to the corresponding element of the second vector.
Each comparison returns 0 for false, 0xFFFFFFFF for true.
This intrinsic corresponds to the PCMPEQD
instruction.
__m1 | A 64-bit integer vector of [2 x i32]. |
__m2 | A 64-bit integer vector of [2 x i32]. |
Definition at line 1255 of file mmintrin.h.
|
static |
Compares the 8-bit integer elements of two 64-bit integer vectors of [8 x i8] to determine if the element of the first vector is equal to the corresponding element of the second vector.
Each comparison returns 0 for false, 0xFF for true.
This intrinsic corresponds to the PCMPEQB
instruction.
__m1 | A 64-bit integer vector of [8 x i8]. |
__m2 | A 64-bit integer vector of [8 x i8]. |
Definition at line 1211 of file mmintrin.h.
|
static |
Compares the 16-bit integer elements of two 64-bit integer vectors of [4 x i16] to determine if the element of the first vector is greater than the corresponding element of the second vector.
Each comparison returns 0 for false, 0xFFFF for true.
This intrinsic corresponds to the PCMPGTW
instruction.
__m1 | A 64-bit integer vector of [4 x i16]. |
__m2 | A 64-bit integer vector of [4 x i16]. |
Definition at line 1301 of file mmintrin.h.
|
static |
Compares the 32-bit integer elements of two 64-bit integer vectors of [2 x i32] to determine if the element of the first vector is greater than the corresponding element of the second vector.
Each comparison returns 0 for false, 0xFFFFFFFF for true.
This intrinsic corresponds to the PCMPGTD
instruction.
__m1 | A 64-bit integer vector of [2 x i32]. |
__m2 | A 64-bit integer vector of [2 x i32]. |
Definition at line 1323 of file mmintrin.h.
|
static |
Compares the 8-bit integer elements of two 64-bit integer vectors of [8 x i8] to determine if the element of the first vector is greater than the corresponding element of the second vector.
Each comparison returns 0 for false, 0xFF for true.
This intrinsic corresponds to the PCMPGTB
instruction.
__m1 | A 64-bit integer vector of [8 x i8]. |
__m2 | A 64-bit integer vector of [8 x i8]. |
Definition at line 1277 of file mmintrin.h.
|
static |
Casts a 64-bit integer vector into a 64-bit signed integer value.
This intrinsic corresponds to the MOVQ
instruction.
__m | A 64-bit integer vector. |
Definition at line 132 of file mmintrin.h.
|
static |
Constructs a 64-bit integer vector, setting the lower 32 bits to the value of the 32-bit integer parameter and setting the upper 32 bits to 0.
This intrinsic corresponds to the MOVD
instruction.
__i | A 32-bit integer value. |
Definition at line 83 of file mmintrin.h.
|
static |
Casts a 64-bit signed integer value into a 64-bit integer vector.
This intrinsic corresponds to the MOVQ
instruction.
__i | A 64-bit signed integer. |
Definition at line 116 of file mmintrin.h.
|
static |
Returns the lower 32 bits of a 64-bit integer vector as a 32-bit signed integer.
This intrinsic corresponds to the MOVD
instruction.
__m | A 64-bit integer vector. |
Definition at line 100 of file mmintrin.h.
|
static |
Multiplies each 16-bit signed integer element of the first 64-bit integer vector of [4 x i16] by the corresponding 16-bit signed integer element of the second 64-bit integer vector of [4 x i16] and get four 32-bit products.
Adds adjacent pairs of products to get two 32-bit sums. The lower 32 bits of these two sums are packed into a 64-bit integer vector of [2 x i32].
For example, bits [15:0] of both parameters are multiplied, bits [31:16] of both parameters are multiplied, and the sum of both results is written to bits [31:0] of the result.
This intrinsic corresponds to the PMADDWD
instruction.
__m1 | A 64-bit integer vector of [4 x i16]. |
__m2 | A 64-bit integer vector of [4 x i16]. |
Definition at line 699 of file mmintrin.h.
References __anyext128, and __trunc64.
|
static |
Multiplies each 16-bit signed integer element of the first 64-bit integer vector of [4 x i16] by the corresponding 16-bit signed integer element of the second 64-bit integer vector of [4 x i16].
Packs the upper 16 bits of the 32-bit products into a 64-bit integer vector of [4 x i16].
This intrinsic corresponds to the PMULHW
instruction.
__m1 | A 64-bit integer vector of [4 x i16]. |
__m2 | A 64-bit integer vector of [4 x i16]. |
Definition at line 721 of file mmintrin.h.
References __anyext128, and __trunc64.
|
static |
Multiplies each 16-bit signed integer element of the first 64-bit integer vector of [4 x i16] by the corresponding 16-bit signed integer element of the second 64-bit integer vector of [4 x i16].
Packs the lower 16 bits of the 32-bit products into a 64-bit integer vector of [4 x i16].
This intrinsic corresponds to the PMULLW
instruction.
__m1 | A 64-bit integer vector of [4 x i16]. |
__m2 | A 64-bit integer vector of [4 x i16]. |
Definition at line 743 of file mmintrin.h.
|
static |
Performs a bitwise OR of two 64-bit integer vectors.
This intrinsic corresponds to the POR
instruction.
__m1 | A 64-bit integer vector. |
__m2 | A 64-bit integer vector. |
Definition at line 1171 of file mmintrin.h.
|
static |
Converts, with saturation, 16-bit signed integers from both 64-bit integer vector parameters of [4 x i16] into 8-bit signed integer values, and constructs a 64-bit integer vector of [8 x i8] as the result.
Positive values greater than 0x7F are saturated to 0x7F. Negative values less than 0x80 are saturated to 0x80.
This intrinsic corresponds to the PACKSSWB
instruction.
__m1 | A 64-bit integer vector of [4 x i16]. The converted [4 x i8] values are written to the lower 32 bits of the result. |
__m2 | A 64-bit integer vector of [4 x i16]. The converted [4 x i8] values are written to the upper 32 bits of the result. |
Definition at line 157 of file mmintrin.h.
References __trunc64.
Referenced by _mm_cvtps_pi8().
|
static |
Converts, with saturation, 32-bit signed integers from both 64-bit integer vector parameters of [2 x i32] into 16-bit signed integer values, and constructs a 64-bit integer vector of [4 x i16] as the result.
Positive values greater than 0x7FFF are saturated to 0x7FFF. Negative values less than 0x8000 are saturated to 0x8000.
This intrinsic corresponds to the PACKSSDW
instruction.
__m1 | A 64-bit integer vector of [2 x i32]. The converted [2 x i16] values are written to the lower 32 bits of the result. |
__m2 | A 64-bit integer vector of [2 x i32]. The converted [2 x i16] values are written to the upper 32 bits of the result. |
Definition at line 183 of file mmintrin.h.
References __trunc64.
|
static |
Converts, with saturation, 16-bit signed integers from both 64-bit integer vector parameters of [4 x i16] into 8-bit unsigned integer values, and constructs a 64-bit integer vector of [8 x i8] as the result.
Values greater than 0xFF are saturated to 0xFF. Values less than 0 are saturated to 0.
This intrinsic corresponds to the PACKUSWB
instruction.
__m1 | A 64-bit integer vector of [4 x i16]. The converted [4 x i8] values are written to the lower 32 bits of the result. |
__m2 | A 64-bit integer vector of [4 x i16]. The converted [4 x i8] values are written to the upper 32 bits of the result. |
Definition at line 209 of file mmintrin.h.
References __trunc64.
|
static |
Constructs a 64-bit integer vector of [4 x i16], with each of the 16-bit integer vector elements set to the specified 16-bit integer value.
This intrinsic is a utility function and does not correspond to a specific instruction.
__w | A 16-bit integer value used to initialize each vector element of the result. |
Definition at line 1451 of file mmintrin.h.
References _mm_set_pi16().
|
static |
Constructs a 64-bit integer vector of [2 x i32], with each of the 32-bit integer vector elements set to the specified 32-bit integer value.
This intrinsic is a utility function and does not correspond to a specific instruction.
__i | A 32-bit integer value used to initialize each vector element of the result. |
Definition at line 1432 of file mmintrin.h.
References _mm_set_pi32().
|
static |
Constructs a 64-bit integer vector of [8 x i8], with each of the 8-bit integer vector elements set to the specified 8-bit integer value.
This intrinsic is a utility function and does not correspond to a specific instruction.
__b | An 8-bit integer value used to initialize each vector element of the result. |
Definition at line 1469 of file mmintrin.h.
References __b, and _mm_set_pi8().
|
static |
Constructs a 64-bit integer vector initialized with the specified 16-bit integer values.
This intrinsic is a utility function and does not correspond to a specific instruction.
__s3 | A 16-bit integer value used to initialize bits [63:48] of the result. |
__s2 | A 16-bit integer value used to initialize bits [47:32] of the result. |
__s1 | A 16-bit integer value used to initialize bits [31:16] of the result. |
__s0 | A 16-bit integer value used to initialize bits [15:0] of the result. |
Definition at line 1380 of file mmintrin.h.
Referenced by _mm_set1_pi16(), and _mm_setr_pi16().
|
static |
Constructs a 64-bit integer vector initialized with the specified 32-bit integer values.
This intrinsic is a utility function and does not correspond to a specific instruction.
__i1 | A 32-bit integer value used to initialize the upper 32 bits of the result. |
__i0 | A 32-bit integer value used to initialize the lower 32 bits of the result. |
Definition at line 1357 of file mmintrin.h.
Referenced by _mm_set1_pi32(), and _mm_setr_pi32().
|
static |
Constructs a 64-bit integer vector initialized with the specified 8-bit integer values.
This intrinsic is a utility function and does not correspond to a specific instruction.
__b7 | An 8-bit integer value used to initialize bits [63:56] of the result. |
__b6 | An 8-bit integer value used to initialize bits [55:48] of the result. |
__b5 | An 8-bit integer value used to initialize bits [47:40] of the result. |
__b4 | An 8-bit integer value used to initialize bits [39:32] of the result. |
__b3 | An 8-bit integer value used to initialize bits [31:24] of the result. |
__b2 | An 8-bit integer value used to initialize bits [23:16] of the result. |
__b1 | An 8-bit integer value used to initialize bits [15:8] of the result. |
__b0 | An 8-bit integer value used to initialize bits [7:0] of the result. |
Definition at line 1411 of file mmintrin.h.
Referenced by _mm_set1_pi8(), and _mm_setr_pi8().
|
static |
Constructs a 64-bit integer vector, initialized in reverse order with the specified 16-bit integer values.
This intrinsic is a utility function and does not correspond to a specific instruction.
__w0 | A 16-bit integer value used to initialize bits [15:0] of the result. |
__w1 | A 16-bit integer value used to initialize bits [31:16] of the result. |
__w2 | A 16-bit integer value used to initialize bits [47:32] of the result. |
__w3 | A 16-bit integer value used to initialize bits [63:48] of the result. |
Definition at line 1513 of file mmintrin.h.
References _mm_set_pi16().
|
static |
Constructs a 64-bit integer vector, initialized in reverse order with the specified 32-bit integer values.
This intrinsic is a utility function and does not correspond to a specific instruction.
__i0 | A 32-bit integer value used to initialize the lower 32 bits of the result. |
__i1 | A 32-bit integer value used to initialize the upper 32 bits of the result. |
Definition at line 1490 of file mmintrin.h.
References _mm_set_pi32().
|
static |
Constructs a 64-bit integer vector, initialized in reverse order with the specified 8-bit integer values.
This intrinsic is a utility function and does not correspond to a specific instruction.
__b0 | An 8-bit integer value used to initialize bits [7:0] of the result. |
__b1 | An 8-bit integer value used to initialize bits [15:8] of the result. |
__b2 | An 8-bit integer value used to initialize bits [23:16] of the result. |
__b3 | An 8-bit integer value used to initialize bits [31:24] of the result. |
__b4 | An 8-bit integer value used to initialize bits [39:32] of the result. |
__b5 | An 8-bit integer value used to initialize bits [47:40] of the result. |
__b6 | An 8-bit integer value used to initialize bits [55:48] of the result. |
__b7 | An 8-bit integer value used to initialize bits [63:56] of the result. |
Definition at line 1544 of file mmintrin.h.
References _mm_set_pi8().
|
static |
Constructs a 64-bit integer vector initialized to zero.
This intrinsic corresponds to the PXOR
instruction.
Definition at line 1336 of file mmintrin.h.
Referenced by _mm_cvtps_pi8().
|
static |
Left-shifts each 16-bit signed integer element of the first parameter, which is a 64-bit integer vector of [4 x i16], by the number of bits specified by the second parameter, which is a 64-bit integer.
The lower 16 bits of the results are packed into a 64-bit integer vector of [4 x i16].
This intrinsic corresponds to the PSLLW
instruction.
__m | A 64-bit integer vector of [4 x i16]. |
__count | A 64-bit integer vector interpreted as a single 64-bit integer. |
Definition at line 766 of file mmintrin.h.
References __anyext128, and __trunc64.
|
static |
Left-shifts each 32-bit signed integer element of the first parameter, which is a 64-bit integer vector of [2 x i32], by the number of bits specified by the second parameter, which is a 64-bit integer.
The lower 32 bits of the results are packed into a 64-bit integer vector of [2 x i32].
This intrinsic corresponds to the PSLLD
instruction.
__m | A 64-bit integer vector of [2 x i32]. |
__count | A 64-bit integer vector interpreted as a single 64-bit integer. |
Definition at line 813 of file mmintrin.h.
References __anyext128, and __trunc64.
|
static |
Left-shifts the first 64-bit integer parameter by the number of bits specified by the second 64-bit integer parameter.
The lower 64 bits of result are returned.
This intrinsic corresponds to the PSLLQ
instruction.
__m | A 64-bit integer vector interpreted as a single 64-bit integer. |
__count | A 64-bit integer vector interpreted as a single 64-bit integer. |
Definition at line 857 of file mmintrin.h.
References __anyext128, and __trunc64.
|
static |
Left-shifts each 16-bit signed integer element of a 64-bit integer vector of [4 x i16] by the number of bits specified by a 32-bit integer.
The lower 16 bits of the results are packed into a 64-bit integer vector of [4 x i16].
This intrinsic corresponds to the PSLLW
instruction.
__m | A 64-bit integer vector of [4 x i16]. |
__count | A 32-bit integer value. |
Definition at line 789 of file mmintrin.h.
References __anyext128, and __trunc64.
|
static |
Left-shifts each 32-bit signed integer element of a 64-bit integer vector of [2 x i32] by the number of bits specified by a 32-bit integer.
The lower 32 bits of the results are packed into a 64-bit integer vector of [2 x i32].
This intrinsic corresponds to the PSLLD
instruction.
__m | A 64-bit integer vector of [2 x i32]. |
__count | A 32-bit integer value. |
Definition at line 836 of file mmintrin.h.
References __anyext128, and __trunc64.
|
static |
Left-shifts the first parameter, which is a 64-bit integer, by the number of bits specified by the second parameter, which is a 32-bit integer.
The lower 64 bits of result are returned.
This intrinsic corresponds to the PSLLQ
instruction.
__m | A 64-bit integer vector interpreted as a single 64-bit integer. |
__count | A 32-bit integer value. |
Definition at line 878 of file mmintrin.h.
References __anyext128, and __trunc64.
|
static |
Right-shifts each 16-bit integer element of the first parameter, which is a 64-bit integer vector of [4 x i16], by the number of bits specified by the second parameter, which is a 64-bit integer.
High-order bits are filled with the sign bit of the initial value of each 16-bit element. The 16-bit results are packed into a 64-bit integer vector of [4 x i16].
This intrinsic corresponds to the PSRAW
instruction.
__m | A 64-bit integer vector of [4 x i16]. |
__count | A 64-bit integer vector interpreted as a single 64-bit integer. |
Definition at line 903 of file mmintrin.h.
References __anyext128, and __trunc64.
|
static |
Right-shifts each 32-bit integer element of the first parameter, which is a 64-bit integer vector of [2 x i32], by the number of bits specified by the second parameter, which is a 64-bit integer.
High-order bits are filled with the sign bit of the initial value of each 32-bit element. The 32-bit results are packed into a 64-bit integer vector of [2 x i32].
This intrinsic corresponds to the PSRAD
instruction.
__m | A 64-bit integer vector of [2 x i32]. |
__count | A 64-bit integer vector interpreted as a single 64-bit integer. |
Definition at line 952 of file mmintrin.h.
References __anyext128, and __trunc64.
|
static |
Right-shifts each 16-bit integer element of a 64-bit integer vector of [4 x i16] by the number of bits specified by a 32-bit integer.
High-order bits are filled with the sign bit of the initial value of each 16-bit element. The 16-bit results are packed into a 64-bit integer vector of [4 x i16].
This intrinsic corresponds to the PSRAW
instruction.
__m | A 64-bit integer vector of [4 x i16]. |
__count | A 32-bit integer value. |
Definition at line 927 of file mmintrin.h.
References __anyext128, and __trunc64.
|
static |
Right-shifts each 32-bit integer element of a 64-bit integer vector of [2 x i32] by the number of bits specified by a 32-bit integer.
High-order bits are filled with the sign bit of the initial value of each 32-bit element. The 32-bit results are packed into a 64-bit integer vector of [2 x i32].
This intrinsic corresponds to the PSRAD
instruction.
__m | A 64-bit integer vector of [2 x i32]. |
__count | A 32-bit integer value. |
Definition at line 976 of file mmintrin.h.
References __anyext128, and __trunc64.
|
static |
Right-shifts each 16-bit integer element of the first parameter, which is a 64-bit integer vector of [4 x i16], by the number of bits specified by the second parameter, which is a 64-bit integer.
High-order bits are cleared. The 16-bit results are packed into a 64-bit integer vector of [4 x i16].
This intrinsic corresponds to the PSRLW
instruction.
__m | A 64-bit integer vector of [4 x i16]. |
__count | A 64-bit integer vector interpreted as a single 64-bit integer. |
Definition at line 1000 of file mmintrin.h.
References __anyext128, and __trunc64.
|
static |
Right-shifts each 32-bit integer element of the first parameter, which is a 64-bit integer vector of [2 x i32], by the number of bits specified by the second parameter, which is a 64-bit integer.
High-order bits are cleared. The 32-bit results are packed into a 64-bit integer vector of [2 x i32].
This intrinsic corresponds to the PSRLD
instruction.
__m | A 64-bit integer vector of [2 x i32]. |
__count | A 64-bit integer vector interpreted as a single 64-bit integer. |
Definition at line 1047 of file mmintrin.h.
References __anyext128, and __trunc64.
|
static |
Right-shifts the first 64-bit integer parameter by the number of bits specified by the second 64-bit integer parameter.
High-order bits are cleared.
This intrinsic corresponds to the PSRLQ
instruction.
__m | A 64-bit integer vector interpreted as a single 64-bit integer. |
__count | A 64-bit integer vector interpreted as a single 64-bit integer. |
Definition at line 1091 of file mmintrin.h.
References __anyext128, and __trunc64.
|
static |
Right-shifts each 16-bit integer element of a 64-bit integer vector of [4 x i16] by the number of bits specified by a 32-bit integer.
High-order bits are cleared. The 16-bit results are packed into a 64-bit integer vector of [4 x i16].
This intrinsic corresponds to the PSRLW
instruction.
__m | A 64-bit integer vector of [4 x i16]. |
__count | A 32-bit integer value. |
Definition at line 1023 of file mmintrin.h.
References __anyext128, and __trunc64.
|
static |
Right-shifts each 32-bit integer element of a 64-bit integer vector of [2 x i32] by the number of bits specified by a 32-bit integer.
High-order bits are cleared. The 32-bit results are packed into a 64-bit integer vector of [2 x i32].
This intrinsic corresponds to the PSRLD
instruction.
__m | A 64-bit integer vector of [2 x i32]. |
__count | A 32-bit integer value. |
Definition at line 1070 of file mmintrin.h.
References __anyext128, and __trunc64.
|
static |
Right-shifts the first parameter, which is a 64-bit integer, by the number of bits specified by the second parameter, which is a 32-bit integer.
High-order bits are cleared.
This intrinsic corresponds to the PSRLQ
instruction.
__m | A 64-bit integer vector interpreted as a single 64-bit integer. |
__count | A 32-bit integer value. |
Definition at line 1113 of file mmintrin.h.
References __anyext128, and __trunc64.
|
static |
Subtracts each 16-bit integer element of the second 64-bit integer vector of [4 x i16] from the corresponding 16-bit integer element of the first 64-bit integer vector of [4 x i16].
The lower 16 bits of the results are packed into a 64-bit integer vector of [4 x i16].
This intrinsic corresponds to the PSUBW
instruction.
__m1 | A 64-bit integer vector of [4 x i16] containing the minuends. |
__m2 | A 64-bit integer vector of [4 x i16] containing the subtrahends. |
Definition at line 555 of file mmintrin.h.
|
static |
Subtracts each 32-bit integer element of the second 64-bit integer vector of [2 x i32] from the corresponding 32-bit integer element of the first 64-bit integer vector of [2 x i32].
The lower 32 bits of the results are packed into a 64-bit integer vector of [2 x i32].
This intrinsic corresponds to the PSUBD
instruction.
__m1 | A 64-bit integer vector of [2 x i32] containing the minuends. |
__m2 | A 64-bit integer vector of [2 x i32] containing the subtrahends. |
Definition at line 576 of file mmintrin.h.
|
static |
Subtracts each 8-bit integer element of the second 64-bit integer vector of [8 x i8] from the corresponding 8-bit integer element of the first 64-bit integer vector of [8 x i8].
The lower 8 bits of the results are packed into a 64-bit integer vector of [8 x i8].
This intrinsic corresponds to the PSUBB
instruction.
__m1 | A 64-bit integer vector of [8 x i8] containing the minuends. |
__m2 | A 64-bit integer vector of [8 x i8] containing the subtrahends. |
Definition at line 534 of file mmintrin.h.
|
static |
Subtracts, with saturation, each 16-bit signed integer element of the second 64-bit integer vector of [4 x i16] from the corresponding 16-bit signed integer element of the first 64-bit integer vector of [4 x i16].
Positive results greater than 0x7FFF are saturated to 0x7FFF. Negative results less than 0x8000 are saturated to 0x8000. The results are packed into a 64-bit integer vector of [4 x i16].
This intrinsic corresponds to the PSUBSW
instruction.
__m1 | A 64-bit integer vector of [4 x i16] containing the minuends. |
__m2 | A 64-bit integer vector of [4 x i16] containing the subtrahends. |
Definition at line 624 of file mmintrin.h.
|
static |
Subtracts, with saturation, each 8-bit signed integer element of the second 64-bit integer vector of [8 x i8] from the corresponding 8-bit signed integer element of the first 64-bit integer vector of [8 x i8].
Positive results greater than 0x7F are saturated to 0x7F. Negative results less than 0x80 are saturated to 0x80. The results are packed into a 64-bit integer vector of [8 x i8].
This intrinsic corresponds to the PSUBSB
instruction.
__m1 | A 64-bit integer vector of [8 x i8] containing the minuends. |
__m2 | A 64-bit integer vector of [8 x i8] containing the subtrahends. |
Definition at line 600 of file mmintrin.h.
|
static |
Subtracts each 16-bit unsigned integer element of the second 64-bit integer vector of [4 x i16] from the corresponding 16-bit unsigned integer element of the first 64-bit integer vector of [4 x i16].
If an element of the first vector is less than the corresponding element of the second vector, the result is saturated to 0. The results are packed into a 64-bit integer vector of [4 x i16].
This intrinsic corresponds to the PSUBUSW
instruction.
__m1 | A 64-bit integer vector of [4 x i16] containing the minuends. |
__m2 | A 64-bit integer vector of [4 x i16] containing the subtrahends. |
Definition at line 672 of file mmintrin.h.
|
static |
Subtracts each 8-bit unsigned integer element of the second 64-bit integer vector of [8 x i8] from the corresponding 8-bit unsigned integer element of the first 64-bit integer vector of [8 x i8].
If an element of the first vector is less than the corresponding element of the second vector, the result is saturated to 0. The results are packed into a 64-bit integer vector of [8 x i8].
This intrinsic corresponds to the PSUBUSB
instruction.
__m1 | A 64-bit integer vector of [8 x i8] containing the minuends. |
__m2 | A 64-bit integer vector of [8 x i8] containing the subtrahends. |
Definition at line 648 of file mmintrin.h.
|
static |
Unpacks the upper 32 bits from two 64-bit integer vectors of [4 x i16] and interleaves them into a 64-bit integer vector of [4 x i16].
This intrinsic corresponds to the PUNPCKHWD
instruction.
__m1 | A 64-bit integer vector of [4 x i16]. Bits [47:32] are written to bits [15:0] of the result. Bits [63:48] are written to bits [47:32] of the result. |
__m2 | A 64-bit integer vector of [4 x i16]. Bits [47:32] are written to bits [31:16] of the result. Bits [63:48] are written to bits [63:48] of the result. |
Definition at line 261 of file mmintrin.h.
|
static |
Unpacks the upper 32 bits from two 64-bit integer vectors of [2 x i32] and interleaves them into a 64-bit integer vector of [2 x i32].
This intrinsic corresponds to the PUNPCKHDQ
instruction.
__m1 | A 64-bit integer vector of [2 x i32]. The upper 32 bits are written to the lower 32 bits of the result. |
__m2 | A 64-bit integer vector of [2 x i32]. The upper 32 bits are written to the upper 32 bits of the result. |
Definition at line 283 of file mmintrin.h.
|
static |
Unpacks the upper 32 bits from two 64-bit integer vectors of [8 x i8] and interleaves them into a 64-bit integer vector of [8 x i8].
This intrinsic corresponds to the PUNPCKHBW
instruction.
__m1 | A 64-bit integer vector of [8 x i8]. Bits [39:32] are written to bits [7:0] of the result. Bits [47:40] are written to bits [23:16] of the result. Bits [55:48] are written to bits [39:32] of the result. Bits [63:56] are written to bits [55:48] of the result. |
__m2 | A 64-bit integer vector of [8 x i8]. Bits [39:32] are written to bits [15:8] of the result. Bits [47:40] are written to bits [31:24] of the result. Bits [55:48] are written to bits [47:40] of the result. Bits [63:56] are written to bits [63:56] of the result. |
Definition at line 237 of file mmintrin.h.
|
static |
Unpacks the lower 32 bits from two 64-bit integer vectors of [4 x i16] and interleaves them into a 64-bit integer vector of [4 x i16].
This intrinsic corresponds to the PUNPCKLWD
instruction.
__m1 | A 64-bit integer vector of [4 x i16]. Bits [15:0] are written to bits [15:0] of the result. Bits [31:16] are written to bits [47:32] of the result. |
__m2 | A 64-bit integer vector of [4 x i16]. Bits [15:0] are written to bits [31:16] of the result. Bits [31:16] are written to bits [63:48] of the result. |
Definition at line 334 of file mmintrin.h.
|
static |
Unpacks the lower 32 bits from two 64-bit integer vectors of [2 x i32] and interleaves them into a 64-bit integer vector of [2 x i32].
This intrinsic corresponds to the PUNPCKLDQ
instruction.
__m1 | A 64-bit integer vector of [2 x i32]. The lower 32 bits are written to the lower 32 bits of the result. |
__m2 | A 64-bit integer vector of [2 x i32]. The lower 32 bits are written to the upper 32 bits of the result. |
Definition at line 356 of file mmintrin.h.
|
static |
Unpacks the lower 32 bits from two 64-bit integer vectors of [8 x i8] and interleaves them into a 64-bit integer vector of [8 x i8].
This intrinsic corresponds to the PUNPCKLBW
instruction.
__m1 | A 64-bit integer vector of [8 x i8]. Bits [7:0] are written to bits [7:0] of the result. Bits [15:8] are written to bits [23:16] of the result. Bits [23:16] are written to bits [39:32] of the result. Bits [31:24] are written to bits [55:48] of the result. |
__m2 | A 64-bit integer vector of [8 x i8]. Bits [7:0] are written to bits [15:8] of the result. Bits [15:8] are written to bits [31:24] of the result. Bits [23:16] are written to bits [47:40] of the result. Bits [31:24] are written to bits [63:56] of the result. |
Definition at line 310 of file mmintrin.h.
|
static |
Performs a bitwise exclusive OR of two 64-bit integer vectors.
This intrinsic corresponds to the PXOR
instruction.
__m1 | A 64-bit integer vector. |
__m2 | A 64-bit integer vector. |
Definition at line 1189 of file mmintrin.h.