インテル® C++ コンパイラー 19.0 デベロッパー・ガイドおよびリファレンス
これらのインテル® ストリーミング SIMD 拡張命令 4 (インテル® SSE4) 組込み関数は、パックド整数をゼロ拡張整数、または符号拡張整数 (より長い型) に変換します。これらの組込み関数のプロトタイプは、smmintrin.h ファイル内にあります。
これらの組込み関数を使用する場合、次のように immintrin.h ファイルをインクルードします。
#include <immintrin.h>
組込み関数の構文 |
演算 |
対応するインテル® SSE4 命令 |
---|---|---|
__m128i _mm_cvtepi8_epi32(__m128i a) |
4 バイトを 4 ダブルワードへ符号拡張 |
PMOVSXBD |
__m128i _mm_cvtepi8_epi64 (__m128i a) |
2 バイトを 2 クワッドワードへ符号拡張 |
PMOVSXBQ |
__m128i _mm_cvtepi8_epi16(__m128i a) |
8 バイトを 8 ワードへ符号拡張 |
PMOVSXBW |
__m128i _mm_cvtepi32_epi64(__m128i a) |
2 ダブルワードを 2 クワッドワードへ符号拡張 |
PMOVSXDQ |
__m128i _mm_cvtepi16_epi32(__m128i a) |
4 ワードを 4 ダブルワードへ符号拡張 |
PMOVSXWD |
__m128i _mm_cvtepi16_epi64(__m128i a) |
2 ワードを 2 クワッドワードへ符号拡張 |
PMOVSXWQ |
__m128i _mm_cvtepu8_epi32(__m128i a) |
4 バイトを 4 ダブルワードへゼロ拡張 |
PMOVZXBD |
__m128i _mm_cvtepu8_epi64(__m128i a) |
2 バイトを 2 クワッドワードへゼロ拡張 |
PMOVZXBQ |
__m128i _mm_cvtepu8_epi16(__m128i a) |
8 バイトを 8 ワードへゼロ拡張 |
PMOVZXBW |
__m128i _mm_cvtepu32_epi64(__m128i a) |
2 ダブルワードを 2 クワッドワードへゼロ拡張 |
PMOVZXDQ |
__m128i _mm_cvtepu16_epi32(__m128i a) |
4 ワードを 4 ダブルワードへゼロ拡張 |
PMOVZXWD |
__m128i _mm_cvtepu16_epi64(__m128i a) |
2 ワードを 2 クワッドワードへゼロ拡張 |
PMOVZXWQ |