MMX(TM) Technology Set Intrinsics

The prototypes for MMX™ technology intrinsics are in the mmintrin.h header file.

For detailed information about an intrinsic, click on that intrinsic in the following table.

Note

In the descriptions regarding the bits of the MMX register, bit 0 is the least significant and bit 63 is the most significant.

Intrinsic
Name
Operation Corresponding MMX Instruction
_mm_setzero_si64 set to zero PXOR
_mm_set_pi32 set integer values Composite
_mm_set_pi16 set integer values Composite
_mm_set_pi8 set integer values Composite
_mm_set1_pi32 set integer values  
_mm_set1_pi16 set integer values Composite
_mm_set1_pi8 set integer values Composite
_mm_setr_pi32 set integer values Composite
_mm_setr_pi16 set integer values Composite
_mm_setr_pi8 set integer values Composite

 

__m64 _mm_setzero_si64()
Sets the 64-bit value to zero.

R
0x0

 

__m64 _mm_set_pi32(int i1, int i0)

Sets the 2 signed 32-bit integer values.

R0 R1
i0 i1

 

__m64 _mm_set_pi16(short s3, short s2, short s1, short s0)

Sets the 4 signed 16-bit integer values.

R0 R1 R2 R3
w0 w1 w2 w3

 

__m64 _mm_set_pi8(char b7, char b6, char b5, char b4, char b3, char b2, char b1, char b0)

Sets the 8 signed 8-bit integer values.

R0 R1 ... R7
b0 b1 ... b7

 

__m64 _mm_set1_pi32(int i)

Sets the 2 signed 32-bit integer values to i.

R0 R1
i i

 

__m64 _mm_set1_pi16(short s)

Sets the 4 signed 16-bit integer values to w.

R0 R1 R2 R3
w w w w

 

__m64 _mm_set1_pi8(char b)

Sets the 8 signed 8-bit integer values to b

R0 R1 ... R7
b b ... b

 

__m64 _mm_setr_pi32(int i1, int i0)

Sets the 2 signed 32-bit integer values in reverse order.

R0 R1
i1 i0

 

__m64 _mm_setr_pi16(short s3, short s2, short s1, short s0)

Sets the 4 signed 16-bit integer values in reverse order.

R0 R1 R2 R3
w3 w2 w1 w0

 

__m64 _mm_setr_pi8(char b7, char b6, char b5, char b4, char b3, char b2, char b1, char b0)

Sets the 8 signed 8-bit integer values in reverse order.

R0 R1 ... R7
b7 b6 ... b0