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

_mm512_extstore_epi64/_mm512_mask_extstore_epi64

int64 ベクトルを変換してストアします。対応する命令は VMOVDQA64 です。 この組込み関数は、インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャーにのみ適用されます。

構文

マスクなし

extern void __cdecl _mm512_extstore_epi64(void* mt, __m512i v1, _MM_DOWNCONV_EPI64_ENUM conv, int hint);

マスク付き

extern void __cdecl _mm512_mask_extstore_epi64(void* mt, __mmask8 k1, __m512i v1, _MM_DOWNCONV_EPI64_ENUM conv, int hint);

引数

v1

ストアする要素を含むソースベクトル

conv

変換の種類。次のいずれかになります。

  • _MM_DOWNCONV_EPI64_NONE - 変換なし

k1

ストリームに追加する要素を選択するベクトルマスク

mt

ベクトル要素をストアするメモリー位置

hint

プロセッサーにデータが非テンポラルでないことを示すヒント。0 または 1 を使用できます。それぞれの値の意味は次のとおりです。

  • _MM_HINT_NONE = 0
  • _MM_HINT_NT = 1 (ストアは非テンポラル)

説明

非テンポラルなヒント hint を使用して、int64 ベクトル v1 の 64 ビット整数要素を conv 引数で指定されたより小さな型に変換し、変換した要素をメモリーアドレス mt に格納します。 メモリーに格納される要素の種類とサイズは、conv 引数に依存します。

マスク付きでは、ベクトルマスク k1 で対応するビットがセットされている要素のみ変換され、メモリーに格納されます。 k1 のビットが 0 にセットされている位置のベクトルの要素は格納されず、対応するメモリー位置は元の値を保持します。

メモリーアドレス mt は、conv 引数により決定されるデータサイズでアライメントされていなければなりません。 現在の実装では、変換ができないため、64 バイトでアライメントする必要があります。

戻り値

なし。