clang 10.0.0git

Macros | Typedefs | Functions
mmintrin.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Macros
#define | __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("mmx"), __min_vector_width__(64)))
#define | _m_empty _mm_empty
#define | _m_from_int _mm_cvtsi32_si64
#define | _m_from_int64 _mm_cvtsi64_m64
#define | _m_to_int _mm_cvtsi64_si32
#define | _m_to_int64 _mm_cvtm64_si64
#define | _m_packsswb _mm_packs_pi16
#define | _m_packssdw _mm_packs_pi32
#define | _m_packuswb _mm_packs_pu16
#define | _m_punpckhbw _mm_unpackhi_pi8
#define | _m_punpckhwd _mm_unpackhi_pi16
#define | _m_punpckhdq _mm_unpackhi_pi32
#define | _m_punpcklbw _mm_unpacklo_pi8
#define | _m_punpcklwd _mm_unpacklo_pi16
#define | _m_punpckldq _mm_unpacklo_pi32
#define | _m_paddb _mm_add_pi8
#define | _m_paddw _mm_add_pi16
#define | _m_paddd _mm_add_pi32
#define | _m_paddsb _mm_adds_pi8
#define | _m_paddsw _mm_adds_pi16
#define | _m_paddusb _mm_adds_pu8
#define | _m_paddusw _mm_adds_pu16
#define | _m_psubb _mm_sub_pi8
#define | _m_psubw _mm_sub_pi16
#define | _m_psubd _mm_sub_pi32
#define | _m_psubsb _mm_subs_pi8
#define | _m_psubsw _mm_subs_pi16
#define | _m_psubusb _mm_subs_pu8
#define | _m_psubusw _mm_subs_pu16
#define | _m_pmaddwd _mm_madd_pi16
#define | _m_pmulhw _mm_mulhi_pi16
#define | _m_pmullw _mm_mullo_pi16
#define | _m_psllw _mm_sll_pi16
#define | _m_psllwi _mm_slli_pi16
#define | _m_pslld _mm_sll_pi32
#define | _m_pslldi _mm_slli_pi32
#define | _m_psllq _mm_sll_si64
#define | _m_psllqi _mm_slli_si64
#define | _m_psraw _mm_sra_pi16
#define | _m_psrawi _mm_srai_pi16
#define | _m_psrad _mm_sra_pi32
#define | _m_psradi _mm_srai_pi32
#define | _m_psrlw _mm_srl_pi16
#define | _m_psrlwi _mm_srli_pi16
#define | _m_psrld _mm_srl_pi32
#define | _m_psrldi _mm_srli_pi32
#define | _m_psrlq _mm_srl_si64
#define | _m_psrlqi _mm_srli_si64
#define | _m_pand _mm_and_si64
#define | _m_pandn _mm_andnot_si64
#define | _m_por _mm_or_si64
#define | _m_pxor _mm_xor_si64
#define | _m_pcmpeqb _mm_cmpeq_pi8
#define | _m_pcmpeqw _mm_cmpeq_pi16
#define | _m_pcmpeqd _mm_cmpeq_pi32
#define | _m_pcmpgtb _mm_cmpgt_pi8
#define | _m_pcmpgtw _mm_cmpgt_pi16
#define | _m_pcmpgtd _mm_cmpgt_pi32

## 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...

## Macro Definition Documentation

## ◆ __DEFAULT_FN_ATTRS

#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("mmx"), __min_vector_width__(64)))

Definition at line 21 of file mmintrin.h.

