ストリーミング SIMD 拡張命令 4 のテスト組み込み関数

これらの組み込み命令は、パックド整数の 128 ビット比較を行います。

組み込み関数名 操作 対応する SSE4
命令

_mm_testc_si128

128 ビット値の指定ビットの 1 をすべて確認します。

PTEST

_mm_testz_si128

128 ビット値の指定ビットの 0 をすべて確認します。

PTEST

_mm_testnzc_si128

128 ビット値の指定ビットの少なくとも 1 つの 0 と 1 を確認します。

PTEST

 

int _mm_testz_si128 (__m128i s1, __m128i s2)

s1 と s2 の AND ビット演算の結果値がすべて 0 になる場合に 1 を返し、そうでない場合は 0 を返します。

 

int _mm_testc_si128 (__m128i s1, __m128i s2)

s1 の ANDNOT ビット演算の結果値と s2 の AND ビット演算の結果値がすべて 1 になる場合に 1 を返し、そうでない場合は 0 を返します。

 

int _mm_testnzc_si128 (__m128i s1, __m128i s2)

(!_mm)testz) && (!_mm_testc) と同じです。