インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

パックド比較組込み関数

これらのインテル® ストリーミング SIMD 拡張命令 4 (インテル® 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

_mm_cmpestri

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

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

_mm_cmpestrm

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

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

_mm_cmpistri

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

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

_mm_cmpistrm

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

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

_mm_cmpestrz

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

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

_mm_cmpestrc

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

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

_mm_cmpestrs

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

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

_mm_cmpestro

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

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

_mm_cmpestra

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

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

_mm_cmpistrz

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

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

_mm_cmpistrc

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

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

_mm_cmpistrs

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

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

_mm_cmpistro

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

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

_mm_cmpistra

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

暗黙的な長さを持つ文字列データのパックド比較を行います。(ZFlag == 0 および CFlag == 0) の場合は '1' を返し、そうでない場合は '0' を返します。