Referenced by __attribute__(), _mm_add_pi16(), _mm_add_pi32(), _mm_add_pi8(), _mm_adds_pi16(), _mm_adds_pi8(), _mm_adds_pu16(), _mm_adds_pu8(), _mm_and_si64(), _mm_andnot_si64(), _mm_cmpeq_pi16(), _mm_cmpeq_pi32(), _mm_cmpeq_pi8(), _mm_cmpgt_pi16(), _mm_cmpgt_pi32(), _mm_cmpgt_pi8(), _mm_cvtm64_si64(), _mm_cvtsi32_si64(), _mm_cvtsi64_m64(), _mm_cvtsi64_si32(), _mm_madd_pi16(), _mm_mulhi_pi16(), _mm_mullo_pi16(), _mm_or_si64(), _mm_packs_pi16(), _mm_packs_pi32(), _mm_packs_pu16(), _mm_set1_pi16(), _mm_set1_pi32(), _mm_set1_pi8(), _mm_set_pi16(), _mm_set_pi32(), _mm_set_pi8(), _mm_setr_pi16(), _mm_setr_pi32(), _mm_setzero_si64(), _mm_sll_pi16(), _mm_sll_pi32(), _mm_sll_si64(), _mm_slli_pi16(), _mm_slli_pi32(), _mm_slli_si64(), _mm_sra_pi16(), _mm_sra_pi32(), _mm_srai_pi16(), _mm_srai_pi32(), _mm_srl_pi16(), _mm_srl_pi32(), _mm_srl_si64(), _mm_srli_pi16(), _mm_srli_pi32(), _mm_srli_si64(), _mm_sub_pi16(), _mm_sub_pi32(), _mm_sub_pi8(), _mm_subs_pi16(), _mm_subs_pi8(), _mm_subs_pu16(), _mm_subs_pu8(), _mm_unpackhi_pi16(), _mm_unpackhi_pi32(), _mm_unpackhi_pi8(), _mm_unpacklo_pi16(), _mm_unpacklo_pi32(), _mm_unpacklo_pi8(), and _mm_xor_si64().

## ◆ _m_empty

#define _m_empty _mm_empty

Definition at line 1499 of file mmintrin.h.

## ◆ _m_from_int

#define _m_from_int _mm_cvtsi32_si64

Definition at line 1500 of file mmintrin.h.

## ◆ _m_from_int64

#define _m_from_int64 _mm_cvtsi64_m64

Definition at line 1501 of file mmintrin.h.

## ◆ _m_packssdw

#define _m_packssdw _mm_packs_pi32

Definition at line 1505 of file mmintrin.h.

## ◆ _m_packsswb

#define _m_packsswb _mm_packs_pi16

Definition at line 1504 of file mmintrin.h.

## ◆ _m_packuswb

#define _m_packuswb _mm_packs_pu16

Definition at line 1506 of file mmintrin.h.

## ◆ _m_paddb

#define _m_paddb _mm_add_pi8

Definition at line 1513 of file mmintrin.h.

## ◆ _m_paddd

#define _m_paddd _mm_add_pi32

Definition at line 1515 of file mmintrin.h.

## ◆ _m_paddsb

#define _m_paddsb _mm_adds_pi8

Definition at line 1516 of file mmintrin.h.

## ◆ _m_paddsw

#define _m_paddsw _mm_adds_pi16

Definition at line 1517 of file mmintrin.h.

## ◆ _m_paddusb

#define _m_paddusb _mm_adds_pu8

Definition at line 1518 of file mmintrin.h.

## ◆ _m_paddusw

#define _m_paddusw _mm_adds_pu16

Definition at line 1519 of file mmintrin.h.

## ◆ _m_paddw

#define _m_paddw _mm_add_pi16

Definition at line 1514 of file mmintrin.h.

## ◆ _m_pand

#define _m_pand _mm_and_si64

Definition at line 1546 of file mmintrin.h.

## ◆ _m_pandn

#define _m_pandn _mm_andnot_si64

Definition at line 1547 of file mmintrin.h.

## ◆ _m_pcmpeqb

#define _m_pcmpeqb _mm_cmpeq_pi8

Definition at line 1550 of file mmintrin.h.

## ◆ _m_pcmpeqd

#define _m_pcmpeqd _mm_cmpeq_pi32

Definition at line 1552 of file mmintrin.h.

## ◆ _m_pcmpeqw

#define _m_pcmpeqw _mm_cmpeq_pi16

Definition at line 1551 of file mmintrin.h.

## ◆ _m_pcmpgtb

#define _m_pcmpgtb _mm_cmpgt_pi8

Definition at line 1553 of file mmintrin.h.

## ◆ _m_pcmpgtd

#define _m_pcmpgtd _mm_cmpgt_pi32

Definition at line 1555 of file mmintrin.h.

## ◆ _m_pcmpgtw

#define _m_pcmpgtw _mm_cmpgt_pi16

Definition at line 1554 of file mmintrin.h.

## ◆ _m_pmaddwd

#define _m_pmaddwd _mm_madd_pi16

Definition at line 1527 of file mmintrin.h.

## ◆ _m_pmulhw

#define _m_pmulhw _mm_mulhi_pi16

Definition at line 1528 of file mmintrin.h.

