これらのインテル® ストリーミング SIMD 拡張命令 (インテル® SSE4) 組み込み関数は、プロセッサー・ダイ上のパフォーマンスが最適化された、低レイテンシーで、低電圧の固定機能アクセラレーターを追加することにより、インテル® アーキテクチャー機能を拡張しています。これは、特定のアプリケーションに利点をもたらします。
アプリケーション・ターゲテッド・アクセラレーター組み込み関数のプロトタイプは、nmmintrin.h ファイル内にあります。
組み込み関数の構文 |
演算子 |
対応する |
---|---|---|
int _mm_popcnt_u32(unsigned int v) |
データ操作のセットビット数をカウントします。 |
POPCNT |
int _mm_popcnt_u64(unsigned __int64 v) |
データ操作のセットビット数をカウントします。 |
POPCNT |
unsigned int _mm_crc32_u8(unsigned int crc, unsigned char v) |
巡回冗長検査を累積します。 |
CRC32 |
unsigned int _mm_crc32_u16(unsigned int crc, unsigned short v) |
巡回冗長検査を行います。 |
CRC32 |
unsigned int _mm_crc32_u32(unsigned int crc, unsigned int v) |
巡回冗長検査を行います。 |
CRC32 |
unsigned __int64 _mm_crc32_u64(unsigned __int64 crc, unsigned __int64 v) |
巡回冗長検査を行います。 |
CRC32 |
unsigned int _mm_crc32_u8 (unsigned int crc, unsigned char v);
1 番目のオペランドの最初の値から開始し、2 番目のオペランドの CRC32 値を累積して、その結果をデスティネーション・オペランドに格納します。CRC32 を r/m8 に累積します。
unsigned int _mm_crc32_u16(unsigned int crc, unsigned short v);
1 番目のオペランドの最初の値から開始し、2 番目のオペランドの CRC32 値を累積して、その結果をデスティネーション・オペランドに格納します。CRC32 を r/m16 に累積します。
unsigned int _mm_crc32_u32(unsigned int crc, unsigned int v);
1 番目のオペランドの最初の値から開始し、2 番目のオペランドの CRC32 値を累積して、その結果をデスティネーション・オペランドに格納します。CRC32 を r/m32 に累積します。
unsigned __int64 _mm_crc32_u64(unsigned __int64 crc, unsigned __int64 v);
1 番目のオペランドの最初の値から開始し、2 番目のオペランドの CRC32 値を累積して、その結果をデスティネーション・オペランドに格納します。CRC32 を r/m64 に累積します。