次の表の組み込み関数名をクリックすると、その組み込み関数の詳細が表示されます。
ストリーミング SIMD 拡張命令 (SSE) の組み込み関数のプロトタイプは、ヘッダーファイル xmmintrin.h 内にあります。
組み込み関数名 | 操作 | 対応する SSE 命令 |
---|---|---|
_mm_prefetch | ロード | PREFETCH |
_mm_stream_pi | ストア | MOVNTQ |
_mm_stream_ps | ストア | MOVNTPS |
_mm_sfence | ストアフェンス | SFENCE |
void _mm_prefetch(char const*a, int sel)
1 キャッシュライン分のデータを、アドレス a からプロセッサーに近い位置にロードします。sel の値は、プリフェッチ操作のタイプを指定します。IA-32 の場合、この値には、プリフェッチ命令のタイプに応じて、定数 _MM_HINT_T0、_MM_HINT_T1、_MM_HINT_T2、または _MM_HINT_NTA を指定してください。IA-64 アーキテクチャー・ベース・システムの場合、定数 _MM_HINT_T1、_MM_HINT_NT1、_MM_HINT_NT2、または _MM_HINT_NTA を指定してください。
void _mm_stream_pi(__m64 *p, __m64 a)
a のデータを、キャッシュを介さずに、アドレス p にストアします。この組み込み関数を使用する前に、mmx レジスターのマルチメディア・ステートを空にする必要があります。詳細については、「EMMS 命令: 必要な理由」を参照してください。
void _mm_stream_ps(float *p, __m128 a)
a のデータを、キャッシュを介さずに、アドレス p にストアします。アドレスは 16 バイトにアライメントが合っていなければなりません。
void _mm_sfence(void)
すべての先行するストアが、後に続くストアより前に、グローバルにアクセス可能になるのを保証します。