## ◆ _m_pmullw

#define _m_pmullw _mm_mullo_pi16

Definition at line 1529 of file mmintrin.h.

## ◆ _m_por

#define _m_por _mm_or_si64

Definition at line 1548 of file mmintrin.h.

## ◆ _m_pslld

#define _m_pslld _mm_sll_pi32

Definition at line 1532 of file mmintrin.h.

## ◆ _m_pslldi

#define _m_pslldi _mm_slli_pi32

Definition at line 1533 of file mmintrin.h.

## ◆ _m_psllq

#define _m_psllq _mm_sll_si64

Definition at line 1534 of file mmintrin.h.

## ◆ _m_psllqi

#define _m_psllqi _mm_slli_si64

Definition at line 1535 of file mmintrin.h.

## ◆ _m_psllw

#define _m_psllw _mm_sll_pi16

Definition at line 1530 of file mmintrin.h.

## ◆ _m_psllwi

#define _m_psllwi _mm_slli_pi16

Definition at line 1531 of file mmintrin.h.

## ◆ _m_psrad

#define _m_psrad _mm_sra_pi32

Definition at line 1538 of file mmintrin.h.

## ◆ _m_psradi

#define _m_psradi _mm_srai_pi32

Definition at line 1539 of file mmintrin.h.

## ◆ _m_psraw

#define _m_psraw _mm_sra_pi16

Definition at line 1536 of file mmintrin.h.

## ◆ _m_psrawi

#define _m_psrawi _mm_srai_pi16

Definition at line 1537 of file mmintrin.h.

## ◆ _m_psrld

#define _m_psrld _mm_srl_pi32

Definition at line 1542 of file mmintrin.h.

## ◆ _m_psrldi

#define _m_psrldi _mm_srli_pi32

Definition at line 1543 of file mmintrin.h.

## ◆ _m_psrlq

#define _m_psrlq _mm_srl_si64

Definition at line 1544 of file mmintrin.h.

## ◆ _m_psrlqi

#define _m_psrlqi _mm_srli_si64

Definition at line 1545 of file mmintrin.h.

## ◆ _m_psrlw

#define _m_psrlw _mm_srl_pi16

Definition at line 1540 of file mmintrin.h.

## ◆ _m_psrlwi

#define _m_psrlwi _mm_srli_pi16

Definition at line 1541 of file mmintrin.h.

## ◆ _m_psubb

#define _m_psubb _mm_sub_pi8

Definition at line 1520 of file mmintrin.h.

## ◆ _m_psubd

#define _m_psubd _mm_sub_pi32

Definition at line 1522 of file mmintrin.h.

## ◆ _m_psubsb

#define _m_psubsb _mm_subs_pi8

Definition at line 1523 of file mmintrin.h.

## ◆ _m_psubsw

#define _m_psubsw _mm_subs_pi16

Definition at line 1524 of file mmintrin.h.

## ◆ _m_psubusb

#define _m_psubusb _mm_subs_pu8

Definition at line 1525 of file mmintrin.h.

## ◆ _m_psubusw

#define _m_psubusw _mm_subs_pu16

Definition at line 1526 of file mmintrin.h.

## ◆ _m_psubw

#define _m_psubw _mm_sub_pi16

Definition at line 1521 of file mmintrin.h.

## ◆ _m_punpckhbw

#define _m_punpckhbw _mm_unpackhi_pi8

Definition at line 1507 of file mmintrin.h.

## ◆ _m_punpckhdq

#define _m_punpckhdq _mm_unpackhi_pi32

Definition at line 1509 of file mmintrin.h.

## ◆ _m_punpckhwd

#define _m_punpckhwd _mm_unpackhi_pi16

Definition at line 1508 of file mmintrin.h.

## ◆ _m_punpcklbw

#define _m_punpcklbw _mm_unpacklo_pi8

Definition at line 1510 of file mmintrin.h.

## ◆ _m_punpckldq

#define _m_punpckldq _mm_unpacklo_pi32

Definition at line 1512 of file mmintrin.h.

## ◆ _m_punpcklwd

#define _m_punpcklwd _mm_unpacklo_pi16

Definition at line 1511 of file mmintrin.h.

## ◆ _m_pxor

#define _m_pxor _mm_xor_si64

Definition at line 1549 of file mmintrin.h.

## ◆ _m_to_int

#define _m_to_int _mm_cvtsi64_si32

