Register Insertion/Extraction Intrinsics

These Intel® Streaming SIMD Extensions (Intel® SSE4) intrinsics enable data insertion and extraction between general purpose registers and XMM registers. The prototypes for these instrinsics are in the smmintrin.h file.

Intrinsics marked with * are implemented only on Intel® 64 architectures. The rest of the intrinsics are implemented on both IA-32 and Intel® 64 architectures.

Intrinsic Syntax

Operation

Corresponding
Intel® SSE4 Instruction

__m128 _mm_insert_ps(__m128 dst, __m128 src, const int ndx)

Insert single precision float into packed single precision array element selected by index.

INSERTPS

int _mm_extract_ps(__m128 src, const int ndx)

Extract single precision float from packed single precision array element selected by index.

EXTRACTPS

__m128i _mm_insert_epi8(__m128i s1, int s2, const int ndx)

Insert integer byte into packed integer array element selected by index.

PINSRB

int _mm_extract_epi8(__m128i src, const int ndx)

Extract integer byte from packed integer array element selected by index.

PEXTRB

int _mm_extract_epi16(__m128i src, int ndx)

Extract integer word from packed integer array element selected by index.

PEXTRW

__m128i _mm_insert_epi32(__m128i s1, int s2, const int ndx)

Insert integer double word into packed integer array element selected by index.

PINSRD

int _mm_extract_epi32(__m128i src, const int ndx)

Extract integer double word from packed integer array element selected by index.

PEXTRD

__m128i _mm_insert_epi64(__m128i s2, int s, const int ndx)*

Insert integer quad word into packed integer array element selected by index. Use only on Intel® 64 architectures.

PINSRQ

__int64 _mm_extract_epi64(__m128i src, const int ndx)*

Extract integer quad word from packed integer array element selected by index. Use only on Intel® 64 architectures.

PEXTRQ


Submit feedback on this help topic

Copyright © 1996-2010, Intel Corporation. All rights reserved.