_mm_cmpistrmSSE4.2組み込みの「モード」フラグを設定する方法を理解しようとしています。_mm_lddqu_si128を使用して__m128iタイプにロードしている通常のC文字列(char *)があります。通常の文字列比較で符号なしバイトを使用する予定でした。
_SIDD_UBYTE_OPS | _SIDD_CMP_EQUAL_EACH
しかし、ユニットとビットマスクの設定について混乱しています。GCC4.3.2のsmmintrin.hのマクロは次のとおりです。
/* These macros specify the output selection in _mm_cmpXstrm (). */
#define _SIDD_BIT_MASK 0x00
#define _SIDD_UNIT_MASK 0x40
私はビットマスクが何であるかを理解していると思います。その位置の文字が2つの文字列間で異なる場合、ビット0..15で1を取得します。しかし、ユニットマスクは何をしますか?