Definition at line 1502 of file mmintrin.h.

## ◆ _m_to_int64

#define _m_to_int64 _mm_cvtm64_si64

Definition at line 1503 of file mmintrin.h.

## Typedef Documentation

## ◆ __attribute__

typedef char __v8qi __attribute__((__vector_size__(8)))

Definition at line 13 of file mmintrin.h.

## Function Documentation

## ◆ __attribute__()

static __inline__ void __attribute__ | ( | (__always_inline__, __nodebug__, __target__("mmx")) |  | ) |
| 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.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_add_pi16()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_add_pi16 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| 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.

Parameters

  __m1 | A 64-bit integer vector of [4 x i16].
  __m2 | A 64-bit integer vector of [4 x i16].

Returns
  A 64-bit integer vector of [4 x i16] containing the sums of both parameters.

Definition at line 371 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_add_pi32()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_add_pi32 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| 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.

Parameters

  __m1 | A 64-bit integer vector of [2 x i32].
  __m2 | A 64-bit integer vector of [2 x i32].

Returns
  A 64-bit integer vector of [2 x i32] containing the sums of both parameters.

Definition at line 392 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_add_pi8()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_add_pi8 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| 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.

Parameters

  __m1 | A 64-bit integer vector of [8 x i8].
  __m2 | A 64-bit integer vector of [8 x i8].

Returns
  A 64-bit integer vector of [8 x i8] containing the sums of both parameters.

Definition at line 350 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_adds_pi16()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_adds_pi16 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| 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.

Parameters

  __m1 | A 64-bit integer vector of [4 x i16].
  __m2 | A 64-bit integer vector of [4 x i16].

Returns
  A 64-bit integer vector of [4 x i16] containing the saturated sums of both parameters.

Definition at line 437 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_adds_pi8()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_adds_pi8 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| 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.

Parameters

  __m1 | A 64-bit integer vector of [8 x i8].
  __m2 | A 64-bit integer vector of [8 x i8].

Returns
  A 64-bit integer vector of [8 x i8] containing the saturated sums of both parameters.

Definition at line 414 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_adds_pu16()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_adds_pu16 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| 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.

Parameters

  __m1 | A 64-bit integer vector of [4 x i16].
  __m2 | A 64-bit integer vector of [4 x i16].

Returns
  A 64-bit integer vector of [4 x i16] containing the saturated unsigned sums of both parameters.

Definition at line 481 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_adds_pu8()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_adds_pu8 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| 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.

Parameters

  __m1 | A 64-bit integer vector of [8 x i8].
  __m2 | A 64-bit integer vector of [8 x i8].

Returns
  A 64-bit integer vector of [8 x i8] containing the saturated unsigned sums of both parameters.

Definition at line 459 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_and_si64()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_and_si64 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| static

Performs a bitwise AND of two 64-bit integer vectors.

This intrinsic corresponds to the `PAND` instruction.

Parameters

  __m1 | A 64-bit integer vector.
  __m2 | A 64-bit integer vector.

Returns
  A 64-bit integer vector containing the bitwise AND of both parameters.

Definition at line 1080 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_andnot_si64()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_andnot_si64 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| 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.

Parameters

  __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.

Returns
  A 64-bit integer vector containing the bitwise AND of the second parameter and the one's complement of the first parameter.

Definition at line 1101 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_cmpeq_pi16()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_cmpeq_pi16 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| 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.

Parameters

  __m1 | A 64-bit integer vector of [4 x i16].
  __m2 | A 64-bit integer vector of [4 x i16].

Returns
  A 64-bit integer vector of [4 x i16] containing the comparison results.

Definition at line 1181 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_cmpeq_pi32()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_cmpeq_pi32 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| 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.

Parameters

  __m1 | A 64-bit integer vector of [2 x i32].
  __m2 | A 64-bit integer vector of [2 x i32].

Returns
  A 64-bit integer vector of [2 x i32] containing the comparison results.

Definition at line 1203 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_cmpeq_pi8()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_cmpeq_pi8 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| 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.

Parameters

  __m1 | A 64-bit integer vector of [8 x i8].
  __m2 | A 64-bit integer vector of [8 x i8].

Returns
  A 64-bit integer vector of [8 x i8] containing the comparison results.

Definition at line 1159 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_cmpgt_pi16()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_cmpgt_pi16 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| 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.

