インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

_mm256_maskstore_ps、_mm_maskstore_ps

mask の値に応じて、パックド単精度浮動小数点値をストアします。対応するインテル® AVX 命令は VMASKMOVPS です。

構文

extern void _mm256_maskstore_ps(float *a, __m256i mask, __m256 b);

extern void _mm_maskstore_ps(float *a, __m128i mask, __m128 b);

引数

*a

単精度浮動小数点 (float32) 定数値を格納できる 256 ビットまたは 128 ビットのメモリー位置へのポインター

mask

mask レジスターの各クワッドワードの最上位ビットから計算された整数値

b

256 ビットまたは 128 ビットの float32 ベクトル

説明

mask を使用して、ベクトル b の単精度浮動小数点値 (float32 値) を、a によって指定された 256 ビットまたは 128 ビットのメモリー位置へストアします。

mask は、mask レジスターの各クワッドワードの最上位ビットから計算されます。mask のいずれかのビットが 0 に設定されている場合、float32 ベクトルの対応する値はロードされず、メモリー位置の対応するフィールドは変更されません。

ストアはアトミックです。対応する mask のすべてのビットが 0 に設定されているメモリー位置に対してフォルトは発生しません。

戻り値

なし。