ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
|
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"))) _mm_empty(void) |
Clears the MMX state by setting the state of the x87 stack registers to empty. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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. More... | |
static __inline__ int __DEFAULT_FN_ATTRS | _mm_cvtsi64_si32 (__m64 __m) |
Returns the lower 32 bits of a 64-bit integer vector as a 32-bit signed integer. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _mm_cvtsi64_m64 (long long __i) |
Casts a 64-bit signed integer value into a 64-bit integer vector. More... | |
static __inline__ long long __DEFAULT_FN_ATTRS | _mm_cvtm64_si64 (__m64 __m) |
Casts a 64-bit integer vector into a 64-bit signed integer value. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _mm_packs_pi16 (__m64 __m1, __m64 __m2) |
Converts 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. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _mm_packs_pi32 (__m64 __m1, __m64 __m2) |
Converts 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. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _mm_packs_pu16 (__m64 __m1, __m64 __m2) |
Converts 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. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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]. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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]. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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]. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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]. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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]. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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]. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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]. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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]. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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]. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _mm_adds_pi8 (__m64 __m1, __m64 __m2) |
Adds 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]. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _mm_adds_pi16 (__m64 __m1, __m64 __m2) |
Adds 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]. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _mm_adds_pu8 (__m64 __m1, __m64 __m2) |
Adds 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]. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _mm_adds_pu16 (__m64 __m1, __m64 __m2) |
Adds 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]. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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]. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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]. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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]. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _mm_subs_pi8 (__m64 __m1, __m64 __m2) |
Subtracts 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]. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _mm_subs_pi16 (__m64 __m1, __m64 __m2) |
Subtracts 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]. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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]. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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]. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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]. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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]. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _mm_and_si64 (__m64 __m1, __m64 __m2) |
Performs a bitwise AND of two 64-bit integer vectors. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _mm_or_si64 (__m64 __m1, __m64 __m2) |
Performs a bitwise OR of two 64-bit integer vectors. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _mm_xor_si64 (__m64 __m1, __m64 __m2) |
Performs a bitwise exclusive OR of two 64-bit integer vectors. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _mm_setzero_si64 (void) |
Constructs a 64-bit integer vector initialized to zero. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _mm_set_pi32 (int __i1, int __i0) |
Constructs a 64-bit integer vector initialized with the specified 32-bit integer values. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _mm_setr_pi32 (int __i0, int __i1) |
Constructs a 64-bit integer vector, initialized in reverse order with the specified 32-bit integer values. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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. More... | |
static __inline__ __m64 __DEFAULT_FN_ATTRS | _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. More... | |
#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("mmx"), __min_vector_width__(64))) |
Definition at line 21 of file mmintrin.h.
#define _m_empty _mm_empty |
Definition at line 1499 of file mmintrin.h.
#define _m_from_int _mm_cvtsi32_si64 |
Definition at line 1500 of file mmintrin.h.
#define _m_from_int64 _mm_cvtsi64_m64 |
Definition at line 1501 of file mmintrin.h.
#define _m_packssdw _mm_packs_pi32 |
Definition at line 1505 of file mmintrin.h.
#define _m_packsswb _mm_packs_pi16 |
Definition at line 1504 of file mmintrin.h.
#define _m_packuswb _mm_packs_pu16 |
Definition at line 1506 of file mmintrin.h.
#define _m_paddb _mm_add_pi8 |
Definition at line 1513 of file mmintrin.h.
#define _m_paddd _mm_add_pi32 |
Definition at line 1515 of file mmintrin.h.
#define _m_paddsb _mm_adds_pi8 |
Definition at line 1516 of file mmintrin.h.
#define _m_paddsw _mm_adds_pi16 |
Definition at line 1517 of file mmintrin.h.
#define _m_paddusb _mm_adds_pu8 |
Definition at line 1518 of file mmintrin.h.
#define _m_paddusw _mm_adds_pu16 |
Definition at line 1519 of file mmintrin.h.
#define _m_paddw _mm_add_pi16 |
Definition at line 1514 of file mmintrin.h.
#define _m_pand _mm_and_si64 |
Definition at line 1546 of file mmintrin.h.
#define _m_pandn _mm_andnot_si64 |
Definition at line 1547 of file mmintrin.h.
#define _m_pcmpeqb _mm_cmpeq_pi8 |
Definition at line 1550 of file mmintrin.h.
#define _m_pcmpeqd _mm_cmpeq_pi32 |
Definition at line 1552 of file mmintrin.h.
#define _m_pcmpeqw _mm_cmpeq_pi16 |
Definition at line 1551 of file mmintrin.h.
#define _m_pcmpgtb _mm_cmpgt_pi8 |
Definition at line 1553 of file mmintrin.h.
#define _m_pcmpgtd _mm_cmpgt_pi32 |
Definition at line 1555 of file mmintrin.h.
#define _m_pcmpgtw _mm_cmpgt_pi16 |
Definition at line 1554 of file mmintrin.h.
#define _m_pmaddwd _mm_madd_pi16 |
Definition at line 1527 of file mmintrin.h.
#define _m_pmulhw _mm_mulhi_pi16 |
Definition at line 1528 of file mmintrin.h.
#define _m_pmullw _mm_mullo_pi16 |
Definition at line 1529 of file mmintrin.h.
#define _m_por _mm_or_si64 |
Definition at line 1548 of file mmintrin.h.
#define _m_pslld _mm_sll_pi32 |
Definition at line 1532 of file mmintrin.h.
#define _m_pslldi _mm_slli_pi32 |
Definition at line 1533 of file mmintrin.h.
#define _m_psllq _mm_sll_si64 |
Definition at line 1534 of file mmintrin.h.
#define _m_psllqi _mm_slli_si64 |
Definition at line 1535 of file mmintrin.h.
#define _m_psllw _mm_sll_pi16 |
Definition at line 1530 of file mmintrin.h.
#define _m_psllwi _mm_slli_pi16 |
Definition at line 1531 of file mmintrin.h.
#define _m_psrad _mm_sra_pi32 |
Definition at line 1538 of file mmintrin.h.
#define _m_psradi _mm_srai_pi32 |
Definition at line 1539 of file mmintrin.h.
#define _m_psraw _mm_sra_pi16 |
Definition at line 1536 of file mmintrin.h.
#define _m_psrawi _mm_srai_pi16 |
Definition at line 1537 of file mmintrin.h.
#define _m_psrld _mm_srl_pi32 |
Definition at line 1542 of file mmintrin.h.
#define _m_psrldi _mm_srli_pi32 |
Definition at line 1543 of file mmintrin.h.
#define _m_psrlq _mm_srl_si64 |
Definition at line 1544 of file mmintrin.h.
#define _m_psrlqi _mm_srli_si64 |
Definition at line 1545 of file mmintrin.h.
#define _m_psrlw _mm_srl_pi16 |
Definition at line 1540 of file mmintrin.h.
#define _m_psrlwi _mm_srli_pi16 |
Definition at line 1541 of file mmintrin.h.
#define _m_psubb _mm_sub_pi8 |
Definition at line 1520 of file mmintrin.h.
#define _m_psubd _mm_sub_pi32 |
Definition at line 1522 of file mmintrin.h.
#define _m_psubsb _mm_subs_pi8 |
Definition at line 1523 of file mmintrin.h.
#define _m_psubsw _mm_subs_pi16 |
Definition at line 1524 of file mmintrin.h.
#define _m_psubusb _mm_subs_pu8 |
Definition at line 1525 of file mmintrin.h.
#define _m_psubusw _mm_subs_pu16 |
Definition at line 1526 of file mmintrin.h.
#define _m_psubw _mm_sub_pi16 |
Definition at line 1521 of file mmintrin.h.
#define _m_punpckhbw _mm_unpackhi_pi8 |
Definition at line 1507 of file mmintrin.h.
#define _m_punpckhdq _mm_unpackhi_pi32 |
Definition at line 1509 of file mmintrin.h.
#define _m_punpckhwd _mm_unpackhi_pi16 |
Definition at line 1508 of file mmintrin.h.
#define _m_punpcklbw _mm_unpacklo_pi8 |
Definition at line 1510 of file mmintrin.h.
#define _m_punpckldq _mm_unpacklo_pi32 |
Definition at line 1512 of file mmintrin.h.
#define _m_punpcklwd _mm_unpacklo_pi16 |
Definition at line 1511 of file mmintrin.h.
#define _m_pxor _mm_xor_si64 |
Definition at line 1549 of file mmintrin.h.
#define _m_to_int _mm_cvtsi64_si32 |
Definition at line 1502 of file mmintrin.h.
#define _m_to_int64 _mm_cvtm64_si64 |
Definition at line 1503 of file mmintrin.h.
typedef char __v8qi __attribute__((__vector_size__(8))) |
Definition at line 13 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 30 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 371 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 392 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 350 of file mmintrin.h.
|
static |
Adds 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 437 of file mmintrin.h.
|
static |
Adds 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 414 of file mmintrin.h.
|
static |
Adds 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 481 of file mmintrin.h.
|
static |
Adds 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 459 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 1080 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 1101 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.
The comparison yields 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 1181 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.
The comparison yields 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 1203 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.
The comparison yields 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 1159 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.
The comparison yields 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 1247 of file mmintrin.h.
Referenced by _mm_cvtpi16_ps().
|
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.
The comparison yields 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 1269 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.
The comparison yields 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 1225 of file mmintrin.h.
Referenced by _mm_cvtpi8_ps().
|
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 97 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 48 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 81 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 65 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 665 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].
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 686 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].
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 707 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 1119 of file mmintrin.h.
|
static |
Converts 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]. Each 16-bit element is treated as a 16-bit signed integer and is converted to an 8-bit signed integer with saturation. Positive values greater than 0x7F are saturated to 0x7F. Negative values less than 0x80 are saturated to 0x80. 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]. Each 16-bit element is treated as a 16-bit signed integer and is converted to an 8-bit signed integer with saturation. Positive values greater than 0x7F are saturated to 0x7F. Negative values less than 0x80 are saturated to 0x80. The converted [4 x i8] values are written to the upper 32 bits of the result. |
Definition at line 127 of file mmintrin.h.
Referenced by _mm_cvtps_pi8().
|
static |
Converts 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]. Each 32-bit element is treated as a 32-bit signed integer and is converted to a 16-bit signed integer with saturation. Positive values greater than 0x7FFF are saturated to 0x7FFF. Negative values less than 0x8000 are saturated to 0x8000. 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]. Each 32-bit element is treated as a 32-bit signed integer and is converted to a 16-bit signed integer with saturation. Positive values greater than 0x7FFF are saturated to 0x7FFF. Negative values less than 0x8000 are saturated to 0x8000. The converted [2 x i16] values are written to the upper 32 bits of the result. |
Definition at line 157 of file mmintrin.h.
Referenced by _mm_cvtps_pi16().
|
static |
Converts 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]. Each 16-bit element is treated as a 16-bit signed integer and is converted to an 8-bit unsigned integer with saturation. Values greater than 0xFF are saturated to 0xFF. Values less than 0 are saturated to 0. 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]. Each 16-bit element is treated as a 16-bit signed integer and is converted to an 8-bit unsigned integer with saturation. Values greater than 0xFF are saturated to 0xFF. Values less than 0 are saturated to 0. The converted [4 x i8] values are written to the upper 32 bits of the result. |
Definition at line 187 of file mmintrin.h.
|
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 1397 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 1378 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 1415 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 1326 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 1303 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 1357 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 1459 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 1436 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 1490 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 1282 of file mmintrin.h.
Referenced by _mm_cvtpi16_ps(), _mm_cvtpi8_ps(), _mm_cvtps_pi8(), _mm_cvtpu16_ps(), and _mm_cvtpu8_ps().
|
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 730 of file mmintrin.h.
|
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 775 of file mmintrin.h.
|
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 817 of file mmintrin.h.
|
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 752 of file mmintrin.h.
|
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 797 of file mmintrin.h.
|
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 837 of file mmintrin.h.
|
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 861 of file mmintrin.h.
|
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 908 of file mmintrin.h.
|
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 884 of file mmintrin.h.
|
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 931 of file mmintrin.h.
|
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 954 of file mmintrin.h.
|
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 999 of file mmintrin.h.
|
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 1041 of file mmintrin.h.
|
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 976 of file mmintrin.h.
|
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 1021 of file mmintrin.h.
|
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 1062 of file mmintrin.h.
|
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 523 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 544 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 502 of file mmintrin.h.
|
static |
Subtracts 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 590 of file mmintrin.h.
|
static |
Subtracts 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 567 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 638 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 614 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 237 of file mmintrin.h.
Referenced by _mm_cvtpi16_ps(), and _mm_cvtpu16_ps().
|
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 258 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 214 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 308 of file mmintrin.h.
Referenced by _mm_cvtpi16_ps(), and _mm_cvtpu16_ps().
|
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 329 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 285 of file mmintrin.h.
Referenced by _mm_cvtpi8_ps(), and _mm_cvtpu8_ps().
|
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 1137 of file mmintrin.h.