Parameters

  __m1 | A 64-bit integer vector of [4 x i16].
  __m2 | A 64-bit integer vector of [4 x i16].

Returns
  A 64-bit integer vector of [4 x i16] containing the comparison results.

Definition at line 1247 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

Referenced by _mm_cvtpi16_ps().

## ◆ _mm_cmpgt_pi32()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_cmpgt_pi32 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| 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.

Parameters

  __m1 | A 64-bit integer vector of [2 x i32].
  __m2 | A 64-bit integer vector of [2 x i32].

Returns
  A 64-bit integer vector of [2 x i32] containing the comparison results.

Definition at line 1269 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_cmpgt_pi8()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_cmpgt_pi8 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| 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.

Parameters

  __m1 | A 64-bit integer vector of [8 x i8].
  __m2 | A 64-bit integer vector of [8 x i8].

Returns
  A 64-bit integer vector of [8 x i8] containing the comparison results.

Definition at line 1225 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

Referenced by _mm_cvtpi8_ps().

## ◆ _mm_cvtm64_si64()

static __inline__ long long __DEFAULT_FN_ATTRS _mm_cvtm64_si64 | ( | __m64 | __m | ) |
| static

Casts a 64-bit integer vector into a 64-bit signed integer value.

This intrinsic corresponds to the `MOVQ` instruction.

Parameters

  __m | A 64-bit integer vector.

Returns
  A 64-bit signed integer containing the same bitwise pattern as the parameter.

Definition at line 97 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_cvtsi32_si64()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_cvtsi32_si64 | ( | int | __i | ) |
| 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.

Parameters

  __i | A 32-bit integer value.

Returns
  A 64-bit integer vector. The lower 32 bits contain the value of the parameter. The upper 32 bits are set to 0.

Definition at line 48 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_cvtsi64_m64()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_cvtsi64_m64 | ( | long long | __i | ) |
| static

Casts a 64-bit signed integer value into a 64-bit integer vector.

This intrinsic corresponds to the `MOVQ` instruction.

Parameters

  __i | A 64-bit signed integer.

Returns
  A 64-bit integer vector containing the same bitwise pattern as the parameter.

Definition at line 81 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_cvtsi64_si32()

static __inline__ int __DEFAULT_FN_ATTRS _mm_cvtsi64_si32 | ( | __m64 | __m | ) |
| 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.

Parameters

  __m | A 64-bit integer vector.

Returns
  A 32-bit signed integer value containing the lower 32 bits of the parameter.

Definition at line 65 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_madd_pi16()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_madd_pi16 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| 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.

Parameters

  __m1 | A 64-bit integer vector of [4 x i16].
  __m2 | A 64-bit integer vector of [4 x i16].

Returns
  A 64-bit integer vector of [2 x i32] containing the sums of products of both parameters.

Definition at line 665 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_mulhi_pi16()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_mulhi_pi16 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| 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.

Parameters

  __m1 | A 64-bit integer vector of [4 x i16].
  __m2 | A 64-bit integer vector of [4 x i16].

Returns
  A 64-bit integer vector of [4 x i16] containing the upper 16 bits of the products of both parameters.

Definition at line 686 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_mullo_pi16()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_mullo_pi16 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| 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.

Parameters

  __m1 | A 64-bit integer vector of [4 x i16].
  __m2 | A 64-bit integer vector of [4 x i16].

Returns
  A 64-bit integer vector of [4 x i16] containing the lower 16 bits of the products of both parameters.

Definition at line 707 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_or_si64()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_or_si64 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| static

Performs a bitwise OR of two 64-bit integer vectors.

This intrinsic corresponds to the `POR` instruction.

Parameters

  __m1 | A 64-bit integer vector.
  __m2 | A 64-bit integer vector.

Returns
  A 64-bit integer vector containing the bitwise OR of both parameters.

Definition at line 1119 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_packs_pi16()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_packs_pi16 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| 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.

Parameters

  __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.

Returns
  A 64-bit integer vector of [8 x i8] containing the converted values.

Definition at line 127 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

Referenced by _mm_cvtps_pi8().

## ◆ _mm_packs_pi32()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_packs_pi32 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| 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.

Parameters

  __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.

Returns
  A 64-bit integer vector of [4 x i16] containing the converted values.

Definition at line 157 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

Referenced by _mm_cvtps_pi16().

## ◆ _mm_packs_pu16()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_packs_pu16 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| 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.

