インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
各データ要素に関連するマスクビットに応じて、指定したメモリー位置にソースベクトルのダブルワード/クワッドワードを条件付きでストアします。対応するインテル® AVX2 命令は VPMASKMOVD または VPMASKMOVQ です。
extern void _mm_maskstore_epi32(int * addr, __m128i vmask, __m128i val); |
extern void _mm256_maskstore_epi32(int * addr, __m256i vmask, __m256i val); |
extern void _mm_maskstore_epi64(__int64 * addr, __m128i vmask, __m128i val); |
extern void _mm256_maskstore_epi64(__int64 * addr, __m256i vmask, __m256i val); |
addr |
ロードするデータへのポインター |
vmask |
ベクトルマスク。vmask の要素が 0 の場合、メモリー位置にある値は変更されません。 |
val |
"addr" で参照されるメモリー位置のベクトルに書き込まれる要素の位置。 |
addr で参照されるメモリー位置にあるベクトルの対応する要素に、ソースベクトルの 32 ビットまたは 64 ビットのデータ要素を条件付きでストアします。マスクの要素が 0 の場合、メモリーにある結果ベクトルの対応する要素は変更されません。ベクトルマスクの各要素の最上位ビットのみが使用されます。
マスク付きストア操作の結果。