パックド比較組み込み関数

これらのインテル® ストリーミング SIMD 拡張命令 (インテル® SSE4) 組み込み関数は、パックド比較を行います。一部の組み込み関数は、複数の命令にマップすることができます。インテル® C++ コンパイラーは生成する命令を選択します。

これらの組み込み関数のプロトタイプは、nmmintrin.h ファイル内にあります。

組み込み関数名

演算子

対応する
インテル® SSE4 命令

_mm_cmpestri

パックド比較、インデックスの生成

PCMPESTRI

_mm_cmpestrm

パックド比較、マスクの生成

PCMPESTRM

_mm_cmpistri

パックド比較、インデックスの生成

PCMPISTRI

_mm_cmpistrm

パックド比較、マスクの生成

PCMPISTRM

_mm_cmpestrz

パックド比較

PCMPESTRM または PCMPESTRI

_mm_cmpestrc

パックド比較

PCMPESTRM または PCMPESTRI

_mm_cmpestrs

パックド比較

PCMPESTRM または PCMPESTRI

_mm_cmpestro

パックド比較

PCMPESTRM または PCMPESTRI

_mm_cmpestra

パックド比較

PCMPESTRM または PCMPESTRI

_mm_cmpistrz

パックド比較

PCMPISTRM または PCMPISTRI

_mm_cmpistrc

パックド比較

PCMPISTRM または PCMPISTRI

_mm_cmpistrs

パックド比較

PCMPISTRM または PCMPISTRI

_mm_cmpistro

パックド比較

PCMPISTRM または PCMPISTRI

_mm_cmpistra

パックド比較

PCMPISTRM または PCMPISTRI

 

int _mm_cmpestri(__m128i src1, int len1, __m128i src2, int len2, const int mode)

この組み込み関数は、明示的な長さを持つ文字列データとパックド比較を行い、インデックスを生成し、結果を ECX に格納します。

 

__m128i _mm_cmpestrm(__m128i src1, int len1, __m128i src2, int len2, const int mode)

この組み込み関数は、明示的な長さを持つ文字列データのパックド比較を行い、マスクを生成し、結果を XMM0 に格納します。

 

int _mm_cmpistri(__m128i src1, __m128i src2, const int mode)

この組み込み関数は、暗黙的な長さを持つ文字列データのパックド比較を行い、インデックスを生成し、結果を ECX に格納します。

 

__m128i _mm_cmpistrm(__m128i src1, __m128i src2, const int mode)

この組み込み関数は、暗黙的な長さを持つ文字列データのパックド比較を行い、マスクを生成し、結果を XMM0 に格納します。

 

int  _mm_cmpestrz(__m128i src1, int len1, __m128i src2, int len2, const int mode);

この組み込み関数は、明示的な長さを持つ文字列データのパックド比較を行います。ZFlag == 1 の場合 1 を返し、そうでない場合は 0 を返します。

 

int  _mm_cmpestrc(__m128i src1, int len1, __m128i src2, int len2, const int mode);

この組み込み関数は、明示的な長さを持つ文字列データのパックド比較を行います。CFlag == 1 の場合 1 を返し、そうでない場合は 0 を返します。

 

int  _mm_cmpestrs(__m128i src1, int len1, __m128i src2, int len2, const int mode);

この組み込み関数は、明示的な長さを持つ文字列データのパックド比較を行います。SFlag == 1 の場合は、0 を返し、そうでない場合は 0 を返します。

 

int  _mm_cmpestro(__m128i src1, int len1, __m128i src2, int len2, const int mode);

この組み込み関数は、明示的な長さを持つ文字列データのパックド比較を行います。OFlag == 1 の場合は 1 を返し、そうでない場合は 0 を返します。

 

int  _mm_cmpestra(__m128i src1, int len1, __m128i src2, int len2, const int mode);

この組み込み関数は、明示的な長さを持つ文字列データのパックド比較を行います。CFlag == 0 および ZFlag == 0 の場合は 1 を返し、そうでない場合は 0 を返します。

 

int _mm_cmpistrz(__m128i src1, __m128i src2, const int mode);

この組み込み関数は暗黙的な長さを持つ文字列データのパックド比較を行います。(ZFlag == 1) の場合は 1 を返し、そうでない場合は 0 を返します。

 

int _mm_cmpistrc(__m128i src1, __m128i src2, const int mode);

この組み込み関数は暗黙的な長さを持つ文字列データのパックド比較を行います。(CFlag == 1) の場合は 1 を返し、そうでない場合は 0 を返します。

 

int _mm_cmpistrs(__m128i src1, __m128i src2, const int mode);

この組み込み関数は暗黙的な長さを持つ文字列データのパックド比較を行います。(SFlag == 1) の場合は、1 を返し、そうでない場合は 0 を返します。

 

int _mm_cmpistro(__m128i src1, __m128i src2, const int mode);

この組み込み関数は暗黙的な長さを持つ文字列データのパックド比較を行います。(OFlag == 1) の場合は 1 を返し、そうでない場合は 0 を返します。

 

int _mm_cmpistra(__m128i src1, __m128i src2, const int mode);

この組み込み関数は暗黙的な長さを持つ文字列データのパックド比較を行います。(ZFlag == 0 and CFlag == 0) の場合は 1 を返し、そうでない場合は 0 を返します。