Parameters

  __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.

Returns
  A 64-bit integer vector of [8 x i8] containing the converted values.

Definition at line 187 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_set1_pi16()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_set1_pi16 | ( | short | __w | ) |
| 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.

Parameters

  __w | A 16-bit integer value used to initialize each vector element of the result.

Returns
  An initialized 64-bit integer vector of [4 x i16].

Definition at line 1397 of file mmintrin.h.

References __DEFAULT_FN_ATTRS, and _mm_set_pi16().

## ◆ _mm_set1_pi32()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_set1_pi32 | ( | int | __i | ) |
| 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.

Parameters

  __i | A 32-bit integer value used to initialize each vector element of the result.

Returns
  An initialized 64-bit integer vector of [2 x i32].

Definition at line 1378 of file mmintrin.h.

References __DEFAULT_FN_ATTRS, and _mm_set_pi32().

## ◆ _mm_set1_pi8()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_set1_pi8 | ( | char | __b | ) |
| 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.

Parameters

  __b | An 8-bit integer value used to initialize each vector element of the result.

Returns
  An initialized 64-bit integer vector of [8 x i8].

Definition at line 1415 of file mmintrin.h.

References __DEFAULT_FN_ATTRS, and _mm_set_pi8().

## ◆ _mm_set_pi16()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_set_pi16 | ( | short | __s3,
|  | short | __s2,
|  | short | __s1,
|  | short | __s0
| ) |  |
| 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.

Parameters

  __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.

Returns
  An initialized 64-bit integer vector.

Definition at line 1326 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

Referenced by _mm_set1_pi16(), and _mm_setr_pi16().

## ◆ _mm_set_pi32()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_set_pi32 | ( | int | __i1,
|  | int | __i0
| ) |  |
| 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.

Parameters

  __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.

Returns
  An initialized 64-bit integer vector.

Definition at line 1303 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

Referenced by _mm_set1_pi32(), and _mm_setr_pi32().

## ◆ _mm_set_pi8()

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
| ) |  |
| 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.

Parameters

  __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.

Returns
  An initialized 64-bit integer vector.

Definition at line 1357 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

Referenced by _mm_set1_pi8(), and _mm_setr_pi8().

## ◆ _mm_setr_pi16()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_setr_pi16 | ( | short | __w0,
|  | short | __w1,
|  | short | __w2,
|  | short | __w3
| ) |  |
| 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.

Parameters

  __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.

Returns
  An initialized 64-bit integer vector.

Definition at line 1459 of file mmintrin.h.

References __DEFAULT_FN_ATTRS, and _mm_set_pi16().

## ◆ _mm_setr_pi32()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_setr_pi32 | ( | int | __i0,
|  | int | __i1
| ) |  |
| 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.

Parameters

  __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.

Returns
  An initialized 64-bit integer vector.

Definition at line 1436 of file mmintrin.h.

References __DEFAULT_FN_ATTRS, and _mm_set_pi32().

## ◆ _mm_setr_pi8()

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
| ) |  |
| 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.

Parameters

  __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.

Returns
  An initialized 64-bit integer vector.

Definition at line 1490 of file mmintrin.h.

References _mm_set_pi8().

## ◆ _mm_setzero_si64()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_setzero_si64 | ( | void |  | ) |
| static

Constructs a 64-bit integer vector initialized to zero.

This intrinsic corresponds to the `PXOR` instruction.

Returns
  An initialized 64-bit integer vector with all elements set to zero.

Definition at line 1282 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

Referenced by _mm_cvtpi16_ps(), _mm_cvtpi8_ps(), _mm_cvtps_pi8(), _mm_cvtpu16_ps(), and _mm_cvtpu8_ps().

## ◆ _mm_sll_pi16()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_sll_pi16 | ( | __m64 | __m,
|  | __m64 | __count
| ) |  |
| 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.

Parameters

  __m | A 64-bit integer vector of [4 x i16].
  __count | A 64-bit integer vector interpreted as a single 64-bit integer.

Returns
  A 64-bit integer vector of [4 x i16] containing the left-shifted values. If __count is greater or equal to 16, the result is set to all 0.

Definition at line 730 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_sll_pi32()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_sll_pi32 | ( | __m64 | __m,
|  | __m64 | __count
| ) |  |
| 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.

Parameters

  __m | A 64-bit integer vector of [2 x i32].
  __count | A 64-bit integer vector interpreted as a single 64-bit integer.

