インテル® C++ コンパイラー 14.0 ユーザー・リファレンス・ガイド
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、または _MM_HINT_ET0 を指定してください。
_MM_HINT_ET0 は、組込み関数をインテル® SSE 命令に含まれない PREFETCHW 命令にマップします。 _MM_HINT_ET0 を使用する前に、ターゲット CPU が PREFETCHW 命令をサポートしているかどうかを確認する必要があります。
void _mm_stream_pi(__m64 *p, __m64 a);
a のデータを、キャッシュを介さずに、アドレス p にストアします。 この組込み関数を使用する前に、MMX® レジスターのマルチメディア・ステートを空にする必要があります。 詳細については、「EMMS 命令: 必要な理由」を参照してください。
void _mm_stream_ps(float *p, __m128 a);
a のデータを、キャッシュを介さずに、アドレス p にストアします。 アドレスは 16 バイトにアライメントが合っていなければなりません。