Intel® C++ Compiler Classic Developer Guide and Reference

ID 767249
Date 12/16/2022
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

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