ストリーミング SIMD 拡張子をキャッシュのサポート 2 個の整数演算
[このドキュメントはプレビュー版であり、後のリリースで変更されることがあります。 Blank topics are included as placeholders.]
Microsoft 固有の仕様 →
このトピックのコード例で使用されている構文の詳細については ストリーミング SIMD 拡張子のオーバーフローを使用して浮動小数点組み込み を参照してください。
SSE2 組み込み __m128 は__m128i とItanium Processor Family) プロセッサでサポートされていない __m128d のデータ型を使用 (IPF) します。 __m64 のデータ型を使う SSE2 組み込みが x64 のプロセッサではサポートされていません。
emmintrin.h のヘッダー ファイルはSSE2 命令の組み込みの宣言が含まれます。
void _mm_stream_si128(__m128i *p, __m128i a)
MOVNTDQ
キャッシュを汚さないのアドレス p に a にデータを格納します。 キャッシュの行のアドレス p がキャッシュに存在した場合キャッシュが更新されます。 アドレス p が整列するバイトである必要があります。
*p := a
void _mm_stream_si32(int *p, int a)
MOVNTI
キャッシュを汚さないのアドレス p に a にデータを格納します。 キャッシュの行のアドレス p がキャッシュに存在した場合キャッシュが更新されます。
*p := a
void _mm_clflush(void const*p)
CLFLUSH
キャッシュの行 p の整合性がドメイン内のすべてのキャッシュをフラッシュされ無効になります。
void _mm_lfence(void)
LFENCE
プログラムの順序で負荷のフェンス命令を指定するロードの命令のプログラムの順序でフェンスに従って作業負荷の命令の前にグローバルに表示されることが保証されます。
void _mm_mfence(void)
MFENCE
プログラムの順序でメモリ フェンス全体の順序を指定するメモリ アクセスが全体的に表示する前にプログラムでの順序に従ってすべてのメモリ フェンス命令ことが保証されます。
void _mm_pause(void)
PAUSE
次の手順を実行するには実装固有の遅延時間。 命令はの状態は変更されません。 この組み込みでは特に重要なパフォーマンスが向上します。