Returns
  A 64-bit integer vector of [2 x i32] containing the left-shifted values. If __count is greater or equal to 32, the result is set to all 0.

Definition at line 775 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_sll_si64()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_sll_si64 | ( | __m64 | __m,
|  | __m64 | __count
| ) |  |
| 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.

Parameters

  __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.

Returns
  A 64-bit integer vector containing the left-shifted value. If __count is greater or equal to 64, the result is set to 0.

Definition at line 817 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_slli_pi16()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_slli_pi16 | ( | __m64 | __m,
|  | int | __count
| ) |  |
| 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.

Parameters

  __m | A 64-bit integer vector of [4 x i16].
  __count | A 32-bit integer value.

Returns
  A 64-bit integer vector of [4 x i16] containing the left-shifted values. If __count is greater or equal to 16, the result is set to all 0.

Definition at line 752 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_slli_pi32()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_slli_pi32 | ( | __m64 | __m,
|  | int | __count
| ) |  |
| 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.

Parameters

  __m | A 64-bit integer vector of [2 x i32].
  __count | A 32-bit integer value.

Returns
  A 64-bit integer vector of [2 x i32] containing the left-shifted values. If __count is greater or equal to 32, the result is set to all 0.

Definition at line 797 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_slli_si64()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_slli_si64 | ( | __m64 | __m,
|  | int | __count
| ) |  |
| 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.

Parameters

  __m | A 64-bit integer vector interpreted as a single 64-bit integer.
  __count | A 32-bit integer value.

Returns
  A 64-bit integer vector containing the left-shifted value. If __count is greater or equal to 64, the result is set to 0.

Definition at line 837 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_sra_pi16()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_sra_pi16 | ( | __m64 | __m,
|  | __m64 | __count
| ) |  |
| 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.

Parameters

  __m | A 64-bit integer vector of [4 x i16].
  __count | A 64-bit integer vector interpreted as a single 64-bit integer.

Returns
  A 64-bit integer vector of [4 x i16] containing the right-shifted values.

Definition at line 861 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_sra_pi32()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_sra_pi32 | ( | __m64 | __m,
|  | __m64 | __count
| ) |  |
| 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.

Parameters

  __m | A 64-bit integer vector of [2 x i32].
  __count | A 64-bit integer vector interpreted as a single 64-bit integer.

Returns
  A 64-bit integer vector of [2 x i32] containing the right-shifted values.

Definition at line 908 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_srai_pi16()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_srai_pi16 | ( | __m64 | __m,
|  | int | __count
| ) |  |
| 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.

Parameters

  __m | A 64-bit integer vector of [4 x i16].
  __count | A 32-bit integer value.

Returns
  A 64-bit integer vector of [4 x i16] containing the right-shifted values.

Definition at line 884 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_srai_pi32()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_srai_pi32 | ( | __m64 | __m,
|  | int | __count
| ) |  |
| 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.

Parameters

  __m | A 64-bit integer vector of [2 x i32].
  __count | A 32-bit integer value.

Returns
  A 64-bit integer vector of [2 x i32] containing the right-shifted values.

Definition at line 931 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_srl_pi16()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_srl_pi16 | ( | __m64 | __m,
|  | __m64 | __count
| ) |  |
| 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.

Parameters

  __m | A 64-bit integer vector of [4 x i16].
  __count | A 64-bit integer vector interpreted as a single 64-bit integer.

Returns
  A 64-bit integer vector of [4 x i16] containing the right-shifted values.

Definition at line 954 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_srl_pi32()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_srl_pi32 | ( | __m64 | __m,
|  | __m64 | __count
| ) |  |
| 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.

Parameters

  __m | A 64-bit integer vector of [2 x i32].
  __count | A 64-bit integer vector interpreted as a single 64-bit integer.

Returns
  A 64-bit integer vector of [2 x i32] containing the right-shifted values.

Definition at line 999 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_srl_si64()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_srl_si64 | ( | __m64 | __m,
|  | __m64 | __count
| ) |  |
| 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.

Parameters

  __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.

Returns
  A 64-bit integer vector containing the right-shifted value.

Definition at line 1041 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_srli_pi16()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_srli_pi16 | ( | __m64 | __m,
|  | int | __count
| ) |  |
| 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.

