Developer Guide and Reference

Contents

Packed Compare Intrinsics

These Intel® Streaming SIMD Extensions (Intel® SSE4) intrinsics perform packed comparisons. Some of these intrinsics could map to more than one instruction; the Intel® C++ Compiler selects the instruction to generate.
To use these intrinsics, include the
immintrin.h
file as follows:
#include <immintrin.h>
Intrinsic Name
Operation
Corresponding
Intel® SSE4 Instruction
_mm_cmpestri
Packed comparison, generates index
PCMPESTRI
_mm_cmpestrm
Packed comparison, generates mask
PCMPESTRM
_mm_cmpistri
Packed comparison, generates index
PCMPISTRI
_mm_cmpistrm
Packed comparison, generates mask
PCMPISTRM
_mm_cmpestrz
Packed comparison
PCMPESTRM
or
PCMPESTRI
_mm_cmpestrc
Packed comparison
PCMPESTRM
or
PCMPESTRI
_mm_cmpestrs
Packed comparison
PCMPESTRM
or
PCMPESTRI
_mm_cmpestro
Packed comparison
PCMPESTRM
or
PCMPESTRI
_mm_cmpestra
Packed comparison
PCMPESTRM
or
PCMPESTRI
_mm_cmpistrz
Packed comparison
PCMPISTRM
or
PCMPISTRI
_mm_cmpistrc
Packed comparison
PCMPISTRM
or
PCMPISTRI
_mm_cmpistrs
Packed comparison
PCMPISTRM
or
PCMPISTRI
_mm_cmpistro
Packed comparison
PCMPISTRM
or
PCMPISTRI
_mm_cmpistra
Packed comparison
PCMPISTRM
or
PCMPISTRI

_mm_cmpestri

int _mm_cmpestri(__m128i src1, int len1, __m128i src2, int len2, const int mode);
Performs a packed comparison of string data with explicit lengths, generating an index and storing the result in
ECX
.

_mm_cmpestrm

__m128i _mm_cmpestrm(__m128i src1, int len1, __m128i src2, int len2, const int mode);
Performs a packed comparison of string data with explicit lengths, generating a mask and storing the result in
XMM0
.

_mm_cmpistri

int _mm_cmpistri(__m128i src1, __m128i src2, const int mode);
Performs a packed comparison of string data with implicit lengths, generating an index and storing the result in
ECX
.

_mm_cmpistrm

__m128i _mm_cmpistrm(__m128i src1, __m128i src2, const int mode);
Performs a packed comparison of string data with implicit lengths, generating a mask and storing the result in
XMM0
.

_mm_cmpestrz

int _mm_cmpestrz(__m128i src1, int len1, __m128i src2, int len2, const int mode);
Performs a packed comparison of string data with explicit lengths. Returns '
1
' if
ZFlag == 1
, otherwise '
0
'.

_mm_cmpestrc

int _mm_cmpestrc(__m128i src1, int len1, __m128i src2, int len2, const int mode);
Performs a packed comparison of string data with explicit lengths. Returns '
1
' if
CFlag == 1
, otherwise '
0
'.

_mm_cmpestrs

int _mm_cmpestrs(__m128i src1, int len1, __m128i src2, int len2, const int mode);
Performs a packed comparison of string data with explicit lengths. Returns '
1
' if
SFlag == 1
, otherw