Developer Guide and Reference

Contents

Packed Blending Intrinsics

These Intel® Streaming SIMD Extensions 4 (Intel® SSE4) intrinsics pack multiple operations in a single instruction. Blending conditionally copies one field in the source onto the corresponding field in the destination. The prototypes for these intrinsics are in the
smmintrin.h
file.
To use these intrinsics, include the
immintrin.h
file as follows:
#include <immintrin.h>
Intrinsic Syntax
Operation
Corresponding
Intel® SSE4 Instruction
__m128 _mm_blend_ps(__m128 v1, __m128 v2, const int mask)
Selects single precision float data from two sources using constant mask
BLENDPS
__m128d _mm_blend_pd(__m128d v1, __m128d v2, const int mask)
Selects double precision float data from two sources using constant mask
BLENDPD
__m128 _mm_blendv_ps(__m128 v1, __m128 v2, __m128 v3)
Selects single precision float data from two sources using variable mask
BLENDVPS
__m128d _mm_blendv_pd(__m128d v1, __m128d v2, __m128d v3)
Selects double precision float data from two sources using variable mask
BLENDVPD
__m128i _mm_blendv_epi8(__m128i v1, __m128i v2, __m128i mask)
Selects integer bytes from two sources using variable mask
PBLENDVB
__m128i _mm_blend_epi16(__m128i v1, __m128i v2, const int mask)
Selects integer words from two sources using constant mask
PBLENDW

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804