Parameters

  __m | A 64-bit integer vector of [4 x i16].
  __count | A 32-bit integer value.

Returns
  A 64-bit integer vector of [4 x i16] containing the right-shifted values.

Definition at line 976 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_srli_pi32()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_srli_pi32 | ( | __m64 | __m,
|  | int | __count
| ) |  |
| 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.

Parameters

  __m | A 64-bit integer vector of [2 x i32].
  __count | A 32-bit integer value.

Returns
  A 64-bit integer vector of [2 x i32] containing the right-shifted values.

Definition at line 1021 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_srli_si64()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_srli_si64 | ( | __m64 | __m,
|  | int | __count
| ) |  |
| 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.

Parameters

  __m | A 64-bit integer vector interpreted as a single 64-bit integer.
  __count | A 32-bit integer value.

Returns
  A 64-bit integer vector containing the right-shifted value.

Definition at line 1062 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_sub_pi16()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_sub_pi16 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| 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.

Parameters

  __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.

Returns
  A 64-bit integer vector of [4 x i16] containing the differences of both parameters.

Definition at line 523 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_sub_pi32()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_sub_pi32 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| 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.

Parameters

  __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.

Returns
  A 64-bit integer vector of [2 x i32] containing the differences of both parameters.

Definition at line 544 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_sub_pi8()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_sub_pi8 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| 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.

Parameters

  __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.

Returns
  A 64-bit integer vector of [8 x i8] containing the differences of both parameters.

Definition at line 502 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_subs_pi16()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_subs_pi16 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| 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.

Parameters

  __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.

Returns
  A 64-bit integer vector of [4 x i16] containing the saturated differences of both parameters.

Definition at line 590 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_subs_pi8()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_subs_pi8 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| 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.

Parameters

  __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.

Returns
  A 64-bit integer vector of [8 x i8] containing the saturated differences of both parameters.

Definition at line 567 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_subs_pu16()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_subs_pu16 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| 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.

Parameters

  __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.

Returns
  A 64-bit integer vector of [4 x i16] containing the saturated differences of both parameters.

Definition at line 638 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_subs_pu8()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_subs_pu8 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| 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.

Parameters

  __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.

Returns
  A 64-bit integer vector of [8 x i8] containing the saturated differences of both parameters.

Definition at line 614 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_unpackhi_pi16()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_unpackhi_pi16 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| 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.

Parameters

  __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.

Returns
  A 64-bit integer vector of [4 x i16] containing the interleaved values.

Definition at line 237 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

Referenced by _mm_cvtpi16_ps(), and _mm_cvtpu16_ps().

## ◆ _mm_unpackhi_pi32()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_unpackhi_pi32 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| 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.

Parameters

  __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.

Returns
  A 64-bit integer vector of [2 x i32] containing the interleaved values.

Definition at line 258 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_unpackhi_pi8()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_unpackhi_pi8 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| 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.

Parameters

  __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.

Returns
  A 64-bit integer vector of [8 x i8] containing the interleaved values.

Definition at line 214 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_unpacklo_pi16()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_unpacklo_pi16 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| 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.

Parameters

  __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.

Returns
  A 64-bit integer vector of [4 x i16] containing the interleaved values.

Definition at line 308 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

Referenced by _mm_cvtpi16_ps(), and _mm_cvtpu16_ps().

## ◆ _mm_unpacklo_pi32()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_unpacklo_pi32 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| 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.

Parameters

  __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.

Returns
  A 64-bit integer vector of [2 x i32] containing the interleaved values.

Definition at line 329 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

## ◆ _mm_unpacklo_pi8()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_unpacklo_pi8 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| 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.

Parameters

  __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.

Returns
  A 64-bit integer vector of [8 x i8] containing the interleaved values.

Definition at line 285 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.

Referenced by _mm_cvtpi8_ps(), and _mm_cvtpu8_ps().

## ◆ _mm_xor_si64()

static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_xor_si64 | ( | __m64 | __m1,
|  | __m64 | __m2
| ) |  |
| static

Performs a bitwise exclusive OR of two 64-bit integer vectors.

This intrinsic corresponds to the `PXOR` instruction.

Parameters

  __m1 | A 64-bit integer vector.
  __m2 | A 64-bit integer vector.

Returns
  A 64-bit integer vector containing the bitwise exclusive OR of both parameters.

Definition at line 1137 of file mmintrin.h.

References __DEFAULT_FN_ATTRS.