# Set Intrinsics (MMX™ technology)

This topic summarizes the MMX™ technology intrinsics.

To use these intrinsics, include the immintrin.h file as follows:

    #include <immintrin.h>

### 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 | Composite
_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

## _mm_setzero_si64

__m64 _mm_setzero_si64(void);

Sets the 64-bit value to zero.

R
0x0

## _mm_set_pi32

__m64 _mm_set_pi32(int i1, int i0);

Sets the two signed 32-bit integer values.

R0 | R1
--- | ---
i0 | i1

## _mm_set_pi16

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

Sets the four signed 16-bit integer values.

R0 | R1 | R2 | R3
--- | --- | --- | ---
w0 | w1 | w2 | w3

## _mm_set_pi8

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

Sets the eight signed 8-bit integer values.

R0 | R1 | ... | R7
--- | --- | --- | ---
b0 | b1 | ... | b7

## _mm_set1_pi32

__m64 _mm_set1_pi32(int i);

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

R0 | R1
--- | ---
i | i

## _mm_set1_pi16

__m64 _mm_set1_pi16(short s);

Sets the four signed 16-bit integer values to s.

R0 | R1 | R2 | R3
--- | --- | --- | ---
w | w | w | w

## _mm_set1_pi8

__m64 _mm_set1_pi8(char b);

Sets the eight signed 8-bit integer values to b.

R0 | R1 | ... | R7
--- | --- | --- | ---
b | b | ... | b

## _mm_setr_pi32

__m64 _mm_setr_pi32(int i1, int i0);

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

R0 | R1
--- | ---
i1 | i0

## _mm_setr_pi16

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

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

R0 | R1 | R2 | R3
--- | --- | --- | ---
w3 | w2 | w1 | w0

## _mm_setr_pi8

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

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

R0 | R1 | ... | R7
--- | --- | --- | ---
b7 | b6 | ... | b0

Parent topic: Intrinsics for MMX™ Technology